@dungle-scrubs/harness-cli-normalizer 0.6.0 → 0.6.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (219) hide show
  1. package/README.md +33 -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 +36 -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 +8 -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 +10 -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 +268 -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 +35 -43
  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 +39 -12
  75. package/dist/interpretation/argv.d.ts.map +1 -1
  76. package/dist/interpretation/argv.js +28 -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/isolation.d.ts +10 -0
  91. package/dist/interpretation/isolation.d.ts.map +1 -0
  92. package/dist/interpretation/isolation.js +30 -0
  93. package/dist/interpretation/isolation.js.map +1 -0
  94. package/dist/interpretation/limits.d.ts +2 -5
  95. package/dist/interpretation/limits.d.ts.map +1 -1
  96. package/dist/interpretation/limits.js +8 -62
  97. package/dist/interpretation/limits.js.map +1 -1
  98. package/dist/interpretation/question.d.ts +27 -0
  99. package/dist/interpretation/question.d.ts.map +1 -1
  100. package/dist/interpretation/question.js +28 -0
  101. package/dist/interpretation/question.js.map +1 -1
  102. package/dist/interpretation/refusal.d.ts +10 -5
  103. package/dist/interpretation/refusal.d.ts.map +1 -1
  104. package/dist/interpretation/refusal.js +24 -15
  105. package/dist/interpretation/refusal.js.map +1 -1
  106. package/dist/interpretation/resolve-options.d.ts +36 -2
  107. package/dist/interpretation/resolve-options.d.ts.map +1 -1
  108. package/dist/interpretation/resolve-options.js +53 -22
  109. package/dist/interpretation/resolve-options.js.map +1 -1
  110. package/dist/interpretation/session-input.d.ts +44 -1
  111. package/dist/interpretation/session-input.d.ts.map +1 -1
  112. package/dist/interpretation/session-input.js +59 -4
  113. package/dist/interpretation/session-input.js.map +1 -1
  114. package/dist/interpretation/shape.d.ts +1 -0
  115. package/dist/interpretation/shape.d.ts.map +1 -1
  116. package/dist/interpretation/shape.js +10 -0
  117. package/dist/interpretation/shape.js.map +1 -1
  118. package/dist/interpretation/skills-selection.d.ts +25 -33
  119. package/dist/interpretation/skills-selection.d.ts.map +1 -1
  120. package/dist/interpretation/skills-selection.js +41 -48
  121. package/dist/interpretation/skills-selection.js.map +1 -1
  122. package/dist/interpretation/support.d.ts.map +1 -1
  123. package/dist/interpretation/support.js +25 -8
  124. package/dist/interpretation/support.js.map +1 -1
  125. package/dist/interpretation/tool-selection.d.ts +7 -6
  126. package/dist/interpretation/tool-selection.d.ts.map +1 -1
  127. package/dist/interpretation/tool-selection.js +54 -116
  128. package/dist/interpretation/tool-selection.js.map +1 -1
  129. package/dist/interpretation/tool-vocabulary.d.ts +31 -12
  130. package/dist/interpretation/tool-vocabulary.d.ts.map +1 -1
  131. package/dist/interpretation/tool-vocabulary.js +19 -41
  132. package/dist/interpretation/tool-vocabulary.js.map +1 -1
  133. package/dist/interpretation/turn-options.d.ts +4 -0
  134. package/dist/interpretation/turn-options.d.ts.map +1 -1
  135. package/dist/interpretation/turn-options.js +107 -241
  136. package/dist/interpretation/turn-options.js.map +1 -1
  137. package/dist/interpretation/vocabulary.d.ts +8 -6
  138. package/dist/interpretation/vocabulary.d.ts.map +1 -1
  139. package/dist/interpretation/vocabulary.js +22 -9
  140. package/dist/interpretation/vocabulary.js.map +1 -1
  141. package/dist/knowledge/claude-code.d.ts +3 -1
  142. package/dist/knowledge/claude-code.d.ts.map +1 -1
  143. package/dist/knowledge/claude-code.js +17 -4
  144. package/dist/knowledge/claude-code.js.map +1 -1
  145. package/dist/knowledge/codex.d.ts.map +1 -1
  146. package/dist/knowledge/codex.js +31 -7
  147. package/dist/knowledge/codex.js.map +1 -1
  148. package/dist/knowledge/descriptor.d.ts +67 -36
  149. package/dist/knowledge/descriptor.d.ts.map +1 -1
  150. package/dist/knowledge/descriptor.js +50 -15
  151. package/dist/knowledge/descriptor.js.map +1 -1
  152. package/dist/knowledge/matchers.d.ts +12 -0
  153. package/dist/knowledge/matchers.d.ts.map +1 -1
  154. package/dist/knowledge/matchers.js +34 -0
  155. package/dist/knowledge/matchers.js.map +1 -1
  156. package/dist/knowledge/muse.d.ts.map +1 -1
  157. package/dist/knowledge/muse.js +13 -6
  158. package/dist/knowledge/muse.js.map +1 -1
  159. package/dist/knowledge/overrides.d.ts.map +1 -1
  160. package/dist/knowledge/overrides.js +9 -20
  161. package/dist/knowledge/overrides.js.map +1 -1
  162. package/dist/knowledge/pi.d.ts.map +1 -1
  163. package/dist/knowledge/pi.js +8 -6
  164. package/dist/knowledge/pi.js.map +1 -1
  165. package/dist/knowledge/profile.d.ts +1 -0
  166. package/dist/knowledge/profile.d.ts.map +1 -1
  167. package/dist/knowledge/profile.js +1 -0
  168. package/dist/knowledge/profile.js.map +1 -1
  169. package/package.json +1 -1
  170. package/src/cli/args.ts +39 -27
  171. package/src/cli/check.ts +10 -3
  172. package/src/cli/config.ts +14 -11
  173. package/src/cli/exit-codes.ts +0 -2
  174. package/src/cli/help.ts +10 -2
  175. package/src/cli/index.ts +3 -1
  176. package/src/cli/inspect.ts +88 -269
  177. package/src/cli/plan-turn.ts +350 -0
  178. package/src/cli/refuse.ts +2 -1
  179. package/src/cli/resolve-harness.ts +4 -5
  180. package/src/cli/run.ts +36 -399
  181. package/src/cli/session-json.ts +1 -6
  182. package/src/cli/session.ts +51 -44
  183. package/src/cli/skills-root.ts +1 -4
  184. package/src/execution/decode.ts +10 -36
  185. package/src/execution/events.ts +4 -1
  186. package/src/execution/failure.ts +18 -11
  187. package/src/execution/open-session.ts +154 -228
  188. package/src/execution/stream-turn.ts +90 -193
  189. package/src/execution/supervisor.ts +199 -0
  190. package/src/interpretation/argv.ts +65 -34
  191. package/src/interpretation/content.ts +30 -13
  192. package/src/interpretation/hints.ts +2 -12
  193. package/src/interpretation/index.ts +0 -1
  194. package/src/interpretation/isolation.ts +39 -0
  195. package/src/interpretation/limits.ts +14 -75
  196. package/src/interpretation/question.ts +46 -0
  197. package/src/interpretation/refusal.ts +28 -18
  198. package/src/interpretation/resolve-options.ts +98 -33
  199. package/src/interpretation/session-input.ts +88 -5
  200. package/src/interpretation/shape.ts +10 -0
  201. package/src/interpretation/skills-selection.ts +70 -74
  202. package/src/interpretation/support.ts +21 -6
  203. package/src/interpretation/tool-selection.ts +67 -122
  204. package/src/interpretation/tool-vocabulary.ts +48 -53
  205. package/src/interpretation/turn-options.ts +125 -220
  206. package/src/interpretation/vocabulary.ts +15 -10
  207. package/src/knowledge/claude-code.ts +17 -4
  208. package/src/knowledge/codex.ts +31 -7
  209. package/src/knowledge/descriptor.ts +106 -49
  210. package/src/knowledge/matchers.ts +35 -0
  211. package/src/knowledge/muse.ts +13 -6
  212. package/src/knowledge/overrides.ts +17 -32
  213. package/src/knowledge/pi.ts +8 -6
  214. package/src/knowledge/profile.ts +1 -0
  215. package/dist/interpretation/dimensions.d.ts +0 -11
  216. package/dist/interpretation/dimensions.d.ts.map +0 -1
  217. package/dist/interpretation/dimensions.js +0 -4
  218. package/dist/interpretation/dimensions.js.map +0 -1
  219. package/src/interpretation/dimensions.ts +0 -14
@@ -15,24 +15,39 @@ const spellingOf = (h, option) => {
15
15
  switch (option) {
16
16
  case "access": {
17
17
  const spec = h.turnOptions.access;
18
- if (spec === undefined)
18
+ if (spec === undefined || spec.kind !== "access")
19
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;
20
+ const read = spec.renders.read;
21
+ if (read === "tool-preset")
22
+ return h.tools.includeFlag ?? h.tools.excludeFlag ?? null;
23
+ if (read === null)
24
+ return null;
25
+ return read.render.kind === "flag-list" ? (read.render.flags[0] ?? null) : read.render.flag;
27
26
  }
28
27
  case "tools":
29
28
  return h.tools.includeFlag;
30
29
  case "excludeTools":
31
30
  return h.tools.excludeFlag;
31
+ case "skills": {
32
+ if (h.skills === null)
33
+ return null;
34
+ if (h.skills.loadFlag !== null)
35
+ return h.skills.loadFlag;
36
+ switch (h.skills.overridesVia) {
37
+ case "settings-skilloverrides":
38
+ return "skillOverrides";
39
+ case "config-skills-array":
40
+ return "-c skills.config";
41
+ default:
42
+ return null;
43
+ }
44
+ }
32
45
  case "autonomy":
33
46
  return h.autonomy?.flag ?? null;
47
+ case "isolation":
34
48
  case "effort":
35
49
  case "sandbox":
50
+ case "contextWindow":
36
51
  case "provider":
37
52
  case "write":
38
53
  case "shell":
@@ -94,8 +109,10 @@ export const recognizeNativeSpelling = (set, flag) => {
94
109
  "tools",
95
110
  "excludeTools",
96
111
  "autonomy",
112
+ "isolation",
97
113
  "effort",
98
114
  "sandbox",
115
+ "contextWindow",
99
116
  "provider",
100
117
  "write",
101
118
  "shell",
@@ -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,19 +1,20 @@
1
1
  /**
2
- * Tool-selection rendering with canonical vocabulary.
2
+ * Tool-selection rendering with canonical vocabulary. The descriptor's
3
+ * denySemantics says which shape a harness has; the toolMap helpers in
4
+ * tool-vocabulary.ts own the counterpart and native-name rules (RFC-02
5
+ * changes 7 and 8) - nothing here restates them.
3
6
  */
4
7
  import type { HarnessDescriptor } from "../knowledge/descriptor.js";
5
- export declare const TOOL_SELECTOR: RegExp;
8
+ import { type ToolMap } from "./tool-vocabulary.js";
6
9
  export interface ToolSelection {
7
10
  readonly include?: readonly string[];
8
11
  readonly exclude?: readonly string[];
9
- readonly toolMap?: Readonly<Record<string, string>>;
12
+ /** The merged toolMap, every harness; the renderer reads its own entry. */
13
+ readonly toolMap?: ToolMap;
10
14
  }
11
15
  export interface RenderedToolSelection {
12
16
  readonly tokens: readonly string[];
13
17
  readonly passthrough: readonly string[];
14
18
  }
15
- export declare const renderAccessPreset: (h: HarnessDescriptor, access: "read" | "write", opts?: {
16
- toolMap?: Readonly<Record<string, string>>;
17
- }) => string[];
18
19
  export declare const renderToolSelection: (h: HarnessDescriptor, selection: ToolSelection) => RenderedToolSelection;
19
20
  //# 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;;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
+ {"version":3,"file":"tool-selection.d.ts","sourceRoot":"","sources":["../../src/interpretation/tool-selection.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAKpE,OAAO,EAML,KAAK,OAAO,EACb,MAAM,sBAAsB,CAAC;AAG9B,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,2EAA2E;IAC3E,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;CAC5B;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,mBAAmB,MAC3B,iBAAiB,aACT,aAAa,KACvB,qBA0LF,CAAC"}
@@ -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;AAY/D;;8EAE8E;AAC9E,eAAO,MAAM,iBAAiB,MACzB,iBAAiB,QACd,WAAW,SACV,QAAQ,GAAG,QAAQ,KACzB,MAAM,EA8ZR,CAAC"}