@openclaw/acpx 2026.5.16-beta.1 → 2026.5.16-beta.3
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.
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { createRequire } from "node:module";
|
|
1
2
|
import fs from "node:fs/promises";
|
|
2
3
|
import path from "node:path";
|
|
3
4
|
import { createHash, randomUUID } from "node:crypto";
|
|
@@ -111,8 +112,20 @@ function withAcpxLeaseEnvironment(params) {
|
|
|
111
112
|
//#endregion
|
|
112
113
|
//#region extensions/acpx/src/process-reaper.ts
|
|
113
114
|
const execFileAsync = promisify(execFile);
|
|
115
|
+
const requireFromHere = createRequire(import.meta.url);
|
|
114
116
|
const GENERATED_WRAPPER_BASENAMES = new Set(["codex-acp-wrapper.mjs", "claude-agent-acp-wrapper.mjs"]);
|
|
115
117
|
const OPENCLAW_PLUGIN_DEPS_MARKER = "/plugin-runtime-deps/";
|
|
118
|
+
const OWNED_ACP_PACKAGE_NAMES = [
|
|
119
|
+
"@zed-industries/codex-acp",
|
|
120
|
+
"@zed-industries/codex-acp-darwin-arm64",
|
|
121
|
+
"@zed-industries/codex-acp-darwin-x64",
|
|
122
|
+
"@zed-industries/codex-acp-linux-arm64",
|
|
123
|
+
"@zed-industries/codex-acp-linux-x64",
|
|
124
|
+
"@zed-industries/codex-acp-win32-arm64",
|
|
125
|
+
"@zed-industries/codex-acp-win32-x64",
|
|
126
|
+
"@agentclientprotocol/claude-agent-acp",
|
|
127
|
+
"acpx"
|
|
128
|
+
];
|
|
116
129
|
const ACP_PACKAGE_MARKERS = [
|
|
117
130
|
"/@zed-industries/codex-acp/",
|
|
118
131
|
"/@agentclientprotocol/claude-agent-acp/",
|
|
@@ -121,6 +134,17 @@ const ACP_PACKAGE_MARKERS = [
|
|
|
121
134
|
function normalizePathLike(value) {
|
|
122
135
|
return value.replaceAll("\\", "/");
|
|
123
136
|
}
|
|
137
|
+
function resolvePackageRoot(packageName) {
|
|
138
|
+
try {
|
|
139
|
+
return normalizePathLike(path.dirname(requireFromHere.resolve(`${packageName}/package.json`)));
|
|
140
|
+
} catch {
|
|
141
|
+
return;
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
const OWNED_ACP_PACKAGE_ROOTS = OWNED_ACP_PACKAGE_NAMES.map(resolvePackageRoot).filter((root) => Boolean(root));
|
|
145
|
+
function commandBelongsToResolvedAcpPackage(command) {
|
|
146
|
+
return OWNED_ACP_PACKAGE_ROOTS.some((root) => command.includes(`${root}/`));
|
|
147
|
+
}
|
|
124
148
|
function commandMentionsGeneratedWrapper(command) {
|
|
125
149
|
return Array.from(GENERATED_WRAPPER_BASENAMES).some((basename) => command.includes(basename));
|
|
126
150
|
}
|
|
@@ -130,6 +154,12 @@ function commandWrapperBelongsToRoot(command, wrapperRoot) {
|
|
|
130
154
|
const normalizedRoot = normalizePathLike(wrapperRoot).replace(/\/+$/, "");
|
|
131
155
|
return Array.from(GENERATED_WRAPPER_BASENAMES).some((basename) => normalizedCommand.includes(`${normalizedRoot}/${basename}`));
|
|
132
156
|
}
|
|
157
|
+
function isOpenClawLeaseAwareAcpxProcessCommand(params) {
|
|
158
|
+
const command = params.command?.trim();
|
|
159
|
+
if (!command) return false;
|
|
160
|
+
const normalized = normalizePathLike(command);
|
|
161
|
+
return commandMentionsGeneratedWrapper(normalized) && commandWrapperBelongsToRoot(normalized, params.wrapperRoot);
|
|
162
|
+
}
|
|
133
163
|
function commandsReferToSameRootCommand(liveCommand, storedCommand) {
|
|
134
164
|
if (!storedCommand?.trim()) return true;
|
|
135
165
|
return normalizePathLike(liveCommand).trim() === normalizePathLike(storedCommand).trim();
|
|
@@ -185,7 +215,11 @@ function isOpenClawOwnedAcpxProcessCommand(params) {
|
|
|
185
215
|
const command = params.command?.trim();
|
|
186
216
|
if (!command) return false;
|
|
187
217
|
const normalized = normalizePathLike(command);
|
|
188
|
-
if (
|
|
218
|
+
if (isOpenClawLeaseAwareAcpxProcessCommand({
|
|
219
|
+
command: normalized,
|
|
220
|
+
wrapperRoot: params.wrapperRoot
|
|
221
|
+
})) return true;
|
|
222
|
+
if (commandBelongsToResolvedAcpPackage(normalized)) return true;
|
|
189
223
|
if (!normalized.includes(OPENCLAW_PLUGIN_DEPS_MARKER)) return false;
|
|
190
224
|
return ACP_PACKAGE_MARKERS.some((marker) => normalized.includes(marker));
|
|
191
225
|
}
|
|
@@ -333,4 +367,4 @@ async function reapStaleOpenClawOwnedAcpxOrphans(params) {
|
|
|
333
367
|
};
|
|
334
368
|
}
|
|
335
369
|
//#endregion
|
|
336
|
-
export { OPENCLAW_ACPX_LEASE_ID_ENV as a, createAcpxProcessLeaseStore as c, OPENCLAW_ACPX_LEASE_ID_ARG as i, hashAcpxProcessCommand as l,
|
|
370
|
+
export { OPENCLAW_ACPX_LEASE_ID_ENV as a, createAcpxProcessLeaseStore as c, OPENCLAW_ACPX_LEASE_ID_ARG as i, hashAcpxProcessCommand as l, isOpenClawLeaseAwareAcpxProcessCommand as n, OPENCLAW_GATEWAY_INSTANCE_ID_ARG as o, reapStaleOpenClawOwnedAcpxOrphans as r, createAcpxProcessLeaseId as s, cleanupOpenClawOwnedAcpxProcessTree as t, withAcpxLeaseEnvironment as u };
|
package/dist/register.runtime.js
CHANGED
|
@@ -5,7 +5,7 @@ const ENABLE_STARTUP_PROBE_ENV = "OPENCLAW_ACPX_RUNTIME_STARTUP_PROBE";
|
|
|
5
5
|
const SKIP_RUNTIME_PROBE_ENV = "OPENCLAW_SKIP_ACPX_RUNTIME_PROBE";
|
|
6
6
|
let serviceModulePromise = null;
|
|
7
7
|
function loadServiceModule() {
|
|
8
|
-
serviceModulePromise ??= import("./service-
|
|
8
|
+
serviceModulePromise ??= import("./service-D_VrHPXx.js");
|
|
9
9
|
return serviceModulePromise;
|
|
10
10
|
}
|
|
11
11
|
function shouldRunStartupProbe(env = process.env) {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { AcpRuntimeError } from "./runtime-api.js";
|
|
2
|
-
import { l as hashAcpxProcessCommand, n as
|
|
2
|
+
import { l as hashAcpxProcessCommand, n as isOpenClawLeaseAwareAcpxProcessCommand, s as createAcpxProcessLeaseId, t as cleanupOpenClawOwnedAcpxProcessTree, u as withAcpxLeaseEnvironment } from "./process-reaper-COS-4a3C.js";
|
|
3
3
|
import { AsyncLocalStorage } from "node:async_hooks";
|
|
4
4
|
import fs from "node:fs/promises";
|
|
5
5
|
import path, { resolve } from "node:path";
|
|
@@ -435,7 +435,7 @@ var AcpxRuntime = class {
|
|
|
435
435
|
return !params.resumeSessionId || existingSessionId === params.resumeSessionId;
|
|
436
436
|
}
|
|
437
437
|
async runWithLaunchLease(params) {
|
|
438
|
-
if (params.enabled === false || !params.command || !this.wrapperRoot || !this.gatewayInstanceId || !this.processLeaseStore || !
|
|
438
|
+
if (params.enabled === false || !params.command || !this.wrapperRoot || !this.gatewayInstanceId || !this.processLeaseStore || !isOpenClawLeaseAwareAcpxProcessCommand({
|
|
439
439
|
command: params.command,
|
|
440
440
|
wrapperRoot: this.wrapperRoot
|
|
441
441
|
})) return await params.run();
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { registerAcpRuntimeBackend, unregisterAcpRuntimeBackend } from "./runtime-api.js";
|
|
2
|
-
import { a as OPENCLAW_ACPX_LEASE_ID_ENV, c as createAcpxProcessLeaseStore, i as OPENCLAW_ACPX_LEASE_ID_ARG, o as OPENCLAW_GATEWAY_INSTANCE_ID_ARG, r as reapStaleOpenClawOwnedAcpxOrphans, t as cleanupOpenClawOwnedAcpxProcessTree } from "./process-reaper-
|
|
2
|
+
import { a as OPENCLAW_ACPX_LEASE_ID_ENV, c as createAcpxProcessLeaseStore, i as OPENCLAW_ACPX_LEASE_ID_ARG, o as OPENCLAW_GATEWAY_INSTANCE_ID_ARG, r as reapStaleOpenClawOwnedAcpxOrphans, t as cleanupOpenClawOwnedAcpxProcessTree } from "./process-reaper-COS-4a3C.js";
|
|
3
3
|
import { createRequire } from "node:module";
|
|
4
4
|
import { normalizeLowercaseStringOrEmpty } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
5
5
|
import fs from "node:fs/promises";
|
|
@@ -1053,7 +1053,7 @@ const SKIP_RUNTIME_PROBE_ENV = "OPENCLAW_SKIP_ACPX_RUNTIME_PROBE";
|
|
|
1053
1053
|
const ACPX_BACKEND_ID = "acpx";
|
|
1054
1054
|
let runtimeModulePromise = null;
|
|
1055
1055
|
function loadRuntimeModule() {
|
|
1056
|
-
runtimeModulePromise ??= import("./runtime-
|
|
1056
|
+
runtimeModulePromise ??= import("./runtime-WxNI8VkM.js");
|
|
1057
1057
|
return runtimeModulePromise;
|
|
1058
1058
|
}
|
|
1059
1059
|
function createLazyDefaultRuntime(params) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@openclaw/acpx",
|
|
3
|
-
"version": "2026.5.16-beta.
|
|
3
|
+
"version": "2026.5.16-beta.3",
|
|
4
4
|
"description": "OpenClaw ACP runtime backend",
|
|
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.16-beta.
|
|
29
|
+
"pluginApi": ">=2026.5.16-beta.3"
|
|
30
30
|
},
|
|
31
31
|
"build": {
|
|
32
|
-
"openclawVersion": "2026.5.16-beta.
|
|
32
|
+
"openclawVersion": "2026.5.16-beta.3",
|
|
33
33
|
"staticAssets": [
|
|
34
34
|
{
|
|
35
35
|
"source": "./src/runtime-internals/mcp-proxy.mjs",
|
|
@@ -59,7 +59,7 @@
|
|
|
59
59
|
"skills/**"
|
|
60
60
|
],
|
|
61
61
|
"peerDependencies": {
|
|
62
|
-
"openclaw": ">=2026.5.16-beta.
|
|
62
|
+
"openclaw": ">=2026.5.16-beta.3"
|
|
63
63
|
},
|
|
64
64
|
"peerDependenciesMeta": {
|
|
65
65
|
"openclaw": {
|