Files
openclaw/extensions/acpx
Peter Steinberger 5ce0126194 fix(acpx): require the complete runtime contract behind the lazy proxy (#124628)
The ACPX lazy runtime proxy optional-chained every forwarded hook and
fabricated success when the resolved runtime lacked one: doctor() returned
{ ok: true }, getStatus() returned {}, and setMode/setConfigOption/
prepareFreshSession silently no-opped. Combined with the session-reset
service calling prepareFreshSession through two raw optional chains, an
unregistered or incomplete backend made reset preparation a silent no-op:
the reset appeared to succeed while the backend kept resuming the old
conversation.

Contract decision: the SDK-level AcpRuntime type keeps optional hooks
(third-party backends legitimately omit capabilities, and core consumers
gate on presence), but every runtime the ACPX extension resolves
implements the full surface. A new CompleteAcpRuntime type in the
extension makes those hooks required for proxy-resolved runtimes, so an
absent hook is a compile error instead of a fabricated runtime success.
The now-dead legacy runTurn->startTurn adapter (~190 LOC) is deleted with
its tests; the proxy forwards startTurn directly.

The session-reset-service call sites consolidate onto the control-plane
owner helper tryPrepareFreshManagerRuntimeSession, which now records a
visible outcome for every skipped path (backend not registered, hook not
supported) instead of returning silently; that also covers the same
silent skip in manager.close-session.

Regression tests fail pre-fix: proxy hooks reject on contract-violating
runtimes instead of fabricating success, and skipped fresh-session
preparation is recorded.
2026-08-16 07:29:50 -07:00
..

@openclaw/acpx

Official ACP runtime backend for OpenClaw.

ACPx lets OpenClaw run external coding harnesses through the Agent Client Protocol while OpenClaw still owns sessions, channels, delivery, permissions, and Gateway state.

Install

openclaw plugins install @openclaw/acpx

Restart the Gateway after installing or updating the plugin.

What it provides

  • ACP-backed agent runtime sessions.
  • Plugin-owned session and transport management.
  • MCP bridge helpers for OpenClaw tools and plugin tools.
  • Static runtime assets used by the ACP process bridge.

Configure

Use the ACP docs for harness-specific setup, permission modes, and model/runtime selection:

Package

  • Plugin id: acpx
  • Package: @openclaw/acpx
  • Minimum OpenClaw host: 2026.4.25