@claudexor/harness-claude 3.1.0 → 3.1.1
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/effort-probe.d.ts +144 -0
- package/dist/effort-probe.d.ts.map +1 -0
- package/dist/effort-probe.js +339 -0
- package/dist/effort-probe.js.map +1 -0
- package/dist/index.d.ts +17 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +62 -50
- package/dist/index.js.map +1 -1
- package/package.json +5 -5
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Effort discovery for the INSTALLED claude CLI.
|
|
3
|
+
*
|
|
4
|
+
* Claude Code's effort ladder is a property of the binary on this machine, not
|
|
5
|
+
* of Claudexor: 2.1.89 advertises `low, medium, high, max` while 2.1.165
|
|
6
|
+
* advertises `low, medium, high, xhigh, max`. Hardcoding either one means one
|
|
7
|
+
* installed version gets silently clamped, which is exactly the defect this
|
|
8
|
+
* replaces. So we read the ladder out of the binary's own `--help`.
|
|
9
|
+
*
|
|
10
|
+
* The help line looks like:
|
|
11
|
+
* --effort <level> Effort level for the current session (low, medium, high, xhigh, max)
|
|
12
|
+
* with the parenthesized list possibly wrapped onto following lines — and HOW FAR
|
|
13
|
+
* it wraps depends on the terminal width, so the parse reads the flag's whole
|
|
14
|
+
* block rather than a fixed number of lines.
|
|
15
|
+
*
|
|
16
|
+
* On a missing binary, an unparseable help text, or a `--help` that stops
|
|
17
|
+
* documenting the values, the recorded snapshot fills in and the run proceeds.
|
|
18
|
+
*/
|
|
19
|
+
import type { HarnessEvent, HarnessRunSpec } from "@claudexor/schema";
|
|
20
|
+
import { EffortHint } from "@claudexor/schema";
|
|
21
|
+
export declare const BIN: string;
|
|
22
|
+
/**
|
|
23
|
+
* Recorded fallback, captured from `claude --help` on the CLI version stamped
|
|
24
|
+
* below. Used ONLY when the live parse cannot answer.
|
|
25
|
+
*/
|
|
26
|
+
export declare const CLAUDE_EFFORT_SNAPSHOT: readonly EffortHint[];
|
|
27
|
+
/** Vendor CLI version `CLAUDE_EFFORT_SNAPSHOT` was captured from. */
|
|
28
|
+
export declare const CLAUDE_EFFORT_SNAPSHOT_VERIFIED_AGAINST = "2.1.165";
|
|
29
|
+
/**
|
|
30
|
+
* Whether the recorded snapshot may be TRUSTED for arg emission against the
|
|
31
|
+
* installed binary (INV-105). The snapshot is another `--help`'s recorded
|
|
32
|
+
* answer, so it is only that binary's truth on the exact CLI version it was
|
|
33
|
+
* captured from: 2.1.165 advertises `xhigh`, 2.1.89 rejects it, and a 2.1.89
|
|
34
|
+
* install whose live parse failed used to be handed the 2.1.165 ladder anyway
|
|
35
|
+
* — `--effort xhigh` then went to a CLI that refuses the flag.
|
|
36
|
+
*
|
|
37
|
+
* The installed version string is whatever `claude --version` printed
|
|
38
|
+
* (e.g. `2.1.165 (Claude Code)`), so the comparison extracts the full dotted
|
|
39
|
+
* numeric token and requires it to EQUAL the snapshot stamp exactly. An
|
|
40
|
+
* unknown or unparseable version can never vouch for the snapshot.
|
|
41
|
+
*/
|
|
42
|
+
export declare function claudeSnapshotTrustedForVersion(installedVersion: string | null): boolean;
|
|
43
|
+
/**
|
|
44
|
+
* The effort ladder the RUN may resolve `--effort` against, version-gating
|
|
45
|
+
* snapshot trust (INV-105):
|
|
46
|
+
*
|
|
47
|
+
* - a LIVE parse is the installed binary's own answer — trusted on any version;
|
|
48
|
+
* - the snapshot FALLBACK is trusted only when the installed version equals
|
|
49
|
+
* `CLAUDE_EFFORT_SNAPSHOT_VERIFIED_AGAINST` (same binary, same ladder);
|
|
50
|
+
* - a fallback on ANY OTHER version (mismatch, unknown, unparseable) yields an
|
|
51
|
+
* EMPTY ladder: the normalizer then sends no `--effort` flag at all, and the
|
|
52
|
+
* existing drop seam (`claudeEffortIgnoredEvent`) discloses it — the run
|
|
53
|
+
* proceeds at the vendor default rather than forwarding a level another
|
|
54
|
+
* version's snapshot advertises to a binary that may reject it.
|
|
55
|
+
*/
|
|
56
|
+
export declare function claudeAdvertisedEffortsForRun(efforts: {
|
|
57
|
+
levels: readonly EffortHint[];
|
|
58
|
+
live: boolean;
|
|
59
|
+
}, installedVersion: string | null): readonly EffortHint[];
|
|
60
|
+
/**
|
|
61
|
+
* The RUN's whole INV-105 effort seam in one place: probe the installed
|
|
62
|
+
* binary's ladder, version-gate snapshot-fallback trust
|
|
63
|
+
* (`claudeAdvertisedEffortsForRun`), and derive the DROP/CLAMP disclosure on
|
|
64
|
+
* the SAME advertised list the arg builder will resolve against — so the flag
|
|
65
|
+
* sent and the disclosure emitted can never disagree. The `--version` spawn
|
|
66
|
+
* happens only when it can matter (fallback ladder AND an effort actually
|
|
67
|
+
* requested); a live parse or a hint-less run never pays for it.
|
|
68
|
+
*/
|
|
69
|
+
export declare function claudeRunEffortResolution(spec: Pick<HarnessRunSpec, "session_id" | "effort_hint">, deps: {
|
|
70
|
+
probeEffortLevels: typeof probeClaudeEffortLevels;
|
|
71
|
+
detectVersion: (abortSignal?: AbortSignal) => Promise<string | null>;
|
|
72
|
+
}, abortSignal?: AbortSignal): Promise<{
|
|
73
|
+
advertised: readonly EffortHint[];
|
|
74
|
+
disclosure: HarnessEvent | null;
|
|
75
|
+
}>;
|
|
76
|
+
/**
|
|
77
|
+
* Pull the advertised levels out of `claude --help` text, or null when the
|
|
78
|
+
* `--effort` line is absent or documents no values.
|
|
79
|
+
*
|
|
80
|
+
* Pure and separately testable: the spawn lives in the adapter's runtime deps so
|
|
81
|
+
* a test can feed recorded help text for any CLI version.
|
|
82
|
+
*/
|
|
83
|
+
export declare function parseClaudeEffortHelp(help: string): EffortHint[] | null;
|
|
84
|
+
type ClaudeHelpProbe = {
|
|
85
|
+
ok: true;
|
|
86
|
+
help: string;
|
|
87
|
+
code: number | null;
|
|
88
|
+
} | {
|
|
89
|
+
ok: false;
|
|
90
|
+
error: string;
|
|
91
|
+
};
|
|
92
|
+
/**
|
|
93
|
+
* The shared capture, with the caller's cancellation bounding only the CALLER'S
|
|
94
|
+
* OWN wait. An abandoned caller reads a probe failure — its run is going away
|
|
95
|
+
* anyway, and the ladder falls back to the snapshot for that one run — while the
|
|
96
|
+
* capture keeps running for everybody else.
|
|
97
|
+
*/
|
|
98
|
+
export declare function probeClaudeHelp(abortSignal?: AbortSignal): Promise<ClaudeHelpProbe>;
|
|
99
|
+
/**
|
|
100
|
+
* The effort ladder the INSTALLED claude binary advertises, falling back to the
|
|
101
|
+
* recorded snapshot when `--help` cannot be read or no longer documents the
|
|
102
|
+
* values. A probe failure costs freshness, never the run.
|
|
103
|
+
*/
|
|
104
|
+
export declare function probeClaudeEffortLevels(abortSignal?: AbortSignal): Promise<{
|
|
105
|
+
levels: readonly EffortHint[];
|
|
106
|
+
live: boolean;
|
|
107
|
+
}>;
|
|
108
|
+
/**
|
|
109
|
+
* The INV-105 disclosure for an effort the RUN itself could not honor, or null
|
|
110
|
+
* when nothing was dropped. Preflight validates against the manifest ladder,
|
|
111
|
+
* but the arg builder resolves against what the INSTALLED binary advertises at
|
|
112
|
+
* run time (an older CLI's `--help` can be narrower than the discovered
|
|
113
|
+
* manifest), and its normalizer answers "send no flag" — which without this
|
|
114
|
+
* event was a silent vendor-default run. The payload rides the same
|
|
115
|
+
* `ignored_settings` channel governance uses (QA-070 timeline warning).
|
|
116
|
+
*/
|
|
117
|
+
export declare function claudeEffortIgnoredEvent(spec: Pick<HarnessRunSpec, "session_id" | "effort_hint">, advertised: readonly EffortHint[]): HarnessEvent | null;
|
|
118
|
+
/**
|
|
119
|
+
* The INV-105 disclosure for an effort the resolution CLAMPED, or null when the
|
|
120
|
+
* level rode through verbatim (or was dropped — `claudeEffortIgnoredEvent`'s
|
|
121
|
+
* shape; the two are mutually exclusive: a drop sends no flag, a clamp sends a
|
|
122
|
+
* different one). Mirrors the codex clamp seam so a moved level is disclosed
|
|
123
|
+
* the same way on both adapters, and takes the SAME (advertised, ladder)
|
|
124
|
+
* inputs the arg builder's normalizer takes so the disclosure can never
|
|
125
|
+
* disagree with the flag actually sent.
|
|
126
|
+
*
|
|
127
|
+
* Reachability today: the arg builder resolves with the installed binary's own
|
|
128
|
+
* list as both advertised set and rank ladder (`normalizeEffort`'s two-arg
|
|
129
|
+
* form), and against one's own ladder every miss is a DROP, never a clamp —
|
|
130
|
+
* so with current call sites this event only fires if a rank ladder broader
|
|
131
|
+
* than the binary's list is ever threaded through (the codex-shaped future,
|
|
132
|
+
* e.g. `ultra` ranking above a max-capped binary and clamping onto `max`).
|
|
133
|
+
* The seam exists precisely so that future cannot be silent.
|
|
134
|
+
*/
|
|
135
|
+
/**
|
|
136
|
+
* The one INV-105 seam the run yields: the DROP disclosure or the CLAMP
|
|
137
|
+
* disclosure, whichever applies (they are mutually exclusive by construction —
|
|
138
|
+
* a drop sends no flag, a clamp sends a different one), or null when the
|
|
139
|
+
* requested level rode through verbatim or nothing was requested.
|
|
140
|
+
*/
|
|
141
|
+
export declare function claudeEffortDisclosureEvent(spec: Pick<HarnessRunSpec, "session_id" | "effort_hint">, advertised: readonly EffortHint[]): HarnessEvent | null;
|
|
142
|
+
export declare function claudeEffortClampedEvent(spec: Pick<HarnessRunSpec, "session_id" | "effort_hint">, advertised: readonly EffortHint[], ladder?: readonly EffortHint[]): HarnessEvent | null;
|
|
143
|
+
export {};
|
|
144
|
+
//# sourceMappingURL=effort-probe.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"effort-probe.d.ts","sourceRoot":"","sources":["../src/effort-probe.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACtE,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAI/C,eAAO,MAAM,GAAG,QAA+C,CAAC;AAEhE;;;GAGG;AACH,eAAO,MAAM,sBAAsB,EAAE,SAAS,UAAU,EAMvD,CAAC;AAEF,qEAAqE;AACrE,eAAO,MAAM,uCAAuC,YAAY,CAAC;AAEjE;;;;;;;;;;;;GAYG;AACH,wBAAgB,+BAA+B,CAAC,gBAAgB,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAIxF;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,6BAA6B,CAC3C,OAAO,EAAE;IAAE,MAAM,EAAE,SAAS,UAAU,EAAE,CAAC;IAAC,IAAI,EAAE,OAAO,CAAA;CAAE,EACzD,gBAAgB,EAAE,MAAM,GAAG,IAAI,GAC9B,SAAS,UAAU,EAAE,CAGvB;AAED;;;;;;;;GAQG;AACH,wBAAsB,yBAAyB,CAC7C,IAAI,EAAE,IAAI,CAAC,cAAc,EAAE,YAAY,GAAG,aAAa,CAAC,EACxD,IAAI,EAAE;IACJ,iBAAiB,EAAE,OAAO,uBAAuB,CAAC;IAClD,aAAa,EAAE,CAAC,WAAW,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;CACtE,EACD,WAAW,CAAC,EAAE,WAAW,GACxB,OAAO,CAAC;IAAE,UAAU,EAAE,SAAS,UAAU,EAAE,CAAC;IAAC,UAAU,EAAE,YAAY,GAAG,IAAI,CAAA;CAAE,CAAC,CAOjF;AAUD;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,EAAE,GAAG,IAAI,CA2CvE;AAqCD,KAAK,eAAe,GAClB;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAoEjF;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,WAAW,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,eAAe,CAAC,CAYnF;AAED;;;;GAIG;AACH,wBAAsB,uBAAuB,CAC3C,WAAW,CAAC,EAAE,WAAW,GACxB,OAAO,CAAC;IAAE,MAAM,EAAE,SAAS,UAAU,EAAE,CAAC;IAAC,IAAI,EAAE,OAAO,CAAA;CAAE,CAAC,CAI3D;AAED;;;;;;;;GAQG;AACH,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,IAAI,CAAC,cAAc,EAAE,YAAY,GAAG,aAAa,CAAC,EACxD,UAAU,EAAE,SAAS,UAAU,EAAE,GAChC,YAAY,GAAG,IAAI,CAsBrB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH;;;;;GAKG;AACH,wBAAgB,2BAA2B,CACzC,IAAI,EAAE,IAAI,CAAC,cAAc,EAAE,YAAY,GAAG,aAAa,CAAC,EACxD,UAAU,EAAE,SAAS,UAAU,EAAE,GAChC,YAAY,GAAG,IAAI,CAErB;AAED,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,IAAI,CAAC,cAAc,EAAE,YAAY,GAAG,aAAa,CAAC,EACxD,UAAU,EAAE,SAAS,UAAU,EAAE,EACjC,MAAM,GAAE,SAAS,UAAU,EAAe,GACzC,YAAY,GAAG,IAAI,CAerB"}
|
|
@@ -0,0 +1,339 @@
|
|
|
1
|
+
import { EffortHint } from "@claudexor/schema";
|
|
2
|
+
import { normalizeEffort, resolveEffort, runCapture } from "@claudexor/core";
|
|
3
|
+
import { nowIso, redactSecrets } from "@claudexor/util";
|
|
4
|
+
export const BIN = process.env.CLAUDEXOR_CLAUDE_BIN || "claude";
|
|
5
|
+
/**
|
|
6
|
+
* Recorded fallback, captured from `claude --help` on the CLI version stamped
|
|
7
|
+
* below. Used ONLY when the live parse cannot answer.
|
|
8
|
+
*/
|
|
9
|
+
export const CLAUDE_EFFORT_SNAPSHOT = [
|
|
10
|
+
"low",
|
|
11
|
+
"medium",
|
|
12
|
+
"high",
|
|
13
|
+
"xhigh",
|
|
14
|
+
"max",
|
|
15
|
+
];
|
|
16
|
+
/** Vendor CLI version `CLAUDE_EFFORT_SNAPSHOT` was captured from. */
|
|
17
|
+
export const CLAUDE_EFFORT_SNAPSHOT_VERIFIED_AGAINST = "2.1.165";
|
|
18
|
+
/**
|
|
19
|
+
* Whether the recorded snapshot may be TRUSTED for arg emission against the
|
|
20
|
+
* installed binary (INV-105). The snapshot is another `--help`'s recorded
|
|
21
|
+
* answer, so it is only that binary's truth on the exact CLI version it was
|
|
22
|
+
* captured from: 2.1.165 advertises `xhigh`, 2.1.89 rejects it, and a 2.1.89
|
|
23
|
+
* install whose live parse failed used to be handed the 2.1.165 ladder anyway
|
|
24
|
+
* — `--effort xhigh` then went to a CLI that refuses the flag.
|
|
25
|
+
*
|
|
26
|
+
* The installed version string is whatever `claude --version` printed
|
|
27
|
+
* (e.g. `2.1.165 (Claude Code)`), so the comparison extracts the full dotted
|
|
28
|
+
* numeric token and requires it to EQUAL the snapshot stamp exactly. An
|
|
29
|
+
* unknown or unparseable version can never vouch for the snapshot.
|
|
30
|
+
*/
|
|
31
|
+
export function claudeSnapshotTrustedForVersion(installedVersion) {
|
|
32
|
+
if (installedVersion === null)
|
|
33
|
+
return false;
|
|
34
|
+
const token = installedVersion.match(/\d+(?:\.\d+)+/);
|
|
35
|
+
return token !== null && token[0] === CLAUDE_EFFORT_SNAPSHOT_VERIFIED_AGAINST;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* The effort ladder the RUN may resolve `--effort` against, version-gating
|
|
39
|
+
* snapshot trust (INV-105):
|
|
40
|
+
*
|
|
41
|
+
* - a LIVE parse is the installed binary's own answer — trusted on any version;
|
|
42
|
+
* - the snapshot FALLBACK is trusted only when the installed version equals
|
|
43
|
+
* `CLAUDE_EFFORT_SNAPSHOT_VERIFIED_AGAINST` (same binary, same ladder);
|
|
44
|
+
* - a fallback on ANY OTHER version (mismatch, unknown, unparseable) yields an
|
|
45
|
+
* EMPTY ladder: the normalizer then sends no `--effort` flag at all, and the
|
|
46
|
+
* existing drop seam (`claudeEffortIgnoredEvent`) discloses it — the run
|
|
47
|
+
* proceeds at the vendor default rather than forwarding a level another
|
|
48
|
+
* version's snapshot advertises to a binary that may reject it.
|
|
49
|
+
*/
|
|
50
|
+
export function claudeAdvertisedEffortsForRun(efforts, installedVersion) {
|
|
51
|
+
if (efforts.live)
|
|
52
|
+
return efforts.levels;
|
|
53
|
+
return claudeSnapshotTrustedForVersion(installedVersion) ? efforts.levels : [];
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* The RUN's whole INV-105 effort seam in one place: probe the installed
|
|
57
|
+
* binary's ladder, version-gate snapshot-fallback trust
|
|
58
|
+
* (`claudeAdvertisedEffortsForRun`), and derive the DROP/CLAMP disclosure on
|
|
59
|
+
* the SAME advertised list the arg builder will resolve against — so the flag
|
|
60
|
+
* sent and the disclosure emitted can never disagree. The `--version` spawn
|
|
61
|
+
* happens only when it can matter (fallback ladder AND an effort actually
|
|
62
|
+
* requested); a live parse or a hint-less run never pays for it.
|
|
63
|
+
*/
|
|
64
|
+
export async function claudeRunEffortResolution(spec, deps, abortSignal) {
|
|
65
|
+
const efforts = await deps.probeEffortLevels(abortSignal);
|
|
66
|
+
const advertised = efforts.live || !spec.effort_hint
|
|
67
|
+
? efforts.levels
|
|
68
|
+
: claudeAdvertisedEffortsForRun(efforts, await deps.detectVersion(abortSignal));
|
|
69
|
+
return { advertised, disclosure: claudeEffortDisclosureEvent(spec, advertised) };
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* How many lines of a wrapped `--effort` block the parse will read. Generous
|
|
73
|
+
* next to the widest observed wrap (four lines at 40 columns) and still a hard
|
|
74
|
+
* stop, so an `--effort` line that documents nothing cannot reach into a later
|
|
75
|
+
* option's parentheses.
|
|
76
|
+
*/
|
|
77
|
+
const EFFORT_HELP_BLOCK_MAX_LINES = 8;
|
|
78
|
+
/**
|
|
79
|
+
* Pull the advertised levels out of `claude --help` text, or null when the
|
|
80
|
+
* `--effort` line is absent or documents no values.
|
|
81
|
+
*
|
|
82
|
+
* Pure and separately testable: the spawn lives in the adapter's runtime deps so
|
|
83
|
+
* a test can feed recorded help text for any CLI version.
|
|
84
|
+
*/
|
|
85
|
+
export function parseClaudeEffortHelp(help) {
|
|
86
|
+
const lines = help.split(/\r?\n/);
|
|
87
|
+
// Match the flag TOKEN, not a substring: `line.includes("--effort")` also
|
|
88
|
+
// matched `--effort-budget`, anchoring the parse on the wrong flag's block.
|
|
89
|
+
const start = lines.findIndex((line) => line.split(/[\s,]+/).some((token) => token === "--effort"));
|
|
90
|
+
if (start < 0)
|
|
91
|
+
return null;
|
|
92
|
+
// The value list wraps at the rendering width, and a narrower terminal pushes
|
|
93
|
+
// the closing paren further down (2.1.165 at 40 columns needs four lines), so
|
|
94
|
+
// a fixed line count silently loses the list. Read this flag's OWN block
|
|
95
|
+
// instead: everything up to the next documented flag or the blank line that
|
|
96
|
+
// ends the section, bounded so a paren from unrelated prose can never be
|
|
97
|
+
// mistaken for the effort list.
|
|
98
|
+
let end = start + 1;
|
|
99
|
+
for (; end < lines.length && end - start < EFFORT_HELP_BLOCK_MAX_LINES; end += 1) {
|
|
100
|
+
const next = lines[end] ?? "";
|
|
101
|
+
// ANY new option line ends the block, SHORT alias included. Matching only a
|
|
102
|
+
// leading `--` let a layout that renders aliases (` -m, --model <model>`)
|
|
103
|
+
// run straight past the next flag; the block then reached far enough that the
|
|
104
|
+
// LAST parenthesized group came from THAT flag instead — and a group like
|
|
105
|
+
// `(opus, sonnet, haiku)` is comma-separated lowercase slugs, so it passes as
|
|
106
|
+
// a value list and publishes model names as the effort ladder.
|
|
107
|
+
if (next.trim() === "" || /^\s*--?[A-Za-z0-9]/.test(next))
|
|
108
|
+
break;
|
|
109
|
+
}
|
|
110
|
+
const window = lines.slice(start, end).join(" ");
|
|
111
|
+
// The FIRST paren in the block is not necessarily the value list: a vendor
|
|
112
|
+
// annotation can precede it ("Effort level (beta) (low, medium, high, max)"),
|
|
113
|
+
// and `beta` is itself a well-formed slug, so anchoring on the first group
|
|
114
|
+
// published a bogus one-level ladder instead of falling back to the snapshot.
|
|
115
|
+
// Take the LAST group that actually looks like a value list — which also
|
|
116
|
+
// survives an annotation placed AFTER the list.
|
|
117
|
+
let levels = null;
|
|
118
|
+
for (const group of window.matchAll(/\(([^()]*)\)/g)) {
|
|
119
|
+
const parsed = readEffortGroup(group[1] ?? "");
|
|
120
|
+
// Same policy as the codex probe: ONE malformed token inside a value list
|
|
121
|
+
// fails the WHOLE parse (snapshot fallback). Skipping the token instead
|
|
122
|
+
// would publish a silently NARROWED ladder stamped as live — a real level
|
|
123
|
+
// would clamp away or refuse against a list the vendor never printed.
|
|
124
|
+
if (parsed === MALFORMED)
|
|
125
|
+
return null;
|
|
126
|
+
levels = parsed ?? levels;
|
|
127
|
+
}
|
|
128
|
+
return levels;
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* A parenthesized group that ENUMERATES like a value list but carries a token
|
|
132
|
+
* that is not an `EffortHint`. Distinct from `null` (not a value list at all —
|
|
133
|
+
* an annotation like `(beta)`, which is skipped): this poisons the whole parse.
|
|
134
|
+
*/
|
|
135
|
+
const MALFORMED = Symbol("malformed-effort-group");
|
|
136
|
+
/**
|
|
137
|
+
* The levels one parenthesized group advertises, or null when the group is not a
|
|
138
|
+
* value list at all.
|
|
139
|
+
*
|
|
140
|
+
* A group qualifies only if it ENUMERATES (a comma or pipe): with no rank
|
|
141
|
+
* table, a lone `(high)` is indistinguishable from an annotation like
|
|
142
|
+
* `(beta)`, and the vendor's real value list has always enumerated. A help
|
|
143
|
+
* text that ever documents a genuine one-level ladder falls back to the
|
|
144
|
+
* recorded snapshot instead of guessing.
|
|
145
|
+
*
|
|
146
|
+
* STRICT inside an enumerating group, matching the codex probe's reviewed
|
|
147
|
+
* policy: a token that fails the `EffortHint` contract (prose, an over-long
|
|
148
|
+
* slug, invalid characters) is MALFORMED and fails the whole parse, because
|
|
149
|
+
* skipping it would publish a silently narrowed ladder as live — and the
|
|
150
|
+
* snapshot fallback is a real, usable ladder, so strictness costs freshness,
|
|
151
|
+
* never capability.
|
|
152
|
+
*/
|
|
153
|
+
function readEffortGroup(body) {
|
|
154
|
+
if (!/[,|]/.test(body))
|
|
155
|
+
return null;
|
|
156
|
+
const levels = [];
|
|
157
|
+
for (const raw of body.split(/[,|]/)) {
|
|
158
|
+
const parsed = EffortHint.safeParse(raw.trim());
|
|
159
|
+
if (!parsed.success)
|
|
160
|
+
return MALFORMED;
|
|
161
|
+
if (!levels.includes(parsed.data))
|
|
162
|
+
levels.push(parsed.data);
|
|
163
|
+
}
|
|
164
|
+
return levels.length > 0 ? levels : null;
|
|
165
|
+
}
|
|
166
|
+
/**
|
|
167
|
+
* Wall clock the shared capture is bounded by. It replaces the caller abort
|
|
168
|
+
* signal that used to bound it, so the spawn still cannot hang forever without
|
|
169
|
+
* belonging to any one caller.
|
|
170
|
+
*/
|
|
171
|
+
const HELP_PROBE_TIMEOUT_MS = 10_000;
|
|
172
|
+
let helpProbePromise = null;
|
|
173
|
+
/** What an abandoned caller reads, without the shared capture ever seeing it. */
|
|
174
|
+
function abandonedProbe() {
|
|
175
|
+
return { ok: false, error: "claude --help probe abandoned: the caller was cancelled" };
|
|
176
|
+
}
|
|
177
|
+
/**
|
|
178
|
+
* The ONE `claude --help` capture, owned by the module rather than by whichever
|
|
179
|
+
* caller happened to ask for it first. The readonly-flag probe and the effort
|
|
180
|
+
* ladder both ask the same installed binary the same question, so they share a
|
|
181
|
+
* single spawn rather than growing a second discovery mechanism.
|
|
182
|
+
*
|
|
183
|
+
* Two properties keep the sharing honest, and the first cache had neither:
|
|
184
|
+
*
|
|
185
|
+
* 1. NO CALLER'S ABORT SIGNAL REACHES THE SPAWN. Threading the first caller's
|
|
186
|
+
* signal in here made a process-wide resource the private property of one
|
|
187
|
+
* run: cancelling that run killed the capture, and the memo then handed the
|
|
188
|
+
* corpse to every later run. Its own wall clock bounds it instead.
|
|
189
|
+
* 2. ONLY AN ANSWER IS KEPT. A `--help` that never ran (spawn error) or that the
|
|
190
|
+
* timeout killed (`code === null`, no exit status of its own) says nothing
|
|
191
|
+
* about the installed binary, so keeping it turns one bad moment into a
|
|
192
|
+
* permanent one; those outcomes drop the memo and the next caller re-probes.
|
|
193
|
+
* A real exit is a fact about this binary — non-zero included — and stays.
|
|
194
|
+
*
|
|
195
|
+
* The stakes are higher than staleness. The ladder falls back to a snapshot
|
|
196
|
+
* recorded from CLAUDE_EFFORT_SNAPSHOT_VERIFIED_AGAINST, so a poisoned memo on a
|
|
197
|
+
* machine running an older CLI does not merely lose freshness: it advertises and
|
|
198
|
+
* forwards `xhigh` to a binary that rejects it, for the life of the daemon.
|
|
199
|
+
*/
|
|
200
|
+
function sharedHelpCapture() {
|
|
201
|
+
if (helpProbePromise)
|
|
202
|
+
return helpProbePromise;
|
|
203
|
+
const pending = (async () => {
|
|
204
|
+
try {
|
|
205
|
+
const result = await runCapture(BIN, ["--help"], {
|
|
206
|
+
timeoutMs: HELP_PROBE_TIMEOUT_MS,
|
|
207
|
+
cancelSignal: "SIGTERM",
|
|
208
|
+
cancelKillDelayMs: 0,
|
|
209
|
+
});
|
|
210
|
+
return { ok: true, help: `${result.stdout}\n${result.stderr}`, code: result.code };
|
|
211
|
+
}
|
|
212
|
+
catch (error) {
|
|
213
|
+
return {
|
|
214
|
+
ok: false,
|
|
215
|
+
error: redactSecrets(error instanceof Error ? error.message : String(error)),
|
|
216
|
+
};
|
|
217
|
+
}
|
|
218
|
+
})();
|
|
219
|
+
helpProbePromise = pending;
|
|
220
|
+
// Identity-guarded so a late settle can only ever clear its OWN memo, never a
|
|
221
|
+
// re-probe another caller has already started.
|
|
222
|
+
const forget = () => {
|
|
223
|
+
if (helpProbePromise === pending)
|
|
224
|
+
helpProbePromise = null;
|
|
225
|
+
};
|
|
226
|
+
void pending.then((probe) => {
|
|
227
|
+
if (!probe.ok || probe.code === null)
|
|
228
|
+
forget();
|
|
229
|
+
}, forget);
|
|
230
|
+
return pending;
|
|
231
|
+
}
|
|
232
|
+
/**
|
|
233
|
+
* The shared capture, with the caller's cancellation bounding only the CALLER'S
|
|
234
|
+
* OWN wait. An abandoned caller reads a probe failure — its run is going away
|
|
235
|
+
* anyway, and the ladder falls back to the snapshot for that one run — while the
|
|
236
|
+
* capture keeps running for everybody else.
|
|
237
|
+
*/
|
|
238
|
+
export function probeClaudeHelp(abortSignal) {
|
|
239
|
+
const shared = sharedHelpCapture();
|
|
240
|
+
if (!abortSignal)
|
|
241
|
+
return shared;
|
|
242
|
+
if (abortSignal.aborted)
|
|
243
|
+
return Promise.resolve(abandonedProbe());
|
|
244
|
+
return new Promise((resolve) => {
|
|
245
|
+
const abandon = () => resolve(abandonedProbe());
|
|
246
|
+
abortSignal.addEventListener("abort", abandon, { once: true });
|
|
247
|
+
void shared.then((probe) => {
|
|
248
|
+
abortSignal.removeEventListener("abort", abandon);
|
|
249
|
+
resolve(probe);
|
|
250
|
+
});
|
|
251
|
+
});
|
|
252
|
+
}
|
|
253
|
+
/**
|
|
254
|
+
* The effort ladder the INSTALLED claude binary advertises, falling back to the
|
|
255
|
+
* recorded snapshot when `--help` cannot be read or no longer documents the
|
|
256
|
+
* values. A probe failure costs freshness, never the run.
|
|
257
|
+
*/
|
|
258
|
+
export async function probeClaudeEffortLevels(abortSignal) {
|
|
259
|
+
const probe = await probeClaudeHelp(abortSignal);
|
|
260
|
+
const parsed = probe.ok ? parseClaudeEffortHelp(probe.help) : null;
|
|
261
|
+
return parsed ? { levels: parsed, live: true } : { levels: CLAUDE_EFFORT_SNAPSHOT, live: false };
|
|
262
|
+
}
|
|
263
|
+
/**
|
|
264
|
+
* The INV-105 disclosure for an effort the RUN itself could not honor, or null
|
|
265
|
+
* when nothing was dropped. Preflight validates against the manifest ladder,
|
|
266
|
+
* but the arg builder resolves against what the INSTALLED binary advertises at
|
|
267
|
+
* run time (an older CLI's `--help` can be narrower than the discovered
|
|
268
|
+
* manifest), and its normalizer answers "send no flag" — which without this
|
|
269
|
+
* event was a silent vendor-default run. The payload rides the same
|
|
270
|
+
* `ignored_settings` channel governance uses (QA-070 timeline warning).
|
|
271
|
+
*/
|
|
272
|
+
export function claudeEffortIgnoredEvent(spec, advertised) {
|
|
273
|
+
if (!spec.effort_hint)
|
|
274
|
+
return null;
|
|
275
|
+
if (normalizeEffort(spec.effort_hint, advertised) !== null)
|
|
276
|
+
return null;
|
|
277
|
+
// An EMPTY advertised list is the version-gated snapshot distrust case
|
|
278
|
+
// (`claudeAdvertisedEffortsForRun`): the installed binary's ladder could not
|
|
279
|
+
// be read and the recorded snapshot belongs to a different CLI version, so
|
|
280
|
+
// the honest statement is "unverifiable", not "not accepted".
|
|
281
|
+
const detail = advertised.length > 0
|
|
282
|
+
? `effort=${spec.effort_hint} (not accepted by the installed claude CLI; ` +
|
|
283
|
+
`it advertises: ${advertised.join(", ")}; the run used the vendor default)`
|
|
284
|
+
: `effort=${spec.effort_hint} (could not be verified against the installed claude CLI: ` +
|
|
285
|
+
"its effort ladder could not be read from --help, and the recorded snapshot was " +
|
|
286
|
+
`captured from CLI ${CLAUDE_EFFORT_SNAPSHOT_VERIFIED_AGAINST}, a different version, ` +
|
|
287
|
+
"so no effort flag was sent; the run used the vendor default)";
|
|
288
|
+
return {
|
|
289
|
+
type: "message",
|
|
290
|
+
session_id: spec.session_id,
|
|
291
|
+
ts: nowIso(),
|
|
292
|
+
text: `[effort] ignored: ${detail}`,
|
|
293
|
+
payload: { ignored_settings: [detail] },
|
|
294
|
+
};
|
|
295
|
+
}
|
|
296
|
+
/**
|
|
297
|
+
* The INV-105 disclosure for an effort the resolution CLAMPED, or null when the
|
|
298
|
+
* level rode through verbatim (or was dropped — `claudeEffortIgnoredEvent`'s
|
|
299
|
+
* shape; the two are mutually exclusive: a drop sends no flag, a clamp sends a
|
|
300
|
+
* different one). Mirrors the codex clamp seam so a moved level is disclosed
|
|
301
|
+
* the same way on both adapters, and takes the SAME (advertised, ladder)
|
|
302
|
+
* inputs the arg builder's normalizer takes so the disclosure can never
|
|
303
|
+
* disagree with the flag actually sent.
|
|
304
|
+
*
|
|
305
|
+
* Reachability today: the arg builder resolves with the installed binary's own
|
|
306
|
+
* list as both advertised set and rank ladder (`normalizeEffort`'s two-arg
|
|
307
|
+
* form), and against one's own ladder every miss is a DROP, never a clamp —
|
|
308
|
+
* so with current call sites this event only fires if a rank ladder broader
|
|
309
|
+
* than the binary's list is ever threaded through (the codex-shaped future,
|
|
310
|
+
* e.g. `ultra` ranking above a max-capped binary and clamping onto `max`).
|
|
311
|
+
* The seam exists precisely so that future cannot be silent.
|
|
312
|
+
*/
|
|
313
|
+
/**
|
|
314
|
+
* The one INV-105 seam the run yields: the DROP disclosure or the CLAMP
|
|
315
|
+
* disclosure, whichever applies (they are mutually exclusive by construction —
|
|
316
|
+
* a drop sends no flag, a clamp sends a different one), or null when the
|
|
317
|
+
* requested level rode through verbatim or nothing was requested.
|
|
318
|
+
*/
|
|
319
|
+
export function claudeEffortDisclosureEvent(spec, advertised) {
|
|
320
|
+
return claudeEffortIgnoredEvent(spec, advertised) ?? claudeEffortClampedEvent(spec, advertised);
|
|
321
|
+
}
|
|
322
|
+
export function claudeEffortClampedEvent(spec, advertised, ladder = advertised) {
|
|
323
|
+
if (!spec.effort_hint)
|
|
324
|
+
return null;
|
|
325
|
+
const check = resolveEffort(spec.effort_hint, advertised, ladder);
|
|
326
|
+
if (check.status !== "ok" || !check.clamped || check.effort === null)
|
|
327
|
+
return null;
|
|
328
|
+
const detail = `effort=${spec.effort_hint} (clamped to ${check.effort}: the requested level is not ` +
|
|
329
|
+
`advertised by the installed claude CLI (it advertises: ${advertised.join(", ")}), ` +
|
|
330
|
+
`so the run sent ${check.effort}, the nearest level it advertises)`;
|
|
331
|
+
return {
|
|
332
|
+
type: "message",
|
|
333
|
+
session_id: spec.session_id,
|
|
334
|
+
ts: nowIso(),
|
|
335
|
+
text: `[effort] clamped: ${detail}`,
|
|
336
|
+
payload: { ignored_settings: [detail] },
|
|
337
|
+
};
|
|
338
|
+
}
|
|
339
|
+
//# sourceMappingURL=effort-probe.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"effort-probe.js","sourceRoot":"","sources":["../src/effort-probe.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import type { AuthSourceReadiness, HarnessRunSpec } from "@claudexor/schema";
|
|
1
|
+
import type { AuthSourceReadiness, EffortHint, HarnessRunSpec } from "@claudexor/schema";
|
|
2
2
|
import type { HarnessAdapter } from "@claudexor/core";
|
|
3
3
|
import { runCapture, runCliHarness, selectStrictAuthRoute } from "@claudexor/core";
|
|
4
4
|
export { claudeAccountIdentity, defaultNativeClaudeConfigDir } from "./native-home.js";
|
|
5
5
|
export { canonicalProfileConfigDir } from "./profile.js";
|
|
6
6
|
import { smokeIsolatedApiKey, smokeIsolatedOAuthToken } from "./smoke.js";
|
|
7
|
-
|
|
7
|
+
import { probeClaudeEffortLevels } from "./effort-probe.js";
|
|
8
|
+
export { BIN, CLAUDE_EFFORT_SNAPSHOT } from "./effort-probe.js";
|
|
8
9
|
export declare const CLAUDE_PROVIDER_ENV_DENYLIST: string[];
|
|
9
10
|
/** Exported for focused route-policy tests; runtime uses this exact selector. */
|
|
10
11
|
export declare const selectClaudeRunAuthRoute: typeof selectStrictAuthRoute;
|
|
@@ -13,6 +14,14 @@ export interface ClaudeReadonlyProfileProbe {
|
|
|
13
14
|
missingFlags: string[];
|
|
14
15
|
detail: string;
|
|
15
16
|
}
|
|
17
|
+
/**
|
|
18
|
+
* Derived from the SHARED `--help` capture on every call instead of behind a
|
|
19
|
+
* second cache of its own. That cache had the same defect as the one under it —
|
|
20
|
+
* a probe that failed once (or that a cancelled run read) stayed failed for the
|
|
21
|
+
* process lifetime, so a long-lived daemon reported readonly enforcement
|
|
22
|
+
* unavailable forever. It bought nothing either: the spawn is already memoized,
|
|
23
|
+
* and what is left is a handful of `includes` over text we already hold.
|
|
24
|
+
*/
|
|
16
25
|
export declare function probeClaudeReadonlyProfile(abortSignal?: AbortSignal): Promise<ClaudeReadonlyProfileProbe>;
|
|
17
26
|
declare function detectVersion(abortSignal?: AbortSignal): Promise<string | null>;
|
|
18
27
|
/**
|
|
@@ -69,8 +78,13 @@ type ClaudeRuntimeDeps = {
|
|
|
69
78
|
smokeIsolatedApiKey: typeof smokeIsolatedApiKey;
|
|
70
79
|
smokeIsolatedOAuthToken: typeof smokeIsolatedOAuthToken;
|
|
71
80
|
probeReadonlyProfile: typeof probeClaudeReadonlyProfile;
|
|
81
|
+
/** Effort ladder of the installed binary; falls back to the recorded snapshot. */
|
|
82
|
+
probeEffortLevels: typeof probeClaudeEffortLevels;
|
|
72
83
|
runCliHarness: typeof runCliHarness;
|
|
73
84
|
};
|
|
74
85
|
export declare function createClaudeAdapter(deps?: Partial<ClaudeRuntimeDeps>): HarnessAdapter;
|
|
75
|
-
export declare function claudeArgsForSpec(spec: HarnessRunSpec, interactive?: boolean, suppressBare?: boolean
|
|
86
|
+
export declare function claudeArgsForSpec(spec: HarnessRunSpec, interactive?: boolean, suppressBare?: boolean,
|
|
87
|
+
/** What the installed CLI advertises; the recorded snapshot by default so
|
|
88
|
+
* arg-shape callers stay synchronous and the probe stays optional. */
|
|
89
|
+
advertisedEfforts?: readonly EffortHint[]): string[];
|
|
76
90
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,mBAAmB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -10,16 +10,11 @@ import { createClaudeParser } from "./parse.js";
|
|
|
10
10
|
import { probeClaudeCredentialProfile, resolveClaudeProfileRoute } from "./profile.js";
|
|
11
11
|
export { canonicalProfileConfigDir } from "./profile.js";
|
|
12
12
|
import { smokeIsolatedApiKey, smokeIsolatedOAuthToken } from "./smoke.js";
|
|
13
|
+
import { BIN, CLAUDE_EFFORT_SNAPSHOT, CLAUDE_EFFORT_SNAPSHOT_VERIFIED_AGAINST, claudeRunEffortResolution, probeClaudeEffortLevels, probeClaudeHelp, } from "./effort-probe.js";
|
|
14
|
+
export { BIN, CLAUDE_EFFORT_SNAPSHOT } from "./effort-probe.js";
|
|
13
15
|
import { claudeAttachmentBlocks, handleControlRequestFrame, initialSessionFrames, isControlRequestFrame, isResultFrame, } from "./interactive.js";
|
|
14
|
-
export const BIN = process.env.CLAUDEXOR_CLAUDE_BIN || "claude";
|
|
15
16
|
export const CLAUDE_PROVIDER_ENV_DENYLIST = PROVIDER_SECRET_ENV.filter((k) => k !== "ANTHROPIC_API_KEY");
|
|
16
|
-
|
|
17
|
-
* Ordered (weakest→strongest) reasoning-effort levels `claude --effort` accepts.
|
|
18
|
-
* Verified against the installed CLI (`claude --help`, v2.1.165): the full
|
|
19
|
-
* ladder is low|medium|high|max. SINGLE source for the manifest's
|
|
20
|
-
* `effort_levels` and the run-time normalizer (which now clamps nothing away).
|
|
21
|
-
*/
|
|
22
|
-
const CLAUDE_EFFORT_LEVELS = ["low", "medium", "high", "max"];
|
|
17
|
+
// The `--effort` ladder is read from the INSTALLED binary (`probeClaudeEffortLevels`).
|
|
23
18
|
/** Exported for focused route-policy tests; runtime uses this exact selector. */
|
|
24
19
|
export const selectClaudeRunAuthRoute = selectStrictAuthRoute;
|
|
25
20
|
function permissionArgs(access) {
|
|
@@ -54,40 +49,36 @@ const CLAUDE_READONLY_REQUIRED_FLAGS = [
|
|
|
54
49
|
"--disable-slash-commands",
|
|
55
50
|
"--no-chrome",
|
|
56
51
|
];
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
};
|
|
88
|
-
}
|
|
89
|
-
})();
|
|
90
|
-
return readonlyProbePromise;
|
|
52
|
+
/**
|
|
53
|
+
* Derived from the SHARED `--help` capture on every call instead of behind a
|
|
54
|
+
* second cache of its own. That cache had the same defect as the one under it —
|
|
55
|
+
* a probe that failed once (or that a cancelled run read) stayed failed for the
|
|
56
|
+
* process lifetime, so a long-lived daemon reported readonly enforcement
|
|
57
|
+
* unavailable forever. It bought nothing either: the spawn is already memoized,
|
|
58
|
+
* and what is left is a handful of `includes` over text we already hold.
|
|
59
|
+
*/
|
|
60
|
+
export async function probeClaudeReadonlyProfile(abortSignal) {
|
|
61
|
+
const probe = await probeClaudeHelp(abortSignal);
|
|
62
|
+
if (!probe.ok) {
|
|
63
|
+
return {
|
|
64
|
+
supported: false,
|
|
65
|
+
missingFlags: [...CLAUDE_READONLY_REQUIRED_FLAGS],
|
|
66
|
+
detail: `readonly enforcement probe failed: ${probe.error}`,
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
const help = probe.help;
|
|
70
|
+
const missingFlags = CLAUDE_READONLY_REQUIRED_FLAGS.filter((flag) => !help.includes(flag));
|
|
71
|
+
const hasPlanMode = help.includes('"plan"') || help.includes("plan,") || help.includes(", plan");
|
|
72
|
+
if (!hasPlanMode)
|
|
73
|
+
missingFlags.push("--permission-mode=plan");
|
|
74
|
+
const supported = probe.code === 0 && missingFlags.length === 0;
|
|
75
|
+
return {
|
|
76
|
+
supported,
|
|
77
|
+
missingFlags,
|
|
78
|
+
detail: supported
|
|
79
|
+
? "installed Claude CLI exposes the complete restrictive readonly flag set"
|
|
80
|
+
: `readonly enforcement unavailable; missing ${missingFlags.join(", ") || `help exited ${probe.code}`}`,
|
|
81
|
+
};
|
|
91
82
|
}
|
|
92
83
|
async function detectVersion(abortSignal) {
|
|
93
84
|
try {
|
|
@@ -219,6 +210,7 @@ export function createClaudeAdapter(deps = {}) {
|
|
|
219
210
|
smokeIsolatedApiKey,
|
|
220
211
|
smokeIsolatedOAuthToken,
|
|
221
212
|
probeReadonlyProfile: probeClaudeReadonlyProfile,
|
|
213
|
+
probeEffortLevels: probeClaudeEffortLevels,
|
|
222
214
|
runCliHarness,
|
|
223
215
|
...deps,
|
|
224
216
|
};
|
|
@@ -231,6 +223,9 @@ export function createClaudeAdapter(deps = {}) {
|
|
|
231
223
|
}
|
|
232
224
|
const apiKey = runtime.anthropicApiKey() !== null;
|
|
233
225
|
const readonlyProfile = await runtime.probeReadonlyProfile();
|
|
226
|
+
// The ladder belongs to the INSTALLED CLI, so read it from that binary
|
|
227
|
+
// rather than declaring one version's list for every version.
|
|
228
|
+
const efforts = await runtime.probeEffortLevels();
|
|
234
229
|
const native = await runtime.probeAuthStatus(BIN, { env: claudeNativeEnv() });
|
|
235
230
|
const authed = native.authed;
|
|
236
231
|
const oauthTokenAvailable = runtime.claudeOAuthToken() !== null;
|
|
@@ -267,9 +262,13 @@ export function createClaudeAdapter(deps = {}) {
|
|
|
267
262
|
max_turns: true,
|
|
268
263
|
tool_lists: true,
|
|
269
264
|
interactive: true,
|
|
270
|
-
//
|
|
271
|
-
// the
|
|
272
|
-
|
|
265
|
+
// Whatever THIS binary's --help documents; the snapshot fills in when
|
|
266
|
+
// the parse fails. Claude's ladder is CLI-wide, not per model, so
|
|
267
|
+
// `model_effort_levels` stays empty and every model falls back here.
|
|
268
|
+
effort_levels: [...efforts.levels],
|
|
269
|
+
effort_levels_verified_against: efforts.live
|
|
270
|
+
? version
|
|
271
|
+
: CLAUDE_EFFORT_SNAPSHOT_VERIFIED_AGAINST,
|
|
273
272
|
// Manifest model truth source (strict model-truth validation: an explicit model outside
|
|
274
273
|
// this list is refused, never forwarded to die as a native error).
|
|
275
274
|
// Stable aliases plus current full ids; verified against the vendor
|
|
@@ -525,7 +524,10 @@ const CLAUDE_READONLY_DENIED_TOOLS = [
|
|
|
525
524
|
"Agent",
|
|
526
525
|
"Skill",
|
|
527
526
|
];
|
|
528
|
-
export function claudeArgsForSpec(spec, interactive = false, suppressBare = false
|
|
527
|
+
export function claudeArgsForSpec(spec, interactive = false, suppressBare = false,
|
|
528
|
+
/** What the installed CLI advertises; the recorded snapshot by default so
|
|
529
|
+
* arg-shape callers stay synchronous and the probe stays optional. */
|
|
530
|
+
advertisedEfforts = CLAUDE_EFFORT_SNAPSHOT) {
|
|
529
531
|
// Interactive sessions deliver the prompt as a stream-json user message on
|
|
530
532
|
// stdin (the control protocol's transport); one-shot runs keep the prompt arg.
|
|
531
533
|
// `--permission-prompt-tool stdio` is the live-verified switch that routes
|
|
@@ -556,9 +558,11 @@ export function claudeArgsForSpec(spec, interactive = false, suppressBare = fals
|
|
|
556
558
|
// W-C4 live deltas (engine-gated to single-candidate lanes; parser tags payload.delta).
|
|
557
559
|
if (spec.stream_deltas)
|
|
558
560
|
args.push("--include-partial-messages");
|
|
559
|
-
//
|
|
560
|
-
//
|
|
561
|
-
|
|
561
|
+
// Resolve against what the INSTALLED CLI advertises: an advertised level goes
|
|
562
|
+
// through verbatim (so a newer binary's level needs no code change here), a
|
|
563
|
+
// rankable one clamps, and anything else sends no flag rather than a level the
|
|
564
|
+
// vendor would reject. Null = not requested OR not tunable -> pass no flag.
|
|
565
|
+
const eff = normalizeEffort(spec.effort_hint, advertisedEfforts);
|
|
562
566
|
if (eff)
|
|
563
567
|
args.push("--effort", eff);
|
|
564
568
|
if (spec.max_turns !== null && spec.max_turns > 0)
|
|
@@ -773,7 +777,15 @@ async function* runClaude(spec, runtime) {
|
|
|
773
777
|
}
|
|
774
778
|
}
|
|
775
779
|
const useSubscription = route === "subscription";
|
|
776
|
-
|
|
780
|
+
// Shared with discovery through the memoized --help probe, so a run never
|
|
781
|
+
// re-spawns the CLI just to learn its ladder.
|
|
782
|
+
// INV-105 on the RUN: probe the installed ladder, version-gate snapshot
|
|
783
|
+
// fallback trust (an installed 2.1.89 is never sent the 2.1.165 snapshot's
|
|
784
|
+
// xhigh), and disclose a DROP/CLAMP on the same inputs the args resolve with.
|
|
785
|
+
const effort = await claudeRunEffortResolution(spec, runtime, abortSignalFromSpec(spec));
|
|
786
|
+
const args = claudeArgsForSpec(spec, interactive, useSubscription, effort.advertised);
|
|
787
|
+
if (effort.disclosure)
|
|
788
|
+
yield effort.disclosure;
|
|
777
789
|
// Scrub EVERY provider secret (incl. OpenAI/others — the cross-provider leak
|
|
778
790
|
// fix) via the single core table, then re-add only the var this route needs.
|
|
779
791
|
const env = subscriptionSource === "native_session" ? nativeEnv : { ...spec.env, ...providerScrubEnv() };
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@claudexor/harness-claude",
|
|
3
|
-
"version": "3.1.
|
|
3
|
+
"version": "3.1.1",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"description": "Claude Code adapter (claude -p --output-format stream-json).",
|
|
6
6
|
"type": "module",
|
|
@@ -16,10 +16,10 @@
|
|
|
16
16
|
"dist"
|
|
17
17
|
],
|
|
18
18
|
"dependencies": {
|
|
19
|
-
"@claudexor/core": "3.1.
|
|
20
|
-
"@claudexor/
|
|
21
|
-
"@claudexor/
|
|
22
|
-
"@claudexor/util": "3.1.
|
|
19
|
+
"@claudexor/core": "3.1.1",
|
|
20
|
+
"@claudexor/secrets": "3.1.1",
|
|
21
|
+
"@claudexor/schema": "3.1.1",
|
|
22
|
+
"@claudexor/util": "3.1.1"
|
|
23
23
|
},
|
|
24
24
|
"repository": {
|
|
25
25
|
"type": "git",
|