@openclaw/acpx 2026.5.14-beta.2 → 2026.5.16-beta.2

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 (commandMentionsGeneratedWrapper(normalized)) return commandWrapperBelongsToRoot(normalized, params.wrapperRoot);
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, isOpenClawOwnedAcpxProcessCommand as n, OPENCLAW_GATEWAY_INSTANCE_ID_ARG as o, reapStaleOpenClawOwnedAcpxOrphans as r, createAcpxProcessLeaseId as s, cleanupOpenClawOwnedAcpxProcessTree as t, withAcpxLeaseEnvironment as u };
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 };
@@ -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-DPrf6fF8.js");
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 isOpenClawOwnedAcpxProcessCommand, s as createAcpxProcessLeaseId, t as cleanupOpenClawOwnedAcpxProcessTree, u as withAcpxLeaseEnvironment } from "./process-reaper-biYb35VD.js";
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 || !isOpenClawOwnedAcpxProcessCommand({
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-biYb35VD.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-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-HSzTNfOq.js");
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.14-beta.2",
3
+ "version": "2026.5.16-beta.2",
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.14-beta.2"
29
+ "pluginApi": ">=2026.5.16-beta.2"
30
30
  },
31
31
  "build": {
32
- "openclawVersion": "2026.5.14-beta.2",
32
+ "openclawVersion": "2026.5.16-beta.2",
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.14-beta.2"
62
+ "openclaw": ">=2026.5.16-beta.2"
63
63
  },
64
64
  "peerDependenciesMeta": {
65
65
  "openclaw": {