harness-dispatch 0.7.6 → 0.7.8
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.
- package/CHANGELOG.md +180 -1
- package/README.md +3 -1
- package/dist/dispatchers/generic-cli.d.ts +16 -1
- package/dist/dispatchers/generic-cli.d.ts.map +1 -1
- package/dist/dispatchers/generic-cli.js +204 -10
- package/dist/dispatchers/generic-cli.js.map +1 -1
- package/dist/http/parse.d.ts +16 -0
- package/dist/http/parse.d.ts.map +1 -1
- package/dist/http/parse.js +220 -15
- package/dist/http/parse.js.map +1 -1
- package/dist/http/server.d.ts.map +1 -1
- package/dist/http/server.js +8 -9
- package/dist/http/server.js.map +1 -1
- package/dist/jobs.d.ts.map +1 -1
- package/dist/jobs.js +39 -0
- package/dist/jobs.js.map +1 -1
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +4 -1
- package/dist/mcp/server.js.map +1 -1
- package/dist/mcp/tool-schemas.d.ts +26 -0
- package/dist/mcp/tool-schemas.d.ts.map +1 -1
- package/dist/mcp/tool-schemas.js +95 -8
- package/dist/mcp/tool-schemas.js.map +1 -1
- package/dist/mcp/tools.d.ts +23 -1
- package/dist/mcp/tools.d.ts.map +1 -1
- package/dist/mcp/tools.js +10 -1
- package/dist/mcp/tools.js.map +1 -1
- package/dist/router.d.ts +21 -0
- package/dist/router.d.ts.map +1 -1
- package/dist/router.js +104 -14
- package/dist/router.js.map +1 -1
- package/dist/types.d.ts +23 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -6,6 +6,183 @@ pre-1.0, so minor versions can carry behaviour changes.
|
|
|
6
6
|
|
|
7
7
|
## [Unreleased]
|
|
8
8
|
|
|
9
|
+
## [0.7.8] — 2026-08-23
|
|
10
|
+
|
|
11
|
+
**Upgrade from 0.7.7.** Two of 0.7.7's five fixes were wrong, and one of them
|
|
12
|
+
re-opened a bug 0.7.6 had fixed.
|
|
13
|
+
|
|
14
|
+
### Added
|
|
15
|
+
|
|
16
|
+
- Publishing now requires an acceptance record for the exact version being
|
|
17
|
+
released (`acceptance/<version>.md`), checked by the publish workflow.
|
|
18
|
+
|
|
19
|
+
Every regression this project has shipped was found by an independent
|
|
20
|
+
acceptance pass — 0.7.0's wrong apply base, 0.7.2's dropped deletions,
|
|
21
|
+
0.7.3's path base, 0.7.6's two miscalibrated guards, 0.7.7's under-counted
|
|
22
|
+
escaping. Not one was missed. Every one was already on npm when the pass ran,
|
|
23
|
+
because publishing came first. The review was never the problem; the ordering
|
|
24
|
+
was, and it is mechanical now instead of remembered. A CONDITIONAL verdict
|
|
25
|
+
passes deliberately — see `acceptance/README.md` for why.
|
|
26
|
+
|
|
27
|
+
### Fixed
|
|
28
|
+
|
|
29
|
+
- The command-line length check counts what cmd.exe actually costs.
|
|
30
|
+
cross-spawn prefixes `^` to every meta character for a cmd.exe target and its
|
|
31
|
+
class INCLUDES THE SPACE, which the previous hand-written model did not. Prose
|
|
32
|
+
therefore failed from about 6,600 characters and JSON from about 4,500, while
|
|
33
|
+
the guard did not fire until about 7,820 — so the raw
|
|
34
|
+
"The command line is too long." went on reaching callers, and because the
|
|
35
|
+
guard stayed silent the route was charged a call, a failure and a breaker
|
|
36
|
+
event for it. The class is now taken from cross-spawn rather than guessed at.
|
|
37
|
+
- The same check applies the cmd.exe budget to any target that is not `.exe` or
|
|
38
|
+
`.com`, which is what cross-spawn actually keys on. An extensionless shim or a
|
|
39
|
+
`.ps1` was given the four-times-larger CreateProcess budget.
|
|
40
|
+
- A model naming the FORCED route itself is dropped again. 0.7.6 dropped it,
|
|
41
|
+
0.7.7 forwarded it, and Codex rejected `--model codex_cli` with a real failed
|
|
42
|
+
job and a breaker event. Over-specifying ("use codex_cli, with codex_cli") is
|
|
43
|
+
the one ambiguous case; a model that merely collides with some OTHER route's
|
|
44
|
+
id is still honoured, which is why one rule cannot cover both.
|
|
45
|
+
- `modelHintMatched` reports declared models only. It counted a route-NAME
|
|
46
|
+
match as a match, so the one signal the tool schema tells an agent to use for
|
|
47
|
+
self-correction — "true means the picked route actually declares this model" —
|
|
48
|
+
reported the opposite of the truth.
|
|
49
|
+
- The long-prompt check MEASURES the command line instead of estimating it.
|
|
50
|
+
Two releases running the escaping was hand-modelled and wrong in opposite
|
|
51
|
+
directions: 0.7.6 under-counted spaces, 0.7.7 then over-counted backslashes
|
|
52
|
+
and REFUSED an ~800-character band of prompts that ran fine on the Cursor
|
|
53
|
+
route the check exists for. It now replicates cross-spawn's own escaping and
|
|
54
|
+
measures the result, wrapper included, so the budget (8,180 of a measured
|
|
55
|
+
ceiling of 8,191) buys margin rather than paying for a wrong model. A test
|
|
56
|
+
pins it against cross-spawn's real output.
|
|
57
|
+
- A `node_modules/.bin/*.cmd` target is counted at its DOUBLE-escaped length,
|
|
58
|
+
which is what cross-spawn does to npm shims. Such a target failed from about
|
|
59
|
+
5,300 characters while the check said 6,400.
|
|
60
|
+
- `routing.modelHintDropped` tells you when a model you asked for was not sent
|
|
61
|
+
on. Until now the only signal was `modelHintMatched: false`, documented as
|
|
62
|
+
"forwarded blind — treat the result with more suspicion", which is the
|
|
63
|
+
opposite of what happened: it was not forwarded at all.
|
|
64
|
+
- The top-level `service` parameter drops a self-naming model too. It took a
|
|
65
|
+
third code path that never had the rule, so `service: "codex", hints.model:
|
|
66
|
+
"codex"` still sent `--model codex` to the harness — the failure the forced
|
|
67
|
+
path was fixed for — and reported neither field. All three paths now share
|
|
68
|
+
one function.
|
|
69
|
+
- A blank `hints.model` is rejected on BOTH surfaces instead of silently
|
|
70
|
+
unsetting the route's configured model. An empty string is not "no
|
|
71
|
+
preference": it won against the route default, the harness ran with no model
|
|
72
|
+
flag, and the response reported `model: ""` with nothing to say the request
|
|
73
|
+
had been discarded. Whitespace did the same and also reached the harness as a
|
|
74
|
+
real argument, so `--model " "` cost a provider call, a route failure and
|
|
75
|
+
breaker credit on an HTTP 200. The OpenAI protocol's own top-level `model`
|
|
76
|
+
drops a blank value rather than rejecting it — clients fill that field in
|
|
77
|
+
unconditionally — but it dropped only `""`, not whitespace, and it now drops
|
|
78
|
+
both.
|
|
79
|
+
- A wrong-typed hint is rejected on the HTTP surface instead of vanishing.
|
|
80
|
+
`hints: { model: 123 }` returned 200 with the hint silently gone, and
|
|
81
|
+
`hints: "workspace_edit"` discarded EVERY hint in one go — safety ones
|
|
82
|
+
included — because a non-object failed the branch guard without a word. This
|
|
83
|
+
is the other half of the unknown-KEY rule already there.
|
|
84
|
+
- A whitespace-only `prompt` is rejected on the MCP surface, which the HTTP
|
|
85
|
+
surface has always done. It passed the non-empty check and spent a real route
|
|
86
|
+
call producing nothing.
|
|
87
|
+
- The HTTP surface stops silently downgrading a request it does not understand.
|
|
88
|
+
`mode: "fanou"` ran ONE dispatch and returned 200, so a CI caller asking for
|
|
89
|
+
independent opinions got a single answer indistinguishable from a real one;
|
|
90
|
+
`stream: "true"` returned a non-streaming response the same way; a non-string
|
|
91
|
+
entry in `files` or `models` was dropped, so a delegate ran without context
|
|
92
|
+
the caller believed it had sent. All are refused by name now.
|
|
93
|
+
- `hints.timeoutMs` is checked for its VALUE, not just its type. `0` is not
|
|
94
|
+
nullish, so it won every fallback down to `setTimeout`, fired on the first
|
|
95
|
+
tick and killed the child — "Timed out after 0ms", recorded as a route
|
|
96
|
+
failure with breaker credit, behind an HTTP 200. Negative, fractional and
|
|
97
|
+
absurdly large values were accepted too; MCP has always refused all four.
|
|
98
|
+
- `routePolicy: "standard"` is accepted over HTTP. It is the router's own
|
|
99
|
+
default and the documented one, so copying it out of the docs into an HTTP
|
|
100
|
+
body was an error for naming the thing that already happens.
|
|
101
|
+
- A NUL byte is refused on both surfaces for every field that becomes a
|
|
102
|
+
command-line argument — `prompt`, `files`, `models` and `hints.model` — not
|
|
103
|
+
just `prompt`. The rest surfaced as a raw Node internal from deep inside
|
|
104
|
+
process spawning.
|
|
105
|
+
- Top-level routing hints over HTTP take effect instead of being discarded.
|
|
106
|
+
`{"routePolicy":"local_only"}` returned 200 and the dispatch left the machine
|
|
107
|
+
anyway; `taskType`, `timeoutMs` and `preferLargeContext` were dropped the same
|
|
108
|
+
way, while `safetyProfile` and `workspacePolicy` in the same position had
|
|
109
|
+
always worked — which is what taught callers the placement was fine. OpenAI
|
|
110
|
+
request bodies are flat, so this surface accepts flat hints; the MCP tool
|
|
111
|
+
still refuses the placement by name, and on both a hint you set now either
|
|
112
|
+
takes effect or you are told.
|
|
113
|
+
- `timeoutMs` is capped at what a timer can actually hold (2147483647). Above
|
|
114
|
+
that Node clamps to 1 millisecond, so the longest timeout you could ask for
|
|
115
|
+
became the shortest possible: the harness was killed immediately and the
|
|
116
|
+
ROUTE was blamed. Both surfaces accepted values in that range.
|
|
117
|
+
- `contextJobs` and `service` are refused over HTTP rather than accepted and
|
|
118
|
+
ignored. They are MCP tool parameters this surface does not implement — a
|
|
119
|
+
caller passing `contextJobs` got a delegate running without the prior work
|
|
120
|
+
they believed they had sent, and one passing `service` got whatever route the
|
|
121
|
+
router picked.
|
|
122
|
+
- `escalate` is refused on both surfaces. It has never been a per-call field;
|
|
123
|
+
escalation is per-route configuration.
|
|
124
|
+
- `routePolicy` is enforced in FANOUT mode over HTTP, not only in single mode.
|
|
125
|
+
`{"mode":"fanout","hints":{"routePolicy":"blocked"}}` — documented as
|
|
126
|
+
"dry-run: block everything" — returned 200 having run live agents in the
|
|
127
|
+
caller's working tree, and `local_only` let a metered route run and bill.
|
|
128
|
+
The fanout path built its dispatch options by naming three hint fields
|
|
129
|
+
inline and missed two, so `timeoutMs` never reached the child there either.
|
|
130
|
+
Every applicable hint now comes from one function, so a new one reaches
|
|
131
|
+
every caller instead of whichever call sites someone remembered.
|
|
132
|
+
- The config.yaml spelling of a hint is refused at the TOP level on both
|
|
133
|
+
surfaces — `safety_profile`, `route_policy`, `task_type` and the rest. The
|
|
134
|
+
nested spelling has been refused since 0.6.x because it silently disabled a
|
|
135
|
+
safety limit; one level up it stayed silent, and 0.7.8 made that placement
|
|
136
|
+
more reachable by starting to honour top-level hints.
|
|
137
|
+
- A `null` hint value is refused rather than treated as absent, consistently.
|
|
138
|
+
`{"timeoutMs":null}` returned 200 with the hint gone while
|
|
139
|
+
`{"hints":{"timeoutMs":null}}` was a 400 — the same key, two answers.
|
|
140
|
+
- An environment failure is detected by SHAPE, not by how often the phrase
|
|
141
|
+
appears. The detector overrides a successful exit — it charges the route a
|
|
142
|
+
failure and tells the caller "any answer it gave was produced without reading
|
|
143
|
+
or running anything" — so a delegate that merely WROTE about
|
|
144
|
+
`CreateProcessAsUserW` was given a fabricated diagnosis of a run that worked.
|
|
145
|
+
It now requires the harness's own diagnostic form (with errno) on two
|
|
146
|
+
separate lines, and scans each stream's tail separately so a wall of stderr
|
|
147
|
+
cannot bury a real failure on stdout.
|
|
148
|
+
|
|
149
|
+
## [0.7.7] — 2026-08-23
|
|
150
|
+
|
|
151
|
+
**Upgrade from 0.7.6.** Two of 0.7.6's three guards were miscalibrated — one
|
|
152
|
+
under-fired on the shipped Cursor route, one over-fired on an explicit request.
|
|
153
|
+
|
|
154
|
+
### Fixed
|
|
155
|
+
|
|
156
|
+
- The long-prompt check budgets a `.cmd`/`.bat` target at cmd.exe's 8,191
|
|
157
|
+
characters instead of CreateProcess's 32,767. The shipped Cursor route is a
|
|
158
|
+
`cursor-agent.CMD` PowerShell wrapper — not an npm shim — so cross-spawn
|
|
159
|
+
re-spawns it through cmd.exe. A 9,031-character prompt therefore sailed past
|
|
160
|
+
0.7.6's check and still failed with the bare "The command line is too long."
|
|
161
|
+
that check exists to replace.
|
|
162
|
+
- The same check counts a prompt at its ESCAPED length. Windows escapes every
|
|
163
|
+
`"` to `\"`, so a raw character count under-reads any JSON or source-code
|
|
164
|
+
prompt: 31,000 characters at ~10% quotes measured under budget and threw
|
|
165
|
+
`spawn ENAMETOOLONG` anyway.
|
|
166
|
+
- A model named on a FORCED route reaches the harness again. 0.7.6 stopped
|
|
167
|
+
forwarding a route id as a model override, which was right on the scoring
|
|
168
|
+
path and wrong on the forced one — there the caller has already chosen the
|
|
169
|
+
route, so the value can only be a model, and a model whose name collided with
|
|
170
|
+
some other route's id was silently swapped for the route default.
|
|
171
|
+
- A refused prompt is not charged to the route. The refusal happens before any
|
|
172
|
+
process is spawned and fails identically on every argv route, so one over-long
|
|
173
|
+
prompt cascading through three routes recorded three calls and three failures
|
|
174
|
+
— and three such dispatches opened healthy routes for 300 seconds. The route
|
|
175
|
+
was never asked to do anything.
|
|
176
|
+
- A background dispatch is refused outright when the config file no longer
|
|
177
|
+
loads, instead of being reported orphaned 90 seconds later. The detached
|
|
178
|
+
runner bootstraps from the config FILE, so a file the server can no longer
|
|
179
|
+
load means no runner can start; the job then sat untouched until the orphan
|
|
180
|
+
threshold declared it dead. Observed: a caller told "ended without a result
|
|
181
|
+
(status: orphaned)" about a job whose own status.json later read
|
|
182
|
+
completed/success. The server keeps the last config that loaded cleanly, which
|
|
183
|
+
is why it could accept the dispatch at all — that divergence is the bug, and
|
|
184
|
+
it is now named at the point of refusal.
|
|
185
|
+
|
|
9
186
|
## [0.7.6] — 2026-08-23
|
|
10
187
|
|
|
11
188
|
The three items an acceptance pass left open as judgement calls rather than
|
|
@@ -564,7 +741,9 @@ the MCP surface to three tools: `dispatch`, `job_status`, `usage`.
|
|
|
564
741
|
Known issues in this release, fixed in 0.5.0: `configure` writes resolved API keys into
|
|
565
742
|
its output, and `configure --yes --force` can delete user-added harnesses.
|
|
566
743
|
|
|
567
|
-
[Unreleased]: https://github.com/fstubner/harness-dispatch/compare/v0.7.
|
|
744
|
+
[Unreleased]: https://github.com/fstubner/harness-dispatch/compare/v0.7.8...HEAD
|
|
745
|
+
[0.7.8]: https://github.com/fstubner/harness-dispatch/compare/v0.7.7...v0.7.8
|
|
746
|
+
[0.7.7]: https://github.com/fstubner/harness-dispatch/compare/v0.7.6...v0.7.7
|
|
568
747
|
[0.7.6]: https://github.com/fstubner/harness-dispatch/compare/v0.7.5...v0.7.6
|
|
569
748
|
[0.7.5]: https://github.com/fstubner/harness-dispatch/compare/v0.7.4...v0.7.5
|
|
570
749
|
[0.7.4]: https://github.com/fstubner/harness-dispatch/compare/v0.7.3...v0.7.4
|
package/README.md
CHANGED
|
@@ -663,7 +663,9 @@ decide which of your local CLIs to run.
|
|
|
663
663
|
## Chaining delegated work
|
|
664
664
|
|
|
665
665
|
Pass the jobIds of earlier dispatches as `contextJobs` and their prompts and
|
|
666
|
-
outputs are rendered into the new prompt directly
|
|
666
|
+
outputs are rendered into the new prompt directly — arguments to the `dispatch`
|
|
667
|
+
MCP tool, not an HTTP body (the OpenAI-compatible endpoint does not implement
|
|
668
|
+
`contextJobs`, and refuses it rather than accepting it and ignoring it):
|
|
667
669
|
|
|
668
670
|
```json
|
|
669
671
|
{ "prompt": "Now write the migration.", "contextJobs": ["job-1786977300001-0f0aaaaa"] }
|
|
@@ -41,7 +41,19 @@ export declare function detectRateLimit(text: string): {
|
|
|
41
41
|
* reporting that it could not START a process at all, which no prompt can
|
|
42
42
|
* work around.
|
|
43
43
|
*/
|
|
44
|
-
export declare function detectHarnessEnvironmentFailure(
|
|
44
|
+
export declare function detectHarnessEnvironmentFailure(...streams: string[]): string | undefined;
|
|
45
|
+
/**
|
|
46
|
+
* How long the command line will actually be once escaped.
|
|
47
|
+
*
|
|
48
|
+
* Counting raw characters under-reads on Windows, where every `"` in an
|
|
49
|
+
* argument is escaped to `\"` and every argument containing whitespace is
|
|
50
|
+
* wrapped in quotes. A 31,000-character prompt that is ~10% quote characters —
|
|
51
|
+
* ordinary for JSON or source code — measured under the budget and then threw
|
|
52
|
+
* `spawn ENAMETOOLONG` anyway. Deliberately an over-estimate: refusing a
|
|
53
|
+
* borderline prompt with an explanation beats spawning one that dies with an
|
|
54
|
+
* errno.
|
|
55
|
+
*/
|
|
56
|
+
declare function commandLineLength(command: string, args: string[]): number;
|
|
45
57
|
export declare class GenericCliDispatcher extends BaseDispatcher {
|
|
46
58
|
#private;
|
|
47
59
|
readonly id: string;
|
|
@@ -64,4 +76,7 @@ export declare class GenericCliDispatcher extends BaseDispatcher {
|
|
|
64
76
|
checkQuota(): Promise<QuotaInfo>;
|
|
65
77
|
stream(prompt: string, files: string[], workingDir: string, opts?: DispatchOpts): AsyncIterable<DispatcherEvent>;
|
|
66
78
|
}
|
|
79
|
+
/** Exported for the drift test against cross-spawn. Not part of the API. */
|
|
80
|
+
export declare const __commandLineLengthForTest: typeof commandLineLength;
|
|
81
|
+
export {};
|
|
67
82
|
//# sourceMappingURL=generic-cli.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generic-cli.d.ts","sourceRoot":"","sources":["../../src/dispatchers/generic-cli.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAKH,OAAO,KAAK,EAIV,eAAe,EACf,SAAS,EAET,aAAa,EACd,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,cAAc,EAAE,KAAK,YAAY,EAAE,MAAM,WAAW,CAAC;AA2B9D,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEtD;AAED,gFAAgF;AAChF,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG;IAAE,WAAW,EAAE,OAAO,CAAC;IAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAoBjG;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,+BAA+B,CAAC,
|
|
1
|
+
{"version":3,"file":"generic-cli.d.ts","sourceRoot":"","sources":["../../src/dispatchers/generic-cli.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAKH,OAAO,KAAK,EAIV,eAAe,EACf,SAAS,EAET,aAAa,EACd,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,cAAc,EAAE,KAAK,YAAY,EAAE,MAAM,WAAW,CAAC;AA2B9D,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEtD;AAED,gFAAgF;AAChF,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG;IAAE,WAAW,EAAE,OAAO,CAAC;IAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAoBjG;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,+BAA+B,CAAC,GAAG,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,SAAS,CA+CxF;AA+ID;;;;;;;;;;GAUG;AACH,iBAAS,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,CAiBlE;AAmMD,qBAAa,oBAAqB,SAAQ,cAAc;;IACtD,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAgC;IACzD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAqB;IAC5C,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAqB;IACrD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAgC;IAC7D,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAoC;IACrE,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAsB;IAE3D;;;;;;OAMG;gBACS,GAAG,CAAC,EAAE,aAAa,EAAE,oBAAoB,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC;IAY3E,WAAW,IAAI,OAAO;IAIhB,UAAU,IAAI,OAAO,CAAC,SAAS,CAAC;IAItC,MAAM,CACJ,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EAAE,EACf,UAAU,EAAE,MAAM,EAClB,IAAI,GAAE,YAAiB,GACtB,aAAa,CAAC,eAAe,CAAC;CAkVlC;AAED,4EAA4E;AAC5E,eAAO,MAAM,0BAA0B,0BAAoB,CAAC"}
|
|
@@ -83,8 +83,44 @@ export function detectRateLimit(text) {
|
|
|
83
83
|
* reporting that it could not START a process at all, which no prompt can
|
|
84
84
|
* work around.
|
|
85
85
|
*/
|
|
86
|
-
export function detectHarnessEnvironmentFailure(
|
|
87
|
-
|
|
86
|
+
export function detectHarnessEnvironmentFailure(...streams) {
|
|
87
|
+
// TWO DIAGNOSTIC LINES, in each stream's TAIL.
|
|
88
|
+
//
|
|
89
|
+
// This overrides a SUCCESSFUL exit code, so a false positive is expensive:
|
|
90
|
+
// it charges the route a failure, counts toward the breaker, and tells the
|
|
91
|
+
// caller "any answer it gave was produced without reading or running
|
|
92
|
+
// anything" — a fabricated diagnosis about a run that worked.
|
|
93
|
+
//
|
|
94
|
+
// Counting bare mentions does not separate the two cases. The first version
|
|
95
|
+
// fired on one mention anywhere; raising it to two still fired on a
|
|
96
|
+
// delegate's prose ABOUT this function, which is a realistic thing to
|
|
97
|
+
// receive — this project delegates work on this very file. Both versions
|
|
98
|
+
// were reproduced with a CLI exiting 0 while printing sentences.
|
|
99
|
+
//
|
|
100
|
+
// What separates them better than volume is SHAPE. The harness emits its
|
|
101
|
+
// own diagnostic with the errno attached ("CreateProcessAsUserW failed: 5
|
|
102
|
+
// (Access is denied)"), which prose usually shortens to the bare phrase, so
|
|
103
|
+
// requiring the errno form on two separate LINES needs a real diagnostic,
|
|
104
|
+
// repeated — and a sandbox that cannot spawn fails EVERY attempt, so it
|
|
105
|
+
// repeats by definition (the run this was built from logged six).
|
|
106
|
+
//
|
|
107
|
+
// Narrower, not closed, and worth being exact about both ways:
|
|
108
|
+
// - Prose QUOTING the full diagnostic on two lines still fires. A report
|
|
109
|
+
// on this file can do that, including a diff of this function's own
|
|
110
|
+
// tests. Nothing in the text distinguishes those cases; only the source
|
|
111
|
+
// of the stream would, and we do not have it here.
|
|
112
|
+
// - Only `failed: <digits>` matches. `failed (5)`, `failed with error 5`,
|
|
113
|
+
// or the errno on the next line are all missed. That is deliberate
|
|
114
|
+
// rather than an oversight: the form above is the one observed live, and
|
|
115
|
+
// inventing variants would widen a false-positive surface that has
|
|
116
|
+
// already misfired twice to cover output nobody has seen.
|
|
117
|
+
//
|
|
118
|
+
// Each stream is tailed SEPARATELY, like the rate-limit scanner: six real
|
|
119
|
+
// occurrences on stdout followed by a wall of stderr noise would otherwise
|
|
120
|
+
// fall off the end of a single joined tail.
|
|
121
|
+
const lines = streams.flatMap((s) => rateLimitScanTail(s).split(/\r?\n/));
|
|
122
|
+
const diagnostics = lines.filter((line) => /CreateProcessAsUserW failed:\s*\d+/i.test(line));
|
|
123
|
+
if (diagnostics.length >= 2) {
|
|
88
124
|
return ("the harness could not spawn any child process — its sandbox refused " +
|
|
89
125
|
"(CreateProcessAsUserW failed). Any answer it gave was produced without " +
|
|
90
126
|
"reading or running anything. On Windows this is usually a path the " +
|
|
@@ -104,6 +140,159 @@ export function detectHarnessEnvironmentFailure(text) {
|
|
|
104
140
|
*/
|
|
105
141
|
const WINDOWS_CMDLINE_MAX = 32_000;
|
|
106
142
|
const POSIX_ARG_MAX = 128 * 1024 - 2048;
|
|
143
|
+
/**
|
|
144
|
+
* cmd.exe's own limit, and the one that actually binds on Windows more often
|
|
145
|
+
* than the CreateProcess figure above.
|
|
146
|
+
*
|
|
147
|
+
* A `.cmd`/`.bat` target is re-spawned through `cmd.exe`, which caps a command
|
|
148
|
+
* line at 8,191 characters — a quarter of the CreateProcess limit. The first
|
|
149
|
+
* version of this check budgeted 32,000 for everything, so the shipped Cursor
|
|
150
|
+
* route (a `cursor-agent.CMD` PowerShell wrapper, not an npm shim, handed
|
|
151
|
+
* straight to cross-spawn) still failed at ~9k characters with the bare
|
|
152
|
+
* "The command line is too long." this check exists to replace. Measured on a
|
|
153
|
+
* stock install; the true ceiling was then bisected at exactly 8,191.
|
|
154
|
+
*
|
|
155
|
+
* Only eleven characters of margin, because commandLineLength no longer
|
|
156
|
+
* estimates — it builds cross-spawn's own escaped forms and measures them, so
|
|
157
|
+
* the slack that used to cover a wrong model is not needed and was costing
|
|
158
|
+
* ~10% of the usable prompt.
|
|
159
|
+
*
|
|
160
|
+
* One case that margin would NOT cover: cross-spawn keys its escaping on the
|
|
161
|
+
* SHEBANG-RESOLVED file, and unshifts the resolved interpreter path as an
|
|
162
|
+
* extra argument. This keys on the raw command, so a shebang script would go
|
|
163
|
+
* ~60 characters uncounted. It cannot happen through the dispatchers here —
|
|
164
|
+
* resolveCliCommand hands over a fully `which`-resolved path, and reaching
|
|
165
|
+
* cross-spawn's shebang branch on Windows needs an extensionless PATHEXT hit
|
|
166
|
+
* — but a future caller passing an unresolved command is the way in.
|
|
167
|
+
*/
|
|
168
|
+
const WINDOWS_CMD_SHIM_MAX = 8_180;
|
|
169
|
+
/**
|
|
170
|
+
* The limit that applies to THIS command, not to the platform in general.
|
|
171
|
+
*
|
|
172
|
+
* Keyed on what cross-spawn will actually DO, not on the extension string.
|
|
173
|
+
* cross-spawn routes through cmd.exe for anything that is not `.com` or `.exe`
|
|
174
|
+
* (lib/parse.js), so an extensionless target, a `.ps1`, or a hand-rolled shim
|
|
175
|
+
* gets the same 8,191-character ceiling as a `.cmd` — the first version of
|
|
176
|
+
* this listed `.cmd`/`.bat` explicitly and handed everything else the
|
|
177
|
+
* four-times-larger CreateProcess budget.
|
|
178
|
+
*/
|
|
179
|
+
function commandLineBudget(command) {
|
|
180
|
+
if (process.platform !== "win32")
|
|
181
|
+
return POSIX_ARG_MAX;
|
|
182
|
+
const ext = path.extname(command).toLowerCase();
|
|
183
|
+
return ext === ".exe" || ext === ".com" ? WINDOWS_CMDLINE_MAX : WINDOWS_CMD_SHIM_MAX;
|
|
184
|
+
}
|
|
185
|
+
/**
|
|
186
|
+
* cross-spawn's own meta-character class, copied verbatim from
|
|
187
|
+
* `cross-spawn/lib/util/escape.js`.
|
|
188
|
+
*
|
|
189
|
+
* Every one of these gets a `^` prefix when the target goes through cmd.exe —
|
|
190
|
+
* INCLUDING THE SPACE, which is the character that made hand-modelling this
|
|
191
|
+
* wrong. My first version counted `"` and `\` only, so ordinary prose (~15%
|
|
192
|
+
* spaces) and JSON measured well under budget and still died with cmd.exe's
|
|
193
|
+
* own "The command line is too long." — from ~6,600 characters for prose and
|
|
194
|
+
* ~4,500 for code, against a guard that did not fire until ~7,820.
|
|
195
|
+
*
|
|
196
|
+
* Copied rather than imported because it lives in cross-spawn's internals,
|
|
197
|
+
* which are not part of its public API. The coupling is real either way; a
|
|
198
|
+
* copy at least fails visibly if cross-spawn changes, and the tests below pin
|
|
199
|
+
* the shapes that actually matter.
|
|
200
|
+
*/
|
|
201
|
+
const CMD_META_CHARS = /([()\][%!^"`<>&|;, *?])/g;
|
|
202
|
+
/**
|
|
203
|
+
* cross-spawn double-escapes meta chars for an npm-style cmd shim
|
|
204
|
+
* (`node_modules/.bin/x.cmd`) — `isCmdShimRegExp` in its `lib/parse.js`.
|
|
205
|
+
*
|
|
206
|
+
* Counting them once meant such a target died at ~5,300 characters while the
|
|
207
|
+
* estimate said 6,400 against a budget of 8,000, so the guard stayed silent
|
|
208
|
+
* and the bare "The command line is too long." reached the caller anyway.
|
|
209
|
+
*/
|
|
210
|
+
const CMD_SHIM_DOUBLE_ESCAPE_RE = /node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;
|
|
211
|
+
/**
|
|
212
|
+
* `<comspec> /d /s /c "` … `"` — what cross-spawn actually spawns, and it
|
|
213
|
+
* counts against the same ceiling.
|
|
214
|
+
*
|
|
215
|
+
* comspec, not the literal "cmd.exe": cross-spawn uses
|
|
216
|
+
* `process.env.comspec || "cmd.exe"`, which on a normal Windows install is the
|
|
217
|
+
* full `C:\WINDOWS\system32\cmd.exe` — twenty characters longer than the
|
|
218
|
+
* constant this started as. The drift test below caught that on its first run.
|
|
219
|
+
*/
|
|
220
|
+
function cmdWrapperOverhead() {
|
|
221
|
+
return `${process.env["comspec"] || "cmd.exe"} /d /s /c ""`.length;
|
|
222
|
+
}
|
|
223
|
+
/**
|
|
224
|
+
* cross-spawn's `escapeCommand`, replicated: meta chars only, no quoting.
|
|
225
|
+
*/
|
|
226
|
+
function escapeCmdCommand(command) {
|
|
227
|
+
return command.replace(CMD_META_CHARS, "^$1");
|
|
228
|
+
}
|
|
229
|
+
/**
|
|
230
|
+
* cross-spawn's `escapeArgument`, replicated from `lib/util/escape.js`.
|
|
231
|
+
*
|
|
232
|
+
* REPLICATED, NOT ESTIMATED. The previous version added one character per
|
|
233
|
+
* backslash, but backslashes are only doubled in a run immediately before a
|
|
234
|
+
* quote or the end of the argument — so prompts full of Windows paths (~9%
|
|
235
|
+
* backslashes) were over-counted and REFUSED although they ran: an
|
|
236
|
+
* 804-character band, about 10% of the usable prompt, on the very route the
|
|
237
|
+
* check was written for. Before that the same function under-counted spaces.
|
|
238
|
+
* Both are the cost of hand-modelling something that already exists.
|
|
239
|
+
*/
|
|
240
|
+
function escapeCmdArgument(arg, doubleEscapeMetaChars) {
|
|
241
|
+
let out = quoteWindowsArgument(arg);
|
|
242
|
+
out = out.replace(CMD_META_CHARS, "^$1");
|
|
243
|
+
if (doubleEscapeMetaChars)
|
|
244
|
+
out = out.replace(CMD_META_CHARS, "^$1");
|
|
245
|
+
return out;
|
|
246
|
+
}
|
|
247
|
+
/**
|
|
248
|
+
* The quoting half, which applies to EVERY Windows spawn — cmd.exe target or
|
|
249
|
+
* not. Only the `^` meta escaping above is cmd-specific.
|
|
250
|
+
*
|
|
251
|
+
* Split out because the first version of the non-cmd branch counted
|
|
252
|
+
* `arg.length + 3` and so ignored quote escaping entirely, which under-read a
|
|
253
|
+
* quote-heavy prompt heading for a native `.exe`. Caught by the test written
|
|
254
|
+
* for exactly that case one release earlier — the two branches need the same
|
|
255
|
+
* quoting and differ only in what comes after it.
|
|
256
|
+
*/
|
|
257
|
+
function quoteWindowsArgument(arg) {
|
|
258
|
+
let out = String(arg);
|
|
259
|
+
// A run of backslashes followed by a double quote: double the run, escape
|
|
260
|
+
// the quote.
|
|
261
|
+
out = out.replace(/(?=(\\+?)?)\1"/g, '$1$1\\"');
|
|
262
|
+
// A run of backslashes at the end (about to be followed by the closing
|
|
263
|
+
// quote): double it.
|
|
264
|
+
out = out.replace(/(?=(\\+?)?)\1$/, "$1$1");
|
|
265
|
+
return `"${out}"`;
|
|
266
|
+
}
|
|
267
|
+
/**
|
|
268
|
+
* How long the command line will actually be once escaped.
|
|
269
|
+
*
|
|
270
|
+
* Counting raw characters under-reads on Windows, where every `"` in an
|
|
271
|
+
* argument is escaped to `\"` and every argument containing whitespace is
|
|
272
|
+
* wrapped in quotes. A 31,000-character prompt that is ~10% quote characters —
|
|
273
|
+
* ordinary for JSON or source code — measured under the budget and then threw
|
|
274
|
+
* `spawn ENAMETOOLONG` anyway. Deliberately an over-estimate: refusing a
|
|
275
|
+
* borderline prompt with an explanation beats spawning one that dies with an
|
|
276
|
+
* errno.
|
|
277
|
+
*/
|
|
278
|
+
function commandLineLength(command, args) {
|
|
279
|
+
if (process.platform !== "win32") {
|
|
280
|
+
return args.reduce((n, a) => n + a.length + 1, command.length);
|
|
281
|
+
}
|
|
282
|
+
if (commandLineBudget(command) !== WINDOWS_CMD_SHIM_MAX) {
|
|
283
|
+
// Straight to CreateProcess: the same quoting, without cmd.exe's escaping.
|
|
284
|
+
return args.reduce((n, a) => n + quoteWindowsArgument(a).length + 1, command.length);
|
|
285
|
+
}
|
|
286
|
+
// cmd.exe target. Build the escaped forms and MEASURE them, rather than
|
|
287
|
+
// estimating from character counts — two releases running, the estimate was
|
|
288
|
+
// wrong in one direction and then the other.
|
|
289
|
+
const double = CMD_SHIM_DOUBLE_ESCAPE_RE.test(command);
|
|
290
|
+
const parts = [escapeCmdCommand(command), ...args.map((a) => escapeCmdArgument(a, double))];
|
|
291
|
+
// `cmd.exe /d /s /c "<line>"` — the wrapper cross-spawn actually spawns, and
|
|
292
|
+
// it counts against the same 8,191 ceiling. Uncounted before, which put the
|
|
293
|
+
// estimate a constant ~29 characters under the truth.
|
|
294
|
+
return cmdWrapperOverhead() + parts.join(" ").length;
|
|
295
|
+
}
|
|
107
296
|
/** Walk a nested object by dotted path, e.g. "message.content". */
|
|
108
297
|
function getPath(value, path) {
|
|
109
298
|
return path.split(".").reduce((acc, key) => {
|
|
@@ -389,8 +578,8 @@ export class GenericCliDispatcher extends BaseDispatcher {
|
|
|
389
578
|
// would refuse work that route can do. Saying which routes CAN take it is
|
|
390
579
|
// the useful half of the message.
|
|
391
580
|
if (!protocol.stdin) {
|
|
392
|
-
const budget =
|
|
393
|
-
const commandLineChars =
|
|
581
|
+
const budget = commandLineBudget(resolved.command);
|
|
582
|
+
const commandLineChars = commandLineLength(resolved.command, args);
|
|
394
583
|
if (commandLineChars > budget) {
|
|
395
584
|
yield {
|
|
396
585
|
type: "completion",
|
|
@@ -398,11 +587,14 @@ export class GenericCliDispatcher extends BaseDispatcher {
|
|
|
398
587
|
output: "",
|
|
399
588
|
service: this.id,
|
|
400
589
|
success: false,
|
|
401
|
-
error: `prompt too long for ${this.id}: the command line would be ` +
|
|
402
|
-
`${commandLineChars.toLocaleString()} characters and this
|
|
403
|
-
|
|
404
|
-
`argument. Send the bulk as files instead of inline text, shorten
|
|
405
|
-
`or use a route that reads the prompt from stdin (codex does).`,
|
|
590
|
+
error: `prompt too long for ${this.id}: the command line would be about ` +
|
|
591
|
+
`${commandLineChars.toLocaleString()} characters once escaped, and this ` +
|
|
592
|
+
`command accepts ${budget.toLocaleString()}. ${this.id} passes the prompt as a ` +
|
|
593
|
+
`command-line argument. Send the bulk as files instead of inline text, shorten ` +
|
|
594
|
+
`the prompt, or use a route that reads the prompt from stdin (codex does).`,
|
|
595
|
+
// Not the route's fault, so not the route's failure. See
|
|
596
|
+
// DispatchResult.inputRejected.
|
|
597
|
+
inputRejected: true,
|
|
406
598
|
durationMs: 0,
|
|
407
599
|
},
|
|
408
600
|
};
|
|
@@ -562,7 +754,7 @@ export class GenericCliDispatcher extends BaseDispatcher {
|
|
|
562
754
|
// reports this on whichever one it likes while its real payload goes to
|
|
563
755
|
// the other, and a lenient exit-0 route would otherwise return the
|
|
564
756
|
// delegate's uninformed answer as a success.
|
|
565
|
-
const envFailure = detectHarnessEnvironmentFailure(
|
|
757
|
+
const envFailure = detectHarnessEnvironmentFailure(stdout, stderr);
|
|
566
758
|
// A structured error overrides exit code entirely — a CLI that reports
|
|
567
759
|
// failure in its own response body (is_error, a turn.failed event) is
|
|
568
760
|
// reporting failure regardless of what the process exit code says.
|
|
@@ -635,4 +827,6 @@ export class GenericCliDispatcher extends BaseDispatcher {
|
|
|
635
827
|
yield { type: "completion", result };
|
|
636
828
|
}
|
|
637
829
|
}
|
|
830
|
+
/** Exported for the drift test against cross-spawn. Not part of the API. */
|
|
831
|
+
export const __commandLineLengthForTest = commandLineLength;
|
|
638
832
|
//# sourceMappingURL=generic-cli.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generic-cli.js","sourceRoot":"","sources":["../../src/dispatchers/generic-cli.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"generic-cli.js","sourceRoot":"","sources":["../../src/dispatchers/generic-cli.ts"],"names":[],"mappings":"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"}
|
package/dist/http/parse.d.ts
CHANGED
|
@@ -34,6 +34,13 @@ export interface ChatRequest {
|
|
|
34
34
|
hints?: unknown;
|
|
35
35
|
safetyProfile?: unknown;
|
|
36
36
|
workspacePolicy?: unknown;
|
|
37
|
+
taskType?: unknown;
|
|
38
|
+
routePolicy?: unknown;
|
|
39
|
+
preferLargeContext?: unknown;
|
|
40
|
+
timeoutMs?: unknown;
|
|
41
|
+
contextJobs?: unknown;
|
|
42
|
+
service?: unknown;
|
|
43
|
+
escalate?: unknown;
|
|
37
44
|
}
|
|
38
45
|
export declare const MAX_REQUEST_BODY_BYTES: number;
|
|
39
46
|
/**
|
|
@@ -50,6 +57,15 @@ export declare class BadRequestError extends Error {
|
|
|
50
57
|
/** Mirrors MAX_CONTEXT_FILES in mcp/tools.ts — the two surfaces must agree. */
|
|
51
58
|
export declare const MAX_CONTEXT_FILES_HTTP = 64;
|
|
52
59
|
export declare function readJson(req: IncomingMessage, maxBytes?: number): Promise<unknown>;
|
|
60
|
+
/**
|
|
61
|
+
* Every one of these ends up in an argv array — `files` as `--add-dir`
|
|
62
|
+
* grants, `models` as route ids, `hints.model` as `--model`. A NUL fails deep
|
|
63
|
+
* inside cross-spawn with "The argument 'args[N]' must be a string without
|
|
64
|
+
* null bytes", which is the raw Node internal a boundary rejection replaces.
|
|
65
|
+
* The prompt was guarded and these three were not, on BOTH surfaces — so
|
|
66
|
+
* parity held while both were wrong, which no parity row can catch.
|
|
67
|
+
*/
|
|
68
|
+
export declare function noNul(value: string, field: string): void;
|
|
53
69
|
export declare function parseChatRequest(raw: unknown): {
|
|
54
70
|
prompt: string;
|
|
55
71
|
files: string[];
|
package/dist/http/parse.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../../src/http/parse.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAGjD,OAAO,KAAK,EAAE,UAAU,EAAmB,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../../src/http/parse.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAGjD,OAAO,KAAK,EAAE,UAAU,EAAmB,MAAM,aAAa,CAAC;AAI/D,gFAAgF;AAChF,qBAAa,oBAAqB,SAAQ,KAAK;CAAG;AAElD,MAAM,WAAW,WAAW;IAC1B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAGhB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAKD,eAAO,MAAM,sBAAsB,QAAmB,CAAC;AAEvD;;;;;;;;GAQG;AACH,qBAAa,eAAgB,SAAQ,KAAK;CAAG;AAE7C,+EAA+E;AAC/E,eAAO,MAAM,sBAAsB,KAAK,CAAC;AAEzC,wBAAsB,QAAQ,CAC5B,GAAG,EAAE,eAAe,EACpB,QAAQ,GAAE,MAA+B,GACxC,OAAO,CAAC,OAAO,CAAC,CAwBlB;AA2ED;;;;;;;GAOG;AACH,wBAAgB,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAIxD;AAgPD,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,OAAO,GAAG;IAC9C,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAC1B,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,KAAK,EAAE,UAAU,CAAC;CACnB,CAiEA;AAED,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC7B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAezB"}
|