@claudexor/cli 3.3.12 → 3.3.14
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/accounts-projection.d.ts +12 -0
- package/dist/accounts-projection.d.ts.map +1 -1
- package/dist/accounts-projection.js +38 -5
- package/dist/accounts-projection.js.map +1 -1
- package/dist/accounts-services.d.ts +7 -46
- package/dist/accounts-services.d.ts.map +1 -1
- package/dist/accounts-services.js +15 -12
- package/dist/accounts-services.js.map +1 -1
- package/dist/claudexord.d.ts.map +1 -1
- package/dist/claudexord.js +2 -4
- package/dist/claudexord.js.map +1 -1
- package/dist/control-services.d.ts +7 -47
- package/dist/control-services.d.ts.map +1 -1
- package/dist/control-services.js +1 -0
- package/dist/control-services.js.map +1 -1
- package/dist/daemon-run.d.ts +4 -76
- package/dist/daemon-run.d.ts.map +1 -1
- package/dist/daemon-run.js +20 -163
- package/dist/daemon-run.js.map +1 -1
- package/dist/ops-commands.d.ts.map +1 -1
- package/dist/ops-commands.js +18 -2
- package/dist/ops-commands.js.map +1 -1
- package/dist/quota-refreshers.d.ts +23 -0
- package/dist/quota-refreshers.d.ts.map +1 -0
- package/dist/quota-refreshers.js +15 -0
- package/dist/quota-refreshers.js.map +1 -0
- package/dist/quota-services.d.ts +2 -2
- package/dist/quota-services.d.ts.map +1 -1
- package/dist/quota-services.js +2 -2
- package/dist/quota-services.js.map +1 -1
- package/dist/quota-subject-universe.d.ts +5 -4
- package/dist/quota-subject-universe.d.ts.map +1 -1
- package/dist/quota-subject-universe.js +19 -11
- package/dist/quota-subject-universe.js.map +1 -1
- package/dist/retention-service.d.ts.map +1 -1
- package/dist/retention-service.js +17 -2
- package/dist/retention-service.js.map +1 -1
- package/dist/run-detail-fetch.d.ts +77 -0
- package/dist/run-detail-fetch.d.ts.map +1 -0
- package/dist/run-detail-fetch.js +159 -0
- package/dist/run-detail-fetch.js.map +1 -0
- package/package.json +23 -23
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"quota-services.js","sourceRoot":"","sources":["../src/quota-services.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,0BAA0B,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAEtF;;;;
|
|
1
|
+
{"version":3,"file":"quota-services.js","sourceRoot":"","sources":["../src/quota-services.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,0BAA0B,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAEtF;;;;4EAI4E;AAC5E,MAAM,UAAU,oBAAoB,CAAC,aAAkC;IACrE,OAAO;QACL,KAAK,EAAE,KAAK,IAAI,EAAE,CAAC,qBAAqB,CAAC,aAAa,EAAE,CAAC,IAAI,EAAE,CAAC;QAChE,YAAY,EAAE,KAAK,EAAE,KAAe,EAAE,EAAE;YACtC,MAAM,OAAO,GAAG,0BAA0B,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;YAC9D,OAAO,qBAAqB,CAAC,MAAM,aAAa,EAAE,CAAC,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;QAC1F,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import type
|
|
2
|
-
/** The
|
|
3
|
-
* plus every enabled config-directory profile.
|
|
4
|
-
*
|
|
1
|
+
import { type QuotaSubject } from "@claudexor/schema";
|
|
2
|
+
/** The refresh-demand universe for every enabled primary-capable harness:
|
|
3
|
+
* its enabled native credential plus every enabled config-directory profile.
|
|
4
|
+
* Source traits own the harness list, so adding a primary quota source cannot
|
|
5
|
+
* silently miss this subject projection. */
|
|
5
6
|
export declare function quotaSubjectUniverseFromConfig(): QuotaSubject[];
|
|
6
7
|
//# sourceMappingURL=quota-subject-universe.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"quota-subject-universe.d.ts","sourceRoot":"","sources":["../src/quota-subject-universe.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"quota-subject-universe.d.ts","sourceRoot":"","sources":["../src/quota-subject-universe.ts"],"names":[],"mappings":"AACA,OAAO,EAA+B,KAAK,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAGnF;;;4CAG4C;AAC5C,wBAAgB,8BAA8B,IAAI,YAAY,EAAE,CA2B/D"}
|
|
@@ -1,18 +1,26 @@
|
|
|
1
1
|
import { loadConfig } from "@claudexor/config";
|
|
2
|
+
import { quotaRefreshDemandHarnesses } from "@claudexor/schema";
|
|
2
3
|
import { noProjectRepoRoot } from "@claudexor/util";
|
|
3
|
-
/** The
|
|
4
|
-
* plus every enabled config-directory profile.
|
|
5
|
-
*
|
|
4
|
+
/** The refresh-demand universe for every enabled primary-capable harness:
|
|
5
|
+
* its enabled native credential plus every enabled config-directory profile.
|
|
6
|
+
* Source traits own the harness list, so adding a primary quota source cannot
|
|
7
|
+
* silently miss this subject projection. */
|
|
6
8
|
export function quotaSubjectUniverseFromConfig() {
|
|
7
|
-
const
|
|
9
|
+
const global = loadConfig(noProjectRepoRoot()).global;
|
|
10
|
+
const profiles = global.credential_profiles;
|
|
8
11
|
const subjects = [];
|
|
9
|
-
for (const harness of
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
12
|
+
for (const harness of quotaRefreshDemandHarnesses()) {
|
|
13
|
+
const settings = global.harnesses[harness];
|
|
14
|
+
if (settings?.enabled === false)
|
|
15
|
+
continue;
|
|
16
|
+
if (settings?.native_credentials_enabled !== false) {
|
|
17
|
+
subjects.push({
|
|
18
|
+
harness,
|
|
19
|
+
credential_route: "vendor_native",
|
|
20
|
+
plan_label: null,
|
|
21
|
+
subject_id: null,
|
|
22
|
+
});
|
|
23
|
+
}
|
|
16
24
|
for (const profile of profiles) {
|
|
17
25
|
if (profile.harness_id !== harness || !profile.enabled)
|
|
18
26
|
continue;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"quota-subject-universe.js","sourceRoot":"","sources":["../src/quota-subject-universe.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"quota-subject-universe.js","sourceRoot":"","sources":["../src/quota-subject-universe.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,2BAA2B,EAAqB,MAAM,mBAAmB,CAAC;AACnF,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEpD;;;4CAG4C;AAC5C,MAAM,UAAU,8BAA8B;IAC5C,MAAM,MAAM,GAAG,UAAU,CAAC,iBAAiB,EAAE,CAAC,CAAC,MAAM,CAAC;IACtD,MAAM,QAAQ,GAAG,MAAM,CAAC,mBAAmB,CAAC;IAC5C,MAAM,QAAQ,GAAmB,EAAE,CAAC;IACpC,KAAK,MAAM,OAAO,IAAI,2BAA2B,EAAE,EAAE,CAAC;QACpD,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAC3C,IAAI,QAAQ,EAAE,OAAO,KAAK,KAAK;YAAE,SAAS;QAC1C,IAAI,QAAQ,EAAE,0BAA0B,KAAK,KAAK,EAAE,CAAC;YACnD,QAAQ,CAAC,IAAI,CAAC;gBACZ,OAAO;gBACP,gBAAgB,EAAE,eAAe;gBACjC,UAAU,EAAE,IAAI;gBAChB,UAAU,EAAE,IAAI;aACjB,CAAC,CAAC;QACL,CAAC;QACD,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,IAAI,OAAO,CAAC,UAAU,KAAK,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO;gBAAE,SAAS;YACjE,IAAI,OAAO,CAAC,eAAe,KAAK,kBAAkB;gBAAE,SAAS;YAC7D,QAAQ,CAAC,IAAI,CAAC;gBACZ,OAAO;gBACP,gBAAgB,EAAE,eAAe;gBACjC,UAAU,EAAE,IAAI;gBAChB,UAAU,EAAE,OAAO,CAAC,UAAU;aAC/B,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"retention-service.d.ts","sourceRoot":"","sources":["../src/retention-service.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACzE,OAAO,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAQ5E,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,MAAM,YAAY,CAAC;IAC7B,OAAO,EAAE,iBAAiB,CAAC;IAC3B,UAAU,EAAE,MAAM,OAAO,CAAC,KAAK,CAAC;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,CAAC;CAC1F;AAED,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,EAAE,gBAAgB,KAAK,OAAO,CAAC,gBAAgB,CAAC,CAAC;AAEvF,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,mBAAmB,GAAG,eAAe,
|
|
1
|
+
{"version":3,"file":"retention-service.d.ts","sourceRoot":"","sources":["../src/retention-service.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACzE,OAAO,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAQ5E,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,MAAM,YAAY,CAAC;IAC7B,OAAO,EAAE,iBAAiB,CAAC;IAC3B,UAAU,EAAE,MAAM,OAAO,CAAC,KAAK,CAAC;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,CAAC;CAC1F;AAED,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,EAAE,gBAAgB,KAAK,OAAO,CAAC,gBAAgB,CAAC,CAAC;AAEvF,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,mBAAmB,GAAG,eAAe,CAqHhF;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,eAAe,EACvB,IAAI,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GACvE,IAAI,CAkBN"}
|
|
@@ -9,7 +9,7 @@ import { join } from "node:path";
|
|
|
9
9
|
import { ArtifactStore } from "@claudexor/artifact-store";
|
|
10
10
|
import { runRetentionPass } from "@claudexor/control-api";
|
|
11
11
|
import { loadConfig } from "@claudexor/config";
|
|
12
|
-
import { noProjectRepoRoot } from "@claudexor/util";
|
|
12
|
+
import { claudexorOwnedRoot, noProjectRepoRoot, userConfigDir } from "@claudexor/util";
|
|
13
13
|
import { sweepOrphanLanes } from "@claudexor/workspace";
|
|
14
14
|
import { logLine } from "./daemon-lifecycle.js";
|
|
15
15
|
export function createRetentionRunner(deps) {
|
|
@@ -98,7 +98,22 @@ export function createRetentionRunner(deps) {
|
|
|
98
98
|
runsMaxAgeDays: retention.runs_max_age_days,
|
|
99
99
|
reviewsMaxAgeDays: retention.reviews_max_age_days,
|
|
100
100
|
keepLastRunsPerProject: retention.keep_last_runs_per_project,
|
|
101
|
-
}, request, {
|
|
101
|
+
}, request, {
|
|
102
|
+
projects: () => gcProjects,
|
|
103
|
+
records: () => records,
|
|
104
|
+
referencedRunIds,
|
|
105
|
+
// Advisory data-root disclosure: the ONE owned-root derivation
|
|
106
|
+
// (claudexorOwnedRoot covers both the default ~/.claudexor tree and
|
|
107
|
+
// an explicit CLAUDEXOR_CONFIG_DIR override) is injected here so the
|
|
108
|
+
// pass itself never reaches for globals. The mode rides along:
|
|
109
|
+
// claudexorOwnedRoot() collapses onto userConfigDir() exactly when a
|
|
110
|
+
// CLAUDEXOR_CONFIG_DIR override is active (in the default mode the
|
|
111
|
+
// owned root is ~/.claudexor while the config dir is its v3 subtree),
|
|
112
|
+
// and the override root owns secrets.json/plugins/quota/workspaces at
|
|
113
|
+
// its top level where the default root does not.
|
|
114
|
+
dataRoot: claudexorOwnedRoot(),
|
|
115
|
+
dataRootMode: claudexorOwnedRoot() === userConfigDir() ? "override" : "default",
|
|
116
|
+
});
|
|
102
117
|
};
|
|
103
118
|
return (request) => {
|
|
104
119
|
const chained = (inFlight ?? Promise.resolve()).then(() => runOnce(request), () => runOnce(request));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"retention-service.js","sourceRoot":"","sources":["../src/retention-service.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAGjC,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAyB,MAAM,wBAAwB,CAAC;AACjF,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"retention-service.js","sourceRoot":"","sources":["../src/retention-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { type ControlApiAddress } from "./live.js";
|
|
2
|
+
import { type RunOutcomeFacts } from "@claudexor/schema";
|
|
3
|
+
import { type ApplyEligibilityProjection } from "./run-detail-projections.js";
|
|
4
|
+
/** Daemon job state (= run lifecycle, D8) -> CLI exit code via the ONE
|
|
5
|
+
* projection owner: a succeeded lifecycle is 0 (a "Done · needs review" run
|
|
6
|
+
* included); everything else is 1. When the run's terminal outcome `facts` are
|
|
7
|
+
* available, the D-16 outcome-aware projection is used instead so a
|
|
8
|
+
* needs_input/incomplete work_state exits non-zero on a succeeded lifecycle. */
|
|
9
|
+
export declare function exitCodeForState(state: string, facts?: RunOutcomeFacts | null): number;
|
|
10
|
+
/** Server-derived plan readiness projection (mode=plan runs). */
|
|
11
|
+
export declare function fetchPlanReadiness(addr: ControlApiAddress, runId: string): Promise<{
|
|
12
|
+
state: string;
|
|
13
|
+
questionCount: number;
|
|
14
|
+
} | null>;
|
|
15
|
+
/** The plan run's open questions (D17), projected from GET /runs/:id — the
|
|
16
|
+
* SAME server artifact readiness derives from, never a client re-parse. Empty
|
|
17
|
+
* for ready/unverified plans and every non-plan run. */
|
|
18
|
+
export declare function fetchPlanQuestions(addr: ControlApiAddress, runId: string): Promise<import("@claudexor/schema").PlanQuestion[]>;
|
|
19
|
+
/** Council membership + merge disclosure (INV-031) for a --council plan run;
|
|
20
|
+
* null for solo plans and non-plan runs. Server-projected — the CLI never
|
|
21
|
+
* re-derives membership. */
|
|
22
|
+
export declare function fetchCouncil(addr: ControlApiAddress, runId: string): Promise<{
|
|
23
|
+
requested: number;
|
|
24
|
+
drafted: number;
|
|
25
|
+
degraded: boolean;
|
|
26
|
+
mergedBy: string | null;
|
|
27
|
+
members: {
|
|
28
|
+
harnessId: string;
|
|
29
|
+
role: string;
|
|
30
|
+
status: string;
|
|
31
|
+
error: string | null;
|
|
32
|
+
}[];
|
|
33
|
+
} | null>;
|
|
34
|
+
/**
|
|
35
|
+
* ONE GET /runs/:id for the terminal path (INV-120/122): fetch the run detail
|
|
36
|
+
* once and feed every pure projection below. Three-state semantics:
|
|
37
|
+
* a MISSING detail (404 / legacy run) and a transport-UNAVAILABLE detail both
|
|
38
|
+
* soft-fail to null (a hiccup must never eat a finished run's result), while a
|
|
39
|
+
* typed problem response — especially 500 run_facts_invalid, the server's
|
|
40
|
+
* verdict that the run's canonical receipt cannot be trusted — raises through
|
|
41
|
+
* the typed CLI failure path (controlProblemError -> renderCliFailure,
|
|
42
|
+
* non-zero exit) instead of masquerading as a legacy run. The per-projection
|
|
43
|
+
* `fetch*` wrappers stay for callers that need exactly one projection.
|
|
44
|
+
*/
|
|
45
|
+
export declare function fetchRunDetail(addr: ControlApiAddress, runId: string): Promise<Record<string, unknown> | null>;
|
|
46
|
+
export declare function fetchApplyEligibility(addr: ControlApiAddress, runId: string): Promise<ApplyEligibilityProjection | null>;
|
|
47
|
+
/**
|
|
48
|
+
* The run's terminal outcome facts through fetchRunDetail's THREE-state
|
|
49
|
+
* semantics (INV-120/122): missing/legacy detail and transport loss project
|
|
50
|
+
* null (the lifecycle-only exit stands), while a typed problem response — the
|
|
51
|
+
* server's verdict that the terminal cannot be trusted (500 run_facts_invalid)
|
|
52
|
+
* — raises into the CLI failure path instead of silently exiting as if the
|
|
53
|
+
* facts never existed. Makes the direct-run CLI exit outcome-aware for a
|
|
54
|
+
* work_state veto (callers that need only this one projection).
|
|
55
|
+
*/
|
|
56
|
+
export declare function fetchRunOutcomeFacts(addr: ControlApiAddress, runId: string): Promise<RunOutcomeFacts | null>;
|
|
57
|
+
/**
|
|
58
|
+
* The server-owned outcome banner for a run (D18): the single honest headline,
|
|
59
|
+
* derived by the control-plane projection owner. The CLI PRINTS it verbatim —
|
|
60
|
+
* it never re-derives a headline of its own, so model prose can never outrank
|
|
61
|
+
* the arbitrated truth. Null while the run is not terminal or unavailable.
|
|
62
|
+
*/
|
|
63
|
+
export declare function fetchOutcomeBanner(addr: ControlApiAddress, runId: string): Promise<string | null>;
|
|
64
|
+
/**
|
|
65
|
+
* Machine-readable reason for a non-clean DAEMON terminal (P2, D8). A
|
|
66
|
+
* needs-decision run (review blocked / checks failed) has a SUCCEEDED lifecycle
|
|
67
|
+
* and no `error`, so key the actionable decision hint on the run FACTS, not on
|
|
68
|
+
* the lifecycle; other non-succeeded lifecycles use the error or a reason
|
|
69
|
+
* label. A clean succeeded run returns undefined (no `summary` key emitted).
|
|
70
|
+
*/
|
|
71
|
+
export declare function daemonOutcomeSummary(out: {
|
|
72
|
+
runId: string;
|
|
73
|
+
status: string;
|
|
74
|
+
error?: string;
|
|
75
|
+
outcomeFacts?: RunOutcomeFacts | null;
|
|
76
|
+
}): string | undefined;
|
|
77
|
+
//# sourceMappingURL=run-detail-fetch.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run-detail-fetch.d.ts","sourceRoot":"","sources":["../src/run-detail-fetch.ts"],"names":[],"mappings":"AAOA,OAAO,EAAgD,KAAK,iBAAiB,EAAE,MAAM,WAAW,CAAC;AACjG,OAAO,EAAE,KAAK,eAAe,EAAmB,MAAM,mBAAmB,CAAC;AAC1E,OAAO,EAGL,KAAK,0BAA0B,EAChC,MAAM,6BAA6B,CAAC;AAIrC;;;;gFAIgF;AAChF,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,eAAe,GAAG,IAAI,GAAG,MAAM,CAGtF;AAED,iEAAiE;AACjE,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,iBAAiB,EACvB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAAC,CAa1D;AAED;;wDAEwD;AACxD,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,iBAAiB,EACvB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,OAAO,mBAAmB,EAAE,YAAY,EAAE,CAAC,CAarD;AAED;;4BAE4B;AAC5B,wBAAsB,YAAY,CAChC,IAAI,EAAE,iBAAiB,EACvB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC;IACT,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,OAAO,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,EAAE,CAAC;CACtF,GAAG,IAAI,CAAC,CAqBR;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,cAAc,CAClC,IAAI,EAAE,iBAAiB,EACvB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,CAgBzC;AAED,wBAAsB,qBAAqB,CACzC,IAAI,EAAE,iBAAiB,EACvB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,0BAA0B,GAAG,IAAI,CAAC,CAE5C;AAED;;;;;;;;GAQG;AACH,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,iBAAiB,EACvB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAEjC;AAED;;;;;GAKG;AACH,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,iBAAiB,EACvB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAExB;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE;IACxC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,eAAe,GAAG,IAAI,CAAC;CACvC,GAAG,MAAM,GAAG,SAAS,CAYrB"}
|
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Run-detail fetch wrappers + terminal projections, split from daemon-run.ts
|
|
3
|
+
* (complexity ratchet): everything here rides GET /runs/:id (or the run's
|
|
4
|
+
* terminal facts) and stays free of daemon lifecycle/enqueue concerns.
|
|
5
|
+
* Callers keep importing from daemon-run.js via its re-exports.
|
|
6
|
+
*/
|
|
7
|
+
import { controlProblemError } from "./cli-error.js";
|
|
8
|
+
import { controlApiFetch, processExitCodeForRunStatus } from "./live.js";
|
|
9
|
+
import { outcomeExitCode } from "@claudexor/schema";
|
|
10
|
+
import { projectApplyEligibility, projectOutcomeBanner, } from "./run-detail-projections.js";
|
|
11
|
+
import { projectRunOutcomeFacts } from "./daemon-outcome.js";
|
|
12
|
+
import { readRunDetailResponse } from "./run-detail-response.js";
|
|
13
|
+
/** Daemon job state (= run lifecycle, D8) -> CLI exit code via the ONE
|
|
14
|
+
* projection owner: a succeeded lifecycle is 0 (a "Done · needs review" run
|
|
15
|
+
* included); everything else is 1. When the run's terminal outcome `facts` are
|
|
16
|
+
* available, the D-16 outcome-aware projection is used instead so a
|
|
17
|
+
* needs_input/incomplete work_state exits non-zero on a succeeded lifecycle. */
|
|
18
|
+
export function exitCodeForState(state, facts) {
|
|
19
|
+
if (facts)
|
|
20
|
+
return outcomeExitCode(facts);
|
|
21
|
+
return processExitCodeForRunStatus(state);
|
|
22
|
+
}
|
|
23
|
+
/** Server-derived plan readiness projection (mode=plan runs). */
|
|
24
|
+
export async function fetchPlanReadiness(addr, runId) {
|
|
25
|
+
if (!runId)
|
|
26
|
+
return null;
|
|
27
|
+
try {
|
|
28
|
+
const res = await controlApiFetch(addr, `/runs/${encodeURIComponent(runId)}`, {
|
|
29
|
+
headers: { authorization: `Bearer ${addr.token}` },
|
|
30
|
+
});
|
|
31
|
+
if (!res.ok)
|
|
32
|
+
return null;
|
|
33
|
+
const detail = (await res.json());
|
|
34
|
+
const v = detail["planReadiness"];
|
|
35
|
+
return v && typeof v === "object" ? v : null;
|
|
36
|
+
}
|
|
37
|
+
catch {
|
|
38
|
+
return null;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
/** The plan run's open questions (D17), projected from GET /runs/:id — the
|
|
42
|
+
* SAME server artifact readiness derives from, never a client re-parse. Empty
|
|
43
|
+
* for ready/unverified plans and every non-plan run. */
|
|
44
|
+
export async function fetchPlanQuestions(addr, runId) {
|
|
45
|
+
if (!runId)
|
|
46
|
+
return [];
|
|
47
|
+
try {
|
|
48
|
+
const res = await controlApiFetch(addr, `/runs/${encodeURIComponent(runId)}`, {
|
|
49
|
+
headers: { authorization: `Bearer ${addr.token}` },
|
|
50
|
+
});
|
|
51
|
+
if (!res.ok)
|
|
52
|
+
return [];
|
|
53
|
+
const detail = (await res.json());
|
|
54
|
+
const v = detail["planQuestions"];
|
|
55
|
+
return Array.isArray(v) ? v : [];
|
|
56
|
+
}
|
|
57
|
+
catch {
|
|
58
|
+
return [];
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
/** Council membership + merge disclosure (INV-031) for a --council plan run;
|
|
62
|
+
* null for solo plans and non-plan runs. Server-projected — the CLI never
|
|
63
|
+
* re-derives membership. */
|
|
64
|
+
export async function fetchCouncil(addr, runId) {
|
|
65
|
+
if (!runId)
|
|
66
|
+
return null;
|
|
67
|
+
try {
|
|
68
|
+
const res = await controlApiFetch(addr, `/runs/${encodeURIComponent(runId)}`, {
|
|
69
|
+
headers: { authorization: `Bearer ${addr.token}` },
|
|
70
|
+
});
|
|
71
|
+
if (!res.ok)
|
|
72
|
+
return null;
|
|
73
|
+
const detail = (await res.json());
|
|
74
|
+
const v = detail["council"];
|
|
75
|
+
return v && typeof v === "object"
|
|
76
|
+
? v
|
|
77
|
+
: null;
|
|
78
|
+
}
|
|
79
|
+
catch {
|
|
80
|
+
return null;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* ONE GET /runs/:id for the terminal path (INV-120/122): fetch the run detail
|
|
85
|
+
* once and feed every pure projection below. Three-state semantics:
|
|
86
|
+
* a MISSING detail (404 / legacy run) and a transport-UNAVAILABLE detail both
|
|
87
|
+
* soft-fail to null (a hiccup must never eat a finished run's result), while a
|
|
88
|
+
* typed problem response — especially 500 run_facts_invalid, the server's
|
|
89
|
+
* verdict that the run's canonical receipt cannot be trusted — raises through
|
|
90
|
+
* the typed CLI failure path (controlProblemError -> renderCliFailure,
|
|
91
|
+
* non-zero exit) instead of masquerading as a legacy run. The per-projection
|
|
92
|
+
* `fetch*` wrappers stay for callers that need exactly one projection.
|
|
93
|
+
*/
|
|
94
|
+
export async function fetchRunDetail(addr, runId) {
|
|
95
|
+
if (!runId)
|
|
96
|
+
return null;
|
|
97
|
+
let res;
|
|
98
|
+
try {
|
|
99
|
+
res = await controlApiFetch(addr, `/runs/${encodeURIComponent(runId)}`, {
|
|
100
|
+
headers: { authorization: `Bearer ${addr.token}` },
|
|
101
|
+
});
|
|
102
|
+
}
|
|
103
|
+
catch {
|
|
104
|
+
return null;
|
|
105
|
+
}
|
|
106
|
+
if (res.status === 404)
|
|
107
|
+
return null;
|
|
108
|
+
if (!res.ok) {
|
|
109
|
+
const body = await res.json().catch(() => ({}));
|
|
110
|
+
throw controlProblemError(res.status, body, `run detail failed (HTTP ${res.status})`);
|
|
111
|
+
}
|
|
112
|
+
return readRunDetailResponse(res);
|
|
113
|
+
}
|
|
114
|
+
export async function fetchApplyEligibility(addr, runId) {
|
|
115
|
+
return projectApplyEligibility(await fetchRunDetail(addr, runId));
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* The run's terminal outcome facts through fetchRunDetail's THREE-state
|
|
119
|
+
* semantics (INV-120/122): missing/legacy detail and transport loss project
|
|
120
|
+
* null (the lifecycle-only exit stands), while a typed problem response — the
|
|
121
|
+
* server's verdict that the terminal cannot be trusted (500 run_facts_invalid)
|
|
122
|
+
* — raises into the CLI failure path instead of silently exiting as if the
|
|
123
|
+
* facts never existed. Makes the direct-run CLI exit outcome-aware for a
|
|
124
|
+
* work_state veto (callers that need only this one projection).
|
|
125
|
+
*/
|
|
126
|
+
export async function fetchRunOutcomeFacts(addr, runId) {
|
|
127
|
+
return projectRunOutcomeFacts(await fetchRunDetail(addr, runId));
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* The server-owned outcome banner for a run (D18): the single honest headline,
|
|
131
|
+
* derived by the control-plane projection owner. The CLI PRINTS it verbatim —
|
|
132
|
+
* it never re-derives a headline of its own, so model prose can never outrank
|
|
133
|
+
* the arbitrated truth. Null while the run is not terminal or unavailable.
|
|
134
|
+
*/
|
|
135
|
+
export async function fetchOutcomeBanner(addr, runId) {
|
|
136
|
+
return projectOutcomeBanner(await fetchRunDetail(addr, runId));
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* Machine-readable reason for a non-clean DAEMON terminal (P2, D8). A
|
|
140
|
+
* needs-decision run (review blocked / checks failed) has a SUCCEEDED lifecycle
|
|
141
|
+
* and no `error`, so key the actionable decision hint on the run FACTS, not on
|
|
142
|
+
* the lifecycle; other non-succeeded lifecycles use the error or a reason
|
|
143
|
+
* label. A clean succeeded run returns undefined (no `summary` key emitted).
|
|
144
|
+
*/
|
|
145
|
+
export function daemonOutcomeSummary(out) {
|
|
146
|
+
const facts = out.outcomeFacts ?? null;
|
|
147
|
+
const needsDecision = !!facts &&
|
|
148
|
+
facts.lifecycle === "succeeded" &&
|
|
149
|
+
(facts.review === "blocked" || facts.checks === "failed");
|
|
150
|
+
if (needsDecision) {
|
|
151
|
+
return `run needs a human decision — claudexor decision ${out.runId} --accept-risk | --rerun --feedback "..."`;
|
|
152
|
+
}
|
|
153
|
+
if (out.error)
|
|
154
|
+
return out.error;
|
|
155
|
+
if (exitCodeForState(out.status, facts) === 0)
|
|
156
|
+
return undefined;
|
|
157
|
+
return `run ${out.status}${facts?.reason ? ` (${facts.reason})` : ""}`;
|
|
158
|
+
}
|
|
159
|
+
//# sourceMappingURL=run-detail-fetch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run-detail-fetch.js","sourceRoot":"","sources":["../src/run-detail-fetch.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@claudexor/cli",
|
|
3
|
-
"version": "3.3.
|
|
3
|
+
"version": "3.3.14",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"description": "Claudexor CLI (claudexor). Thin surface over the orchestrator.",
|
|
6
6
|
"type": "module",
|
|
@@ -10,28 +10,28 @@
|
|
|
10
10
|
"dist"
|
|
11
11
|
],
|
|
12
12
|
"dependencies": {
|
|
13
|
-
"@claudexor/artifact-store": "3.3.
|
|
14
|
-
"@claudexor/
|
|
15
|
-
"@claudexor/
|
|
16
|
-
"@claudexor/
|
|
17
|
-
"@claudexor/
|
|
18
|
-
"@claudexor/
|
|
19
|
-
"@claudexor/
|
|
20
|
-
"@claudexor/gateway": "3.3.
|
|
21
|
-
"@claudexor/
|
|
22
|
-
"@claudexor/
|
|
23
|
-
"@claudexor/orchestrator": "3.3.
|
|
24
|
-
"@claudexor/review": "3.3.
|
|
25
|
-
"@claudexor/harness-claude": "3.3.
|
|
26
|
-
"@claudexor/harness-
|
|
27
|
-
"@claudexor/harness-
|
|
28
|
-
"@claudexor/harness-cursor": "3.3.
|
|
29
|
-
"@claudexor/
|
|
30
|
-
"@claudexor/
|
|
31
|
-
"@claudexor/
|
|
32
|
-
"@claudexor/
|
|
33
|
-
"@claudexor/
|
|
34
|
-
"@claudexor/
|
|
13
|
+
"@claudexor/artifact-store": "3.3.14",
|
|
14
|
+
"@claudexor/config": "3.3.14",
|
|
15
|
+
"@claudexor/acp-server": "3.3.14",
|
|
16
|
+
"@claudexor/control-api": "3.3.14",
|
|
17
|
+
"@claudexor/delivery": "3.3.14",
|
|
18
|
+
"@claudexor/daemon": "3.3.14",
|
|
19
|
+
"@claudexor/core": "3.3.14",
|
|
20
|
+
"@claudexor/gateway": "3.3.14",
|
|
21
|
+
"@claudexor/mcp-server": "3.3.14",
|
|
22
|
+
"@claudexor/journal": "3.3.14",
|
|
23
|
+
"@claudexor/orchestrator": "3.3.14",
|
|
24
|
+
"@claudexor/review": "3.3.14",
|
|
25
|
+
"@claudexor/harness-claude": "3.3.14",
|
|
26
|
+
"@claudexor/harness-fake": "3.3.14",
|
|
27
|
+
"@claudexor/harness-opencode": "3.3.14",
|
|
28
|
+
"@claudexor/harness-cursor": "3.3.14",
|
|
29
|
+
"@claudexor/schema": "3.3.14",
|
|
30
|
+
"@claudexor/util": "3.3.14",
|
|
31
|
+
"@claudexor/secrets": "3.3.14",
|
|
32
|
+
"@claudexor/harness-raw-api": "3.3.14",
|
|
33
|
+
"@claudexor/workspace": "3.3.14",
|
|
34
|
+
"@claudexor/harness-codex": "3.3.14"
|
|
35
35
|
},
|
|
36
36
|
"repository": {
|
|
37
37
|
"type": "git",
|