@dungle-scrubs/harness-cli-normalizer 0.3.0 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +70 -86
- package/dist/cli/args.d.ts +11 -0
- package/dist/cli/args.d.ts.map +1 -1
- package/dist/cli/args.js +23 -5
- package/dist/cli/args.js.map +1 -1
- package/dist/cli/config.d.ts +25 -0
- package/dist/cli/config.d.ts.map +1 -0
- package/dist/cli/config.js +139 -0
- package/dist/cli/config.js.map +1 -0
- package/dist/cli/index.d.ts +2 -0
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +25 -9
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/inspect.d.ts.map +1 -1
- package/dist/cli/inspect.js +35 -1
- package/dist/cli/inspect.js.map +1 -1
- package/dist/cli/render.d.ts.map +1 -1
- package/dist/cli/render.js +10 -1
- package/dist/cli/render.js.map +1 -1
- package/dist/cli/run.d.ts.map +1 -1
- package/dist/cli/run.js +134 -4
- package/dist/cli/run.js.map +1 -1
- package/dist/cli.js +2 -1
- package/dist/execution/failure.d.ts +21 -4
- package/dist/execution/failure.d.ts.map +1 -1
- package/dist/execution/failure.js +26 -3
- package/dist/execution/failure.js.map +1 -1
- package/dist/execution/stream-turn.d.ts +7 -1
- package/dist/execution/stream-turn.d.ts.map +1 -1
- package/dist/execution/stream-turn.js +43 -20
- package/dist/execution/stream-turn.js.map +1 -1
- package/dist/interpretation/argv.d.ts +1 -0
- package/dist/interpretation/argv.d.ts.map +1 -1
- package/dist/interpretation/argv.js +13 -19
- package/dist/interpretation/argv.js.map +1 -1
- package/dist/interpretation/hints.d.ts +22 -0
- package/dist/interpretation/hints.d.ts.map +1 -0
- package/dist/interpretation/hints.js +59 -0
- package/dist/interpretation/hints.js.map +1 -0
- package/dist/interpretation/refusal.d.ts +25 -4
- package/dist/interpretation/refusal.d.ts.map +1 -1
- package/dist/interpretation/refusal.js +16 -0
- package/dist/interpretation/refusal.js.map +1 -1
- package/dist/interpretation/resolve-options.d.ts +42 -0
- package/dist/interpretation/resolve-options.d.ts.map +1 -0
- package/dist/interpretation/resolve-options.js +140 -0
- package/dist/interpretation/resolve-options.js.map +1 -0
- package/dist/interpretation/store.js +1 -1
- package/dist/interpretation/support.d.ts +32 -0
- package/dist/interpretation/support.d.ts.map +1 -0
- package/dist/interpretation/support.js +107 -0
- package/dist/interpretation/support.js.map +1 -0
- package/dist/interpretation/tool-selection.d.ts +29 -0
- package/dist/interpretation/tool-selection.d.ts.map +1 -0
- package/dist/interpretation/tool-selection.js +122 -0
- package/dist/interpretation/tool-selection.js.map +1 -0
- package/dist/interpretation/turn-options.d.ts.map +1 -1
- package/dist/interpretation/turn-options.js +4 -0
- package/dist/interpretation/turn-options.js.map +1 -1
- package/dist/knowledge/claude-code.d.ts +2 -2
- package/dist/knowledge/claude-code.d.ts.map +1 -1
- package/dist/knowledge/claude-code.js +37 -4
- package/dist/knowledge/claude-code.js.map +1 -1
- package/dist/knowledge/codex.d.ts.map +1 -1
- package/dist/knowledge/codex.js +19 -0
- package/dist/knowledge/codex.js.map +1 -1
- package/dist/knowledge/descriptor.d.ts +32 -0
- package/dist/knowledge/descriptor.d.ts.map +1 -1
- package/dist/knowledge/muse.d.ts.map +1 -1
- package/dist/knowledge/muse.js +22 -0
- package/dist/knowledge/muse.js.map +1 -1
- package/dist/knowledge/pi.d.ts +1 -1
- package/dist/knowledge/pi.d.ts.map +1 -1
- package/dist/knowledge/pi.js +29 -6
- package/dist/knowledge/pi.js.map +1 -1
- package/dist/knowledge/profile.d.ts +13 -0
- package/dist/knowledge/profile.d.ts.map +1 -0
- package/dist/knowledge/profile.js +31 -0
- package/dist/knowledge/profile.js.map +1 -0
- package/package.json +2 -23
- package/src/cli/args.ts +31 -1
- package/src/cli/config.ts +166 -0
- package/src/cli/index.ts +25 -12
- package/src/cli/inspect.ts +34 -1
- package/src/cli/render.ts +10 -1
- package/src/cli/run.ts +161 -5
- package/src/execution/failure.ts +44 -5
- package/src/execution/stream-turn.ts +43 -14
- package/src/interpretation/argv.ts +14 -19
- package/src/interpretation/hints.ts +99 -0
- package/src/interpretation/refusal.ts +32 -3
- package/src/interpretation/resolve-options.ts +190 -0
- package/src/interpretation/store.ts +1 -1
- package/src/interpretation/support.ts +119 -0
- package/src/interpretation/tool-selection.ts +161 -0
- package/src/interpretation/turn-options.ts +4 -0
- package/src/knowledge/claude-code.ts +37 -4
- package/src/knowledge/codex.ts +19 -0
- package/src/knowledge/descriptor.ts +32 -0
- package/src/knowledge/muse.ts +22 -0
- package/src/knowledge/pi.ts +29 -6
- package/src/knowledge/profile.ts +33 -0
- package/dist/index.d.ts +0 -8
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -8
- package/dist/index.js.map +0 -1
- package/src/index.ts +0 -7
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
import { DEFAULT_TURN_PROFILE } from "../knowledge/profile.js";
|
|
2
|
+
/** D5: the project floor caps arg grants; exceeding it refuses naming both
|
|
3
|
+
* sets. Structured-first: fields, not prose parsing. */
|
|
4
|
+
export class FloorExceededError extends Error {
|
|
5
|
+
harness;
|
|
6
|
+
excess;
|
|
7
|
+
floor;
|
|
8
|
+
constructor(harness, excess, floor) {
|
|
9
|
+
super(`tool grant exceeds the project floor: ${JSON.stringify(excess)} not in floor ${JSON.stringify(floor)} - request a grant within the floor or raise the floor in the project config`);
|
|
10
|
+
this.name = "FloorExceededError";
|
|
11
|
+
this.harness = harness;
|
|
12
|
+
this.excess = excess;
|
|
13
|
+
this.floor = floor;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
/** Expressibility per profile dimension. Dimensions whose "on" state is
|
|
17
|
+
* the harness's own default (discovery all-on) or whose "off" state emits
|
|
18
|
+
* nothing (autonomy false) are expressible EVERYWHERE - the profile value
|
|
19
|
+
* resolves to "emit nothing," which every harness can do. Divergence is
|
|
20
|
+
* reserved for dimensions that would emit a flag the harness lacks. */
|
|
21
|
+
const EXPRESSIBLE = {
|
|
22
|
+
effort: (h) => h.turnOptions.effort !== undefined,
|
|
23
|
+
sandbox: (h) => h.turnOptions.sandbox !== undefined,
|
|
24
|
+
discovery: () => true,
|
|
25
|
+
autonomy: () => true,
|
|
26
|
+
};
|
|
27
|
+
/** Merge semantics (gap 1, resolved): config keys are scalars and lists in
|
|
28
|
+
* schema v1 - there is nothing to deep-merge INTO - so precedence is whole-
|
|
29
|
+
* key replacement: arg > project > user > profile. A future nested key
|
|
30
|
+
* (per-harness sections) ships with schema v2 and its own merge rule. */
|
|
31
|
+
const effectiveConfig = (tiers) => ({
|
|
32
|
+
...(tiers.user ?? {}),
|
|
33
|
+
...(tiers.project ?? {}),
|
|
34
|
+
});
|
|
35
|
+
/** Resolve the effective options for a LAUNCH. `args` is what the caller
|
|
36
|
+
* passed explicitly (highest tier); `userConfig` the parsed config file;
|
|
37
|
+
* the profile is the floor. Keys absent everywhere defer to the harness
|
|
38
|
+
* and are reported with tier "harness" only when something (config or
|
|
39
|
+
* profile) attempted them - a truly untouched dimension is nobody's
|
|
40
|
+
* business and appears in provenance as tier "harness" with no value. */
|
|
41
|
+
/** A discovery value emits nothing when every facet is true (on). */
|
|
42
|
+
const emitsNothing = (value) => typeof value === "object" &&
|
|
43
|
+
value !== null &&
|
|
44
|
+
Object.values(value).every((v) => v === true);
|
|
45
|
+
export const resolveEffectiveOptions = (h, args, tiers = {}) => {
|
|
46
|
+
const provenance = [];
|
|
47
|
+
const unrenderable = [];
|
|
48
|
+
const config = effectiveConfig(tiers);
|
|
49
|
+
const sourceTier = (key) => {
|
|
50
|
+
if (tiers.project?.[key] !== undefined)
|
|
51
|
+
return "project-config";
|
|
52
|
+
if (tiers.user?.[key] !== undefined)
|
|
53
|
+
return "user-config";
|
|
54
|
+
return undefined;
|
|
55
|
+
};
|
|
56
|
+
// D5 toolset expansion: a bare --tools name matching a configured
|
|
57
|
+
// toolset resolves to its list BEFORE the floor check, so a named set
|
|
58
|
+
// within the floor passes and one exceeding it refuses naming the set's
|
|
59
|
+
// members. Project toolsets win name collisions over user toolsets.
|
|
60
|
+
const toolsets = {
|
|
61
|
+
...(tiers.user?.toolsets ?? {}),
|
|
62
|
+
...(tiers.project?.toolsets ?? {}),
|
|
63
|
+
};
|
|
64
|
+
let effectiveArgs = args;
|
|
65
|
+
if (args.tools !== undefined &&
|
|
66
|
+
args.tools.length === 1 &&
|
|
67
|
+
toolsets[args.tools[0]] !== undefined) {
|
|
68
|
+
effectiveArgs = { ...args, tools: toolsets[args.tools[0]] };
|
|
69
|
+
provenance.push({
|
|
70
|
+
key: "tools",
|
|
71
|
+
value: effectiveArgs.tools,
|
|
72
|
+
tier: "arg",
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
const resolved = { ...effectiveArgs };
|
|
76
|
+
// D5 floor: a project toolset floor caps any arg grant; exceeding it is
|
|
77
|
+
// a structured refusal naming both sets - never a silent clamp.
|
|
78
|
+
const floor = tiers.project?.tools;
|
|
79
|
+
if (floor !== undefined && effectiveArgs.tools !== undefined) {
|
|
80
|
+
const floorSet = new Set(floor);
|
|
81
|
+
const excess = effectiveArgs.tools.filter((t) => !floorSet.has(t));
|
|
82
|
+
if (excess.length > 0) {
|
|
83
|
+
throw new FloorExceededError(h.name, excess, [...floor]);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
// Profile is the floor: apply only where nothing above it set the key.
|
|
87
|
+
for (const [key, value] of Object.entries(DEFAULT_TURN_PROFILE)) {
|
|
88
|
+
const argsSet = effectiveArgs[key] !== undefined;
|
|
89
|
+
const tier = sourceTier(key);
|
|
90
|
+
if (argsSet) {
|
|
91
|
+
provenance.push({ key, value: effectiveArgs[key], tier: "arg" });
|
|
92
|
+
continue;
|
|
93
|
+
}
|
|
94
|
+
if (tier !== undefined) {
|
|
95
|
+
provenance.push({ key, value: config[key], tier });
|
|
96
|
+
resolved[key] = config[key];
|
|
97
|
+
continue;
|
|
98
|
+
}
|
|
99
|
+
const expressible = EXPRESSIBLE[key]?.(h) ?? false;
|
|
100
|
+
if (!expressible) {
|
|
101
|
+
// Skip-and-report: a profile default this harness cannot express is
|
|
102
|
+
// reported divergence, never a refusal and never silence.
|
|
103
|
+
unrenderable.push(key);
|
|
104
|
+
provenance.push({ key, value, tier: "harness" });
|
|
105
|
+
continue;
|
|
106
|
+
}
|
|
107
|
+
// Dimensions whose value reduces to "emit nothing" (autonomy false,
|
|
108
|
+
// discovery all-on) stay ABSENT from the resolved options - the
|
|
109
|
+
// harness's default already satisfies the profile, and emitting
|
|
110
|
+
// explicit on-flags would change resume grammar and add breakage
|
|
111
|
+
// surface for no semantic gain. Provenance still records the tier.
|
|
112
|
+
if ((key === "autonomy" && value === false) || (key === "discovery" && emitsNothing(value))) {
|
|
113
|
+
provenance.push({ key, value, tier: "profile" });
|
|
114
|
+
continue;
|
|
115
|
+
}
|
|
116
|
+
resolved[key] = value;
|
|
117
|
+
provenance.push({ key, value, tier: "profile" });
|
|
118
|
+
}
|
|
119
|
+
// Config keys outside the profile surface pass through at their own tier
|
|
120
|
+
// (validated later by the same renderers as args).
|
|
121
|
+
for (const [key, value] of Object.entries(config)) {
|
|
122
|
+
if (key === "toolsets")
|
|
123
|
+
continue; // expanded into args above, never a turn option
|
|
124
|
+
if (key in DEFAULT_TURN_PROFILE)
|
|
125
|
+
continue;
|
|
126
|
+
if (effectiveArgs[key] !== undefined) {
|
|
127
|
+
provenance.push({ key, value: effectiveArgs[key], tier: "arg" });
|
|
128
|
+
continue;
|
|
129
|
+
}
|
|
130
|
+
resolved[key] = value;
|
|
131
|
+
const tier = sourceTier(key) ?? "user-config";
|
|
132
|
+
provenance.push({ key, value, tier });
|
|
133
|
+
}
|
|
134
|
+
return {
|
|
135
|
+
options: resolved,
|
|
136
|
+
provenance,
|
|
137
|
+
unrenderable,
|
|
138
|
+
};
|
|
139
|
+
};
|
|
140
|
+
//# sourceMappingURL=resolve-options.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolve-options.js","sourceRoot":"","sources":["../../src/interpretation/resolve-options.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,7 +5,7 @@ const slugFor = (h, cwd) => {
|
|
|
5
5
|
case "dash-separators":
|
|
6
6
|
return normalized.replace(/[/.]/g, "-");
|
|
7
7
|
case "pi-dash-wrapped":
|
|
8
|
-
// pi 0.84.
|
|
8
|
+
// pi 0.84.2, verified on-disk: leading slash stripped, '/' -> '-',
|
|
9
9
|
// dots preserved, wrapped in double dashes:
|
|
10
10
|
// /Users/kevin/dev/x -> --Users-kevin-dev-x--
|
|
11
11
|
return `--${normalized.replace(/^\//, "").replace(/\//g, "-")}--`;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cross-harness support derivation: pure functions that answer "which
|
|
3
|
+
* harnesses express this option, and under what native spelling" from the
|
|
4
|
+
* descriptor set. Phase 3 (D7): refusal diagnostics derive support lists at
|
|
5
|
+
* runtime instead of hardcoding them, so a descriptor edit can never leave
|
|
6
|
+
* a refusal message stale. The autonomy refusal in argv.ts was the
|
|
7
|
+
* counter-pattern - a hardcoded flag array that drifts on descriptor
|
|
8
|
+
* change.
|
|
9
|
+
*
|
|
10
|
+
* Interpretation-layer pure function; takes the descriptor set as an
|
|
11
|
+
* argument rather than importing the defaults, so override sets work.
|
|
12
|
+
*/
|
|
13
|
+
import type { DescriptorSet } from "../knowledge/overrides.js";
|
|
14
|
+
import type { RefusalOption } from "./refusal.js";
|
|
15
|
+
export interface SupportEntry {
|
|
16
|
+
readonly harness: string;
|
|
17
|
+
/** The native spelling a caller would use directly on that harness. */
|
|
18
|
+
readonly spelling: string;
|
|
19
|
+
}
|
|
20
|
+
/** Every harness in the set that can express `option`, with its native
|
|
21
|
+
* spelling. Ordered by the set's insertion order (defaults: claude, codex,
|
|
22
|
+
* pi, muse) so output is stable across calls. */
|
|
23
|
+
export declare const supportedBy: (set: DescriptorSet, option: RefusalOption) => readonly SupportEntry[];
|
|
24
|
+
/** Reverse lookup for native-spelling recognition (D7 part B): given a raw
|
|
25
|
+
* flag token a caller typed, find the option it belongs to and which
|
|
26
|
+
* harnesses spell it that way. Returns null for tokens no descriptor
|
|
27
|
+
* knows - those keep the plain unknown-flag error. */
|
|
28
|
+
export declare const recognizeNativeSpelling: (set: DescriptorSet, flag: string) => {
|
|
29
|
+
readonly option: RefusalOption;
|
|
30
|
+
readonly entries: readonly SupportEntry[];
|
|
31
|
+
} | null;
|
|
32
|
+
//# sourceMappingURL=support.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"support.d.ts","sourceRoot":"","sources":["../../src/interpretation/support.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAElD,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,uEAAuE;IACvE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAqCD;;iDAEiD;AACjD,eAAO,MAAM,WAAW,QAAS,aAAa,UAAU,aAAa,KAAG,SAAS,YAAY,EAQ5F,CAAC;AAEF;;;sDAGsD;AACtD,eAAO,MAAM,uBAAuB,QAC7B,aAAa,QACZ,MAAM,KACX;IAAE,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,SAAS,YAAY,EAAE,CAAA;CAAE,GAAG,IAwClF,CAAC"}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cross-harness support derivation: pure functions that answer "which
|
|
3
|
+
* harnesses express this option, and under what native spelling" from the
|
|
4
|
+
* descriptor set. Phase 3 (D7): refusal diagnostics derive support lists at
|
|
5
|
+
* runtime instead of hardcoding them, so a descriptor edit can never leave
|
|
6
|
+
* a refusal message stale. The autonomy refusal in argv.ts was the
|
|
7
|
+
* counter-pattern - a hardcoded flag array that drifts on descriptor
|
|
8
|
+
* change.
|
|
9
|
+
*
|
|
10
|
+
* Interpretation-layer pure function; takes the descriptor set as an
|
|
11
|
+
* argument rather than importing the defaults, so override sets work.
|
|
12
|
+
*/
|
|
13
|
+
const spellingOf = (h, option) => {
|
|
14
|
+
switch (option) {
|
|
15
|
+
case "tools":
|
|
16
|
+
return h.tools.includeFlag;
|
|
17
|
+
case "excludeTools":
|
|
18
|
+
return h.tools.excludeFlag;
|
|
19
|
+
case "autonomy":
|
|
20
|
+
return h.autonomy?.flag ?? null;
|
|
21
|
+
case "effort":
|
|
22
|
+
case "sandbox":
|
|
23
|
+
case "provider":
|
|
24
|
+
case "write":
|
|
25
|
+
case "shell":
|
|
26
|
+
case "maxSteps":
|
|
27
|
+
case "discovery": {
|
|
28
|
+
const spec = h.turnOptions[option];
|
|
29
|
+
if (spec === undefined)
|
|
30
|
+
return null;
|
|
31
|
+
const rawRender = spec.kind === "discovery"
|
|
32
|
+
? Object.values(spec.facets)[0]?.render
|
|
33
|
+
: spec.render;
|
|
34
|
+
if (rawRender === undefined)
|
|
35
|
+
return null;
|
|
36
|
+
// flag-value/config-kv carry `flag`; flag-list carries `flags` - the
|
|
37
|
+
// first entry is the spelling a caller would type.
|
|
38
|
+
return rawRender.flag ?? rawRender.flags?.[0] ?? null;
|
|
39
|
+
}
|
|
40
|
+
default:
|
|
41
|
+
return null;
|
|
42
|
+
}
|
|
43
|
+
};
|
|
44
|
+
/** Every harness in the set that can express `option`, with its native
|
|
45
|
+
* spelling. Ordered by the set's insertion order (defaults: claude, codex,
|
|
46
|
+
* pi, muse) so output is stable across calls. */
|
|
47
|
+
export const supportedBy = (set, option) => {
|
|
48
|
+
const out = [];
|
|
49
|
+
for (const h of Object.values(set)) {
|
|
50
|
+
if (h === undefined)
|
|
51
|
+
continue;
|
|
52
|
+
const spelling = spellingOf(h, option);
|
|
53
|
+
if (spelling !== null)
|
|
54
|
+
out.push({ harness: h.name, spelling });
|
|
55
|
+
}
|
|
56
|
+
return out;
|
|
57
|
+
};
|
|
58
|
+
/** Reverse lookup for native-spelling recognition (D7 part B): given a raw
|
|
59
|
+
* flag token a caller typed, find the option it belongs to and which
|
|
60
|
+
* harnesses spell it that way. Returns null for tokens no descriptor
|
|
61
|
+
* knows - those keep the plain unknown-flag error. */
|
|
62
|
+
export const recognizeNativeSpelling = (set, flag) => {
|
|
63
|
+
const normalized = flag.toLowerCase();
|
|
64
|
+
const candidates = [
|
|
65
|
+
"tools",
|
|
66
|
+
"excludeTools",
|
|
67
|
+
"autonomy",
|
|
68
|
+
"effort",
|
|
69
|
+
"sandbox",
|
|
70
|
+
"provider",
|
|
71
|
+
"write",
|
|
72
|
+
"shell",
|
|
73
|
+
"maxSteps",
|
|
74
|
+
];
|
|
75
|
+
for (const option of candidates) {
|
|
76
|
+
const entries = supportedBy(set, option).filter((e) => e.spelling.toLowerCase() === normalized);
|
|
77
|
+
if (entries.length > 0)
|
|
78
|
+
return { option, entries };
|
|
79
|
+
}
|
|
80
|
+
// Discovery facets: single-dash spellings (pi -nt/-nc/-ne/-ns) and
|
|
81
|
+
// claude's --setting-sources. Facet spellings map to the facet name so
|
|
82
|
+
// the redirect can name the normalized spelling.
|
|
83
|
+
const FACET_KEYS = ["tools", "instructionFiles", "extensions", "skills"];
|
|
84
|
+
for (const facet of FACET_KEYS) {
|
|
85
|
+
const entries = [];
|
|
86
|
+
for (const h of Object.values(set)) {
|
|
87
|
+
if (h === undefined)
|
|
88
|
+
continue;
|
|
89
|
+
const spec = h.turnOptions.discovery;
|
|
90
|
+
if (spec === undefined || spec.kind !== "discovery")
|
|
91
|
+
continue;
|
|
92
|
+
const facetSpec = spec.facets[facet];
|
|
93
|
+
if (facetSpec === undefined)
|
|
94
|
+
continue;
|
|
95
|
+
const render = facetSpec.render;
|
|
96
|
+
const spelling = render.flag ?? render.flags?.[0];
|
|
97
|
+
if (spelling !== undefined && spelling.toLowerCase() === normalized) {
|
|
98
|
+
entries.push({ harness: h.name, spelling });
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
if (entries.length > 0) {
|
|
102
|
+
return { option: `discovery.${facet}`, entries };
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
return null;
|
|
106
|
+
};
|
|
107
|
+
//# sourceMappingURL=support.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"support.js","sourceRoot":"","sources":["../../src/interpretation/support.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tool-selection rendering: turns normalized include/exclude lists into the
|
|
3
|
+
* per-harness argv tokens, per decisions D1-D3 and the Phase 0 evidence.
|
|
4
|
+
*
|
|
5
|
+
* Semantics:
|
|
6
|
+
* - include: exact allowlist over the descriptor's curated names. pi's flag
|
|
7
|
+
* is strict over built-ins, rendered directly. claude's include flag only
|
|
8
|
+
* pre-approves without restricting the visible set, so an exact allowlist
|
|
9
|
+
* on claude renders as a deny-complement (all known minus included).
|
|
10
|
+
* - exclude: the complement of the named tools over all descriptor-known
|
|
11
|
+
* names (D2). pi's native exclude subtracts from its default set (4
|
|
12
|
+
* tools), so a D2 exclude renders as a computed include list there.
|
|
13
|
+
* - mutual exclusion (D1): both flags in one call refuse.
|
|
14
|
+
* - extensible rule (D3): curated names validate and map; unknown
|
|
15
|
+
* clean-selector names pass through and are reported as unmapped so
|
|
16
|
+
* provenance can surface them.
|
|
17
|
+
*/
|
|
18
|
+
import type { HarnessDescriptor } from "../knowledge/descriptor.js";
|
|
19
|
+
export declare const TOOL_SELECTOR: RegExp;
|
|
20
|
+
export interface ToolSelection {
|
|
21
|
+
readonly include?: readonly string[];
|
|
22
|
+
readonly exclude?: readonly string[];
|
|
23
|
+
}
|
|
24
|
+
export interface RenderedToolSelection {
|
|
25
|
+
readonly tokens: readonly string[];
|
|
26
|
+
readonly unmapped: readonly string[];
|
|
27
|
+
}
|
|
28
|
+
export declare const renderToolSelection: (h: HarnessDescriptor, selection: ToolSelection) => RenderedToolSelection;
|
|
29
|
+
//# sourceMappingURL=tool-selection.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-selection.d.ts","sourceRoot":"","sources":["../../src/interpretation/tool-selection.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAKpE,eAAO,MAAM,aAAa,QAA0C,CAAC;AAErE,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACtC;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;CACtC;AAwCD,eAAO,MAAM,mBAAmB,MAC3B,iBAAiB,aACT,aAAa,KACvB,qBAqFF,CAAC"}
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
import { defaultDescriptors } from "../knowledge/overrides.js";
|
|
2
|
+
import { ArgvRefusalError } from "./refusal.js";
|
|
3
|
+
import { supportedBy } from "./support.js";
|
|
4
|
+
export const TOOL_SELECTOR = /^[A-Za-z0-9][A-Za-z0-9._:/@-]{0,127}$/;
|
|
5
|
+
const validateNames = (h, names) => {
|
|
6
|
+
for (const name of names) {
|
|
7
|
+
if (name.trim() === "" || name.includes(",")) {
|
|
8
|
+
throw new ArgvRefusalError({
|
|
9
|
+
issue: "invalid-tool-grant",
|
|
10
|
+
harness: h.name,
|
|
11
|
+
supported: ["non-empty, comma-free tool names"],
|
|
12
|
+
detail: `tools=${JSON.stringify(names)}`,
|
|
13
|
+
});
|
|
14
|
+
}
|
|
15
|
+
if (!TOOL_SELECTOR.test(name)) {
|
|
16
|
+
throw new ArgvRefusalError({
|
|
17
|
+
issue: "invalid-tool-grant",
|
|
18
|
+
harness: h.name,
|
|
19
|
+
supported: [`must match ${TOOL_SELECTOR.source}`],
|
|
20
|
+
detail: name,
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
return [...names];
|
|
25
|
+
};
|
|
26
|
+
/** Curated-name mapping plus extensible pass-through; returns the effective
|
|
27
|
+
* names and which of them the descriptor could not vouch for. */
|
|
28
|
+
const resolveNames = (h, names) => {
|
|
29
|
+
const known = new Set(h.tools.builtins.map((t) => t.name));
|
|
30
|
+
const mapped = [];
|
|
31
|
+
const unmapped = [];
|
|
32
|
+
for (const name of names) {
|
|
33
|
+
if (known.has(name))
|
|
34
|
+
mapped.push(name);
|
|
35
|
+
else
|
|
36
|
+
unmapped.push(name);
|
|
37
|
+
}
|
|
38
|
+
return { mapped, unmapped };
|
|
39
|
+
};
|
|
40
|
+
export const renderToolSelection = (h, selection) => {
|
|
41
|
+
const hasInclude = selection.include !== undefined;
|
|
42
|
+
const hasExclude = selection.exclude !== undefined;
|
|
43
|
+
// D1: mutual exclusivity, structured refusal.
|
|
44
|
+
if (hasInclude && hasExclude) {
|
|
45
|
+
throw new ArgvRefusalError({
|
|
46
|
+
issue: "mutually-exclusive-options",
|
|
47
|
+
harness: h.name,
|
|
48
|
+
option: "tools",
|
|
49
|
+
supported: ["--tools (exact allowlist) or --exclude-tools (complement), never both"],
|
|
50
|
+
detail: "mutual exclusion",
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
if (!hasInclude && !hasExclude)
|
|
54
|
+
return { tokens: [], unmapped: [] };
|
|
55
|
+
if (h.tools.includeFlag === null || h.tools.excludeFlag === null) {
|
|
56
|
+
const option = hasInclude ? "tools" : "excludeTools";
|
|
57
|
+
const by = supportedBy(defaultDescriptors(), option);
|
|
58
|
+
throw new ArgvRefusalError({
|
|
59
|
+
issue: "unsupported-option",
|
|
60
|
+
harness: h.name,
|
|
61
|
+
option,
|
|
62
|
+
supported: ["per-tool name lists"],
|
|
63
|
+
supportedBy: by,
|
|
64
|
+
hint: h.name === "codex"
|
|
65
|
+
? "nearest control on codex: category switches via config keys (features.shell_tool, web_search) or sandbox modes - see `hcn inspect codex`"
|
|
66
|
+
: "nearest control on muse: category switches (--disable-write, --disable-shell, --disable-web-tools) gate tool execution per session",
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
if (hasInclude) {
|
|
70
|
+
const names = validateNames(h, selection.include);
|
|
71
|
+
const { mapped, unmapped } = resolveNames(h, names);
|
|
72
|
+
if (!h.tools.includeIsStrictAllowlist) {
|
|
73
|
+
// claude: exact allowlist must reshape the visible set via the deny
|
|
74
|
+
// complement (probe 2b). The include flag also carries the granted
|
|
75
|
+
// names (curated + pass-throughs) so they skip approval prompts;
|
|
76
|
+
// unmapped names ride along - the deny complement is computed over
|
|
77
|
+
// curated names only, so an extension tool in an include is granted,
|
|
78
|
+
// never denied.
|
|
79
|
+
const known = h.tools.builtins.map((t) => t.name);
|
|
80
|
+
const excluded = known.filter((n) => !mapped.includes(n));
|
|
81
|
+
const tokens = [h.tools.includeFlag, [...mapped, ...unmapped].join(",")];
|
|
82
|
+
tokens.push(h.tools.excludeFlag, excluded.join(","));
|
|
83
|
+
return { tokens, unmapped };
|
|
84
|
+
}
|
|
85
|
+
// pi: strict over built-ins, direct include; unmapped (extension/MCP)
|
|
86
|
+
// names ride along in the same list - pi governs them too.
|
|
87
|
+
return { tokens: [h.tools.includeFlag, [...mapped, ...unmapped].join(",")], unmapped };
|
|
88
|
+
}
|
|
89
|
+
// exclude (D2): all descriptor-known names minus the excluded ones.
|
|
90
|
+
const names = validateNames(h, selection.exclude);
|
|
91
|
+
const { mapped, unmapped: excludedUnmapped } = resolveNames(h, names);
|
|
92
|
+
if (excludedUnmapped.length > 0) {
|
|
93
|
+
// Excluding a name the descriptor does not know: permitted (it may be a
|
|
94
|
+
// runtime-registered tool), rendered natively where the harness's deny
|
|
95
|
+
// list can carry it; on claude only, since its include path consumes
|
|
96
|
+
// unknown names without effect (silent-acceptance hazard).
|
|
97
|
+
if (!h.tools.includeIsStrictAllowlist) {
|
|
98
|
+
const tokens = [h.tools.excludeFlag, [...mapped, ...excludedUnmapped].join(",")];
|
|
99
|
+
return { tokens, unmapped: excludedUnmapped };
|
|
100
|
+
}
|
|
101
|
+
// pi: a D2 exclude renders as a computed include (its native exclude
|
|
102
|
+
// subtracts from the default set, which cannot express "all minus X"
|
|
103
|
+
// when off-by-default tools are involved). An unknown excluded name
|
|
104
|
+
// cannot be complemented - refuse rather than silently grant it.
|
|
105
|
+
throw new ArgvRefusalError({
|
|
106
|
+
issue: "unknown-tool-name",
|
|
107
|
+
harness: h.name,
|
|
108
|
+
option: "excludeTools",
|
|
109
|
+
supported: [`known tool names: ${h.tools.builtins.map((t) => t.name).join(", ")}`],
|
|
110
|
+
detail: `cannot exclude unknown name(s) ${excludedUnmapped.join(", ")}: the complement cannot be computed`,
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
const known = h.tools.builtins.filter((t) => !mapped.includes(t.name));
|
|
114
|
+
const kept = known.map((t) => t.name);
|
|
115
|
+
if (!h.tools.includeIsStrictAllowlist) {
|
|
116
|
+
// claude: deny list IS the complement expression.
|
|
117
|
+
return { tokens: [h.tools.excludeFlag, mapped.join(",")], unmapped: [] };
|
|
118
|
+
}
|
|
119
|
+
// pi: computed include over every known name minus the excluded.
|
|
120
|
+
return { tokens: [h.tools.includeFlag, kept.join(",")], unmapped: [] };
|
|
121
|
+
};
|
|
122
|
+
//# sourceMappingURL=tool-selection.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-selection.js","sourceRoot":"","sources":["../../src/interpretation/tool-selection.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"turn-options.d.ts","sourceRoot":"","sources":["../../src/interpretation/turn-options.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,KAAK,EAAE,iBAAiB,EAA0B,MAAM,4BAA4B,CAAC;AAE5F,OAAO,KAAK,EAAoB,WAAW,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"turn-options.d.ts","sourceRoot":"","sources":["../../src/interpretation/turn-options.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,KAAK,EAAE,iBAAiB,EAA0B,MAAM,4BAA4B,CAAC;AAE5F,OAAO,KAAK,EAAoB,WAAW,EAAE,MAAM,WAAW,CAAC;AAa/D;;8EAE8E;AAC9E,eAAO,MAAM,iBAAiB,MACzB,iBAAiB,QACd,WAAW,SACV,QAAQ,GAAG,QAAQ,KACzB,MAAM,EA0YR,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { DISCOVERY_FACETS, resolveRender, TURN_OPTION_KEYS } from "../knowledge/descriptor.js";
|
|
2
|
+
import { hintFor } from "./hints.js";
|
|
2
3
|
import { ArgvRefusalError } from "./refusal.js";
|
|
3
4
|
import { CLEAN_SELECTOR, resolveModel, validateEffort } from "./vocabulary.js";
|
|
4
5
|
// TOML-quoted value for config-kv: JSON.stringify is sufficient for the
|
|
@@ -41,6 +42,7 @@ export const renderTurnOptions = (h, opts, phase) => {
|
|
|
41
42
|
option: "discovery",
|
|
42
43
|
supported: Object.keys(h.turnOptions).length ? Object.keys(h.turnOptions) : ["(none)"],
|
|
43
44
|
detail: String(requested[0]),
|
|
45
|
+
hint: hintFor(h.name, `discovery.${String(requested[0])}`),
|
|
44
46
|
});
|
|
45
47
|
}
|
|
46
48
|
if (spec.kind !== "discovery") {
|
|
@@ -90,6 +92,7 @@ export const renderTurnOptions = (h, opts, phase) => {
|
|
|
90
92
|
option: "discovery",
|
|
91
93
|
facet,
|
|
92
94
|
supported: supportedFacets.length ? supportedFacets : ["(none)"],
|
|
95
|
+
hint: hintFor(h.name, `discovery.${facet}`),
|
|
93
96
|
});
|
|
94
97
|
}
|
|
95
98
|
continue;
|
|
@@ -176,6 +179,7 @@ export const renderTurnOptions = (h, opts, phase) => {
|
|
|
176
179
|
option: key,
|
|
177
180
|
supported: Object.keys(h.turnOptions).length ? Object.keys(h.turnOptions) : ["(none)"],
|
|
178
181
|
detail: String(raw),
|
|
182
|
+
hint: hintFor(h.name, key),
|
|
179
183
|
});
|
|
180
184
|
}
|
|
181
185
|
// Check resumeRender null => unsupported-on-resume
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"turn-options.js","sourceRoot":"","sources":["../../src/interpretation/turn-options.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"turn-options.js","sourceRoot":"","sources":["../../src/interpretation/turn-options.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* The claude-code descriptor: facts about the `claude` CLI as data, verified
|
|
3
|
-
* against claude 2.1.
|
|
3
|
+
* against claude 2.1.233 and the 00-chat-substrate spike evidence (A-001,
|
|
4
4
|
* A-002, A-005). No process logic lives here.
|
|
5
5
|
*
|
|
6
|
-
* Discovery: claude 2.1.
|
|
6
|
+
* Discovery: claude 2.1.233 has no isolated instruction-file toggle.
|
|
7
7
|
* `--bare` would stop `CLAUDE.md` discovery, but it also skips hooks, LSP,
|
|
8
8
|
* plugin sync, auto-memory and keychain reads, and forces auth to
|
|
9
9
|
* `ANTHROPIC_API_KEY` / `apiKeyHelper` (OAuth never read) - so a caller
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude-code.d.ts","sourceRoot":"","sources":["../../src/knowledge/claude-code.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,EAAc,KAAK,iBAAiB,EAAc,MAAM,iBAAiB,CAAC;AAGjF,eAAO,MAAM,UAAU,EAAE,
|
|
1
|
+
{"version":3,"file":"claude-code.d.ts","sourceRoot":"","sources":["../../src/knowledge/claude-code.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,EAAc,KAAK,iBAAiB,EAAc,MAAM,iBAAiB,CAAC;AAGjF,eAAO,MAAM,UAAU,EAAE,iBAsKvB,CAAC"}
|