harness-dispatch 0.7.8 → 0.8.0
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 +706 -1
- package/README.md +35 -5
- package/config.default.yaml +30 -2
- package/dist/auth.d.ts +29 -0
- package/dist/auth.d.ts.map +1 -1
- package/dist/auth.js +58 -5
- package/dist/auth.js.map +1 -1
- package/dist/bin.d.ts.map +1 -1
- package/dist/bin.js +449 -21
- package/dist/bin.js.map +1 -1
- package/dist/breaker-store.d.ts +25 -1
- package/dist/breaker-store.d.ts.map +1 -1
- package/dist/breaker-store.js +193 -25
- package/dist/breaker-store.js.map +1 -1
- package/dist/client-register.d.ts +147 -0
- package/dist/client-register.d.ts.map +1 -0
- package/dist/client-register.js +380 -0
- package/dist/client-register.js.map +1 -0
- package/dist/config/validation.d.ts +29 -0
- package/dist/config/validation.d.ts.map +1 -1
- package/dist/config/validation.js +88 -0
- package/dist/config/validation.js.map +1 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +55 -2
- package/dist/config.js.map +1 -1
- package/dist/dispatch-log.d.ts +14 -0
- package/dist/dispatch-log.d.ts.map +1 -1
- package/dist/dispatch-log.js +3 -0
- package/dist/dispatch-log.js.map +1 -1
- package/dist/dispatchers/generic-cli.d.ts.map +1 -1
- package/dist/dispatchers/generic-cli.js +35 -0
- package/dist/dispatchers/generic-cli.js.map +1 -1
- package/dist/dispatchers/openai-compatible.d.ts +20 -4
- package/dist/dispatchers/openai-compatible.d.ts.map +1 -1
- package/dist/dispatchers/openai-compatible.js +145 -17
- package/dist/dispatchers/openai-compatible.js.map +1 -1
- package/dist/dispatchers/shared/rate-limit-headers.d.ts +4 -2
- package/dist/dispatchers/shared/rate-limit-headers.d.ts.map +1 -1
- package/dist/dispatchers/shared/rate-limit-headers.js +4 -2
- package/dist/dispatchers/shared/rate-limit-headers.js.map +1 -1
- package/dist/http/answer-stream.d.ts +52 -0
- package/dist/http/answer-stream.d.ts.map +1 -0
- package/dist/http/answer-stream.js +47 -0
- package/dist/http/answer-stream.js.map +1 -0
- package/dist/http/parse.d.ts.map +1 -1
- package/dist/http/parse.js +41 -0
- package/dist/http/parse.js.map +1 -1
- package/dist/http/server.d.ts.map +1 -1
- package/dist/http/server.js +102 -9
- package/dist/http/server.js.map +1 -1
- package/dist/jobs/store.d.ts.map +1 -1
- package/dist/jobs/store.js +45 -4
- package/dist/jobs/store.js.map +1 -1
- package/dist/jobs.d.ts +24 -0
- package/dist/jobs.d.ts.map +1 -1
- package/dist/jobs.js +101 -1
- package/dist/jobs.js.map +1 -1
- package/dist/mcp/config-hot-reload.d.ts.map +1 -1
- package/dist/mcp/config-hot-reload.js +10 -0
- package/dist/mcp/config-hot-reload.js.map +1 -1
- package/dist/mcp/near-miss-guard.d.ts +45 -0
- package/dist/mcp/near-miss-guard.d.ts.map +1 -0
- package/dist/mcp/near-miss-guard.js +98 -0
- package/dist/mcp/near-miss-guard.js.map +1 -0
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +36 -0
- package/dist/mcp/server.js.map +1 -1
- package/dist/mcp/tool-schemas.d.ts.map +1 -1
- package/dist/mcp/tool-schemas.js +21 -4
- package/dist/mcp/tool-schemas.js.map +1 -1
- package/dist/mcp/tools.d.ts +32 -0
- package/dist/mcp/tools.d.ts.map +1 -1
- package/dist/mcp/tools.js +41 -0
- package/dist/mcp/tools.js.map +1 -1
- package/dist/mcp-clients.d.ts +63 -0
- package/dist/mcp-clients.d.ts.map +1 -0
- package/dist/mcp-clients.js +117 -0
- package/dist/mcp-clients.js.map +1 -0
- package/dist/near-miss.d.ts +63 -0
- package/dist/near-miss.d.ts.map +1 -0
- package/dist/near-miss.js +132 -0
- package/dist/near-miss.js.map +1 -0
- package/dist/quota.d.ts +31 -1
- package/dist/quota.d.ts.map +1 -1
- package/dist/quota.js +68 -6
- package/dist/quota.js.map +1 -1
- package/dist/route-policy.d.ts +10 -0
- package/dist/route-policy.d.ts.map +1 -1
- package/dist/route-policy.js +20 -2
- package/dist/route-policy.js.map +1 -1
- package/dist/router.d.ts +61 -2
- package/dist/router.d.ts.map +1 -1
- package/dist/router.js +165 -29
- package/dist/router.js.map +1 -1
- package/dist/safety.d.ts.map +1 -1
- package/dist/safety.js +31 -1
- package/dist/safety.js.map +1 -1
- package/dist/status.d.ts +30 -21
- package/dist/status.d.ts.map +1 -1
- package/dist/status.js +152 -8
- package/dist/status.js.map +1 -1
- package/dist/types.d.ts +43 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/working-dir.d.ts.map +1 -1
- package/dist/working-dir.js +16 -0
- package/dist/working-dir.js.map +1 -1
- package/dist/workspace-resolve.d.ts.map +1 -1
- package/dist/workspace-resolve.js +119 -15
- package/dist/workspace-resolve.js.map +1 -1
- package/dist/workspaces.d.ts +83 -0
- package/dist/workspaces.d.ts.map +1 -1
- package/dist/workspaces.js +288 -15
- package/dist/workspaces.js.map +1 -1
- package/package.json +4 -3
package/dist/mcp/tool-schemas.js
CHANGED
|
@@ -81,7 +81,9 @@ export const publicHintsSchema = z
|
|
|
81
81
|
.optional()
|
|
82
82
|
.describe("Kind of work: 'execute' (write/modify code, run commands), 'plan' " +
|
|
83
83
|
"(architecture/design, no edits), 'review' (critique code, no edits), 'local' " +
|
|
84
|
-
"(trivial/mechanical —
|
|
84
|
+
"(trivial/mechanical — picks a local endpoint wherever it sits, ahead of the " +
|
|
85
|
+
"usual tier order, and falls back to normal routing when you have none). " +
|
|
86
|
+
"ALWAYS set this: when " +
|
|
85
87
|
"omitted, per-task capability weighting and model escalation are disabled and " +
|
|
86
88
|
"routing quality degrades."),
|
|
87
89
|
preferLargeContext: z
|
|
@@ -289,12 +291,23 @@ export const dispatchInputShape = {
|
|
|
289
291
|
...misplacedTopLevelKeys,
|
|
290
292
|
models: z
|
|
291
293
|
.array(z.string().refine(noNul, NO_NUL_MESSAGE))
|
|
294
|
+
// An EXPLICIT empty array is a caller mistake, and the most expensive one
|
|
295
|
+
// this field can carry: it fell through to the same branch as "omitted"
|
|
296
|
+
// and fanned out to every eligible route — measured at eight arms on one
|
|
297
|
+
// machine, one per configured route. A caller who wrote `models: []` built
|
|
298
|
+
// a list and it came out empty; they did not ask for everything. Omitting
|
|
299
|
+
// the field is how you ask for that, and it stays a deliberate keystroke
|
|
300
|
+
// rather than the result of a filter matching nothing.
|
|
301
|
+
.min(1, "models: [] selects no routes. Omit `models` entirely to fan out to every " +
|
|
302
|
+
"eligible route (expensive — one dispatch per route), or name at least one. " +
|
|
303
|
+
"An empty list is usually a filter that matched nothing.")
|
|
292
304
|
.optional()
|
|
293
305
|
.describe("Route ids or model names to fan out to (fanout mode only). This is the ONLY " +
|
|
294
306
|
"field that narrows which routes fanout hits — `hints.model` is ignored " +
|
|
295
307
|
"entirely in fanout mode (not used for selection, not forwarded to any " +
|
|
296
|
-
"dispatch); it only does anything in single mode.
|
|
297
|
-
"
|
|
308
|
+
"dispatch); it only does anything in single mode. An empty array is " +
|
|
309
|
+
"REFUSED rather than treated as 'all routes' — omit the field for that. " +
|
|
310
|
+
"Get valid ids from the `usage` tool."),
|
|
298
311
|
service: z
|
|
299
312
|
.string()
|
|
300
313
|
.optional()
|
|
@@ -396,6 +409,10 @@ export const retryJobInputShape = {
|
|
|
396
409
|
.optional()
|
|
397
410
|
.describe("Route the retry somewhere else (e.g. the original hit its usage limit). " +
|
|
398
411
|
"Omit to reuse the original route, or to let the router pick again if it " +
|
|
399
|
-
"had none. Get valid ids from `usage`."
|
|
412
|
+
"had none. Get valid ids from `usage`. Retargeting leaves behind the " +
|
|
413
|
+
"original's model when the new route does not declare it — a model name " +
|
|
414
|
+
"belongs to the route it was picked for — and reports it as " +
|
|
415
|
+
"`droppedModel`; pass a fresh `hints.model` on `dispatch` to choose one " +
|
|
416
|
+
"for this route."),
|
|
400
417
|
};
|
|
401
418
|
//# sourceMappingURL=tool-schemas.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-schemas.js","sourceRoot":"","sources":["../../src/mcp/tool-schemas.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,aAAa,CAAC;AAE5C;;;;;;GAMG;AACH,MAAM,KAAK,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AACnD,MAAM,cAAc,GAAG,4BAA4B,CAAC;AAEpD,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;AAC7E,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,gBAAgB,EAAE,WAAW,CAAC,CAAC,CAAC;AACxF,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,eAAe,EAAE,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC;AACjG,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,YAAY,EAAE,mBAAmB,EAAE,SAAS,CAAC,CAAC,CAAC;AAEpG,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC;KAC/B,MAAM,CAAC;IACN,KAAK,EAAE,CAAC;SACL,MAAM,EAAE;QACT,yEAAyE;QACzE,yEAAyE;QACzE,uEAAuE;QACvE,qEAAqE;QACrE,EAAE;QACF,uEAAuE;QACvE,wEAAwE;QACxE,yEAAyE;QACzE,qEAAqE;QACrE,yEAAyE;SACxE,GAAG,CAAC,CAAC,EAAE,oEAAoE,CAAC;QAC7E,wEAAwE;QACxE,sEAAsE;QACtE,uCAAuC;SACtC,MAAM,CACL,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAClC,oEAAoE,CACrE;SACA,MAAM,CAAC,KAAK,EAAE,eAAe,cAAc,EAAE,CAAC;SAC9C,QAAQ,EAAE;SACV,QAAQ,CACP,8EAA8E;QAC5E,0EAA0E;QAC1E,0EAA0E;QAC1E,6EAA6E;QAC7E,2EAA2E;QAC3E,qEAAqE;QACrE,8EAA8E;QAC9E,8DAA8D;QAC9D,+EAA+E;QAC/E,4EAA4E;QAC5E,4EAA4E;QAC5E,4EAA4E;QAC5E,yEAAyE;QACzE,0EAA0E;QAC1E,8EAA8E;QAC9E,6CAA6C;QAC7C,4EAA4E;QAC5E,wEAAwE;QACxE,0EAA0E;QAC1E,0EAA0E;QAC1E,sEAAsE;QACtE,6CAA6C,CAChD;IACH,QAAQ,EAAE,cAAc;SACrB,QAAQ,EAAE;SACV,QAAQ,CACP,oEAAoE;QAClE,+EAA+E;QAC/E,
|
|
1
|
+
{"version":3,"file":"tool-schemas.js","sourceRoot":"","sources":["../../src/mcp/tool-schemas.ts"],"names":[],"mappings":"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"}
|
package/dist/mcp/tools.d.ts
CHANGED
|
@@ -74,6 +74,16 @@ export interface RouteResponse {
|
|
|
74
74
|
* happened. It was not forwarded at all.
|
|
75
75
|
*/
|
|
76
76
|
modelHintDropped?: boolean;
|
|
77
|
+
/**
|
|
78
|
+
* What the picked route beat, best first, winner included — present only
|
|
79
|
+
* when the router chose. `reason` counts the candidates ("tier 1 best (3
|
|
80
|
+
* available)"); this says which three and by how much, so an automatic
|
|
81
|
+
* choice can be argued with instead of taken on faith.
|
|
82
|
+
*/
|
|
83
|
+
candidates?: Array<{
|
|
84
|
+
route: string;
|
|
85
|
+
score: number;
|
|
86
|
+
}>;
|
|
77
87
|
};
|
|
78
88
|
}
|
|
79
89
|
export interface FanoutItem {
|
|
@@ -164,5 +174,27 @@ export type InvokeResult = {
|
|
|
164
174
|
kind: "json";
|
|
165
175
|
data: unknown;
|
|
166
176
|
};
|
|
177
|
+
/**
|
|
178
|
+
* Near-miss top-level keys are caught by `mcp/near-miss-guard.ts`, not here.
|
|
179
|
+
*
|
|
180
|
+
* This is where the gap used to be documented. The MCP SDK validates against
|
|
181
|
+
* `z.object(dispatchInputShape)` before any code in this file runs, and zod
|
|
182
|
+
* STRIPS unknown keys — so by the time a handler sees the arguments, a
|
|
183
|
+
* misspelled key is already gone, and nothing in the registered-tool path can
|
|
184
|
+
* see what the caller actually sent. `hints` is `.strict()`, which is why the
|
|
185
|
+
* nested form was always rejected; the outer object cannot be, because MCP
|
|
186
|
+
* carries `_meta` there.
|
|
187
|
+
*
|
|
188
|
+
* An acceptance pass measured what that cost: `safteyProfile: "read_only"` was
|
|
189
|
+
* accepted in silence and the dispatch ran at the `workspace_edit` default,
|
|
190
|
+
* writing a file. Asking for read-only by way of a typo got you write access,
|
|
191
|
+
* while the HTTP surface refused the same input — one input, two opposite
|
|
192
|
+
* answers, which is the class the parity suite exists to end.
|
|
193
|
+
*
|
|
194
|
+
* The guard wraps the CallTool handler the SDK installs and inspects the raw
|
|
195
|
+
* arguments before delegating, so the SDK's routing, validation and `extra`
|
|
196
|
+
* plumbing are untouched. Both surfaces now run the same check from
|
|
197
|
+
* `near-miss.ts`, and `surface-parity.test.ts` asserts it on both.
|
|
198
|
+
*/
|
|
167
199
|
export declare function invokeTool(name: string, args: unknown, deps: ToolDeps): Promise<InvokeResult>;
|
|
168
200
|
//# sourceMappingURL=tools.d.ts.map
|
package/dist/mcp/tools.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../src/mcp/tools.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAkB,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AAC7F,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAKV,SAAS,EACT,QAAQ,EACR,eAAe,EACf,YAAY,EACb,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../src/mcp/tools.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAkB,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AAC7F,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAKV,SAAS,EACT,QAAQ,EACR,eAAe,EACf,YAAY,EACb,MAAM,aAAa,CAAC;AAKrB,OAAO,KAAK,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE/E,OAAO,EAOL,KAAK,SAAS,EACf,MAAM,YAAY,CAAC;AAKpB,OAAO,EAKL,kBAAkB,EAElB,mBAAmB,EAOpB,MAAM,mBAAmB,CAAC;AAW3B;;;;;;;;;;GAUG;AAGH,eAAO,MAAM,UAAU,sFAAuF,CAAC;AAE/G,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,6EAA6E;IAC7E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC/C,aAAa,CAAC,EAAE,SAAS,EAAE,CAAC;IAC5B,SAAS,CAAC,EAAE,YAAY,CAAC;IACzB,OAAO,CAAC,EAAE;QACR,IAAI,EAAE,MAAM,CAAC;QACb,UAAU,EAAE,MAAM,CAAC;QACnB,YAAY,EAAE,MAAM,CAAC;QACrB,aAAa,EAAE,MAAM,CAAC;QACtB,eAAe,EAAE,MAAM,CAAC;QACxB,QAAQ,EAAE,QAAQ,CAAC;QACnB,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,UAAU,EAAE,MAAM,CAAC;QACnB,MAAM,EAAE,MAAM,CAAC;QACf;;;;;;;WAOG;QACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;QAC3B;;;;;;;;WAQG;QACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;QAC3B;;;;;WAKG;QACH,UAAU,CAAC,EAAE,KAAK,CAAC;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KACtD,CAAC;CACH;AAED,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,mEAAmE;IACnE,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,YAAY,CAAC;IACzB,wDAAwD;IACxD,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,kGAAkG;AAClG,MAAM,MAAM,gBAAgB,GACxB,CAAC;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,IAAI,CAAA;CAAE,GAAG,aAAa,CAAC,GACpE;IACE,IAAI,EAAE,QAAQ,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,KAAK,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,GACD;IACE,IAAI,EAAE,QAAQ,CAAC;IACf,6DAA6D;IAC7D,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,aAAa,CAAC,EAAE,SAAS,EAAE,CAAC;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEN,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,EAAE,SAAS,CAAC;IAClB,uEAAuE;IACvE,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,+CAA+C;IAC/C,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,QAAQ;IACvB,MAAM,EAAE,aAAa,CAAC;IACtB,QAAQ,CAAC,EAAE,iBAAiB,CAAC;CAC9B;AAED,MAAM,WAAW,SAAS;IACxB,KAAK,CAAC,EAAE;QAAE,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtE,gBAAgB,CAAC,EAAE,CAAC,YAAY,EAAE,kBAAkB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACxE;AAqBD;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE;IAC9C,eAAe,CAAC,EAAE,eAAe,GAAG,SAAS,CAAC;IAC9C,KAAK,CAAC,EAAE;QAAE,eAAe,CAAC,EAAE,eAAe,GAAG,SAAS,CAAA;KAAE,GAAG,SAAS,CAAC;CACvE,GAAG,eAAe,GAAG,SAAS,CAE9B;AAsaD,wBAAsB,cAAc,CAClC,IAAI,EAAE,QAAQ,EACd,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,kBAAkB,CAAC,CAAC,EACtD,KAAK,CAAC,EAAE,SAAS,GAChB,OAAO,CAAC,OAAO,CAAC,CAYlB;AAKD,wBAAsB,eAAe,CAAC,IAAI,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,+CAEzF;AAED,wBAAsB,cAAc,CAClC,IAAI,EAAE,QAAQ,EACd,IAAI,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,8CAItD;AAED,wBAAsB,eAAe,CAAC,IAAI,EAAE;IAC1C,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;IACrC,KAAK,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAC7B,oBAEA;AAED,wBAAsB,eAAe,CACnC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,mBAAmB,CAAC,CAAC,GACtD,OAAO,CAAC,OAAO,CAAC,CAqBlB;AAoED,wBAAgB,aAAa,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,GAAG,IAAI,CAuHrE;AAED,MAAM,MAAM,YAAY,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,OAAO,CAAA;CAAE,CAAC;AAE3D;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,wBAAsB,UAAU,CAC9B,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,OAAO,EACb,IAAI,EAAE,QAAQ,GACb,OAAO,CAAC,YAAY,CAAC,CA0BvB"}
|
package/dist/mcp/tools.js
CHANGED
|
@@ -148,6 +148,9 @@ function routeResponse(result, decision, workingDirWarningMessage) {
|
|
|
148
148
|
if (decision.modelHintDropped !== undefined) {
|
|
149
149
|
response.routing.modelHintDropped = decision.modelHintDropped;
|
|
150
150
|
}
|
|
151
|
+
if (decision.candidates !== undefined && decision.candidates.length > 0) {
|
|
152
|
+
response.routing.candidates = decision.candidates;
|
|
153
|
+
}
|
|
151
154
|
if (decision.skippedRoutes !== undefined && decision.skippedRoutes.length > 0) {
|
|
152
155
|
response.skippedRoutes = decision.skippedRoutes;
|
|
153
156
|
}
|
|
@@ -339,6 +342,22 @@ async function startFanout(deps, input, extra) {
|
|
|
339
342
|
continue;
|
|
340
343
|
candidates.push(routeName);
|
|
341
344
|
}
|
|
345
|
+
// Nothing can run. Same rule as the two refusals above — a refusal must not
|
|
346
|
+
// be success-shaped — and this was the one case still taking the vacuous
|
|
347
|
+
// path: `completed` is `every()` over an empty array, so an all-blocked
|
|
348
|
+
// fanout answered `{ completed: true, results: [] }` with the reasons tucked
|
|
349
|
+
// into `skippedRoutes`, on the field the tool description tells agents to
|
|
350
|
+
// branch on.
|
|
351
|
+
//
|
|
352
|
+
// The unmatched-name guard above throws for a name matching NO route, so the
|
|
353
|
+
// same user mistake produced two opposite shapes depending on whether the
|
|
354
|
+
// route they named happens to exist and be disabled. Both are "you asked for
|
|
355
|
+
// routes and none of them can run".
|
|
356
|
+
if (candidates.length === 0) {
|
|
357
|
+
const why = skippedRoutes.map((s) => `${s.route}: ${s.message}`).join("; ");
|
|
358
|
+
throw new Error(`No fanout route can run this request${why ? ` — ${why}` : ""}. ` +
|
|
359
|
+
`Check \`usage\` for route readiness, or adjust models/safetyProfile/routePolicy.`);
|
|
360
|
+
}
|
|
342
361
|
const prompt = input.prompt;
|
|
343
362
|
const files = input.files ?? [];
|
|
344
363
|
const live = { value: true };
|
|
@@ -615,6 +634,28 @@ export function registerTools(server, deps) {
|
|
|
615
634
|
inputSchema: usageInputShape,
|
|
616
635
|
}, async (args) => jsonText(await handleUsage(deps, args)));
|
|
617
636
|
}
|
|
637
|
+
/**
|
|
638
|
+
* Near-miss top-level keys are caught by `mcp/near-miss-guard.ts`, not here.
|
|
639
|
+
*
|
|
640
|
+
* This is where the gap used to be documented. The MCP SDK validates against
|
|
641
|
+
* `z.object(dispatchInputShape)` before any code in this file runs, and zod
|
|
642
|
+
* STRIPS unknown keys — so by the time a handler sees the arguments, a
|
|
643
|
+
* misspelled key is already gone, and nothing in the registered-tool path can
|
|
644
|
+
* see what the caller actually sent. `hints` is `.strict()`, which is why the
|
|
645
|
+
* nested form was always rejected; the outer object cannot be, because MCP
|
|
646
|
+
* carries `_meta` there.
|
|
647
|
+
*
|
|
648
|
+
* An acceptance pass measured what that cost: `safteyProfile: "read_only"` was
|
|
649
|
+
* accepted in silence and the dispatch ran at the `workspace_edit` default,
|
|
650
|
+
* writing a file. Asking for read-only by way of a typo got you write access,
|
|
651
|
+
* while the HTTP surface refused the same input — one input, two opposite
|
|
652
|
+
* answers, which is the class the parity suite exists to end.
|
|
653
|
+
*
|
|
654
|
+
* The guard wraps the CallTool handler the SDK installs and inspects the raw
|
|
655
|
+
* arguments before delegating, so the SDK's routing, validation and `extra`
|
|
656
|
+
* plumbing are untouched. Both surfaces now run the same check from
|
|
657
|
+
* `near-miss.ts`, and `surface-parity.test.ts` asserts it on both.
|
|
658
|
+
*/
|
|
618
659
|
export async function invokeTool(name, args, deps) {
|
|
619
660
|
if (name === "dispatch") {
|
|
620
661
|
const parsed = z.object(dispatchInputShape).parse(args);
|
package/dist/mcp/tools.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/mcp/tools.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/mcp/tools.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Is the MCP client on this machine still pointing at something that exists?
|
|
3
|
+
*
|
|
4
|
+
* WHY THIS EXISTS. A client that cannot spawn its server does not report an
|
|
5
|
+
* error — it just has no tools, which looks exactly like not having installed
|
|
6
|
+
* anything. On the maintainer's machine that state lasted from a repo rename
|
|
7
|
+
* until someone happened to read the config: Claude Code was launching
|
|
8
|
+
* `harness-router/dist/bin.js`, a path deleted months earlier, and a
|
|
9
|
+
* SessionStart hook pointed at the same dead directory. Both failed silently
|
|
10
|
+
* every session. Nothing in this tool could have told them, because nothing
|
|
11
|
+
* looked.
|
|
12
|
+
*
|
|
13
|
+
* READ ONLY. This inspects other applications' config files and never writes
|
|
14
|
+
* to them. A previous version of this project DID write to a user's global
|
|
15
|
+
* config, was removed a version later, and left orphans behind that were still
|
|
16
|
+
* there seven minor versions on — which is the reason a reporting check comes
|
|
17
|
+
* first and a writing one may never come at all.
|
|
18
|
+
*/
|
|
19
|
+
export interface ClientConfigLocation {
|
|
20
|
+
/** Stable id for flags and scripts: `--clients claude-code,cursor`. */
|
|
21
|
+
id: string;
|
|
22
|
+
/** Human name, for the doctor line. */
|
|
23
|
+
client: string;
|
|
24
|
+
file: string;
|
|
25
|
+
/**
|
|
26
|
+
* The object servers hang off in THIS client's file. Claude Code and Cursor
|
|
27
|
+
* both use `mcpServers`; VS Code uses `servers`. Carried per client rather
|
|
28
|
+
* than assumed, because assuming it is how a writer corrupts a format it
|
|
29
|
+
* has not seen.
|
|
30
|
+
*/
|
|
31
|
+
serversKey: string;
|
|
32
|
+
}
|
|
33
|
+
export interface ClientEntryReport {
|
|
34
|
+
client: string;
|
|
35
|
+
file: string;
|
|
36
|
+
/** The server key as it appears in that client's config. */
|
|
37
|
+
entry: string;
|
|
38
|
+
/**
|
|
39
|
+
* Paths this entry names that do not exist. Empty means nothing to report:
|
|
40
|
+
* either every path resolves, or the entry names none to check.
|
|
41
|
+
*/
|
|
42
|
+
missingPaths: string[];
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Only shapes actually read on a real machine.
|
|
46
|
+
*
|
|
47
|
+
* Claude Desktop and VS Code are deliberately absent: their formats are known
|
|
48
|
+
* to me from documentation rather than from a file I have opened, and VS Code
|
|
49
|
+
* uses a different key (`servers`, not `mcpServers`) — guessing at a config
|
|
50
|
+
* format is how you misreport someone's healthy setup as broken.
|
|
51
|
+
*/
|
|
52
|
+
export declare function clientConfigLocations(home?: string): ClientConfigLocation[];
|
|
53
|
+
/**
|
|
54
|
+
* Every harness-dispatch entry found across the clients on this machine, with
|
|
55
|
+
* any paths it names that are not there.
|
|
56
|
+
*
|
|
57
|
+
* A client with no config file, or no entry for this server, contributes
|
|
58
|
+
* nothing — not having installed it is not a fault. A config that will not
|
|
59
|
+
* parse is skipped rather than reported: it is that application's problem, and
|
|
60
|
+
* this tool has no business grading someone else's JSON.
|
|
61
|
+
*/
|
|
62
|
+
export declare function inspectClientEntries(home?: string): ClientEntryReport[];
|
|
63
|
+
//# sourceMappingURL=mcp-clients.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcp-clients.d.ts","sourceRoot":"","sources":["../src/mcp-clients.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAMH,MAAM,WAAW,oBAAoB;IACnC,uEAAuE;IACvE,EAAE,EAAE,MAAM,CAAC;IACX,uCAAuC;IACvC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb;;;;;OAKG;IACH,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,4DAA4D;IAC5D,KAAK,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,GAAE,MAAkB,GAAG,oBAAoB,EAAE,CAetF;AAyCD;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,iBAAiB,EAAE,CAkBvE"}
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Is the MCP client on this machine still pointing at something that exists?
|
|
3
|
+
*
|
|
4
|
+
* WHY THIS EXISTS. A client that cannot spawn its server does not report an
|
|
5
|
+
* error — it just has no tools, which looks exactly like not having installed
|
|
6
|
+
* anything. On the maintainer's machine that state lasted from a repo rename
|
|
7
|
+
* until someone happened to read the config: Claude Code was launching
|
|
8
|
+
* `harness-router/dist/bin.js`, a path deleted months earlier, and a
|
|
9
|
+
* SessionStart hook pointed at the same dead directory. Both failed silently
|
|
10
|
+
* every session. Nothing in this tool could have told them, because nothing
|
|
11
|
+
* looked.
|
|
12
|
+
*
|
|
13
|
+
* READ ONLY. This inspects other applications' config files and never writes
|
|
14
|
+
* to them. A previous version of this project DID write to a user's global
|
|
15
|
+
* config, was removed a version later, and left orphans behind that were still
|
|
16
|
+
* there seven minor versions on — which is the reason a reporting check comes
|
|
17
|
+
* first and a writing one may never come at all.
|
|
18
|
+
*/
|
|
19
|
+
import { existsSync, readFileSync } from "node:fs";
|
|
20
|
+
import { homedir } from "node:os";
|
|
21
|
+
import path from "node:path";
|
|
22
|
+
/**
|
|
23
|
+
* Only shapes actually read on a real machine.
|
|
24
|
+
*
|
|
25
|
+
* Claude Desktop and VS Code are deliberately absent: their formats are known
|
|
26
|
+
* to me from documentation rather than from a file I have opened, and VS Code
|
|
27
|
+
* uses a different key (`servers`, not `mcpServers`) — guessing at a config
|
|
28
|
+
* format is how you misreport someone's healthy setup as broken.
|
|
29
|
+
*/
|
|
30
|
+
export function clientConfigLocations(home = homedir()) {
|
|
31
|
+
return [
|
|
32
|
+
{
|
|
33
|
+
id: "claude-code",
|
|
34
|
+
client: "Claude Code",
|
|
35
|
+
file: path.join(home, ".claude.json"),
|
|
36
|
+
serversKey: "mcpServers",
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
id: "cursor",
|
|
40
|
+
client: "Cursor",
|
|
41
|
+
file: path.join(home, ".cursor", "mcp.json"),
|
|
42
|
+
serversKey: "mcpServers",
|
|
43
|
+
},
|
|
44
|
+
];
|
|
45
|
+
}
|
|
46
|
+
/** An arg that looks like a filesystem path rather than a flag or a bare command. */
|
|
47
|
+
function looksLikePath(value) {
|
|
48
|
+
if (value.startsWith("-"))
|
|
49
|
+
return false;
|
|
50
|
+
return value.includes("/") || value.includes("\\");
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* A bare command — `npx`, `harness-dispatch`, `node` — is NOT checked.
|
|
54
|
+
*
|
|
55
|
+
* Resolving it means replicating PATH lookup and shims, and getting that wrong
|
|
56
|
+
* would report a working install as broken. The failure this check exists for
|
|
57
|
+
* is an absolute path to a directory that has been renamed or deleted, which
|
|
58
|
+
* needs none of that.
|
|
59
|
+
*/
|
|
60
|
+
function missingPathsIn(entry) {
|
|
61
|
+
if (!entry || typeof entry !== "object")
|
|
62
|
+
return [];
|
|
63
|
+
const e = entry;
|
|
64
|
+
const candidates = [];
|
|
65
|
+
for (const v of [e.command, e.cwd]) {
|
|
66
|
+
if (typeof v === "string" && looksLikePath(v))
|
|
67
|
+
candidates.push(v);
|
|
68
|
+
}
|
|
69
|
+
if (Array.isArray(e.args)) {
|
|
70
|
+
for (const a of e.args) {
|
|
71
|
+
if (typeof a === "string" && looksLikePath(a))
|
|
72
|
+
candidates.push(a);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
return candidates.filter((p) => !existsSync(p));
|
|
76
|
+
}
|
|
77
|
+
/** Does this entry appear to be OUR server, by key or by what it launches? */
|
|
78
|
+
function isHarnessDispatch(key, entry) {
|
|
79
|
+
if (/harness[-_]?(dispatch|router)/i.test(key))
|
|
80
|
+
return true;
|
|
81
|
+
const e = entry;
|
|
82
|
+
const args = Array.isArray(e?.args) ? e.args : [];
|
|
83
|
+
return [e?.command, ...args].some((v) => typeof v === "string" && /harness[-_]?(dispatch|router)/i.test(v));
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Every harness-dispatch entry found across the clients on this machine, with
|
|
87
|
+
* any paths it names that are not there.
|
|
88
|
+
*
|
|
89
|
+
* A client with no config file, or no entry for this server, contributes
|
|
90
|
+
* nothing — not having installed it is not a fault. A config that will not
|
|
91
|
+
* parse is skipped rather than reported: it is that application's problem, and
|
|
92
|
+
* this tool has no business grading someone else's JSON.
|
|
93
|
+
*/
|
|
94
|
+
export function inspectClientEntries(home) {
|
|
95
|
+
const out = [];
|
|
96
|
+
for (const { client, file, serversKey } of clientConfigLocations(home)) {
|
|
97
|
+
if (!existsSync(file))
|
|
98
|
+
continue;
|
|
99
|
+
let parsed;
|
|
100
|
+
try {
|
|
101
|
+
parsed = JSON.parse(readFileSync(file, "utf8"));
|
|
102
|
+
}
|
|
103
|
+
catch {
|
|
104
|
+
continue;
|
|
105
|
+
}
|
|
106
|
+
const servers = parsed?.[serversKey];
|
|
107
|
+
if (!servers || typeof servers !== "object")
|
|
108
|
+
continue;
|
|
109
|
+
for (const [key, entry] of Object.entries(servers)) {
|
|
110
|
+
if (!isHarnessDispatch(key, entry))
|
|
111
|
+
continue;
|
|
112
|
+
out.push({ client, file, entry: key, missingPaths: missingPathsIn(entry) });
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
return out;
|
|
116
|
+
}
|
|
117
|
+
//# sourceMappingURL=mcp-clients.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcp-clients.js","sourceRoot":"","sources":["../src/mcp-clients.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* "Did you mean…" for a top-level key that is one typo from a hint name.
|
|
3
|
+
*
|
|
4
|
+
* WHY THIS EXISTS. Neither surface's outer object can be strict — MCP carries
|
|
5
|
+
* `_meta`, and the HTTP surface must tolerate OpenAI's own fields — so an
|
|
6
|
+
* unknown top-level key was accepted and dropped on both. The named traps in
|
|
7
|
+
* mcp/tool-schemas.ts and http/parse.ts catch the snake_case spellings, which
|
|
8
|
+
* are the predictable slip. A plain typo is not enumerable and had the same
|
|
9
|
+
* consequence: `safteyProfile` returned success and the dispatch ran at the
|
|
10
|
+
* default `workspace_edit` — more access than the caller asked for, with no
|
|
11
|
+
* signal — while the correct spelling produced `read_only`.
|
|
12
|
+
*
|
|
13
|
+
* ONE COPY ON PURPOSE. This file exists because the alternative is the same
|
|
14
|
+
* rule written twice, and tool-schemas.ts already records where that leads:
|
|
15
|
+
* "Three independent copies of one rule is how they diverged". The surfaces
|
|
16
|
+
* disagreeing about which keys are typos would be exactly the "same input, two
|
|
17
|
+
* answers" class the parity suite was built to end.
|
|
18
|
+
*/
|
|
19
|
+
/** The hint names a caller can plausibly mistype at the top level. */
|
|
20
|
+
export declare const HINT_KEY_NAMES: readonly ["safetyProfile", "routePolicy", "taskType", "workspacePolicy", "preferLargeContext", "timeoutMs", "workingDir"];
|
|
21
|
+
/**
|
|
22
|
+
* The hint name this key is one typo away from, or undefined.
|
|
23
|
+
*
|
|
24
|
+
* Returns undefined for an exact match: that is a correct key, not a near miss.
|
|
25
|
+
*/
|
|
26
|
+
export declare function nearMissHintKey(key: string): string | undefined;
|
|
27
|
+
/**
|
|
28
|
+
* One typo apart: an insertion, deletion, substitution, or a swap of two
|
|
29
|
+
* adjacent characters.
|
|
30
|
+
*
|
|
31
|
+
* The swap is not an extra. `safteyProfile` is the exact spelling an acceptance
|
|
32
|
+
* pass typed, and plain edit distance scores a transposition as TWO
|
|
33
|
+
* substitutions — so a rule without it misses the case it was written for.
|
|
34
|
+
*
|
|
35
|
+
* Deliberately tight in the other direction too: at a true distance of two,
|
|
36
|
+
* short field names from the OpenAI protocol start matching, and refusing a
|
|
37
|
+
* legitimate request would be its own defect.
|
|
38
|
+
*/
|
|
39
|
+
export declare function withinOneTypo(a: string, b: string): boolean;
|
|
40
|
+
export type NearMissSurface = "mcp" | "http";
|
|
41
|
+
/**
|
|
42
|
+
* The message both surfaces give — same RULE, correct advice for each.
|
|
43
|
+
*
|
|
44
|
+
* The rule is shared on purpose (see this file's header). The advice cannot
|
|
45
|
+
* be: a single "did you mean X?" sent the caller somewhere the surface would
|
|
46
|
+
* refuse or ignore, which is the failure `tool-schemas.ts` already records
|
|
47
|
+
* from its own snake_case traps — "a refusal that confidently points at the
|
|
48
|
+
* wrong landing spot costs the round trip it exists to save". An acceptance
|
|
49
|
+
* pass measured the new message repeating it: correcting `safteyProfile` to
|
|
50
|
+
* `safetyProfile` on MCP `dispatch` produced a SECOND rejection, because the
|
|
51
|
+
* corrected spelling is a trap at that level.
|
|
52
|
+
*
|
|
53
|
+
* `toolName` is MCP-only and names the tool the call was for. On a tool that
|
|
54
|
+
* takes no hints at all — `job_status`, `usage`, `cancel_job`, `retry_job`,
|
|
55
|
+
* `workspace` — the corrected spelling is simply not a field, and the old
|
|
56
|
+
* message's "the dispatch runs with MORE access than you asked for" was false
|
|
57
|
+
* on every one of them: none of them dispatch anything.
|
|
58
|
+
*/
|
|
59
|
+
export declare function nearMissMessage(key: string, meant: string, opts?: {
|
|
60
|
+
surface: NearMissSurface;
|
|
61
|
+
toolName?: string;
|
|
62
|
+
}): string;
|
|
63
|
+
//# sourceMappingURL=near-miss.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"near-miss.d.ts","sourceRoot":"","sources":["../src/near-miss.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,sEAAsE;AACtE,eAAO,MAAM,cAAc,2HAQjB,CAAC;AAEX;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAG/D;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAmB3D;AAyBD,MAAM,MAAM,eAAe,GAAG,KAAK,GAAG,MAAM,CAAC;AAE7C;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,eAAe,CAC7B,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,EACb,IAAI,GAAE;IAAE,OAAO,EAAE,eAAe,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAwB,GAC1E,MAAM,CAiBR"}
|