@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
@@ -1,32 +1,23 @@
1
- import { DISCOVERY_FACETS, resolveRender, TURN_OPTION_KEYS } from "../knowledge/descriptor.js";
1
+ import { ACCESS_VALUES, DISCOVERY_FACETS, resolveRender, TURN_OPTION_KEYS, tokensFor, } from "../knowledge/descriptor.js";
2
+ import { defaultDescriptors } from "../knowledge/overrides.js";
2
3
  import { hintFor } from "./hints.js";
4
+ import { assertIsolationCombination } from "./isolation.js";
3
5
  import { ArgvRefusalError } from "./refusal.js";
6
+ import { supportedBy } from "./support.js";
4
7
  import { renderToolSelection } from "./tool-selection.js";
5
- import { READ_PRESET } from "./tool-vocabulary.js";
8
+ import { canonicalTable, hasCounterpart, READ_PRESET } from "./tool-vocabulary.js";
6
9
  import { CLEAN_SELECTOR, resolveModel, validateAccess, validateEffort } from "./vocabulary.js";
7
- // TOML-quoted value for config-kv: JSON.stringify is sufficient for the
8
- // closed vocabularies that may use it (enum, effort) - no value contains a
9
- // quote that would need escaping beyond JSON's.
10
- const tomlQuote = (value) => JSON.stringify(value);
11
10
  const isPlainObject = (v) => typeof v === "object" && v !== null && !Array.isArray(v);
12
11
  /** Render turn options for a given phase, in TURN_OPTION_KEYS order and with
13
12
  * discovery facets in DISCOVERY_FACETS order, de-duplicating by exact token
14
13
  * sequence (first wins) so claude's two facets sharing one flag emit once. */
15
14
  export const renderTurnOptions = (h, opts, phase) => {
15
+ assertIsolationCombination(h, opts);
16
16
  const sequences = [];
17
- const accessRaw = opts.access;
18
- if (accessRaw !== undefined) {
19
- const v = validateAccess(accessRaw);
20
- if (!v.ok) {
21
- throw new ArgvRefusalError({
22
- issue: "invalid-option-value",
23
- harness: h.name,
24
- option: "access",
25
- supported: ["read", "write"],
26
- detail: String(accessRaw),
27
- });
28
- }
29
- }
17
+ // The turn option the access preset displaces when set (codex: sandbox),
18
+ // read from the descriptor so no arm below branches on a harness name.
19
+ const accessSpec = h.turnOptions.access;
20
+ const claimed = accessSpec?.kind === "access" ? accessSpec.claims : undefined;
30
21
  for (const key of TURN_OPTION_KEYS) {
31
22
  const spec = h.turnOptions[key];
32
23
  const raw = opts[key];
@@ -89,16 +80,11 @@ export const renderTurnOptions = (h, opts, phase) => {
89
80
  const val = discObj[facet];
90
81
  if (val === undefined)
91
82
  continue;
92
- // Polarity handling: disables emits on false, enables emits on true
93
83
  const facetSpec = spec.facets[facet];
94
84
  if (facetSpec === undefined) {
95
- // If caller asked to disable (false for disables, true for enables) but facet not declared, refuse
96
- // But if caller passed true for a disables facet, it's a no-op, not a refusal
97
- // So only refuse when the caller's value would have emitted
98
- // For all current descriptors polarity is disables, so false would emit -> refuse
99
- // For safety, check wouldEmit logic
100
- // If val would not emit anyway, skip
101
- // Determine wouldEmit: if facetSpec undefined, we cannot know polarity, so treat false as intended disable -> refuse
85
+ // A facet the descriptor does not declare cannot be expressed.
86
+ // Only a value that would have emitted refuses: every current
87
+ // facet has "disables" polarity, so false would emit.
102
88
  if (val === false) {
103
89
  const supportedFacets = Object.keys(spec.facets);
104
90
  throw new ArgvRefusalError({
@@ -112,19 +98,11 @@ export const renderTurnOptions = (h, opts, phase) => {
112
98
  }
113
99
  continue;
114
100
  }
115
- // Determine if this value should emit
116
- let shouldEmit = false;
117
- if (facetSpec.polarity === "disables" && val === false)
118
- shouldEmit = true;
119
- else if (facetSpec.polarity === "enables" && val === true)
120
- shouldEmit = true;
121
- else {
122
- // true for disables or false for enables => no-op
123
- continue;
124
- }
101
+ // Polarity: disables emits on false, enables emits on true.
102
+ const shouldEmit = (facetSpec.polarity === "disables" && val === false) ||
103
+ (facetSpec.polarity === "enables" && val === true);
125
104
  if (!shouldEmit)
126
105
  continue;
127
- // Check resumeRender refusal
128
106
  const effective = resolveRender(facetSpec, phase);
129
107
  if (effective === null) {
130
108
  const resumeSupported = Object.entries(spec.facets)
@@ -138,7 +116,7 @@ export const renderTurnOptions = (h, opts, phase) => {
138
116
  supported: resumeSupported.length ? resumeSupported : ["(none resume)"],
139
117
  });
140
118
  }
141
- // Reject config-kv for discovery (only closed vocab, discovery is not)
119
+ // Discovery is not a closed vocabulary, so config-kv cannot carry it.
142
120
  if (effective.kind === "config-kv") {
143
121
  throw new ArgvRefusalError({
144
122
  issue: "invalid-option-value",
@@ -148,22 +126,17 @@ export const renderTurnOptions = (h, opts, phase) => {
148
126
  supported: ["flag-list only for discovery"],
149
127
  });
150
128
  }
151
- let seq;
152
- if (effective.kind === "flag-list")
153
- seq = [...effective.flags];
154
- else if (effective.kind === "flag-value")
155
- seq = [effective.flag, ""];
156
- else
157
- seq = [];
158
- sequences.push(seq);
129
+ sequences.push([...tokensFor(effective)]);
159
130
  }
160
131
  continue;
161
132
  }
162
- // Access is opt-in-only, no profile default; dispatch to tool-selection for the preset.
133
+ // Access is opt-in-only, no profile default. One arm for every harness:
134
+ // the descriptor says whether a value renders through the tool list, a
135
+ // phase-aware render, or nothing at all.
163
136
  if (key === "access") {
164
137
  if (raw === undefined)
165
138
  continue;
166
- if (spec === undefined) {
139
+ if (spec === undefined || spec.kind !== "access") {
167
140
  throw new ArgvRefusalError({
168
141
  issue: "unsupported-option",
169
142
  harness: h.name,
@@ -173,79 +146,54 @@ export const renderTurnOptions = (h, opts, phase) => {
173
146
  hint: hintFor(h.name, key),
174
147
  });
175
148
  }
176
- const v = validateAccess(raw);
149
+ // The resume path builds from unresolved options, so the value is
150
+ // checked here as well as in option resolution - one rule, two gates.
151
+ const v = validateAccess(String(raw));
177
152
  if (!v.ok) {
178
153
  throw new ArgvRefusalError({
179
154
  issue: "invalid-option-value",
180
155
  harness: h.name,
181
156
  option: key,
182
- supported: ["read", "write"],
157
+ supported: [...ACCESS_VALUES],
183
158
  detail: String(raw),
184
159
  });
185
160
  }
186
- // When discovery.tools is off, the read preset must not re-enable tools.
187
- if (raw === "read" && opts.discovery?.tools === false) {
188
- if (spec.kind === "tool-preset")
161
+ const value = v.id;
162
+ const target = spec.renders[value];
163
+ if (target === null)
164
+ continue;
165
+ if (target === "tool-preset") {
166
+ // The read preset rides the tool list. When discovery.tools is off,
167
+ // it must not switch tools back on; write is no restriction.
168
+ if (value !== "read" || opts.discovery?.tools === false)
189
169
  continue;
170
+ const table = canonicalTable(defaultDescriptors());
171
+ const filtered = READ_PRESET.filter((c) => hasCounterpart(table, c, h.name, opts.toolMap));
172
+ if (filtered.length === 0)
173
+ continue;
174
+ const rendered = renderToolSelection(h, { include: filtered, toolMap: opts.toolMap });
175
+ if (rendered.tokens.length > 0)
176
+ sequences.push([...rendered.tokens]);
177
+ continue;
190
178
  }
191
- switch (spec.kind) {
192
- case "tool-preset": {
193
- if (raw === "write")
194
- break;
195
- const toolMapForHarness = opts
196
- .toolMap?.[h.name];
197
- const filtered = READ_PRESET.filter((c) => {
198
- if (toolMapForHarness?.[c] !== undefined)
199
- return true;
200
- if (h.tools.builtins.some((b) => b.canonical === c))
201
- return true;
202
- if (h.tools.categories.some((cat) => cat.canonical.includes(c)))
203
- return true;
204
- return false;
205
- });
206
- if (filtered.length === 0)
207
- break;
208
- const rendered = renderToolSelection(h, {
209
- include: filtered,
210
- toolMap: toolMapForHarness,
211
- });
212
- if (rendered.tokens.length > 0)
213
- sequences.push([...rendered.tokens]);
214
- break;
215
- }
216
- case "flag-value": {
217
- const fv = spec;
218
- const mapped = fv.values[raw];
219
- if (mapped !== undefined)
220
- sequences.push([fv.flag, mapped]);
221
- break;
222
- }
223
- case "flag-list-by-value": {
224
- const fl = spec;
225
- const list = fl.flags[raw] ?? [];
226
- if (list.length > 0)
227
- sequences.push([...list]);
228
- break;
229
- }
230
- default: {
231
- const _exhaustive = spec;
232
- throw new ArgvRefusalError({
233
- issue: "invalid-option-value",
234
- harness: h.name,
235
- option: key,
236
- supported: [],
237
- detail: String(_exhaustive),
238
- });
239
- }
179
+ const render = resolveRender(target, phase);
180
+ if (render === null) {
181
+ throw new ArgvRefusalError({
182
+ issue: "unsupported-on-resume",
183
+ harness: h.name,
184
+ option: key,
185
+ supported: ["re-launch with --access, or resume without it"],
186
+ });
240
187
  }
188
+ sequences.push([...tokensFor(render, target.value)]);
241
189
  continue;
242
190
  }
243
191
  // Non-discovery keys
244
- // Handle enum default on launch. An access preset already claimed the
245
- // sandbox flag on harnesses that express access through it (codex);
246
- // the enum default must not emit a second --sandbox.
192
+ // Handle enum default on launch. A set access preset displaces the
193
+ // option it claims (codex: sandbox), so that option's default must not
194
+ // emit a second flag beside the preset's.
247
195
  if (raw === undefined) {
248
- if (key === "sandbox" && opts.access !== undefined)
196
+ if (key === claimed && opts.access !== undefined)
249
197
  continue;
250
198
  if (spec !== undefined &&
251
199
  spec.kind === "enum" &&
@@ -255,19 +203,7 @@ export const renderTurnOptions = (h, opts, phase) => {
255
203
  if (effective === null)
256
204
  continue; // should not happen for launch
257
205
  // config-kv is allowed for enum (closed vocab) - no rejection needed here
258
- let seq;
259
- if (effective.kind === "flag-value")
260
- seq = [effective.flag, spec.default];
261
- else if (effective.kind === "config-kv")
262
- seq = [
263
- effective.flag,
264
- `${effective.key}=${tomlQuote(spec.default)}`,
265
- ];
266
- else if (effective.kind === "flag-list")
267
- seq = [...effective.flags];
268
- else
269
- seq = [];
270
- sequences.push(seq);
206
+ sequences.push([...tokensFor(effective, spec.default)]);
271
207
  }
272
208
  continue;
273
209
  }
@@ -278,54 +214,55 @@ export const renderTurnOptions = (h, opts, phase) => {
278
214
  harness: h.name,
279
215
  option: key,
280
216
  supported: Object.keys(h.turnOptions).length ? Object.keys(h.turnOptions) : ["(none)"],
217
+ supportedBy: supportedBy(defaultDescriptors(), key),
281
218
  detail: String(raw),
282
219
  hint: hintFor(h.name, key),
283
220
  });
284
221
  }
222
+ // From here every spec carries a render: the discovery table and the
223
+ // access spec were handled above and left the loop with `continue`.
224
+ if (spec.kind === "discovery" || spec.kind === "access")
225
+ continue;
285
226
  // Check resumeRender null => unsupported-on-resume
286
- // For discovery we handled per-facet; for others check spec
287
- if (spec.kind !== "discovery") {
288
- const effective = resolveRender(spec, phase);
289
- if (effective === null) {
290
- const resumeSupported = TURN_OPTION_KEYS.filter((k) => {
291
- const s = h.turnOptions[k];
292
- if (!s)
293
- return false;
294
- if (s.kind === "discovery") {
295
- const facets = s.facets;
296
- return Object.keys(facets).length > 0;
297
- }
298
- return resolveRender(s, "resume") !== null;
299
- });
300
- throw new ArgvRefusalError({
301
- issue: "unsupported-on-resume",
302
- harness: h.name,
303
- option: key,
304
- supported: resumeSupported.length ? resumeSupported : ["(none)"],
305
- });
306
- }
307
- // Reject config-kv for open vocabularies. Exception (issue #48):
308
- // prompt-text rides config-kv VERBATIM on codex - both a literal and
309
- // a path are accepted (live-verified 0.146.1); no quoting, because
310
- // codex's k=v split takes the rest of the token raw and both probed
311
- // forms passed unquoted.
312
- if (spec.render.kind === "config-kv" &&
313
- spec.kind !== "enum" &&
314
- spec.kind !== "effort" &&
315
- spec.kind !== "prompt-text") {
316
- throw new ArgvRefusalError({
317
- issue: "invalid-option-value",
318
- harness: h.name,
319
- option: key,
320
- supported: ["config-kv only for enum, effort, and prompt-text (issue #48)"],
321
- });
322
- }
227
+ const render = resolveRender(spec, phase);
228
+ if (render === null) {
229
+ const resumeSupported = TURN_OPTION_KEYS.filter((k) => {
230
+ const s = h.turnOptions[k];
231
+ if (!s)
232
+ return false;
233
+ if (s.kind === "discovery")
234
+ return Object.keys(s.facets).length > 0;
235
+ if (s.kind === "access") {
236
+ const read = s.renders.read;
237
+ return (read === "tool-preset" || (read !== null && resolveRender(read, "resume") !== null));
238
+ }
239
+ return resolveRender(s, "resume") !== null;
240
+ });
241
+ throw new ArgvRefusalError({
242
+ issue: "unsupported-on-resume",
243
+ harness: h.name,
244
+ option: key,
245
+ supported: resumeSupported.length ? resumeSupported : ["(none)"],
246
+ });
323
247
  }
324
- // Per-kind validation and token generation
325
- const effectiveRender = spec.kind === "discovery"
326
- ? null
327
- : resolveRender(spec, phase);
328
- // effectiveRender already checked for null
248
+ // Reject config-kv for open vocabularies. Exception (issue #48):
249
+ // prompt-text rides config-kv VERBATIM on codex - both a literal and
250
+ // a path are accepted (live-verified 0.146.1); no quoting, because
251
+ // codex's k=v split takes the rest of the token raw and both probed
252
+ // forms passed unquoted.
253
+ if (spec.render.kind === "config-kv" &&
254
+ spec.kind !== "enum" &&
255
+ spec.kind !== "effort" &&
256
+ spec.kind !== "integer" &&
257
+ spec.kind !== "prompt-text") {
258
+ throw new ArgvRefusalError({
259
+ issue: "invalid-option-value",
260
+ harness: h.name,
261
+ option: key,
262
+ supported: ["config-kv only for enum, effort, integer, and prompt-text"],
263
+ });
264
+ }
265
+ // Per-kind validation; token generation is tokensFor's alone.
329
266
  switch (spec.kind) {
330
267
  case "effort": {
331
268
  if (typeof raw !== "string") {
@@ -357,17 +294,7 @@ export const renderTurnOptions = (h, opts, phase) => {
357
294
  detail: raw,
358
295
  });
359
296
  }
360
- const r = effectiveRender;
361
- let seq;
362
- if (r.kind === "flag-value")
363
- seq = [r.flag, raw];
364
- else if (r.kind === "config-kv")
365
- seq = [r.flag, `${r.key}=${tomlQuote(raw)}`];
366
- else if (r.kind === "flag-list")
367
- seq = [...r.flags];
368
- else
369
- seq = [];
370
- sequences.push(seq);
297
+ sequences.push([...tokensFor(render, raw)]);
371
298
  break;
372
299
  }
373
300
  case "enum": {
@@ -389,17 +316,7 @@ export const renderTurnOptions = (h, opts, phase) => {
389
316
  detail: raw,
390
317
  });
391
318
  }
392
- const r = effectiveRender;
393
- let seq;
394
- if (r.kind === "flag-value")
395
- seq = [r.flag, raw];
396
- else if (r.kind === "config-kv")
397
- seq = [r.flag, `${r.key}=${tomlQuote(raw)}`];
398
- else if (r.kind === "flag-list")
399
- seq = [...r.flags];
400
- else
401
- seq = [];
402
- sequences.push(seq);
319
+ sequences.push([...tokensFor(render, raw)]);
403
320
  break;
404
321
  }
405
322
  case "prompt-text": {
@@ -416,17 +333,7 @@ export const renderTurnOptions = (h, opts, phase) => {
416
333
  detail: typeof raw === "string" ? "(empty)" : String(raw),
417
334
  });
418
335
  }
419
- const r = effectiveRender;
420
- let seq;
421
- if (r.kind === "flag-value")
422
- seq = [...(r.extraFlags ?? []), r.flag, raw];
423
- else if (r.kind === "config-kv")
424
- seq = [r.flag, `${r.key}=${raw}`];
425
- else if (r.kind === "flag-list")
426
- seq = [...r.flags];
427
- else
428
- seq = [];
429
- sequences.push(seq);
336
+ sequences.push([...tokensFor(render, raw, "verbatim")]);
430
337
  break;
431
338
  }
432
339
  case "selector": {
@@ -448,17 +355,7 @@ export const renderTurnOptions = (h, opts, phase) => {
448
355
  detail: raw,
449
356
  });
450
357
  }
451
- const r = effectiveRender;
452
- let seq;
453
- if (r.kind === "flag-value")
454
- seq = [r.flag, raw];
455
- else if (r.kind === "config-kv")
456
- seq = [r.flag, `${r.key}=${tomlQuote(raw)}`];
457
- else if (r.kind === "flag-list")
458
- seq = [...r.flags];
459
- else
460
- seq = [];
461
- sequences.push(seq);
358
+ sequences.push([...tokensFor(render, raw)]);
462
359
  break;
463
360
  }
464
361
  case "toggle": {
@@ -471,24 +368,11 @@ export const renderTurnOptions = (h, opts, phase) => {
471
368
  detail: String(raw),
472
369
  });
473
370
  }
474
- let shouldEmit = false;
475
- if (spec.polarity === "disables" && raw === false)
476
- shouldEmit = true;
477
- else if (spec.polarity === "enables" && raw === true)
478
- shouldEmit = true;
371
+ const shouldEmit = (spec.polarity === "disables" && raw === false) ||
372
+ (spec.polarity === "enables" && raw === true);
479
373
  if (!shouldEmit)
480
374
  break;
481
- const r = effectiveRender;
482
- let seq;
483
- if (r.kind === "flag-list")
484
- seq = [...r.flags];
485
- else if (r.kind === "flag-value")
486
- seq = [r.flag, String(raw)];
487
- else if (r.kind === "config-kv")
488
- seq = [r.flag, `${r.key}=${tomlQuote(String(raw))}`];
489
- else
490
- seq = [];
491
- sequences.push(seq);
375
+ sequences.push([...tokensFor(render, String(raw))]);
492
376
  break;
493
377
  }
494
378
  case "integer": {
@@ -510,27 +394,9 @@ export const renderTurnOptions = (h, opts, phase) => {
510
394
  detail: String(raw),
511
395
  });
512
396
  }
513
- const r = effectiveRender;
514
- let seq;
515
- if (r.kind === "flag-value")
516
- seq = [r.flag, String(raw)];
517
- else if (r.kind === "config-kv")
518
- seq = [r.flag, `${r.key}=${tomlQuote(String(raw))}`];
519
- else if (r.kind === "flag-list")
520
- seq = [...r.flags];
521
- else
522
- seq = [];
523
- sequences.push(seq);
397
+ sequences.push([...tokensFor(render, String(raw), "verbatim")]);
524
398
  break;
525
399
  }
526
- case "discovery":
527
- // already handled
528
- break;
529
- case "tool-preset":
530
- case "flag-value":
531
- case "flag-list-by-value":
532
- // access-only kinds - handled above for key === "access"
533
- break;
534
400
  default: {
535
401
  const _exhaustive = spec;
536
402
  throw new ArgvRefusalError({
@@ -1 +1 @@
1
- {"version":3,"file":"turn-options.js","sourceRoot":"","sources":["../../src/interpretation/turn-options.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"turn-options.js","sourceRoot":"","sources":["../../src/interpretation/turn-options.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@
5
5
  * actionable without reading the descriptor. Resolution lives in ONE place
6
6
  * (resolveModel) so validation and capability claims cannot drift.
7
7
  */
8
- import type { HarnessDescriptor } from "../knowledge/descriptor.js";
8
+ import { type HarnessDescriptor } from "../knowledge/descriptor.js";
9
9
  export type Validated = {
10
10
  readonly ok: true;
11
11
  readonly id: string;
@@ -14,10 +14,11 @@ export interface ValidationRefusal {
14
14
  readonly ok: false;
15
15
  readonly reason: string;
16
16
  }
17
- /** The selector grammar an extensible registry still demands: pi documents
18
- * models as provider/id[:thinking], so word characters plus the few real
19
- * separators - never whitespace, shell metacharacters, or control/format
20
- * characters, and bounded like session ids. */
17
+ /** The one selector grammar for model ids, tool names, and toolMap keys
18
+ * (RFC-02 change 9): pi documents models as provider/id[:thinking], so
19
+ * word characters plus the few real separators - never whitespace, shell
20
+ * metacharacters, or control/format characters, and bounded like session
21
+ * ids. */
21
22
  export declare const CLEAN_SELECTOR: RegExp;
22
23
  export interface ResolvedModel {
23
24
  readonly id: string;
@@ -27,9 +28,10 @@ export interface ResolvedModel {
27
28
  * "__proto__" must resolve to itself, not to Object.prototype. */
28
29
  export declare const resolveModel: (h: HarnessDescriptor, model: string) => ResolvedModel;
29
30
  export declare const validateModel: (h: HarnessDescriptor, model: string) => Validated;
31
+ /** The access preset takes one of the closed ACCESS_VALUES. */
32
+ export declare const validateAccess: (value: string) => Validated;
30
33
  /** Validate an effort against the ladder that applies to the pick: the
31
34
  * model's own ladder where the harness constrains per model (codex), else
32
35
  * the harness-wide ladder. */
33
- export declare const validateAccess: (value: string) => Validated;
34
36
  export declare const validateEffort: (h: HarnessDescriptor, effort: string, model?: string) => Validated;
35
37
  //# sourceMappingURL=vocabulary.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"vocabulary.d.ts","sourceRoot":"","sources":["../../src/interpretation/vocabulary.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAEpE,MAAM,MAAM,SAAS,GAAG;IAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GAAG,iBAAiB,CAAC;AAEvF,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IACnB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED;;;+CAG+C;AAC/C,eAAO,MAAM,cAAc,QAA0C,CAAC;AAEtE,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC3B;AAED;kEACkE;AAClE,eAAO,MAAM,YAAY,MAAO,iBAAiB,SAAS,MAAM,KAAG,aAOlE,CAAC;AAEF,eAAO,MAAM,aAAa,MAAO,iBAAiB,SAAS,MAAM,KAAG,SAgBnE,CAAC;AAEF;;8BAE8B;AAC9B,eAAO,MAAM,cAAc,UAAW,MAAM,KAAG,SAG9C,CAAC;AAEF,eAAO,MAAM,cAAc,MAAO,iBAAiB,UAAU,MAAM,UAAU,MAAM,KAAG,SAcrF,CAAC"}
1
+ {"version":3,"file":"vocabulary.d.ts","sourceRoot":"","sources":["../../src/interpretation/vocabulary.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAiB,KAAK,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAEnF,MAAM,MAAM,SAAS,GAAG;IAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GAAG,iBAAiB,CAAC;AAEvF,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IACnB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED;;;;UAIU;AACV,eAAO,MAAM,cAAc,QAA0C,CAAC;AAEtE,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC3B;AAED;kEACkE;AAClE,eAAO,MAAM,YAAY,MAAO,iBAAiB,SAAS,MAAM,KAAG,aAOlE,CAAC;AAEF,eAAO,MAAM,aAAa,MAAO,iBAAiB,SAAS,MAAM,KAAG,SAgBnE,CAAC;AAEF,+DAA+D;AAC/D,eAAO,MAAM,cAAc,UAAW,MAAM,KAAG,SAM9C,CAAC;AAEF;;8BAE8B;AAC9B,eAAO,MAAM,cAAc,MAAO,iBAAiB,UAAU,MAAM,UAAU,MAAM,KAAG,SAcrF,CAAC"}