@glubean/sdk 0.1.36 → 0.1.38

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/dist/contract.js CHANGED
@@ -12,7 +12,7 @@ import { registerTest } from "./internal.js";
12
12
  * Create an HttpContract — a Test[] with contract-level properties.
13
13
  * Uses Object.assign on a plain array to avoid class-extends-Array pitfalls.
14
14
  */
15
- function createHttpContract(id, endpoint, tests, request, description, feature, caseSchemas, instanceName, security) {
15
+ function createHttpContract(id, endpoint, tests, request, description, feature, caseSchemas, instanceName, security, deprecated, extensions, requestContentType) {
16
16
  const arr = [...tests];
17
17
  const asSteps = () => {
18
18
  return (b) => {
@@ -29,7 +29,7 @@ function createHttpContract(id, endpoint, tests, request, description, feature,
29
29
  const asStep = (caseKey) => {
30
30
  const target = caseKey
31
31
  ? arr.find((t) => t.meta.id.endsWith(`.${caseKey}`))
32
- : arr.find((t) => t.fn !== undefined && !t.meta.deferred);
32
+ : arr.find((t) => t.fn !== undefined && !t.meta.deferred && !t.meta.deprecated);
33
33
  if (!target)
34
34
  throw new Error(`Case "${caseKey ?? "default"}" not found in contract "${id}"`);
35
35
  return (b) => {
@@ -41,7 +41,7 @@ function createHttpContract(id, endpoint, tests, request, description, feature,
41
41
  };
42
42
  return Object.assign(arr, {
43
43
  id, endpoint, request, description, feature,
44
- instanceName, security,
44
+ instanceName, security, deprecated, extensions, requestContentType,
45
45
  _caseSchemas: caseSchemas,
46
46
  asSteps, asStep,
47
47
  });
@@ -58,6 +58,30 @@ function parseEndpoint(endpoint) {
58
58
  path: endpoint.slice(spaceIdx + 1),
59
59
  };
60
60
  }
61
+ /**
62
+ * Extract the string value from a ParamValue (string or { value } object).
63
+ */
64
+ function extractParamValue(v) {
65
+ if (typeof v === "string")
66
+ return v;
67
+ if (v && typeof v === "object" && "value" in v) {
68
+ return String(v.value);
69
+ }
70
+ return String(v);
71
+ }
72
+ /**
73
+ * Convert a params/query Record<string, ParamValue> to Record<string, string>
74
+ * by extracting `.value` from ParamValue objects.
75
+ */
76
+ function flattenParamValues(params) {
77
+ if (!params)
78
+ return undefined;
79
+ const result = {};
80
+ for (const [key, value] of Object.entries(params)) {
81
+ result[key] = extractParamValue(value);
82
+ }
83
+ return result;
84
+ }
61
85
  function resolveParams(path, params) {
62
86
  if (!params)
63
87
  return path;
@@ -67,6 +91,107 @@ function resolveParams(path, params) {
67
91
  }
68
92
  return resolved;
69
93
  }
94
+ /**
95
+ * Normalize RequestSpec to a structured form { body, contentType, headers, example, examples }.
96
+ * Accepts either bare SchemaLike (treated as JSON body) or already-structured object.
97
+ */
98
+ function normalizeRequest(req) {
99
+ if (!req)
100
+ return undefined;
101
+ // SchemaLike duck-type: has safeParse, no body field
102
+ if (typeof req.safeParse === "function" && !("body" in req)) {
103
+ return { body: req };
104
+ }
105
+ return req;
106
+ }
107
+ /**
108
+ * Build request options based on content type. Supports:
109
+ * - application/json (default) — body → requestOptions.json
110
+ * - multipart/form-data — body (FormData | object) → requestOptions.body
111
+ * - application/x-www-form-urlencoded — body (URLSearchParams | object) → requestOptions.body
112
+ * - text/plain, application/octet-stream — body → requestOptions.body (string/binary)
113
+ */
114
+ function buildRequestBodyOptions(body, contentType) {
115
+ if (body === undefined)
116
+ return {};
117
+ const ct = (contentType ?? "application/json").toLowerCase();
118
+ if (ct.startsWith("application/json")) {
119
+ return { json: body };
120
+ }
121
+ if (ct.startsWith("multipart/form-data")) {
122
+ // If body is already FormData, pass through. Otherwise, convert object to FormData.
123
+ if (typeof FormData !== "undefined" && body instanceof FormData) {
124
+ return { body };
125
+ }
126
+ if (body && typeof body === "object") {
127
+ const fd = new FormData();
128
+ for (const [k, v] of Object.entries(body)) {
129
+ if (v instanceof Blob || v instanceof File) {
130
+ fd.append(k, v);
131
+ }
132
+ else {
133
+ fd.append(k, String(v));
134
+ }
135
+ }
136
+ return { body: fd };
137
+ }
138
+ return { body };
139
+ }
140
+ if (ct.startsWith("application/x-www-form-urlencoded")) {
141
+ if (body instanceof URLSearchParams)
142
+ return { body };
143
+ if (body && typeof body === "object") {
144
+ const params = new URLSearchParams();
145
+ for (const [k, v] of Object.entries(body)) {
146
+ params.append(k, String(v));
147
+ }
148
+ return { body: params };
149
+ }
150
+ return { body };
151
+ }
152
+ // text/plain, application/octet-stream, other — raw pass-through
153
+ // Set Content-Type header if not already present (handled via headers in caller)
154
+ return { body };
155
+ }
156
+ /**
157
+ * Normalize response headers to lowercase keys + preserve multi-value shape.
158
+ * HTTP spec: header names are case-insensitive. Some headers (Set-Cookie) can have multiple values.
159
+ */
160
+ function normalizeResponseHeaders(headers) {
161
+ const result = {};
162
+ if (!headers)
163
+ return result;
164
+ // Handle Headers object (fetch / ky response headers)
165
+ if (typeof headers.forEach === "function" && typeof headers.get === "function") {
166
+ // Use .forEach which handles multi-value headers by concatenation
167
+ headers.forEach((value, key) => {
168
+ const lowerKey = key.toLowerCase();
169
+ // Set-Cookie is the common multi-value case; split comma for best-effort
170
+ if (lowerKey === "set-cookie") {
171
+ const existing = result[lowerKey];
172
+ const newValue = typeof existing === "string" ? [existing, value] : [...(existing ?? []), value];
173
+ result[lowerKey] = newValue;
174
+ }
175
+ else {
176
+ result[lowerKey] = value;
177
+ }
178
+ });
179
+ return result;
180
+ }
181
+ // Handle plain object
182
+ if (typeof headers === "object") {
183
+ for (const [key, value] of Object.entries(headers)) {
184
+ const lowerKey = key.toLowerCase();
185
+ if (Array.isArray(value)) {
186
+ result[lowerKey] = value.map(String);
187
+ }
188
+ else if (value != null) {
189
+ result[lowerKey] = String(value);
190
+ }
191
+ }
192
+ }
193
+ return result;
194
+ }
70
195
  // =============================================================================
71
196
  // Build a Test from a single case
72
197
  // =============================================================================
@@ -77,6 +202,8 @@ function buildCaseTest(contractId, caseKey, endpoint, c, spec, instanceName, sec
77
202
  const allTags = [...contractTags, ...caseTags];
78
203
  const testId = `${contractId}.${caseKey}`;
79
204
  const testName = `${contractId} — ${caseKey}`;
205
+ // Contract-level deprecated propagates to cases (case value wins if both set)
206
+ const effectiveDeprecated = c.deprecated ?? spec.deprecated;
80
207
  // Auto-imply: non-headless requires → defaultRun: "opt-in"
81
208
  const requires = c.requires ?? "headless";
82
209
  const defaultRun = c.defaultRun ?? (requires !== "headless" ? "opt-in" : "always");
@@ -93,11 +220,16 @@ function buildCaseTest(contractId, caseKey, endpoint, c, spec, instanceName, sec
93
220
  description: c.description,
94
221
  tags: finalTags.length > 0 ? finalTags : undefined,
95
222
  deferred: c.deferred,
223
+ deprecated: effectiveDeprecated,
96
224
  requires,
97
225
  defaultRun,
98
226
  };
99
227
  const fn = async (ctx) => {
100
- // 1. Deferred → skip
228
+ // 1. Deprecated → skip (takes precedence over deferred)
229
+ if (effectiveDeprecated) {
230
+ ctx.skip(`deprecated: ${effectiveDeprecated}`);
231
+ }
232
+ // 2. Deferred → skip
101
233
  if (c.deferred) {
102
234
  ctx.skip(c.deferred);
103
235
  }
@@ -110,20 +242,26 @@ function buildCaseTest(contractId, caseKey, endpoint, c, spec, instanceName, sec
110
242
  throw new Error(`No HTTP client provided for case "${caseKey}". ` +
111
243
  `Set "client" on the case or on the contract spec.`);
112
244
  }
113
- // 4. Resolve params and path
114
- const params = typeof c.params === "function" ? c.params(state) : c.params;
245
+ // 4. Resolve params and path (flatten ParamValue objects to strings)
246
+ const rawParams = typeof c.params === "function" ? c.params(state) : c.params;
247
+ const params = flattenParamValues(rawParams);
115
248
  const resolvedPath = resolveParams(path, params);
116
249
  // 5. Build request options
117
250
  const requestOptions = {};
118
251
  const body = typeof c.body === "function" ? c.body(state) : c.body;
119
- if (body !== undefined)
120
- requestOptions.json = body;
252
+ // Resolve content type: case override > contract default > application/json
253
+ const normalizedRequest = normalizeRequest(spec.request);
254
+ const effectiveContentType = c.contentType ?? normalizedRequest?.contentType ?? "application/json";
255
+ // Dispatch body serialization based on content type
256
+ if (body !== undefined) {
257
+ Object.assign(requestOptions, buildRequestBodyOptions(body, effectiveContentType));
258
+ }
121
259
  const headers = typeof c.headers === "function" ? c.headers(state) : c.headers;
122
260
  if (headers)
123
261
  requestOptions.headers = headers;
124
262
  if (c.query) {
125
- const q = typeof c.query === "function" ? c.query(state) : c.query;
126
- requestOptions.searchParams = q;
263
+ const rawQuery = typeof c.query === "function" ? c.query(state) : c.query;
264
+ requestOptions.searchParams = flattenParamValues(rawQuery);
127
265
  }
128
266
  requestOptions.throwHttpErrors = false;
129
267
  // 6. Send request
@@ -142,6 +280,11 @@ function buildCaseTest(contractId, caseKey, endpoint, c, spec, instanceName, sec
142
280
  }
143
281
  // 7. Assert status
144
282
  ctx.expect(res).toHaveStatus(c.expect.status);
283
+ // 7b. Validate response headers (if schema provided)
284
+ if (c.expect.headers) {
285
+ const normalizedHeaders = normalizeResponseHeaders(res.headers);
286
+ ctx.validate(normalizedHeaders, c.expect.headers, `${testId} response headers`);
287
+ }
145
288
  // 8. Parse response + validate schema
146
289
  let parsed;
147
290
  if (c.expect.schema) {
@@ -168,16 +311,24 @@ function buildCaseTest(contractId, caseKey, endpoint, c, spec, instanceName, sec
168
311
  }
169
312
  }
170
313
  };
171
- // Register to global registry with contract metadata
314
+ // Lifecycle normalization: deprecated > deferred > active
315
+ const lifecycle = c.deprecated ? "deprecated" :
316
+ c.deferred ? "deferred" :
317
+ "active";
318
+ const severity = c.severity ?? "warning";
319
+ // Register to global registry with protocol-agnostic contract metadata
172
320
  const registryMeta = {
173
- endpoint,
321
+ target: endpoint,
174
322
  protocol: "http",
175
323
  caseKey,
176
- expectStatus: c.expect.status,
324
+ lifecycle,
325
+ severity,
177
326
  hasSchema: !!c.expect.schema,
178
- deferred: c.deferred,
179
327
  instanceName,
180
- security,
328
+ protocolMeta: {
329
+ ...(security != null ? { security } : {}),
330
+ expect: { status: c.expect.status },
331
+ },
181
332
  };
182
333
  registerTest({
183
334
  id: testId,
@@ -202,16 +353,67 @@ function contractHttp(id, spec, instanceName, security) {
202
353
  // Resolve effective requires/defaultRun (same logic as buildCaseTest)
203
354
  const effectiveRequires = caseSpec.requires ?? "headless";
204
355
  const effectiveDefaultRun = caseSpec.defaultRun ?? (effectiveRequires !== "headless" ? "opt-in" : "always");
356
+ // Effective deprecated: case wins, fall back to contract-level
357
+ const effectiveDeprecated = caseSpec.deprecated ?? spec.deprecated;
358
+ // Lifecycle normalization: deprecated > deferred > active
359
+ const lifecycle = effectiveDeprecated ? "deprecated" :
360
+ caseSpec.deferred ? "deferred" :
361
+ "active";
362
+ // Extract per-param schemas (only from object-shaped ParamValues, not string shorthand)
363
+ const paramSchemas = extractParamMetaSchemas(caseSpec.params);
364
+ const querySchemas = extractParamMetaSchemas(caseSpec.query);
365
+ // Merge case-level extensions over contract-level (spec.extensions is already defaults+contract merged)
366
+ const caseExtensions = mergeExtensions(spec.extensions, caseSpec.extensions);
205
367
  caseSchemas[caseKey] = {
206
368
  expectStatus: caseSpec.expect.status,
207
369
  responseSchema: caseSpec.expect.schema,
370
+ responseHeaders: caseSpec.expect.headers,
371
+ responseContentType: caseSpec.expect.contentType,
372
+ example: caseSpec.expect.example,
373
+ examples: caseSpec.expect.examples,
374
+ paramSchemas,
375
+ querySchemas,
208
376
  description: caseSpec.description,
209
377
  deferred: caseSpec.deferred,
378
+ deprecated: effectiveDeprecated,
379
+ severity: caseSpec.severity,
380
+ lifecycle,
210
381
  requires: effectiveRequires,
211
382
  defaultRun: effectiveDefaultRun,
383
+ extensions: caseExtensions,
212
384
  };
213
385
  }
214
- return createHttpContract(id, spec.endpoint, tests, spec.request, spec.description, spec.feature, caseSchemas, instanceName, security);
386
+ // Normalize request (SchemaLike or RequestSpec object { body, contentType })
387
+ const normalizedReq = normalizeRequest(spec.request);
388
+ const requestBodySchema = normalizedReq?.body;
389
+ const requestContentType = normalizedReq?.contentType;
390
+ return createHttpContract(id, spec.endpoint, tests, requestBodySchema, spec.description, spec.feature, caseSchemas, instanceName, security, spec.deprecated, spec.extensions, requestContentType);
391
+ }
392
+ /**
393
+ * Extract per-param schema metadata from a params/query object.
394
+ * Only collects entries where the ParamValue is an object (has `.value` + optional schema/description).
395
+ * String shorthand values produce no metadata.
396
+ */
397
+ function extractParamMetaSchemas(params) {
398
+ if (!params || typeof params === "function")
399
+ return undefined;
400
+ const result = {};
401
+ let hasAny = false;
402
+ for (const [key, val] of Object.entries(params)) {
403
+ if (val && typeof val === "object" && !Array.isArray(val) && "value" in val) {
404
+ const pv = val;
405
+ if (pv.schema !== undefined || pv.description !== undefined || pv.required !== undefined || pv.deprecated !== undefined) {
406
+ result[key] = {
407
+ schema: pv.schema,
408
+ description: pv.description,
409
+ required: pv.required,
410
+ deprecated: pv.deprecated,
411
+ };
412
+ hasAny = true;
413
+ }
414
+ }
415
+ }
416
+ return hasAny ? result : undefined;
215
417
  }
216
418
  class FlowBuilder {
217
419
  _id;
@@ -400,13 +602,28 @@ function mergeHttpDefaults(defaults, spec) {
400
602
  ...(defaults.tags ?? []),
401
603
  ...(spec.tags ?? []),
402
604
  ];
605
+ // Merge extensions: defaults < contract (contract key overrides defaults key)
606
+ const mergedExtensions = mergeExtensions(defaults.extensions, spec.extensions);
403
607
  return {
404
608
  ...spec,
405
609
  client: spec.client ?? defaults.client,
406
610
  feature: spec.feature ?? defaults.feature,
407
611
  tags: mergedTags.length > 0 ? mergedTags : undefined,
612
+ extensions: mergedExtensions,
408
613
  };
409
614
  }
615
+ /**
616
+ * Merge two Extensions records. Right wins on key conflict.
617
+ * Returns undefined if result would be empty.
618
+ */
619
+ function mergeExtensions(base, override) {
620
+ if (!base && !override)
621
+ return undefined;
622
+ const merged = { ...(base ?? {}), ...(override ?? {}) };
623
+ return Object.keys(merged).length > 0
624
+ ? merged
625
+ : undefined;
626
+ }
410
627
  /**
411
628
  * Create an HTTP contract factory with `.with()` support.
412
629
  * The factory is callable (same signature as contractHttp) and chainable.
@@ -428,10 +645,12 @@ function createHttpFactory(defaults) {
428
645
  };
429
646
  factory.with = (name, more) => {
430
647
  const mergedTags = [...(defaults?.tags ?? []), ...(more.tags ?? [])];
648
+ const mergedExtensions = mergeExtensions(defaults?.extensions, more.extensions);
431
649
  return createHttpFactory({
432
650
  ...defaults,
433
651
  ...more,
434
652
  tags: mergedTags.length > 0 ? mergedTags : undefined,
653
+ extensions: mergedExtensions,
435
654
  _name: name,
436
655
  });
437
656
  };
@@ -455,25 +674,75 @@ export const contract = {
455
674
  _adapters.set(protocol, adapter);
456
675
  // Dynamically attach contract[protocol]()
457
676
  contract[protocol] = (id, spec) => {
458
- const meta = adapter.metadata(spec);
677
+ // Get projection from adapter v2
678
+ const projection = adapter.project(spec);
679
+ // Validate: no duplicate keys in projected cases
680
+ const projKeyList = projection.cases.map(c => c.key);
681
+ const projKeySet = new Set(projKeyList);
682
+ if (projKeySet.size !== projKeyList.length) {
683
+ const dupes = projKeyList.filter((k, i) => projKeyList.indexOf(k) !== i);
684
+ throw new Error(`contract.register("${protocol}"): project() returned duplicate case key(s): ${[...new Set(dupes)].join(", ")}. ` +
685
+ `Each projected case key must be unique.`);
686
+ }
687
+ // Validate 1:1 key invariant between projection and spec.cases
688
+ const specKeys = new Set(Object.keys(spec.cases ?? {}));
689
+ for (const key of projKeySet) {
690
+ if (!specKeys.has(key)) {
691
+ throw new Error(`contract.register("${protocol}"): project() returned case "${key}" not present in spec.cases. ` +
692
+ `Projected cases must 1:1 match spec.cases keys.`);
693
+ }
694
+ }
695
+ for (const key of specKeys) {
696
+ if (!projKeySet.has(key)) {
697
+ throw new Error(`contract.register("${protocol}"): spec.cases has "${key}" but project() did not return it. ` +
698
+ `Projected cases must 1:1 match spec.cases keys.`);
699
+ }
700
+ }
459
701
  const cases = spec.cases ?? {};
460
702
  const contractTags = spec.tags ? (Array.isArray(spec.tags) ? spec.tags : [spec.tags]) : [];
703
+ // Build a lookup from projection cases by key
704
+ const projCaseMap = new Map(projection.cases.map(c => [c.key, c]));
461
705
  const tests = Object.entries(cases).map(([caseKey, caseSpec]) => {
462
706
  const testId = `${id}.${caseKey}`;
463
707
  const testName = `${id} — ${caseKey}`;
464
708
  const caseTags = caseSpec.tags ?? [];
465
709
  const allTags = [...contractTags, ...caseTags];
710
+ const projCase = projCaseMap.get(caseKey);
711
+ // Derive runtime requires/defaultRun from projection (authoritative)
712
+ // with case spec as fallback, mirroring HTTP path logic
713
+ const requires = projCase.requires ?? caseSpec.requires ?? "headless";
714
+ const defaultRun = projCase.defaultRun ?? caseSpec.defaultRun ?? (requires !== "headless" ? "opt-in" : "always");
715
+ // Runtime tags from requires/defaultRun
716
+ const runtimeTags = [];
717
+ if (requires !== "headless")
718
+ runtimeTags.push(`requires:${requires}`);
719
+ if (defaultRun === "opt-in")
720
+ runtimeTags.push("default-run:opt-in");
721
+ const finalTags = [...allTags, ...runtimeTags];
722
+ // Derive skip from projected lifecycle (authoritative), not just caseSpec fields
723
+ const skipDeprecated = projCase.lifecycle === "deprecated"
724
+ ? `deprecated: ${projCase.deprecatedReason ?? caseSpec.deprecated ?? "deprecated"}`
725
+ : caseSpec.deprecated ? `deprecated: ${caseSpec.deprecated}` : undefined;
726
+ const skipDeferred = projCase.lifecycle === "deferred"
727
+ ? (projCase.deferredReason ?? caseSpec.deferred ?? "deferred")
728
+ : caseSpec.deferred;
466
729
  const testDef = {
467
730
  meta: {
468
731
  id: testId,
469
732
  name: testName,
470
- tags: allTags.length > 0 ? allTags : undefined,
471
- deferred: caseSpec.deferred,
733
+ description: projCase.description,
734
+ tags: finalTags.length > 0 ? finalTags : undefined,
735
+ deferred: skipDeferred,
736
+ deprecated: skipDeprecated ? (projCase.deprecatedReason ?? caseSpec.deprecated ?? "deprecated") : undefined,
737
+ requires,
738
+ defaultRun,
472
739
  },
473
740
  type: "simple",
474
741
  fn: async (ctx) => {
475
- if (caseSpec.deferred)
476
- ctx.skip(caseSpec.deferred);
742
+ if (skipDeprecated)
743
+ ctx.skip(skipDeprecated);
744
+ if (skipDeferred)
745
+ ctx.skip(skipDeferred);
477
746
  await adapter.execute(ctx, caseSpec, spec);
478
747
  },
479
748
  };
@@ -481,20 +750,31 @@ export const contract = {
481
750
  id: testId,
482
751
  name: testName,
483
752
  type: "simple",
484
- tags: allTags.length > 0 ? allTags : undefined,
753
+ tags: finalTags.length > 0 ? finalTags : undefined,
485
754
  groupId: id,
755
+ requires,
756
+ defaultRun,
486
757
  contract: {
487
- endpoint: meta.endpoint ?? "",
488
- protocol,
758
+ target: projection.target,
759
+ protocol: projection.protocol,
489
760
  caseKey,
490
- expectStatus: caseSpec.expect?.status ?? 0,
491
- hasSchema: false,
492
- deferred: caseSpec.deferred,
761
+ lifecycle: projCase.lifecycle,
762
+ severity: projCase.severity,
763
+ hasSchema: projCase.responseSchema != null,
764
+ instanceName: projection.instanceName,
765
+ protocolMeta: {
766
+ ...(projection.protocolMeta ?? {}),
767
+ ...(projCase.protocolExpect ? { expect: projCase.protocolExpect } : {}),
768
+ ...(projCase.protocolMeta ?? {}),
769
+ },
493
770
  },
494
771
  });
495
772
  return testDef;
496
773
  });
497
- return tests;
774
+ // Inject contract id into projection (adapter doesn't know the user-supplied id)
775
+ const enrichedProjection = { ...projection, id };
776
+ // Return ProtocolContract — Test[] with _projection carrier
777
+ return Object.assign(tests, { _projection: enrichedProjection });
498
778
  };
499
779
  },
500
780
  };
@@ -1 +1 @@
1
- {"version":3,"file":"contract.js","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAeH,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE7C,gFAAgF;AAChF,qEAAqE;AACrE,gFAAgF;AAEhF;;;GAGG;AACH,SAAS,kBAAkB,CACzB,EAAU,EACV,QAAgB,EAChB,KAAa,EACb,OAAkD,EAClD,WAAoB,EACpB,OAAgB,EAChB,WAAmM,EACnM,YAAqB,EACrB,QAA6B;IAE7B,MAAM,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC;IAEvB,MAAM,OAAO,GAAG,GAAG,EAAE;QACnB,OAAO,CAAI,CAAsC,EAAE,EAAE;YACnD,KAAK,MAAM,CAAC,IAAI,GAAG,EAAE,CAAC;gBACpB,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC;oBACT,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;wBAC7C,MAAM,CAAC,CAAC,EAAG,CAAC,GAAG,CAAC,CAAC;oBACnB,CAAC,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YACD,OAAO,CAAC,CAAC;QACX,CAAC,CAAC;IACJ,CAAC,CAAC;IAEF,MAAM,MAAM,GAAG,CAAC,OAAgB,EAAE,EAAE;QAClC,MAAM,MAAM,GAAG,OAAO;YACpB,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,OAAO,EAAE,CAAC,CAAC;YACpD,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,SAAS,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC5D,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,SAAS,OAAO,IAAI,SAAS,4BAA4B,EAAE,GAAG,CAAC,CAAC;QAE7F,OAAO,CAAI,CAAsC,EAAE,EAAE;YACnD,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;gBACvD,MAAM,MAAM,CAAC,EAAG,CAAC,GAAG,CAAC,CAAC;YACxB,CAAC,CAAC,CAAC;YACH,OAAO,CAAC,CAAC;QACX,CAAC,CAAC;IACJ,CAAC,CAAC;IAEF,OAAO,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE;QACxB,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO;QAC3C,YAAY,EAAE,QAAQ;QACtB,YAAY,EAAE,WAAW;QACzB,OAAO,EAAE,MAAM;KAChB,CAAiB,CAAC;AACrB,CAAC;AAED,gFAAgF;AAChF,wBAAwB;AACxB,gFAAgF;AAEhF,SAAS,aAAa,CAAC,QAAgB;IACrC,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACvC,IAAI,QAAQ,KAAK,CAAC,CAAC;QAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;IAC9D,OAAO;QACL,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,WAAW,EAAE;QACjD,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC;KACnC,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CACpB,IAAY,EACZ,MAA0C;IAE1C,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IACzB,IAAI,QAAQ,GAAG,IAAI,CAAC;IACpB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAClD,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,GAAG,EAAE,EAAE,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC;IACpE,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,gFAAgF;AAChF,kCAAkC;AAClC,gFAAgF;AAEhF,SAAS,aAAa,CACpB,UAAkB,EAClB,OAAe,EACf,QAAgB,EAChB,CAAqB,EACrB,IAAsB,EACtB,YAAqB,EACrB,QAA6B;IAE7B,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;IACjD,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3F,MAAM,QAAQ,GAAG,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC;IAC9B,MAAM,OAAO,GAAG,CAAC,GAAG,YAAY,EAAE,GAAG,QAAQ,CAAC,CAAC;IAE/C,MAAM,MAAM,GAAG,GAAG,UAAU,IAAI,OAAO,EAAE,CAAC;IAC1C,MAAM,QAAQ,GAAG,GAAG,UAAU,MAAM,OAAO,EAAE,CAAC;IAE9C,2DAA2D;IAC3D,MAAM,QAAQ,GAAG,CAAC,CAAC,QAAQ,IAAI,UAAU,CAAC;IAC1C,MAAM,UAAU,GAAG,CAAC,CAAC,UAAU,IAAI,CAAC,QAAQ,KAAK,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IAEnF,uEAAuE;IACvE,MAAM,WAAW,GAAa,EAAE,CAAC;IACjC,IAAI,QAAQ,KAAK,UAAU;QAAE,WAAW,CAAC,IAAI,CAAC,YAAY,QAAQ,EAAE,CAAC,CAAC;IACtE,IAAI,UAAU,KAAK,QAAQ;QAAE,WAAW,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IACpE,MAAM,SAAS,GAAG,CAAC,GAAG,OAAO,EAAE,GAAG,WAAW,CAAC,CAAC;IAE/C,MAAM,IAAI,GAAa;QACrB,EAAE,EAAE,MAAM;QACV,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,CAAC,CAAC,WAAW;QAC1B,IAAI,EAAE,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;QAClD,QAAQ,EAAE,CAAC,CAAC,QAAQ;QACpB,QAAQ;QACR,UAAU;KACX,CAAC;IAEF,MAAM,EAAE,GAAG,KAAK,EAAE,GAAqC,EAAE,EAAE;QACzD,qBAAqB;QACrB,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;YACf,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QACvB,CAAC;QAED,WAAW;QACX,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAE,SAAe,CAAC;QAE9D,IAAI,CAAC;YACH,oBAAoB;YACpB,MAAM,MAAM,GAAe,CAAC,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAe,CAAC;YACnE,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,IAAI,KAAK,CACb,qCAAqC,OAAO,KAAK;oBACjD,mDAAmD,CACpD,CAAC;YACJ,CAAC;YAED,6BAA6B;YAC7B,MAAM,MAAM,GACV,OAAO,CAAC,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;YAC9D,MAAM,YAAY,GAAG,aAAa,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YAEjD,2BAA2B;YAC3B,MAAM,cAAc,GAA4B,EAAE,CAAC;YACnD,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAE,CAAC,CAAC,IAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YACjF,IAAI,IAAI,KAAK,SAAS;gBAAE,cAAc,CAAC,IAAI,GAAG,IAAI,CAAC;YACnD,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,OAAO,KAAK,UAAU,CAAC,CAAC,CAAE,CAAC,CAAC,OAAoB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;YAC7F,IAAI,OAAO;gBAAE,cAAc,CAAC,OAAO,GAAG,OAAO,CAAC;YAC9C,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;gBACZ,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;gBACnE,cAAc,CAAC,YAAY,GAAG,CAAC,CAAC;YAClC,CAAC;YACD,cAAc,CAAC,eAAe,GAAG,KAAK,CAAC;YAEvC,kBAAkB;YAClB,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,EAAsB,CAAC;YAC7D,IAAI,GAAG,CAAC;YACR,IAAI,CAAC;gBACH,GAAG,GAAG,MAAO,MAAM,CAAC,WAAW,CAAc,CAC3C,YAAY,EACZ,cAAc,CACf,CAAC;YACJ,CAAC;YAAC,OAAO,GAAY,EAAE,CAAC;gBACtB,uDAAuD;gBACvD,IAAI,GAAG,YAAY,KAAK,IAAI,GAAG,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;oBACxD,MAAM,SAAS,GAAI,MAAc,CAAC,kBAAkB,IAAI,KAAK,CAAC;oBAC9D,MAAM,IAAI,KAAK,CACb,GAAG,GAAG,CAAC,OAAO,cAAc,SAAS,KAAK,CAC3C,CAAC;gBACJ,CAAC;gBACD,MAAM,GAAG,CAAC;YACZ,CAAC;YAED,mBAAmB;YACnB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAE9C,sCAAsC;YACtC,IAAI,MAAS,CAAC;YACd,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;gBACpB,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;gBAC9B,MAAM,SAAS,GAAG,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,MAAM,WAAW,CAAC,CAAC;gBAC5E,MAAM,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAM,CAAC;YAC7D,CAAC;iBAAM,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;gBACpB,0DAA0D;gBAC1D,MAAM,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAM,CAAC;YACnC,CAAC;iBAAM,CAAC;gBACN,MAAM,GAAG,SAAc,CAAC;YAC1B,CAAC;YAED,qBAAqB;YACrB,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;gBACb,MAAM,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;YAC9B,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,wBAAwB;YACxB,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;gBACf,MAAM,CAAC,CAAC,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YAC/B,CAAC;QACH,CAAC;IACH,CAAC,CAAC;IAEF,qDAAqD;IACrD,MAAM,YAAY,GAAyB;QACzC,QAAQ;QACR,QAAQ,EAAE,MAAM;QAChB,OAAO;QACP,YAAY,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM;QAC7B,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM;QAC5B,QAAQ,EAAE,CAAC,CAAC,QAAQ;QACpB,YAAY;QACZ,QAAQ;KACT,CAAC;IAEF,YAAY,CAAC;QACX,EAAE,EAAE,MAAM;QACV,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;QAClD,OAAO,EAAE,UAAU;QACnB,QAAQ;QACR,UAAU;QACV,QAAQ,EAAE,YAAY;KACvB,CAAC,CAAC;IAEH,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;AACtC,CAAC;AAED,gFAAgF;AAChF,kBAAkB;AAClB,gFAAgF;AAEhF,SAAS,YAAY,CAGnB,EAAU,EACV,IAA6B,EAC7B,YAAqB,EACrB,QAA6B;IAE7B,MAAM,KAAK,GAAW,EAAE,CAAC;IACzB,MAAM,WAAW,GAOZ,EAAE,CAAC;IAER,KAAK,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QAC7D,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC;QAC9F,sEAAsE;QACtE,MAAM,iBAAiB,GAAG,QAAQ,CAAC,QAAQ,IAAI,UAAU,CAAC;QAC1D,MAAM,mBAAmB,GAAG,QAAQ,CAAC,UAAU,IAAI,CAAC,iBAAiB,KAAK,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QAC5G,WAAW,CAAC,OAAO,CAAC,GAAG;YACrB,YAAY,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM;YACpC,cAAc,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM;YACtC,WAAW,EAAE,QAAQ,CAAC,WAAW;YACjC,QAAQ,EAAE,QAAQ,CAAC,QAAQ;YAC3B,QAAQ,EAAE,iBAAiB;YAC3B,UAAU,EAAE,mBAAmB;SAChC,CAAC;IACJ,CAAC;IAED,OAAO,kBAAkB,CACvB,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,OAAO,EACtE,WAAW,EAAE,YAAY,EAAE,QAAQ,CACpC,CAAC;AACJ,CAAC;AAYD,MAAM,WAAW;IACP,GAAG,CAAS;IACZ,cAAc,CAAc;IAC5B,KAAK,CAAY;IACjB,SAAS,CAA8C;IACvD,WAAW,CAAgD;IAC3D,MAAM,GAGT,EAAE,CAAC;IACA,QAAQ,CAAsC;IAC9C,WAAW,CAAmD;IAEtE,YAAY,EAAU,EAAE,OAOvB;QACC,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;QACd,IAAI,CAAC,cAAc,GAAG,OAAO,EAAE,MAAM,CAAC;QACtC,IAAI,CAAC,KAAK,GAAG,OAAO,EAAE,IAAI,CAAC;QAC3B,IAAI,CAAC,SAAS,GAAG,OAAO,EAAE,QAAQ,CAAC;QACnC,IAAI,CAAC,WAAW,GAAG,OAAO,EAAE,UAAU,CAAC;IACzC,CAAC;IAED,KAAK,CAAO,EAAuC;QACjD,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,OAAO,IAAoC,CAAC;IAC9C,CAAC;IAED,QAAQ,CAAC,EAAiD;QACxD,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QACtB,OAAO,IAAI,CAAC;IACd,CAAC;IAUD,IAAI,CACF,IAAY,EACZ,IAA8D;QAE9D,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACtD,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;QAE1C,MAAM,MAAM,GAAG,KAAK,EAAE,GAAgB,EAAE,KAAU,EAAgB,EAAE;YAClE,iBAAiB;YACjB,MAAM,MAAM,GAAe,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,cAAc,CAAe,CAAC;YAC9E,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,IAAI,KAAK,CAAC,iCAAiC,IAAI,oCAAoC,CAAC,CAAC;YAC7F,CAAC;YAED,uCAAuC;YACvC,MAAM,MAAM,GAAG,OAAO,IAAI,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;YACpF,MAAM,YAAY,GAAG,aAAa,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YACjD,MAAM,KAAK,GAAG,OAAO,IAAI,CAAC,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;YAChF,MAAM,IAAI,GAAG,OAAO,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAE,IAAI,CAAC,IAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;YAE1F,wBAAwB;YACxB,MAAM,IAAI,GAA4B,EAAE,eAAe,EAAE,KAAK,EAAE,CAAC;YACjE,IAAI,IAAI,KAAK,SAAS;gBAAE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACzC,MAAM,OAAO,GAAG,OAAO,IAAI,CAAC,OAAO,KAAK,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;YACxF,IAAI,OAAO;gBAAE,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;YACpC,IAAI,KAAK;gBAAE,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;YAErC,eAAe;YACf,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,EAAsB,CAAC;YAC7D,IAAI,GAAG,CAAC;YACR,IAAI,CAAC;gBACH,GAAG,GAAG,MAAO,MAAM,CAAC,WAAW,CAAc,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;YACpE,CAAC;YAAC,OAAO,GAAY,EAAE,CAAC;gBACtB,IAAI,GAAG,YAAY,KAAK,IAAI,GAAG,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;oBACxD,MAAM,SAAS,GAAI,MAAc,CAAC,kBAAkB,IAAI,KAAK,CAAC;oBAC9D,MAAM,IAAI,KAAK,CAAC,GAAG,GAAG,CAAC,OAAO,cAAc,SAAS,KAAK,CAAC,CAAC;gBAC9D,CAAC;gBACD,MAAM,GAAG,CAAC;YACZ,CAAC;YAED,gBAAgB;YAChB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;YAE7C,mCAAmC;YACnC,IAAI,MAAW,CAAC;YAChB,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;gBACvB,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;gBAClC,MAAM,SAAS,GAAG,GAAG,CAAC,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,IAAI,IAAI,WAAW,CAAC,CAAC;gBAC7F,MAAM,GAAG,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC;YAC1D,CAAC;iBAAM,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBACvC,MAAM,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;YAC5B,CAAC;YAED,kBAAkB;YAClB,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBAChB,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;YACjC,CAAC;YAED,kBAAkB;YAClB,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBACjB,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YACrC,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC,CAAC;QAEF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;YACf,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,YAAY,EAAE,cAAc,EAAE;YACrE,EAAE,EAAE,MAAM;SACX,CAAC,CAAC;QAEH,OAAO,IAAwB,CAAC;IAClC,CAAC;IAED,KAAK;QAKH,2DAA2D;QAC3D,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,IAAI,UAAU,CAAC;QAC9C,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,IAAI,CAAC,QAAQ,KAAK,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QAEvF,WAAW;QACX,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;QAClC,MAAM,WAAW,GAAa,EAAE,CAAC;QACjC,IAAI,QAAQ,KAAK,UAAU;YAAE,WAAW,CAAC,IAAI,CAAC,YAAY,QAAQ,EAAE,CAAC,CAAC;QACtE,IAAI,UAAU,KAAK,QAAQ;YAAE,WAAW,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QACpE,MAAM,SAAS,GAAG,CAAC,GAAG,QAAQ,EAAE,GAAG,WAAW,CAAC,CAAC;QAEhD,MAAM,IAAI,GAAS;YACjB,IAAI,EAAE;gBACJ,EAAE,EAAE,IAAI,CAAC,GAAG;gBACZ,IAAI,EAAE,IAAI,CAAC,GAAG;gBACd,IAAI,EAAE,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;gBAClD,QAAQ;gBACR,UAAU;aACX;YACD,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,IAAI,CAAC,QAAe;YAC3B,QAAQ,EAAE,IAAI,CAAC,WAAkB;YACjC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC7B,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE;gBAC3B,EAAE,EAAE,CAAC,CAAC,EAAE;aACT,CAAC,CAAC;SACJ,CAAC;QAEF,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAErD,iDAAiD;QACjD,YAAY,CAAC;YACX,EAAE,EAAE,IAAI,CAAC,GAAG;YACZ,IAAI,EAAE,IAAI,CAAC,GAAG;YACd,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;YAClD,QAAQ;YACR,UAAU;YACV,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;YACtD,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ;YACzB,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW;YAC/B,IAAI,EAAE;gBACJ,KAAK,EAAE,aAAa;aACrB;SACF,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,GAAG,EAAE;YACnB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAM,CAAC;YAC1B,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC;YAC9B,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC;YACpC,OAAO,CAAI,CAAsC,EAAE,EAAE;gBACnD,0DAA0D;gBAC1D,wDAAwD;gBACxD,gDAAgD;gBAChD,qDAAqD;gBACrD,yCAAyC;gBACzC,IAAI,OAAO,EAAE,CAAC;oBACZ,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,UAAU,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;wBAC1C,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC;oBACtB,CAAC,CAAC,CAAC;gBACL,CAAC;gBACD,oBAAoB;gBACpB,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;oBACtB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE;wBACvC,OAAO,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;oBAC1B,CAAC,CAAC,CAAC;gBACL,CAAC;gBACD,+CAA+C;gBAC/C,IAAI,UAAU,EAAE,CAAC;oBACf,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,aAAa,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE;wBACpD,MAAM,UAAU,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;wBAC7B,OAAO,KAAK,CAAC;oBACf,CAAC,CAAC,CAAC;gBACL,CAAC;gBACD,OAAO,CAAC,CAAC;YACX,CAAC,CAAC;QACJ,CAAC,CAAC;QAEF,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,GAAG,EAAE,SAAS,EAAE,aAAa,EAAE,OAAO,EAAE,CAAQ,CAAC;IAC7F,CAAC;CACF;AAED,SAAS,YAAY,CAAC,EAAU,EAAE,OAAkD;IAClF,OAAO,IAAI,WAAW,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;AACtC,CAAC;AAED,gFAAgF;AAChF,kCAAkC;AAClC,gFAAgF;AAEhF,MAAM,SAAS,GAAG,IAAI,GAAG,EAAwC,CAAC;AAElE,gFAAgF;AAChF,+DAA+D;AAC/D,gFAAgF;AAEhF;;;GAGG;AACH,SAAS,iBAAiB,CACxB,QAAiE,EACjE,IAAsB;IAEtB,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC3B,MAAM,UAAU,GAAG;QACjB,GAAG,CAAC,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAC;QACxB,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;KACrB,CAAC;IACF,OAAO;QACL,GAAG,IAAI;QACP,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,QAAQ,CAAC,MAAM;QACtC,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,QAAQ,CAAC,OAAO;QACzC,IAAI,EAAE,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;KACrD,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH;;;;GAIG;AACH,SAAS,iBAAiB,CACxB,QAAoD;IAEpD,MAAM,OAAO,GAAG,CACd,EAAU,EACV,IAA6B,EACf,EAAE;QAChB,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CACb,kBAAkB,EAAE,6BAA6B;gBACjD,gFAAgF;gBAChF,uBAAuB,EAAE,WAAW,CACrC,CAAC;QACJ,CAAC;QACD,MAAM,MAAM,GAAG,iBAAiB,CAAC,QAAQ,EAAE,IAAwB,CAAC,CAAC;QACrE,OAAO,YAAY,CAAC,EAAE,EAAE,MAAiC,EAAE,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAChG,CAAC,CAAC;IAEF,OAAO,CAAC,IAAI,GAAG,CAAC,IAAY,EAAE,IAA0B,EAAuB,EAAE;QAC/E,MAAM,UAAU,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC;QACrE,OAAO,iBAAiB,CAAC;YACvB,GAAG,QAAQ;YACX,GAAG,IAAI;YACP,IAAI,EAAE,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;YACpD,KAAK,EAAE,IAAI;SACZ,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,QAAQ,GAKjB;IACF,IAAI,EAAE,iBAAiB,EAAiC;IACxD,IAAI,EAAE,YAAY;IAElB,QAAQ,CAAO,QAAgB,EAAE,OAAsC;QACrE,IAAI,QAAQ,KAAK,MAAM,IAAI,QAAQ,KAAK,MAAM,IAAI,QAAQ,KAAK,UAAU,EAAE,CAAC;YAC1E,MAAM,IAAI,KAAK,CAAC,sCAAsC,QAAQ,GAAG,CAAC,CAAC;QACrE,CAAC;QACD,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAEjC,0CAA0C;QACzC,QAAgB,CAAC,QAAQ,CAAC,GAAG,CAC5B,EAAU,EACV,IAA8H,EACtH,EAAE;YACV,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACpC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;YAC/B,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAE3F,MAAM,KAAK,GAAW,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,EAAE;gBACtE,MAAM,MAAM,GAAG,GAAG,EAAE,IAAI,OAAO,EAAE,CAAC;gBAClC,MAAM,QAAQ,GAAG,GAAG,EAAE,MAAM,OAAO,EAAE,CAAC;gBACtC,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAC;gBACrC,MAAM,OAAO,GAAG,CAAC,GAAG,YAAY,EAAE,GAAG,QAAQ,CAAC,CAAC;gBAE/C,MAAM,OAAO,GAAS;oBACpB,IAAI,EAAE;wBACJ,EAAE,EAAE,MAAM;wBACV,IAAI,EAAE,QAAQ;wBACd,IAAI,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;wBAC9C,QAAQ,EAAE,QAAQ,CAAC,QAAQ;qBAC5B;oBACD,IAAI,EAAE,QAAQ;oBACd,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;wBAChB,IAAI,QAAQ,CAAC,QAAQ;4BAAE,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;wBACnD,MAAM,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;oBAC7C,CAAC;iBACF,CAAC;gBAEF,YAAY,CAAC;oBACX,EAAE,EAAE,MAAM;oBACV,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;oBAC9C,OAAO,EAAE,EAAE;oBACX,QAAQ,EAAE;wBACR,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,EAAE;wBAC7B,QAAQ;wBACR,OAAO;wBACP,YAAY,EAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC;wBAC1C,SAAS,EAAE,KAAK;wBAChB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;qBAC5B;iBACF,CAAC,CAAC;gBAEH,OAAO,OAAO,CAAC;YACjB,CAAC,CAAC,CAAC;YAEH,OAAO,KAAK,CAAC;QACf,CAAC,CAAC;IACJ,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"contract.js","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -724,7 +724,7 @@ export type { FromCsvOptions, FromDirConcatOptions, FromDirOptions, FromJsonOpti
724
724
  export { configure, resolveTemplate } from "./configure.js";
725
725
  export { definePlugin } from "./plugin.js";
726
726
  export { contract } from "./contract.js";
727
- export type { ContractCase, ContractExpect, HttpContractSpec, HttpContract, HttpContractDefaults, HttpContractRoot, HttpContractFactory, HttpSecurityScheme, ContractProtocolAdapter, ContractCaseMeta, ContractRegistryMeta, CaseRequires, CaseDefaultRun, } from "./contract-types.js";
727
+ export type { ContractCase, ContractExpect, HttpContractSpec, HttpContract, HttpContractDefaults, HttpContractRoot, HttpContractFactory, HttpSecurityScheme, ContractProtocolAdapter, ContractCaseMeta, ContractRegistryMeta, CaseRequires, CaseDefaultRun, CaseLifecycle, CaseSeverity, FailureKind, FailureClassification, ContractProjection, ProtocolContract, NormalizedHeaders, ContractExample, ParamValue, Extensions, RequestSpec, } from "./contract-types.js";
728
728
  export { defineSession, session } from "./session.js";
729
729
  export { Expectation, ExpectFailError } from "./expect.js";
730
730
  export type { AssertEmitter, AssertionEmission, CustomMatchers, MatcherFn, MatcherResult } from "./expect.js";