@dungle-scrubs/harness-cli-normalizer 0.4.6 → 0.5.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.
Files changed (95) hide show
  1. package/README.md +43 -3
  2. package/dist/cli/args.d.ts.map +1 -1
  3. package/dist/cli/args.js +5 -0
  4. package/dist/cli/args.js.map +1 -1
  5. package/dist/cli/config.d.ts.map +1 -1
  6. package/dist/cli/config.js +65 -0
  7. package/dist/cli/config.js.map +1 -1
  8. package/dist/cli/help.d.ts +2 -2
  9. package/dist/cli/help.d.ts.map +1 -1
  10. package/dist/cli/help.js +25 -7
  11. package/dist/cli/help.js.map +1 -1
  12. package/dist/cli/inspect.d.ts.map +1 -1
  13. package/dist/cli/inspect.js +63 -24
  14. package/dist/cli/inspect.js.map +1 -1
  15. package/dist/cli/refuse.d.ts +14 -0
  16. package/dist/cli/refuse.d.ts.map +1 -0
  17. package/dist/cli/refuse.js +38 -0
  18. package/dist/cli/refuse.js.map +1 -0
  19. package/dist/cli/resume-guard.d.ts +18 -0
  20. package/dist/cli/resume-guard.d.ts.map +1 -0
  21. package/dist/cli/resume-guard.js +26 -0
  22. package/dist/cli/resume-guard.js.map +1 -0
  23. package/dist/cli/run.d.ts.map +1 -1
  24. package/dist/cli/run.js +16 -54
  25. package/dist/cli/run.js.map +1 -1
  26. package/dist/interpretation/argv.d.ts +3 -0
  27. package/dist/interpretation/argv.d.ts.map +1 -1
  28. package/dist/interpretation/argv.js +2 -0
  29. package/dist/interpretation/argv.js.map +1 -1
  30. package/dist/interpretation/hints.d.ts.map +1 -1
  31. package/dist/interpretation/hints.js +4 -0
  32. package/dist/interpretation/hints.js.map +1 -1
  33. package/dist/interpretation/resolve-options.d.ts.map +1 -1
  34. package/dist/interpretation/resolve-options.js +124 -3
  35. package/dist/interpretation/resolve-options.js.map +1 -1
  36. package/dist/interpretation/support.d.ts +1 -0
  37. package/dist/interpretation/support.d.ts.map +1 -1
  38. package/dist/interpretation/support.js +29 -0
  39. package/dist/interpretation/support.js.map +1 -1
  40. package/dist/interpretation/tool-selection.d.ts +6 -16
  41. package/dist/interpretation/tool-selection.d.ts.map +1 -1
  42. package/dist/interpretation/tool-selection.js +205 -85
  43. package/dist/interpretation/tool-selection.js.map +1 -1
  44. package/dist/interpretation/tool-vocabulary.d.ts +38 -0
  45. package/dist/interpretation/tool-vocabulary.d.ts.map +1 -0
  46. package/dist/interpretation/tool-vocabulary.js +142 -0
  47. package/dist/interpretation/tool-vocabulary.js.map +1 -0
  48. package/dist/interpretation/turn-options.d.ts.map +1 -1
  49. package/dist/interpretation/turn-options.js +107 -2
  50. package/dist/interpretation/turn-options.js.map +1 -1
  51. package/dist/interpretation/vocabulary.d.ts +1 -0
  52. package/dist/interpretation/vocabulary.d.ts.map +1 -1
  53. package/dist/interpretation/vocabulary.js +5 -0
  54. package/dist/interpretation/vocabulary.js.map +1 -1
  55. package/dist/knowledge/claude-code.d.ts.map +1 -1
  56. package/dist/knowledge/claude-code.js +14 -13
  57. package/dist/knowledge/claude-code.js.map +1 -1
  58. package/dist/knowledge/codex.d.ts.map +1 -1
  59. package/dist/knowledge/codex.js +10 -4
  60. package/dist/knowledge/codex.js.map +1 -1
  61. package/dist/knowledge/descriptor.d.ts +16 -1
  62. package/dist/knowledge/descriptor.d.ts.map +1 -1
  63. package/dist/knowledge/descriptor.js +18 -1
  64. package/dist/knowledge/descriptor.js.map +1 -1
  65. package/dist/knowledge/muse.d.ts.map +1 -1
  66. package/dist/knowledge/muse.js +18 -3
  67. package/dist/knowledge/muse.js.map +1 -1
  68. package/dist/knowledge/overrides.d.ts.map +1 -1
  69. package/dist/knowledge/overrides.js +3 -2
  70. package/dist/knowledge/overrides.js.map +1 -1
  71. package/dist/knowledge/pi.d.ts.map +1 -1
  72. package/dist/knowledge/pi.js +8 -7
  73. package/dist/knowledge/pi.js.map +1 -1
  74. package/package.json +1 -1
  75. package/src/cli/args.ts +5 -0
  76. package/src/cli/config.ts +88 -0
  77. package/src/cli/help.ts +25 -7
  78. package/src/cli/inspect.ts +61 -20
  79. package/src/cli/refuse.ts +50 -0
  80. package/src/cli/resume-guard.ts +35 -0
  81. package/src/cli/run.ts +16 -71
  82. package/src/interpretation/argv.ts +5 -0
  83. package/src/interpretation/hints.ts +8 -0
  84. package/src/interpretation/resolve-options.ts +129 -3
  85. package/src/interpretation/support.ts +30 -0
  86. package/src/interpretation/tool-selection.ts +225 -101
  87. package/src/interpretation/tool-vocabulary.ts +183 -0
  88. package/src/interpretation/turn-options.ts +99 -2
  89. package/src/interpretation/vocabulary.ts +5 -0
  90. package/src/knowledge/claude-code.ts +14 -13
  91. package/src/knowledge/codex.ts +10 -4
  92. package/src/knowledge/descriptor.ts +37 -2
  93. package/src/knowledge/muse.ts +18 -3
  94. package/src/knowledge/overrides.ts +4 -2
  95. package/src/knowledge/pi.ts +8 -7
@@ -1 +1 @@
1
- {"version":3,"file":"resolve-options.js","sourceRoot":"","sources":["../../src/interpretation/resolve-options.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resolve-options.js","sourceRoot":"","sources":["../../src/interpretation/resolve-options.ts"],"names":[],"mappings":"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"}
@@ -21,6 +21,7 @@ export interface SupportEntry {
21
21
  * spelling. Ordered by the set's insertion order (defaults: claude, codex,
22
22
  * pi, muse) so output is stable across calls. */
23
23
  export declare const supportedBy: (set: DescriptorSet, option: RefusalOption) => readonly SupportEntry[];
24
+ export declare const supportedByCanonical: (set: DescriptorSet, canonical: string) => readonly SupportEntry[];
24
25
  /** Reverse lookup for native-spelling recognition (D7 part B): given a raw
25
26
  * flag token a caller typed, find the option it belongs to and which
26
27
  * harnesses spell it that way. Returns null for tokens no descriptor
@@ -1 +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"}
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;AAIlD,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,uEAAuE;IACvE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AA8CD;;iDAEiD;AACjD,eAAO,MAAM,WAAW,QAAS,aAAa,UAAU,aAAa,KAAG,SAAS,YAAY,EAQ5F,CAAC;AAEF,eAAO,MAAM,oBAAoB,QAC1B,aAAa,aACP,MAAM,KAChB,SAAS,YAAY,EAcvB,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"}
@@ -10,8 +10,21 @@
10
10
  * Interpretation-layer pure function; takes the descriptor set as an
11
11
  * argument rather than importing the defaults, so override sets work.
12
12
  */
13
+ import { canonicalTable } from "./tool-vocabulary.js";
13
14
  const spellingOf = (h, option) => {
14
15
  switch (option) {
16
+ case "access": {
17
+ const spec = h.turnOptions.access;
18
+ if (spec === undefined)
19
+ return null;
20
+ if (spec.kind === "flag-value")
21
+ return spec.flag;
22
+ if (spec.kind === "flag-list-by-value")
23
+ return Object.values(spec.flags)[0]?.[0] ?? null;
24
+ if (spec.kind === "tool-preset")
25
+ return h.tools.includeFlag ?? h.tools.excludeFlag ?? "--sandbox";
26
+ return null;
27
+ }
15
28
  case "tools":
16
29
  return h.tools.includeFlag;
17
30
  case "excludeTools":
@@ -55,6 +68,22 @@ export const supportedBy = (set, option) => {
55
68
  }
56
69
  return out;
57
70
  };
71
+ export const supportedByCanonical = (set, canonical) => {
72
+ const table = canonicalTable(set);
73
+ const entry = table[canonical];
74
+ if (!entry)
75
+ return [];
76
+ const out = [];
77
+ for (const [har, val] of Object.entries(entry)) {
78
+ if (val === undefined)
79
+ continue;
80
+ const spelling = val.kind === "builtin"
81
+ ? val.native
82
+ : val.key;
83
+ out.push({ harness: har, spelling });
84
+ }
85
+ return out;
86
+ };
58
87
  /** Reverse lookup for native-spelling recognition (D7 part B): given a raw
59
88
  * flag token a caller typed, find the option it belongs to and which
60
89
  * harnesses spell it that way. Returns null for tokens no descriptor
@@ -1 +1 @@
1
- {"version":3,"file":"support.js","sourceRoot":"","sources":["../../src/interpretation/support.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"support.js","sourceRoot":"","sources":["../../src/interpretation/support.ts"],"names":[],"mappings":"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"}
@@ -1,29 +1,19 @@
1
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.
2
+ * Tool-selection rendering with canonical vocabulary.
17
3
  */
18
4
  import type { HarnessDescriptor } from "../knowledge/descriptor.js";
19
5
  export declare const TOOL_SELECTOR: RegExp;
20
6
  export interface ToolSelection {
21
7
  readonly include?: readonly string[];
22
8
  readonly exclude?: readonly string[];
9
+ readonly toolMap?: Readonly<Record<string, string>>;
23
10
  }
24
11
  export interface RenderedToolSelection {
25
12
  readonly tokens: readonly string[];
26
- readonly unmapped: readonly string[];
13
+ readonly passthrough: readonly string[];
27
14
  }
15
+ export declare const renderAccessPreset: (h: HarnessDescriptor, access: "read" | "write", opts?: {
16
+ toolMap?: Readonly<Record<string, string>>;
17
+ }) => string[];
28
18
  export declare const renderToolSelection: (h: HarnessDescriptor, selection: ToolSelection) => RenderedToolSelection;
29
19
  //# sourceMappingURL=tool-selection.d.ts.map
@@ -1 +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,qBA8GF,CAAC"}
1
+ {"version":3,"file":"tool-selection.d.ts","sourceRoot":"","sources":["../../src/interpretation/tool-selection.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAgBpE,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;IACrC,QAAQ,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CACrD;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,QAAQ,CAAC,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;CACzC;AAkCD,eAAO,MAAM,kBAAkB,MAC1B,iBAAiB,UACZ,MAAM,GAAG,OAAO,SAClB;IAAE,OAAO,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;CAAE,KACnD,MAAM,EAkBR,CAAC;AAEF,eAAO,MAAM,mBAAmB,MAC3B,iBAAiB,aACT,aAAa,KACvB,qBA0NF,CAAC"}
@@ -1,46 +1,61 @@
1
1
  import { defaultDescriptors } from "../knowledge/overrides.js";
2
+ import { hintFor } from "./hints.js";
2
3
  import { ArgvRefusalError } from "./refusal.js";
3
- import { supportedBy } from "./support.js";
4
+ import { supportedBy, supportedByCanonical } from "./support.js";
5
+ import { allCanonicalNames, canonicalTable, parseToolSelector, READ_PRESET, } from "./tool-vocabulary.js";
4
6
  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
- }
7
+ const validateInnerName = (h, name, raw) => {
8
+ if (name.trim() === "" || name.includes(",")) {
9
+ throw new ArgvRefusalError({
10
+ issue: "invalid-tool-grant",
11
+ harness: h.name,
12
+ supported: ["non-empty, comma-free tool names"],
13
+ detail: `tools=${JSON.stringify(raw)}`,
14
+ });
23
15
  }
24
- return [...names];
16
+ if (!TOOL_SELECTOR.test(name)) {
17
+ throw new ArgvRefusalError({
18
+ issue: "invalid-tool-grant",
19
+ harness: h.name,
20
+ supported: [`must match ${TOOL_SELECTOR.source}`],
21
+ detail: name,
22
+ });
23
+ }
24
+ };
25
+ const categoriesFor = (h, canonicals, table) => {
26
+ const cats = new Set();
27
+ for (const c of canonicals) {
28
+ const val = table[c]?.[h.name];
29
+ if (val?.kind === "category")
30
+ cats.add(val.key);
31
+ }
32
+ return cats;
25
33
  };
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);
34
+ export const renderAccessPreset = (h, access, opts = {}) => {
35
+ if (access === "write")
36
+ return [];
37
+ // read preset
38
+ const filtered = READ_PRESET.filter((c) => {
39
+ if (opts.toolMap?.[c] !== undefined)
40
+ return true;
41
+ const table = canonicalTable(defaultDescriptors());
42
+ return table[c]?.[h.name] !== undefined;
43
+ });
44
+ if (filtered.length === 0)
45
+ return [];
46
+ // For tool-preset harnesses, render via tool-selection include
47
+ const spec = h.turnOptions.access;
48
+ if (spec && spec.kind === "tool-preset") {
49
+ const rendered = renderToolSelection(h, { include: filtered, toolMap: opts.toolMap });
50
+ return [...rendered.tokens];
37
51
  }
38
- return { mapped, unmapped };
52
+ // For flag-value / flag-list-by-value harnesses, caller should handle via spec mapping;
53
+ // we return empty here so turn-options can map via spec values.
54
+ return [];
39
55
  };
40
56
  export const renderToolSelection = (h, selection) => {
41
57
  const hasInclude = selection.include !== undefined;
42
58
  const hasExclude = selection.exclude !== undefined;
43
- // D1: mutual exclusivity, structured refusal.
44
59
  if (hasInclude && hasExclude) {
45
60
  throw new ArgvRefusalError({
46
61
  issue: "mutually-exclusive-options",
@@ -51,28 +66,108 @@ export const renderToolSelection = (h, selection) => {
51
66
  });
52
67
  }
53
68
  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);
69
+ return { tokens: [], passthrough: [] };
70
+ const set = defaultDescriptors();
71
+ const table = canonicalTable(set);
72
+ const toolMap = selection.toolMap ?? {};
73
+ const allCanonical = allCanonicalNames(set, {
74
+ [h.name]: toolMap,
75
+ });
76
+ const splitSelection = (names) => {
77
+ const canonical = [];
78
+ const passthrough = [];
79
+ const setForValidate = new Set(allCanonical);
80
+ for (const raw of names) {
81
+ const parsed = parseToolSelector(raw);
82
+ if (parsed.kind === "native") {
83
+ validateInnerName(h, parsed.name, names);
84
+ passthrough.push(parsed.name);
85
+ continue;
86
+ }
87
+ validateInnerName(h, parsed.name, names);
88
+ if (!setForValidate.has(parsed.name)) {
89
+ throw new ArgvRefusalError({
90
+ issue: "unknown-tool-name",
91
+ harness: h.name,
92
+ option: "tools",
93
+ supported: [...allCanonical],
94
+ hint: "use native:<name> for an extension or MCP tool",
95
+ detail: `unknown tool name(s) ${parsed.name}`,
96
+ });
97
+ }
98
+ canonical.push(parsed.name);
99
+ }
100
+ return { canonical, passthrough };
101
+ };
102
+ const isCodexShape = h.tools.includeFlag === null && h.tools.categories.length === 0;
103
+ const isCategoryShape = h.tools.includeFlag === null && h.tools.categories.length > 0;
104
+ if (isCodexShape) {
58
105
  throw new ArgvRefusalError({
59
106
  issue: "unsupported-option",
60
107
  harness: h.name,
61
- option,
108
+ option: hasInclude ? "tools" : "excludeTools",
62
109
  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",
110
+ supportedBy: supportedBy(set, hasInclude ? "tools" : "excludeTools"),
111
+ hint: hintFor(h.name, hasInclude ? "tools" : "excludeTools") ??
112
+ "nearest control on codex: category switches via config keys (features.shell_tool, web_search) or sandbox modes - see `hcn inspect codex`",
67
113
  });
68
114
  }
115
+ if (isCategoryShape) {
116
+ const names = hasInclude ? selection.include : selection.exclude;
117
+ const { canonical, passthrough } = splitSelection(names);
118
+ if (hasExclude) {
119
+ // one helper replaces the three no-counterpart loops
120
+ for (const c of canonical) {
121
+ const has = toolMap[c] !== undefined || table[c]?.[h.name] !== undefined;
122
+ if (!has) {
123
+ throw new ArgvRefusalError({
124
+ issue: "unsupported-option",
125
+ harness: h.name,
126
+ option: "excludeTools",
127
+ supported: ["per-tool name lists"],
128
+ supportedBy: supportedByCanonical(set, c),
129
+ hint: hintFor(h.name, "excludeTools"),
130
+ });
131
+ }
132
+ }
133
+ const cats = categoriesFor(h, canonical, table);
134
+ const tokens = [];
135
+ for (const cat of h.tools.categories) {
136
+ if (cats.has(cat.key) && cat.disableFlag)
137
+ tokens.push(cat.disableFlag);
138
+ }
139
+ return { tokens, passthrough };
140
+ }
141
+ for (const c of canonical) {
142
+ const has = toolMap[c] !== undefined || table[c]?.[h.name] !== undefined;
143
+ if (!has) {
144
+ throw new ArgvRefusalError({
145
+ issue: "unsupported-option",
146
+ harness: h.name,
147
+ option: "tools",
148
+ supported: ["per-tool name lists"],
149
+ supportedBy: supportedByCanonical(set, c),
150
+ hint: hintFor(h.name, "tools"),
151
+ });
152
+ }
153
+ }
154
+ if (canonical.length === 0) {
155
+ const tokens = h.tools.categories.map((c) => c.disableFlag).filter((f) => !!f);
156
+ return { tokens, passthrough };
157
+ }
158
+ const grantedCats = categoriesFor(h, canonical, table);
159
+ const tokens = [];
160
+ for (const cat of h.tools.categories) {
161
+ if (!grantedCats.has(cat.key) && cat.disableFlag)
162
+ tokens.push(cat.disableFlag);
163
+ }
164
+ return { tokens, passthrough };
165
+ }
166
+ // From here: h has list flags (claude, pi)
69
167
  if (hasInclude) {
70
- const names = validateNames(h, selection.include);
168
+ const names = selection.include;
71
169
  if (names.length === 0) {
72
- // Empty include list = deny everything. On pi --tools "" has no
73
- // defined meaning, so refuse; on claude emit the deny complement
74
- // without an empty include token.
75
- if (h.tools.includeIsStrictAllowlist || h.tools.excludeFlag === null) {
170
+ if (h.tools.includeIsStrictAllowlist) {
76
171
  throw new ArgvRefusalError({
77
172
  issue: "invalid-tool-grant",
78
173
  harness: h.name,
@@ -82,66 +177,91 @@ export const renderToolSelection = (h, selection) => {
82
177
  });
83
178
  }
84
179
  const known = h.tools.builtins.map((t) => t.name);
85
- return { tokens: [h.tools.excludeFlag, known.join(",")], unmapped: [] };
180
+ return { tokens: [h.tools.excludeFlag, known.join(",")], passthrough: [] };
86
181
  }
87
- const { mapped, unmapped } = resolveNames(h, names);
88
- if (!h.tools.includeIsStrictAllowlist) {
89
- if (mapped.length === 0 && unmapped.length > 0) {
182
+ const { canonical, passthrough } = splitSelection(names);
183
+ for (const c of canonical) {
184
+ const has = toolMap[c] !== undefined || table[c]?.[h.name] !== undefined;
185
+ if (!has) {
90
186
  throw new ArgvRefusalError({
91
- issue: "unknown-tool-name",
187
+ issue: "unsupported-option",
92
188
  harness: h.name,
93
189
  option: "tools",
94
- supported: [`known tool names: ${h.tools.builtins.map((t) => t.name).join(", ")}`],
95
- detail: `unknown tool name(s) ${unmapped.join(", ")}`,
190
+ supported: ["per-tool name lists"],
191
+ supportedBy: supportedByCanonical(set, c),
192
+ hint: `add toolMap.${h.name}.${c} to ~/.config/hcn/config.json or pass native:${c}`,
96
193
  });
97
194
  }
98
- // claude: exact allowlist must reshape the visible set via the deny
99
- // complement (probe 2b). The include flag also carries the granted
100
- // names (curated + pass-throughs) so they skip approval prompts;
101
- // unmapped names ride along - the deny complement is computed over
102
- // curated names only, so an extension tool in an include is granted,
103
- // never denied.
195
+ }
196
+ const mapped = [];
197
+ for (const c of canonical) {
198
+ let n = toolMap[c] ?? null;
199
+ if (n === null) {
200
+ const entry = table[c]?.[h.name];
201
+ if (entry?.kind === "builtin")
202
+ n = entry.native;
203
+ }
204
+ if (n)
205
+ mapped.push(n);
206
+ }
207
+ if (!h.tools.includeIsStrictAllowlist) {
208
+ // claude's include flag pre-approves without restricting, so an exact allowlist renders as the deny complement
104
209
  const known = h.tools.builtins.map((t) => t.name);
105
210
  const excluded = known.filter((n) => !mapped.includes(n));
106
- const tokens = [h.tools.includeFlag, [...mapped, ...unmapped].join(",")];
107
- tokens.push(h.tools.excludeFlag, excluded.join(","));
108
- return { tokens, unmapped };
211
+ const tokens = [h.tools.includeFlag, [...mapped, ...passthrough].join(",")];
212
+ // only add exclude if needed? original pushed exclude even when? Keep original behavior: push excludeFlag excluded
213
+ if (excluded.length > 0 || passthrough.length > 0) {
214
+ tokens.push(h.tools.excludeFlag, excluded.join(","));
215
+ }
216
+ else {
217
+ // when all tools included, exclude nothing? but keep token? original pushed exclude always
218
+ tokens.push(h.tools.excludeFlag, excluded.join(","));
219
+ }
220
+ return { tokens, passthrough };
221
+ }
222
+ return {
223
+ tokens: [h.tools.includeFlag, [...mapped, ...passthrough].join(",")],
224
+ passthrough,
225
+ };
226
+ }
227
+ // exclude
228
+ const names = selection.exclude;
229
+ const { canonical, passthrough: excludedPassthrough } = splitSelection(names);
230
+ for (const c of canonical) {
231
+ const has = toolMap[c] !== undefined || table[c]?.[h.name] !== undefined;
232
+ if (!has) {
233
+ throw new ArgvRefusalError({
234
+ issue: "unsupported-option",
235
+ harness: h.name,
236
+ option: "excludeTools",
237
+ supported: ["per-tool name lists"],
238
+ supportedBy: supportedByCanonical(set, c),
239
+ hint: `add toolMap.${h.name}.${c} to ~/.config/hcn/config.json or pass native:${c}`,
240
+ });
109
241
  }
110
- // pi: strict over built-ins, direct include; unmapped (extension/MCP)
111
- // names ride along in the same list - pi governs them too.
112
- return { tokens: [h.tools.includeFlag, [...mapped, ...unmapped].join(",")], unmapped };
113
242
  }
114
- // exclude (D2): all descriptor-known names minus the excluded ones.
115
- const names = validateNames(h, selection.exclude);
116
- const { mapped, unmapped: excludedUnmapped } = resolveNames(h, names);
117
- if (excludedUnmapped.length > 0) {
118
- // Excluding a name the descriptor does not know: permitted (it may be a
119
- // runtime-registered tool), rendered natively where the harness's deny
120
- // list can carry it; on claude only, since its include path consumes
121
- // unknown names without effect (silent-acceptance hazard).
243
+ if (excludedPassthrough.length > 0) {
122
244
  if (!h.tools.includeIsStrictAllowlist) {
123
- const tokens = [h.tools.excludeFlag, [...mapped, ...excludedUnmapped].join(",")];
124
- return { tokens, unmapped: excludedUnmapped };
245
+ const mapped = canonical.map((c) => toolMap[c] ?? table[c]?.[h.name]?.native ?? c);
246
+ const tokens = [h.tools.excludeFlag, [...mapped, ...excludedPassthrough].join(",")];
247
+ return { tokens, passthrough: excludedPassthrough };
125
248
  }
126
- // pi: a D2 exclude renders as a computed include (its native exclude
127
- // subtracts from the default set, which cannot express "all minus X"
128
- // when off-by-default tools are involved). An unknown excluded name
129
- // cannot be complemented - refuse rather than silently grant it.
130
249
  throw new ArgvRefusalError({
131
250
  issue: "unknown-tool-name",
132
251
  harness: h.name,
133
252
  option: "excludeTools",
134
253
  supported: [`known tool names: ${h.tools.builtins.map((t) => t.name).join(", ")}`],
135
- detail: `cannot exclude unknown name(s) ${excludedUnmapped.join(", ")}: the complement cannot be computed`,
254
+ detail: `cannot exclude unknown name(s) ${excludedPassthrough.join(", ")}: the complement cannot be computed`,
136
255
  });
137
256
  }
257
+ const mapped = canonical
258
+ .map((c) => toolMap[c] ?? table[c]?.[h.name]?.native ?? "")
259
+ .filter(Boolean);
138
260
  const known = h.tools.builtins.filter((t) => !mapped.includes(t.name));
139
261
  const kept = known.map((t) => t.name);
140
262
  if (!h.tools.includeIsStrictAllowlist) {
141
- // claude: deny list IS the complement expression.
142
- return { tokens: [h.tools.excludeFlag, mapped.join(",")], unmapped: [] };
263
+ return { tokens: [h.tools.excludeFlag, mapped.join(",")], passthrough: [] };
143
264
  }
144
- // pi: computed include over every known name minus the excluded.
145
- return { tokens: [h.tools.includeFlag, kept.join(",")], unmapped: [] };
265
+ return { tokens: [h.tools.includeFlag, kept.join(",")], passthrough: [] };
146
266
  };
147
267
  //# sourceMappingURL=tool-selection.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tool-selection.js","sourceRoot":"","sources":["../../src/interpretation/tool-selection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tool-selection.js","sourceRoot":"","sources":["../../src/interpretation/tool-selection.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACjE,OAAO,EACL,iBAAiB,EACjB,cAAc,EAId,iBAAiB,EACjB,WAAW,GAEZ,MAAM,sBAAsB,CAAC;AAE9B,MAAM,CAAC,MAAM,aAAa,GAAG,uCAAuC,CAAC;AAarE,MAAM,iBAAiB,GAAG,CAAC,CAAoB,EAAE,IAAY,EAAE,GAAsB,EAAQ,EAAE;IAC7F,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAC7C,MAAM,IAAI,gBAAgB,CAAC;YACzB,KAAK,EAAE,oBAAoB;YAC3B,OAAO,EAAE,CAAC,CAAC,IAAI;YACf,SAAS,EAAE,CAAC,kCAAkC,CAAC;YAC/C,MAAM,EAAE,SAAS,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE;SACvC,CAAC,CAAC;IACL,CAAC;IACD,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9B,MAAM,IAAI,gBAAgB,CAAC;YACzB,KAAK,EAAE,oBAAoB;YAC3B,OAAO,EAAE,CAAC,CAAC,IAAI;YACf,SAAS,EAAE,CAAC,cAAc,aAAa,CAAC,MAAM,EAAE,CAAC;YACjD,MAAM,EAAE,IAAI;SACb,CAAC,CAAC;IACL,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,CACpB,CAAoB,EACpB,UAA6B,EAC7B,KAAwC,EAC3B,EAAE;IACf,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;QAC3B,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAI,GAAG,EAAE,IAAI,KAAK,UAAU;YAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAClD,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAChC,CAAoB,EACpB,MAAwB,EACxB,IAAI,GAAmD,EAAE,EAC/C,EAAE;IACZ,IAAI,MAAM,KAAK,OAAO;QAAE,OAAO,EAAE,CAAC;IAClC,cAAc;IACd,MAAM,QAAQ,GAAI,WAAiC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;QAC/D,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,KAAK,SAAS;YAAE,OAAO,IAAI,CAAC;QACjD,MAAM,KAAK,GAAG,cAAc,CAAC,kBAAkB,EAAE,CAAC,CAAC;QACnD,OAAO,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,SAAS,CAAC;IAC1C,CAAC,CAAC,CAAC;IACH,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACrC,+DAA+D;IAC/D,MAAM,IAAI,GAAG,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC;IAClC,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;QACxC,MAAM,QAAQ,GAAG,mBAAmB,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QACtF,OAAO,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC9B,CAAC;IACD,wFAAwF;IACxF,gEAAgE;IAChE,OAAO,EAAE,CAAC;AACZ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,CAAoB,EACpB,SAAwB,EACD,EAAE;IACzB,MAAM,UAAU,GAAG,SAAS,CAAC,OAAO,KAAK,SAAS,CAAC;IACnD,MAAM,UAAU,GAAG,SAAS,CAAC,OAAO,KAAK,SAAS,CAAC;IAEnD,IAAI,UAAU,IAAI,UAAU,EAAE,CAAC;QAC7B,MAAM,IAAI,gBAAgB,CAAC;YACzB,KAAK,EAAE,4BAA4B;YACnC,OAAO,EAAE,CAAC,CAAC,IAAI;YACf,MAAM,EAAE,OAAO;YACf,SAAS,EAAE,CAAC,uEAAuE,CAAC;YACpF,MAAM,EAAE,kBAAkB;SAC3B,CAAC,CAAC;IACL,CAAC;IACD,IAAI,CAAC,UAAU,IAAI,CAAC,UAAU;QAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC;IAEvE,MAAM,GAAG,GAAG,kBAAkB,EAAE,CAAC;IACjC,MAAM,KAAK,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;IAClC,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,IAAI,EAAE,CAAC;IACxC,MAAM,YAAY,GAAG,iBAAiB,CAAC,GAAG,EAAE;QAC1C,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,OAA4C;KACF,CAAC,CAAC;IAExD,MAAM,cAAc,GAAG,CACrB,KAAwB,EACwB,EAAE;QAClD,MAAM,SAAS,GAAa,EAAE,CAAC;QAC/B,MAAM,WAAW,GAAa,EAAE,CAAC;QACjC,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,CAAC;QAC7C,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;YACxB,MAAM,MAAM,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;YACtC,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC7B,iBAAiB,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;gBACzC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBAC9B,SAAS;YACX,CAAC;YACD,iBAAiB,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YACzC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;gBACrC,MAAM,IAAI,gBAAgB,CAAC;oBACzB,KAAK,EAAE,mBAAmB;oBAC1B,OAAO,EAAE,CAAC,CAAC,IAAI;oBACf,MAAM,EAAE,OAAO;oBACf,SAAS,EAAE,CAAC,GAAG,YAAY,CAAC;oBAC5B,IAAI,EAAE,gDAAgD;oBACtD,MAAM,EAAE,wBAAwB,MAAM,CAAC,IAAI,EAAE;iBAC9C,CAAC,CAAC;YACL,CAAC;YACD,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC9B,CAAC;QACD,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC;IACpC,CAAC,CAAC;IAEF,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,WAAW,KAAK,IAAI,IAAI,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,CAAC;IACrF,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,WAAW,KAAK,IAAI,IAAI,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC;IAEtF,IAAI,YAAY,EAAE,CAAC;QACjB,MAAM,IAAI,gBAAgB,CAAC;YACzB,KAAK,EAAE,oBAAoB;YAC3B,OAAO,EAAE,CAAC,CAAC,IAAI;YACf,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,cAAc;YAC7C,SAAS,EAAE,CAAC,qBAAqB,CAAC;YAClC,WAAW,EAAE,WAAW,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,cAAc,CAAC;YACpE,IAAI,EACF,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,cAAc,CAAC;gBACtD,0IAA0I;SAC7I,CAAC,CAAC;IACL,CAAC;IACD,IAAI,eAAe,EAAE,CAAC;QACpB,MAAM,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,OAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,OAAQ,CAAC;QACnE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;QAEzD,IAAI,UAAU,EAAE,CAAC;YACf,qDAAqD;YACrD,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;gBAC1B,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,KAAK,SAAS,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,SAAS,CAAC;gBACzE,IAAI,CAAC,GAAG,EAAE,CAAC;oBACT,MAAM,IAAI,gBAAgB,CAAC;wBACzB,KAAK,EAAE,oBAAoB;wBAC3B,OAAO,EAAE,CAAC,CAAC,IAAI;wBACf,MAAM,EAAE,cAAc;wBACtB,SAAS,EAAE,CAAC,qBAAqB,CAAC;wBAClC,WAAW,EAAE,oBAAoB,CAAC,GAAG,EAAE,CAAC,CAAC;wBACzC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,cAAc,CAAC;qBACtC,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YACD,MAAM,IAAI,GAAG,aAAa,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;YAChD,MAAM,MAAM,GAAa,EAAE,CAAC;YAC5B,KAAK,MAAM,GAAG,IAAI,CAAC,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;gBACrC,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,WAAW;oBAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YACzE,CAAC;YACD,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;QACjC,CAAC;QAED,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;YAC1B,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,KAAK,SAAS,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,SAAS,CAAC;YACzE,IAAI,CAAC,GAAG,EAAE,CAAC;gBACT,MAAM,IAAI,gBAAgB,CAAC;oBACzB,KAAK,EAAE,oBAAoB;oBAC3B,OAAO,EAAE,CAAC,CAAC,IAAI;oBACf,MAAM,EAAE,OAAO;oBACf,SAAS,EAAE,CAAC,qBAAqB,CAAC;oBAClC,WAAW,EAAE,oBAAoB,CAAC,GAAG,EAAE,CAAC,CAAC;oBACzC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC;iBAC/B,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QACD,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3B,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5F,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;QACjC,CAAC;QACD,MAAM,WAAW,GAAG,aAAa,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;QACvD,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,KAAK,MAAM,GAAG,IAAI,CAAC,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;YACrC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,WAAW;gBAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACjF,CAAC;QACD,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;IACjC,CAAC;IAED,2CAA2C;IAC3C,IAAI,UAAU,EAAE,CAAC;QACf,MAAM,KAAK,GAAG,SAAS,CAAC,OAAQ,CAAC;QACjC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,IAAI,CAAC,CAAC,KAAK,CAAC,wBAAwB,EAAE,CAAC;gBACrC,MAAM,IAAI,gBAAgB,CAAC;oBACzB,KAAK,EAAE,oBAAoB;oBAC3B,OAAO,EAAE,CAAC,CAAC,IAAI;oBACf,MAAM,EAAE,OAAO;oBACf,SAAS,EAAE,CAAC,2DAA2D,CAAC;oBACxE,MAAM,EAAE,oBAAoB;iBAC7B,CAAC,CAAC;YACL,CAAC;YACD,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAClD,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,WAAY,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC;QAC9E,CAAC;QACD,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;QACzD,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;YAC1B,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,KAAK,SAAS,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,SAAS,CAAC;YACzE,IAAI,CAAC,GAAG,EAAE,CAAC;gBACT,MAAM,IAAI,gBAAgB,CAAC;oBACzB,KAAK,EAAE,oBAAoB;oBAC3B,OAAO,EAAE,CAAC,CAAC,IAAI;oBACf,MAAM,EAAE,OAAO;oBACf,SAAS,EAAE,CAAC,qBAAqB,CAAC;oBAClC,WAAW,EAAE,oBAAoB,CAAC,GAAG,EAAE,CAAC,CAAC;oBACzC,IAAI,EAAE,eAAe,CAAC,CAAC,IAAI,IAAI,CAAC,gDAAgD,CAAC,EAAE;iBACpF,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QACD,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;YAC1B,IAAI,CAAC,GAAkB,OAAO,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;YAC1C,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;gBACf,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBACjC,IAAI,KAAK,EAAE,IAAI,KAAK,SAAS;oBAAE,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC;YAClD,CAAC;YACD,IAAI,CAAC;gBAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACxB,CAAC;QACD,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,wBAAwB,EAAE,CAAC;YACtC,+GAA+G;YAC/G,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAClD,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1D,MAAM,MAAM,GAAa,CAAC,CAAC,CAAC,KAAK,CAAC,WAAY,EAAE,CAAC,GAAG,MAAM,EAAE,GAAG,WAAW,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;YACvF,mHAAmH;YACnH,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAClD,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,WAAY,EAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;YACxD,CAAC;iBAAM,CAAC;gBACN,2FAA2F;gBAC3F,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,WAAY,EAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;YACxD,CAAC;YACD,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;QACjC,CAAC;QACD,OAAO;YACL,MAAM,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,WAAY,EAAE,CAAC,GAAG,MAAM,EAAE,GAAG,WAAW,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACrE,WAAW;SACZ,CAAC;IACJ,CAAC;IAED,UAAU;IACV,MAAM,KAAK,GAAG,SAAS,CAAC,OAAQ,CAAC;IACjC,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,mBAAmB,EAAE,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;IAC9E,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;QAC1B,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,KAAK,SAAS,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,SAAS,CAAC;QACzE,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,MAAM,IAAI,gBAAgB,CAAC;gBACzB,KAAK,EAAE,oBAAoB;gBAC3B,OAAO,EAAE,CAAC,CAAC,IAAI;gBACf,MAAM,EAAE,cAAc;gBACtB,SAAS,EAAE,CAAC,qBAAqB,CAAC;gBAClC,WAAW,EAAE,oBAAoB,CAAC,GAAG,EAAE,CAAC,CAAC;gBACzC,IAAI,EAAE,eAAe,CAAC,CAAC,IAAI,IAAI,CAAC,gDAAgD,CAAC,EAAE;aACpF,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IACD,IAAI,mBAAmB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACnC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,wBAAwB,EAAE,CAAC;YACtC,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,CAC1B,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,IAAK,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAoC,EAAE,MAAM,IAAI,CAAC,CACzF,CAAC;YACF,MAAM,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,WAAY,EAAE,CAAC,GAAG,MAAM,EAAE,GAAG,mBAAmB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;YACrF,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,mBAAmB,EAAE,CAAC;QACtD,CAAC;QACD,MAAM,IAAI,gBAAgB,CAAC;YACzB,KAAK,EAAE,mBAAmB;YAC1B,OAAO,EAAE,CAAC,CAAC,IAAI;YACf,MAAM,EAAE,cAAc;YACtB,SAAS,EAAE,CAAC,qBAAqB,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAClF,MAAM,EAAE,kCAAkC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,qCAAqC;SAC9G,CAAC,CAAC;IACL,CAAC;IACD,MAAM,MAAM,GAAG,SAAS;SACrB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,IAAK,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAoC,EAAE,MAAM,IAAI,EAAE,CAAC;SAC9F,MAAM,CAAC,OAAO,CAAC,CAAC;IACnB,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IACvE,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACtC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,wBAAwB,EAAE,CAAC;QACtC,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,WAAY,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC;IAC/E,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,WAAY,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC;AAC7E,CAAC,CAAC"}
@@ -0,0 +1,38 @@
1
+ import type { DescriptorSet } from "../knowledge/overrides.js";
2
+ export declare const NATIVE_PREFIX: "native:";
3
+ export type VocabularyEntry = {
4
+ kind: "builtin";
5
+ native: string;
6
+ } | {
7
+ kind: "category";
8
+ key: string;
9
+ };
10
+ export declare const READ_PRESET: readonly ["read", "grep", "glob", "list", "web-fetch", "web-search"];
11
+ export type ParsedSelector = {
12
+ kind: "canonical";
13
+ name: string;
14
+ } | {
15
+ kind: "native";
16
+ name: string;
17
+ };
18
+ export declare const parseToolSelector: (raw: string) => ParsedSelector;
19
+ export type ToolMap = Readonly<Record<string, Readonly<Record<string, string>>>>;
20
+ export type ToolMapTier = "user-config" | "project-config";
21
+ export type MergedToolMap = Readonly<Record<string, Readonly<Record<string, {
22
+ native: string;
23
+ tier: ToolMapTier;
24
+ }>>>>;
25
+ /** Pure merge per harness per canonical: project > user. */
26
+ export declare const mergeToolMaps: (tiers: {
27
+ readonly user?: ToolMap;
28
+ readonly project?: ToolMap;
29
+ }) => MergedToolMap;
30
+ export type CanonicalTable = Readonly<Record<string, Readonly<Partial<Record<string, VocabularyEntry>>>>>;
31
+ export declare const canonicalTable: (set: DescriptorSet) => CanonicalTable;
32
+ export declare const canonicalToolTable: typeof canonicalTable;
33
+ export declare const canonicalNames: (set: DescriptorSet) => readonly string[];
34
+ export declare const allCanonicalNames: (set: DescriptorSet, toolMap?: ToolMap | MergedToolMap) => readonly string[];
35
+ export declare const hasCounterpart: (table: CanonicalTable, canonical: string, harnessName: string, toolMap?: MergedToolMap | ToolMap) => boolean;
36
+ export declare const nativeFor: (table: CanonicalTable, canonical: string, harnessName: string, toolMap?: MergedToolMap | ToolMap) => string | null;
37
+ export declare const validateCanonicalList: (names: readonly string[] | undefined, allCanonical: readonly string[], harness: string) => void;
38
+ //# sourceMappingURL=tool-vocabulary.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-vocabulary.d.ts","sourceRoot":"","sources":["../../src/interpretation/tool-vocabulary.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAG/D,eAAO,MAAM,aAAa,EAAG,SAAkB,CAAC;AAEhD,MAAM,MAAM,eAAe,GACvB;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACnC;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC;AAEtC,eAAO,MAAM,WAAW,YAAI,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,YAAY,CAAU,CAAC;AAEhG,MAAM,MAAM,cAAc,GAAG;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAEpG,eAAO,MAAM,iBAAiB,QAAS,MAAM,KAAG,cAGV,CAAC;AAEvC,MAAM,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AAEjF,MAAM,MAAM,WAAW,GAAG,aAAa,GAAG,gBAAgB,CAAC;AAE3D,MAAM,MAAM,aAAa,GAAG,QAAQ,CAClC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,WAAW,CAAA;CAAE,CAAC,CAAC,CAAC,CAChF,CAAC;AAEF,4DAA4D;AAC5D,eAAO,MAAM,aAAa,UAAW;IACnC,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;CAC5B,KAAG,aA0BH,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,QAAQ,CACnC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,CACnE,CAAC;AAIF,eAAO,MAAM,cAAc,QAAS,aAAa,KAAG,cAmCnD,CAAC;AAGF,eAAO,MAAM,kBAAkB,uBAAiB,CAAC;AAEjD,eAAO,MAAM,cAAc,QAAS,aAAa,KAAG,SAAS,MAAM,EAGlE,CAAC;AAEF,eAAO,MAAM,iBAAiB,QACvB,aAAa,YACR,OAAO,GAAG,aAAa,KAChC,SAAS,MAAM,EAMjB,CAAC;AAEF,eAAO,MAAM,cAAc,UAClB,cAAc,aACV,MAAM,eACJ,MAAM,YACT,aAAa,GAAG,OAAO,KAChC,OAaF,CAAC;AAEF,eAAO,MAAM,SAAS,UACb,cAAc,aACV,MAAM,eACJ,MAAM,YACT,aAAa,GAAG,OAAO,KAChC,MAAM,GAAG,IAeX,CAAC;AAEF,eAAO,MAAM,qBAAqB,UACzB,SAAS,MAAM,EAAE,GAAG,SAAS,gBACtB,SAAS,MAAM,EAAE,WACtB,MAAM,KACd,IAgBF,CAAC"}