@codespar/types 0.10.5 → 0.10.7

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.
@@ -0,0 +1,434 @@
1
+ /**
2
+ * Unit tests for the meta-tool conformance kit.
3
+ *
4
+ * The kit's value is its pass/fail logic: a conforming implementation
5
+ * passes, and an implementation that violates a wire shape, an action-state
6
+ * rule, or an error rule fails — with a violation naming the specific
7
+ * breach. We prove that two ways without a real backend:
8
+ *
9
+ * 1. The pure verification core (`checkWireShape`, `checkActionResult`,
10
+ * `checkUnregisteredError`, `checkMalformedError`) is exercised
11
+ * directly against hand-built conforming and violating envelopes.
12
+ * 2. The live suite (`runMetaToolConformanceSuite`) is run end-to-end
13
+ * against a FAKE backend (a stubbed `fetch`), asserting that a
14
+ * conforming fake registers passing cases and a fake that breaks each
15
+ * rule registers a failing case carrying the right violation.
16
+ */
17
+ import { describe, it, expect, vi, afterEach } from "vitest";
18
+ import { SHOP_CONTRACT, DISCOVER_CONTRACT } from "../meta-tool-contract.js";
19
+ import { fieldMatches, checkWireShape, checkActionResult, checkSingleShotResult, checkUnregisteredError, checkMalformedError, formatViolations, } from "./conformance-kit.js";
20
+ /* ── fieldMatches ────────────────────────────────────────────── */
21
+ describe("fieldMatches", () => {
22
+ it("matches each JSON-value kind", () => {
23
+ expect(fieldMatches({ name: "x", kind: "string" }, "a")).toBe(true);
24
+ expect(fieldMatches({ name: "x", kind: "number" }, 1)).toBe(true);
25
+ expect(fieldMatches({ name: "x", kind: "boolean" }, true)).toBe(true);
26
+ expect(fieldMatches({ name: "x", kind: "array" }, [])).toBe(true);
27
+ expect(fieldMatches({ name: "x", kind: "object" }, {})).toBe(true);
28
+ });
29
+ it("rejects mismatched kinds", () => {
30
+ expect(fieldMatches({ name: "x", kind: "string" }, 1)).toBe(false);
31
+ expect(fieldMatches({ name: "x", kind: "number" }, "1")).toBe(false);
32
+ expect(fieldMatches({ name: "x", kind: "array" }, {})).toBe(false);
33
+ expect(fieldMatches({ name: "x", kind: "object" }, [])).toBe(false);
34
+ expect(fieldMatches({ name: "x", kind: "object" }, null)).toBe(false);
35
+ });
36
+ it("constrains string-enum to the closed value set", () => {
37
+ const rule = {
38
+ name: "status",
39
+ kind: "string-enum",
40
+ values: ["in_progress", "ready_for_payment"],
41
+ };
42
+ expect(fieldMatches(rule, "ready_for_payment")).toBe(true);
43
+ expect(fieldMatches(rule, "canceled")).toBe(false);
44
+ expect(fieldMatches(rule, 1)).toBe(false);
45
+ });
46
+ });
47
+ /* ── checkWireShape ──────────────────────────────────────────── */
48
+ describe("checkWireShape", () => {
49
+ const shape = {
50
+ name: "ShopSearchResult",
51
+ fields: [
52
+ { name: "rail", kind: "string" },
53
+ { name: "products", kind: "array" },
54
+ ],
55
+ };
56
+ it("passes a conforming object", () => {
57
+ expect(checkWireShape(shape, { rail: "vtex", products: [] })).toEqual([]);
58
+ });
59
+ it("allows extra optional fields beyond the shape (subset-shape)", () => {
60
+ expect(checkWireShape(shape, { rail: "vtex", products: [], extra: 7 })).toEqual([]);
61
+ });
62
+ it("flags a missing required field with the field name", () => {
63
+ const violations = checkWireShape(shape, { rail: "vtex" });
64
+ expect(violations).toHaveLength(1);
65
+ expect(violations[0].code).toBe("wire-shape");
66
+ expect(violations[0].detail).toContain("ShopSearchResult.products");
67
+ expect(violations[0].detail).toContain("missing");
68
+ });
69
+ it("flags a wrong-typed field with expected vs got", () => {
70
+ const violations = checkWireShape(shape, { rail: 7, products: [] });
71
+ expect(violations).toHaveLength(1);
72
+ expect(violations[0].detail).toContain("ShopSearchResult.rail");
73
+ expect(violations[0].detail).toContain("expected string");
74
+ });
75
+ it("flags a non-object as a single violation", () => {
76
+ expect(checkWireShape(shape, "nope")[0].detail).toContain("expected an object");
77
+ expect(checkWireShape(shape, [])[0].detail).toContain("expected an object");
78
+ });
79
+ it("skips an absent optional field", () => {
80
+ const optShape = {
81
+ name: "S",
82
+ fields: [{ name: "maybe", kind: "string", required: false }],
83
+ };
84
+ expect(checkWireShape(optShape, {})).toEqual([]);
85
+ });
86
+ });
87
+ /* ── checkActionResult ───────────────────────────────────────── */
88
+ function okResult(data) {
89
+ return {
90
+ success: true,
91
+ data,
92
+ error: "",
93
+ duration: 1,
94
+ server: "fake",
95
+ tool: "codespar_shop",
96
+ };
97
+ }
98
+ function errResult(error) {
99
+ return {
100
+ success: false,
101
+ data: {},
102
+ error,
103
+ duration: 0,
104
+ server: "fake",
105
+ tool: "codespar_shop",
106
+ };
107
+ }
108
+ describe("checkActionResult", () => {
109
+ it("passes a conforming shop search result", () => {
110
+ const result = okResult({ rail: "vtex", products: [] });
111
+ expect(checkActionResult(SHOP_CONTRACT, "search", result)).toEqual([]);
112
+ });
113
+ it("flags a checkout result whose status is outside the enum", () => {
114
+ // checkout must return status "in_progress" only.
115
+ const result = okResult({
116
+ checkout_session_id: "cks_1",
117
+ status: "ready_for_payment",
118
+ });
119
+ const violations = checkActionResult(SHOP_CONTRACT, "checkout", result);
120
+ expect(violations).toHaveLength(1);
121
+ expect(violations[0].code).toBe("wire-shape");
122
+ expect(violations[0].detail).toContain("status");
123
+ expect(violations[0].detail).toContain("in_progress");
124
+ });
125
+ it("passes the terminal ready_for_payment checkout_status", () => {
126
+ const result = okResult({
127
+ checkout_session_id: "cks_1",
128
+ status: "ready_for_payment",
129
+ });
130
+ expect(checkActionResult(SHOP_CONTRACT, "checkout_status", result)).toEqual([]);
131
+ });
132
+ it("flags a checkout_status whose status is not a known state", () => {
133
+ const result = okResult({
134
+ checkout_session_id: "cks_1",
135
+ status: "exploded",
136
+ });
137
+ const violations = checkActionResult(SHOP_CONTRACT, "checkout_status", result);
138
+ expect(violations[0].detail).toContain("status");
139
+ });
140
+ it("flags a success-expected action that returned an error", () => {
141
+ const violations = checkActionResult(SHOP_CONTRACT, "search", errResult("boom"));
142
+ expect(violations).toHaveLength(1);
143
+ expect(violations[0].code).toBe("action-state");
144
+ expect(violations[0].detail).toContain("boom");
145
+ });
146
+ it("flags an action that is not in the state machine", () => {
147
+ const violations = checkActionResult(SHOP_CONTRACT, "teleport", okResult({}));
148
+ expect(violations[0].code).toBe("action-state");
149
+ expect(violations[0].detail).toContain("teleport");
150
+ });
151
+ });
152
+ /* ── checkSingleShotResult (the Fix #1 teeth) ────────────────── */
153
+ describe("checkSingleShotResult", () => {
154
+ const conformingDiscover = okResult({
155
+ use_case: "buy cat food",
156
+ search_strategy: "embedding",
157
+ recommended: null,
158
+ related: [],
159
+ next_steps: [],
160
+ });
161
+ it("passes a conforming DiscoverResult", () => {
162
+ expect(checkSingleShotResult(DISCOVER_CONTRACT, conformingDiscover)).toEqual([]);
163
+ });
164
+ it("flags a scalar result that succeeded but is not the wire shape", () => {
165
+ // The exact hole the validation spike found: a single-shot tool
166
+ // returning `output: 42` used to pass on success alone.
167
+ const violations = checkSingleShotResult(DISCOVER_CONTRACT, okResult(42));
168
+ expect(violations.length).toBeGreaterThan(0);
169
+ expect(violations[0].code).toBe("wire-shape");
170
+ expect(violations[0].detail).toContain("expected an object");
171
+ });
172
+ it("flags a missing required field", () => {
173
+ const violations = checkSingleShotResult(DISCOVER_CONTRACT, okResult({
174
+ use_case: "x",
175
+ search_strategy: "embedding",
176
+ related: [],
177
+ // next_steps missing
178
+ }));
179
+ expect(violations[0].code).toBe("wire-shape");
180
+ expect(violations[0].detail).toContain("DiscoverResult.next_steps");
181
+ });
182
+ it("flags a search_strategy outside the enum", () => {
183
+ const violations = checkSingleShotResult(DISCOVER_CONTRACT, okResult({
184
+ use_case: "x",
185
+ search_strategy: "vibes",
186
+ recommended: null,
187
+ related: [],
188
+ next_steps: [],
189
+ }));
190
+ expect(violations[0].detail).toContain("search_strategy");
191
+ });
192
+ it("flags a success-expected single-shot tool that returned an error", () => {
193
+ const violations = checkSingleShotResult(DISCOVER_CONTRACT, errResult("boom"));
194
+ expect(violations[0].code).toBe("wire-shape");
195
+ expect(violations[0].detail).toContain("boom");
196
+ });
197
+ });
198
+ /* ── error rules ─────────────────────────────────────────────── */
199
+ describe("checkUnregisteredError", () => {
200
+ it("passes the canonical 'Tool not registered' envelope", () => {
201
+ const result = errResult("Tool not registered: codespar_shop__probe");
202
+ expect(checkUnregisteredError(SHOP_CONTRACT, result)).toEqual([]);
203
+ });
204
+ it("flags a success result where an unregistered error was due", () => {
205
+ const violations = checkUnregisteredError(SHOP_CONTRACT, okResult({}));
206
+ expect(violations[0].code).toBe("error-unregistered");
207
+ expect(violations[0].detail).toContain("success result");
208
+ });
209
+ it("flags the wrong error message", () => {
210
+ const violations = checkUnregisteredError(SHOP_CONTRACT, errResult("404: not found"));
211
+ expect(violations[0].code).toBe("error-unregistered");
212
+ expect(violations[0].detail).toContain("Tool not registered");
213
+ });
214
+ });
215
+ describe("checkMalformedError", () => {
216
+ it("passes a typed error envelope", () => {
217
+ expect(checkMalformedError(SHOP_CONTRACT, errResult("query: required"))).toEqual([]);
218
+ });
219
+ it("flags a success result for malformed input", () => {
220
+ const violations = checkMalformedError(SHOP_CONTRACT, okResult({}));
221
+ expect(violations[0].code).toBe("error-malformed");
222
+ expect(violations[0].detail).toContain("success result");
223
+ });
224
+ it("flags an empty error string", () => {
225
+ const violations = checkMalformedError(SHOP_CONTRACT, errResult(""));
226
+ expect(violations[0].code).toBe("error-malformed");
227
+ });
228
+ });
229
+ describe("formatViolations", () => {
230
+ it("renders 'no violations' for an empty list", () => {
231
+ expect(formatViolations([])).toBe("no violations");
232
+ });
233
+ it("joins violations with their codes", () => {
234
+ const vs = [
235
+ { code: "wire-shape", detail: "a" },
236
+ { code: "action-state", detail: "b" },
237
+ ];
238
+ expect(formatViolations(vs)).toBe("[wire-shape] a; [action-state] b");
239
+ });
240
+ });
241
+ /** Install a `fetch` stub that routes session-create/execute/delete to a
242
+ * fake backend's `execute`. Returns a teardown. */
243
+ function installFakeBackend(execute) {
244
+ const stub = vi.fn(async (url, init) => {
245
+ const u = String(url);
246
+ if (u.endsWith("/v1/sessions") && init?.method === "POST") {
247
+ return jsonResponse({ id: "sess_fake", status: "active" });
248
+ }
249
+ if (u.includes("/execute")) {
250
+ const body = JSON.parse(String(init?.body ?? "{}"));
251
+ return jsonResponse(execute(body.tool, body.input ?? {}));
252
+ }
253
+ // DELETE close
254
+ return jsonResponse({});
255
+ });
256
+ const original = globalThis.fetch;
257
+ globalThis.fetch = stub;
258
+ return () => {
259
+ globalThis.fetch = original;
260
+ };
261
+ }
262
+ function jsonResponse(body) {
263
+ return new Response(JSON.stringify(body), {
264
+ status: 200,
265
+ headers: { "Content-Type": "application/json" },
266
+ });
267
+ }
268
+ /** Run the suite under a mocked Vitest that executes each registered `it`
269
+ * body and records pass/fail (a thrown/rejected assertion = fail). Returns
270
+ * one entry per registered case. */
271
+ async function runSuiteAndCollect(tool) {
272
+ vi.resetModules();
273
+ const cases = [];
274
+ const afterEachFns = [];
275
+ // Real expect so assertions actually fire inside the case bodies.
276
+ const realExpect = (await vi.importActual("vitest")).expect;
277
+ vi.doMock("vitest", () => ({
278
+ describe: (_name, fn) => fn(),
279
+ it: (name, fn) => {
280
+ cases.push(async () => {
281
+ try {
282
+ await fn();
283
+ return { name, passed: true };
284
+ }
285
+ catch (err) {
286
+ return {
287
+ name,
288
+ passed: false,
289
+ error: err instanceof Error ? err.message : String(err),
290
+ };
291
+ }
292
+ finally {
293
+ for (const a of afterEachFns)
294
+ await a();
295
+ }
296
+ });
297
+ },
298
+ afterEach: (fn) => {
299
+ afterEachFns.push(fn);
300
+ },
301
+ expect: realExpect,
302
+ }));
303
+ const mod = await import("./conformance-kit.js");
304
+ mod.runMetaToolConformanceSuite("http://localhost:9999", "csk_test", { tool });
305
+ const results = [];
306
+ for (const c of cases)
307
+ results.push(await c());
308
+ vi.doUnmock("vitest");
309
+ return results;
310
+ }
311
+ /** A fully conforming fake backend for codespar_shop. */
312
+ const conformingShop = (tool, input) => {
313
+ if (tool.endsWith("__unregistered_probe")) {
314
+ return errResult(`Tool not registered: ${tool}`);
315
+ }
316
+ const action = input.action;
317
+ // Malformed: search with no query.
318
+ if (action === "search" && !input.query) {
319
+ return errResult("query: required");
320
+ }
321
+ if (action === "search")
322
+ return okResult({ rail: "vtex", products: [] });
323
+ if (action === "checkout") {
324
+ return okResult({ checkout_session_id: "cks_1", status: "in_progress" });
325
+ }
326
+ if (action === "checkout_status") {
327
+ return okResult({
328
+ checkout_session_id: "cks_1",
329
+ status: "ready_for_payment",
330
+ });
331
+ }
332
+ return errResult("unknown action");
333
+ };
334
+ describe("runMetaToolConformanceSuite against a fake backend", () => {
335
+ let teardown = null;
336
+ afterEach(() => {
337
+ teardown?.();
338
+ teardown = null;
339
+ });
340
+ it("a conforming fake passes every registered case", async () => {
341
+ teardown = installFakeBackend(conformingShop);
342
+ const results = await runSuiteAndCollect("codespar_shop");
343
+ const failures = results.filter((r) => !r.passed);
344
+ expect(failures, JSON.stringify(failures, null, 2)).toEqual([]);
345
+ // Sanity: it actually registered cases (3 actions + 2 error legs).
346
+ expect(results.length).toBe(5);
347
+ });
348
+ it("fails the wire-shape case when an action returns the wrong shape", async () => {
349
+ // search returns a number for `rail` — a wire-shape violation.
350
+ teardown = installFakeBackend((tool, input) => input.action === "search" && input.query
351
+ ? okResult({ rail: 7, products: [] })
352
+ : conformingShop(tool, input));
353
+ const results = await runSuiteAndCollect("codespar_shop");
354
+ const searchCase = results.find((r) => r.name.includes('"search"'));
355
+ expect(searchCase?.passed).toBe(false);
356
+ expect(searchCase?.error).toContain("ShopSearchResult.rail");
357
+ });
358
+ it("fails the action-state case when checkout reports a terminal status early", async () => {
359
+ teardown = installFakeBackend((tool, input) => input.action === "checkout"
360
+ ? okResult({ checkout_session_id: "cks_1", status: "ready_for_payment" })
361
+ : conformingShop(tool, input));
362
+ const results = await runSuiteAndCollect("codespar_shop");
363
+ const checkoutCase = results.find((r) => r.name.includes('"checkout"'));
364
+ expect(checkoutCase?.passed).toBe(false);
365
+ expect(checkoutCase?.error).toContain("status");
366
+ });
367
+ it("fails the unregistered-error case when the runtime swallows it", async () => {
368
+ teardown = installFakeBackend((tool, input) => tool.endsWith("__unregistered_probe")
369
+ ? okResult({ rail: "vtex", products: [] }) // wrongly succeeds
370
+ : conformingShop(tool, input));
371
+ const results = await runSuiteAndCollect("codespar_shop");
372
+ const unregCase = results.find((r) => r.name.includes("unregistered"));
373
+ expect(unregCase?.passed).toBe(false);
374
+ expect(unregCase?.error).toContain("error-unregistered");
375
+ });
376
+ it("fails the malformed-error case when the runtime accepts bad input", async () => {
377
+ teardown = installFakeBackend((tool, input) => input.action === "search" && !input.query
378
+ ? okResult({ rail: "vtex", products: [] }) // wrongly succeeds on empty query
379
+ : conformingShop(tool, input));
380
+ const results = await runSuiteAndCollect("codespar_shop");
381
+ const malformedCase = results.find((r) => r.name.includes("malformed"));
382
+ expect(malformedCase?.passed).toBe(false);
383
+ expect(malformedCase?.error).toContain("malformed input");
384
+ });
385
+ it("drives a single-shot tool (discover) with no state machine", async () => {
386
+ teardown = installFakeBackend((tool, input) => {
387
+ if (tool.endsWith("__unregistered_probe")) {
388
+ return {
389
+ ...errResult(`Tool not registered: ${tool}`),
390
+ tool,
391
+ };
392
+ }
393
+ // Malformed discover: empty input.
394
+ if (!input.use_case)
395
+ return errResult("use_case: required");
396
+ return okResult({
397
+ use_case: input.use_case,
398
+ search_strategy: "embedding",
399
+ recommended: null,
400
+ related: [],
401
+ next_steps: [],
402
+ });
403
+ });
404
+ const results = await runSuiteAndCollect("codespar_discover");
405
+ const failures = results.filter((r) => !r.passed);
406
+ expect(failures, JSON.stringify(failures, null, 2)).toEqual([]);
407
+ // 1 single-shot case + 2 error legs.
408
+ expect(results.length).toBe(3);
409
+ expect(DISCOVER_CONTRACT.stateMachine).toBeUndefined();
410
+ });
411
+ it("fails the single-shot case when a no-state-machine tool returns the wrong shape", async () => {
412
+ // Regression guard for the hollow-green hole: discover used to pass on
413
+ // `success: true` alone, so a scalar `output: 42` slipped through. With
414
+ // the descriptor's single-shot wire shape the case must now FAIL.
415
+ teardown = installFakeBackend((tool, input) => {
416
+ if (tool.endsWith("__unregistered_probe")) {
417
+ return { ...errResult(`Tool not registered: ${tool}`), tool };
418
+ }
419
+ if (!input.use_case)
420
+ return errResult("use_case: required");
421
+ // Succeeds, but the payload is a scalar — not a DiscoverResult.
422
+ return okResult(42);
423
+ });
424
+ const results = await runSuiteAndCollect("codespar_discover");
425
+ const happyPath = results.find((r) => r.name.includes("DiscoverResult"));
426
+ expect(happyPath?.passed).toBe(false);
427
+ expect(happyPath?.error).toContain("wire-shape");
428
+ expect(happyPath?.error).toContain("expected an object");
429
+ // The two error legs still pass — only the wire-shape teeth bite.
430
+ const otherFailures = results.filter((r) => !r.passed && !r.name.includes("DiscoverResult"));
431
+ expect(otherFailures, JSON.stringify(otherFailures, null, 2)).toEqual([]);
432
+ });
433
+ });
434
+ //# sourceMappingURL=conformance-kit.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"conformance-kit.test.js","sourceRoot":"","sources":["../../src/testing/conformance-kit.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAE7D,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC5E,OAAO,EACL,YAAY,EACZ,cAAc,EACd,iBAAiB,EACjB,qBAAqB,EACrB,sBAAsB,EACtB,mBAAmB,EACnB,gBAAgB,GAEjB,MAAM,sBAAsB,CAAC;AAE9B,oEAAoE;AAEpE,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;IAC5B,EAAE,CAAC,8BAA8B,EAAE,GAAG,EAAE;QACtC,MAAM,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpE,MAAM,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClE,MAAM,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtE,MAAM,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClE,MAAM,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0BAA0B,EAAE,GAAG,EAAE;QAClC,MAAM,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACnE,MAAM,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrE,MAAM,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACnE,MAAM,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACpE,MAAM,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACxE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;QACxD,MAAM,IAAI,GAAG;YACX,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,aAAsB;YAC5B,MAAM,EAAE,CAAC,aAAa,EAAE,mBAAmB,CAAC;SAC7C,CAAC;QACF,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3D,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACnD,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,oEAAoE;AAEpE,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;IAC9B,MAAM,KAAK,GAAG;QACZ,IAAI,EAAE,kBAAkB;QACxB,MAAM,EAAE;YACN,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAiB,EAAE;YACzC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,OAAgB,EAAE;SAC7C;KACF,CAAC;IAEF,EAAE,CAAC,4BAA4B,EAAE,GAAG,EAAE;QACpC,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC5E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8DAA8D,EAAE,GAAG,EAAE;QACtE,MAAM,CACJ,cAAc,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAChE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAChB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oDAAoD,EAAE,GAAG,EAAE;QAC5D,MAAM,UAAU,GAAG,cAAc,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QAC3D,MAAM,CAAC,UAAU,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACnC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC9C,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,2BAA2B,CAAC,CAAC;QACpE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;QACxD,MAAM,UAAU,GAAG,cAAc,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;QACpE,MAAM,CAAC,UAAU,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACnC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,uBAAuB,CAAC,CAAC;QAChE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0CAA0C,EAAE,GAAG,EAAE;QAClD,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,SAAS,CACvD,oBAAoB,CACrB,CAAC;QACF,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAC;IAC9E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;QACxC,MAAM,QAAQ,GAAG;YACf,IAAI,EAAE,GAAG;YACT,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,QAAiB,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;SACtE,CAAC;QACF,MAAM,CAAC,cAAc,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,oEAAoE;AAEpE,SAAS,QAAQ,CAAC,IAAa;IAC7B,OAAO;QACL,OAAO,EAAE,IAAI;QACb,IAAI;QACJ,KAAK,EAAE,EAAE;QACT,QAAQ,EAAE,CAAC;QACX,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,eAAe;KACtB,CAAC;AACJ,CAAC;AAED,SAAS,SAAS,CAAC,KAAa;IAC9B,OAAO;QACL,OAAO,EAAE,KAAK;QACd,IAAI,EAAE,EAAE;QACR,KAAK;QACL,QAAQ,EAAE,CAAC;QACX,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,eAAe;KACtB,CAAC;AACJ,CAAC;AAED,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;IACjC,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;QAChD,MAAM,MAAM,GAAG,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;QACxD,MAAM,CAAC,iBAAiB,CAAC,aAAa,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACzE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0DAA0D,EAAE,GAAG,EAAE;QAClE,kDAAkD;QAClD,MAAM,MAAM,GAAG,QAAQ,CAAC;YACtB,mBAAmB,EAAE,OAAO;YAC5B,MAAM,EAAE,mBAAmB;SAC5B,CAAC,CAAC;QACH,MAAM,UAAU,GAAG,iBAAiB,CAAC,aAAa,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;QACxE,MAAM,CAAC,UAAU,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACnC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC9C,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QACjD,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uDAAuD,EAAE,GAAG,EAAE;QAC/D,MAAM,MAAM,GAAG,QAAQ,CAAC;YACtB,mBAAmB,EAAE,OAAO;YAC5B,MAAM,EAAE,mBAAmB;SAC5B,CAAC,CAAC;QACH,MAAM,CACJ,iBAAiB,CAAC,aAAa,EAAE,iBAAiB,EAAE,MAAM,CAAC,CAC5D,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAChB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2DAA2D,EAAE,GAAG,EAAE;QACnE,MAAM,MAAM,GAAG,QAAQ,CAAC;YACtB,mBAAmB,EAAE,OAAO;YAC5B,MAAM,EAAE,UAAU;SACnB,CAAC,CAAC;QACH,MAAM,UAAU,GAAG,iBAAiB,CAClC,aAAa,EACb,iBAAiB,EACjB,MAAM,CACP,CAAC;QACF,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wDAAwD,EAAE,GAAG,EAAE;QAChE,MAAM,UAAU,GAAG,iBAAiB,CAClC,aAAa,EACb,QAAQ,EACR,SAAS,CAAC,MAAM,CAAC,CAClB,CAAC;QACF,MAAM,CAAC,UAAU,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACnC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAChD,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kDAAkD,EAAE,GAAG,EAAE;QAC1D,MAAM,UAAU,GAAG,iBAAiB,CAClC,aAAa,EACb,UAAU,EACV,QAAQ,CAAC,EAAE,CAAC,CACb,CAAC;QACF,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAChD,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,oEAAoE;AAEpE,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;IACrC,MAAM,kBAAkB,GAAG,QAAQ,CAAC;QAClC,QAAQ,EAAE,cAAc;QACxB,eAAe,EAAE,WAAW;QAC5B,WAAW,EAAE,IAAI;QACjB,OAAO,EAAE,EAAE;QACX,UAAU,EAAE,EAAE;KACf,CAAC,CAAC;IAEH,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE;QAC5C,MAAM,CAAC,qBAAqB,CAAC,iBAAiB,EAAE,kBAAkB,CAAC,CAAC,CAAC,OAAO,CAC1E,EAAE,CACH,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gEAAgE,EAAE,GAAG,EAAE;QACxE,gEAAgE;QAChE,wDAAwD;QACxD,MAAM,UAAU,GAAG,qBAAqB,CAAC,iBAAiB,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;QAC1E,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;QAC7C,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC9C,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAC;IAC/D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;QACxC,MAAM,UAAU,GAAG,qBAAqB,CACtC,iBAAiB,EACjB,QAAQ,CAAC;YACP,QAAQ,EAAE,GAAG;YACb,eAAe,EAAE,WAAW;YAC5B,OAAO,EAAE,EAAE;YACX,qBAAqB;SACtB,CAAC,CACH,CAAC;QACF,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC9C,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,2BAA2B,CAAC,CAAC;IACtE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0CAA0C,EAAE,GAAG,EAAE;QAClD,MAAM,UAAU,GAAG,qBAAqB,CACtC,iBAAiB,EACjB,QAAQ,CAAC;YACP,QAAQ,EAAE,GAAG;YACb,eAAe,EAAE,OAAO;YACxB,WAAW,EAAE,IAAI;YACjB,OAAO,EAAE,EAAE;YACX,UAAU,EAAE,EAAE;SACf,CAAC,CACH,CAAC;QACF,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kEAAkE,EAAE,GAAG,EAAE;QAC1E,MAAM,UAAU,GAAG,qBAAqB,CACtC,iBAAiB,EACjB,SAAS,CAAC,MAAM,CAAC,CAClB,CAAC;QACF,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC9C,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,oEAAoE;AAEpE,QAAQ,CAAC,wBAAwB,EAAE,GAAG,EAAE;IACtC,EAAE,CAAC,qDAAqD,EAAE,GAAG,EAAE;QAC7D,MAAM,MAAM,GAAG,SAAS,CAAC,2CAA2C,CAAC,CAAC;QACtE,MAAM,CAAC,sBAAsB,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACpE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4DAA4D,EAAE,GAAG,EAAE;QACpE,MAAM,UAAU,GAAG,sBAAsB,CAAC,aAAa,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;QACvE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QACtD,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;QACvC,MAAM,UAAU,GAAG,sBAAsB,CACvC,aAAa,EACb,SAAS,CAAC,gBAAgB,CAAC,CAC5B,CAAC;QACF,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QACtD,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,qBAAqB,CAAC,CAAC;IAChE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;IACnC,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;QACvC,MAAM,CACJ,mBAAmB,CAAC,aAAa,EAAE,SAAS,CAAC,iBAAiB,CAAC,CAAC,CACjE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAChB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;QACpD,MAAM,UAAU,GAAG,mBAAmB,CAAC,aAAa,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;QACpE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QACnD,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6BAA6B,EAAE,GAAG,EAAE;QACrC,MAAM,UAAU,GAAG,mBAAmB,CAAC,aAAa,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;QACrE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAChC,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE;QACnD,MAAM,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mCAAmC,EAAE,GAAG,EAAE;QAC3C,MAAM,EAAE,GAAgB;YACtB,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG,EAAE;YACnC,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,GAAG,EAAE;SACtC,CAAC;QACF,MAAM,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;IACxE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAcH;oDACoD;AACpD,SAAS,kBAAkB,CAAC,OAAoB;IAC9C,MAAM,IAAI,GAAG,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,GAAiB,EAAE,IAAkB,EAAE,EAAE;QACjE,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QACtB,IAAI,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,IAAI,EAAE,MAAM,KAAK,MAAM,EAAE,CAAC;YAC1D,OAAO,YAAY,CAAC,EAAE,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC7D,CAAC;QACD,IAAI,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;YAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,IAAI,IAAI,CAAC,CAGjD,CAAC;YACF,OAAO,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC;QAC5D,CAAC;QACD,eAAe;QACf,OAAO,YAAY,CAAC,EAAE,CAAC,CAAC;IAC1B,CAAC,CAAC,CAAC;IACH,MAAM,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC;IAClC,UAAU,CAAC,KAAK,GAAG,IAA+B,CAAC;IACnD,OAAO,GAAG,EAAE;QACV,UAAU,CAAC,KAAK,GAAG,QAAQ,CAAC;IAC9B,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,IAAa;IACjC,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;QACxC,MAAM,EAAE,GAAG;QACX,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;KAChD,CAAC,CAAC;AACL,CAAC;AAED;;qCAEqC;AACrC,KAAK,UAAU,kBAAkB,CAC/B,IAEY;IAEZ,EAAE,CAAC,YAAY,EAAE,CAAC;IAClB,MAAM,KAAK,GACT,EAAE,CAAC;IACL,MAAM,YAAY,GAAyB,EAAE,CAAC;IAE9C,kEAAkE;IAClE,MAAM,UAAU,GAAG,CACjB,MAAM,EAAE,CAAC,YAAY,CAA0B,QAAQ,CAAC,CACzD,CAAC,MAAM,CAAC;IAET,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC;QACzB,QAAQ,EAAE,CAAC,KAAa,EAAE,EAAc,EAAE,EAAE,CAAC,EAAE,EAAE;QACjD,EAAE,EAAE,CAAC,IAAY,EAAE,EAAiB,EAAE,EAAE;YACtC,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE;gBACpB,IAAI,CAAC;oBACH,MAAM,EAAE,EAAE,CAAC;oBACX,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;gBAChC,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,OAAO;wBACL,IAAI;wBACJ,MAAM,EAAE,KAAK;wBACb,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;qBACxD,CAAC;gBACJ,CAAC;wBAAS,CAAC;oBACT,KAAK,MAAM,CAAC,IAAI,YAAY;wBAAE,MAAM,CAAC,EAAE,CAAC;gBAC1C,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;QACD,SAAS,EAAE,CAAC,EAAiB,EAAE,EAAE;YAC/B,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACxB,CAAC;QACD,MAAM,EAAE,UAAU;KACnB,CAAC,CAAC,CAAC;IAEJ,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC;IACjD,GAAG,CAAC,2BAA2B,CAAC,uBAAuB,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;IAC/E,MAAM,OAAO,GAAG,EAAE,CAAC;IACnB,KAAK,MAAM,CAAC,IAAI,KAAK;QAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAC/C,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACtB,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,yDAAyD;AACzD,MAAM,cAAc,GAAgB,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;IAClD,IAAI,IAAI,CAAC,QAAQ,CAAC,sBAAsB,CAAC,EAAE,CAAC;QAC1C,OAAO,SAAS,CAAC,wBAAwB,IAAI,EAAE,CAAC,CAAC;IACnD,CAAC;IACD,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;IAC5B,mCAAmC;IACnC,IAAI,MAAM,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACxC,OAAO,SAAS,CAAC,iBAAiB,CAAC,CAAC;IACtC,CAAC;IACD,IAAI,MAAM,KAAK,QAAQ;QAAE,OAAO,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;IACzE,IAAI,MAAM,KAAK,UAAU,EAAE,CAAC;QAC1B,OAAO,QAAQ,CAAC,EAAE,mBAAmB,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC;IAC3E,CAAC;IACD,IAAI,MAAM,KAAK,iBAAiB,EAAE,CAAC;QACjC,OAAO,QAAQ,CAAC;YACd,mBAAmB,EAAE,OAAO;YAC5B,MAAM,EAAE,mBAAmB;SAC5B,CAAC,CAAC;IACL,CAAC;IACD,OAAO,SAAS,CAAC,gBAAgB,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,oDAAoD,EAAE,GAAG,EAAE;IAClE,IAAI,QAAQ,GAAwB,IAAI,CAAC;IACzC,SAAS,CAAC,GAAG,EAAE;QACb,QAAQ,EAAE,EAAE,CAAC;QACb,QAAQ,GAAG,IAAI,CAAC;IAClB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gDAAgD,EAAE,KAAK,IAAI,EAAE;QAC9D,QAAQ,GAAG,kBAAkB,CAAC,cAAc,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,MAAM,kBAAkB,CAAC,eAAe,CAAC,CAAC;QAC1D,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QAClD,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAChE,mEAAmE;QACnE,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACjC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kEAAkE,EAAE,KAAK,IAAI,EAAE;QAChF,+DAA+D;QAC/D,QAAQ,GAAG,kBAAkB,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAC5C,KAAK,CAAC,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,KAAK;YACtC,CAAC,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;YACrC,CAAC,CAAC,cAAc,CAAC,IAAI,EAAE,KAAK,CAAC,CAChC,CAAC;QACF,MAAM,OAAO,GAAG,MAAM,kBAAkB,CAAC,eAAe,CAAC,CAAC;QAC1D,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC;QACpE,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvC,MAAM,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,SAAS,CAAC,uBAAuB,CAAC,CAAC;IAC/D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2EAA2E,EAAE,KAAK,IAAI,EAAE;QACzF,QAAQ,GAAG,kBAAkB,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAC5C,KAAK,CAAC,MAAM,KAAK,UAAU;YACzB,CAAC,CAAC,QAAQ,CAAC,EAAE,mBAAmB,EAAE,OAAO,EAAE,MAAM,EAAE,mBAAmB,EAAE,CAAC;YACzE,CAAC,CAAC,cAAc,CAAC,IAAI,EAAE,KAAK,CAAC,CAChC,CAAC;QACF,MAAM,OAAO,GAAG,MAAM,kBAAkB,CAAC,eAAe,CAAC,CAAC;QAC1D,MAAM,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC;QACxE,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACzC,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gEAAgE,EAAE,KAAK,IAAI,EAAE;QAC9E,QAAQ,GAAG,kBAAkB,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAC5C,IAAI,CAAC,QAAQ,CAAC,sBAAsB,CAAC;YACnC,CAAC,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC,mBAAmB;YAC9D,CAAC,CAAC,cAAc,CAAC,IAAI,EAAE,KAAK,CAAC,CAChC,CAAC;QACF,MAAM,OAAO,GAAG,MAAM,kBAAkB,CAAC,eAAe,CAAC,CAAC;QAC1D,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC;QACvE,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACtC,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mEAAmE,EAAE,KAAK,IAAI,EAAE;QACjF,QAAQ,GAAG,kBAAkB,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAC5C,KAAK,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,KAAK;YACvC,CAAC,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC,kCAAkC;YAC7E,CAAC,CAAC,cAAc,CAAC,IAAI,EAAE,KAAK,CAAC,CAChC,CAAC;QACF,MAAM,OAAO,GAAG,MAAM,kBAAkB,CAAC,eAAe,CAAC,CAAC;QAC1D,MAAM,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC;QACxE,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1C,MAAM,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4DAA4D,EAAE,KAAK,IAAI,EAAE;QAC1E,QAAQ,GAAG,kBAAkB,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YAC5C,IAAI,IAAI,CAAC,QAAQ,CAAC,sBAAsB,CAAC,EAAE,CAAC;gBAC1C,OAAO;oBACL,GAAG,SAAS,CAAC,wBAAwB,IAAI,EAAE,CAAC;oBAC5C,IAAI;iBACL,CAAC;YACJ,CAAC;YACD,mCAAmC;YACnC,IAAI,CAAC,KAAK,CAAC,QAAQ;gBAAE,OAAO,SAAS,CAAC,oBAAoB,CAAC,CAAC;YAC5D,OAAO,QAAQ,CAAC;gBACd,QAAQ,EAAE,KAAK,CAAC,QAAQ;gBACxB,eAAe,EAAE,WAAW;gBAC5B,WAAW,EAAE,IAAI;gBACjB,OAAO,EAAE,EAAE;gBACX,UAAU,EAAE,EAAE;aACf,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,kBAAkB,CAAC,mBAAmB,CAAC,CAAC;QAC9D,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QAClD,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAChE,qCAAqC;QACrC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC/B,MAAM,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC,aAAa,EAAE,CAAC;IACzD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iFAAiF,EAAE,KAAK,IAAI,EAAE;QAC/F,uEAAuE;QACvE,wEAAwE;QACxE,kEAAkE;QAClE,QAAQ,GAAG,kBAAkB,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YAC5C,IAAI,IAAI,CAAC,QAAQ,CAAC,sBAAsB,CAAC,EAAE,CAAC;gBAC1C,OAAO,EAAE,GAAG,SAAS,CAAC,wBAAwB,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC;YAChE,CAAC;YACD,IAAI,CAAC,KAAK,CAAC,QAAQ;gBAAE,OAAO,SAAS,CAAC,oBAAoB,CAAC,CAAC;YAC5D,gEAAgE;YAChE,OAAO,QAAQ,CAAC,EAAE,CAAC,CAAC;QACtB,CAAC,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,kBAAkB,CAAC,mBAAmB,CAAC,CAAC;QAC9D,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC;QACzE,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACtC,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;QACjD,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAC;QACzD,kEAAkE;QAClE,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,CAClC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CACvD,CAAC;QACF,MAAM,CAAC,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC5E,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -28,6 +28,13 @@ export declare function buildSessionCreateBody(opts?: ContractSuiteOptions): {
28
28
  export declare class InvalidBaseUrlError extends Error {
29
29
  constructor(url: string);
30
30
  }
31
+ /**
32
+ * Validate a backend base URL before any request is issued: only https://
33
+ * URLs and localhost are accepted, so a misconfigured environment fails
34
+ * early rather than leaking the apiKey to an arbitrary host. Shared by the
35
+ * meta-tool conformance kit.
36
+ */
37
+ export declare function validateBaseUrl(rawUrl: string): void;
31
38
  /**
32
39
  * Register the full session contract test suite against a live backend.
33
40
  *
@@ -1 +1 @@
1
- {"version":3,"file":"contract-suite.d.ts","sourceRoot":"","sources":["../../src/testing/contract-suite.ts"],"names":[],"mappings":"AAGA,6CAA6C;AAC7C,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,MAAM,GAAG,YAAY,GAAG,aAAa,GAAG,OAAO,CAAC;AAEtF,4CAA4C;AAC5C,MAAM,WAAW,oBAAoB;IACnC;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB;;;;OAIG;IACH,IAAI,CAAC,EAAE,WAAW,EAAE,CAAC;CACtB;AAWD;;;GAGG;AACH,wBAAgB,UAAU,CAAC,IAAI,CAAC,EAAE,oBAAoB,GAAG,WAAW,EAAE,CAErE;AAED,2EAA2E;AAC3E,wBAAgB,sBAAsB,CAAC,IAAI,CAAC,EAAE,oBAAoB,GAAG;IACnE,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB,CAEA;AAED,qBAAa,mBAAoB,SAAQ,KAAK;gBAChC,GAAG,EAAE,MAAM;CAMxB;AAuKD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,IAAI,CAAC,EAAE,oBAAoB,GAC1B,IAAI,CA0FN"}
1
+ {"version":3,"file":"contract-suite.d.ts","sourceRoot":"","sources":["../../src/testing/contract-suite.ts"],"names":[],"mappings":"AAGA,6CAA6C;AAC7C,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,MAAM,GAAG,YAAY,GAAG,aAAa,GAAG,OAAO,CAAC;AAEtF,4CAA4C;AAC5C,MAAM,WAAW,oBAAoB;IACnC;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB;;;;OAIG;IACH,IAAI,CAAC,EAAE,WAAW,EAAE,CAAC;CACtB;AAWD;;;GAGG;AACH,wBAAgB,UAAU,CAAC,IAAI,CAAC,EAAE,oBAAoB,GAAG,WAAW,EAAE,CAErE;AAED,2EAA2E;AAC3E,wBAAgB,sBAAsB,CAAC,IAAI,CAAC,EAAE,oBAAoB,GAAG;IACnE,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB,CAEA;AAED,qBAAa,mBAAoB,SAAQ,KAAK;gBAChC,GAAG,EAAE,MAAM;CAMxB;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAUpD;AA2JD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,IAAI,CAAC,EAAE,oBAAoB,GAC1B,IAAI,CA0FN"}
@@ -24,7 +24,13 @@ export class InvalidBaseUrlError extends Error {
24
24
  this.name = "InvalidBaseUrlError";
25
25
  }
26
26
  }
27
- function validateBaseUrl(rawUrl) {
27
+ /**
28
+ * Validate a backend base URL before any request is issued: only https://
29
+ * URLs and localhost are accepted, so a misconfigured environment fails
30
+ * early rather than leaking the apiKey to an arbitrary host. Shared by the
31
+ * meta-tool conformance kit.
32
+ */
33
+ export function validateBaseUrl(rawUrl) {
28
34
  let parsed;
29
35
  try {
30
36
  parsed = new URL(rawUrl);
@@ -1 +1 @@
1
- {"version":3,"file":"contract-suite.js","sourceRoot":"","sources":["../../src/testing/contract-suite.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"contract-suite.js","sourceRoot":"","sources":["../../src/testing/contract-suite.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ export * from "./contract-suite.js";
2
+ export * from "./conformance-kit.js";
3
+ export { META_TOOL_CONTRACTS } from "../meta-tool-contract.js";
4
+ export type { ContractedToolName } from "../meta-tool-contract.js";
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/testing/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AAMrC,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,YAAY,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC"}
@@ -0,0 +1,8 @@
1
+ export * from "./contract-suite.js";
2
+ export * from "./conformance-kit.js";
3
+ // Re-export the contract descriptors from the testing entrypoint too, so a
4
+ // conformance-test author imports the suite and the descriptors it drives
5
+ // from one place (`@codespar/types/testing`) rather than splitting imports
6
+ // between here and the package root.
7
+ export { META_TOOL_CONTRACTS } from "../meta-tool-contract.js";
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/testing/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AAErC,2EAA2E;AAC3E,0EAA0E;AAC1E,2EAA2E;AAC3E,qCAAqC;AACrC,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC"}