@claudexor/cli 3.0.3 → 3.1.0
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/LICENSE +1 -1
- package/dist/about-command.d.ts +32 -0
- package/dist/about-command.d.ts.map +1 -0
- package/dist/about-command.js +40 -0
- package/dist/about-command.js.map +1 -0
- package/dist/acp-surface-runner.d.ts +12 -0
- package/dist/acp-surface-runner.d.ts.map +1 -1
- package/dist/acp-surface-runner.js +113 -11
- package/dist/acp-surface-runner.js.map +1 -1
- package/dist/capabilities.d.ts.map +1 -1
- package/dist/capabilities.js +2 -1
- package/dist/capabilities.js.map +1 -1
- package/dist/claudexord.d.ts +21 -0
- package/dist/claudexord.d.ts.map +1 -1
- package/dist/claudexord.js +96 -8
- package/dist/claudexord.js.map +1 -1
- package/dist/cli-error.d.ts +97 -0
- package/dist/cli-error.d.ts.map +1 -0
- package/dist/cli-error.js +308 -0
- package/dist/cli-error.js.map +1 -0
- package/dist/cli-io.d.ts +9 -0
- package/dist/cli-io.d.ts.map +1 -1
- package/dist/cli-io.js +10 -1
- package/dist/cli-io.js.map +1 -1
- package/dist/cli.js +105 -110
- package/dist/cli.js.map +1 -1
- package/dist/codex-device-login.d.ts +117 -0
- package/dist/codex-device-login.d.ts.map +1 -0
- package/dist/codex-device-login.js +227 -0
- package/dist/codex-device-login.js.map +1 -0
- package/dist/command-flags.d.ts.map +1 -1
- package/dist/command-flags.js +4 -3
- package/dist/command-flags.js.map +1 -1
- package/dist/command-help.d.ts +46 -0
- package/dist/command-help.d.ts.map +1 -0
- package/dist/command-help.js +92 -0
- package/dist/command-help.js.map +1 -0
- package/dist/command-registry.d.ts +2 -0
- package/dist/command-registry.d.ts.map +1 -1
- package/dist/command-registry.js +11 -4
- package/dist/command-registry.js.map +1 -1
- package/dist/control-services.d.ts +45 -18
- package/dist/control-services.d.ts.map +1 -1
- package/dist/control-services.js +56 -30
- package/dist/control-services.js.map +1 -1
- package/dist/credential-commands.d.ts.map +1 -1
- package/dist/credential-commands.js +44 -1
- package/dist/credential-commands.js.map +1 -1
- package/dist/daemon-outcome.d.ts +24 -0
- package/dist/daemon-outcome.d.ts.map +1 -0
- package/dist/daemon-outcome.js +59 -0
- package/dist/daemon-outcome.js.map +1 -0
- package/dist/daemon-run.d.ts +23 -4
- package/dist/daemon-run.d.ts.map +1 -1
- package/dist/daemon-run.js +66 -27
- package/dist/daemon-run.js.map +1 -1
- package/dist/delegation-belt-descriptor.d.ts +31 -13
- package/dist/delegation-belt-descriptor.d.ts.map +1 -1
- package/dist/delegation-belt-descriptor.js +43 -15
- package/dist/delegation-belt-descriptor.js.map +1 -1
- package/dist/live.d.ts +13 -1
- package/dist/live.d.ts.map +1 -1
- package/dist/live.js +56 -7
- package/dist/live.js.map +1 -1
- package/dist/mcp-runner.d.ts.map +1 -1
- package/dist/mcp-runner.js +60 -6
- package/dist/mcp-runner.js.map +1 -1
- package/dist/native-login.d.ts +10 -1
- package/dist/native-login.d.ts.map +1 -1
- package/dist/native-login.js +32 -10
- package/dist/native-login.js.map +1 -1
- package/dist/ops-commands.d.ts.map +1 -1
- package/dist/ops-commands.js +42 -51
- package/dist/ops-commands.js.map +1 -1
- package/dist/plan-implement-readiness.d.ts +32 -0
- package/dist/plan-implement-readiness.d.ts.map +1 -0
- package/dist/plan-implement-readiness.js +51 -0
- package/dist/plan-implement-readiness.js.map +1 -0
- package/dist/plugins.d.ts.map +1 -1
- package/dist/plugins.js +73 -20
- package/dist/plugins.js.map +1 -1
- package/dist/project-command.d.ts +15 -0
- package/dist/project-command.d.ts.map +1 -1
- package/dist/project-command.js +75 -20
- package/dist/project-command.js.map +1 -1
- package/dist/quota-command.d.ts.map +1 -1
- package/dist/quota-command.js +2 -6
- package/dist/quota-command.js.map +1 -1
- package/dist/release-command.d.ts.map +1 -1
- package/dist/release-command.js +31 -6
- package/dist/release-command.js.map +1 -1
- package/dist/release.d.ts +41 -10
- package/dist/release.d.ts.map +1 -1
- package/dist/release.js +70 -48
- package/dist/release.js.map +1 -1
- package/dist/repo-asset-authority.d.ts +93 -0
- package/dist/repo-asset-authority.d.ts.map +1 -0
- package/dist/repo-asset-authority.js +178 -0
- package/dist/repo-asset-authority.js.map +1 -0
- package/dist/review-command.d.ts.map +1 -1
- package/dist/review-command.js +2 -6
- package/dist/review-command.js.map +1 -1
- package/dist/settings-command.d.ts.map +1 -1
- package/dist/settings-command.js +2 -6
- package/dist/settings-command.js.map +1 -1
- package/dist/settings-service.d.ts +51 -2
- package/dist/settings-service.d.ts.map +1 -1
- package/dist/settings-service.js +126 -2
- package/dist/settings-service.js.map +1 -1
- package/dist/setup-job-store.d.ts +14 -3
- package/dist/setup-job-store.d.ts.map +1 -1
- package/dist/setup-job-store.js +24 -4
- package/dist/setup-job-store.js.map +1 -1
- package/dist/setup-jobs.d.ts +14 -4
- package/dist/setup-jobs.d.ts.map +1 -1
- package/dist/setup-jobs.js +204 -23
- package/dist/setup-jobs.js.map +1 -1
- package/dist/setup-login-inline.d.ts +69 -0
- package/dist/setup-login-inline.d.ts.map +1 -0
- package/dist/setup-login-inline.js +206 -0
- package/dist/setup-login-inline.js.map +1 -0
- package/dist/setup-login-protocol.d.ts +3 -2
- package/dist/setup-login-protocol.d.ts.map +1 -1
- package/dist/setup-login-protocol.js +16 -1
- package/dist/setup-login-protocol.js.map +1 -1
- package/dist/setup-login-runner.d.ts +9 -0
- package/dist/setup-login-runner.d.ts.map +1 -1
- package/dist/setup-login-runner.js +212 -5
- package/dist/setup-login-runner.js.map +1 -1
- package/dist/thread-delivery.d.ts.map +1 -1
- package/dist/thread-delivery.js +3 -1
- package/dist/thread-delivery.js.map +1 -1
- package/package.json +23 -23
package/LICENSE
CHANGED
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `claudexor about` — product identity, version, author, license, and the
|
|
3
|
+
* owner's canonical links (D-11). Text is the default; `--json` emits a small
|
|
4
|
+
* stable envelope agents can parse. The Swift About panel (Ф3) and the packed
|
|
5
|
+
* npm-manifest assertion (Ф5) consume the SAME facts declared here.
|
|
6
|
+
*/
|
|
7
|
+
/** The single source of the product's non-version identity facts. */
|
|
8
|
+
export declare const ABOUT_PRODUCT_NAME = "Claudexor";
|
|
9
|
+
export declare const ABOUT_AUTHOR = "Anton Razzhigaev";
|
|
10
|
+
export declare const ABOUT_LICENSE = "MIT";
|
|
11
|
+
export declare const ABOUT_LINKS: {
|
|
12
|
+
readonly telegram: "https://t.me/abstractDL";
|
|
13
|
+
readonly x: "https://x.com/AbstractDL";
|
|
14
|
+
readonly repository: "https://github.com/razzant/claudexor";
|
|
15
|
+
};
|
|
16
|
+
export interface AboutJson {
|
|
17
|
+
readonly ok: true;
|
|
18
|
+
readonly name: string;
|
|
19
|
+
readonly version: string;
|
|
20
|
+
readonly author: string;
|
|
21
|
+
readonly license: string;
|
|
22
|
+
readonly links: {
|
|
23
|
+
readonly telegram: string;
|
|
24
|
+
readonly x: string;
|
|
25
|
+
readonly repository: string;
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
/** Machine-readable identity envelope (`claudexor about --json`). */
|
|
29
|
+
export declare function aboutJson(version: string): AboutJson;
|
|
30
|
+
/** Human-readable `claudexor about` text. */
|
|
31
|
+
export declare function renderAbout(version: string): string;
|
|
32
|
+
//# sourceMappingURL=about-command.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"about-command.d.ts","sourceRoot":"","sources":["../src/about-command.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,qEAAqE;AACrE,eAAO,MAAM,kBAAkB,cAAc,CAAC;AAC9C,eAAO,MAAM,YAAY,qBAAqB,CAAC;AAC/C,eAAO,MAAM,aAAa,QAAQ,CAAC;AACnC,eAAO,MAAM,WAAW;;;;CAId,CAAC;AAEX,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAClB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE;QACd,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;QAC1B,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;QACnB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;KAC7B,CAAC;CACH;AAED,qEAAqE;AACrE,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,CASpD;AAED,6CAA6C;AAC7C,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAWnD"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `claudexor about` — product identity, version, author, license, and the
|
|
3
|
+
* owner's canonical links (D-11). Text is the default; `--json` emits a small
|
|
4
|
+
* stable envelope agents can parse. The Swift About panel (Ф3) and the packed
|
|
5
|
+
* npm-manifest assertion (Ф5) consume the SAME facts declared here.
|
|
6
|
+
*/
|
|
7
|
+
/** The single source of the product's non-version identity facts. */
|
|
8
|
+
export const ABOUT_PRODUCT_NAME = "Claudexor";
|
|
9
|
+
export const ABOUT_AUTHOR = "Anton Razzhigaev";
|
|
10
|
+
export const ABOUT_LICENSE = "MIT";
|
|
11
|
+
export const ABOUT_LINKS = {
|
|
12
|
+
telegram: "https://t.me/abstractDL",
|
|
13
|
+
x: "https://x.com/AbstractDL",
|
|
14
|
+
repository: "https://github.com/razzant/claudexor",
|
|
15
|
+
};
|
|
16
|
+
/** Machine-readable identity envelope (`claudexor about --json`). */
|
|
17
|
+
export function aboutJson(version) {
|
|
18
|
+
return {
|
|
19
|
+
ok: true,
|
|
20
|
+
name: ABOUT_PRODUCT_NAME,
|
|
21
|
+
version,
|
|
22
|
+
author: ABOUT_AUTHOR,
|
|
23
|
+
license: ABOUT_LICENSE,
|
|
24
|
+
links: { ...ABOUT_LINKS },
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
/** Human-readable `claudexor about` text. */
|
|
28
|
+
export function renderAbout(version) {
|
|
29
|
+
return [
|
|
30
|
+
`${ABOUT_PRODUCT_NAME} v${version}`,
|
|
31
|
+
"harness-agnostic AI coding control plane",
|
|
32
|
+
"",
|
|
33
|
+
`Author: ${ABOUT_AUTHOR}`,
|
|
34
|
+
`License: ${ABOUT_LICENSE}`,
|
|
35
|
+
`Repository: ${ABOUT_LINKS.repository}`,
|
|
36
|
+
`Telegram: ${ABOUT_LINKS.telegram}`,
|
|
37
|
+
`X: ${ABOUT_LINKS.x}`,
|
|
38
|
+
].join("\n");
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=about-command.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"about-command.js","sourceRoot":"","sources":["../src/about-command.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,qEAAqE;AACrE,MAAM,CAAC,MAAM,kBAAkB,GAAG,WAAW,CAAC;AAC9C,MAAM,CAAC,MAAM,YAAY,GAAG,kBAAkB,CAAC;AAC/C,MAAM,CAAC,MAAM,aAAa,GAAG,KAAK,CAAC;AACnC,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,QAAQ,EAAE,yBAAyB;IACnC,CAAC,EAAE,0BAA0B;IAC7B,UAAU,EAAE,sCAAsC;CAC1C,CAAC;AAeX,qEAAqE;AACrE,MAAM,UAAU,SAAS,CAAC,OAAe;IACvC,OAAO;QACL,EAAE,EAAE,IAAI;QACR,IAAI,EAAE,kBAAkB;QACxB,OAAO;QACP,MAAM,EAAE,YAAY;QACpB,OAAO,EAAE,aAAa;QACtB,KAAK,EAAE,EAAE,GAAG,WAAW,EAAE;KAC1B,CAAC;AACJ,CAAC;AAED,6CAA6C;AAC7C,MAAM,UAAU,WAAW,CAAC,OAAe;IACzC,OAAO;QACL,GAAG,kBAAkB,KAAK,OAAO,EAAE;QACnC,0CAA0C;QAC1C,EAAE;QACF,eAAe,YAAY,EAAE;QAC7B,eAAe,aAAa,EAAE;QAC9B,eAAe,WAAW,CAAC,UAAU,EAAE;QACvC,eAAe,WAAW,CAAC,QAAQ,EAAE;QACrC,eAAe,WAAW,CAAC,CAAC,EAAE;KAC/B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC"}
|
|
@@ -1,4 +1,16 @@
|
|
|
1
1
|
import { type ControlApiAddress } from "./live.js";
|
|
2
|
+
export declare const ACP_MAX_REPLAY_TURNS = 50;
|
|
3
|
+
/** Bound the load-replay to the most recent ACP_MAX_REPLAY_TURNS turns, and
|
|
4
|
+
* report how many older turns were omitted (disclosed to the client, never
|
|
5
|
+
* silently dropped). Pure + exported for test. */
|
|
6
|
+
export declare function selectReplayTurns<T>(rawTurns: readonly T[]): {
|
|
7
|
+
replayTurns: T[];
|
|
8
|
+
omittedTurnCount: number;
|
|
9
|
+
};
|
|
10
|
+
/** A machine-ish reason for a failed per-turn run-detail fetch: prefer the
|
|
11
|
+
* typed control-API `code` (e.g. run_expired_by_retention), then the HTTP
|
|
12
|
+
* status, then a generic marker — never the raw English message. */
|
|
13
|
+
export declare function typedFetchReason(error: unknown): string;
|
|
2
14
|
type Hooks = {
|
|
3
15
|
onInteraction?: (ctx: any) => Promise<any | null>;
|
|
4
16
|
signal?: AbortSignal;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acp-surface-runner.d.ts","sourceRoot":"","sources":["../src/acp-surface-runner.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"acp-surface-runner.d.ts","sourceRoot":"","sources":["../src/acp-surface-runner.ts"],"names":[],"mappings":"AAUA,OAAO,EAAmB,KAAK,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAWpE,eAAO,MAAM,oBAAoB,KAAK,CAAC;AAEvC;;mDAEmD;AACnD,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,QAAQ,EAAE,SAAS,CAAC,EAAE,GAAG;IAC5D,WAAW,EAAE,CAAC,EAAE,CAAC;IACjB,gBAAgB,EAAE,MAAM,CAAC;CAC1B,CAKA;AAED;;qEAEqE;AACrE,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAOvD;AAED,KAAK,KAAK,GAAG;IACX,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC;IAClD,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB,CAAC;AAEF,KAAK,OAAO,GAAG;IACb,MAAM,EAAE,CACN,IAAI,EAAE,iBAAiB,EACvB,MAAM,EAAE,WAAW,KAChB,CAAC,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAChD,YAAY,EAAE,CACZ,IAAI,EAAE,iBAAiB,EACvB,OAAO,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,KACvC,CAAC,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACjD,CAAC;AAEF,gFAAgF;AAChF,wBAAsB,eAAe,CACnC,CAAC,EAAE,GAAG,EACN,KAAK,EAAE,KAAK,GAAG,SAAS,EACxB,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,OAAO,CAAC,CA0MlB"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { createHash, randomUUID } from "node:crypto";
|
|
2
|
+
import { noProjectRepoRoot } from "@claudexor/util";
|
|
2
3
|
import { TERMINAL_LIFECYCLES } from "@claudexor/schema";
|
|
3
4
|
import { daemonOutcomeSummary, ensureDaemon, fetchApplyEligibility, fetchPlanQuestions, fetchPlanReadiness, } from "./daemon-run.js";
|
|
4
5
|
import { controlApiFetch } from "./live.js";
|
|
@@ -6,6 +7,33 @@ import { primaryOutputForCli } from "./primary-output.js";
|
|
|
6
7
|
// Daemon job state IS the run lifecycle (D8): terminal set = the ONE
|
|
7
8
|
// projection-owned TERMINAL_LIFECYCLES, never a local re-derivation.
|
|
8
9
|
const TERMINALS = TERMINAL_LIFECYCLES;
|
|
10
|
+
// W5: an ACP session/load replays the conversation by fetching one run detail
|
|
11
|
+
// per turn. Cap that fan-out to the most recent N turns so reopening a long
|
|
12
|
+
// thread cannot issue thousands of per-reopen detail fetches; older turns are
|
|
13
|
+
// disclosed as omitted rather than silently dropped.
|
|
14
|
+
export const ACP_MAX_REPLAY_TURNS = 50;
|
|
15
|
+
/** Bound the load-replay to the most recent ACP_MAX_REPLAY_TURNS turns, and
|
|
16
|
+
* report how many older turns were omitted (disclosed to the client, never
|
|
17
|
+
* silently dropped). Pure + exported for test. */
|
|
18
|
+
export function selectReplayTurns(rawTurns) {
|
|
19
|
+
return {
|
|
20
|
+
replayTurns: rawTurns.slice(-ACP_MAX_REPLAY_TURNS),
|
|
21
|
+
omittedTurnCount: Math.max(0, rawTurns.length - ACP_MAX_REPLAY_TURNS),
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
/** A machine-ish reason for a failed per-turn run-detail fetch: prefer the
|
|
25
|
+
* typed control-API `code` (e.g. run_expired_by_retention), then the HTTP
|
|
26
|
+
* status, then a generic marker — never the raw English message. */
|
|
27
|
+
export function typedFetchReason(error) {
|
|
28
|
+
if (error && typeof error === "object") {
|
|
29
|
+
const e = error;
|
|
30
|
+
if (typeof e.code === "string" && e.code)
|
|
31
|
+
return e.code;
|
|
32
|
+
if (typeof e.status === "number")
|
|
33
|
+
return `http_${e.status}`;
|
|
34
|
+
}
|
|
35
|
+
return "detail_unavailable";
|
|
36
|
+
}
|
|
9
37
|
/** Daemon-thread implementation behind the official ACP protocol projection. */
|
|
10
38
|
export async function acpSessionQuery(p, hooks, bridges) {
|
|
11
39
|
const { client, addr } = await ensureDaemon();
|
|
@@ -13,11 +41,16 @@ export async function acpSessionQuery(p, hooks, bridges) {
|
|
|
13
41
|
const response = await controlApiFetch(addr, path, init);
|
|
14
42
|
const body = (await response.json().catch(() => ({})));
|
|
15
43
|
if (!response.ok) {
|
|
16
|
-
|
|
44
|
+
// Preserve the typed code/status on the throwable so callers can disclose
|
|
45
|
+
// a MACHINE reason (e.g. run_expired_by_retention) rather than only prose.
|
|
46
|
+
throw Object.assign(new Error(typeof body["message"] === "string"
|
|
17
47
|
? body["message"]
|
|
18
48
|
: typeof body["error"] === "string"
|
|
19
49
|
? body["error"]
|
|
20
|
-
: `control API ${path} failed (HTTP ${response.status})`)
|
|
50
|
+
: `control API ${path} failed (HTTP ${response.status})`), {
|
|
51
|
+
status: response.status,
|
|
52
|
+
...(typeof body["code"] === "string" ? { code: body["code"] } : {}),
|
|
53
|
+
});
|
|
21
54
|
}
|
|
22
55
|
return body;
|
|
23
56
|
};
|
|
@@ -55,15 +88,78 @@ export async function acpSessionQuery(p, hooks, bridges) {
|
|
|
55
88
|
if (p.repoPath && session.cwd !== p.repoPath) {
|
|
56
89
|
throw new Error(`ACP session ${sessionId} belongs to a different cwd`);
|
|
57
90
|
}
|
|
58
|
-
if (p.mode === "
|
|
59
|
-
|
|
91
|
+
if (p.mode === "__acp_session_resume") {
|
|
92
|
+
// ACP resume MUST NOT replay conversation history — it is the no-history
|
|
93
|
+
// continuation capability. Return the session shell only; the server emits
|
|
94
|
+
// zero session/update notifications for resume.
|
|
95
|
+
return { ...session };
|
|
96
|
+
}
|
|
97
|
+
if (p.mode === "__acp_session_load") {
|
|
98
|
+
// ACP loadSession MUST replay the ENTIRE conversation before responding
|
|
99
|
+
// (QA-020). Build ordered {prompt, output} entries from the durable turns:
|
|
100
|
+
// the user half is ControlThreadTurn.prompt; the agent half is the Control
|
|
101
|
+
// API's OWN typed primary-output owner (ControlRunDetail.primaryOutput) —
|
|
102
|
+
// the same artifact macOS/run-detail render — never the non-existent
|
|
103
|
+
// `run.result.summary`. A runless (refused/preflight-failed) turn keeps its
|
|
104
|
+
// user prompt and discloses its typed enqueue error so it never vanishes.
|
|
105
|
+
// This per-turn run-detail read happens only on reopen (bounded to the
|
|
106
|
+
// thread's own turns), not on the hot thread-hydration path where INV-136's
|
|
107
|
+
// no-N+1 compact-card contract still holds. The reads are further BOUNDED to
|
|
108
|
+
// the most recent ACP_MAX_REPLAY_TURNS turns (W5): an old thread with
|
|
109
|
+
// thousands of turns must not fan out one detail fetch per turn on reopen. A
|
|
110
|
+
// failed per-turn detail fetch DISCLOSES a typed reason instead of vanishing.
|
|
111
|
+
const rawTurns = Array.isArray(detail["turns"]) ? detail["turns"] : [];
|
|
112
|
+
const { replayTurns, omittedTurnCount } = selectReplayTurns(rawTurns);
|
|
113
|
+
const turns = [];
|
|
114
|
+
// Disclose the cap so the reopened conversation never silently starts
|
|
115
|
+
// mid-stream as if the earlier turns never existed.
|
|
116
|
+
if (omittedTurnCount > 0) {
|
|
117
|
+
turns.push({
|
|
118
|
+
prompt: "",
|
|
119
|
+
output: {
|
|
120
|
+
kind: "diagnostic",
|
|
121
|
+
text: `[replaying the most recent ${ACP_MAX_REPLAY_TURNS} turns; ${omittedTurnCount} earlier turn(s) omitted]`,
|
|
122
|
+
truncated: true,
|
|
123
|
+
},
|
|
124
|
+
});
|
|
125
|
+
}
|
|
126
|
+
for (const turn of replayTurns) {
|
|
60
127
|
const value = turn;
|
|
61
|
-
const
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
128
|
+
const prompt = typeof value["prompt"] === "string" ? value["prompt"] : "";
|
|
129
|
+
const runId = typeof value["runId"] === "string" ? value["runId"] : "";
|
|
130
|
+
let output = null;
|
|
131
|
+
if (runId) {
|
|
132
|
+
try {
|
|
133
|
+
const run = await request(`/runs/${encodeURIComponent(runId)}`);
|
|
134
|
+
const primary = run["primaryOutput"];
|
|
135
|
+
const text = typeof primary?.["text"] === "string" ? primary["text"].trim() : "";
|
|
136
|
+
if (text) {
|
|
137
|
+
output = {
|
|
138
|
+
kind: typeof primary?.["kind"] === "string" ? primary["kind"] : "answer",
|
|
139
|
+
text,
|
|
140
|
+
truncated: primary?.["truncated"] === true,
|
|
141
|
+
};
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
catch (error) {
|
|
145
|
+
// The run detail could not be fetched (e.g. artifacts reclaimed by
|
|
146
|
+
// retention -> typed 410 run_expired_by_retention). Disclose the typed
|
|
147
|
+
// reason; do NOT drop the agent half silently.
|
|
148
|
+
output = {
|
|
149
|
+
kind: "diagnostic",
|
|
150
|
+
text: `[output unavailable: ${typedFetchReason(error)}]`,
|
|
151
|
+
truncated: false,
|
|
152
|
+
};
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
else {
|
|
156
|
+
const enqueueError = value["enqueueError"];
|
|
157
|
+
const message = typeof enqueueError?.["message"] === "string" ? enqueueError["message"].trim() : "";
|
|
158
|
+
if (message)
|
|
159
|
+
output = { kind: "diagnostic", text: message, truncated: false };
|
|
160
|
+
}
|
|
161
|
+
turns.push({ prompt, output });
|
|
162
|
+
}
|
|
67
163
|
return { ...session, turns };
|
|
68
164
|
}
|
|
69
165
|
if (p.mode !== "__acp_session_prompt")
|
|
@@ -129,9 +225,15 @@ export async function acpSessionQuery(p, hooks, bridges) {
|
|
|
129
225
|
}
|
|
130
226
|
}
|
|
131
227
|
function sessionRecord(thread) {
|
|
228
|
+
const repoRoot = typeof thread["repoRoot"] === "string" ? thread["repoRoot"] : "";
|
|
132
229
|
return {
|
|
133
230
|
sessionId: String(thread["id"] ?? ""),
|
|
134
|
-
|
|
231
|
+
// No-project threads persist repoRoot:null. ACP requires an absolute cwd on
|
|
232
|
+
// BOTH list and load (load also equality-checks it), so map a null/empty
|
|
233
|
+
// scope to the canonical no-project synthetic root the daemon already owns
|
|
234
|
+
// and materializes (~/.cache/claudexor/no-project) rather than the invalid
|
|
235
|
+
// empty string no conforming client could ever load back (QA-068).
|
|
236
|
+
cwd: repoRoot || noProjectRepoRoot(),
|
|
135
237
|
title: typeof thread["title"] === "string" ? thread["title"] : null,
|
|
136
238
|
updatedAt: typeof thread["updatedAt"] === "string" ? thread["updatedAt"] : null,
|
|
137
239
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acp-surface-runner.js","sourceRoot":"","sources":["../src/acp-surface-runner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EACL,oBAAoB,EACpB,YAAY,EACZ,qBAAqB,EACrB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,eAAe,EAA0B,MAAM,WAAW,CAAC;AACpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE1D,qEAAqE;AACrE,qEAAqE;AACrE,MAAM,SAAS,GAAwB,mBAAmB,CAAC;AAkB3D,gFAAgF;AAChF,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,CAAM,EACN,KAAwB,EACxB,OAAgB;IAEhB,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,YAAY,EAAE,CAAC;IAC9C,MAAM,OAAO,GAAG,KAAK,EACnB,IAAY,EACZ,OAAoB,EAAE,EACY,EAAE;QACpC,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QACzD,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAA4B,CAAC;QAClF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CACb,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,QAAQ;gBACjC,CAAC,CAAE,IAAI,CAAC,SAAS,CAAY;gBAC7B,CAAC,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,QAAQ;oBACjC,CAAC,CAAE,IAAI,CAAC,OAAO,CAAY;oBAC3B,CAAC,CAAC,eAAe,IAAI,iBAAiB,QAAQ,CAAC,MAAM,GAAG,CAC7D,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IACF,IAAI,CAAC,CAAC,IAAI,KAAK,mBAAmB,EAAE,CAAC;QACnC,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,UAAU,EAAE;YACrC,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,UAAU,EAAE,EAAE;YAChF,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACnB,KAAK,EAAE,aAAa;gBACpB,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,IAAI,EAAE,CAAC,EAAE;gBAC1D,SAAS,EAAE,UAAU;aACtB,CAAC;SACH,CAAC,CAAC;QACH,OAAO,aAAa,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IACD,IAAI,CAAC,CAAC,IAAI,KAAK,oBAAoB,EAAE,CAAC;QACpC,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,CAAC;QACvC,MAAM,QAAQ,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;aACrE,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,aAAa,CAAC,MAAiC,CAAC,CAAC;aACjE,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC;QAClE,OAAO,EAAE,QAAQ,EAAE,CAAC;IACtB,CAAC;IACD,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;IAC5C,IAAI,CAAC,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;IAC9D,IAAI,CAAC,CAAC,IAAI,KAAK,qBAAqB,EAAE,CAAC;QACrC,OAAO,aAAa,CAClB,MAAM,OAAO,CAAC,YAAY,kBAAkB,CAAC,SAAS,CAAC,EAAE,EAAE;YACzD,MAAM,EAAE,OAAO;YACf,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;YAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;SAC1C,CAAC,CACH,CAAC;IACJ,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,YAAY,kBAAkB,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IAC1E,MAAM,OAAO,GAAG,aAAa,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,CAA4B,CAAC,CAAC;IACnF,IAAI,CAAC,CAAC,QAAQ,IAAI,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC;QAC7C,MAAM,IAAI,KAAK,CAAC,eAAe,SAAS,6BAA6B,CAAC,CAAC;IACzE,CAAC;IACD,IAAI,CAAC,CAAC,IAAI,KAAK,oBAAoB,IAAI,CAAC,CAAC,IAAI,KAAK,sBAAsB,EAAE,CAAC;QACzE,MAAM,KAAK,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YACjF,MAAM,KAAK,GAAG,IAA+B,CAAC;YAC9C,MAAM,MAAM,GAAI,KAAK,CAAC,KAAK,CAAoC,EAAE,CAAC,QAAQ,CACrC,CAAC;YACtC,OAAO;gBACL,MAAM,EAAE,OAAO,KAAK,CAAC,QAAQ,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE;gBAClE,OAAO,EAAE,OAAO,MAAM,EAAE,CAAC,SAAS,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI;aAC5E,CAAC;QACJ,CAAC,CAAC,CAAC;QACH,OAAO,EAAE,GAAG,OAAO,EAAE,KAAK,EAAE,CAAC;IAC/B,CAAC;IACD,IAAI,CAAC,CAAC,IAAI,KAAK,sBAAsB;QAAE,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAEvF,MAAM,WAAW,GAAG,MAAM,iBAAiB,CAAC,IAAI,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC;IACjE,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,CACjC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CACtB,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CACR,CAAC,CAAC,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,aAAa,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CACxF,CACF,CAAC;IACF,IAAI,QAAQ,CAAC,SAAS,CAAC,KAAK,SAAS,EAAE,CAAC;QACtC,QAAQ,CAAC,MAAM,CAAC,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC;QACvC,OAAO,QAAQ,CAAC,SAAS,CAAC,CAAC;IAC7B,CAAC;IACD,IAAI,OAAO,QAAQ,CAAC,SAAS,CAAC,KAAK,QAAQ,EAAE,CAAC;QAC5C,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;QAC9C,OAAO,QAAQ,CAAC,SAAS,CAAC,CAAC;IAC7B,CAAC;IACD,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,YAAY,kBAAkB,CAAC,SAAS,CAAC,QAAQ,EAAE;QAC/E,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,UAAU,EAAE,EAAE;QAChF,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;YACnB,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC;YAC9B,GAAG,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAClD,GAAG,QAAQ;SACZ,CAAC;KACH,CAAC,CAAC;IACH,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IACjE,IAAI,KAAK,GAAG,OAAO,OAAO,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACzE,IAAI,MAAM,GAAG,OAAO,OAAO,CAAC,QAAQ,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5E,MAAM,MAAM,GAAG,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACzE,MAAM,YAAY,GAAG,KAAK,EAAE,aAAa;QACvC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,aAAa,CAAC;QACjD,CAAC,CAAC,IAAI,CAAC;IACT,SAAS,CAAC;QACR,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC1C,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,KAAK,CAAC;QAC9B,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC;QACjC,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,MAAM;gBAAE,MAAM,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;YACpC,IAAI,YAAY;gBAAE,MAAM,YAAY,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QAClD,CAAC;QACD,IAAI,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;YAChC,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,mBAAmB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YACrE,MAAM,OAAO,GACX,OAAO,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO;gBACjC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE;gBACrB,CAAC,CAAC,CAAC,oBAAoB,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC;oBAC3E,OAAO,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;YAC7B,wEAAwE;YACxE,0EAA0E;YAC1E,uEAAuE;YACvE,sEAAsE;YACtE,yDAAyD;YACzD,OAAO;gBACL,KAAK;gBACL,MAAM;gBACN,MAAM,EAAE,MAAM,CAAC,KAAK;gBACpB,OAAO;gBACP,gBAAgB,EAAE,KAAK,CAAC,CAAC,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI;gBACzE,aAAa,EAAE,KAAK,CAAC,CAAC,CAAC,MAAM,kBAAkB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI;gBACnE,aAAa,EAAE,KAAK,CAAC,CAAC,CAAC,MAAM,kBAAkB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE;aAClE,CAAC;QACJ,CAAC;QACD,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;IAC3D,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CAAC,MAA+B;IAMpD,OAAO;QACL,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QACrC,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;QACrC,KAAK,EAAE,OAAO,MAAM,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI;QACnE,SAAS,EAAE,OAAO,MAAM,CAAC,WAAW,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI;KAChF,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,iBAAiB,CAC9B,IAAuB,EACvB,KAAc;IAEd,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAC3D,MAAM,IAAI,GAAkC,EAAE,CAAC;IAC/C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ;YAAE,SAAS;QAChD,MAAM,KAAK,GAAG,IAA+B,CAAC;QAC9C,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC;QACjE,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,IAAI,EAAE,UAAU,EAAE;YACrD,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,UAAU,EAAE,EAAE;YAChF,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACnB,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM;gBAClD,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,0BAA0B,CAAC;gBACzD,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,cAAc,CAAC;gBAC7C,SAAS,EAAE,KAAK,CAAC,UAAU;aAC5B,CAAC;SACH,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAA4B,CAAC;QAClF,IAAI,CAAC,MAAM,CAAC,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;QACxF,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;QAClD,MAAM,GAAG,GAAG,MAAM,eAAe,CAAC,IAAI,EAAE,YAAY,kBAAkB,CAAC,QAAQ,CAAC,QAAQ,EAAE;YACxF,MAAM,EAAE,KAAK;YACb,OAAO,EAAE,EAAE,cAAc,EAAE,0BAA0B,EAAE;YACvD,IAAI,EAAE,KAAK;SACZ,CAAC,CAAC;QACH,IAAI,CAAC,GAAG,CAAC,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC;QAClF,MAAM,QAAQ,GAAG,MAAM,eAAe,CACpC,IAAI,EACJ,YAAY,kBAAkB,CAAC,QAAQ,CAAC,WAAW,EACnD;YACE,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,UAAU,EAAE,EAAE;YAChF,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACnB,cAAc,EAAE,UAAU,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;aAC7E,CAAC;SACH,CACF,CAAC;QACF,MAAM,QAAQ,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAA4B,CAAC;QACtF,IAAI,CAAC,QAAQ,CAAC,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,wCAAwC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;QAC9F,IAAI,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;IAClE,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
1
|
+
{"version":3,"file":"acp-surface-runner.js","sourceRoot":"","sources":["../src/acp-surface-runner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EACL,oBAAoB,EACpB,YAAY,EACZ,qBAAqB,EACrB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,eAAe,EAA0B,MAAM,WAAW,CAAC;AACpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE1D,qEAAqE;AACrE,qEAAqE;AACrE,MAAM,SAAS,GAAwB,mBAAmB,CAAC;AAE3D,8EAA8E;AAC9E,4EAA4E;AAC5E,8EAA8E;AAC9E,qDAAqD;AACrD,MAAM,CAAC,MAAM,oBAAoB,GAAG,EAAE,CAAC;AAEvC;;mDAEmD;AACnD,MAAM,UAAU,iBAAiB,CAAI,QAAsB;IAIzD,OAAO;QACL,WAAW,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,oBAAoB,CAAC;QAClD,gBAAgB,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,GAAG,oBAAoB,CAAC;KACtE,CAAC;AACJ,CAAC;AAED;;qEAEqE;AACrE,MAAM,UAAU,gBAAgB,CAAC,KAAc;IAC7C,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACvC,MAAM,CAAC,GAAG,KAA6C,CAAC;QACxD,IAAI,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI;YAAE,OAAO,CAAC,CAAC,IAAI,CAAC;QACxD,IAAI,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ;YAAE,OAAO,QAAQ,CAAC,CAAC,MAAM,EAAE,CAAC;IAC9D,CAAC;IACD,OAAO,oBAAoB,CAAC;AAC9B,CAAC;AAkBD,gFAAgF;AAChF,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,CAAM,EACN,KAAwB,EACxB,OAAgB;IAEhB,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,YAAY,EAAE,CAAC;IAC9C,MAAM,OAAO,GAAG,KAAK,EACnB,IAAY,EACZ,OAAoB,EAAE,EACY,EAAE;QACpC,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QACzD,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAA4B,CAAC;QAClF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,0EAA0E;YAC1E,2EAA2E;YAC3E,MAAM,MAAM,CAAC,MAAM,CACjB,IAAI,KAAK,CACP,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,QAAQ;gBACjC,CAAC,CAAE,IAAI,CAAC,SAAS,CAAY;gBAC7B,CAAC,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,QAAQ;oBACjC,CAAC,CAAE,IAAI,CAAC,OAAO,CAAY;oBAC3B,CAAC,CAAC,eAAe,IAAI,iBAAiB,QAAQ,CAAC,MAAM,GAAG,CAC7D,EACD;gBACE,MAAM,EAAE,QAAQ,CAAC,MAAM;gBACvB,GAAG,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC9E,CACF,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IACF,IAAI,CAAC,CAAC,IAAI,KAAK,mBAAmB,EAAE,CAAC;QACnC,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,UAAU,EAAE;YACrC,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,UAAU,EAAE,EAAE;YAChF,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACnB,KAAK,EAAE,aAAa;gBACpB,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,IAAI,EAAE,CAAC,EAAE;gBAC1D,SAAS,EAAE,UAAU;aACtB,CAAC;SACH,CAAC,CAAC;QACH,OAAO,aAAa,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IACD,IAAI,CAAC,CAAC,IAAI,KAAK,oBAAoB,EAAE,CAAC;QACpC,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,CAAC;QACvC,MAAM,QAAQ,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;aACrE,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,aAAa,CAAC,MAAiC,CAAC,CAAC;aACjE,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC;QAClE,OAAO,EAAE,QAAQ,EAAE,CAAC;IACtB,CAAC;IACD,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;IAC5C,IAAI,CAAC,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;IAC9D,IAAI,CAAC,CAAC,IAAI,KAAK,qBAAqB,EAAE,CAAC;QACrC,OAAO,aAAa,CAClB,MAAM,OAAO,CAAC,YAAY,kBAAkB,CAAC,SAAS,CAAC,EAAE,EAAE;YACzD,MAAM,EAAE,OAAO;YACf,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;YAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;SAC1C,CAAC,CACH,CAAC;IACJ,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,YAAY,kBAAkB,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IAC1E,MAAM,OAAO,GAAG,aAAa,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,CAA4B,CAAC,CAAC;IACnF,IAAI,CAAC,CAAC,QAAQ,IAAI,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC;QAC7C,MAAM,IAAI,KAAK,CAAC,eAAe,SAAS,6BAA6B,CAAC,CAAC;IACzE,CAAC;IACD,IAAI,CAAC,CAAC,IAAI,KAAK,sBAAsB,EAAE,CAAC;QACtC,yEAAyE;QACzE,2EAA2E;QAC3E,gDAAgD;QAChD,OAAO,EAAE,GAAG,OAAO,EAAE,CAAC;IACxB,CAAC;IACD,IAAI,CAAC,CAAC,IAAI,KAAK,oBAAoB,EAAE,CAAC;QACpC,wEAAwE;QACxE,2EAA2E;QAC3E,2EAA2E;QAC3E,0EAA0E;QAC1E,qEAAqE;QACrE,4EAA4E;QAC5E,0EAA0E;QAC1E,uEAAuE;QACvE,4EAA4E;QAC5E,6EAA6E;QAC7E,sEAAsE;QACtE,6EAA6E;QAC7E,8EAA8E;QAC9E,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACvE,MAAM,EAAE,WAAW,EAAE,gBAAgB,EAAE,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QACtE,MAAM,KAAK,GAGN,EAAE,CAAC;QACR,sEAAsE;QACtE,oDAAoD;QACpD,IAAI,gBAAgB,GAAG,CAAC,EAAE,CAAC;YACzB,KAAK,CAAC,IAAI,CAAC;gBACT,MAAM,EAAE,EAAE;gBACV,MAAM,EAAE;oBACN,IAAI,EAAE,YAAY;oBAClB,IAAI,EAAE,8BAA8B,oBAAoB,WAAW,gBAAgB,2BAA2B;oBAC9G,SAAS,EAAE,IAAI;iBAChB;aACF,CAAC,CAAC;QACL,CAAC;QACD,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;YAC/B,MAAM,KAAK,GAAG,IAA+B,CAAC;YAC9C,MAAM,MAAM,GAAG,OAAO,KAAK,CAAC,QAAQ,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1E,MAAM,KAAK,GAAG,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACvE,IAAI,MAAM,GAA8D,IAAI,CAAC;YAC7E,IAAI,KAAK,EAAE,CAAC;gBACV,IAAI,CAAC;oBACH,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,SAAS,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;oBAChE,MAAM,OAAO,GAAG,GAAG,CAAC,eAAe,CAA+C,CAAC;oBACnF,MAAM,IAAI,GAAG,OAAO,OAAO,EAAE,CAAC,MAAM,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACjF,IAAI,IAAI,EAAE,CAAC;wBACT,MAAM,GAAG;4BACP,IAAI,EAAE,OAAO,OAAO,EAAE,CAAC,MAAM,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAE,OAAO,CAAC,MAAM,CAAY,CAAC,CAAC,CAAC,QAAQ;4BACpF,IAAI;4BACJ,SAAS,EAAE,OAAO,EAAE,CAAC,WAAW,CAAC,KAAK,IAAI;yBAC3C,CAAC;oBACJ,CAAC;gBACH,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,mEAAmE;oBACnE,uEAAuE;oBACvE,+CAA+C;oBAC/C,MAAM,GAAG;wBACP,IAAI,EAAE,YAAY;wBAClB,IAAI,EAAE,wBAAwB,gBAAgB,CAAC,KAAK,CAAC,GAAG;wBACxD,SAAS,EAAE,KAAK;qBACjB,CAAC;gBACJ,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,MAAM,YAAY,GAAG,KAAK,CAAC,cAAc,CAA+C,CAAC;gBACzF,MAAM,OAAO,GACX,OAAO,YAAY,EAAE,CAAC,SAAS,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACtF,IAAI,OAAO;oBAAE,MAAM,GAAG,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;YAChF,CAAC;YACD,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QACjC,CAAC;QACD,OAAO,EAAE,GAAG,OAAO,EAAE,KAAK,EAAE,CAAC;IAC/B,CAAC;IACD,IAAI,CAAC,CAAC,IAAI,KAAK,sBAAsB;QAAE,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAEvF,MAAM,WAAW,GAAG,MAAM,iBAAiB,CAAC,IAAI,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC;IACjE,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,CACjC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CACtB,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CACR,CAAC,CAAC,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,aAAa,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CACxF,CACF,CAAC;IACF,IAAI,QAAQ,CAAC,SAAS,CAAC,KAAK,SAAS,EAAE,CAAC;QACtC,QAAQ,CAAC,MAAM,CAAC,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC;QACvC,OAAO,QAAQ,CAAC,SAAS,CAAC,CAAC;IAC7B,CAAC;IACD,IAAI,OAAO,QAAQ,CAAC,SAAS,CAAC,KAAK,QAAQ,EAAE,CAAC;QAC5C,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;QAC9C,OAAO,QAAQ,CAAC,SAAS,CAAC,CAAC;IAC7B,CAAC;IACD,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,YAAY,kBAAkB,CAAC,SAAS,CAAC,QAAQ,EAAE;QAC/E,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,UAAU,EAAE,EAAE;QAChF,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;YACnB,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC;YAC9B,GAAG,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAClD,GAAG,QAAQ;SACZ,CAAC;KACH,CAAC,CAAC;IACH,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IACjE,IAAI,KAAK,GAAG,OAAO,OAAO,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACzE,IAAI,MAAM,GAAG,OAAO,OAAO,CAAC,QAAQ,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5E,MAAM,MAAM,GAAG,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACzE,MAAM,YAAY,GAAG,KAAK,EAAE,aAAa;QACvC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,aAAa,CAAC;QACjD,CAAC,CAAC,IAAI,CAAC;IACT,SAAS,CAAC;QACR,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC1C,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,KAAK,CAAC;QAC9B,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC;QACjC,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,MAAM;gBAAE,MAAM,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;YACpC,IAAI,YAAY;gBAAE,MAAM,YAAY,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QAClD,CAAC;QACD,IAAI,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;YAChC,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,mBAAmB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YACrE,MAAM,OAAO,GACX,OAAO,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO;gBACjC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE;gBACrB,CAAC,CAAC,CAAC,oBAAoB,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC;oBAC3E,OAAO,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;YAC7B,wEAAwE;YACxE,0EAA0E;YAC1E,uEAAuE;YACvE,sEAAsE;YACtE,yDAAyD;YACzD,OAAO;gBACL,KAAK;gBACL,MAAM;gBACN,MAAM,EAAE,MAAM,CAAC,KAAK;gBACpB,OAAO;gBACP,gBAAgB,EAAE,KAAK,CAAC,CAAC,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI;gBACzE,aAAa,EAAE,KAAK,CAAC,CAAC,CAAC,MAAM,kBAAkB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI;gBACnE,aAAa,EAAE,KAAK,CAAC,CAAC,CAAC,MAAM,kBAAkB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE;aAClE,CAAC;QACJ,CAAC;QACD,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;IAC3D,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CAAC,MAA+B;IAMpD,MAAM,QAAQ,GAAG,OAAO,MAAM,CAAC,UAAU,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAClF,OAAO;QACL,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QACrC,4EAA4E;QAC5E,yEAAyE;QACzE,2EAA2E;QAC3E,2EAA2E;QAC3E,mEAAmE;QACnE,GAAG,EAAE,QAAQ,IAAI,iBAAiB,EAAE;QACpC,KAAK,EAAE,OAAO,MAAM,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI;QACnE,SAAS,EAAE,OAAO,MAAM,CAAC,WAAW,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI;KAChF,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,iBAAiB,CAC9B,IAAuB,EACvB,KAAc;IAEd,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAC3D,MAAM,IAAI,GAAkC,EAAE,CAAC;IAC/C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ;YAAE,SAAS;QAChD,MAAM,KAAK,GAAG,IAA+B,CAAC;QAC9C,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC;QACjE,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,IAAI,EAAE,UAAU,EAAE;YACrD,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,UAAU,EAAE,EAAE;YAChF,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACnB,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM;gBAClD,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,0BAA0B,CAAC;gBACzD,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,cAAc,CAAC;gBAC7C,SAAS,EAAE,KAAK,CAAC,UAAU;aAC5B,CAAC;SACH,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAA4B,CAAC;QAClF,IAAI,CAAC,MAAM,CAAC,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;QACxF,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;QAClD,MAAM,GAAG,GAAG,MAAM,eAAe,CAAC,IAAI,EAAE,YAAY,kBAAkB,CAAC,QAAQ,CAAC,QAAQ,EAAE;YACxF,MAAM,EAAE,KAAK;YACb,OAAO,EAAE,EAAE,cAAc,EAAE,0BAA0B,EAAE;YACvD,IAAI,EAAE,KAAK;SACZ,CAAC,CAAC;QACH,IAAI,CAAC,GAAG,CAAC,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC;QAClF,MAAM,QAAQ,GAAG,MAAM,eAAe,CACpC,IAAI,EACJ,YAAY,kBAAkB,CAAC,QAAQ,CAAC,WAAW,EACnD;YACE,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,UAAU,EAAE,EAAE;YAChF,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACnB,cAAc,EAAE,UAAU,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;aAC7E,CAAC;SACH,CACF,CAAC;QACF,MAAM,QAAQ,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAA4B,CAAC;QACtF,IAAI,CAAC,QAAQ,CAAC,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,wCAAwC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;QAC9F,IAAI,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;IAClE,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"capabilities.d.ts","sourceRoot":"","sources":["../src/capabilities.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,sBAAsB,
|
|
1
|
+
{"version":3,"file":"capabilities.d.ts","sourceRoot":"","sources":["../src/capabilities.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,sBAAsB,EAUvB,MAAM,mBAAmB,CAAC;AAQ3B,8EAA8E;AAC9E,wBAAgB,YAAY,IAAI,SAAS,MAAM,EAAE,CAEhD;AAKD;;;;;;;GAOG;AACH,wBAAsB,2BAA2B,IAAI,OAAO,CAAC,sBAAsB,CAAC,CA0FnF"}
|
package/dist/capabilities.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { AccessProfile, AgentCapabilityCatalog, ControlRunStartRequest, MODE_MUTABILITY, ModeKind, RUN_START_CLIENT_REJECTED_KEYS, RunApplyState, WorkspaceMode, } from "@claudexor/schema";
|
|
1
|
+
import { AccessProfile, AgentCapabilityCatalog, ControlRunStartRequest, MODE_MUTABILITY, ModeKind, OUTPUT_SCHEMA_DIALECTS, RUN_START_CLIENT_REJECTED_KEYS, RunApplyState, WorkspaceMode, } from "@claudexor/schema";
|
|
2
2
|
import { loadConfig } from "@claudexor/config";
|
|
3
3
|
import { validateModel } from "@claudexor/core";
|
|
4
4
|
import { defaultClaudexorTools } from "@claudexor/mcp-server";
|
|
@@ -78,6 +78,7 @@ export async function buildAgentCapabilityCatalog() {
|
|
|
78
78
|
availableHarnesses: harnesses.filter((h) => h.status === "ok" && h.enabled).map((h) => h.id),
|
|
79
79
|
modes: [...ModeKind.options],
|
|
80
80
|
runControlKeys,
|
|
81
|
+
outputSchemaDialects: OUTPUT_SCHEMA_DIALECTS.map((dialect) => ({ ...dialect })),
|
|
81
82
|
mutability: {
|
|
82
83
|
readOnlyModes: ModeKind.options.filter((m) => MODE_MUTABILITY[m] === "read"),
|
|
83
84
|
writeModes: ModeKind.options.filter((m) => MODE_MUTABILITY[m] === "write"),
|
package/dist/capabilities.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"capabilities.js","sourceRoot":"","sources":["../src/capabilities.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"capabilities.js","sourceRoot":"","sources":["../src/capabilities.ts"],"names":[],"mappings":"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"}
|
package/dist/claudexord.d.ts
CHANGED
|
@@ -6,4 +6,25 @@ import { type QuotaSubject } from "@claudexor/schema";
|
|
|
6
6
|
* surfaces a typed "no_source" absence instead of vanishing. Pure derivation
|
|
7
7
|
* of the current config — recomputed every refresh cycle. */
|
|
8
8
|
export declare function quotaSubjectUniverse(): QuotaSubject[];
|
|
9
|
+
/** Handle `claudexord --probe`: print the engine build identity as ONE JSON line
|
|
10
|
+
* ({version, buildSha}) and exit WITHOUT any durable startup — no writer lease,
|
|
11
|
+
* no socket bind, no journal open, no runtime root. This is the pre-swap
|
|
12
|
+
* handshake the macOS installer's RuntimeInstallCoordinator.probeVersion runs
|
|
13
|
+
* against a freshly-unpacked closure with the app-bundled Node (D-2). Returns
|
|
14
|
+
* true when the probe handled the invocation. */
|
|
15
|
+
export declare function runProbeIfRequested(argv: readonly string[]): boolean;
|
|
16
|
+
/** Handle `claudexord --stop`: the IDENTITY-PROVEN shutdown the macOS installer
|
|
17
|
+
* runs before an atomic pointer swap. It reuses the exact machinery the CLI's
|
|
18
|
+
* `claudexor daemon stop` uses — the socket `claudexor.shutdown` RPC plus
|
|
19
|
+
* `awaitDaemonTermination` (which proves the specific daemon PROCESS died, never
|
|
20
|
+
* a raw kill) — so the app can drive it as a subprocess with the app-bundled
|
|
21
|
+
* Node. Prints ONE JSON line and exits 0 when stopped (or already stopped),
|
|
22
|
+
* nonzero when a live daemon could not be confirmed dead. */
|
|
23
|
+
export declare function runStopIfRequested(argv: readonly string[]): Promise<boolean>;
|
|
24
|
+
export declare function main(): Promise<void>;
|
|
25
|
+
/** Boot the daemon and translate a fatal error into a nonzero exit. The npm
|
|
26
|
+
* bin wrapper (packages/claudexor/bin/claudexord.js) calls this EXPLICITLY —
|
|
27
|
+
* a bare import must never boot the daemon (X228: the probe test's import
|
|
28
|
+
* would race the LIVE daemon for the journal writer lease). */
|
|
29
|
+
export declare function runClaudexordEntry(): void;
|
|
9
30
|
//# sourceMappingURL=claudexord.d.ts.map
|
package/dist/claudexord.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claudexord.d.ts","sourceRoot":"","sources":["../src/claudexord.ts"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"claudexord.d.ts","sourceRoot":"","sources":["../src/claudexord.ts"],"names":[],"mappings":";AAuCA,OAAO,EAAE,KAAK,YAAY,EAA8B,MAAM,mBAAmB,CAAC;AAclF;;;;6DAI6D;AAC7D,wBAAgB,oBAAoB,IAAI,YAAY,EAAE,CAsBrD;AAED;;;;;iDAKiD;AACjD,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAKpE;AAED;;;;;;6DAM6D;AAC7D,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAsBlF;AAED,wBAAsB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAuf1C;AAED;;;+DAG+D;AAC/D,wBAAgB,kBAAkB,IAAI,IAAI,CAKzC"}
|
package/dist/claudexord.js
CHANGED
|
@@ -1,14 +1,16 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { appendFileSync, mkdirSync, writeFileSync } from "node:fs";
|
|
3
3
|
import { join } from "node:path";
|
|
4
|
-
import {
|
|
4
|
+
import { pathToFileURL } from "node:url";
|
|
5
|
+
import { DaemonClient, awaitDaemonTermination, readToken, commandProjection, interactionProjection, operatorDecisionProjection, runEventProjection, JournalManager, DaemonServer, InteractionRegistry, ProjectPartitions, projectProjection, RunEventBus, ResourceStore, quotaProjection, threadHeadPingProjection, threadProjection, daemonDir, defaultSocketPath, acquireDaemonWriterLease, ensureToken, ensureDaemonRuntimeRoot, logPath, socketAlive, } from "@claudexor/daemon";
|
|
5
6
|
import { DaemonControlApiServer, normalizeRunStartRequest } from "@claudexor/control-api";
|
|
6
7
|
import { armDaemonLifecycle, logLine, runStartupCrashGc } from "./daemon-lifecycle.js";
|
|
8
|
+
import { assertPlanImplementReady } from "./plan-implement-readiness.js";
|
|
7
9
|
import { Orchestrator } from "@claudexor/orchestrator";
|
|
8
10
|
import { buildDelegationBeltDescriptor } from "./delegation-belt-descriptor.js";
|
|
9
11
|
import { loadConfig, sweepRetiredConfigKeysAtStartup } from "@claudexor/config";
|
|
10
12
|
import { ensureThreadWorktree } from "@claudexor/workspace";
|
|
11
|
-
import { noProjectRepoRoot, redactSecrets } from "@claudexor/util";
|
|
13
|
+
import { engineBuildIdentity, noProjectRepoRoot, redactSecrets } from "@claudexor/util";
|
|
12
14
|
import { scheduleStartupRetention } from "./retention-service.js";
|
|
13
15
|
import { controlServices } from "./control-services.js";
|
|
14
16
|
import { AuthReadinessService } from "@claudexor/gateway";
|
|
@@ -51,7 +53,59 @@ export function quotaSubjectUniverse() {
|
|
|
51
53
|
}
|
|
52
54
|
return subjects;
|
|
53
55
|
}
|
|
54
|
-
|
|
56
|
+
/** Handle `claudexord --probe`: print the engine build identity as ONE JSON line
|
|
57
|
+
* ({version, buildSha}) and exit WITHOUT any durable startup — no writer lease,
|
|
58
|
+
* no socket bind, no journal open, no runtime root. This is the pre-swap
|
|
59
|
+
* handshake the macOS installer's RuntimeInstallCoordinator.probeVersion runs
|
|
60
|
+
* against a freshly-unpacked closure with the app-bundled Node (D-2). Returns
|
|
61
|
+
* true when the probe handled the invocation. */
|
|
62
|
+
export function runProbeIfRequested(argv) {
|
|
63
|
+
if (!argv.includes("--probe"))
|
|
64
|
+
return false;
|
|
65
|
+
const id = engineBuildIdentity();
|
|
66
|
+
process.stdout.write(`${JSON.stringify({ version: id.version, buildSha: id.sha })}\n`);
|
|
67
|
+
return true;
|
|
68
|
+
}
|
|
69
|
+
/** Handle `claudexord --stop`: the IDENTITY-PROVEN shutdown the macOS installer
|
|
70
|
+
* runs before an atomic pointer swap. It reuses the exact machinery the CLI's
|
|
71
|
+
* `claudexor daemon stop` uses — the socket `claudexor.shutdown` RPC plus
|
|
72
|
+
* `awaitDaemonTermination` (which proves the specific daemon PROCESS died, never
|
|
73
|
+
* a raw kill) — so the app can drive it as a subprocess with the app-bundled
|
|
74
|
+
* Node. Prints ONE JSON line and exits 0 when stopped (or already stopped),
|
|
75
|
+
* nonzero when a live daemon could not be confirmed dead. */
|
|
76
|
+
export async function runStopIfRequested(argv) {
|
|
77
|
+
if (!argv.includes("--stop"))
|
|
78
|
+
return false;
|
|
79
|
+
const socketPath = defaultSocketPath();
|
|
80
|
+
const token = readToken();
|
|
81
|
+
// No token or no live socket → nothing to stop; a vacuous success.
|
|
82
|
+
if (!token || !(await socketAlive(socketPath))) {
|
|
83
|
+
process.stdout.write(`${JSON.stringify({ stopped: true, alreadyStopped: true })}\n`);
|
|
84
|
+
return true;
|
|
85
|
+
}
|
|
86
|
+
try {
|
|
87
|
+
await new DaemonClient(socketPath, token).shutdown();
|
|
88
|
+
}
|
|
89
|
+
catch {
|
|
90
|
+
// The shutdown RPC often drops the connection as the daemon exits — the
|
|
91
|
+
// authoritative signal is the termination confirmation below, not this call.
|
|
92
|
+
}
|
|
93
|
+
const termination = await awaitDaemonTermination(socketPath);
|
|
94
|
+
const stopped = termination.outcome !== "still_alive";
|
|
95
|
+
process.stdout.write(`${JSON.stringify({ stopped, outcome: termination.outcome, detail: termination.detail })}\n`);
|
|
96
|
+
if (!stopped)
|
|
97
|
+
process.exitCode = 1;
|
|
98
|
+
return true;
|
|
99
|
+
}
|
|
100
|
+
export async function main() {
|
|
101
|
+
// The probe MUST run before any durable startup so it never binds a socket or
|
|
102
|
+
// opens the journal (probing a candidate closure must be side-effect-free).
|
|
103
|
+
if (runProbeIfRequested(process.argv.slice(2)))
|
|
104
|
+
return;
|
|
105
|
+
// The identity-proven stop reuses the socket-shutdown machinery; it likewise
|
|
106
|
+
// starts nothing durable.
|
|
107
|
+
if (await runStopIfRequested(process.argv.slice(2)))
|
|
108
|
+
return;
|
|
55
109
|
ensureDaemonRuntimeRoot();
|
|
56
110
|
const socketPath = defaultSocketPath();
|
|
57
111
|
const writerLease = acquireDaemonWriterLease(socketPath);
|
|
@@ -130,7 +184,7 @@ async function main() {
|
|
|
130
184
|
if (threadId)
|
|
131
185
|
threads.pingThreadHead(threadId);
|
|
132
186
|
},
|
|
133
|
-
onTurnEnqueueFailed: (turnId, error, code) => threads.setTurnEnqueueError(turnId, error, code),
|
|
187
|
+
onTurnEnqueueFailed: (turnId, error, code, retryable) => threads.setTurnEnqueueError(turnId, error, code, retryable),
|
|
134
188
|
onShutdownRequested: () => shutdownRuntime?.beginShutdown("socket-rpc stop") ??
|
|
135
189
|
Promise.reject(new Error("daemon shutdown coordinator is not initialized")),
|
|
136
190
|
runner: async (params, ctx) => {
|
|
@@ -152,6 +206,20 @@ async function main() {
|
|
|
152
206
|
: undefined,
|
|
153
207
|
});
|
|
154
208
|
const { threadId, turnId } = threads.assertKnownIds(p.threadId, p.turnId);
|
|
209
|
+
// Plan readiness gate (QA-045 / D17): refuse an Implement whose frozen
|
|
210
|
+
// plan still has open questions BEFORE any worktree, spawn, or spend —
|
|
211
|
+
// so the refusal is a durable, replayable refused turn (the daemon
|
|
212
|
+
// records enqueue_error=plan_not_ready on the turn; retry replays
|
|
213
|
+
// through this fresh preflight). Skipped when the operator explicitly
|
|
214
|
+
// overrode readiness (recorded on the turn at create time). The gate
|
|
215
|
+
// lives at run-start, not in the control API, so retry re-runs it.
|
|
216
|
+
if (p.planRef && typeof p.planRef === "object") {
|
|
217
|
+
const overridden = turnId != null && threads.getTurn(turnId)?.plan_readiness_overridden === true;
|
|
218
|
+
if (!overridden) {
|
|
219
|
+
const planRef = p.planRef;
|
|
220
|
+
assertPlanImplementReady(planRef.runId, planRef.path);
|
|
221
|
+
}
|
|
222
|
+
}
|
|
155
223
|
let executionRoot;
|
|
156
224
|
let inPlace = p.execution.isolation === "live";
|
|
157
225
|
if (threadId && repoRoot !== NO_PROJECT_ROOT) {
|
|
@@ -331,6 +399,7 @@ async function main() {
|
|
|
331
399
|
model: p.model,
|
|
332
400
|
models: p.models,
|
|
333
401
|
effort: p.effort,
|
|
402
|
+
efforts: p.efforts,
|
|
334
403
|
tests: Array.isArray(p.tests) ? p.tests : undefined,
|
|
335
404
|
protectedPathApprovals: Array.isArray(p.protectedPathApprovals)
|
|
336
405
|
? p.protectedPathApprovals
|
|
@@ -462,8 +531,27 @@ async function main() {
|
|
|
462
531
|
writerLease.release();
|
|
463
532
|
}
|
|
464
533
|
}
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
534
|
+
/** Boot the daemon and translate a fatal error into a nonzero exit. The npm
|
|
535
|
+
* bin wrapper (packages/claudexor/bin/claudexord.js) calls this EXPLICITLY —
|
|
536
|
+
* a bare import must never boot the daemon (X228: the probe test's import
|
|
537
|
+
* would race the LIVE daemon for the journal writer lease). */
|
|
538
|
+
export function runClaudexordEntry() {
|
|
539
|
+
main().catch((err) => {
|
|
540
|
+
process.stderr.write(`claudexord: ${err instanceof Error ? err.message : String(err)}\n`);
|
|
541
|
+
process.exitCode = 1;
|
|
542
|
+
});
|
|
543
|
+
}
|
|
544
|
+
// Direct execution (node dist/claudexord.js) boots via the entry guard;
|
|
545
|
+
// imports (tests, the bin wrapper) get NO side effect and call
|
|
546
|
+
// runClaudexordEntry() themselves.
|
|
547
|
+
const invokedAsEntry = (() => {
|
|
548
|
+
try {
|
|
549
|
+
return (typeof process.argv[1] === "string" && import.meta.url === pathToFileURL(process.argv[1]).href);
|
|
550
|
+
}
|
|
551
|
+
catch {
|
|
552
|
+
return false;
|
|
553
|
+
}
|
|
554
|
+
})();
|
|
555
|
+
if (invokedAsEntry)
|
|
556
|
+
runClaudexordEntry();
|
|
469
557
|
//# sourceMappingURL=claudexord.js.map
|