@openclaw/acpx 2026.11.5-beta.1 → 2026.11.5-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.
- package/dist/.setup/{config-Cplh34lQ.mjs → config-DZaY96RI.mjs} +8 -4
- package/dist/.setup/{harness-attempt-Co9oLpPg.mjs → harness-attempt-CR7gvC_C.mjs} +2 -1
- package/dist/.setup/{pi-session-catalog-runtime-DgzkbadO.mjs → pi-session-catalog-runtime-hFy095NF.mjs} +9 -5
- package/dist/.setup/{pi-session-paths-pUr6hnVA.mjs → pi-session-paths-Cn5bsvi0.mjs} +4 -2
- package/dist/.setup/{runtime-doctor-migrations-CSvRANPN.mjs → runtime-doctor-migrations-hxP-CXX7.mjs} +10 -5
- package/dist/.setup/{service-DmgP1gPb.mjs → service-By25n8eI.mjs} +27 -15
- package/dist/.setup/{session-owner-migration-CQA7L68K.mjs → session-owner-migration-BmfOUj9h.mjs} +10 -7
- package/dist/.setup/{session-resource-D_tXKvcv.mjs → session-resource-BI93OF1C.mjs} +3 -2
- package/dist/.source-module-urls/9369b1b274d2ba70ea21d859abb3415ad8d63d0a1022a301763b953a5798469e.json +1 -1
- package/dist/doctor-contract-api.js +6 -5
- package/dist/index.js +15 -10
- package/dist/setup-api.js +2 -1
- package/package.json +4 -4
|
@@ -6,7 +6,7 @@ import { formatPluginConfigIssue } from "openclaw/plugin-sdk/extension-shared";
|
|
|
6
6
|
import { resolvePackageRuntimeProcessEntrypointUrl, resolveRuntimeWorkerArgv } from "openclaw/plugin-sdk/process-runtime";
|
|
7
7
|
import { resolveStateDir } from "openclaw/plugin-sdk/state-paths";
|
|
8
8
|
import { isRecord, normalizeLowercaseStringOrEmpty, normalizeOptionalLowercaseString } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
9
|
-
|
|
9
|
+
//#region extensions/acpx/src/config-schema.ts
|
|
10
10
|
/**
|
|
11
11
|
* ACPX plugin configuration schema and public config types. Runtime setup uses
|
|
12
12
|
* this file as the single source of truth for validation and defaulting.
|
|
@@ -62,12 +62,14 @@ const AcpxPluginConfigSchema = z.strictObject({
|
|
|
62
62
|
args: z.array(z.string({ error: "args must be an array of strings" })).optional()
|
|
63
63
|
})).optional()
|
|
64
64
|
});
|
|
65
|
-
|
|
65
|
+
//#endregion
|
|
66
|
+
//#region extensions/acpx/src/codex-adapter.ts
|
|
66
67
|
const CODEX_ACP_PACKAGE = "@agentclientprotocol/codex-acp";
|
|
67
68
|
const CODEX_ACP_BIN = "codex-acp";
|
|
68
69
|
const LEGACY_CODEX_ACP_PACKAGE = "@zed-industries/codex-acp";
|
|
69
70
|
const OPENCLAW_CODEX_CONFIG_ARG = "--openclaw-codex-config";
|
|
70
|
-
|
|
71
|
+
//#endregion
|
|
72
|
+
//#region extensions/acpx/src/command-line.ts
|
|
71
73
|
/** Match ACPX's persisted argv identity; scalar records keep their original bytes. */
|
|
72
74
|
function renderAgentCommand(command) {
|
|
73
75
|
return typeof command === "string" ? command : command.map((part) => /^[A-Za-z0-9_@%+=:,./^~-]+$/.test(part) ? part : JSON.stringify(part)).join(" ");
|
|
@@ -189,7 +191,8 @@ function resolveAgentCommand(params) {
|
|
|
189
191
|
if (!normalizedAgentName) return;
|
|
190
192
|
return splitCommandParts(params.agentRegistry.resolve(normalizedAgentName));
|
|
191
193
|
}
|
|
192
|
-
|
|
194
|
+
//#endregion
|
|
195
|
+
//#region extensions/acpx/src/config.ts
|
|
193
196
|
const MANAGED_MCP_BRIDGES = [[
|
|
194
197
|
"pluginToolsMcpBridge",
|
|
195
198
|
"openclaw-plugin-tools",
|
|
@@ -330,4 +333,5 @@ function resolveAcpxPluginConfig(params) {
|
|
|
330
333
|
agents
|
|
331
334
|
};
|
|
332
335
|
}
|
|
336
|
+
//#endregion
|
|
333
337
|
export { isClaudeAcpCommand as a, renderAgentCommand as c, CODEX_ACP_BIN as d, CODEX_ACP_PACKAGE as f, AcpxNativeAgentsSchema as g, ACPX_NATIVE_AGENT_IDS as h, toAcpMcpServers as i, resolveAgentCommand as l, OPENCLAW_CODEX_CONFIG_ARG as m, resolveAcpxPluginRoot as n, isCodexAcpCommand as o, LEGACY_CODEX_ACP_PACKAGE as p, resolveOpenClawRoot as r, isOpenClawBridgeCommand as s, resolveAcpxPluginConfig as t, splitCommandParts as u };
|
|
@@ -7,7 +7,7 @@ import { DEFAULT_PLUGIN_APPROVAL_TIMEOUT_MS } from "openclaw/plugin-sdk/approval
|
|
|
7
7
|
import { toErrorObject } from "openclaw/plugin-sdk/error-runtime";
|
|
8
8
|
import { resolveStorePath } from "openclaw/plugin-sdk/session-store-runtime";
|
|
9
9
|
import { appendSessionTranscriptMessageByIdentityStrict } from "openclaw/plugin-sdk/session-transcript-runtime";
|
|
10
|
-
|
|
10
|
+
//#region extensions/acpx/src/harness-attempt.ts
|
|
11
11
|
async function runAcpHarnessAttempt(params) {
|
|
12
12
|
const { input, runtime } = params;
|
|
13
13
|
if (!input.agentId || !input.sessionKey) throw new Error("ACP chat requires an owned OpenClaw session");
|
|
@@ -365,4 +365,5 @@ async function runAcpHarnessAttempt(params) {
|
|
|
365
365
|
}
|
|
366
366
|
};
|
|
367
367
|
}
|
|
368
|
+
//#endregion
|
|
368
369
|
export { runAcpHarnessAttempt };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { c as PI_SESSION_READ_COMMAND, i as PI_LOCAL_SESSION_HOST_ID, l as PI_TERMINAL_RESUME_COMMAND, n as piSessionStore, o as PI_SESSIONS_LIST_COMMAND, r as piSessionStoreAvailable, s as PI_SESSION_ID_PATTERN, t as piAcpSessionStoreRoot } from "./pi-session-paths-
|
|
1
|
+
import { c as PI_SESSION_READ_COMMAND, i as PI_LOCAL_SESSION_HOST_ID, l as PI_TERMINAL_RESUME_COMMAND, n as piSessionStore, o as PI_SESSIONS_LIST_COMMAND, r as piSessionStoreAvailable, s as PI_SESSION_ID_PATTERN, t as piAcpSessionStoreRoot } from "./pi-session-paths-Cn5bsvi0.mjs";
|
|
2
2
|
import { parseDateFirstTimestampMs, timestampMsToIsoString } from "openclaw/plugin-sdk/number-runtime";
|
|
3
3
|
import { createReadStream } from "node:fs";
|
|
4
4
|
import path from "node:path";
|
|
@@ -15,7 +15,7 @@ import fs$1 from "node:fs/promises";
|
|
|
15
15
|
import { pruneMapToMaxSize } from "openclaw/plugin-sdk/collection-runtime";
|
|
16
16
|
import { runTasksWithConcurrency } from "openclaw/plugin-sdk/concurrency-runtime";
|
|
17
17
|
import { isPathStrictlyInside } from "openclaw/plugin-sdk/file-access-runtime";
|
|
18
|
-
|
|
18
|
+
//#region extensions/acpx/src/pi-session-store.ts
|
|
19
19
|
const MAX_DISCOVERY_FILES = 1e4;
|
|
20
20
|
const SUMMARY_SCAN_BATCH_SIZE = 100;
|
|
21
21
|
const MAX_SUMMARY_CACHE_ENTRIES = 256;
|
|
@@ -328,7 +328,8 @@ async function readPiSessionById(threadId, env) {
|
|
|
328
328
|
throw new Error("Pi session is unavailable", { cause: error });
|
|
329
329
|
}
|
|
330
330
|
}
|
|
331
|
-
|
|
331
|
+
//#endregion
|
|
332
|
+
//#region extensions/acpx/src/pi-session-catalog.ts
|
|
332
333
|
const MAX_SEARCH_LENGTH = 500;
|
|
333
334
|
const isExactPiSessionCursor = sessionCatalogPaging.isExactCursor;
|
|
334
335
|
const PI_PARAMETER_MESSAGES = {
|
|
@@ -508,7 +509,8 @@ async function readLocalPiTranscriptPage(value) {
|
|
|
508
509
|
...page
|
|
509
510
|
};
|
|
510
511
|
}
|
|
511
|
-
|
|
512
|
+
//#endregion
|
|
513
|
+
//#region extensions/acpx/src/pi-session-upstream-activity.ts
|
|
512
514
|
function readFilePath(probe) {
|
|
513
515
|
return isRecord(probe.upstreamRef) && typeof probe.upstreamRef.filePath === "string" ? probe.upstreamRef.filePath : void 0;
|
|
514
516
|
}
|
|
@@ -558,7 +560,8 @@ async function checkPiUpstreamActivity(probes) {
|
|
|
558
560
|
} catch {}
|
|
559
561
|
return outcomes;
|
|
560
562
|
}
|
|
561
|
-
|
|
563
|
+
//#endregion
|
|
564
|
+
//#region extensions/acpx/src/pi-session-catalog-runtime.ts
|
|
562
565
|
const NODE_TIMEOUT_MS = 2e4;
|
|
563
566
|
const ACPX_BACKEND_ID = "acpx";
|
|
564
567
|
const PI_ACP_AGENT_ID = "pi";
|
|
@@ -692,4 +695,5 @@ function createPiSessionCatalogRuntime(api) {
|
|
|
692
695
|
checkUpstreamActivity: (probes, policy) => checkPiUpstreamActivity(probes.filter((probe) => probe.hostId !== "gateway" || policy?.allowProcessHomeFallback !== false || !piSessionStore(process.env).usesProcessHomeFallback))
|
|
693
696
|
}, isExactPiSessionCursor);
|
|
694
697
|
}
|
|
698
|
+
//#endregion
|
|
695
699
|
export { createPiSessionCatalogRuntime, listLocalPiSessionPage as listPiSessions, readLocalPiTranscriptPage as readPiSession, requireLocalPiSession };
|
|
@@ -2,14 +2,15 @@ import { readFileSync, statSync } from "node:fs";
|
|
|
2
2
|
import path from "node:path";
|
|
3
3
|
import { isRecord, normalizeBoundedOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
4
4
|
import os from "node:os";
|
|
5
|
-
|
|
5
|
+
//#region extensions/acpx/src/pi-session-catalog-shared.ts
|
|
6
6
|
const PI_SESSIONS_LIST_COMMAND = "acpx.pi.sessions.list.v1";
|
|
7
7
|
const PI_SESSION_READ_COMMAND = "acpx.pi.sessions.read.v1";
|
|
8
8
|
const PI_TERMINAL_RESUME_COMMAND = "acpx.pi.terminal.resume.v1";
|
|
9
9
|
const PI_SESSIONS_CAPABILITY = "pi-sessions";
|
|
10
10
|
const PI_LOCAL_SESSION_HOST_ID = "gateway";
|
|
11
11
|
const PI_SESSION_ID_PATTERN = /^(?!-)[A-Za-z0-9._:-]{1,256}$/u;
|
|
12
|
-
|
|
12
|
+
//#endregion
|
|
13
|
+
//#region extensions/acpx/src/pi-session-paths.ts
|
|
13
14
|
function piHome(env) {
|
|
14
15
|
return (process.platform === "win32" ? env.USERPROFILE?.trim() : env.HOME?.trim()) || os.homedir();
|
|
15
16
|
}
|
|
@@ -79,4 +80,5 @@ function piSessionStoreAvailable(env, store) {
|
|
|
79
80
|
return false;
|
|
80
81
|
}
|
|
81
82
|
}
|
|
83
|
+
//#endregion
|
|
82
84
|
export { PI_SESSIONS_CAPABILITY as a, PI_SESSION_READ_COMMAND as c, PI_LOCAL_SESSION_HOST_ID as i, PI_TERMINAL_RESUME_COMMAND as l, piSessionStore as n, PI_SESSIONS_LIST_COMMAND as o, piSessionStoreAvailable as r, PI_SESSION_ID_PATTERN as s, piAcpSessionStoreRoot as t };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import "node:module";
|
|
2
|
-
|
|
2
|
+
//#region \0rolldown/runtime.js
|
|
3
3
|
var __defProp = Object.defineProperty;
|
|
4
4
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
5
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
@@ -24,7 +24,8 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
24
24
|
return to;
|
|
25
25
|
};
|
|
26
26
|
var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
|
|
27
|
-
|
|
27
|
+
//#endregion
|
|
28
|
+
//#region packages/normalization-core/src/record-coerce.ts
|
|
28
29
|
/** Type guard for non-array object records at browser-safe boundaries. */
|
|
29
30
|
function isRecord(value) {
|
|
30
31
|
return value !== null && typeof value === "object" && !Array.isArray(value);
|
|
@@ -33,7 +34,8 @@ function isRecord(value) {
|
|
|
33
34
|
function asNullableRecord(value) {
|
|
34
35
|
return isRecord(value) ? value : null;
|
|
35
36
|
}
|
|
36
|
-
|
|
37
|
+
//#endregion
|
|
38
|
+
//#region src/config/channel-config-normalization.ts
|
|
37
39
|
/** Applies one channel-specific doctor migration to every object-shaped account. */
|
|
38
40
|
function normalizeChannelAccounts(params) {
|
|
39
41
|
const rawAccounts = asNullableRecord(params.entry.accounts);
|
|
@@ -109,7 +111,8 @@ function normalizeChannelConfigEntries(params) {
|
|
|
109
111
|
changes
|
|
110
112
|
};
|
|
111
113
|
}
|
|
112
|
-
|
|
114
|
+
//#endregion
|
|
115
|
+
//#region src/plugin-sdk/legacy-webhook-listener-migration.ts
|
|
113
116
|
/** Preserve explicitly configured webhook listeners while moving ingress onto Gateway routes. */
|
|
114
117
|
function createLegacyWebhookListenerDoctorContract(params) {
|
|
115
118
|
const portKey = params.portKey ?? "webhookPort";
|
|
@@ -179,8 +182,10 @@ function createLegacyWebhookListenerDoctorContract(params) {
|
|
|
179
182
|
}
|
|
180
183
|
};
|
|
181
184
|
}
|
|
182
|
-
|
|
185
|
+
//#endregion
|
|
186
|
+
//#region \0openclaw:bundled-sdk:openclaw/plugin-sdk/runtime-doctor-migrations
|
|
183
187
|
var runtime_doctor_migrations_exports = /* @__PURE__ */ __exportAll({ createLegacyWebhookListenerDoctorContract: () => createLegacyWebhookListenerDoctorContract });
|
|
184
188
|
import * as import_openclaw_plugin_sdk_runtime_doctor_migrations from "openclaw/plugin-sdk/runtime-doctor-migrations";
|
|
185
189
|
__reExport(runtime_doctor_migrations_exports, import_openclaw_plugin_sdk_runtime_doctor_migrations);
|
|
190
|
+
//#endregion
|
|
186
191
|
export { __exportAll as n, runtime_doctor_migrations_exports as t };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { a as isClaudeAcpCommand, c as renderAgentCommand, d as CODEX_ACP_BIN, f as CODEX_ACP_PACKAGE, i as toAcpMcpServers, l as resolveAgentCommand, m as OPENCLAW_CODEX_CONFIG_ARG, n as resolveAcpxPluginRoot, o as isCodexAcpCommand, p as LEGACY_CODEX_ACP_PACKAGE, r as resolveOpenClawRoot, s as isOpenClawBridgeCommand, t as resolveAcpxPluginConfig, u as splitCommandParts } from "./config-
|
|
1
|
+
import { a as isClaudeAcpCommand, c as renderAgentCommand, d as CODEX_ACP_BIN, f as CODEX_ACP_PACKAGE, i as toAcpMcpServers, l as resolveAgentCommand, m as OPENCLAW_CODEX_CONFIG_ARG, n as resolveAcpxPluginRoot, o as isCodexAcpCommand, p as LEGACY_CODEX_ACP_PACKAGE, r as resolveOpenClawRoot, s as isOpenClawBridgeCommand, t as resolveAcpxPluginConfig, u as splitCommandParts } from "./config-DZaY96RI.mjs";
|
|
2
2
|
import { AcpRuntimeError } from "../runtime-api.js";
|
|
3
|
-
import { t as resolveAcpxSessionResource } from "./session-resource-
|
|
4
|
-
import { a as hashAcpxProcessCommand, adoptAcpxStateDirectory, c as withAcpxLeaseArgs, d as normalizeAcpxGatewayInstanceRecord, i as createAcpxProcessLeaseStore, l as ACPX_GATEWAY_INSTANCE_KEY, n as OPENCLAW_ACPX_LEASE_ID_ARG, o as openAcpxProcessLeaseStateStore, r as OPENCLAW_GATEWAY_INSTANCE_ID_ARG, s as readAcpxProcessLeaseIdentity, t as ACPX_PROBE_LEASE_SESSION_KEY, u as ACPX_GATEWAY_INSTANCE_NAMESPACE } from "./session-owner-migration-
|
|
3
|
+
import { t as resolveAcpxSessionResource } from "./session-resource-BI93OF1C.mjs";
|
|
4
|
+
import { a as hashAcpxProcessCommand, adoptAcpxStateDirectory, c as withAcpxLeaseArgs, d as normalizeAcpxGatewayInstanceRecord, i as createAcpxProcessLeaseStore, l as ACPX_GATEWAY_INSTANCE_KEY, n as OPENCLAW_ACPX_LEASE_ID_ARG, o as openAcpxProcessLeaseStateStore, r as OPENCLAW_GATEWAY_INSTANCE_ID_ARG, s as readAcpxProcessLeaseIdentity, t as ACPX_PROBE_LEASE_SESSION_KEY, u as ACPX_GATEWAY_INSTANCE_NAMESPACE } from "./session-owner-migration-BmfOUj9h.mjs";
|
|
5
5
|
import { createRequire } from "node:module";
|
|
6
6
|
import { finiteSecondsToTimerSafeMilliseconds } from "openclaw/plugin-sdk/number-runtime";
|
|
7
7
|
import fs from "node:fs";
|
|
@@ -22,7 +22,7 @@ import { AsyncLocalStorage } from "node:async_hooks";
|
|
|
22
22
|
import { isDeepStrictEqual } from "node:util";
|
|
23
23
|
import { redactSensitiveText } from "openclaw/plugin-sdk/security-runtime";
|
|
24
24
|
import { KeyedAsyncQueue } from "openclaw/plugin-sdk/keyed-async-queue";
|
|
25
|
-
|
|
25
|
+
//#region extensions/acpx/src/adapter-wrapper-script.ts
|
|
26
26
|
const RUN_CONFIGURED_COMMAND_SENTINEL = "--openclaw-run-configured";
|
|
27
27
|
const DIAGNOSTIC_REDACTION_RULES = [
|
|
28
28
|
{
|
|
@@ -485,7 +485,8 @@ child.on("close", () => {
|
|
|
485
485
|
main();
|
|
486
486
|
`;
|
|
487
487
|
}
|
|
488
|
-
|
|
488
|
+
//#endregion
|
|
489
|
+
//#region extensions/acpx/src/codex-trust-config.ts
|
|
489
490
|
const INHERITED_TOP_LEVEL_CODEX_CONFIG_KEYS = /* @__PURE__ */ new Set([
|
|
490
491
|
"model",
|
|
491
492
|
"model_provider",
|
|
@@ -534,7 +535,8 @@ function renderIsolatedCodexConfig(params) {
|
|
|
534
535
|
""
|
|
535
536
|
].filter((line, index, lines) => !(line === "" && lines[index - 1] === "")).join("\n");
|
|
536
537
|
}
|
|
537
|
-
|
|
538
|
+
//#endregion
|
|
539
|
+
//#region extensions/acpx/src/codex-auth-bridge.ts
|
|
538
540
|
/**
|
|
539
541
|
* Prepares isolated Codex and Claude ACP wrapper commands for ACPX. The bridge
|
|
540
542
|
* copies safe auth/config state into plugin-owned homes and redacts diagnostics.
|
|
@@ -847,7 +849,8 @@ async function prepareAcpxCodexAuthConfig(params) {
|
|
|
847
849
|
}
|
|
848
850
|
};
|
|
849
851
|
}
|
|
850
|
-
|
|
852
|
+
//#endregion
|
|
853
|
+
//#region extensions/acpx/src/process-reaper.ts
|
|
851
854
|
/**
|
|
852
855
|
* ACPX process ownership checks and cleanup. The reaper only terminates
|
|
853
856
|
* OpenClaw-owned wrapper trees after validating paths, packages, and lease ids.
|
|
@@ -1098,7 +1101,8 @@ async function reapStaleOpenClawOwnedAcpxOrphans(params) {
|
|
|
1098
1101
|
wrapperRoot: params.wrapperRoot
|
|
1099
1102
|
})).map((orphan) => collectProcessTree(processes, orphan.pid)).flatMap((tree) => tree.toReversed())), params.assertCurrent) };
|
|
1100
1103
|
}
|
|
1101
|
-
|
|
1104
|
+
//#endregion
|
|
1105
|
+
//#region extensions/acpx/src/model-ref.ts
|
|
1102
1106
|
function withAcpxSessionOptions(input) {
|
|
1103
1107
|
const model = input.model?.trim() || input.sessionOptions?.model;
|
|
1104
1108
|
const sessionOptions = model ? {
|
|
@@ -1137,7 +1141,8 @@ async function ensureSessionWithModelRef(ensureSession, input) {
|
|
|
1137
1141
|
};
|
|
1138
1142
|
}
|
|
1139
1143
|
}
|
|
1140
|
-
|
|
1144
|
+
//#endregion
|
|
1145
|
+
//#region extensions/acpx/src/runtime-generations.ts
|
|
1141
1146
|
var AcpxGenerationRegistry = class {
|
|
1142
1147
|
constructor(sessionStore, delegate, createDelegate) {
|
|
1143
1148
|
this.sessionStore = sessionStore;
|
|
@@ -1262,7 +1267,8 @@ var AcpxGenerationRegistry = class {
|
|
|
1262
1267
|
this.isolatedSessionResources.clear();
|
|
1263
1268
|
}
|
|
1264
1269
|
};
|
|
1265
|
-
|
|
1270
|
+
//#endregion
|
|
1271
|
+
//#region extensions/acpx/src/runtime-probe.ts
|
|
1266
1272
|
var AcpxRuntimeProbe = class {
|
|
1267
1273
|
constructor(params) {
|
|
1268
1274
|
this.params = params;
|
|
@@ -1295,7 +1301,8 @@ var AcpxRuntimeProbe = class {
|
|
|
1295
1301
|
await this.tail;
|
|
1296
1302
|
}
|
|
1297
1303
|
};
|
|
1298
|
-
|
|
1304
|
+
//#endregion
|
|
1305
|
+
//#region extensions/acpx/src/runtime-session-store.ts
|
|
1299
1306
|
/** Generation-bound persistence and process-lease metadata for ACPX resets. */
|
|
1300
1307
|
function withOpenClawLeaseSessionMetadata(record, lease) {
|
|
1301
1308
|
return {
|
|
@@ -1416,7 +1423,8 @@ function createResetAwareSessionStore(baseStore, params) {
|
|
|
1416
1423
|
}
|
|
1417
1424
|
};
|
|
1418
1425
|
}
|
|
1419
|
-
|
|
1426
|
+
//#endregion
|
|
1427
|
+
//#region extensions/acpx/src/runtime-process-cleanup.ts
|
|
1420
1428
|
/** Capture OpenClaw wrapper cleanup ownership before a backend close can yield. */
|
|
1421
1429
|
async function prepareAcpxProcessCleanup(params) {
|
|
1422
1430
|
const { leaseStore, gatewayInstanceId, wrapperRoot } = params;
|
|
@@ -1462,7 +1470,8 @@ async function prepareAcpxProcessCleanup(params) {
|
|
|
1462
1470
|
});
|
|
1463
1471
|
};
|
|
1464
1472
|
}
|
|
1465
|
-
|
|
1473
|
+
//#endregion
|
|
1474
|
+
//#region extensions/acpx/src/session-owner.ts
|
|
1466
1475
|
function requireAcpxOwnerMigration(sessionKey) {
|
|
1467
1476
|
throw new AcpRuntimeError("ACP_SESSION_INIT_FAILED", `ACP session "${sessionKey}" has an unqualified or unverifiable backend locator. Stop the Gateway and run "openclaw doctor --fix" to migrate ownership without losing history, then restart.`, { detailCode: "SESSION_OWNER_MIGRATION_REQUIRED" });
|
|
1468
1477
|
}
|
|
@@ -1491,7 +1500,8 @@ function toAcpxResourceInput(input) {
|
|
|
1491
1500
|
}
|
|
1492
1501
|
};
|
|
1493
1502
|
}
|
|
1494
|
-
|
|
1503
|
+
//#endregion
|
|
1504
|
+
//#region extensions/acpx/src/runtime.ts
|
|
1495
1505
|
/**
|
|
1496
1506
|
* OpenClaw ACPX runtime adapter. It wraps the upstream acpx runtime with
|
|
1497
1507
|
* OpenClaw session metadata, lease tracking, model scoping, and cleanup policy.
|
|
@@ -2219,7 +2229,8 @@ var AcpxRuntime$1 = class {
|
|
|
2219
2229
|
});
|
|
2220
2230
|
}
|
|
2221
2231
|
};
|
|
2222
|
-
|
|
2232
|
+
//#endregion
|
|
2233
|
+
//#region extensions/acpx/src/service.ts
|
|
2223
2234
|
const ENABLE_STARTUP_PROBE_ENV = "OPENCLAW_ACPX_RUNTIME_STARTUP_PROBE";
|
|
2224
2235
|
const SKIP_RUNTIME_PROBE_ENV = "OPENCLAW_SKIP_ACPX_RUNTIME_PROBE";
|
|
2225
2236
|
const MAX_ACPX_TOKIO_WORKER_THREADS = 8;
|
|
@@ -2427,4 +2438,5 @@ function createAcpxRuntimeService(params) {
|
|
|
2427
2438
|
}
|
|
2428
2439
|
};
|
|
2429
2440
|
}
|
|
2441
|
+
//#endregion
|
|
2430
2442
|
export { createAcpxRuntimeService };
|
package/dist/.setup/{session-owner-migration-CQA7L68K.mjs → session-owner-migration-BmfOUj9h.mjs}
RENAMED
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { t as runtime_doctor_migrations_exports } from "./runtime-doctor-migrations-
|
|
2
|
-
import { c as renderAgentCommand, t as resolveAcpxPluginConfig, u as splitCommandParts } from "./config-
|
|
1
|
+
import { t as runtime_doctor_migrations_exports } from "./runtime-doctor-migrations-hxP-CXX7.mjs";
|
|
2
|
+
import { c as renderAgentCommand, t as resolveAcpxPluginConfig, u as splitCommandParts } from "./config-DZaY96RI.mjs";
|
|
3
3
|
import path from "node:path";
|
|
4
4
|
import { asFiniteNumber, asOptionalObjectRecord, normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
5
5
|
import { createHash } from "node:crypto";
|
|
6
6
|
import fs from "node:fs/promises";
|
|
7
7
|
import { isDeepStrictEqual } from "node:util";
|
|
8
8
|
import { movePathWithCopyFallback } from "openclaw/plugin-sdk/security-runtime";
|
|
9
|
-
|
|
9
|
+
//#region extensions/acpx/src/state.ts
|
|
10
10
|
const ACPX_PROCESS_LEASE_NAMESPACE = "process-leases";
|
|
11
11
|
const ACPX_PROCESS_LEASE_MAX_ENTRIES = 4096;
|
|
12
12
|
const ACPX_GATEWAY_INSTANCE_NAMESPACE = "gateway-instance";
|
|
@@ -20,7 +20,8 @@ function normalizeAcpxGatewayInstanceRecord(value) {
|
|
|
20
20
|
createdAt: Math.trunc(asFiniteNumber(record?.createdAt) ?? 0)
|
|
21
21
|
};
|
|
22
22
|
}
|
|
23
|
-
|
|
23
|
+
//#endregion
|
|
24
|
+
//#region extensions/acpx/src/process-lease.ts
|
|
24
25
|
const OPENCLAW_ACPX_LEASE_ID_ARG = "--openclaw-acpx-lease-id";
|
|
25
26
|
const OPENCLAW_GATEWAY_INSTANCE_ID_ARG = "--openclaw-gateway-instance-id";
|
|
26
27
|
/** Synthetic session identity for generated-wrapper health probes. */
|
|
@@ -118,7 +119,8 @@ function withAcpxLeaseArgs(params) {
|
|
|
118
119
|
params.gatewayInstanceId
|
|
119
120
|
];
|
|
120
121
|
}
|
|
121
|
-
|
|
122
|
+
//#endregion
|
|
123
|
+
//#region extensions/acpx/src/session-owner-migration.ts
|
|
122
124
|
function openStateDirectoryMarker(input) {
|
|
123
125
|
return input.openKeyedStore({
|
|
124
126
|
namespace: "state-directory-migration",
|
|
@@ -228,7 +230,7 @@ async function legacyRecords(input, directory = sessionDirectory(input)) {
|
|
|
228
230
|
directory,
|
|
229
231
|
ids
|
|
230
232
|
};
|
|
231
|
-
const { resolveAcpxSessionResource } = await import("./session-resource-
|
|
233
|
+
const { resolveAcpxSessionResource } = await import("./session-resource-BI93OF1C.mjs").then((n) => n.n);
|
|
232
234
|
const evidence = await input.context.inspectAcpSessionClaims?.();
|
|
233
235
|
const { decodeAcpxRuntimeHandleState } = await import("acpx/runtime");
|
|
234
236
|
return {
|
|
@@ -271,7 +273,7 @@ async function migrateRecord(input, directory, oldId, claims, changes, warnings)
|
|
|
271
273
|
const raw = (0, runtime_doctor_migrations_exports.asObjectRecord)(JSON.parse((0, runtime_doctor_migrations_exports.decodeUtf8Input)(sourceBytes, `ACP record ${sourcePath}`)));
|
|
272
274
|
if (!raw || raw.acpx_record_id !== oldId || typeof raw.name !== "string" || !raw.name.trim() || raw.name !== oldId && !oldId.startsWith(`${raw.name}:oneshot:`)) throw new Error("record ID/name is not a recognized ACPX locator");
|
|
273
275
|
requireStoppedPid(raw.pid);
|
|
274
|
-
const { resolveAcpxSessionResource } = await import("./session-resource-
|
|
276
|
+
const { resolveAcpxSessionResource } = await import("./session-resource-BI93OF1C.mjs").then((n) => n.n);
|
|
275
277
|
const { createFileSessionStore, decodeAcpxRuntimeHandleState, encodeAcpxRuntimeHandleState } = await import("acpx/runtime");
|
|
276
278
|
const candidates = claims.filter((claim) => matchesClaimRecord(claim, raw, oldId, resolveAcpxSessionResource(claim), decodeAcpxRuntimeHandleState));
|
|
277
279
|
if (candidates.length !== 1) throw new Error("exactly one current owner claim is required");
|
|
@@ -428,4 +430,5 @@ const acpxSessionOwnerMigration = {
|
|
|
428
430
|
};
|
|
429
431
|
}
|
|
430
432
|
};
|
|
433
|
+
//#endregion
|
|
431
434
|
export { hashAcpxProcessCommand as a, acpxSessionOwnerMigration, adoptAcpxStateDirectory, withAcpxLeaseArgs as c, normalizeAcpxGatewayInstanceRecord as d, createAcpxProcessLeaseStore as i, ACPX_GATEWAY_INSTANCE_KEY as l, OPENCLAW_ACPX_LEASE_ID_ARG as n, openAcpxProcessLeaseStateStore as o, OPENCLAW_GATEWAY_INSTANCE_ID_ARG as r, readAcpxProcessLeaseIdentity as s, ACPX_PROBE_LEASE_SESSION_KEY as t, ACPX_GATEWAY_INSTANCE_NAMESPACE as u };
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { n as __exportAll } from "./runtime-doctor-migrations-
|
|
1
|
+
import { n as __exportAll } from "./runtime-doctor-migrations-hxP-CXX7.mjs";
|
|
2
2
|
import { AcpRuntimeError } from "../runtime-api.js";
|
|
3
3
|
import { sha256Hex } from "openclaw/plugin-sdk/node-crypto-runtime";
|
|
4
4
|
import { normalizeAgentId, parseAgentSessionKey } from "openclaw/plugin-sdk/routing";
|
|
5
|
-
|
|
5
|
+
//#region extensions/acpx/src/session-resource.ts
|
|
6
6
|
var session_resource_exports = /* @__PURE__ */ __exportAll({ resolveAcpxSessionResource: () => resolveAcpxSessionResource });
|
|
7
7
|
/** Logical OpenClaw keys stay intact; only bare backend resource names need a namespace. */
|
|
8
8
|
function resolveAcpxSessionResource(target) {
|
|
@@ -13,4 +13,5 @@ function resolveAcpxSessionResource(target) {
|
|
|
13
13
|
if (encodedOwner) return sessionKey;
|
|
14
14
|
return `openclaw-owner-v1-${sha256Hex(JSON.stringify([agentId, sessionKey]))}`;
|
|
15
15
|
}
|
|
16
|
+
//#endregion
|
|
16
17
|
export { session_resource_exports as n, resolveAcpxSessionResource as t };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"entries":[{"output":"doctor-contract-api.js","source":"extensions/acpx/doctor-contract-api.ts"},{"output":"index.js","source":"extensions/acpx/index.ts"},{"output":"runtime-api.js","source":"extensions/acpx/runtime-api.ts"},{"output":"setup-api.js","source":"extensions/acpx/setup-api.ts"}],"chunks":[{"output":".setup/config-
|
|
1
|
+
{"version":3,"entries":[{"output":"doctor-contract-api.js","source":"extensions/acpx/doctor-contract-api.ts"},{"output":"index.js","source":"extensions/acpx/index.ts"},{"output":"runtime-api.js","source":"extensions/acpx/runtime-api.ts"},{"output":"setup-api.js","source":"extensions/acpx/setup-api.ts"}],"chunks":[{"output":".setup/config-DZaY96RI.mjs","sha256":"625fd5fe477dc20fbbc1575bd943359c360285d90e66f28f35637a094c6a554b","facadeSource":null,"sources":["extensions/acpx/src/codex-adapter.ts","extensions/acpx/src/command-line.ts","extensions/acpx/src/config-schema.ts","extensions/acpx/src/config.ts"]},{"output":".setup/harness-attempt-CR7gvC_C.mjs","sha256":"25d8bb8a268da63e16b5f97c09d3e79ea591d84cbf5fe60f5c90a7482aca31b8","facadeSource":"extensions/acpx/src/harness-attempt.ts","sources":["extensions/acpx/src/harness-attempt.ts"]},{"output":".setup/pi-session-catalog-runtime-hFy095NF.mjs","sha256":"053d9f772cbb8ceebbf14c2f34975da0bb9cb718a7381c0a97d306ef790152e9","facadeSource":"extensions/acpx/src/pi-session-catalog-runtime.ts","sources":["extensions/acpx/src/pi-session-catalog-runtime.ts","extensions/acpx/src/pi-session-catalog.ts","extensions/acpx/src/pi-session-store.ts","extensions/acpx/src/pi-session-upstream-activity.ts"]},{"output":".setup/pi-session-paths-Cn5bsvi0.mjs","sha256":"08a8154298de4f15b938f1a2658e89c0cb4523781ae16ff14eb8e6314d343173","facadeSource":null,"sources":["extensions/acpx/src/pi-session-catalog-shared.ts","extensions/acpx/src/pi-session-paths.ts"]},{"output":".setup/runtime-doctor-migrations-hxP-CXX7.mjs","sha256":"5e20ed323f11ae0bd7d3a940409f89b15f676828463579f8ea705f5153368d1f","facadeSource":null,"sources":["packages/normalization-core/src/record-coerce.ts","src/config/channel-config-normalization.ts","src/plugin-sdk/legacy-webhook-listener-migration.ts"]},{"output":".setup/service-By25n8eI.mjs","sha256":"e89a981a4ca99e013f81b82982d6bfc1273d5483ff2cdbcc322618dffde2ba18","facadeSource":"extensions/acpx/src/service.ts","sources":["extensions/acpx/src/adapter-wrapper-script.ts","extensions/acpx/src/codex-auth-bridge.ts","extensions/acpx/src/codex-trust-config.ts","extensions/acpx/src/model-ref.ts","extensions/acpx/src/process-reaper.ts","extensions/acpx/src/runtime-generations.ts","extensions/acpx/src/runtime-probe.ts","extensions/acpx/src/runtime-process-cleanup.ts","extensions/acpx/src/runtime-session-store.ts","extensions/acpx/src/runtime.ts","extensions/acpx/src/service.ts","extensions/acpx/src/session-owner.ts"]},{"output":".setup/session-owner-migration-BmfOUj9h.mjs","sha256":"776a69a9374ae1fc991fe4338a3974a979f4abe7628fb95979f62983c01be73d","facadeSource":"extensions/acpx/src/session-owner-migration.ts","sources":["extensions/acpx/src/process-lease.ts","extensions/acpx/src/session-owner-migration.ts","extensions/acpx/src/state.ts"]},{"output":".setup/session-resource-BI93OF1C.mjs","sha256":"d0778cae638d2d0301b339f02487c17e85bd610b74e7ed16727dd8369c3cb789","facadeSource":null,"sources":["extensions/acpx/src/session-resource.ts"]},{"output":"doctor-contract-api.js","sha256":"c860218ced54e76883f4f3a71e6d24a1fa3bc6b5927a605755f66626a7a57bb4","facadeSource":"extensions/acpx/doctor-contract-api.ts","sources":["extensions/acpx/doctor-contract-api.ts"]},{"output":"index.js","sha256":"ec8d13ac6177d11fb9fe90e6964887ef4a4de5ec4de1d518f8da1d49d595b948","facadeSource":"extensions/acpx/index.ts","sources":["extensions/acpx/index.ts","extensions/acpx/src/harness.ts","extensions/acpx/src/native-agents.ts","extensions/acpx/src/pi-session-catalog-plugin.ts","extensions/acpx/src/runtime-proxy.ts"]},{"output":"runtime-api.js","sha256":"fc9734d9dfabafe7281fca6ede1415215a44ac03bd0aa798fce919d11ae68605","facadeSource":"extensions/acpx/runtime-api.ts","sources":[]},{"output":"setup-api.js","sha256":"325620704c2d29397d30e6df9e239a8390e0372a3e6ab4c9c2b29182173a6af8","facadeSource":"extensions/acpx/setup-api.ts","sources":["extensions/acpx/setup-api.ts"]}],"unrenderedSources":["extensions/acpx/runtime-api.ts"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { t as runtime_doctor_migrations_exports } from "./.setup/runtime-doctor-migrations-
|
|
2
|
-
|
|
1
|
+
import { t as runtime_doctor_migrations_exports } from "./.setup/runtime-doctor-migrations-hxP-CXX7.mjs";
|
|
2
|
+
//#region extensions/acpx/doctor-contract-api.ts
|
|
3
3
|
const ACPX_CONFIG_PATH = [
|
|
4
4
|
"plugins",
|
|
5
5
|
"entries",
|
|
@@ -46,13 +46,14 @@ const stateMigrations = [{
|
|
|
46
46
|
doctorOnly: true,
|
|
47
47
|
phase: "after-session-repair",
|
|
48
48
|
async collectBackupResources(input) {
|
|
49
|
-
return (await import("./.setup/session-owner-migration-
|
|
49
|
+
return (await import("./.setup/session-owner-migration-BmfOUj9h.mjs")).acpxSessionOwnerMigration.collectBackupResources(input);
|
|
50
50
|
},
|
|
51
51
|
async detectLegacyState(input) {
|
|
52
|
-
return (await import("./.setup/session-owner-migration-
|
|
52
|
+
return (await import("./.setup/session-owner-migration-BmfOUj9h.mjs")).acpxSessionOwnerMigration.detectLegacyState(input);
|
|
53
53
|
},
|
|
54
54
|
async migrateLegacyState(input) {
|
|
55
|
-
return (await import("./.setup/session-owner-migration-
|
|
55
|
+
return (await import("./.setup/session-owner-migration-BmfOUj9h.mjs")).acpxSessionOwnerMigration.migrateLegacyState(input);
|
|
56
56
|
}
|
|
57
57
|
}];
|
|
58
|
+
//#endregion
|
|
58
59
|
export { legacyConfigRules, normalizeCompatibilityConfig, stateMigrations };
|
package/dist/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { g as AcpxNativeAgentsSchema, h as ACPX_NATIVE_AGENT_IDS, t as resolveAcpxPluginConfig } from "./.setup/config-
|
|
2
|
-
import { a as PI_SESSIONS_CAPABILITY, c as PI_SESSION_READ_COMMAND, l as PI_TERMINAL_RESUME_COMMAND, o as PI_SESSIONS_LIST_COMMAND, r as piSessionStoreAvailable, s as PI_SESSION_ID_PATTERN } from "./.setup/pi-session-paths-
|
|
1
|
+
import { g as AcpxNativeAgentsSchema, h as ACPX_NATIVE_AGENT_IDS, t as resolveAcpxPluginConfig } from "./.setup/config-DZaY96RI.mjs";
|
|
2
|
+
import { a as PI_SESSIONS_CAPABILITY, c as PI_SESSION_READ_COMMAND, l as PI_TERMINAL_RESUME_COMMAND, o as PI_SESSIONS_LIST_COMMAND, r as piSessionStoreAvailable, s as PI_SESSION_ID_PATTERN } from "./.setup/pi-session-paths-Cn5bsvi0.mjs";
|
|
3
3
|
import { createAgentRegistry } from "acpx/agent-registry";
|
|
4
4
|
import { getAcpRuntimeBackend, registerAcpRuntimeBackend, requireAcpRuntimeBackend, tryDispatchAcpReplyHook, unregisterAcpRuntimeBackend } from "openclaw/plugin-sdk/acp-runtime-backend";
|
|
5
5
|
import { createLazyRuntimeMethodBinder, createLazyRuntimeModule, createLazyRuntimeSurface } from "openclaw/plugin-sdk/lazy-runtime";
|
|
@@ -7,7 +7,7 @@ import { finiteSecondsToTimerSafeMilliseconds } from "openclaw/plugin-sdk/number
|
|
|
7
7
|
import { isRecord } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
8
8
|
import { resolveNodeHostExecutable } from "openclaw/plugin-sdk/node-host";
|
|
9
9
|
import { createSessionCatalogNodeHostBindings } from "openclaw/plugin-sdk/session-catalog";
|
|
10
|
-
|
|
10
|
+
//#region extensions/acpx/src/native-agents.ts
|
|
11
11
|
function isAcpxNativeAgentEnabled(flags, agent) {
|
|
12
12
|
return AcpxNativeAgentsSchema.parse(flags)?.[agent] !== false;
|
|
13
13
|
}
|
|
@@ -24,7 +24,8 @@ function listAcpxNativeAgents(rawConfig, agents) {
|
|
|
24
24
|
enabled: enabled?.[agent.id] !== false
|
|
25
25
|
}));
|
|
26
26
|
}
|
|
27
|
-
|
|
27
|
+
//#endregion
|
|
28
|
+
//#region extensions/acpx/src/harness.ts
|
|
28
29
|
const LOCAL_TOOL_REQUIREMENTS = [
|
|
29
30
|
"ls",
|
|
30
31
|
"read",
|
|
@@ -204,7 +205,7 @@ function createAcpAgentHarness(params) {
|
|
|
204
205
|
if (inspection?.launch.kind !== "installed") throw new Error(`${params.label} is not installed; refresh the model catalog`);
|
|
205
206
|
const runtime = await runtimeFor(input.workspaceDir);
|
|
206
207
|
generation.signal.throwIfAborted();
|
|
207
|
-
const { runAcpHarnessAttempt } = await import("./.setup/harness-attempt-
|
|
208
|
+
const { runAcpHarnessAttempt } = await import("./.setup/harness-attempt-CR7gvC_C.mjs");
|
|
208
209
|
return await runAcpHarnessAttempt({
|
|
209
210
|
input,
|
|
210
211
|
runtime,
|
|
@@ -244,8 +245,9 @@ function createAcpAgentHarness(params) {
|
|
|
244
245
|
}
|
|
245
246
|
};
|
|
246
247
|
}
|
|
247
|
-
|
|
248
|
-
|
|
248
|
+
//#endregion
|
|
249
|
+
//#region extensions/acpx/src/pi-session-catalog-plugin.ts
|
|
250
|
+
const loadPiSessionCatalogModule = createLazyRuntimeModule(() => import("./.setup/pi-session-catalog-runtime-hFy095NF.mjs"));
|
|
249
251
|
function fullConfigCatalogEnabled(config) {
|
|
250
252
|
if (!isRecord(config) || !isRecord(config.plugins) || !isRecord(config.plugins.entries)) return true;
|
|
251
253
|
const entry = config.plugins.entries.acpx;
|
|
@@ -307,7 +309,8 @@ function registerPiSessionCatalog(api) {
|
|
|
307
309
|
for (const command of nodeHost.commands) api.registerNodeHostCommand(command);
|
|
308
310
|
for (const policy of nodeHost.policies) api.registerNodeInvokePolicy(policy);
|
|
309
311
|
}
|
|
310
|
-
|
|
312
|
+
//#endregion
|
|
313
|
+
//#region extensions/acpx/src/runtime-proxy.ts
|
|
311
314
|
/** Start an ACP turn through a lazy runtime resolver without awaiting resolution up front. */
|
|
312
315
|
function lazyStartRuntimeTurn(resolveRuntime, input) {
|
|
313
316
|
const turnPromise = resolveRuntime().then((runtime) => runtime.startTurn(input));
|
|
@@ -353,9 +356,10 @@ function createLazyAcpRuntimeProxy(resolveRuntime) {
|
|
|
353
356
|
close: bind((runtime) => runtime.close.bind(runtime))
|
|
354
357
|
};
|
|
355
358
|
}
|
|
356
|
-
|
|
359
|
+
//#endregion
|
|
360
|
+
//#region extensions/acpx/index.ts
|
|
357
361
|
const ACPX_BACKEND_ID = "acpx";
|
|
358
|
-
const loadServiceModule = createLazyRuntimeModule(() => import("./.setup/service-
|
|
362
|
+
const loadServiceModule = createLazyRuntimeModule(() => import("./.setup/service-By25n8eI.mjs"));
|
|
359
363
|
function unregisterOwnedRuntime(runtime) {
|
|
360
364
|
if (runtime && getAcpRuntimeBackend(ACPX_BACKEND_ID)?.runtime === runtime) unregisterAcpRuntimeBackend(ACPX_BACKEND_ID);
|
|
361
365
|
}
|
|
@@ -548,4 +552,5 @@ const plugin = {
|
|
|
548
552
|
api.on("reply_dispatch", tryDispatchAcpReplyHook, { eligibleDispatchKinds: ["acp"] });
|
|
549
553
|
}
|
|
550
554
|
};
|
|
555
|
+
//#endregion
|
|
551
556
|
export { plugin as default };
|
package/dist/setup-api.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { normalizeLowercaseStringOrEmpty } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
2
2
|
import { definePluginEntry } from "openclaw/plugin-sdk/plugin-entry";
|
|
3
|
-
|
|
3
|
+
//#region extensions/acpx/setup-api.ts
|
|
4
4
|
/**
|
|
5
5
|
* ACPX setup plugin entry. It auto-enables setup when ACP config already points
|
|
6
6
|
* at the embedded ACPX runtime backend.
|
|
@@ -16,4 +16,5 @@ var setup_api_default = definePluginEntry({
|
|
|
16
16
|
});
|
|
17
17
|
}
|
|
18
18
|
});
|
|
19
|
+
//#endregion
|
|
19
20
|
export { setup_api_default as default };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@openclaw/acpx",
|
|
3
|
-
"version": "2026.11.5-beta.
|
|
3
|
+
"version": "2026.11.5-beta.3",
|
|
4
4
|
"description": "OpenClaw ACP runtime backend with plugin-owned session and transport management.",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -45,10 +45,10 @@
|
|
|
45
45
|
]
|
|
46
46
|
},
|
|
47
47
|
"compat": {
|
|
48
|
-
"pluginApi": ">=2026.11.5-beta.
|
|
48
|
+
"pluginApi": ">=2026.11.5-beta.3"
|
|
49
49
|
},
|
|
50
50
|
"build": {
|
|
51
|
-
"openclawVersion": "2026.11.5-beta.
|
|
51
|
+
"openclawVersion": "2026.11.5-beta.3"
|
|
52
52
|
},
|
|
53
53
|
"release": {
|
|
54
54
|
"publishToClawHub": true,
|
|
@@ -68,7 +68,7 @@
|
|
|
68
68
|
"skills/**"
|
|
69
69
|
],
|
|
70
70
|
"peerDependencies": {
|
|
71
|
-
"openclaw": ">=2026.11.5-beta.
|
|
71
|
+
"openclaw": ">=2026.11.5-beta.3"
|
|
72
72
|
},
|
|
73
73
|
"peerDependenciesMeta": {
|
|
74
74
|
"openclaw": {
|