@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
@@ -1,32 +1,21 @@
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";
3
4
  import { ArgvRefusalError } from "./refusal.js";
5
+ import { supportedBy } from "./support.js";
4
6
  import { renderToolSelection } from "./tool-selection.js";
5
- import { READ_PRESET } from "./tool-vocabulary.js";
7
+ import { canonicalTable, hasCounterpart, READ_PRESET } from "./tool-vocabulary.js";
6
8
  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
9
  const isPlainObject = (v) => typeof v === "object" && v !== null && !Array.isArray(v);
12
10
  /** Render turn options for a given phase, in TURN_OPTION_KEYS order and with
13
11
  * discovery facets in DISCOVERY_FACETS order, de-duplicating by exact token
14
12
  * sequence (first wins) so claude's two facets sharing one flag emit once. */
15
13
  export const renderTurnOptions = (h, opts, phase) => {
16
14
  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
- }
15
+ // The turn option the access preset displaces when set (codex: sandbox),
16
+ // read from the descriptor so no arm below branches on a harness name.
17
+ const accessSpec = h.turnOptions.access;
18
+ const claimed = accessSpec?.kind === "access" ? accessSpec.claims : undefined;
30
19
  for (const key of TURN_OPTION_KEYS) {
31
20
  const spec = h.turnOptions[key];
32
21
  const raw = opts[key];
@@ -89,16 +78,11 @@ export const renderTurnOptions = (h, opts, phase) => {
89
78
  const val = discObj[facet];
90
79
  if (val === undefined)
91
80
  continue;
92
- // Polarity handling: disables emits on false, enables emits on true
93
81
  const facetSpec = spec.facets[facet];
94
82
  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
83
+ // A facet the descriptor does not declare cannot be expressed.
84
+ // Only a value that would have emitted refuses: every current
85
+ // facet has "disables" polarity, so false would emit.
102
86
  if (val === false) {
103
87
  const supportedFacets = Object.keys(spec.facets);
104
88
  throw new ArgvRefusalError({
@@ -112,19 +96,11 @@ export const renderTurnOptions = (h, opts, phase) => {
112
96
  }
113
97
  continue;
114
98
  }
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
- }
99
+ // Polarity: disables emits on false, enables emits on true.
100
+ const shouldEmit = (facetSpec.polarity === "disables" && val === false) ||
101
+ (facetSpec.polarity === "enables" && val === true);
125
102
  if (!shouldEmit)
126
103
  continue;
127
- // Check resumeRender refusal
128
104
  const effective = resolveRender(facetSpec, phase);
129
105
  if (effective === null) {
130
106
  const resumeSupported = Object.entries(spec.facets)
@@ -138,7 +114,7 @@ export const renderTurnOptions = (h, opts, phase) => {
138
114
  supported: resumeSupported.length ? resumeSupported : ["(none resume)"],
139
115
  });
140
116
  }
141
- // Reject config-kv for discovery (only closed vocab, discovery is not)
117
+ // Discovery is not a closed vocabulary, so config-kv cannot carry it.
142
118
  if (effective.kind === "config-kv") {
143
119
  throw new ArgvRefusalError({
144
120
  issue: "invalid-option-value",
@@ -148,22 +124,17 @@ export const renderTurnOptions = (h, opts, phase) => {
148
124
  supported: ["flag-list only for discovery"],
149
125
  });
150
126
  }
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);
127
+ sequences.push([...tokensFor(effective)]);
159
128
  }
160
129
  continue;
161
130
  }
162
- // Access is opt-in-only, no profile default; dispatch to tool-selection for the preset.
131
+ // Access is opt-in-only, no profile default. One arm for every harness:
132
+ // the descriptor says whether a value renders through the tool list, a
133
+ // phase-aware render, or nothing at all.
163
134
  if (key === "access") {
164
135
  if (raw === undefined)
165
136
  continue;
166
- if (spec === undefined) {
137
+ if (spec === undefined || spec.kind !== "access") {
167
138
  throw new ArgvRefusalError({
168
139
  issue: "unsupported-option",
169
140
  harness: h.name,
@@ -173,79 +144,54 @@ export const renderTurnOptions = (h, opts, phase) => {
173
144
  hint: hintFor(h.name, key),
174
145
  });
175
146
  }
176
- const v = validateAccess(raw);
147
+ // The resume path builds from unresolved options, so the value is
148
+ // checked here as well as in option resolution - one rule, two gates.
149
+ const v = validateAccess(String(raw));
177
150
  if (!v.ok) {
178
151
  throw new ArgvRefusalError({
179
152
  issue: "invalid-option-value",
180
153
  harness: h.name,
181
154
  option: key,
182
- supported: ["read", "write"],
155
+ supported: [...ACCESS_VALUES],
183
156
  detail: String(raw),
184
157
  });
185
158
  }
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")
159
+ const value = v.id;
160
+ const target = spec.renders[value];
161
+ if (target === null)
162
+ continue;
163
+ if (target === "tool-preset") {
164
+ // The read preset rides the tool list. When discovery.tools is off,
165
+ // it must not switch tools back on; write is no restriction.
166
+ if (value !== "read" || opts.discovery?.tools === false)
189
167
  continue;
168
+ const table = canonicalTable(defaultDescriptors());
169
+ const filtered = READ_PRESET.filter((c) => hasCounterpart(table, c, h.name, opts.toolMap));
170
+ if (filtered.length === 0)
171
+ continue;
172
+ const rendered = renderToolSelection(h, { include: filtered, toolMap: opts.toolMap });
173
+ if (rendered.tokens.length > 0)
174
+ sequences.push([...rendered.tokens]);
175
+ continue;
190
176
  }
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
- }
177
+ const render = resolveRender(target, phase);
178
+ if (render === null) {
179
+ throw new ArgvRefusalError({
180
+ issue: "unsupported-on-resume",
181
+ harness: h.name,
182
+ option: key,
183
+ supported: ["re-launch with --access, or resume without it"],
184
+ });
240
185
  }
186
+ sequences.push([...tokensFor(render, target.value)]);
241
187
  continue;
242
188
  }
243
189
  // 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.
190
+ // Handle enum default on launch. A set access preset displaces the
191
+ // option it claims (codex: sandbox), so that option's default must not
192
+ // emit a second flag beside the preset's.
247
193
  if (raw === undefined) {
248
- if (key === "sandbox" && opts.access !== undefined)
194
+ if (key === claimed && opts.access !== undefined)
249
195
  continue;
250
196
  if (spec !== undefined &&
251
197
  spec.kind === "enum" &&
@@ -255,19 +201,7 @@ export const renderTurnOptions = (h, opts, phase) => {
255
201
  if (effective === null)
256
202
  continue; // should not happen for launch
257
203
  // 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);
204
+ sequences.push([...tokensFor(effective, spec.default)]);
271
205
  }
272
206
  continue;
273
207
  }
@@ -278,54 +212,55 @@ export const renderTurnOptions = (h, opts, phase) => {
278
212
  harness: h.name,
279
213
  option: key,
280
214
  supported: Object.keys(h.turnOptions).length ? Object.keys(h.turnOptions) : ["(none)"],
215
+ supportedBy: supportedBy(defaultDescriptors(), key),
281
216
  detail: String(raw),
282
217
  hint: hintFor(h.name, key),
283
218
  });
284
219
  }
220
+ // From here every spec carries a render: the discovery table and the
221
+ // access spec were handled above and left the loop with `continue`.
222
+ if (spec.kind === "discovery" || spec.kind === "access")
223
+ continue;
285
224
  // 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
- }
225
+ const render = resolveRender(spec, phase);
226
+ if (render === null) {
227
+ const resumeSupported = TURN_OPTION_KEYS.filter((k) => {
228
+ const s = h.turnOptions[k];
229
+ if (!s)
230
+ return false;
231
+ if (s.kind === "discovery")
232
+ return Object.keys(s.facets).length > 0;
233
+ if (s.kind === "access") {
234
+ const read = s.renders.read;
235
+ return (read === "tool-preset" || (read !== null && resolveRender(read, "resume") !== null));
236
+ }
237
+ return resolveRender(s, "resume") !== null;
238
+ });
239
+ throw new ArgvRefusalError({
240
+ issue: "unsupported-on-resume",
241
+ harness: h.name,
242
+ option: key,
243
+ supported: resumeSupported.length ? resumeSupported : ["(none)"],
244
+ });
323
245
  }
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
246
+ // Reject config-kv for open vocabularies. Exception (issue #48):
247
+ // prompt-text rides config-kv VERBATIM on codex - both a literal and
248
+ // a path are accepted (live-verified 0.146.1); no quoting, because
249
+ // codex's k=v split takes the rest of the token raw and both probed
250
+ // forms passed unquoted.
251
+ if (spec.render.kind === "config-kv" &&
252
+ spec.kind !== "enum" &&
253
+ spec.kind !== "effort" &&
254
+ spec.kind !== "integer" &&
255
+ spec.kind !== "prompt-text") {
256
+ throw new ArgvRefusalError({
257
+ issue: "invalid-option-value",
258
+ harness: h.name,
259
+ option: key,
260
+ supported: ["config-kv only for enum, effort, integer, and prompt-text"],
261
+ });
262
+ }
263
+ // Per-kind validation; token generation is tokensFor's alone.
329
264
  switch (spec.kind) {
330
265
  case "effort": {
331
266
  if (typeof raw !== "string") {
@@ -357,17 +292,7 @@ export const renderTurnOptions = (h, opts, phase) => {
357
292
  detail: raw,
358
293
  });
359
294
  }
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);
295
+ sequences.push([...tokensFor(render, raw)]);
371
296
  break;
372
297
  }
373
298
  case "enum": {
@@ -389,17 +314,7 @@ export const renderTurnOptions = (h, opts, phase) => {
389
314
  detail: raw,
390
315
  });
391
316
  }
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);
317
+ sequences.push([...tokensFor(render, raw)]);
403
318
  break;
404
319
  }
405
320
  case "prompt-text": {
@@ -416,17 +331,7 @@ export const renderTurnOptions = (h, opts, phase) => {
416
331
  detail: typeof raw === "string" ? "(empty)" : String(raw),
417
332
  });
418
333
  }
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);
334
+ sequences.push([...tokensFor(render, raw, "verbatim")]);
430
335
  break;
431
336
  }
432
337
  case "selector": {
@@ -448,17 +353,7 @@ export const renderTurnOptions = (h, opts, phase) => {
448
353
  detail: raw,
449
354
  });
450
355
  }
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);
356
+ sequences.push([...tokensFor(render, raw)]);
462
357
  break;
463
358
  }
464
359
  case "toggle": {
@@ -471,24 +366,11 @@ export const renderTurnOptions = (h, opts, phase) => {
471
366
  detail: String(raw),
472
367
  });
473
368
  }
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;
369
+ const shouldEmit = (spec.polarity === "disables" && raw === false) ||
370
+ (spec.polarity === "enables" && raw === true);
479
371
  if (!shouldEmit)
480
372
  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);
373
+ sequences.push([...tokensFor(render, String(raw))]);
492
374
  break;
493
375
  }
494
376
  case "integer": {
@@ -510,27 +392,9 @@ export const renderTurnOptions = (h, opts, phase) => {
510
392
  detail: String(raw),
511
393
  });
512
394
  }
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);
395
+ sequences.push([...tokensFor(render, String(raw), "verbatim")]);
524
396
  break;
525
397
  }
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
398
  default: {
535
399
  const _exhaustive = spec;
536
400
  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"}