@claudexor/cli 3.1.0 → 3.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/acp-auth-command.d.ts +3 -0
- package/dist/acp-auth-command.d.ts.map +1 -0
- package/dist/acp-auth-command.js +18 -0
- package/dist/acp-auth-command.js.map +1 -0
- package/dist/acp-auth.d.ts +13 -0
- package/dist/acp-auth.d.ts.map +1 -0
- package/dist/acp-auth.js +47 -0
- package/dist/acp-auth.js.map +1 -0
- package/dist/belt-bridge.d.ts +2 -0
- package/dist/belt-bridge.d.ts.map +1 -0
- package/dist/belt-bridge.js +31 -0
- package/dist/belt-bridge.js.map +1 -0
- package/dist/bridge-serve.d.ts +1 -9
- package/dist/bridge-serve.d.ts.map +1 -1
- package/dist/bridge-serve.js +7 -22
- package/dist/bridge-serve.js.map +1 -1
- package/dist/capabilities.d.ts.map +1 -1
- package/dist/capabilities.js +2 -0
- package/dist/capabilities.js.map +1 -1
- package/dist/claudexord-entry.d.ts +11 -0
- package/dist/claudexord-entry.d.ts.map +1 -0
- package/dist/claudexord-entry.js +42 -0
- package/dist/claudexord-entry.js.map +1 -0
- package/dist/claudexord.d.ts +1 -4
- package/dist/claudexord.d.ts.map +1 -1
- package/dist/claudexord.js +26 -39
- package/dist/claudexord.js.map +1 -1
- package/dist/cli.js +15 -17
- package/dist/cli.js.map +1 -1
- package/dist/command-flags.d.ts +0 -6
- package/dist/command-flags.d.ts.map +1 -1
- package/dist/command-flags.js +8 -1
- package/dist/command-flags.js.map +1 -1
- package/dist/command-registry.js +3 -3
- package/dist/command-registry.js.map +1 -1
- package/dist/control-services.d.ts +22 -10
- package/dist/control-services.d.ts.map +1 -1
- package/dist/control-services.js +3 -5
- package/dist/control-services.js.map +1 -1
- package/dist/daemon-run.d.ts +5 -17
- package/dist/daemon-run.d.ts.map +1 -1
- package/dist/daemon-run.js +49 -76
- package/dist/daemon-run.js.map +1 -1
- package/dist/delegation-belt-descriptor.d.ts +20 -36
- package/dist/delegation-belt-descriptor.d.ts.map +1 -1
- package/dist/delegation-belt-descriptor.js +48 -51
- package/dist/delegation-belt-descriptor.js.map +1 -1
- package/dist/delegation-capability.d.ts +4 -0
- package/dist/delegation-capability.d.ts.map +1 -0
- package/dist/delegation-capability.js +29 -0
- package/dist/delegation-capability.js.map +1 -0
- package/dist/delegation-daemon-binding.d.ts +8 -0
- package/dist/delegation-daemon-binding.d.ts.map +1 -0
- package/dist/delegation-daemon-binding.js +18 -0
- package/dist/delegation-daemon-binding.js.map +1 -0
- package/dist/delegation-output.d.ts +16 -0
- package/dist/delegation-output.d.ts.map +1 -0
- package/dist/delegation-output.js +45 -0
- package/dist/delegation-output.js.map +1 -0
- package/dist/live.d.ts.map +1 -1
- package/dist/live.js +4 -0
- package/dist/live.js.map +1 -1
- package/dist/mcp-run-projections.d.ts +13 -0
- package/dist/mcp-run-projections.d.ts.map +1 -0
- package/dist/mcp-run-projections.js +74 -0
- package/dist/mcp-run-projections.js.map +1 -0
- package/dist/mcp-runner.d.ts +19 -1
- package/dist/mcp-runner.d.ts.map +1 -1
- package/dist/mcp-runner.js +47 -83
- package/dist/mcp-runner.js.map +1 -1
- package/dist/ops-commands.d.ts +5 -1
- package/dist/ops-commands.d.ts.map +1 -1
- package/dist/ops-commands.js +4 -2
- package/dist/ops-commands.js.map +1 -1
- package/dist/repo-asset-authority.d.ts +9 -13
- package/dist/repo-asset-authority.d.ts.map +1 -1
- package/dist/repo-asset-authority.js +41 -44
- package/dist/repo-asset-authority.js.map +1 -1
- package/dist/retry-command.d.ts +15 -0
- package/dist/retry-command.d.ts.map +1 -1
- package/dist/retry-command.js +7 -4
- package/dist/retry-command.js.map +1 -1
- package/dist/reviewer-options.d.ts +11 -1
- package/dist/reviewer-options.d.ts.map +1 -1
- package/dist/reviewer-options.js +24 -9
- package/dist/reviewer-options.js.map +1 -1
- package/dist/run-detail-projections.d.ts +16 -0
- package/dist/run-detail-projections.d.ts.map +1 -0
- package/dist/run-detail-projections.js +33 -0
- package/dist/run-detail-projections.js.map +1 -0
- package/dist/run-options.d.ts.map +1 -1
- package/dist/run-options.js +13 -1
- package/dist/run-options.js.map +1 -1
- package/dist/settings-service.d.ts +64 -22
- package/dist/settings-service.d.ts.map +1 -1
- package/dist/settings-service.js +95 -30
- package/dist/settings-service.js.map +1 -1
- package/dist/setup-job-store.d.ts +2 -2
- package/dist/setup-login-inline.d.ts +2 -0
- package/dist/setup-login-inline.d.ts.map +1 -1
- package/dist/setup-login-inline.js +4 -3
- package/dist/setup-login-inline.js.map +1 -1
- package/dist/setup-login-protocol.d.ts +2 -2
- package/dist/setup-login-protocol.d.ts.map +1 -1
- package/dist/setup-login-protocol.js.map +1 -1
- package/dist/thread-delivery.d.ts.map +1 -1
- package/dist/thread-delivery.js +4 -3
- package/dist/thread-delivery.js.map +1 -1
- package/dist/thread-execution-workspace.d.ts +22 -0
- package/dist/thread-execution-workspace.d.ts.map +1 -0
- package/dist/thread-execution-workspace.js +21 -0
- package/dist/thread-execution-workspace.js.map +1 -0
- package/package.json +23 -23
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
// Single shared collector / asset-authority for
|
|
1
|
+
// Single shared collector / asset-authority for repository download metrics
|
|
2
2
|
// (D-15 reuse-lock; audit A-6). BOTH consumers import the pure logic here so
|
|
3
|
-
// there is exactly ONE definition of
|
|
3
|
+
// there is exactly ONE definition of the GitHub release-asset totals:
|
|
4
4
|
//
|
|
5
5
|
// - the CLI `claudexor release stats` (packages/cli/src/release.ts), and
|
|
6
6
|
// - the daily metrics workflow script (scripts/update-repo-metrics.mjs),
|
|
@@ -12,15 +12,10 @@
|
|
|
12
12
|
// erasable syntax (types/interfaces only — no enums, no namespaces, no
|
|
13
13
|
// parameter properties) and depend on nothing outside the Node stdlib.
|
|
14
14
|
//
|
|
15
|
-
// ASSET POLICY (the "one authority" the audit demanded):
|
|
16
|
-
//
|
|
17
|
-
//
|
|
18
|
-
//
|
|
19
|
-
// `claudexor-runtime-*.tar.gz` engine closure, `SHA256SUMS`, `*.sha256`
|
|
20
|
-
// checksums, `REVIEW_ATTESTATION.json`) is tooling, not an install, and would
|
|
21
|
-
// overcount humans. `release stats` additionally surfaces the raw all-asset
|
|
22
|
-
// total as an explicitly-labelled diagnostic, but the app-installer figure is
|
|
23
|
-
// the number both surfaces agree on and the README badge reports.
|
|
15
|
+
// ASSET POLICY (the "one authority" the audit demanded): `release stats`
|
|
16
|
+
// exposes both the DMG/ZIP app-installer subtotal and the raw sum across every
|
|
17
|
+
// uploaded release asset. The README total-downloads badge deliberately uses
|
|
18
|
+
// that raw sum; it is a download-event counter, not an installation counter.
|
|
24
19
|
// ---------------------------------------------------------------------------
|
|
25
20
|
// Asset authority (the drift the audit caught: two collectors, two allowlists)
|
|
26
21
|
// ---------------------------------------------------------------------------
|
|
@@ -67,19 +62,6 @@ export function sumAppInstallerDownloads(releases) {
|
|
|
67
62
|
return computeReleaseAssetTotals(releases).appInstallerDownloads;
|
|
68
63
|
}
|
|
69
64
|
// ---------------------------------------------------------------------------
|
|
70
|
-
// GitHub stargazers authority
|
|
71
|
-
// ---------------------------------------------------------------------------
|
|
72
|
-
/**
|
|
73
|
-
* Extract `stargazers_count` from the repo API payload, or null when the field
|
|
74
|
-
* is absent/malformed (never a fabricated zero — callers surface the failure).
|
|
75
|
-
*/
|
|
76
|
-
export function extractStargazers(repo) {
|
|
77
|
-
if (typeof repo !== "object" || repo === null)
|
|
78
|
-
return null;
|
|
79
|
-
const stars = repo.stargazers_count;
|
|
80
|
-
return typeof stars === "number" ? stars : null;
|
|
81
|
-
}
|
|
82
|
-
// ---------------------------------------------------------------------------
|
|
83
65
|
// Pagination authority (releases API is paged 100/response)
|
|
84
66
|
// ---------------------------------------------------------------------------
|
|
85
67
|
/**
|
|
@@ -118,9 +100,9 @@ export function sumNpmDeltaAfter(daily, afterDate, through) {
|
|
|
118
100
|
return sum;
|
|
119
101
|
}
|
|
120
102
|
// ---------------------------------------------------------------------------
|
|
121
|
-
// CSV ledger authority (
|
|
103
|
+
// CSV ledger authority (idempotent upsert + closed-day npm watermark)
|
|
122
104
|
// ---------------------------------------------------------------------------
|
|
123
|
-
export const CSV_HEADER = "date,
|
|
105
|
+
export const CSV_HEADER = "date,npm_through,npm_total,github_release_downloads,total_downloads";
|
|
124
106
|
export function parseCsv(text) {
|
|
125
107
|
const lines = text
|
|
126
108
|
.split("\n")
|
|
@@ -129,21 +111,37 @@ export function parseCsv(text) {
|
|
|
129
111
|
if (lines.length === 0)
|
|
130
112
|
return { header: CSV_HEADER, rows: [] };
|
|
131
113
|
const header = lines[0];
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
}
|
|
114
|
+
if (header !== CSV_HEADER) {
|
|
115
|
+
throw new Error(`repo metrics CSV header mismatch: expected ${CSV_HEADER}`);
|
|
116
|
+
}
|
|
117
|
+
const datePattern = /^\d{4}-\d{2}-\d{2}$/;
|
|
118
|
+
const rows = lines.slice(1).map((line, index) => {
|
|
119
|
+
const fields = line.split(",");
|
|
120
|
+
if (fields.length !== 5) {
|
|
121
|
+
throw new Error(`repo metrics CSV row ${index + 2} must have 5 columns`);
|
|
122
|
+
}
|
|
123
|
+
const [date, npm_through, npmRaw, githubRaw, totalRaw] = fields;
|
|
124
|
+
const npm_total = Number(npmRaw);
|
|
125
|
+
const github_release_downloads = Number(githubRaw);
|
|
126
|
+
const total_downloads = Number(totalRaw);
|
|
127
|
+
if (!datePattern.test(date) || !datePattern.test(npm_through)) {
|
|
128
|
+
throw new Error(`repo metrics CSV row ${index + 2} has an invalid UTC date`);
|
|
129
|
+
}
|
|
130
|
+
if (!Number.isSafeInteger(npm_total) ||
|
|
131
|
+
npm_total < 0 ||
|
|
132
|
+
!Number.isSafeInteger(github_release_downloads) ||
|
|
133
|
+
github_release_downloads < 0 ||
|
|
134
|
+
!Number.isSafeInteger(total_downloads) ||
|
|
135
|
+
total_downloads !== npm_total + github_release_downloads) {
|
|
136
|
+
throw new Error(`repo metrics CSV row ${index + 2} has invalid download totals`);
|
|
137
|
+
}
|
|
138
|
+
return { date, npm_through, npm_total, github_release_downloads, total_downloads };
|
|
141
139
|
});
|
|
142
140
|
return { header, rows };
|
|
143
141
|
}
|
|
144
142
|
export function serializeCsv(rows) {
|
|
145
143
|
const body = rows
|
|
146
|
-
.map((r) => [r.date, r.
|
|
144
|
+
.map((r) => [r.date, r.npm_through, r.npm_total, r.github_release_downloads, r.total_downloads].join(","))
|
|
147
145
|
.join("\n");
|
|
148
146
|
return body.length > 0 ? `${CSV_HEADER}\n${body}\n` : `${CSV_HEADER}\n`;
|
|
149
147
|
}
|
|
@@ -158,17 +156,16 @@ export function upsertRow(rows, row) {
|
|
|
158
156
|
return next;
|
|
159
157
|
}
|
|
160
158
|
/**
|
|
161
|
-
* The
|
|
162
|
-
*
|
|
163
|
-
* ledger has no earlier day — the signal to SEED from the npm lifetime point.
|
|
159
|
+
* The latest persisted row at or before `date`. Same-day reruns reuse its npm
|
|
160
|
+
* closed-day watermark while refreshing the live GitHub cumulative count.
|
|
164
161
|
*/
|
|
165
|
-
export function
|
|
166
|
-
let
|
|
162
|
+
export function latestRowAtOrBefore(rows, date) {
|
|
163
|
+
let latest = null;
|
|
167
164
|
for (const r of rows) {
|
|
168
|
-
if (r.date
|
|
169
|
-
|
|
165
|
+
if (r.date <= date && (latest === null || r.date > latest.date))
|
|
166
|
+
latest = r;
|
|
170
167
|
}
|
|
171
|
-
return
|
|
168
|
+
return latest;
|
|
172
169
|
}
|
|
173
170
|
export function formatThousands(n) {
|
|
174
171
|
return Math.round(n)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"repo-asset-authority.js","sourceRoot":"","sources":["../src/repo-asset-authority.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"repo-asset-authority.js","sourceRoot":"","sources":["../src/repo-asset-authority.ts"],"names":[],"mappings":"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"}
|
package/dist/retry-command.d.ts
CHANGED
|
@@ -1,3 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `claudexor retry` / `claudexor run-again`.
|
|
3
|
+
*
|
|
4
|
+
* Both refusals go through the SAME projector the rest of the CLI uses
|
|
5
|
+
* (`controlProblemError` → `renderCliFailure`), because the daemon does not
|
|
6
|
+
* serve the field these commands used to read. Every `>= 400` reply from the
|
|
7
|
+
* control API is re-projected into a strict `ControlProblem` before it reaches
|
|
8
|
+
* the wire, so the human text arrives in `message` and there is no `error` key
|
|
9
|
+
* at all — reading `data["error"]` therefore always fell through to a bare
|
|
10
|
+
* `HTTP <status>` and threw away the actionable refusal. The projector reads
|
|
11
|
+
* `message` first and still salvages a legacy `error` body, so a sender that
|
|
12
|
+
* has not moved to problem+json does not regress, and the typed fields
|
|
13
|
+
* (`code`/`retryable`/`requiredActions`/`context`) survive instead of being
|
|
14
|
+
* flattened into one string.
|
|
15
|
+
*/
|
|
1
16
|
import type { ParsedArgs } from "./args.js";
|
|
2
17
|
export declare function retryCommand(args: ParsedArgs, json: boolean): Promise<number>;
|
|
3
18
|
export declare function runAgainCommand(args: ParsedArgs, json: boolean): Promise<number>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"retry-command.d.ts","sourceRoot":"","sources":["../src/retry-command.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"retry-command.d.ts","sourceRoot":"","sources":["../src/retry-command.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAM5C,wBAAsB,YAAY,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAqBnF;AAED,wBAAsB,eAAe,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAwBtF"}
|
package/dist/retry-command.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { print, printJson, printUsageError } from "./cli-io.js";
|
|
2
|
+
import { controlProblemError, renderCliFailure } from "./cli-error.js";
|
|
2
3
|
import { ensureDaemon } from "./daemon-run.js";
|
|
3
4
|
import { controlApiFetch } from "./live.js";
|
|
4
5
|
export async function retryCommand(args, json) {
|
|
@@ -13,8 +14,10 @@ export async function retryCommand(args, json) {
|
|
|
13
14
|
body: "{}",
|
|
14
15
|
});
|
|
15
16
|
const data = (await response.json());
|
|
17
|
+
// A pre-start terminal (the trust gate's typed 403, a requirements refusal)
|
|
18
|
+
// answers here — its message is what the operator has to act on.
|
|
16
19
|
if (!response.ok)
|
|
17
|
-
throw
|
|
20
|
+
throw controlProblemError(response.status, data, `HTTP ${response.status}`);
|
|
18
21
|
if (json)
|
|
19
22
|
printJson(data);
|
|
20
23
|
else
|
|
@@ -22,7 +25,7 @@ export async function retryCommand(args, json) {
|
|
|
22
25
|
return 0;
|
|
23
26
|
}
|
|
24
27
|
catch (error) {
|
|
25
|
-
return
|
|
28
|
+
return renderCliFailure(json, error, { messagePrefix: "claudexor retry:" });
|
|
26
29
|
}
|
|
27
30
|
}
|
|
28
31
|
export async function runAgainCommand(args, json) {
|
|
@@ -36,7 +39,7 @@ export async function runAgainCommand(args, json) {
|
|
|
36
39
|
});
|
|
37
40
|
const data = (await response.json());
|
|
38
41
|
if (!response.ok)
|
|
39
|
-
throw
|
|
42
|
+
throw controlProblemError(response.status, data, `HTTP ${response.status}`);
|
|
40
43
|
if (json)
|
|
41
44
|
printJson(data);
|
|
42
45
|
else {
|
|
@@ -51,7 +54,7 @@ export async function runAgainCommand(args, json) {
|
|
|
51
54
|
return 0;
|
|
52
55
|
}
|
|
53
56
|
catch (error) {
|
|
54
|
-
return
|
|
57
|
+
return renderCliFailure(json, error, { messagePrefix: "claudexor run-again:" });
|
|
55
58
|
}
|
|
56
59
|
}
|
|
57
60
|
//# sourceMappingURL=retry-command.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"retry-command.js","sourceRoot":"","sources":["../src/retry-command.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"retry-command.js","sourceRoot":"","sources":["../src/retry-command.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,6 +13,16 @@ export declare function parseReviewerModelMap(value: string | undefined): Partia
|
|
|
13
13
|
* into an ordered reviewer list. Entries are harness-id based, not
|
|
14
14
|
* provider-family based, so repeated harnesses are preserved for multi-model
|
|
15
15
|
* panels on the same native provider.
|
|
16
|
+
*
|
|
17
|
+
* `advertisedEfforts` disambiguates a trailing `:token`: every slug is a
|
|
18
|
+
* well-formed effort, so only membership in a harness-ADVERTISED set can say
|
|
19
|
+
* whether `cursor=org:model:v2` ends in an effort or a model-id segment. The
|
|
20
|
+
* set is the union across harnesses (the harness's live manifest is not
|
|
21
|
+
* resolvable at flag-parse time); a level outside it stays part of the model
|
|
22
|
+
* id or, in the `harness:effort` spelling, is refused — the unambiguous
|
|
23
|
+
* `--reviewer-effort family=level` spelling carries any level the set has not
|
|
24
|
+
* caught up with. The macOS composer applies the same rule with its live
|
|
25
|
+
* manifest union (`ComposerOptionParser`).
|
|
16
26
|
*/
|
|
17
|
-
export declare function parseReviewerPanel(value: string | undefined): ControlReviewerPanelEntry[] | undefined;
|
|
27
|
+
export declare function parseReviewerPanel(value: string | undefined, advertisedEfforts: ReadonlySet<string>): ControlReviewerPanelEntry[] | undefined;
|
|
18
28
|
//# sourceMappingURL=reviewer-options.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reviewer-options.d.ts","sourceRoot":"","sources":["../src/reviewer-options.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"reviewer-options.d.ts","sourceRoot":"","sources":["../src/reviewer-options.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,cAAc,EACd,KAAK,yBAAyB,EAC9B,KAAK,UAAU,IAAI,eAAe,EACnC,MAAM,mBAAmB,CAAC;AAE3B,4FAA4F;AAC5F,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,MAAM,GAAG,SAAS,GACxB,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,eAAe,CAAC,CAAC,GAAG,SAAS,CAuB9D;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,MAAM,GAAG,SAAS,GACxB,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC,GAAG,SAAS,CAqBrD;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,iBAAiB,EAAE,WAAW,CAAC,MAAM,CAAC,GACrC,yBAAyB,EAAE,GAAG,SAAS,CAsDzC"}
|
package/dist/reviewer-options.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { EffortHint, ProviderFamily, } from "@claudexor/schema";
|
|
1
|
+
import { EFFORT_HINT_HELP, EffortHint, ProviderFamily, } from "@claudexor/schema";
|
|
2
2
|
/** Parse `--reviewer-effort openai=xhigh,anthropic=high` into the control-api DTO shape. */
|
|
3
3
|
export function parseReviewerEffortMap(value) {
|
|
4
4
|
if (value === undefined)
|
|
@@ -20,7 +20,7 @@ export function parseReviewerEffortMap(value) {
|
|
|
20
20
|
throw new Error(`invalid reviewer provider '${family}' (expected openai|anthropic|google|cursor|opencode|xai|local|unknown)`);
|
|
21
21
|
const parsed = EffortHint.safeParse(effort);
|
|
22
22
|
if (!parsed.success)
|
|
23
|
-
throw new Error(`invalid reviewer effort '${effort}' (expected
|
|
23
|
+
throw new Error(`invalid reviewer effort '${effort}' (expected a ${EFFORT_HINT_HELP})`);
|
|
24
24
|
map[parsedFamily.data] = parsed.data;
|
|
25
25
|
}
|
|
26
26
|
return Object.keys(map).length > 0 ? map : undefined;
|
|
@@ -59,8 +59,18 @@ export function parseReviewerModelMap(value) {
|
|
|
59
59
|
* into an ordered reviewer list. Entries are harness-id based, not
|
|
60
60
|
* provider-family based, so repeated harnesses are preserved for multi-model
|
|
61
61
|
* panels on the same native provider.
|
|
62
|
+
*
|
|
63
|
+
* `advertisedEfforts` disambiguates a trailing `:token`: every slug is a
|
|
64
|
+
* well-formed effort, so only membership in a harness-ADVERTISED set can say
|
|
65
|
+
* whether `cursor=org:model:v2` ends in an effort or a model-id segment. The
|
|
66
|
+
* set is the union across harnesses (the harness's live manifest is not
|
|
67
|
+
* resolvable at flag-parse time); a level outside it stays part of the model
|
|
68
|
+
* id or, in the `harness:effort` spelling, is refused — the unambiguous
|
|
69
|
+
* `--reviewer-effort family=level` spelling carries any level the set has not
|
|
70
|
+
* caught up with. The macOS composer applies the same rule with its live
|
|
71
|
+
* manifest union (`ComposerOptionParser`).
|
|
62
72
|
*/
|
|
63
|
-
export function parseReviewerPanel(value) {
|
|
73
|
+
export function parseReviewerPanel(value, advertisedEfforts) {
|
|
64
74
|
if (value === undefined)
|
|
65
75
|
return undefined;
|
|
66
76
|
const out = [];
|
|
@@ -78,10 +88,14 @@ export function parseReviewerPanel(value) {
|
|
|
78
88
|
const colon = harness.lastIndexOf(":");
|
|
79
89
|
if (colon > -1) {
|
|
80
90
|
const suffix = harness.slice(colon + 1).trim();
|
|
81
|
-
|
|
82
|
-
|
|
91
|
+
// Disambiguation keys off the ADVERTISED set, not the open vocabulary:
|
|
92
|
+
// every slug is a well-formed effort, so accepting any of them here
|
|
93
|
+
// would make `cursor=org:model:v2` swallow `v2`. A level the set does
|
|
94
|
+
// not know rides the unambiguous `--reviewer-effort family=level`
|
|
95
|
+
// spelling instead.
|
|
96
|
+
if (!advertisedEfforts.has(suffix))
|
|
83
97
|
throw new Error(`invalid --reviewer-panel entry '${pair}' (expected harness[:effort] or harness[=model[:effort]])`);
|
|
84
|
-
effort =
|
|
98
|
+
effort = suffix;
|
|
85
99
|
harness = harness.slice(0, colon).trim();
|
|
86
100
|
}
|
|
87
101
|
}
|
|
@@ -92,9 +106,10 @@ export function parseReviewerPanel(value) {
|
|
|
92
106
|
const colon = model.lastIndexOf(":");
|
|
93
107
|
if (colon > -1) {
|
|
94
108
|
const suffix = model.slice(colon + 1).trim();
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
109
|
+
// Same advertised-set disambiguation: a colon suffix no harness
|
|
110
|
+
// advertises stays part of the model id (`org:model:v2`).
|
|
111
|
+
if (advertisedEfforts.has(suffix)) {
|
|
112
|
+
effort = suffix;
|
|
98
113
|
model = model.slice(0, colon).trim();
|
|
99
114
|
if (!model)
|
|
100
115
|
throw new Error(`invalid --reviewer-panel entry '${pair}' (missing model after '=')`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reviewer-options.js","sourceRoot":"","sources":["../src/reviewer-options.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,cAAc,GAGf,MAAM,mBAAmB,CAAC;AAE3B,4FAA4F;AAC5F,MAAM,UAAU,sBAAsB,CACpC,KAAyB;IAEzB,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC1C,MAAM,GAAG,GAAqD,EAAE,CAAC;IACjE,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;QACpC,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QACxB,IAAI,CAAC,GAAG;YAAE,MAAM,IAAI,KAAK,CAAC,+DAA+D,CAAC,CAAC;QAC3F,MAAM,EAAE,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC5B,MAAM,MAAM,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC3D,MAAM,MAAM,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC3D,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM;YAAE,SAAS;QACjC,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC;YAC5C,MAAM,IAAI,KAAK,CAAC,oCAAoC,IAAI,4BAA4B,CAAC,CAAC;QACxF,MAAM,YAAY,GAAG,cAAc,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACtD,IAAI,CAAC,YAAY,CAAC,OAAO;YACvB,MAAM,IAAI,KAAK,CACb,8BAA8B,MAAM,wEAAwE,CAC7G,CAAC;QACJ,MAAM,MAAM,GAAG,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAC5C,IAAI,CAAC,MAAM,CAAC,OAAO;YACjB,MAAM,IAAI,KAAK,CAAC,4BAA4B,MAAM,
|
|
1
|
+
{"version":3,"file":"reviewer-options.js","sourceRoot":"","sources":["../src/reviewer-options.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export type ApplyEligibilityProjection = {
|
|
2
|
+
eligible: boolean;
|
|
3
|
+
state: string | null;
|
|
4
|
+
reason: string | null;
|
|
5
|
+
requiredAction: string | null;
|
|
6
|
+
};
|
|
7
|
+
export declare function projectApplyEligibility(detail: Record<string, unknown> | null): ApplyEligibilityProjection | null;
|
|
8
|
+
export declare function projectRunSpendUsd(detail: Record<string, unknown> | null): number | null;
|
|
9
|
+
export declare function projectRunCouncil(detail: Record<string, unknown> | null): unknown;
|
|
10
|
+
export declare function projectRunLineage(detail: Record<string, unknown> | null): {
|
|
11
|
+
parentRunId: string | null;
|
|
12
|
+
delegatedFromRunId: string | null;
|
|
13
|
+
delegation: Record<string, unknown> | null;
|
|
14
|
+
};
|
|
15
|
+
export declare function projectOutcomeBanner(detail: Record<string, unknown> | null): string | null;
|
|
16
|
+
//# sourceMappingURL=run-detail-projections.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run-detail-projections.d.ts","sourceRoot":"","sources":["../src/run-detail-projections.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,0BAA0B,GAAG;IACvC,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B,CAAC;AAEF,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,GACrC,0BAA0B,GAAG,IAAI,CAGnC;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,CAOxF;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,GAAG,OAAO,CAGjF;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,GAAG;IACzE,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;CAC5C,CAcA;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,CAG1F"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { CouncilProjection } from "@claudexor/schema";
|
|
2
|
+
export function projectApplyEligibility(detail) {
|
|
3
|
+
const value = detail?.["applyEligibility"];
|
|
4
|
+
return value && typeof value === "object" ? value : null;
|
|
5
|
+
}
|
|
6
|
+
export function projectRunSpendUsd(detail) {
|
|
7
|
+
const summary = detail?.["summary"];
|
|
8
|
+
const spend = summary && typeof summary === "object"
|
|
9
|
+
? summary.spendUsd
|
|
10
|
+
: undefined;
|
|
11
|
+
return typeof spend === "number" && Number.isFinite(spend) ? spend : null;
|
|
12
|
+
}
|
|
13
|
+
export function projectRunCouncil(detail) {
|
|
14
|
+
const parsed = CouncilProjection.safeParse(detail?.["council"]);
|
|
15
|
+
return parsed.success ? parsed.data : null;
|
|
16
|
+
}
|
|
17
|
+
export function projectRunLineage(detail) {
|
|
18
|
+
const summary = detail?.["summary"] && typeof detail["summary"] === "object"
|
|
19
|
+
? detail["summary"]
|
|
20
|
+
: null;
|
|
21
|
+
return {
|
|
22
|
+
parentRunId: typeof summary?.["parentRunId"] === "string" ? summary["parentRunId"] : null,
|
|
23
|
+
delegatedFromRunId: typeof summary?.["delegatedFromRunId"] === "string" ? summary["delegatedFromRunId"] : null,
|
|
24
|
+
delegation: summary?.["delegation"] && typeof summary["delegation"] === "object"
|
|
25
|
+
? summary["delegation"]
|
|
26
|
+
: null,
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
export function projectOutcomeBanner(detail) {
|
|
30
|
+
const banner = detail?.["outcomeBanner"];
|
|
31
|
+
return typeof banner === "string" && banner.length > 0 ? banner : null;
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=run-detail-projections.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run-detail-projections.js","sourceRoot":"","sources":["../src/run-detail-projections.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAStD,MAAM,UAAU,uBAAuB,CACrC,MAAsC;IAEtC,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,kBAAkB,CAAC,CAAC;IAC3C,OAAO,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAE,KAAoC,CAAC,CAAC,CAAC,IAAI,CAAC;AAC3F,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,MAAsC;IACvE,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC;IACpC,MAAM,KAAK,GACT,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ;QACpC,CAAC,CAAE,OAAkC,CAAC,QAAQ;QAC9C,CAAC,CAAC,SAAS,CAAC;IAChB,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AAC5E,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,MAAsC;IACtE,MAAM,MAAM,GAAG,iBAAiB,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;IAChE,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,MAAsC;IAKtE,MAAM,OAAO,GACX,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,OAAO,MAAM,CAAC,SAAS,CAAC,KAAK,QAAQ;QAC1D,CAAC,CAAE,MAAM,CAAC,SAAS,CAA6B;QAChD,CAAC,CAAC,IAAI,CAAC;IACX,OAAO;QACL,WAAW,EAAE,OAAO,OAAO,EAAE,CAAC,aAAa,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI;QACzF,kBAAkB,EAChB,OAAO,OAAO,EAAE,CAAC,oBAAoB,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,IAAI;QAC5F,UAAU,EACR,OAAO,EAAE,CAAC,YAAY,CAAC,IAAI,OAAO,OAAO,CAAC,YAAY,CAAC,KAAK,QAAQ;YAClE,CAAC,CAAE,OAAO,CAAC,YAAY,CAA6B;YACpD,CAAC,CAAC,IAAI;KACX,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,MAAsC;IACzE,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,eAAe,CAAC,CAAC;IACzC,OAAO,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;AACzE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-options.d.ts","sourceRoot":"","sources":["../src/run-options.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,yBAAyB,EACzB,UAAU,EACV,qBAAqB,EACrB,cAAc,EACd,qBAAqB,EACtB,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"run-options.d.ts","sourceRoot":"","sources":["../src/run-options.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,yBAAyB,EACzB,UAAU,EACV,qBAAqB,EACrB,cAAc,EACd,qBAAqB,EACtB,MAAM,mBAAmB,CAAC;AAoB3B,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,GAAG,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAKxF;AAED,wBAAgB,+BAA+B,CAC7C,MAAM,EAAE,KAAK,CAAC,MAAM,GAAG,OAAO,CAAC,GAC9B,qBAAqB,EAAE,GAAG,SAAS,CAarC;AAED,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,KAAK,CAAC,MAAM,GAAG,OAAO,CAAC,GAC9B,qBAAqB,EAAE,GAAG,SAAS,CAqCrC;AAED,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,KAAK,CAAC,MAAM,GAAG,OAAO,CAAC,GAC9B,yBAAyB,EAAE,GAAG,SAAS,CAMzC;AAED,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,KAAK,CAAC,MAAM,GAAG,OAAO,CAAC,GAC9B,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC,GAAG,SAAS,CAGrD;AAED,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,KAAK,CAAC,MAAM,GAAG,OAAO,CAAC,GAC9B,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC,GAAG,SAAS,CAGzD"}
|
package/dist/run-options.js
CHANGED
|
@@ -1,4 +1,16 @@
|
|
|
1
|
+
import { CLAUDE_EFFORT_SNAPSHOT } from "@claudexor/harness-claude";
|
|
2
|
+
import { CODEX_EFFORT_SNAPSHOT, unionEffortLevels } from "@claudexor/harness-codex";
|
|
1
3
|
import { parseReviewerEffortMap, parseReviewerModelMap, parseReviewerPanel, } from "./reviewer-options.js";
|
|
4
|
+
/**
|
|
5
|
+
* Effort levels the recorded vendor snapshots advertise, unioned across
|
|
6
|
+
* harnesses — the CLI's parse-time answer to "could this `:token` be an
|
|
7
|
+
* effort?". Stamped vendor data (the same snapshots discovery falls back to),
|
|
8
|
+
* never a hand-ranked table; a live-only level the snapshots have not caught
|
|
9
|
+
* up with rides the unambiguous `--reviewer-effort family=level` spelling.
|
|
10
|
+
*/
|
|
11
|
+
function snapshotAdvertisedEfforts() {
|
|
12
|
+
return new Set([...CLAUDE_EFFORT_SNAPSHOT, ...unionEffortLevels(CODEX_EFFORT_SNAPSHOT.models)]);
|
|
13
|
+
}
|
|
2
14
|
export function stringFlagValues(values, flag) {
|
|
3
15
|
const strings = values.filter((value) => typeof value === "string");
|
|
4
16
|
if (strings.length !== values.length)
|
|
@@ -59,7 +71,7 @@ export function parseTestCommandFlags(values) {
|
|
|
59
71
|
}
|
|
60
72
|
export function parseReviewerPanelFlags(values) {
|
|
61
73
|
const strings = stringFlagValues(values, "reviewer-panel");
|
|
62
|
-
return parseReviewerPanel(strings.length > 0 ? strings.join(",") : undefined);
|
|
74
|
+
return parseReviewerPanel(strings.length > 0 ? strings.join(",") : undefined, snapshotAdvertisedEfforts());
|
|
63
75
|
}
|
|
64
76
|
export function parseReviewerModelFlags(values) {
|
|
65
77
|
const strings = stringFlagValues(values, "reviewer-model");
|
package/dist/run-options.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-options.js","sourceRoot":"","sources":["../src/run-options.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"run-options.js","sourceRoot":"","sources":["../src/run-options.ts"],"names":[],"mappings":"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"}
|