@openclaw/acpx 2026.5.28-beta.3 → 2026.5.28
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md
ADDED
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# @openclaw/acpx
|
|
2
|
+
|
|
3
|
+
Official ACP runtime backend for OpenClaw.
|
|
4
|
+
|
|
5
|
+
ACPx lets OpenClaw run external coding harnesses through the Agent Client Protocol while OpenClaw still owns sessions, channels, delivery, permissions, and Gateway state.
|
|
6
|
+
|
|
7
|
+
## Install
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
openclaw plugins install @openclaw/acpx
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
Restart the Gateway after installing or updating the plugin.
|
|
14
|
+
|
|
15
|
+
## What it provides
|
|
16
|
+
|
|
17
|
+
- ACP-backed agent runtime sessions.
|
|
18
|
+
- Plugin-owned session and transport management.
|
|
19
|
+
- MCP bridge helpers for OpenClaw tools and plugin tools.
|
|
20
|
+
- Static runtime assets used by the ACP process bridge.
|
|
21
|
+
|
|
22
|
+
## Configure
|
|
23
|
+
|
|
24
|
+
Use the ACP docs for harness-specific setup, permission modes, and model/runtime selection:
|
|
25
|
+
|
|
26
|
+
- https://docs.openclaw.ai/tools/acp-agents-setup
|
|
27
|
+
- https://docs.openclaw.ai/tools/acp-agents
|
|
28
|
+
|
|
29
|
+
## Package
|
|
30
|
+
|
|
31
|
+
- Plugin id: `acpx`
|
|
32
|
+
- Package: `@openclaw/acpx`
|
|
33
|
+
- Minimum OpenClaw host: `2026.4.25`
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { t as createAcpxRuntimeService } from "./register.runtime-
|
|
1
|
+
import { t as createAcpxRuntimeService } from "./register.runtime-D07L8fDT.js";
|
|
2
2
|
import { tryDispatchAcpReplyHook } from "openclaw/plugin-sdk/acp-runtime-backend";
|
|
3
3
|
//#region extensions/acpx/index.ts
|
|
4
4
|
const plugin = {
|
|
@@ -191,7 +191,7 @@ function createLazyAcpRuntimeProxy(resolveRuntime) {
|
|
|
191
191
|
const ACPX_BACKEND_ID = "acpx";
|
|
192
192
|
let serviceModulePromise = null;
|
|
193
193
|
function loadServiceModule() {
|
|
194
|
-
serviceModulePromise ??= import("./service-
|
|
194
|
+
serviceModulePromise ??= import("./service-BrT7jug3.js");
|
|
195
195
|
return serviceModulePromise;
|
|
196
196
|
}
|
|
197
197
|
async function startRealService(state) {
|
package/dist/register.runtime.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as createAcpxRuntimeService } from "./register.runtime-
|
|
1
|
+
import { t as createAcpxRuntimeService } from "./register.runtime-D07L8fDT.js";
|
|
2
2
|
export { createAcpxRuntimeService };
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import { n as createLazyAcpRuntimeProxy } from "./register.runtime-
|
|
1
|
+
import { n as createLazyAcpRuntimeProxy } from "./register.runtime-D07L8fDT.js";
|
|
2
2
|
import { registerAcpRuntimeBackend, unregisterAcpRuntimeBackend } from "./runtime-api.js";
|
|
3
3
|
import { a as resolveAcpxPluginRoot, c as OPENCLAW_ACPX_LEASE_ID_ENV, d as createAcpxProcessLeaseStore, h as splitCommandParts, i as resolveAcpxPluginConfig, l as OPENCLAW_GATEWAY_INSTANCE_ID_ARG, m as quoteCommandPart, o as toAcpMcpServers, r as reapStaleOpenClawOwnedAcpxOrphans, s as OPENCLAW_ACPX_LEASE_ID_ARG, t as cleanupOpenClawOwnedAcpxProcessTree } from "./process-reaper-CAUlLOkM.js";
|
|
4
4
|
import { createRequire } from "node:module";
|
|
5
5
|
import fs from "node:fs/promises";
|
|
6
6
|
import path from "node:path";
|
|
7
|
+
import { finiteSecondsToTimerSafeMilliseconds } from "openclaw/plugin-sdk/number-runtime";
|
|
7
8
|
import { randomUUID } from "node:crypto";
|
|
8
9
|
import { readJsonFileWithFallback } from "openclaw/plugin-sdk/json-store";
|
|
9
10
|
import { inspect } from "node:util";
|
|
@@ -804,6 +805,10 @@ function loadRuntimeModule() {
|
|
|
804
805
|
runtimeModulePromise ??= import("./runtime-BaP1xg1D.js");
|
|
805
806
|
return runtimeModulePromise;
|
|
806
807
|
}
|
|
808
|
+
function resolveAcpxTimerTimeoutMs(timeoutSeconds) {
|
|
809
|
+
if (timeoutSeconds === void 0) return;
|
|
810
|
+
return finiteSecondsToTimerSafeMilliseconds(timeoutSeconds) ?? 1;
|
|
811
|
+
}
|
|
807
812
|
function createLazyDefaultRuntime(params) {
|
|
808
813
|
let runtime = null;
|
|
809
814
|
let runtimePromise = null;
|
|
@@ -821,7 +826,7 @@ function createLazyDefaultRuntime(params) {
|
|
|
821
826
|
mcpServers: toAcpMcpServers(params.pluginConfig.mcpServers),
|
|
822
827
|
permissionMode: params.pluginConfig.permissionMode,
|
|
823
828
|
nonInteractivePermissions: params.pluginConfig.nonInteractivePermissions,
|
|
824
|
-
timeoutMs: params.pluginConfig.timeoutSeconds
|
|
829
|
+
timeoutMs: resolveAcpxTimerTimeoutMs(params.pluginConfig.timeoutSeconds)
|
|
825
830
|
});
|
|
826
831
|
return runtime;
|
|
827
832
|
});
|
|
@@ -893,7 +898,7 @@ function shouldProbeRuntimeAtStartup(env = process.env) {
|
|
|
893
898
|
}
|
|
894
899
|
async function withStartupProbeTimeout(params) {
|
|
895
900
|
let timeout;
|
|
896
|
-
const timeoutMs =
|
|
901
|
+
const timeoutMs = resolveAcpxTimerTimeoutMs(params.timeoutSeconds) ?? 1;
|
|
897
902
|
try {
|
|
898
903
|
return await Promise.race([params.promise, new Promise((_, reject) => {
|
|
899
904
|
timeout = setTimeout(() => {
|
|
@@ -1052,4 +1057,4 @@ function createAcpxRuntimeService(params = {}) {
|
|
|
1052
1057
|
};
|
|
1053
1058
|
}
|
|
1054
1059
|
//#endregion
|
|
1055
|
-
export { createAcpxRuntimeService };
|
|
1060
|
+
export { createAcpxRuntimeService, resolveAcpxTimerTimeoutMs };
|
package/npm-shrinkwrap.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@openclaw/acpx",
|
|
3
|
-
"version": "2026.5.28
|
|
3
|
+
"version": "2026.5.28",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "@openclaw/acpx",
|
|
9
|
-
"version": "2026.5.28
|
|
9
|
+
"version": "2026.5.28",
|
|
10
10
|
"dependencies": {
|
|
11
11
|
"@agentclientprotocol/claude-agent-acp": "0.37.0",
|
|
12
12
|
"@zed-industries/codex-acp": "0.15.0",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@openclaw/acpx",
|
|
3
|
-
"version": "2026.5.28
|
|
3
|
+
"version": "2026.5.28",
|
|
4
4
|
"description": "OpenClaw ACP runtime backend with plugin-owned session and transport management.",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -26,10 +26,10 @@
|
|
|
26
26
|
"minHostVersion": ">=2026.4.25"
|
|
27
27
|
},
|
|
28
28
|
"compat": {
|
|
29
|
-
"pluginApi": ">=2026.5.28
|
|
29
|
+
"pluginApi": ">=2026.5.28"
|
|
30
30
|
},
|
|
31
31
|
"build": {
|
|
32
|
-
"openclawVersion": "2026.5.28
|
|
32
|
+
"openclawVersion": "2026.5.28",
|
|
33
33
|
"staticAssets": [
|
|
34
34
|
{
|
|
35
35
|
"source": "./src/runtime-internals/mcp-proxy.mjs",
|
|
@@ -54,10 +54,11 @@
|
|
|
54
54
|
"dist/**",
|
|
55
55
|
"openclaw.plugin.json",
|
|
56
56
|
"npm-shrinkwrap.json",
|
|
57
|
+
"README.md",
|
|
57
58
|
"skills/**"
|
|
58
59
|
],
|
|
59
60
|
"peerDependencies": {
|
|
60
|
-
"openclaw": ">=2026.5.28
|
|
61
|
+
"openclaw": ">=2026.5.28"
|
|
61
62
|
},
|
|
62
63
|
"peerDependenciesMeta": {
|
|
63
64
|
"openclaw": {
|