@openclaw/acpx 2026.5.9-beta.1 → 2026.5.10-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.
@@ -2,13 +2,14 @@ import { getAcpRuntimeBackend, registerAcpRuntimeBackend, unregisterAcpRuntimeBa
2
2
  //#region extensions/acpx/register.runtime.ts
3
3
  const ACPX_BACKEND_ID = "acpx";
4
4
  const ENABLE_STARTUP_PROBE_ENV = "OPENCLAW_ACPX_RUNTIME_STARTUP_PROBE";
5
+ const SKIP_RUNTIME_PROBE_ENV = "OPENCLAW_SKIP_ACPX_RUNTIME_PROBE";
5
6
  let serviceModulePromise = null;
6
7
  function loadServiceModule() {
7
- serviceModulePromise ??= import("./service-DzKX5ybC.js");
8
+ serviceModulePromise ??= import("./service-norzQgT4.js");
8
9
  return serviceModulePromise;
9
10
  }
10
11
  function shouldRunStartupProbe(env = process.env) {
11
- return env[ENABLE_STARTUP_PROBE_ENV] === "1";
12
+ return env[ENABLE_STARTUP_PROBE_ENV] !== "0" && env[SKIP_RUNTIME_PROBE_ENV] !== "1";
12
13
  }
13
14
  async function startRealService(state) {
14
15
  if (state.realRuntime) return state.realRuntime;
@@ -720,6 +720,7 @@ async function prepareAcpxCodexAuthConfig(params) {
720
720
  //#endregion
721
721
  //#region extensions/acpx/src/service.ts
722
722
  const ENABLE_STARTUP_PROBE_ENV = "OPENCLAW_ACPX_RUNTIME_STARTUP_PROBE";
723
+ const SKIP_RUNTIME_PROBE_ENV = "OPENCLAW_SKIP_ACPX_RUNTIME_PROBE";
723
724
  const ACPX_BACKEND_ID = "acpx";
724
725
  let runtimeModulePromise = null;
725
726
  function loadRuntimeModule() {
@@ -834,7 +835,24 @@ function resolveAllowedAgentsProbeAgent(ctx) {
834
835
  }
835
836
  }
836
837
  function shouldRunStartupProbe(env = process.env) {
837
- return env[ENABLE_STARTUP_PROBE_ENV] === "1";
838
+ return env[ENABLE_STARTUP_PROBE_ENV] !== "0";
839
+ }
840
+ function shouldProbeRuntimeAtStartup(env = process.env) {
841
+ return shouldRunStartupProbe(env) && env[SKIP_RUNTIME_PROBE_ENV] !== "1";
842
+ }
843
+ async function withStartupProbeTimeout(params) {
844
+ let timeout;
845
+ const timeoutMs = Math.max(1, params.timeoutSeconds * 1e3);
846
+ try {
847
+ return await Promise.race([params.promise, new Promise((_, reject) => {
848
+ timeout = setTimeout(() => {
849
+ reject(/* @__PURE__ */ new Error(`embedded acpx runtime backend startup probe timed out after ${params.timeoutSeconds}s`));
850
+ }, timeoutMs);
851
+ timeout.unref?.();
852
+ })]);
853
+ } finally {
854
+ if (timeout) clearTimeout(timeout);
855
+ }
838
856
  }
839
857
  async function resolveGatewayInstanceId(stateDir) {
840
858
  const filePath = path.join(stateDir, "gateway-instance-id");
@@ -937,31 +955,33 @@ function createAcpxRuntimeService(params = {}) {
937
955
  wrapperRoot,
938
956
  logger: ctx.logger
939
957
  });
958
+ const shouldProbeRuntime = shouldProbeRuntimeAtStartup();
940
959
  registerAcpRuntimeBackend({
941
960
  id: ACPX_BACKEND_ID,
942
961
  runtime,
943
- ...shouldRunStartupProbe() ? { healthy: () => runtime?.isHealthy() ?? false } : {}
962
+ ...shouldProbeRuntime ? { healthy: () => runtime?.isHealthy() ?? false } : {}
944
963
  });
945
964
  ctx.logger.info(`embedded acpx runtime backend registered (cwd: ${pluginConfig.cwd})`);
946
- if (!shouldRunStartupProbe() || process.env.OPENCLAW_SKIP_ACPX_RUNTIME_PROBE === "1") return;
965
+ if (!shouldProbeRuntime) return;
947
966
  lifecycleRevision += 1;
948
967
  const currentRevision = lifecycleRevision;
949
- (async () => {
950
- try {
951
- await runtime?.probeAvailability();
952
- if (currentRevision !== lifecycleRevision) return;
953
- if (runtime?.isHealthy()) {
954
- ctx.logger.info("embedded acpx runtime backend ready");
955
- return;
956
- }
957
- const doctorReport = await runtime?.doctor?.();
958
- if (currentRevision !== lifecycleRevision) return;
959
- ctx.logger.warn(`embedded acpx runtime backend probe failed: ${doctorReport ? formatDoctorFailureMessage(doctorReport) : "backend remained unhealthy after probe"}`);
960
- } catch (err) {
961
- if (currentRevision !== lifecycleRevision) return;
962
- ctx.logger.warn(`embedded acpx runtime setup failed: ${formatErrorMessage(err)}`);
968
+ try {
969
+ if (runtime) await withStartupProbeTimeout({
970
+ promise: runtime.probeAvailability(),
971
+ timeoutSeconds: pluginConfig.timeoutSeconds ?? 120
972
+ });
973
+ if (currentRevision !== lifecycleRevision) return;
974
+ if (runtime?.isHealthy()) {
975
+ ctx.logger.info("embedded acpx runtime backend ready");
976
+ return;
963
977
  }
964
- })();
978
+ const doctorReport = await runtime?.doctor?.();
979
+ if (currentRevision !== lifecycleRevision) return;
980
+ ctx.logger.warn(`embedded acpx runtime backend probe failed: ${doctorReport ? formatDoctorFailureMessage(doctorReport) : "backend remained unhealthy after probe"}`);
981
+ } catch (err) {
982
+ if (currentRevision !== lifecycleRevision) return;
983
+ ctx.logger.warn(`embedded acpx runtime setup failed: ${formatErrorMessage(err)}`);
984
+ }
965
985
  },
966
986
  async stop(_ctx) {
967
987
  lifecycleRevision += 1;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openclaw/acpx",
3
- "version": "2026.5.9-beta.1",
3
+ "version": "2026.5.10-beta.2",
4
4
  "description": "OpenClaw ACP runtime backend",
5
5
  "repository": {
6
6
  "type": "git",
@@ -8,8 +8,8 @@
8
8
  },
9
9
  "type": "module",
10
10
  "dependencies": {
11
- "@agentclientprotocol/claude-agent-acp": "0.32.0",
12
- "@zed-industries/codex-acp": "0.13.0",
11
+ "@agentclientprotocol/claude-agent-acp": "0.33.1",
12
+ "@zed-industries/codex-acp": "0.14.0",
13
13
  "acpx": "0.7.0"
14
14
  },
15
15
  "devDependencies": {
@@ -25,10 +25,10 @@
25
25
  "minHostVersion": ">=2026.4.25"
26
26
  },
27
27
  "compat": {
28
- "pluginApi": ">=2026.5.9-beta.1"
28
+ "pluginApi": ">=2026.5.10-beta.2"
29
29
  },
30
30
  "build": {
31
- "openclawVersion": "2026.5.9-beta.1",
31
+ "openclawVersion": "2026.5.10-beta.2",
32
32
  "staticAssets": [
33
33
  {
34
34
  "source": "./src/runtime-internals/mcp-proxy.mjs",
@@ -58,7 +58,7 @@
58
58
  "skills/**"
59
59
  ],
60
60
  "peerDependencies": {
61
- "openclaw": ">=2026.5.9-beta.1"
61
+ "openclaw": ">=2026.5.10-beta.2"
62
62
  },
63
63
  "peerDependenciesMeta": {
64
64
  "openclaw": {