@openclaw/acpx 2026.9.1 → 2026.9.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/{config-v8M2tNu6.js → config-D2FTk0K7.js} +15 -51
- package/dist/doctor-contract-api.js +3 -3
- package/dist/index.js +2 -2
- package/dist/{pi-session-catalog-runtime-C0HodUWT.js → pi-session-catalog-runtime-BIieInfo.js} +2 -1
- package/dist/{process-lease-Cwvj7WGe.js → process-lease-B83BGiLj.js} +33 -30
- package/dist/{register.runtime-Ba7FPMGu.js → register.runtime-CksaMeEx.js} +1 -1
- package/dist/register.runtime.js +1 -1
- package/dist/{runtime-memQfUBo.js → runtime-CSNBTQIs.js} +140 -263
- package/dist/{service-COMUTA5A.js → service-BAf6nuci.js} +36 -94
- package/dist/{session-owner-migration-CistlQKM.js → session-owner-migration-D36AH9RC.js} +2 -2
- package/openclaw.plugin.json +8 -1
- package/package.json +5 -5
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { t as AcpxPluginConfigSchema } from "./config-schema-DN_uAi4R.js";
|
|
2
|
+
import { _ as splitCommandParts } from "./process-lease-B83BGiLj.js";
|
|
2
3
|
import { createRequire } from "node:module";
|
|
3
4
|
import { normalizeLowercaseStringOrEmpty } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
4
5
|
import fs from "node:fs";
|
|
@@ -57,21 +58,6 @@ function resolveAcpxPluginRoot(moduleUrl = import.meta.url) {
|
|
|
57
58
|
}
|
|
58
59
|
const DEFAULT_PERMISSION_MODE = "approve-reads";
|
|
59
60
|
const DEFAULT_NON_INTERACTIVE_POLICY = "fail";
|
|
60
|
-
function parseAcpxPluginConfig(value) {
|
|
61
|
-
if (value === void 0) return {
|
|
62
|
-
ok: true,
|
|
63
|
-
value: void 0
|
|
64
|
-
};
|
|
65
|
-
const parsed = AcpxPluginConfigSchema.safeParse(value);
|
|
66
|
-
if (!parsed.success) return {
|
|
67
|
-
ok: false,
|
|
68
|
-
message: formatPluginConfigIssue(parsed.error.issues[0])
|
|
69
|
-
};
|
|
70
|
-
return {
|
|
71
|
-
ok: true,
|
|
72
|
-
value: parsed.data
|
|
73
|
-
};
|
|
74
|
-
}
|
|
75
61
|
function resolveOpenClawRoot(currentRoot) {
|
|
76
62
|
if (path.basename(currentRoot) === "acpx" && path.basename(path.dirname(currentRoot)) === "extensions") {
|
|
77
63
|
const parent = path.dirname(path.dirname(currentRoot));
|
|
@@ -87,35 +73,14 @@ function resolveTsxImportSpecifier() {
|
|
|
87
73
|
return "tsx";
|
|
88
74
|
}
|
|
89
75
|
}
|
|
90
|
-
function
|
|
91
|
-
if (!/[\s'"\\$|&;<>{}()*?[\]~`]/.test(arg)) return arg;
|
|
92
|
-
return `'${arg.replace(/'/g, "'\"'\"'")}'`;
|
|
93
|
-
}
|
|
94
|
-
function resolvePluginToolsMcpServerConfig(moduleUrl = import.meta.url) {
|
|
95
|
-
const openClawRoot = resolveOpenClawRoot(resolveAcpxPluginRoot(moduleUrl));
|
|
96
|
-
const distEntry = path.join(openClawRoot, "dist", "mcp", "plugin-tools-serve.js");
|
|
97
|
-
if (fs.existsSync(distEntry)) return {
|
|
98
|
-
command: process.execPath,
|
|
99
|
-
args: [distEntry]
|
|
100
|
-
};
|
|
101
|
-
const sourceEntry = path.join(openClawRoot, "src", "mcp", "plugin-tools-serve.ts");
|
|
102
|
-
return {
|
|
103
|
-
command: process.execPath,
|
|
104
|
-
args: [
|
|
105
|
-
"--import",
|
|
106
|
-
resolveTsxImportSpecifier(),
|
|
107
|
-
sourceEntry
|
|
108
|
-
]
|
|
109
|
-
};
|
|
110
|
-
}
|
|
111
|
-
function resolveOpenClawToolsMcpServerConfig(moduleUrl = import.meta.url) {
|
|
76
|
+
function resolveManagedToolsMcpServerConfig(entryPoint, moduleUrl = import.meta.url) {
|
|
112
77
|
const openClawRoot = resolveOpenClawRoot(resolveAcpxPluginRoot(moduleUrl));
|
|
113
|
-
const distEntry = path.join(openClawRoot, "dist", "mcp",
|
|
78
|
+
const distEntry = path.join(openClawRoot, "dist", "mcp", `${entryPoint}.js`);
|
|
114
79
|
if (fs.existsSync(distEntry)) return {
|
|
115
80
|
command: process.execPath,
|
|
116
81
|
args: [distEntry]
|
|
117
82
|
};
|
|
118
|
-
const sourceEntry = path.join(openClawRoot, "src", "mcp",
|
|
83
|
+
const sourceEntry = path.join(openClawRoot, "src", "mcp", `${entryPoint}.ts`);
|
|
119
84
|
return {
|
|
120
85
|
command: process.execPath,
|
|
121
86
|
args: [
|
|
@@ -129,8 +94,8 @@ function resolveConfiguredMcpServers(params) {
|
|
|
129
94
|
const resolved = { ...params.mcpServers };
|
|
130
95
|
if (params.pluginToolsMcpBridge && resolved[ACPX_PLUGIN_TOOLS_MCP_SERVER_NAME]) throw new Error(`mcpServers.${ACPX_PLUGIN_TOOLS_MCP_SERVER_NAME} is reserved when pluginToolsMcpBridge=true`);
|
|
131
96
|
if (params.openClawToolsMcpBridge && resolved[ACPX_OPENCLAW_TOOLS_MCP_SERVER_NAME]) throw new Error(`mcpServers.${ACPX_OPENCLAW_TOOLS_MCP_SERVER_NAME} is reserved when openClawToolsMcpBridge=true`);
|
|
132
|
-
if (params.pluginToolsMcpBridge) resolved[ACPX_PLUGIN_TOOLS_MCP_SERVER_NAME] =
|
|
133
|
-
if (params.openClawToolsMcpBridge) resolved[ACPX_OPENCLAW_TOOLS_MCP_SERVER_NAME] =
|
|
97
|
+
if (params.pluginToolsMcpBridge) resolved[ACPX_PLUGIN_TOOLS_MCP_SERVER_NAME] = resolveManagedToolsMcpServerConfig("plugin-tools-serve", params.moduleUrl);
|
|
98
|
+
if (params.openClawToolsMcpBridge) resolved[ACPX_OPENCLAW_TOOLS_MCP_SERVER_NAME] = resolveManagedToolsMcpServerConfig("openclaw-tools-serve", params.moduleUrl);
|
|
134
99
|
return resolved;
|
|
135
100
|
}
|
|
136
101
|
/** Convert OpenClaw MCP server config into ACPX runtime MCP server entries. */
|
|
@@ -147,12 +112,12 @@ function toAcpMcpServers(mcpServers) {
|
|
|
147
112
|
}
|
|
148
113
|
/** Validate and normalize raw ACPX plugin config for runtime startup. */
|
|
149
114
|
function resolveAcpxPluginConfig(params) {
|
|
150
|
-
const
|
|
151
|
-
|
|
152
|
-
|
|
115
|
+
const { rawConfig } = params;
|
|
116
|
+
const parsed = AcpxPluginConfigSchema.safeParse(rawConfig === void 0 ? {} : rawConfig);
|
|
117
|
+
if (!parsed.success) throw new Error(formatPluginConfigIssue(parsed.error.issues[0]));
|
|
118
|
+
const normalized = parsed.data;
|
|
153
119
|
const workspaceDir = params.workspaceDir?.trim() || process.cwd();
|
|
154
|
-
const
|
|
155
|
-
const cwd = path.resolve(normalized.cwd?.trim() || fallbackCwd);
|
|
120
|
+
const cwd = path.resolve(normalized.cwd?.trim() || workspaceDir);
|
|
156
121
|
const stateDir = path.resolve(normalized.stateDir?.trim() || path.join(workspaceDir, "state"));
|
|
157
122
|
const pluginToolsMcpBridge = normalized.pluginToolsMcpBridge === true;
|
|
158
123
|
const openClawToolsMcpBridge = normalized.openClawToolsMcpBridge === true;
|
|
@@ -164,9 +129,8 @@ function resolveAcpxPluginConfig(params) {
|
|
|
164
129
|
});
|
|
165
130
|
const agents = Object.fromEntries(Object.entries(normalized.agents ?? {}).map(([name, entry]) => {
|
|
166
131
|
const cmd = entry.command.trim();
|
|
167
|
-
const
|
|
168
|
-
|
|
169
|
-
return [normalizeLowercaseStringOrEmpty(name), fullCommand];
|
|
132
|
+
const command = path.isAbsolute(cmd) && fs.existsSync(cmd) ? [cmd] : splitCommandParts(cmd);
|
|
133
|
+
return [normalizeLowercaseStringOrEmpty(name), [...command, ...entry.args ?? []]];
|
|
170
134
|
}));
|
|
171
135
|
return {
|
|
172
136
|
cwd,
|
|
@@ -176,10 +140,10 @@ function resolveAcpxPluginConfig(params) {
|
|
|
176
140
|
nonInteractivePermissions: normalized.nonInteractivePermissions ?? DEFAULT_NON_INTERACTIVE_POLICY,
|
|
177
141
|
pluginToolsMcpBridge,
|
|
178
142
|
openClawToolsMcpBridge,
|
|
179
|
-
timeoutSeconds: normalized.timeoutSeconds
|
|
143
|
+
timeoutSeconds: normalized.timeoutSeconds,
|
|
180
144
|
mcpServers,
|
|
181
145
|
agents
|
|
182
146
|
};
|
|
183
147
|
}
|
|
184
148
|
//#endregion
|
|
185
|
-
export { resolveAcpxPluginRoot as n,
|
|
149
|
+
export { toAcpMcpServers as i, resolveAcpxPluginRoot as n, resolveOpenClawRoot as r, resolveAcpxPluginConfig as t };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { c as
|
|
1
|
+
import { c as openAcpxProcessLeaseStateStore, d as ACPX_GATEWAY_INSTANCE_KEY, f as ACPX_GATEWAY_INSTANCE_NAMESPACE, h as normalizeAcpxGatewayInstanceRecord, m as ACPX_LEGACY_PROCESS_LEASE_FILE, o as normalizeAcpxProcessLease, p as ACPX_LEGACY_GATEWAY_INSTANCE_FILE, s as normalizeAcpxProcessLeaseFile } from "./process-lease-B83BGiLj.js";
|
|
2
2
|
import path from "node:path";
|
|
3
3
|
import fs from "node:fs/promises";
|
|
4
4
|
import { archiveLegacyStateSource, asObjectRecord } from "openclaw/plugin-sdk/runtime-doctor-migrations";
|
|
@@ -137,10 +137,10 @@ const stateMigrations = [{
|
|
|
137
137
|
doctorOnly: true,
|
|
138
138
|
phase: "after-session-repair",
|
|
139
139
|
async detectLegacyState(input) {
|
|
140
|
-
return (await import("./session-owner-migration-
|
|
140
|
+
return (await import("./session-owner-migration-D36AH9RC.js")).acpxSessionOwnerMigration.detectLegacyState(input);
|
|
141
141
|
},
|
|
142
142
|
async migrateLegacyState(input) {
|
|
143
|
-
return (await import("./session-owner-migration-
|
|
143
|
+
return (await import("./session-owner-migration-D36AH9RC.js")).acpxSessionOwnerMigration.migrateLegacyState(input);
|
|
144
144
|
}
|
|
145
145
|
}];
|
|
146
146
|
//#endregion
|
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-CksaMeEx.js";
|
|
2
2
|
import "./config-schema-DN_uAi4R.js";
|
|
3
3
|
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 "./pi-session-paths-EMbd4Hkz.js";
|
|
4
4
|
import { tryDispatchAcpReplyHook } from "openclaw/plugin-sdk/acp-runtime-backend";
|
|
@@ -8,7 +8,7 @@ import { resolveNodeHostExecutable } from "openclaw/plugin-sdk/node-host";
|
|
|
8
8
|
import { createSessionCatalogNodeHostBindings } from "openclaw/plugin-sdk/session-catalog";
|
|
9
9
|
import { isRecord } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
10
10
|
//#region extensions/acpx/src/pi-session-catalog-plugin.ts
|
|
11
|
-
const loadPiSessionCatalogModule = createLazyRuntimeModule(() => import("./pi-session-catalog-runtime-
|
|
11
|
+
const loadPiSessionCatalogModule = createLazyRuntimeModule(() => import("./pi-session-catalog-runtime-BIieInfo.js"));
|
|
12
12
|
function fullConfigCatalogEnabled(config) {
|
|
13
13
|
if (!isRecord(config) || !isRecord(config.plugins) || !isRecord(config.plugins.entries)) return true;
|
|
14
14
|
const entry = config.plugins.entries.acpx;
|
package/dist/{pi-session-catalog-runtime-C0HodUWT.js → pi-session-catalog-runtime-BIieInfo.js}
RENAMED
|
@@ -1,7 +1,7 @@
|
|
|
1
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-EMbd4Hkz.js";
|
|
2
2
|
import { parseDateFirstTimestampMs } from "openclaw/plugin-sdk/number-runtime";
|
|
3
3
|
import { resolveNodeHostExecutable } from "openclaw/plugin-sdk/node-host";
|
|
4
|
-
import { createSessionCatalogFamily, importSessionCatalogHistory, isExternalUserText, listAdoptedSessionCatalogSessions, sessionCatalogAdoptedSessionKey
|
|
4
|
+
import { createSessionCatalogFamily, importSessionCatalogHistory, isExternalUserText, listAdoptedSessionCatalogSessions, sessionCatalogAdoptedSessionKey } from "openclaw/plugin-sdk/session-catalog";
|
|
5
5
|
import { isRecord, normalizeBoundedOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
6
6
|
import { createReadStream } from "node:fs";
|
|
7
7
|
import path from "node:path";
|
|
@@ -9,6 +9,7 @@ import fs$1 from "node:fs/promises";
|
|
|
9
9
|
import process from "node:process";
|
|
10
10
|
import { resolveAcpSessionAvailability } from "openclaw/plugin-sdk/acp-runtime";
|
|
11
11
|
import { resolveSessionAgentIdsStrict } from "openclaw/plugin-sdk/agent-scope-runtime";
|
|
12
|
+
import { sessionCatalogPaging } from "openclaw/plugin-sdk/session-catalog-paging";
|
|
12
13
|
import { truncateUtf16Safe } from "openclaw/plugin-sdk/text-utility-runtime";
|
|
13
14
|
import { runTasksWithConcurrency } from "openclaw/plugin-sdk/concurrency-runtime";
|
|
14
15
|
import { isPathStrictlyInside } from "openclaw/plugin-sdk/file-access-runtime";
|
|
@@ -1,29 +1,38 @@
|
|
|
1
|
-
import { createHash
|
|
1
|
+
import { createHash } from "node:crypto";
|
|
2
2
|
//#region extensions/acpx/src/command-line.ts
|
|
3
|
-
/**
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
*/
|
|
7
|
-
/** Quote one command argument for display or config serialization. */
|
|
8
|
-
function quoteCommandPart(value) {
|
|
9
|
-
return JSON.stringify(value);
|
|
3
|
+
/** Match ACPX's persisted argv identity; scalar records keep their original bytes. */
|
|
4
|
+
function renderAgentCommand(command) {
|
|
5
|
+
return typeof command === "string" ? command : command.map((part) => /^[A-Za-z0-9_@%+=:,./^~-]+$/.test(part) ? part : JSON.stringify(part)).join(" ");
|
|
10
6
|
}
|
|
11
7
|
/** Split a command string into argv-like parts using simple quote/backslash rules. */
|
|
12
8
|
function splitCommandParts(value) {
|
|
9
|
+
if (Array.isArray(value)) return value;
|
|
10
|
+
const windows = process.platform === "win32";
|
|
13
11
|
const parts = [];
|
|
14
12
|
let current = "";
|
|
15
13
|
let quote = null;
|
|
16
14
|
let escaping = false;
|
|
15
|
+
let hasPart = false;
|
|
17
16
|
for (const ch of value) {
|
|
18
17
|
if (escaping) {
|
|
19
18
|
current += ch;
|
|
20
19
|
escaping = false;
|
|
20
|
+
hasPart = true;
|
|
21
21
|
continue;
|
|
22
22
|
}
|
|
23
|
-
if (ch === "\\" && quote !== "'") {
|
|
23
|
+
if (ch === "\\" && quote !== "'" && !windows) {
|
|
24
24
|
escaping = true;
|
|
25
|
+
hasPart = true;
|
|
25
26
|
continue;
|
|
26
27
|
}
|
|
28
|
+
if (windows && ch === "\"" && quote !== "'") {
|
|
29
|
+
const backslashes = current.match(/\\+$/)?.[0].length ?? 0;
|
|
30
|
+
current = current.slice(0, current.length - backslashes) + "\\".repeat(Math.floor(backslashes / 2));
|
|
31
|
+
if (backslashes % 2 === 1) {
|
|
32
|
+
current += "\"";
|
|
33
|
+
continue;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
27
36
|
if (quote) {
|
|
28
37
|
if (ch === quote) quote = null;
|
|
29
38
|
else current += ch;
|
|
@@ -31,19 +40,23 @@ function splitCommandParts(value) {
|
|
|
31
40
|
}
|
|
32
41
|
if (ch === "'" || ch === "\"") {
|
|
33
42
|
quote = ch;
|
|
43
|
+
hasPart = true;
|
|
34
44
|
continue;
|
|
35
45
|
}
|
|
36
46
|
if (/\s/.test(ch)) {
|
|
37
|
-
if (
|
|
47
|
+
if (hasPart) {
|
|
38
48
|
parts.push(current);
|
|
39
49
|
current = "";
|
|
50
|
+
hasPart = false;
|
|
40
51
|
}
|
|
41
52
|
continue;
|
|
42
53
|
}
|
|
43
54
|
current += ch;
|
|
55
|
+
hasPart = true;
|
|
44
56
|
}
|
|
45
57
|
if (escaping) current += "\\";
|
|
46
|
-
if (
|
|
58
|
+
if (quote) throw new Error("Invalid agent command: unterminated quote");
|
|
59
|
+
if (hasPart) parts.push(current);
|
|
47
60
|
return parts;
|
|
48
61
|
}
|
|
49
62
|
//#endregion
|
|
@@ -78,7 +91,7 @@ const OPENCLAW_GATEWAY_INSTANCE_ID_ARG = "--openclaw-gateway-instance-id";
|
|
|
78
91
|
const ACPX_PROBE_LEASE_SESSION_KEY = "openclaw:acpx:probe";
|
|
79
92
|
/** Read OpenClaw lease identity from a generated wrapper command. */
|
|
80
93
|
function readAcpxProcessLeaseIdentity(command) {
|
|
81
|
-
const parts =
|
|
94
|
+
const parts = typeof command === "string" ? Array.from(command.matchAll(/(?:^|\s)(--openclaw-(?:acpx-lease-id|gateway-instance-id))\s+(?:"([^"]*)"|'([^']*)'|(\S+))(?=\s|$)/g)).flatMap((match) => [match[1], match[2] ?? match[3] ?? match[4]]) : command ?? [];
|
|
82
95
|
const leaseIndex = parts.lastIndexOf(OPENCLAW_ACPX_LEASE_ID_ARG);
|
|
83
96
|
const gatewayIndex = parts.lastIndexOf(OPENCLAW_GATEWAY_INSTANCE_ID_ARG);
|
|
84
97
|
const leaseId = leaseIndex >= 0 ? parts[leaseIndex + 1]?.trim() : "";
|
|
@@ -167,29 +180,19 @@ function createAcpxProcessLeaseStore(params) {
|
|
|
167
180
|
}
|
|
168
181
|
};
|
|
169
182
|
}
|
|
170
|
-
/** Create a unique lease id for one ACPX wrapper process. */
|
|
171
|
-
function createAcpxProcessLeaseId() {
|
|
172
|
-
return randomUUID();
|
|
173
|
-
}
|
|
174
183
|
/** Hash a wrapper command so process leases can detect command drift. */
|
|
175
184
|
function hashAcpxProcessCommand(command) {
|
|
176
|
-
return createHash("sha256").update(command).digest("hex");
|
|
177
|
-
}
|
|
178
|
-
function quoteEnvValue(value) {
|
|
179
|
-
return /^[A-Za-z0-9_./:=@+-]+$/.test(value) ? value : `'${value.replace(/'/g, "'\\''")}'`;
|
|
185
|
+
return createHash("sha256").update(renderAgentCommand(command)).digest("hex");
|
|
180
186
|
}
|
|
181
|
-
|
|
187
|
+
/** Append portable wrapper arguments without changing the executable or argument bytes. */
|
|
188
|
+
function withAcpxLeaseArgs(params) {
|
|
182
189
|
return [
|
|
183
|
-
params.command,
|
|
190
|
+
...splitCommandParts(params.command),
|
|
184
191
|
OPENCLAW_ACPX_LEASE_ID_ARG,
|
|
185
|
-
|
|
192
|
+
params.leaseId,
|
|
186
193
|
OPENCLAW_GATEWAY_INSTANCE_ID_ARG,
|
|
187
|
-
|
|
188
|
-
]
|
|
189
|
-
}
|
|
190
|
-
/** Add ACPX lease identity to a command through portable wrapper arguments. */
|
|
191
|
-
function withAcpxLeaseEnvironment(params) {
|
|
192
|
-
return appendAcpxLeaseArgs(params);
|
|
194
|
+
params.gatewayInstanceId
|
|
195
|
+
];
|
|
193
196
|
}
|
|
194
197
|
//#endregion
|
|
195
|
-
export {
|
|
198
|
+
export { splitCommandParts as _, hashAcpxProcessCommand as a, openAcpxProcessLeaseStateStore as c, ACPX_GATEWAY_INSTANCE_KEY as d, ACPX_GATEWAY_INSTANCE_NAMESPACE as f, renderAgentCommand as g, normalizeAcpxGatewayInstanceRecord as h, createAcpxProcessLeaseStore as i, readAcpxProcessLeaseIdentity as l, ACPX_LEGACY_PROCESS_LEASE_FILE as m, OPENCLAW_ACPX_LEASE_ID_ARG as n, normalizeAcpxProcessLease as o, ACPX_LEGACY_GATEWAY_INSTANCE_FILE as p, OPENCLAW_GATEWAY_INSTANCE_ID_ARG as r, normalizeAcpxProcessLeaseFile as s, ACPX_PROBE_LEASE_SESSION_KEY as t, withAcpxLeaseArgs as u };
|
|
@@ -67,7 +67,7 @@ function createLazyAcpRuntimeProxy(resolveRuntime) {
|
|
|
67
67
|
* immediately, then imports the heavier service only when a session needs it.
|
|
68
68
|
*/
|
|
69
69
|
const ACPX_BACKEND_ID = "acpx";
|
|
70
|
-
const loadServiceModule = createLazyRuntimeModule(() => import("./service-
|
|
70
|
+
const loadServiceModule = createLazyRuntimeModule(() => import("./service-BAf6nuci.js").then((n) => n.t));
|
|
71
71
|
function unregisterOwnedRuntime(runtime) {
|
|
72
72
|
if (runtime && getAcpRuntimeBackend(ACPX_BACKEND_ID)?.runtime === runtime) unregisterAcpRuntimeBackend(ACPX_BACKEND_ID);
|
|
73
73
|
}
|
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-CksaMeEx.js";
|
|
2
2
|
export { createAcpxRuntimeService };
|