@dungle-scrubs/harness-cli-normalizer 0.6.0 → 0.6.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 (212) hide show
  1. package/README.md +18 -6
  2. package/dist/cli/args.d.ts +9 -1
  3. package/dist/cli/args.d.ts.map +1 -1
  4. package/dist/cli/args.js +31 -26
  5. package/dist/cli/args.js.map +1 -1
  6. package/dist/cli/check.d.ts +14 -0
  7. package/dist/cli/check.d.ts.map +1 -1
  8. package/dist/cli/check.js +10 -3
  9. package/dist/cli/check.js.map +1 -1
  10. package/dist/cli/config.d.ts +4 -4
  11. package/dist/cli/config.d.ts.map +1 -1
  12. package/dist/cli/config.js +6 -6
  13. package/dist/cli/config.js.map +1 -1
  14. package/dist/cli/exit-codes.d.ts +0 -1
  15. package/dist/cli/exit-codes.d.ts.map +1 -1
  16. package/dist/cli/exit-codes.js +0 -1
  17. package/dist/cli/exit-codes.js.map +1 -1
  18. package/dist/cli/help.d.ts +2 -2
  19. package/dist/cli/help.d.ts.map +1 -1
  20. package/dist/cli/help.js +6 -2
  21. package/dist/cli/help.js.map +1 -1
  22. package/dist/cli/index.d.ts.map +1 -1
  23. package/dist/cli/index.js +3 -1
  24. package/dist/cli/index.js.map +1 -1
  25. package/dist/cli/inspect.d.ts.map +1 -1
  26. package/dist/cli/inspect.js +84 -265
  27. package/dist/cli/inspect.js.map +1 -1
  28. package/dist/cli/plan-turn.d.ts +68 -0
  29. package/dist/cli/plan-turn.d.ts.map +1 -0
  30. package/dist/cli/plan-turn.js +266 -0
  31. package/dist/cli/plan-turn.js.map +1 -0
  32. package/dist/cli/refuse.d.ts.map +1 -1
  33. package/dist/cli/refuse.js +2 -1
  34. package/dist/cli/refuse.js.map +1 -1
  35. package/dist/cli/resolve-harness.d.ts.map +1 -1
  36. package/dist/cli/resolve-harness.js +2 -3
  37. package/dist/cli/resolve-harness.js.map +1 -1
  38. package/dist/cli/run.d.ts.map +1 -1
  39. package/dist/cli/run.js +33 -367
  40. package/dist/cli/run.js.map +1 -1
  41. package/dist/cli/session-json.d.ts +1 -1
  42. package/dist/cli/session-json.d.ts.map +1 -1
  43. package/dist/cli/session-json.js +1 -3
  44. package/dist/cli/session-json.js.map +1 -1
  45. package/dist/cli/session.d.ts.map +1 -1
  46. package/dist/cli/session.js +25 -44
  47. package/dist/cli/session.js.map +1 -1
  48. package/dist/cli/skills-root.d.ts +1 -1
  49. package/dist/cli/skills-root.d.ts.map +1 -1
  50. package/dist/cli/skills-root.js +1 -1
  51. package/dist/cli/skills-root.js.map +1 -1
  52. package/dist/execution/decode.d.ts.map +1 -1
  53. package/dist/execution/decode.js +11 -36
  54. package/dist/execution/decode.js.map +1 -1
  55. package/dist/execution/events.d.ts +4 -1
  56. package/dist/execution/events.d.ts.map +1 -1
  57. package/dist/execution/events.js.map +1 -1
  58. package/dist/execution/failure.d.ts +3 -1
  59. package/dist/execution/failure.d.ts.map +1 -1
  60. package/dist/execution/failure.js +14 -11
  61. package/dist/execution/failure.js.map +1 -1
  62. package/dist/execution/open-session.d.ts +1 -1
  63. package/dist/execution/open-session.d.ts.map +1 -1
  64. package/dist/execution/open-session.js +150 -223
  65. package/dist/execution/open-session.js.map +1 -1
  66. package/dist/execution/stream-turn.d.ts +9 -14
  67. package/dist/execution/stream-turn.d.ts.map +1 -1
  68. package/dist/execution/stream-turn.js +85 -188
  69. package/dist/execution/stream-turn.js.map +1 -1
  70. package/dist/execution/supervisor.d.ts +71 -0
  71. package/dist/execution/supervisor.d.ts.map +1 -0
  72. package/dist/execution/supervisor.js +127 -0
  73. package/dist/execution/supervisor.js.map +1 -0
  74. package/dist/interpretation/argv.d.ts +38 -12
  75. package/dist/interpretation/argv.d.ts.map +1 -1
  76. package/dist/interpretation/argv.js +26 -20
  77. package/dist/interpretation/argv.js.map +1 -1
  78. package/dist/interpretation/content.d.ts +10 -1
  79. package/dist/interpretation/content.d.ts.map +1 -1
  80. package/dist/interpretation/content.js +20 -11
  81. package/dist/interpretation/content.js.map +1 -1
  82. package/dist/interpretation/hints.d.ts +1 -1
  83. package/dist/interpretation/hints.d.ts.map +1 -1
  84. package/dist/interpretation/hints.js +10 -11
  85. package/dist/interpretation/hints.js.map +1 -1
  86. package/dist/interpretation/index.d.ts +0 -1
  87. package/dist/interpretation/index.d.ts.map +1 -1
  88. package/dist/interpretation/index.js +0 -1
  89. package/dist/interpretation/index.js.map +1 -1
  90. package/dist/interpretation/limits.d.ts +2 -5
  91. package/dist/interpretation/limits.d.ts.map +1 -1
  92. package/dist/interpretation/limits.js +8 -62
  93. package/dist/interpretation/limits.js.map +1 -1
  94. package/dist/interpretation/question.d.ts +27 -0
  95. package/dist/interpretation/question.d.ts.map +1 -1
  96. package/dist/interpretation/question.js +28 -0
  97. package/dist/interpretation/question.js.map +1 -1
  98. package/dist/interpretation/refusal.d.ts +10 -5
  99. package/dist/interpretation/refusal.d.ts.map +1 -1
  100. package/dist/interpretation/refusal.js +24 -15
  101. package/dist/interpretation/refusal.js.map +1 -1
  102. package/dist/interpretation/resolve-options.d.ts +36 -2
  103. package/dist/interpretation/resolve-options.d.ts.map +1 -1
  104. package/dist/interpretation/resolve-options.js +38 -21
  105. package/dist/interpretation/resolve-options.js.map +1 -1
  106. package/dist/interpretation/session-input.d.ts +44 -1
  107. package/dist/interpretation/session-input.d.ts.map +1 -1
  108. package/dist/interpretation/session-input.js +59 -4
  109. package/dist/interpretation/session-input.js.map +1 -1
  110. package/dist/interpretation/shape.d.ts +1 -0
  111. package/dist/interpretation/shape.d.ts.map +1 -1
  112. package/dist/interpretation/shape.js +10 -0
  113. package/dist/interpretation/shape.js.map +1 -1
  114. package/dist/interpretation/skills-selection.d.ts +25 -33
  115. package/dist/interpretation/skills-selection.d.ts.map +1 -1
  116. package/dist/interpretation/skills-selection.js +41 -48
  117. package/dist/interpretation/skills-selection.js.map +1 -1
  118. package/dist/interpretation/support.d.ts.map +1 -1
  119. package/dist/interpretation/support.js +23 -8
  120. package/dist/interpretation/support.js.map +1 -1
  121. package/dist/interpretation/tool-selection.d.ts +7 -6
  122. package/dist/interpretation/tool-selection.d.ts.map +1 -1
  123. package/dist/interpretation/tool-selection.js +54 -116
  124. package/dist/interpretation/tool-selection.js.map +1 -1
  125. package/dist/interpretation/tool-vocabulary.d.ts +31 -12
  126. package/dist/interpretation/tool-vocabulary.d.ts.map +1 -1
  127. package/dist/interpretation/tool-vocabulary.js +19 -41
  128. package/dist/interpretation/tool-vocabulary.js.map +1 -1
  129. package/dist/interpretation/turn-options.d.ts +4 -0
  130. package/dist/interpretation/turn-options.d.ts.map +1 -1
  131. package/dist/interpretation/turn-options.js +105 -241
  132. package/dist/interpretation/turn-options.js.map +1 -1
  133. package/dist/interpretation/vocabulary.d.ts +8 -6
  134. package/dist/interpretation/vocabulary.d.ts.map +1 -1
  135. package/dist/interpretation/vocabulary.js +22 -9
  136. package/dist/interpretation/vocabulary.js.map +1 -1
  137. package/dist/knowledge/claude-code.js +3 -3
  138. package/dist/knowledge/claude-code.js.map +1 -1
  139. package/dist/knowledge/codex.d.ts.map +1 -1
  140. package/dist/knowledge/codex.js +31 -7
  141. package/dist/knowledge/codex.js.map +1 -1
  142. package/dist/knowledge/descriptor.d.ts +67 -36
  143. package/dist/knowledge/descriptor.d.ts.map +1 -1
  144. package/dist/knowledge/descriptor.js +49 -15
  145. package/dist/knowledge/descriptor.js.map +1 -1
  146. package/dist/knowledge/matchers.d.ts +12 -0
  147. package/dist/knowledge/matchers.d.ts.map +1 -1
  148. package/dist/knowledge/matchers.js +34 -0
  149. package/dist/knowledge/matchers.js.map +1 -1
  150. package/dist/knowledge/muse.d.ts.map +1 -1
  151. package/dist/knowledge/muse.js +7 -5
  152. package/dist/knowledge/muse.js.map +1 -1
  153. package/dist/knowledge/overrides.d.ts.map +1 -1
  154. package/dist/knowledge/overrides.js +9 -20
  155. package/dist/knowledge/overrides.js.map +1 -1
  156. package/dist/knowledge/pi.d.ts.map +1 -1
  157. package/dist/knowledge/pi.js +8 -6
  158. package/dist/knowledge/pi.js.map +1 -1
  159. package/dist/knowledge/profile.d.ts +1 -0
  160. package/dist/knowledge/profile.d.ts.map +1 -1
  161. package/dist/knowledge/profile.js +1 -0
  162. package/dist/knowledge/profile.js.map +1 -1
  163. package/package.json +1 -1
  164. package/src/cli/args.ts +35 -27
  165. package/src/cli/check.ts +10 -3
  166. package/src/cli/config.ts +12 -11
  167. package/src/cli/exit-codes.ts +0 -2
  168. package/src/cli/help.ts +6 -2
  169. package/src/cli/index.ts +3 -1
  170. package/src/cli/inspect.ts +88 -269
  171. package/src/cli/plan-turn.ts +346 -0
  172. package/src/cli/refuse.ts +2 -1
  173. package/src/cli/resolve-harness.ts +4 -5
  174. package/src/cli/run.ts +36 -399
  175. package/src/cli/session-json.ts +1 -6
  176. package/src/cli/session.ts +34 -44
  177. package/src/cli/skills-root.ts +1 -4
  178. package/src/execution/decode.ts +10 -36
  179. package/src/execution/events.ts +4 -1
  180. package/src/execution/failure.ts +18 -11
  181. package/src/execution/open-session.ts +154 -228
  182. package/src/execution/stream-turn.ts +90 -193
  183. package/src/execution/supervisor.ts +199 -0
  184. package/src/interpretation/argv.ts +62 -34
  185. package/src/interpretation/content.ts +30 -13
  186. package/src/interpretation/hints.ts +2 -12
  187. package/src/interpretation/index.ts +0 -1
  188. package/src/interpretation/limits.ts +14 -75
  189. package/src/interpretation/question.ts +46 -0
  190. package/src/interpretation/refusal.ts +28 -18
  191. package/src/interpretation/resolve-options.ts +85 -32
  192. package/src/interpretation/session-input.ts +88 -5
  193. package/src/interpretation/shape.ts +10 -0
  194. package/src/interpretation/skills-selection.ts +70 -74
  195. package/src/interpretation/support.ts +19 -6
  196. package/src/interpretation/tool-selection.ts +67 -122
  197. package/src/interpretation/tool-vocabulary.ts +48 -53
  198. package/src/interpretation/turn-options.ts +123 -220
  199. package/src/interpretation/vocabulary.ts +15 -10
  200. package/src/knowledge/claude-code.ts +3 -3
  201. package/src/knowledge/codex.ts +31 -7
  202. package/src/knowledge/descriptor.ts +105 -49
  203. package/src/knowledge/matchers.ts +35 -0
  204. package/src/knowledge/muse.ts +7 -5
  205. package/src/knowledge/overrides.ts +17 -32
  206. package/src/knowledge/pi.ts +8 -6
  207. package/src/knowledge/profile.ts +1 -0
  208. package/dist/interpretation/dimensions.d.ts +0 -11
  209. package/dist/interpretation/dimensions.d.ts.map +0 -1
  210. package/dist/interpretation/dimensions.js +0 -4
  211. package/dist/interpretation/dimensions.js.map +0 -1
  212. package/src/interpretation/dimensions.ts +0 -14
@@ -2,8 +2,8 @@ import { defaultDescriptors } from "../knowledge/overrides.js";
2
2
  import { hintFor } from "./hints.js";
3
3
  import { ArgvRefusalError } from "./refusal.js";
4
4
  import { supportedBy, supportedByCanonical } from "./support.js";
5
- import { allCanonicalNames, canonicalTable, parseToolSelector, READ_PRESET, } from "./tool-vocabulary.js";
6
- export const TOOL_SELECTOR = /^[A-Za-z0-9][A-Za-z0-9._:/@-]{0,127}$/;
5
+ import { allCanonicalNames, canonicalTable, hasCounterpart, nativeFor, parseToolSelector, } from "./tool-vocabulary.js";
6
+ import { CLEAN_SELECTOR } from "./vocabulary.js";
7
7
  const validateInnerName = (h, name, raw) => {
8
8
  if (name.trim() === "" || name.includes(",")) {
9
9
  throw new ArgvRefusalError({
@@ -13,11 +13,11 @@ const validateInnerName = (h, name, raw) => {
13
13
  detail: `tools=${JSON.stringify(raw)}`,
14
14
  });
15
15
  }
16
- if (!TOOL_SELECTOR.test(name)) {
16
+ if (!CLEAN_SELECTOR.test(name)) {
17
17
  throw new ArgvRefusalError({
18
18
  issue: "invalid-tool-grant",
19
19
  harness: h.name,
20
- supported: [`must match ${TOOL_SELECTOR.source}`],
20
+ supported: [`must match ${CLEAN_SELECTOR.source}`],
21
21
  detail: name,
22
22
  });
23
23
  }
@@ -31,28 +31,6 @@ const categoriesFor = (h, canonicals, table) => {
31
31
  }
32
32
  return cats;
33
33
  };
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];
51
- }
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 [];
55
- };
56
34
  export const renderToolSelection = (h, selection) => {
57
35
  const hasInclude = selection.include !== undefined;
58
36
  const hasExclude = selection.exclude !== undefined;
@@ -69,10 +47,11 @@ export const renderToolSelection = (h, selection) => {
69
47
  return { tokens: [], passthrough: [] };
70
48
  const set = defaultDescriptors();
71
49
  const table = canonicalTable(set);
72
- const toolMap = selection.toolMap ?? {};
73
- const allCanonical = allCanonicalNames(set, {
74
- [h.name]: toolMap,
75
- });
50
+ const toolMap = selection.toolMap;
51
+ // Names this harness's own toolMap entry adds count as canonical here;
52
+ // another harness's entries do not make a name expressible on this one.
53
+ const own = toolMap?.[h.name];
54
+ const allCanonical = allCanonicalNames(set, own === undefined ? undefined : { [h.name]: own });
76
55
  const splitSelection = (names) => {
77
56
  const canonical = [];
78
57
  const passthrough = [];
@@ -99,9 +78,26 @@ export const renderToolSelection = (h, selection) => {
99
78
  }
100
79
  return { canonical, passthrough };
101
80
  };
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) {
81
+ /** Refuse the first canonical this harness cannot express. */
82
+ const requireCounterparts = (canonical, option, hint) => {
83
+ for (const c of canonical) {
84
+ if (hasCounterpart(table, c, h.name, toolMap))
85
+ continue;
86
+ throw new ArgvRefusalError({
87
+ issue: "unsupported-option",
88
+ harness: h.name,
89
+ option,
90
+ supported: ["per-tool name lists"],
91
+ supportedBy: supportedByCanonical(set, c),
92
+ hint: hint(c),
93
+ });
94
+ }
95
+ };
96
+ // The descriptor says how a deny lands (RFC-02 change 7): no lists at
97
+ // all (codex), a policy gate over category switches (muse), or removal
98
+ // from the name list (claude, pi). Nothing here re-derives that shape.
99
+ const semantics = h.tools.denySemantics;
100
+ if (semantics === "no-lists") {
105
101
  throw new ArgvRefusalError({
106
102
  issue: "unsupported-option",
107
103
  harness: h.name,
@@ -112,24 +108,11 @@ export const renderToolSelection = (h, selection) => {
112
108
  "nearest control on codex: category switches via config keys (features.shell_tool, web_search) or sandbox modes - see `hcn inspect codex`",
113
109
  });
114
110
  }
115
- if (isCategoryShape) {
111
+ if (semantics === "policy-gate") {
116
112
  const names = hasInclude ? selection.include : selection.exclude;
117
113
  const { canonical, passthrough } = splitSelection(names);
118
114
  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
- }
115
+ requireCounterparts(canonical, "excludeTools", () => hintFor(h.name, "excludeTools"));
133
116
  const cats = categoriesFor(h, canonical, table);
134
117
  const tokens = [];
135
118
  for (const cat of h.tools.categories) {
@@ -138,19 +121,7 @@ export const renderToolSelection = (h, selection) => {
138
121
  }
139
122
  return { tokens, passthrough };
140
123
  }
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
- }
124
+ requireCounterparts(canonical, "tools", () => hintFor(h.name, "tools"));
154
125
  if (canonical.length === 0) {
155
126
  const tokens = h.tools.categories.map((c) => c.disableFlag).filter((f) => !!f);
156
127
  return { tokens, passthrough };
@@ -163,7 +134,11 @@ export const renderToolSelection = (h, selection) => {
163
134
  }
164
135
  return { tokens, passthrough };
165
136
  }
166
- // From here: h has list flags (claude, pi)
137
+ // From here: remove-from-set, the harness has name-list flags (claude, pi)
138
+ const toolMapHint = (c) => `add toolMap.${h.name}.${c} to ~/.config/hcn/config.json or pass native:${c}`;
139
+ const nativeNames = (canonical) => canonical
140
+ .map((c) => nativeFor(table, c, h.name, toolMap))
141
+ .filter((n) => n !== null);
167
142
  if (hasInclude) {
168
143
  const names = selection.include;
169
144
  if (names.length === 0) {
@@ -180,44 +155,23 @@ export const renderToolSelection = (h, selection) => {
180
155
  return { tokens: [h.tools.excludeFlag, known.join(",")], passthrough: [] };
181
156
  }
182
157
  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) {
186
- throw new ArgvRefusalError({
187
- issue: "unsupported-option",
188
- harness: h.name,
189
- option: "tools",
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}`,
193
- });
194
- }
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
- }
158
+ requireCounterparts(canonical, "tools", toolMapHint);
159
+ const mapped = nativeNames(canonical);
207
160
  if (!h.tools.includeIsStrictAllowlist) {
208
- // claude's include flag pre-approves without restricting, so an exact allowlist renders as the deny complement
161
+ // claude's include flag pre-approves without restricting, so an exact
162
+ // allowlist renders as the deny complement - always, even when the
163
+ // complement is empty.
209
164
  const known = h.tools.builtins.map((t) => t.name);
210
165
  const excluded = known.filter((n) => !mapped.includes(n));
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 };
166
+ return {
167
+ tokens: [
168
+ h.tools.includeFlag,
169
+ [...mapped, ...passthrough].join(","),
170
+ h.tools.excludeFlag,
171
+ excluded.join(","),
172
+ ],
173
+ passthrough,
174
+ };
221
175
  }
222
176
  return {
223
177
  tokens: [h.tools.includeFlag, [...mapped, ...passthrough].join(",")],
@@ -227,22 +181,10 @@ export const renderToolSelection = (h, selection) => {
227
181
  // exclude
228
182
  const names = selection.exclude;
229
183
  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
- });
241
- }
242
- }
184
+ requireCounterparts(canonical, "excludeTools", toolMapHint);
185
+ const mapped = nativeNames(canonical);
243
186
  if (excludedPassthrough.length > 0) {
244
187
  if (!h.tools.includeIsStrictAllowlist) {
245
- const mapped = canonical.map((c) => toolMap[c] ?? table[c]?.[h.name]?.native ?? c);
246
188
  const tokens = [h.tools.excludeFlag, [...mapped, ...excludedPassthrough].join(",")];
247
189
  return { tokens, passthrough: excludedPassthrough };
248
190
  }
@@ -254,11 +196,7 @@ export const renderToolSelection = (h, selection) => {
254
196
  detail: `cannot exclude unknown name(s) ${excludedPassthrough.join(", ")}: the complement cannot be computed`,
255
197
  });
256
198
  }
257
- const mapped = canonical
258
- .map((c) => toolMap[c] ?? table[c]?.[h.name]?.native ?? "")
259
- .filter(Boolean);
260
- const known = h.tools.builtins.filter((t) => !mapped.includes(t.name));
261
- const kept = known.map((t) => t.name);
199
+ const kept = h.tools.builtins.filter((t) => !mapped.includes(t.name)).map((t) => t.name);
262
200
  if (!h.tools.includeIsStrictAllowlist) {
263
201
  return { tokens: [h.tools.excludeFlag, mapped.join(",")], passthrough: [] };
264
202
  }
@@ -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":"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"}
@@ -1,3 +1,13 @@
1
+ /**
2
+ * The canonical tool vocabulary and the toolMap that extends it.
3
+ *
4
+ * One toolMap shape (RFC-02 change 8): a config file carries the raw
5
+ * shape, harness -> canonical -> native, and `mergeToolMaps` folds the
6
+ * tiers into the one shape everything downstream reads, harness ->
7
+ * canonical -> the native name plus the tier that set it. Tool selection
8
+ * and the access preset call `hasCounterpart` and `nativeFor` instead of
9
+ * restating them.
10
+ */
1
11
  import type { DescriptorSet } from "../knowledge/overrides.js";
2
12
  export declare const NATIVE_PREFIX: "native:";
3
13
  export type VocabularyEntry = {
@@ -16,23 +26,32 @@ export type ParsedSelector = {
16
26
  name: string;
17
27
  };
18
28
  export declare const parseToolSelector: (raw: string) => ParsedSelector;
19
- export type ToolMap = Readonly<Record<string, Readonly<Record<string, string>>>>;
29
+ /** The raw shape a config file carries: harness -> canonical -> native. */
30
+ export type ToolMapConfig = Readonly<Record<string, Readonly<Record<string, string>>>>;
20
31
  export type ToolMapTier = "user-config" | "project-config";
21
- export type MergedToolMap = Readonly<Record<string, Readonly<Record<string, {
22
- native: string;
23
- tier: ToolMapTier;
24
- }>>>>;
32
+ export interface ToolMapEntry {
33
+ readonly native: string;
34
+ readonly tier: ToolMapTier;
35
+ }
36
+ /** The one shape past the merge: harness -> canonical -> native plus the
37
+ * tier that set it. Carried on the turn options and read by every
38
+ * consumer. */
39
+ export type ToolMap = Readonly<Record<string, Readonly<Record<string, ToolMapEntry>>>>;
25
40
  /** Pure merge per harness per canonical: project > user. */
26
41
  export declare const mergeToolMaps: (tiers: {
27
- readonly user?: ToolMap;
28
- readonly project?: ToolMap;
29
- }) => MergedToolMap;
42
+ readonly user?: ToolMapConfig;
43
+ readonly project?: ToolMapConfig;
44
+ }) => ToolMap;
30
45
  export type CanonicalTable = Readonly<Record<string, Readonly<Partial<Record<string, VocabularyEntry>>>>>;
31
46
  export declare const canonicalTable: (set: DescriptorSet) => CanonicalTable;
32
- export declare const canonicalToolTable: typeof canonicalTable;
33
47
  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;
48
+ /** Every canonical name: the descriptors' plus every name a toolMap adds. */
49
+ export declare const allCanonicalNames: (set: DescriptorSet, toolMap?: ToolMap) => readonly string[];
50
+ /** Whether `harnessName` can express `canonical`: through its toolMap
51
+ * entry, a built-in, or a category. */
52
+ export declare const hasCounterpart: (table: CanonicalTable, canonical: string, harnessName: string, toolMap?: ToolMap) => boolean;
53
+ /** The native name `harnessName` lists `canonical` under: the toolMap
54
+ * entry wins, then the built-in; a category has no name-list spelling. */
55
+ export declare const nativeFor: (table: CanonicalTable, canonical: string, harnessName: string, toolMap?: ToolMap) => string | null;
37
56
  export declare const validateCanonicalList: (names: readonly string[] | undefined, allCanonical: readonly string[], harness: string) => void;
38
57
  //# sourceMappingURL=tool-vocabulary.d.ts.map
@@ -1 +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"}
1
+ {"version":3,"file":"tool-vocabulary.d.ts","sourceRoot":"","sources":["../../src/interpretation/tool-vocabulary.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,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,2EAA2E;AAC3E,MAAM,MAAM,aAAa,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AAEvF,MAAM,MAAM,WAAW,GAAG,aAAa,GAAG,gBAAgB,CAAC;AAE3D,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;CAC5B;AAED;;eAEe;AACf,MAAM,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;AAEvF,4DAA4D;AAC5D,eAAO,MAAM,aAAa,UAAW;IACnC,QAAQ,CAAC,IAAI,CAAC,EAAE,aAAa,CAAC;IAC9B,QAAQ,CAAC,OAAO,CAAC,EAAE,aAAa,CAAC;CAClC,KAAG,OA4BH,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;AAEF,eAAO,MAAM,cAAc,QAAS,aAAa,KAAG,SAAS,MAAM,EAGlE,CAAC;AAEF,6EAA6E;AAC7E,eAAO,MAAM,iBAAiB,QAAS,aAAa,YAAY,OAAO,KAAG,SAAS,MAAM,EAIxF,CAAC;AAEF;uCACuC;AACvC,eAAO,MAAM,cAAc,UAClB,cAAc,aACV,MAAM,eACJ,MAAM,YACT,OAAO,KAChB,OAE4C,CAAC;AAEhD;0EAC0E;AAC1E,eAAO,MAAM,SAAS,UACb,cAAc,aACV,MAAM,eACJ,MAAM,YACT,OAAO,KAChB,MAAM,GAAG,IAKX,CAAC;AAEF,eAAO,MAAM,qBAAqB,UACzB,SAAS,MAAM,EAAE,GAAG,SAAS,gBACtB,SAAS,MAAM,EAAE,WACtB,MAAM,KACd,IAgBF,CAAC"}
@@ -20,11 +20,13 @@ export const mergeToolMaps = (tiers) => {
20
20
  ]);
21
21
  const perHarness = {};
22
22
  for (const c of canonicals) {
23
- if (projectEntries[c] !== undefined) {
24
- perHarness[c] = { native: projectEntries[c], tier: "project-config" };
23
+ const project = projectEntries[c];
24
+ const user = userEntries[c];
25
+ if (project !== undefined) {
26
+ perHarness[c] = { native: project, tier: "project-config" };
25
27
  }
26
- else if (userEntries[c] !== undefined) {
27
- perHarness[c] = { native: userEntries[c], tier: "user-config" };
28
+ else if (user !== undefined) {
29
+ perHarness[c] = { native: user, tier: "user-config" };
28
30
  }
29
31
  }
30
32
  if (Object.keys(perHarness).length > 0) {
@@ -73,52 +75,28 @@ export const canonicalTable = (set) => {
73
75
  tableCache.set(set, frozen);
74
76
  return frozen;
75
77
  };
76
- // Backwards compat alias
77
- export const canonicalToolTable = canonicalTable;
78
78
  export const canonicalNames = (set) => {
79
79
  const table = canonicalTable(set);
80
80
  return Object.keys(table).sort();
81
81
  };
82
+ /** Every canonical name: the descriptors' plus every name a toolMap adds. */
82
83
  export const allCanonicalNames = (set, toolMap) => {
83
84
  const base = canonicalNames(set);
84
- const extra = toolMap
85
- ? Object.values(toolMap).flatMap((m) => Object.keys(m))
86
- : [];
85
+ const extra = toolMap ? Object.values(toolMap).flatMap((m) => Object.keys(m)) : [];
87
86
  return [...new Set([...base, ...extra])].sort();
88
87
  };
89
- export const hasCounterpart = (table, canonical, harnessName, toolMap) => {
90
- if (toolMap) {
91
- const hm = toolMap[harnessName];
92
- if (hm && hm[canonical] !== undefined) {
93
- const v = hm[canonical];
94
- if (typeof v === "object" && v !== null && "native" in v)
95
- return true;
96
- if (typeof v === "string")
97
- return true;
98
- }
99
- }
100
- const entry = table[canonical];
101
- if (!entry)
102
- return false;
103
- return entry[harnessName] !== undefined;
104
- };
88
+ /** Whether `harnessName` can express `canonical`: through its toolMap
89
+ * entry, a built-in, or a category. */
90
+ export const hasCounterpart = (table, canonical, harnessName, toolMap) => toolMap?.[harnessName]?.[canonical] !== undefined ||
91
+ table[canonical]?.[harnessName] !== undefined;
92
+ /** The native name `harnessName` lists `canonical` under: the toolMap
93
+ * entry wins, then the built-in; a category has no name-list spelling. */
105
94
  export const nativeFor = (table, canonical, harnessName, toolMap) => {
106
- if (toolMap) {
107
- const hm = toolMap[harnessName];
108
- const val = hm?.[canonical];
109
- if (val !== undefined) {
110
- if (typeof val === "object" && val !== null && "native" in val) {
111
- return val.native;
112
- }
113
- if (typeof val === "string")
114
- return val;
115
- }
116
- }
117
- const entry = table[canonical];
118
- const v = entry?.[harnessName];
119
- if (v?.kind === "builtin")
120
- return v.native;
121
- return null;
95
+ const mapped = toolMap?.[harnessName]?.[canonical];
96
+ if (mapped !== undefined)
97
+ return mapped.native;
98
+ const entry = table[canonical]?.[harnessName];
99
+ return entry?.kind === "builtin" ? entry.native : null;
122
100
  };
123
101
  export const validateCanonicalList = (names, allCanonical, harness) => {
124
102
  if (!names)
@@ -1 +1 @@
1
- {"version":3,"file":"tool-vocabulary.js","sourceRoot":"","sources":["../../src/interpretation/tool-vocabulary.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tool-vocabulary.js","sourceRoot":"","sources":["../../src/interpretation/tool-vocabulary.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,10 @@
8
8
  * it must refuse - is a distinct responsibility with its own vocabulary.
9
9
  * Folding it into argv.ts would make the largest interpretation file the
10
10
  * place two unrelated questions are answered.
11
+ *
12
+ * The render-to-tokens rule itself has one owner, `tokensFor` in the
13
+ * knowledge layer (RFC-02 change 1): every arm here validates its value,
14
+ * resolves the render for the phase, and calls it.
11
15
  */
12
16
  import type { HarnessDescriptor } from "../knowledge/descriptor.js";
13
17
  import type { TurnOptions } from "./argv.js";
@@ -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;AAe/D;;8EAE8E;AAC9E,eAAO,MAAM,iBAAiB,MACzB,iBAAiB,QACd,WAAW,SACV,QAAQ,GAAG,QAAQ,KACzB,MAAM,EAqgBR,CAAC"}
1
+ {"version":3,"file":"turn-options.d.ts","sourceRoot":"","sources":["../../src/interpretation/turn-options.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,KAAK,EAAe,iBAAiB,EAAY,MAAM,4BAA4B,CAAC;AAS3F,OAAO,KAAK,EAAoB,WAAW,EAAE,MAAM,WAAW,CAAC;AAW/D;;8EAE8E;AAC9E,eAAO,MAAM,iBAAiB,MACzB,iBAAiB,QACd,WAAW,SACV,QAAQ,GAAG,QAAQ,KACzB,MAAM,EA6ZR,CAAC"}