usesteady 0.1.0-alpha.61 → 0.1.0-alpha.63

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 (38) hide show
  1. package/CHANGELOG.md +269 -0
  2. package/README.md +5 -2
  3. package/dist/src/input/feasibility-validator.d.ts +24 -0
  4. package/dist/src/input/feasibility-validator.d.ts.map +1 -1
  5. package/dist/src/input/feasibility-validator.js +104 -1
  6. package/dist/src/input/feasibility-validator.js.map +1 -1
  7. package/dist/src/input/ir.d.ts +34 -0
  8. package/dist/src/input/ir.d.ts.map +1 -1
  9. package/dist/src/input/ir.js.map +1 -1
  10. package/dist/src/input/json-to-ir.d.ts +18 -0
  11. package/dist/src/input/json-to-ir.d.ts.map +1 -1
  12. package/dist/src/input/json-to-ir.js +159 -2
  13. package/dist/src/input/json-to-ir.js.map +1 -1
  14. package/dist/src/input/nl-to-ir.js +9 -1
  15. package/dist/src/input/nl-to-ir.js.map +1 -1
  16. package/dist/src/input/op-registry.d.ts.map +1 -1
  17. package/dist/src/input/op-registry.js +14 -1
  18. package/dist/src/input/op-registry.js.map +1 -1
  19. package/dist/src/input/public-json-schema.d.ts +92 -0
  20. package/dist/src/input/public-json-schema.d.ts.map +1 -0
  21. package/dist/src/input/public-json-schema.js +131 -0
  22. package/dist/src/input/public-json-schema.js.map +1 -0
  23. package/dist/src/shell/cli/capabilities.d.ts.map +1 -1
  24. package/dist/src/shell/cli/capabilities.js +6 -1
  25. package/dist/src/shell/cli/capabilities.js.map +1 -1
  26. package/dist/src/shell/cli/ir-to-spec-fields.d.ts +15 -5
  27. package/dist/src/shell/cli/ir-to-spec-fields.d.ts.map +1 -1
  28. package/dist/src/shell/cli/ir-to-spec-fields.js +38 -7
  29. package/dist/src/shell/cli/ir-to-spec-fields.js.map +1 -1
  30. package/dist/src/shell/cli/spec-task-builder.d.ts +17 -0
  31. package/dist/src/shell/cli/spec-task-builder.d.ts.map +1 -1
  32. package/dist/src/shell/cli/spec-task-builder.js +19 -4
  33. package/dist/src/shell/cli/spec-task-builder.js.map +1 -1
  34. package/dist/src/shell/cli/use-steady.js +72 -4
  35. package/dist/src/shell/cli/use-steady.js.map +1 -1
  36. package/dist/src/workflow/types.d.ts +29 -0
  37. package/dist/src/workflow/types.d.ts.map +1 -1
  38. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,274 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.1.0-alpha.63 - JSON adapter publication-truthfulness alignment
4
+
5
+ ### Publication-truthfulness consolidation after alpha.62's #45 fix
6
+
7
+ This release consolidates the publication-truthfulness work shipped in
8
+ alpha.62. The alpha.62 fix made the executor and validator tell the truth
9
+ about which `replace` occurrence directives the runtime actually honors;
10
+ alpha.63 makes the JSON adapter's *rejection messages* and the published
11
+ `replace` *example* tell the same truth.
12
+
13
+ This release does **not** close a `usesteady-public` friction issue. No
14
+ `status/accepted` issues transition in this release. It is an internal
15
+ publication-surface alignment, framed accurately so prior friction
16
+ closures are not back-credited.
17
+
18
+ ### What changed (user-visible)
19
+
20
+ **1. Missing-field diagnostic on `--json` / `batch` rejection.**
21
+
22
+ Before alpha.63, a malformed JSON op produced a generic stderr line:
23
+
24
+ Error: unknown or invalid operation: {"type":"replace","to":"NEW","file":"x.ts"}
25
+ See `usesteady capabilities` for the full per-op JSON schema
26
+ ...
27
+
28
+ The operator had to consult `usesteady capabilities` to discover which
29
+ required field was missing. Alpha.63 names the specific missing
30
+ **public-wire** field inline:
31
+
32
+ Error: unknown or invalid operation: {"type":"replace","to":"NEW","file":"x.ts"}
33
+ op type "replace" requires field "from" but it was not provided.
34
+ See `usesteady capabilities` for the full per-op JSON schema
35
+ ...
36
+
37
+ The diagnostic uses the exact key the operator would type. This matters
38
+ because several public-wire field names diverge from IR-canonical names
39
+ (legacy DraftTask naming preserved per design note section 10 #7):
40
+
41
+ - `create_dir` missing `path` -> diagnostic names `"path"`, not `"file"`.
42
+ - `run` missing `to` -> diagnostic names `"to"`, not `"command"`.
43
+ - `append` / `prepend` missing `to` -> diagnostic names `"to"`, not `"text"`.
44
+
45
+ The diagnostic appears only when a specific required public-wire field is
46
+ absent (or present-but-not-a-string). For content-level rejections (empty
47
+ strings after trim, invalid `occurrence` shape) and structural cases
48
+ (non-object input, missing/invalid `type`, unknown op type) the existing
49
+ generic message remains correct and is emitted unchanged.
50
+
51
+ **2. Published `replace` example carries `occurrence:"first"`.**
52
+
53
+ `usesteady capabilities` text + JSON output, the `HELP_TEXT` JSON op
54
+ schema block, and the README capabilities sample now all show:
55
+
56
+ {"type":"replace","file":"src/Button.tsx","from":"old text","to":"new text","occurrence":"first"}
57
+
58
+ Using `"first"` makes the example a *working* invocation. The capabilities
59
+ summary continues to disclose -- byte-identical to alpha.62 -- that
60
+ `"all"` and `{ index: N }` are refused at validate stage. The example
61
+ shift does not erase that disclosure; it complements it by demonstrating
62
+ the directive that *does* round-trip.
63
+
64
+ ### What did NOT change
65
+
66
+ **1. Accept/reject boundary unchanged.**
67
+
68
+ `jsonOpToIROperation` is byte-identical to alpha.62. Every JSON op that
69
+ alpha.62 accepted is still accepted byte-for-byte. Every JSON op that
70
+ alpha.62 rejected is still rejected. The new `diagnoseInvalidJsonOp`
71
+ helper is consulted only *after* `jsonOpToIROperation` has already
72
+ returned `null`, to enrich the stderr text. It does not gate anything.
73
+ The byte-for-byte parity is pinned by the legacy
74
+ `json-to-ir.identical-behavior.test.ts` suite.
75
+
76
+ **2. JSON output payload for rejections unchanged.**
77
+
78
+ `{ "success": false, "error": "invalid_op" }` is the rejection payload on
79
+ `--output json`, byte-identical to alpha.62. The diagnostic enrichment
80
+ lives on stderr only. Programmatic consumers that match on
81
+ `obj.error === "invalid_op"` continue to work without change.
82
+
83
+ **3. Unknown extra-field tolerance unchanged.**
84
+
85
+ A JSON op carrying an unrecognized key (for example,
86
+ `{"type":"create","file":"x.ts","garbageField":123}`) is still accepted
87
+ and the extra key is silently dropped, exactly as in alpha.62. Alpha.63
88
+ introduces no unknown-field rejection. Tightening that surface would be
89
+ a public-contract change and is explicitly deferred.
90
+
91
+ **4. `op-registry.ts` untouched and remains non-authoritative.**
92
+
93
+ The IR-canonical OperationRegistry has not changed. The new
94
+ `public-json-schema.ts` companion sits *beside* the registry, records
95
+ public-wire field names (which intentionally diverge from IR-canonical
96
+ names for several ops), and is **descriptive-only**:
97
+
98
+ - Not consumed by the executor.
99
+ - Not consumed by the validator (`feasibility-validator.ts`).
100
+ - Not consumed by the NL parser (`nl-to-ir.ts`).
101
+ - Not consumed by the workflow coordinator.
102
+ - Not consumed by UCP mappers.
103
+
104
+ It is consumed solely by `json-to-ir.ts`'s diagnostic helper. The
105
+ boundary is pinned by contract tests asserting both frozenness and the
106
+ public-wire-vs-IR divergence per op.
107
+
108
+ **5. No occurrence-aware replace execution.**
109
+
110
+ Executor surfaces in `src/execution/` are untouched. Occurrence-aware
111
+ `replace` (the Option B from the #45 investigation) is not in this
112
+ release. `occurrence:"first"` flows through the executor exactly as it
113
+ did in alpha.62; `"all"` and `{ index: N }` continue to be refused at
114
+ validate stage with the alpha.62 truthfulness signaling.
115
+
116
+ ### Out of scope (deliberate)
117
+
118
+ - **No friction closure.** No `status/accepted` -> `status/shipped`
119
+ transition. The alpha.62 #45 closure stands; alpha.63 does not
120
+ re-credit it.
121
+ - **No registry authority expansion.** R-alpha-full / registry-driven
122
+ required/optional validation is explicitly deferred per the R-alpha
123
+ investigation recommendation.
124
+ - **No NL surface changes.** `nl-to-ir.ts` is untouched.
125
+ - **No feasibility-validator changes.**
126
+ - **No UCP mapper widening.**
127
+ - **No `create.contents` exposure/removal.**
128
+ - **No timeline / doctor / K6 / marketing-site work.**
129
+ - **No dependency bumps.**
130
+ - **No HELP_TEXT auto-generation.** The one-line `replace`-example
131
+ update in HELP_TEXT was the minimal manual sync to match the
132
+ capabilities catalog.
133
+
134
+ ### Verification
135
+
136
+ - `npm run build` clean.
137
+ - `npm run release:gate` 148 files / 5496 passed / 4 skipped / 0 failed.
138
+ - No dependency drift since `v0.1.0-alpha.62`.
139
+ - Cross-surface regression: alpha.60 protected-paths (309 tests),
140
+ alpha.60 #42 OCD warning truthfulness (38 tests), alpha.61 #49
141
+ create_dir truthfulness (169 tests), alpha.62 #45 occurrence
142
+ truthfulness (52 tests) all green on the alpha.63 candidate.
143
+
144
+ ### Files changed since `v0.1.0-alpha.62`
145
+
146
+ - `src/input/public-json-schema.ts` (new, descriptive companion)
147
+ - `src/input/json-to-ir.ts` (additive: imports companion, exports
148
+ `diagnoseInvalidJsonOp`; existing functions byte-identical)
149
+ - `src/shell/cli/use-steady.ts` (HELP_TEXT replace example +
150
+ rejection-path stderr enrichment in `processJsonInput`)
151
+ - `src/shell/cli/capabilities.ts` (PUBLIC_JSON_EXAMPLES.replace adds
152
+ `occurrence:"first"`)
153
+ - `README.md` (capabilities sample replace example mirrors catalog)
154
+ - `tests/input/public-json-schema.test.ts` (new contract suite)
155
+ - `tests/input/json-to-ir.test.ts` (new diagnoseInvalidJsonOp suites,
156
+ accept/reject parity re-pinned)
157
+ - `tests/shell/capabilities.test.ts` (new R-alpha-min pins)
158
+ - `tests/shell/json-input.test.ts` (new CLI-surface R-alpha-min suite)
159
+
160
+ ### Issue mapping
161
+
162
+ | Item | Disposition |
163
+ |---|---|
164
+ | `usesteady-public` issues closed | none |
165
+ | Status label transitions | none |
166
+ | Indirect linkage | Consolidates alpha.62's [`usesteady-public#45`](https://github.com/shortgigs/usesteady-public/issues/45) (already `status/shipped`) by closing the *internal* publication-truthfulness gap identified in the R-alpha investigation. |
167
+
168
+ ## 0.1.0-alpha.62 - replace occurrence-directive truthfulness
169
+
170
+ ### Execution truthfulness: replace occurrence directives are no longer silently ignored
171
+
172
+ Addresses [shortgigs/usesteady-public#45](https://github.com/shortgigs/usesteady-public/issues/45)
173
+ (P1, `status/accepted`). Bounded fix only -- the executor still does not
174
+ honor occurrence selection; this delta makes the system tell the truth
175
+ about that.
176
+
177
+ **Pre-fix behavior (alpha.61 and earlier).** Users who specified an
178
+ occurrence directive on a replace -- "first occurrence" / "all
179
+ occurrences" / "third occurrence" via natural language, or
180
+ `{"occurrence":"all"}` / `{"occurrence":{"index":3}}` via `--json` /
181
+ `batch` -- ran into one of three misleading failure modes:
182
+
183
+ - **NL surface, "first" + multi-match file:** generic
184
+ `ambiguous_match` from the executor with no acknowledgment that the
185
+ user's "first" directive was even seen.
186
+ - **NL surface, "all" / N-th:** refused at spec-load with a diagnostic
187
+ that pointed the user at *"the IR-shape replace op (via --json /
188
+ batch) which carries full occurrence semantics"* -- but the JSON
189
+ adapter silently stripped `occurrence` at parse, so following the
190
+ pointer led to the same generic `ambiguous_match` refusal.
191
+ - **JSON / batch surface, any `occurrence`:** silently dropped at
192
+ parse. The `usesteady capabilities` output advertised the field as
193
+ optional and listed `first | all | { index }` as accepted shapes,
194
+ even though only first-match behavior reached the executor.
195
+
196
+ **Post-fix behavior.** The IR carries the user's explicit directive on
197
+ a new optional `requestedOccurrence` slot, populated only when the user
198
+ actually said so (NL surface always; JSON surface only when the public
199
+ op contained the field). The feasibility validator now refuses at
200
+ validate stage when that slot is "all" or `{ index: N }`, with a
201
+ diagnostic that quotes the directive verbatim and points at
202
+ `usesteady-public#45`. "first" still flows through to the executor
203
+ unchanged. The `--output json` payload surfaces `requested_occurrence`
204
+ on these refusals so machine consumers can see what the user asked for.
205
+
206
+ Concretely:
207
+
208
+ - **NL surface.**
209
+ - `... first occurrence` on a 1-match file: unchanged (executor
210
+ succeeds).
211
+ - `... first occurrence` on a >1-match file: unchanged (executor
212
+ refuses with `ambiguous_match`).
213
+ - `... all occurrences` / `... 3rd occurrence`: refused at
214
+ spec-load. Diagnostic now reads *"replace with `all occurrences`
215
+ is not yet supported. The executor does not honor occurrence
216
+ selection today (the replace step picks the first match and
217
+ refuses with `ambiguous_match` when more than one exists).
218
+ Tracked at usesteady-public#45. Workaround: narrow `from` to a
219
+ unique span in the file, or apply the change manually for now."*
220
+ The misleading `--json` / `batch` pointer is gone.
221
+ - **JSON / batch surface.**
222
+ - No `occurrence` field: byte-identical to pre-fix (preserves
223
+ legacy behavior for callers who don't opt in).
224
+ - `"occurrence":"first"`: passes through to the executor; same
225
+ result as no field on multi-match files.
226
+ - `"occurrence":"all"` / `"occurrence":{"index":N}`: refused at
227
+ validate stage. JSON payload:
228
+ `{"success":false,"error":"ambiguous_match","requested_occurrence":"all"}`
229
+ (or `"3rd"`, `"22nd"`, etc.).
230
+ - Invalid `occurrence` shape (unknown string, non-integer index,
231
+ zero/negative index, array, etc.): the whole op is rejected
232
+ upstream as `invalid_op` rather than silently stripping the
233
+ field. This closes the "advertise it, drop it" trap that the
234
+ original friction described.
235
+ - **`usesteady capabilities` output.** The `replace` summary now
236
+ truthfully describes the support state:
237
+ *"Replace `<from>` with `<to>` in `<file>`. The optional
238
+ `occurrence` field is parsed but the executor does not yet honor
239
+ occurrence selection (only "first" passes through; "all" and
240
+ `{ index: N }` are refused at validate stage). Tracked at
241
+ usesteady-public#45."*
242
+
243
+ **What this PR does not change.**
244
+
245
+ - **Executor authority is unchanged.** The replace executor still
246
+ picks the first match and refuses with `ambiguous_match` on >1
247
+ matches. `requestedOccurrence` is diagnostics / preview only --
248
+ `WorkflowTaskSpec.structuredReplace` does not gain an occurrence
249
+ slot, and the in-process adapter does not branch on the new field.
250
+ - **No new public `CliErrorCode`.** The validate-stage refusal reuses
251
+ `ambiguous_match` (design note 6.5.1 rule 3 / 6.6.1 rule 7).
252
+ - **No exit-code drift.** The refusal still exits with status 1.
253
+ - **No new approval / refusal semantics.** "first" still reaches the
254
+ executor; only "all" and `{ index: N }` refuse earlier than before.
255
+ - **Public JSON schema is unchanged.** `occurrence` was already in
256
+ `optional` for `replace`; it remains there.
257
+ - **Out of scope:** full occurrence-aware execution (would require a
258
+ new `WorkflowTaskSpec.structuredReplace.occurrence` slot, an
259
+ adapter-side `n-th match` algorithm, and replay-artifact-schema
260
+ coordination -- deferred).
261
+
262
+ **Coverage added.** NL paths verify `requestedOccurrence` is mirrored
263
+ from the parsed clause for `all` and `Nth`; JSON-to-IR pins the
264
+ absent/first/all/index parsing and the invalid-shape rejection; the
265
+ validator pins the new refusal with the ordinal-suffix wording
266
+ ("1st" / "3rd" / "11th" / "22nd"); end-to-end `--output json` tests
267
+ pin the JSON payload shape with and without `requested_occurrence`
268
+ present, and verify that "first" still flows through; the op-registry
269
+ test pins the truthful summary and explicitly forbids the old
270
+ `first | all | { index }` phrasing.
271
+
3
272
  ## 0.1.0-alpha.61 - create_dir execution-truthfulness alignment
4
273
 
5
274
  **Released:** May 2026
package/README.md CHANGED
@@ -281,10 +281,13 @@ Sample (truncated):
281
281
  UseSteady supported operations:
282
282
 
283
283
  replace
284
- Replace <from> with <to> in <file> (occurrence: first | all | { index }).
284
+ Replace <from> with <to> in <file>. The optional `occurrence` field
285
+ is parsed but the executor does not yet honor occurrence selection
286
+ (only "first" passes through; "all" and { index: N } are refused
287
+ at validate stage). Tracked at usesteady-public#45.
285
288
  Required (IR): file, from, to
286
289
  Optional (IR): occurrence
287
- JSON example: {"type":"replace","file":"src/Button.tsx","from":"old text","to":"new text"}
290
+ JSON example: {"type":"replace","file":"src/Button.tsx","from":"old text","to":"new text","occurrence":"first"}
288
291
 
289
292
  rename
290
293
  Rename the file at <from> to <to>.
@@ -30,6 +30,30 @@
30
30
  * - Binary file (NUL byte) detection → `merge_conflict` (requires reading bytes)
31
31
  * - `run_command` exit code, stdout/stderr (intrinsically execute-time)
32
32
  *
33
+ * Post-M3 widening (usesteady-public#45 — occurrence-directive truthfulness):
34
+ *
35
+ * - `replace` with explicit non-"first" `requestedOccurrence`
36
+ * → `ambiguous_match` (validate-stage)
37
+ * The IR carries `requestedOccurrence` only when the user *explicitly*
38
+ * specified an occurrence directive (NL always; JSON only when the
39
+ * `occurrence` field is present in the public op). The executor does
40
+ * not honor occurrence selection today: the replace path picks the
41
+ * first match and refuses with `ambiguous_match` when more than one
42
+ * exists, regardless of what the user asked for. Pre-#45, "all" and
43
+ * "Nth" directives on the NL surface were either dropped silently or
44
+ * refused at spec-load with a message pointing the user to
45
+ * `--json` / `batch` (which also drops the field). Pre-#45 on the
46
+ * JSON surface, the `occurrence` field was advertised by
47
+ * `usesteady capabilities` but silently stripped at parse.
48
+ *
49
+ * The validator now refuses at validate-stage when the user's
50
+ * explicit directive is "all" or `{ index: N }`, with a diagnostic
51
+ * that quotes the directive verbatim. The "first" case still flows
52
+ * through to the executor unchanged (preserves today's accidental-
53
+ * success path for 1-match files; the executor still refuses on
54
+ * >1-match content as before). Same public `ambiguous_match` code
55
+ * as the executor refusal — §6.5.1 rule 3 / §6.6.1 rule 7.
56
+ *
33
57
  * Hard rules:
34
58
  *
35
59
  * 1. The validator MUST NOT open files. It runs only on IR + path-level
@@ -1 +1 @@
1
- {"version":3,"file":"feasibility-validator.d.ts","sourceRoot":"","sources":["../../../src/input/feasibility-validator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuEG;AAIH,OAAO,KAAK,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAC7C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AASpD;;;;;;;;GAQG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,EAAE,CAAC,EAAE,WAAW,CAAC;CAC3B,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,MAAM,WAAW,GAAG;IACxB,QAAQ,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;IAC/C,QAAQ,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;CAC/C,CAAC;AA2NF,iBAAS,oBAAoB,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CA8BhD;AAED,QAAA,MAAM,qBAAqB,qFACyD,CAAC;AAkErF,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,CAAC;AA6WvD;;;;;;;;;;;GAWG;AACH,wBAAgB,iBAAiB,CAC/B,EAAE,EAAE,SAAS,EACb,OAAO,EAAE,gBAAgB,GACxB,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,GAAG,IAAI,CAkDrC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,UAAU,CACxB,EAAE,EAAE,EAAE,EACN,OAAO,EAAE,gBAAgB,GACxB,aAAa,GAAG,IAAI,CAUtB"}
1
+ {"version":3,"file":"feasibility-validator.d.ts","sourceRoot":"","sources":["../../../src/input/feasibility-validator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+FG;AAIH,OAAO,KAAK,EAAE,EAAE,EAAE,SAAS,EAAqB,MAAM,SAAS,CAAC;AAChE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AASpD;;;;;;;;GAQG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,EAAE,CAAC,EAAE,WAAW,CAAC;CAC3B,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,MAAM,WAAW,GAAG;IACxB,QAAQ,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;IAC/C,QAAQ,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;CAC/C,CAAC;AA2NF,iBAAS,oBAAoB,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CA8BhD;AAED,QAAA,MAAM,qBAAqB,qFACyD,CAAC;AAkErF,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,CAAC;AAocvD;;;;;;;;;;;GAWG;AACH,wBAAgB,iBAAiB,CAC/B,EAAE,EAAE,SAAS,EACb,OAAO,EAAE,gBAAgB,GACxB,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,GAAG,IAAI,CAkDrC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,UAAU,CACxB,EAAE,EAAE,EAAE,EACN,OAAO,EAAE,gBAAgB,GACxB,aAAa,GAAG,IAAI,CAUtB"}
@@ -30,6 +30,30 @@
30
30
  * - Binary file (NUL byte) detection → `merge_conflict` (requires reading bytes)
31
31
  * - `run_command` exit code, stdout/stderr (intrinsically execute-time)
32
32
  *
33
+ * Post-M3 widening (usesteady-public#45 — occurrence-directive truthfulness):
34
+ *
35
+ * - `replace` with explicit non-"first" `requestedOccurrence`
36
+ * → `ambiguous_match` (validate-stage)
37
+ * The IR carries `requestedOccurrence` only when the user *explicitly*
38
+ * specified an occurrence directive (NL always; JSON only when the
39
+ * `occurrence` field is present in the public op). The executor does
40
+ * not honor occurrence selection today: the replace path picks the
41
+ * first match and refuses with `ambiguous_match` when more than one
42
+ * exists, regardless of what the user asked for. Pre-#45, "all" and
43
+ * "Nth" directives on the NL surface were either dropped silently or
44
+ * refused at spec-load with a message pointing the user to
45
+ * `--json` / `batch` (which also drops the field). Pre-#45 on the
46
+ * JSON surface, the `occurrence` field was advertised by
47
+ * `usesteady capabilities` but silently stripped at parse.
48
+ *
49
+ * The validator now refuses at validate-stage when the user's
50
+ * explicit directive is "all" or `{ index: N }`, with a diagnostic
51
+ * that quotes the directive verbatim. The "first" case still flows
52
+ * through to the executor unchanged (preserves today's accidental-
53
+ * success path for 1-match files; the executor still refuses on
54
+ * >1-match content as before). Same public `ambiguous_match` code
55
+ * as the executor refusal — §6.5.1 rule 3 / §6.6.1 rule 7.
56
+ *
33
57
  * Hard rules:
34
58
  *
35
59
  * 1. The validator MUST NOT open files. It runs only on IR + path-level
@@ -669,6 +693,85 @@ function validateCreateDir(op, ctx) {
669
693
  }
670
694
  return null;
671
695
  }
696
+ /**
697
+ * usesteady-public#45 — render the user's explicit occurrence directive in
698
+ * a form suitable for diagnostic messages and the optional JSON output
699
+ * `requested_occurrence` field. Mirrors the NL surface phrasing
700
+ * (`"first occurrence"`, `"all occurrences"`, `"Nth occurrence"`) so the
701
+ * refusal echoes what the user typed.
702
+ */
703
+ function formatRequestedOccurrence(occ) {
704
+ if (occ === "first") {
705
+ return { display: "first occurrence", machine: "first" };
706
+ }
707
+ if (occ === "all") {
708
+ return { display: "all occurrences", machine: "all" };
709
+ }
710
+ const n = occ.index;
711
+ const suffix = ordinalSuffix(n);
712
+ return { display: `${n}${suffix} occurrence`, machine: `${n}${suffix}` };
713
+ }
714
+ /**
715
+ * usesteady-public#45 — English ordinal suffix for an integer ≥ 1.
716
+ * Mirrors the legacy `ordinalSuffix` in `ir-to-spec-fields.ts` so the
717
+ * validator's diagnostic phrasing stays byte-identical to the load-
718
+ * stage refusal phrasing that already shipped.
719
+ */
720
+ function ordinalSuffix(n) {
721
+ const mod100 = n % 100;
722
+ if (mod100 >= 11 && mod100 <= 13)
723
+ return "th";
724
+ const mod10 = n % 10;
725
+ if (mod10 === 1)
726
+ return "st";
727
+ if (mod10 === 2)
728
+ return "nd";
729
+ if (mod10 === 3)
730
+ return "rd";
731
+ return "th";
732
+ }
733
+ /**
734
+ * usesteady-public#45 — validate-stage refusal for replace ops carrying
735
+ * an explicit non-"first" occurrence directive. See module JSDoc for the
736
+ * rationale (executor never honors occurrence selection; the validator
737
+ * refuses early so the user sees a truthful diagnostic that quotes their
738
+ * directive, instead of the executor's generic `ambiguous_match` against
739
+ * `from`).
740
+ *
741
+ * Scope discipline:
742
+ * - Only fires when `requestedOccurrence` is *explicitly* set. The
743
+ * existing no-directive path on JSON (where the adapter defaults
744
+ * `occurrence: "all"` but `requestedOccurrence` is undefined) is
745
+ * untouched — preserves byte-identical behavior for JSON callers
746
+ * who did not provide the field.
747
+ * - `requestedOccurrence === "first"` is NOT refused. Preserves the
748
+ * accidental-success path for 1-match files (executor still picks
749
+ * first match). The executor's >1-match refusal remains unchanged
750
+ * — out of scope per task #45 brief ("no executor changes").
751
+ * - Public `ambiguous_match` code reused; no new error code minted.
752
+ * The user-visible message is the only delta vs the executor's
753
+ * >1-match refusal — and it is strictly more truthful because it
754
+ * quotes the user's directive.
755
+ */
756
+ function validateReplace(op) {
757
+ const req = op.args.requestedOccurrence;
758
+ if (req === undefined)
759
+ return null;
760
+ if (req === "first")
761
+ return null;
762
+ const formatted = formatRequestedOccurrence(req);
763
+ return {
764
+ stage: "validate",
765
+ code: "ambiguous_match",
766
+ message: `Refusing to apply replace in "${op.args.file}": you requested ` +
767
+ `"${formatted.display}", but the executor does not honor occurrence ` +
768
+ "selection today (the replace step picks the first match and refuses " +
769
+ "with ambiguous_match when more than one exists). Tracked at " +
770
+ "usesteady-public#45. Workaround: narrow `from` to a unique span, " +
771
+ "or apply the change manually for now.",
772
+ operation: op,
773
+ };
774
+ }
672
775
  function validateDelete(op, ctx) {
673
776
  const abs = resolvePath(ctx.workspaceRoot, op.args.path);
674
777
  // §6.5.2 deliberate refinement: delete-missing surfaces file_not_found
@@ -768,7 +871,7 @@ export function validateOperation(op, context) {
768
871
  case "create_dir": return validateCreateDir(op, ctx);
769
872
  case "delete": return validateDelete(op, ctx);
770
873
  case "rename": return validateRename(op, ctx);
771
- case "replace": return null; // execute-time only
874
+ case "replace": return validateReplace(op);
772
875
  case "append": return null; // create-if-missing
773
876
  case "prepend": return null; // create-if-missing
774
877
  case "run": return null; // intrinsically execute-time
@@ -1 +1 @@
1
- {"version":3,"file":"feasibility-validator.js","sourceRoot":"","sources":["../../../src/input/feasibility-validator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"feasibility-validator.js","sourceRoot":"","sources":["../../../src/input/feasibility-validator.ts"],"names":[],"mappings":"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"}
@@ -71,6 +71,40 @@ export type Operation = {
71
71
  readonly to: string;
72
72
  /** Per §5.1: "never undefined" — the normalizer must commit to one. */
73
73
  readonly occurrence: ReplaceOccurrence;
74
+ /**
75
+ * usesteady-public#45 (occurrence-directive truthfulness) — the
76
+ * user's EXPLICIT directive, when present in the input.
77
+ *
78
+ * Separate from `occurrence` because `occurrence` is required by
79
+ * design §5.1 ("never undefined") and the JSON adapter has to
80
+ * commit to a value when the public JSON schema does not carry
81
+ * the field — `requestedOccurrence` is what disambiguates "user
82
+ * actually said this" from "adapter defaulted to this".
83
+ *
84
+ * Populated:
85
+ * - NL surface: always, since the M4 normalizer requires an
86
+ * explicit occurrence clause (§6.6.2 R4). The parser writes
87
+ * the same value into both fields.
88
+ * - JSON surface: only when the public JSON op contains an
89
+ * `occurrence` field with a recognized shape. When absent,
90
+ * this field is `undefined` and `occurrence` retains its
91
+ * adapter-side default.
92
+ *
93
+ * Consumed:
94
+ * - feasibility-validator.ts: refuses at validate stage with
95
+ * `ambiguous_match` when this is "all" or `{ index: N }`
96
+ * (the system cannot honor those today; see #45). "first"
97
+ * passes through to the executor unchanged.
98
+ * - spec-task-builder.ts / ir-to-spec-fields.ts: mirrored
99
+ * onto SpecTask.requestedOccurrence for preview / diagnostic
100
+ * rendering. Never propagated to the executor's parsedChange.
101
+ *
102
+ * Diagnostics-only at the executor: the executor does NOT read
103
+ * this field. It exists to make the user's intent visible at
104
+ * validate-stage refusals and in the preview, not to change
105
+ * what the executor does.
106
+ */
107
+ readonly requestedOccurrence?: ReplaceOccurrence;
74
108
  };
75
109
  } | {
76
110
  readonly type: "append";
@@ -1 +1 @@
1
- {"version":3,"file":"ir.d.ts","sourceRoot":"","sources":["../../../src/input/ir.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAUH,gEAAgE;AAChE,MAAM,MAAM,iBAAiB,GACzB,OAAO,GACP,KAAK,GACL;IAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAE/B;;;;;;;;GAQG;AACH,MAAM,MAAM,SAAS,GACjB;IACE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACtE,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CAC1C,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CAC1C,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;CAC/D,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE;QACb,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QACtB,mDAAmD;QACnD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QACtB,kEAAkE;QAClE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;QACpB,uEAAuE;QACvE,QAAQ,CAAC,UAAU,EAAE,iBAAiB,CAAC;KACxC,CAAC;CACH,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CACjE,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CACjE,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;IACrB,QAAQ,CAAC,IAAI,EAAE;QAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;CAC7C,CAAC;AAEN;;;;;;GAMG;AACH,MAAM,MAAM,eAAe,GACvB,MAAM,GACN,QAAQ,GACR,YAAY,GACZ,OAAO,GACP,MAAM,CAAC;AAEX,MAAM,MAAM,QAAQ,GAAG;IACrB,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC;IAClC,2EAA2E;IAC3E,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,EAAE,GAAG;IACf,uDAAuD;IACvD,QAAQ,CAAC,UAAU,EAAE,SAAS,SAAS,EAAE,CAAC;IAC1C,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC;IAC1B,oEAAoE;IACpE,QAAQ,CAAC,QAAQ,CAAC,EAAE;QAAE,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACvD,CAAC"}
1
+ {"version":3,"file":"ir.d.ts","sourceRoot":"","sources":["../../../src/input/ir.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAUH,gEAAgE;AAChE,MAAM,MAAM,iBAAiB,GACzB,OAAO,GACP,KAAK,GACL;IAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAE/B;;;;;;;;GAQG;AACH,MAAM,MAAM,SAAS,GACjB;IACE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACtE,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CAC1C,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CAC1C,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;CAC/D,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE;QACb,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QACtB,mDAAmD;QACnD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QACtB,kEAAkE;QAClE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;QACpB,uEAAuE;QACvE,QAAQ,CAAC,UAAU,EAAE,iBAAiB,CAAC;QACvC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;WAgCG;QACH,QAAQ,CAAC,mBAAmB,CAAC,EAAE,iBAAiB,CAAC;KAClD,CAAC;CACH,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CACjE,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CACjE,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;IACrB,QAAQ,CAAC,IAAI,EAAE;QAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;CAC7C,CAAC;AAEN;;;;;;GAMG;AACH,MAAM,MAAM,eAAe,GACvB,MAAM,GACN,QAAQ,GACR,YAAY,GACZ,OAAO,GACP,MAAM,CAAC;AAEX,MAAM,MAAM,QAAQ,GAAG;IACrB,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC;IAClC,2EAA2E;IAC3E,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,EAAE,GAAG;IACf,uDAAuD;IACvD,QAAQ,CAAC,UAAU,EAAE,SAAS,SAAS,EAAE,CAAC;IAC1C,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC;IAC1B,oEAAoE;IACpE,QAAQ,CAAC,QAAQ,CAAC,EAAE;QAAE,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACvD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ir.js","sourceRoot":"","sources":["../../../src/input/ir.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AA8GH,yEAAyE;AACzE,qEAAqE;AACrE,yDAAyD;AACzD,MAAM,gBAAgB,GAAgC,IAAI,CAAC;AAC3D,MAAM,iBAAiB,GAA+B,IAAI,CAAC;AAC3D,KAAK,gBAAgB,CAAC;AACtB,KAAK,iBAAiB,CAAC"}
1
+ {"version":3,"file":"ir.js","sourceRoot":"","sources":["../../../src/input/ir.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAgJH,yEAAyE;AACzE,qEAAqE;AACrE,yDAAyD;AACzD,MAAM,gBAAgB,GAAgC,IAAI,CAAC;AAC3D,MAAM,iBAAiB,GAA+B,IAAI,CAAC;AAC3D,KAAK,gBAAgB,CAAC;AACtB,KAAK,iBAAiB,CAAC"}
@@ -81,6 +81,15 @@ export type JsonToIRResult = {
81
81
  * surface `occurrence` on the public schema or keep the adapter-side
82
82
  * default; that's an M3 conversation, not M2's problem.
83
83
  *
84
+ * usesteady-public#45 update: the JSON adapter now ALSO reads an
85
+ * optional `occurrence` field when the caller provides it. The value
86
+ * is parsed and recorded on the IR as `requestedOccurrence` (the
87
+ * user's explicit directive). The existing `occurrence` default
88
+ * ("all") is preserved for byte-identical behavior on the no-field
89
+ * path. Validate-stage refusal handles non-"first" directives (see
90
+ * `feasibility-validator.ts`). The capabilities summary documents
91
+ * the actual support state — see `op-registry.ts`.
92
+ *
84
93
  * - `create.contents` is omitted because the public JSON `create` op
85
94
  * does not accept `contents`. The IR field is optional in §5.1, so
86
95
  * this is a faithful representation.
@@ -110,4 +119,13 @@ export declare function jsonOpToIROperation(raw: unknown): Operation | null;
110
119
  * so the same adapter is correct for both — only this metadata differs.
111
120
  */
112
121
  export declare function buildIRFromJsonOps(ops: readonly unknown[], rawSource: string, surface: IRSourceSurface & ("json" | "batch")): JsonToIRResult;
122
+ /**
123
+ * If `raw` is a JSON op that `jsonOpToIROperation` would reject because a
124
+ * specific required public-wire field is missing, return a human-readable
125
+ * line naming that field. Otherwise return `null` (caller falls back to
126
+ * the existing generic message).
127
+ *
128
+ * Pure: no I/O, no mutation, no logging.
129
+ */
130
+ export declare function diagnoseInvalidJsonOp(raw: unknown): string | null;
113
131
  //# sourceMappingURL=json-to-ir.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"json-to-ir.d.ts","sourceRoot":"","sources":["../../../src/input/json-to-ir.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsDG;AAEH,OAAO,KAAK,EAAE,EAAE,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAK9D,MAAM,MAAM,cAAc,GACtB;IAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAA;CAAE,GACxC;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAA;CAAE,CAAC;AAwC9E;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,OAAO,GAAG,SAAS,GAAG,IAAI,CA6ElE;AAID;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,SAAS,OAAO,EAAE,EACvB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,eAAe,GAAG,CAAC,MAAM,GAAG,OAAO,CAAC,GAC5C,cAAc,CAchB"}
1
+ {"version":3,"file":"json-to-ir.d.ts","sourceRoot":"","sources":["../../../src/input/json-to-ir.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsDG;AAEH,OAAO,KAAK,EAAE,EAAE,EAAE,eAAe,EAAE,SAAS,EAAqB,MAAM,SAAS,CAAC;AAgDjF,MAAM,MAAM,cAAc,GACtB;IAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAA;CAAE,GACxC;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAA;CAAE,CAAC;AAwC9E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,OAAO,GAAG,SAAS,GAAG,IAAI,CAoGlE;AAID;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,SAAS,OAAO,EAAE,EACvB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,eAAe,GAAG,CAAC,MAAM,GAAG,OAAO,CAAC,GAC5C,cAAc,CAchB;AA4CD;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CA4CjE"}