@erenthedeveloper0/zen-openapi 0.1.0-alpha.3 → 0.1.0-alpha.5

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/README.md CHANGED
@@ -45,7 +45,9 @@ because Zen's serializer drops any field a response schema does not declare: a
45
45
  document generated from the raw schema would promise clients fields that can
46
46
  never arrive. Parameter serialization follows the route's actual coercion
47
47
  settings, and a negotiated route publishes one `content` entry per media type,
48
- in the server's preference order.
48
+ in the server's preference order. A property marked `writeOnly` is withheld from
49
+ every response schema — boot refuses one there anyway — and kept in requests,
50
+ where it belongs.
49
51
 
50
52
  ## Breaking-change detection
51
53
 
@@ -74,6 +76,11 @@ where it repeats.
74
76
  `strict` (turn documentation warnings into boot errors — worth enabling once an
75
77
  API is public), and `onDocument` (receives the finished document at boot).
76
78
 
79
+ A plugin that authenticates can declare its own scheme, so the application does
80
+ not restate it: `app.meta('openapi.securitySchemes', { bearer: { type: 'http',
81
+ scheme: 'bearer' } })` in its `setup` is merged into `components.securitySchemes`.
82
+ The application's `securitySchemes` option wins a name both declare.
83
+
77
84
  ## Documentation
78
85
 
79
86
  [ARCHITECTURE.md §29](https://github.com/erenthedeveloper0/zen/blob/main/ARCHITECTURE.md#29-openapi--code-generation) ·
@@ -1 +1 @@
1
- {"version":3,"file":"document.d.ts","sourceRoot":"","sources":["../src/document.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,QAAQ,EAAqE,WAAW,EACxF,WAAW,EACZ,MAAM,6BAA6B,CAAA;AAEpC,OAAO,EAEL,KAAK,aAAa,EACnB,MAAM,aAAa,CAAA;AACpB,OAAO,KAAK,EACV,YAAY,EAAiB,eAAe,EAC0B,mBAAmB,EACzF,cAAc,EAAE,YAAY,EAAE,SAAS,EACxC,MAAM,YAAY,CAAA;AAEnB;;;;;;;;;;;;GAYG;AAEH,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACrC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACzC,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,YAAY,EAAE,GAAG,SAAS,CAAA;IACtD,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,SAAS,EAAE,GAAG,SAAS,CAAA;IAChD,QAAQ,CAAC,YAAY,CAAC,EAAE,YAAY,GAAG,SAAS,CAAA;IAChD,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,mBAAmB,EAAE,GAAG,SAAS,CAAA;IAC9D,QAAQ,CAAC,eAAe,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,GAAG,SAAS,CAAA;IAC/E,QAAQ,CAAC,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAAA;IAC7G,QAAQ,CAAC,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAAA;IACzG;;;;;OAKG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IAC7C,+EAA+E;IAC/E,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,WAAW,KAAK,OAAO,CAAC,GAAG,SAAS,CAAA;CACjE;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAA;IAClC;;;;;;OAMG;IACH,QAAQ,CAAC,WAAW,EAAE,SAAS,aAAa,EAAE,CAAA;CAC/C;AA+BD,wBAAgB,eAAe,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,cAAc,GAAG,aAAa,CAEvF;AA0hBD,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,QAAQ,EAAE,SAAS,WAAW,EAAE,CAAA;IACzC,kFAAkF;IAClF,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;CAC/B;AAED;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,SAAS,WAAW,EAAE,GAAG,WAAW,EAAE,CAkB5E"}
1
+ {"version":3,"file":"document.d.ts","sourceRoot":"","sources":["../src/document.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,QAAQ,EAAqE,WAAW,EACxF,WAAW,EACZ,MAAM,6BAA6B,CAAA;AAEpC,OAAO,EAEL,KAAK,aAAa,EACnB,MAAM,aAAa,CAAA;AACpB,OAAO,KAAK,EACV,YAAY,EAAiB,eAAe,EAC0B,mBAAmB,EACzF,cAAc,EAAE,YAAY,EAAE,SAAS,EACxC,MAAM,YAAY,CAAA;AAEnB;;;;;;;;;;;;GAYG;AAEH,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACrC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACzC,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,YAAY,EAAE,GAAG,SAAS,CAAA;IACtD,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,SAAS,EAAE,GAAG,SAAS,CAAA;IAChD,QAAQ,CAAC,YAAY,CAAC,EAAE,YAAY,GAAG,SAAS,CAAA;IAChD,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,mBAAmB,EAAE,GAAG,SAAS,CAAA;IAC9D,QAAQ,CAAC,eAAe,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,GAAG,SAAS,CAAA;IAC/E,QAAQ,CAAC,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAAA;IAC7G,QAAQ,CAAC,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAAA;IACzG;;;;;OAKG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IAC7C,+EAA+E;IAC/E,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,WAAW,KAAK,OAAO,CAAC,GAAG,SAAS,CAAA;CACjE;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAA;IAClC;;;;;;OAMG;IACH,QAAQ,CAAC,WAAW,EAAE,SAAS,aAAa,EAAE,CAAA;CAC/C;AA+BD,wBAAgB,eAAe,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,cAAc,GAAG,aAAa,CAEvF;AAsmBD,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,QAAQ,EAAE,SAAS,WAAW,EAAE,CAAA;IACzC,kFAAkF;IAClF,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;CAC/B;AAED;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,SAAS,WAAW,EAAE,GAAG,WAAW,EAAE,CAkB5E"}
package/dist/document.js CHANGED
@@ -1,4 +1,4 @@
1
- import { toJsonSchema, isVariantRecord, normaliseMediaType, isMediaProblem } from '@erenthedeveloper0/zen-core';
1
+ import { toJsonSchema, isVariantRecord, normaliseMediaType, isMediaProblem, closest } from '@erenthedeveloper0/zen-core';
2
2
  import { Components, canonical, declaredName, projectSchema, sanitizeName, } from "./schema.js";
3
3
  const METHOD_TO_OPERATION = {
4
4
  GET: 'get', POST: 'post', PUT: 'put', PATCH: 'patch',
@@ -73,12 +73,13 @@ class DocumentBuilder {
73
73
  document['tags'] = tags;
74
74
  const schemas = this.#components.toRecord();
75
75
  const hasSchemas = Object.keys(schemas).length > 0;
76
- if (hasSchemas || this.#opts.securitySchemes !== undefined) {
76
+ const securitySchemes = this.#securitySchemes();
77
+ if (hasSchemas || securitySchemes !== undefined) {
77
78
  const components = {};
78
79
  if (hasSchemas)
79
80
  components['schemas'] = schemas;
80
- if (this.#opts.securitySchemes !== undefined)
81
- components['securitySchemes'] = this.#opts.securitySchemes;
81
+ if (securitySchemes !== undefined)
82
+ components['securitySchemes'] = securitySchemes;
82
83
  document['components'] = components;
83
84
  }
84
85
  // A component can be reserved under a provisional name and only later turn
@@ -438,10 +439,69 @@ class DocumentBuilder {
438
439
  }
439
440
  }
440
441
  }
442
+ /**
443
+ * The application's security schemes, and the ones its plugins declared —
444
+ * rfcs/0001 §10.2, where `app.meta` is "consumed by OpenAPI".
445
+ *
446
+ * A plugin that authenticates knows its scheme and the application does not:
447
+ * a bearer-token plugin writes
448
+ * `app.meta('openapi.securitySchemes', { bearer: { type: 'http', scheme: 'bearer' } })`,
449
+ * which `graph.meta` carries as `<plugin>.openapi.securitySchemes`, and the
450
+ * scheme appears in `components.securitySchemes` without the application
451
+ * restating it. The application's own `securitySchemes` option wins a name
452
+ * both declare — it is the explicit statement, as `app.use`'s second argument
453
+ * is over a factory's options.
454
+ *
455
+ * Metadata the generator cannot use is a warning, not a silence: an
456
+ * `openapi.` field it does not read (`openapi.securitySchemas` is told the
457
+ * one it meant), a value that is not a record of schemes, and a name two
458
+ * plugins declare differently — the first declaration is kept and the second
459
+ * named. A key outside the `openapi.` family is somebody else's metadata and
460
+ * is left alone.
461
+ */
462
+ #securitySchemes() {
463
+ const own = this.#opts.securitySchemes;
464
+ const merged = { ...own };
465
+ const declaredBy = new Map();
466
+ for (const [key, value] of this.#graph.meta) {
467
+ const at = key.lastIndexOf(META_FAMILY);
468
+ if (at <= 0)
469
+ continue;
470
+ const plugin = key.slice(0, at);
471
+ const field = key.slice(at + META_FAMILY.length);
472
+ if (!META_FIELDS.includes(field)) {
473
+ const meant = closest(field, META_FIELDS);
474
+ this.#warn('ZEN_OAS_META_INVALID', `Plugin "${plugin}" wrote metadata "openapi.${field}", which the generator does not read.`, key, meant === null ? `It reads ${META_FIELDS.map((f) => `"openapi.${f}"`).join(', ')}.` : `Did you mean "openapi.${meant}"?`);
475
+ continue;
476
+ }
477
+ if (typeof value !== 'object' || value === null || Array.isArray(value)) {
478
+ this.#warn('ZEN_OAS_META_INVALID', `Plugin "${plugin}" wrote "openapi.securitySchemes" as ${Array.isArray(value) ? 'an array' : typeof value}; ` +
479
+ 'it is a record of security schemes keyed by name, and was ignored.', key, "Write app.meta('openapi.securitySchemes', { name: { type: 'http', scheme: 'bearer' } }).");
480
+ continue;
481
+ }
482
+ for (const [name, scheme] of Object.entries(value)) {
483
+ if (own !== undefined && Object.hasOwn(own, name))
484
+ continue;
485
+ const first = declaredBy.get(name);
486
+ if (first === undefined) {
487
+ merged[name] = scheme;
488
+ declaredBy.set(name, plugin);
489
+ }
490
+ else if (canonical(merged[name]) !== canonical(scheme)) {
491
+ this.#warn('ZEN_OAS_META_INVALID', `Plugins "${first}" and "${plugin}" both declare the security scheme "${name}", differently; ` +
492
+ `"${first}"'s is documented.`, key, "Declare the scheme once, in the application's securitySchemes option, which wins over both.");
493
+ }
494
+ }
495
+ }
496
+ return Object.keys(merged).length === 0 ? undefined : merged;
497
+ }
441
498
  #warn(code, message, where, hint) {
442
499
  this.#diagnostics.push({ severity: 'warning', code, message, where, hint });
443
500
  }
444
501
  }
502
+ /** The `graph.meta` family this generator reads, `<plugin>.openapi.<field>` (§10.2). */
503
+ const META_FAMILY = '.openapi.';
504
+ const META_FIELDS = ['securitySchemes'];
445
505
  const REF_PREFIX = '#/components/schemas/';
446
506
  /** Rewrites every `$ref` through the alias map, wherever it appears. */
447
507
  function rewriteRefs(node, aliases) {
@@ -1 +1 @@
1
- {"version":3,"file":"document.js","sourceRoot":"","sources":["../src/document.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"document.js","sourceRoot":"","sources":["../src/document.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,kBAAkB,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAA;AACxH,OAAO,EACL,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,YAAY,GAEjE,MAAM,aAAa,CAAA;AAwDpB,MAAM,mBAAmB,GAA4C;IACnE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO;IACpD,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS;CACnD,CAAA;AAED,MAAM,WAAW,GAAG,qCAAqC,CAAA;AAsBzD,gFAAgF;AAEhF,MAAM,UAAU,eAAe,CAAC,KAAe,EAAE,OAAuB;IACtE,OAAO,IAAI,eAAe,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,KAAK,EAAE,CAAA;AACpD,CAAC;AAED,MAAM,eAAe;IACV,MAAM,CAAU;IAChB,KAAK,CAAgB;IACrB,YAAY,GAAoB,EAAE,CAAA;IAClC,WAAW,GAAG,IAAI,UAAU,EAAE,CAAA;IAC9B,KAAK,GAAgB,EAAE,CAAA;IACvB,aAAa,GAAG,IAAI,GAAG,EAAU,CAAA;IACjC,YAAY,GAAG,IAAI,GAAG,EAAkC,CAAA;IACxD,SAAS,GAAG,IAAI,GAAG,EAAU,CAAA;IAEtC,YAAY,KAAe,EAAE,OAAuB;QAClD,IAAI,CAAC,MAAM,GAAG,KAAK,CAAA;QACnB,IAAI,CAAC,KAAK,GAAG,OAAO,CAAA;QACpB,KAAK,MAAM,UAAU,IAAI,KAAK,CAAC,WAAW;YAAE,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,EAAE,UAAU,CAAC,CAAA;IAC9F,CAAC;IAED,KAAK;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAA;QACzE,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,KAAK,KAAK,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,CAAA;QAEzE,0EAA0E;QAC1E,2EAA2E;QAC3E,6EAA6E;QAC7E,IAAI,QAAQ;YAAE,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,gBAAgB,EAAE,eAAgC,EAAE,qBAAqB,CAAC,CAAA;QAE/G,MAAM,KAAK,GAAG,IAAI,GAAG,EAAmC,CAAA;QAExD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,MAAM,MAAM,GAAG,mBAAmB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;YAChD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACzB,IAAI,CAAC,KAAK,CAAC,yBAAyB,EAAE,GAAG,KAAK,CAAC,MAAM,6CAA6C,EAAE,GAAG,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,CAAA;gBACpI,SAAQ;YACV,CAAC;YACD,KAAK,MAAM,OAAO,IAAI,YAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACnD,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAA;gBAC9C,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;gBACjC,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAA;gBAC3D,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,SAAS,EAAE,CAAC;oBAC/B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;wBACrB,QAAQ,EAAE,OAAO;wBACjB,IAAI,EAAE,6BAA6B;wBACnC,OAAO,EAAE,sBAAsB,KAAK,CAAC,MAAM,IAAI,OAAO,CAAC,QAAQ,6CAA6C;wBAC5G,KAAK,EAAE,GAAG,KAAK,CAAC,MAAM,IAAI,OAAO,CAAC,QAAQ,EAAE;wBAC5C,IAAI,EAAE,4FAA4F;qBACnG,CAAC,CAAA;oBACF,SAAQ;gBACV,CAAC;gBACD,IAAI,CAAC,MAAM,CAAC,GAAG,SAAS,CAAA;YAC1B,CAAC;QACH,CAAC;QAED,IAAI,CAAC,mBAAmB,EAAE,CAAA;QAE1B,MAAM,QAAQ,GAA4B;YACxC,OAAO,EAAE,OAAO;YAChB,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC;YAC3B,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC;SACzB,CAAA;QACD,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,KAAK,SAAS;YAAE,QAAQ,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAA;QAC9E,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,KAAK,SAAS;YAAE,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAA;QACjF,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY,KAAK,SAAS;YAAE,QAAQ,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAA;QAE7F,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;QAChF,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;YAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI,CAAA;QAE5C,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAA;QAC3C,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,CAAA;QAClD,MAAM,eAAe,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAA;QAC/C,IAAI,UAAU,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;YAChD,MAAM,UAAU,GAA4B,EAAE,CAAA;YAC9C,IAAI,UAAU;gBAAE,UAAU,CAAC,SAAS,CAAC,GAAG,OAAO,CAAA;YAC/C,IAAI,eAAe,KAAK,SAAS;gBAAE,UAAU,CAAC,iBAAiB,CAAC,GAAG,eAAe,CAAA;YAClF,QAAQ,CAAC,YAAY,CAAC,GAAG,UAAU,CAAA;QACrC,CAAC;QAED,2EAA2E;QAC3E,0EAA0E;QAC1E,yEAAyE;QACzE,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAA;QAC1C,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAE,WAAW,CAAC,QAAQ,EAAE,OAAO,CAA6B,CAAA;QAEzG,OAAO,EAAE,QAAQ,EAAE,KAAmC,EAAE,WAAW,EAAE,IAAI,CAAC,YAAY,EAAE,CAAA;IAC1F,CAAC;IAED,4EAA4E;IAE5E,UAAU,CAAC,KAAkB,EAAE,OAAoB,EAAE,QAAiB;QACpE,MAAM,KAAK,GAAG,GAAG,KAAK,CAAC,MAAM,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAA;QACnD,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;QAC5B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;QACzC,KAAK,MAAM,GAAG,IAAI,IAAI;YAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAE/C,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,IAAI,KAAK,CAAC,IAAI,IAAI,kBAAkB,CAAC,KAAK,CAAC,CAAA;QAC1E,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CACnC,OAAO,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,KAAK,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,EACzE,KAAK,CACN,CAAA;QAED,MAAM,UAAU,GAAsB;YACpC,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC;YAChD,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,QAAQ,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;YAC3F,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,QAAQ,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;YAChG,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,QAAQ,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;SACjG,CAAA;QAED,MAAM,SAAS,GAA4B;YACzC,WAAW;YACX,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC;SACnD,CAAA;QACD,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS;YAAE,SAAS,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAA;QACnE,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS;YAAE,SAAS,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAA;QAC/E,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;YAAE,SAAS,CAAC,MAAM,CAAC,GAAG,IAAI,CAAA;QAC7C,IAAI,IAAI,CAAC,UAAU;YAAE,SAAS,CAAC,YAAY,CAAC,GAAG,IAAI,CAAA;QACnD,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC;YAAE,SAAS,CAAC,YAAY,CAAC,GAAG,UAAU,CAAA;QAE/D,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;QAC5C,IAAI,IAAI,KAAK,IAAI;YAAE,SAAS,CAAC,aAAa,CAAC,GAAG,IAAI,CAAA;QAClD,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS;YAAE,SAAS,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAA;QACtE,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS;YAAE,SAAS,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,YAAY,CAAA;QAElF,4CAA4C;QAC5C,EAAE;QACF,uEAAuE;QACvE,qEAAqE;QACrE,yEAAyE;QACzE,mCAAmC;QACnC,EAAE;QACF,qEAAqE;QACrE,wEAAwE;QACxE,qEAAqE;QACrE,oDAAoD;QACpD,IAAI,KAAK,CAAC,OAAO,KAAK,IAAI;YAAE,SAAS,CAAC,kBAAkB,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,EAAE,CAAA;QAE5E,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,YAAY,CAAC,KAAkB,EAAE,KAAa;QAC5C,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAA;QAC9B,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,IAAI;YAAE,OAAO,IAAI,CAAA;QAEpD,yEAAyE;QACzE,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QACxC,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAClB,IAAI,CAAC,KAAK,CACR,8BAA8B,EAC9B,4GAA4G,EAC5G,GAAG,KAAK,SAAS,EACjB,0GAA0G,CAC3G,CAAA;YACD,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,kBAAkB,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,CAAA;QAC5E,CAAC;QAED,6EAA6E;QAC7E,wEAAwE;QACxE,qEAAqE;QACrE,wDAAwD;QACxD,MAAM,KAAK,GAA4B,EAAE,CAAA;QACzC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,KAAK,SAAS,EAAE,GAAG,KAAK,CAAC,IAAI,IAAI,kBAAkB,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE;YAC1H,KAAK,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAA;QAC1B,CAAC,CAAC,CAAA;QACF,KAAK,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,SAAS,CAAA;QAC/B,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,kBAAkB,EAAE,KAAkC,EAAE,EAAE,CAAA;IAChG,CAAC;IAED,UAAU,CAAC,KAAkB,EAAE,KAAa,EAAE,QAAiB;QAC7D,MAAM,SAAS,GAAmC,EAAE,CAAA;QACpD,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,QAA0D,CAAA;QAExF,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,IAAI,CAAC,KAAK,CACR,6BAA6B,EAC7B,8EAA8E,EAC9E,KAAK,EACL,4GAA4G,CAC7G,CAAA;YACD,SAAS,CAAC,SAAS,CAAC,GAAG,EAAE,WAAW,EAAE,uDAAuD,EAAE,CAAA;QACjG,CAAC;aAAM,CAAC;YACN,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjF,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAA;gBAC/B,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;oBAC5C,SAAS,CAAC,MAAM,CAAC,GAAG,EAAE,WAAW,EAAE,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAA;oBAC/D,SAAQ;gBACV,CAAC;gBAED,uEAAuE;gBACvE,uEAAuE;gBACvE,qEAAqE;gBACrE,mEAAmE;gBACnE,mEAAmE;gBACnE,EAAE;gBACF,oEAAoE;gBACpE,wEAAwE;gBACxE,uEAAuE;gBACvE,4DAA4D;gBAC5D,IAAI,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC;oBAC5B,MAAM,OAAO,GAA8C,EAAE,CAAA;oBAC7D,MAAM,OAAO,GAAG,KAAK,CAAC,WAAW,EAAE,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;oBAChE,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;wBAC5B,MAAM,OAAO,GAAG,aAAa,CAAC,MAAiC,EAAE,KAAK,CAAC,CAAA;wBACvE,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,SAAS;4BAAE,SAAQ;wBACvD,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,CACtC,OAAO,EAAE,KAAK,EAAE,GAAG,KAAK,eAAe,MAAM,KAAK,KAAK,GAAG,CAC3D,CAAA;wBACD,IAAI,SAAS,KAAK,IAAI;4BAAE,OAAO,CAAC,KAAK,CAAC,GAAG,SAAS,CAAA;oBACpD,CAAC;oBACD,SAAS,CAAC,MAAM,CAAC,GAAG;wBAClB,WAAW,EAAE,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;wBACvC,OAAO;qBACR,CAAA;oBACD,SAAQ;gBACV,CAAC;gBAED,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,eAAe,MAAM,EAAE,CAAC,CAAA;gBACxF,SAAS,CAAC,MAAM,CAAC,GAAG,SAAS,KAAK,IAAI;oBACpC,CAAC,CAAC,EAAE,WAAW,EAAE,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,kBAAkB,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE;oBAC9F,CAAC,CAAC;wBACE,WAAW,EAAE,aAAa,CAAC,YAAY,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;wBAC9F,OAAO,EAAE,EAAE,kBAAkB,EAAE,SAAS,EAAE;qBAC3C,CAAA;YACP,CAAC;QACH,CAAC;QAED,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,OAAO,GAAmB;gBAC9B,WAAW,EAAE,4BAA4B;gBACzC,OAAO,EAAE,EAAE,0BAA0B,EAAE,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE;aAC3E,CAAA;YACD,IAAI,SAAS,CAAC,KAAK,CAAC,KAAK,SAAS;gBAAE,SAAS,CAAC,KAAK,CAAC,GAAG,OAAO,CAAA;YAC9D,IAAI,SAAS,CAAC,KAAK,CAAC,KAAK,SAAS;gBAAE,SAAS,CAAC,KAAK,CAAC,GAAG,OAAO,CAAA;QAChE,CAAC;QACD,OAAO,SAAS,CAAA;IAClB,CAAC;IAED;;;;;;;;;;OAUG;IACH,iBAAiB,CACf,MAAe,EACf,KAAkB,EAClB,KAAa;QAEb,mEAAmE;QACnE,MAAM,IAAI,GAAG,YAAY,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;QAC3C,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAClB,IAAI,CAAC,KAAK,CACR,8BAA8B,EAC9B,yGAAyG,EACzG,KAAK,EACL,0GAA0G,CAC3G,CAAA;YACD,OAAO,IAAI,CAAA;QACb,CAAC;QAED,MAAM,KAAK,GAA4B,EAAE,CAAA;QACzC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CACtB,IAAI,EAAE,MAAgB,EAAE,IAAI,EAAE,KAAK,EACnC,YAAY,CAAC,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,IAAI,kBAAkB,CAAC,KAAK,CAAC,UAAU,EAC1E,CAAC,SAAS,EAAE,EAAE,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,SAAS,CAAA,CAAC,CAAC,CAC/C,CAAA;QACD,KAAK,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,SAAS,CAAA;QAC/B,OAAO,KAAkC,CAAA;IAC3C,CAAC;IAED,4EAA4E;IAE5E,eAAe,CAAC,QAAgC,EAAE,KAAa;QAC7D,MAAM,GAAG,GAAsB,EAAE,CAAA;QACjC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ;gBAAE,SAAQ;YAEvC,IAAI,OAAO,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;gBAChC,oEAAoE;gBACpE,qEAAqE;gBACrE,oEAAoE;gBACpE,GAAG,CAAC,IAAI,CAAC;oBACP,IAAI,EAAE,OAAO,CAAC,KAAK;oBACnB,EAAE,EAAE,MAAM;oBACV,QAAQ,EAAE,IAAI;oBACd,WAAW,EAAE,mDAAmD;oBAChE,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBAC1B,gBAAgB,EAAE,IAAI;iBACvB,CAAC,CAAA;gBACF,SAAQ;YACV,CAAC;YAED,wEAAwE;YACxE,gDAAgD;YAChD,IAAI,MAAM,GAAkB,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAA;YAC9C,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBAC/B,MAAM,SAAS,GAA0B,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;gBACjF,IAAI,SAAS,EAAE,UAAU,KAAK,SAAS;oBAAE,MAAM,GAAG,SAAS,CAAC,UAA2B,CAAA;qBAClF,CAAC;oBACJ,IAAI,CAAC,KAAK,CACR,iCAAiC,EACjC,oBAAoB,OAAO,CAAC,IAAI,sCAAsC,OAAO,CAAC,KAAK,oCAAoC,EACvH,KAAK,EACL,0FAA0F,CAC3F,CAAA;gBACH,CAAC;YACH,CAAC;YACD,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAA;QACvE,CAAC;QACD,OAAO,GAAG,CAAA;IACZ,CAAC;IAED;;;;OAIG;IACH,iBAAiB,CACf,MAAe,EACf,QAA2B,EAC3B,KAAa,EACb,QAAgC;QAEhC,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,IAAI;YAAE,OAAO,EAAE,CAAA;QAEtD,MAAM,IAAI,GAAG,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;QAC1C,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAClB,IAAI,CAAC,KAAK,CACR,8BAA8B,EAC9B,OAAO,QAAQ,oFAAoF,EACnG,KAAK,EACL,0GAA0G,CAC3G,CAAA;YACD,OAAO,EAAE,CAAA;QACX,CAAC;QAED,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,EAAE;YACpC,UAAU,EAAE,IAAI,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,CAAC,YAAY,EAAE,KAAK;SACnF,CAA4B,CAAA;QAE7B,MAAM,UAAU,GAAG,SAAS,CAAC,YAAY,CAA8C,CAAA;QACvF,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC7B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;gBACrB,QAAQ,EAAE,MAAM;gBAChB,IAAI,EAAE,2BAA2B;gBACjC,OAAO,EAAE,OAAO,QAAQ,oFAAoF;gBAC5G,KAAK;gBACL,IAAI,EAAE,+GAA+G;aACtH,CAAC,CAAA;YACF,OAAO,EAAE,CAAA;QACX,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAE,SAAS,CAAC,UAAU,CAA0B,IAAI,EAAE,CAAC,CAAA;QAC/E,MAAM,GAAG,GAAsB,EAAE,CAAA;QACjC,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YAC3C,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,CAAA;YAC/B,IAAI,MAAM,KAAK,SAAS;gBAAE,SAAQ;YAClC,MAAM,SAAS,GAA4B,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAA;YACzE,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC;gBAAE,SAAS,CAAC,UAAU,CAAC,GAAG,IAAI,CAAA;YACpD,IAAI,OAAO,MAAM,CAAC,WAAW,KAAK,QAAQ;gBAAE,SAAS,CAAC,aAAa,CAAC,GAAG,MAAM,CAAC,WAAW,CAAA;YACzF,IAAI,MAAM,CAAC,YAAY,CAAC,KAAK,IAAI;gBAAE,SAAS,CAAC,YAAY,CAAC,GAAG,IAAI,CAAA;YACjE,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAA;YAC7D,GAAG,CAAC,IAAI,CAAC,SAAuC,CAAC,CAAA;QACnD,CAAC;QACD,OAAO,GAAG,CAAA;IACZ,CAAC;IAED,4EAA4E;IAE5E,OAAO,CACL,IAAgB,EAChB,QAAuB,EACvB,MAAe,EACf,KAAa,EACb,IAAY,EACZ,KAAsC;QAEtC,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,EAAE;YACpC,UAAU,EAAE,IAAI,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,CAAC,YAAY,EAAE,KAAK;SAC5E,CAAC,CAAA;QACF,MAAM,GAAG,GAAc,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,CAAA;QAC7G,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QACpB,OAAO,GAAG,CAAA;IACZ,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACH,mBAAmB;QACjB,MAAM,UAAU,GAAG,IAAI,GAAG,EAAuB,CAAA;QACjD,MAAM,OAAO,GAAG,IAAI,GAAG,EAAuB,CAAA;QAE9C,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC7B,IAAI,GAAG,CAAC,QAAQ,KAAK,IAAI;gBAAE,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAA;YAC9D,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;QAC/B,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,GAAG,EAAa,CAAA;QAEjC,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC7B,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;gBAAE,SAAQ;YAC3B,0EAA0E;YAC1E,0EAA0E;YAC1E,wCAAwC;YACxC,IAAI,GAAG,CAAC,SAAS,CAAC,IAAI,KAAK,SAAS;gBAAE,SAAQ;YAE9C,MAAM,IAAI,GAAG,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;YACnC,2EAA2E;YAC3E,oEAAoE;YACpE,sCAAsC;YACtC,MAAM,SAAS,GAAG,CAAC,GAAG,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;iBACtF,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,KAAK,GAAG,CAAC,KAAK,CAAC,CAAA;YAC/C,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YAClD,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,CAAA;YAE5D,IAAI,IAAI,KAAK,IAAI,IAAI,CAAC,MAAM;gBAAE,SAAQ;YAEtC,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;gBAClB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;oBACrB,QAAQ,EAAE,MAAM;oBAChB,IAAI,EAAE,0BAA0B;oBAChC,OAAO,EAAE,kCAAkC,UAAU,CAAC,MAAM,0CAA0C;oBACtG,KAAK,EAAE,GAAG,CAAC,KAAK;oBAChB,IAAI,EAAE,+FAA+F;iBACtG,CAAC,CAAA;YACJ,CAAC;YAED,MAAM,GAAG,GAAG,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,IAAI,IAAI,GAAG,CAAC,KAAK,EAAE,CAAA;YAC/E,MAAM,SAAS,GAAG,MAAM,CAAC,YAAY,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,CAAA;YACxD,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAA;YAChD,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,GAAG,EAAE,OAAO,CAAC,CAAA;YAChF,IAAI,IAAI,KAAK,IAAI,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,KAAK,GAAG,SAAS,GAAG,OAAO,IAAI,EAAE,EAAE,EAAE,CAAC;gBAC7F,IAAI,CAAC,KAAK,CACR,yBAAyB,EACzB,0CAA0C,IAAI,iCAAiC,SAAS,IAAI,EAC5F,GAAG,CAAC,KAAK,EACT,4EAA4E,CAC7E,CAAA;YACH,CAAC;YAED,MAAM,GAAG,GAAkB,EAAE,IAAI,EAAE,wBAAwB,SAAS,EAAE,EAAE,CAAA;YACxE,KAAK,MAAM,MAAM,IAAI,UAAU,EAAE,CAAC;gBAChC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;gBACjB,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;YAClB,CAAC;QACH,CAAC;IACH,CAAC;IAED,4EAA4E;IAE5E,OAAO,CAAC,KAAkB;QACxB,IAAI,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,IAAI;YAAE,OAAO,IAAI,CAAA;QAClD,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,KAAK,IAAI,CAAA;IAC7C,CAAC;IAED,iFAAiF;IACjF,KAAK,CAAC,KAAkB,EAAE,KAAoC;QAC5D,MAAM,KAAK,GAAe,EAAE,CAAA;QAC5B,IAAI,OAAO,GAAG,KAAK,CAAC,UAAU,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAA;QAC7F,OAAO,OAAO,KAAK,SAAS,EAAE,CAAC;YAC7B,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAA;YAChC,OAAO,GAAG,OAAO,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QACvF,CAAC;QACD,MAAM,GAAG,GAAa,EAAE,CAAA;QACxB,KAAK,MAAM,IAAI,IAAI,KAAK;YAAE,KAAK,MAAM,GAAG,IAAI,IAAI;gBAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC;oBAAE,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QACvF,KAAK,MAAM,GAAG,IAAI,KAAK,IAAI,EAAE;YAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC;gBAAE,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QACpE,OAAO,GAAG,CAAA;IACZ,CAAC;IAED,YAAY,CAAC,IAAY,EAAE,KAAa;QACtC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAClC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;YAC5B,OAAO,IAAI,CAAA;QACb,CAAC;QACD,IAAI,CAAC,KAAK,CACR,gCAAgC,EAChC,gBAAgB,IAAI,iDAAiD,EACrE,KAAK,EACL,2FAA2F,CAC5F,CAAA;QACD,KAAK,IAAI,CAAC,GAAG,CAAC,GAAI,CAAC,EAAE,EAAE,CAAC;YACtB,MAAM,SAAS,GAAG,GAAG,IAAI,IAAI,CAAC,EAAE,CAAA;YAChC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;gBACvC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;gBACjC,OAAO,SAAS,CAAA;YAClB,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;;;;;OAmBG;IACH,gBAAgB;QACd,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAA;QACtC,MAAM,MAAM,GAAmC,EAAE,GAAG,GAAG,EAAE,CAAA;QACzD,MAAM,UAAU,GAAG,IAAI,GAAG,EAAkB,CAAA;QAE5C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YAC5C,MAAM,EAAE,GAAG,GAAG,CAAC,WAAW,CAAC,WAAW,CAAC,CAAA;YACvC,IAAI,EAAE,IAAI,CAAC;gBAAE,SAAQ;YACrB,MAAM,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;YAC/B,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,EAAE,GAAG,WAAW,CAAC,MAAM,CAAC,CAAA;YAChD,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;gBACjC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,EAAE,WAAW,CAAC,CAAA;gBACzC,IAAI,CAAC,KAAK,CACR,sBAAsB,EACtB,WAAW,MAAM,6BAA6B,KAAK,uCAAuC,EAC1F,GAAG,EACH,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,YAAY,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,yBAAyB,KAAK,IAAI,CACzH,CAAA;gBACD,SAAQ;YACV,CAAC;YACD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBACxE,IAAI,CAAC,KAAK,CACR,sBAAsB,EACtB,WAAW,MAAM,wCAAwC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,KAAK,IAAI;oBAC3G,oEAAoE,EACtE,GAAG,EACH,0FAA0F,CAC3F,CAAA;gBACD,SAAQ;YACV,CAAC;YACD,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAuC,CAAC,EAAE,CAAC;gBACrF,IAAI,GAAG,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC;oBAAE,SAAQ;gBAC3D,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;gBAClC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;oBACxB,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAA;oBACrB,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;gBAC9B,CAAC;qBAAM,IAAI,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;oBACzD,IAAI,CAAC,KAAK,CACR,sBAAsB,EACtB,YAAY,KAAK,UAAU,MAAM,uCAAuC,IAAI,kBAAkB;wBAC5F,IAAI,KAAK,oBAAoB,EAC/B,GAAG,EACH,6FAA6F,CAC9F,CAAA;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAA;IAC9D,CAAC;IAED,KAAK,CAAC,IAAY,EAAE,OAAe,EAAE,KAAa,EAAE,IAAa;QAC/D,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;IAC7E,CAAC;CACF;AAED,wFAAwF;AACxF,MAAM,WAAW,GAAG,WAAW,CAAA;AAC/B,MAAM,WAAW,GAAsB,CAAC,iBAAiB,CAAC,CAAA;AAE1D,MAAM,UAAU,GAAG,uBAAuB,CAAA;AAE1C,wEAAwE;AACxE,SAAS,WAAW,CAAC,IAAa,EAAE,OAAoC;IACtE,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAA;IAC9E,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,IAAI,CAAA;IAE1D,MAAM,GAAG,GAA4B,EAAE,CAAA;IACvC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAA+B,CAAC,EAAE,CAAC;QAC3E,IAAI,GAAG,KAAK,MAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAChF,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAA;YAC1D,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,UAAU,GAAG,MAAM,EAAE,CAAA;YAClE,SAAQ;QACV,CAAC;QACD,GAAG,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;IACxC,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,SAAS,IAAI,CAAO,GAAgB,EAAE,GAAM,EAAE,KAAQ;IACpD,MAAM,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IACzB,IAAI,IAAI,KAAK,SAAS;QAAE,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,CAAA;;QACxC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;AACvB,CAAC;AAaD;;;;;;;;GAQG;AACH,MAAM,UAAU,YAAY,CAAC,QAAgC;IAC3D,IAAI,gBAAgB,GAAG,CAAC,CAAA;IACxB,KAAK,IAAI,CAAC,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC9C,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAgB,CAAA;QAC1C,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,IAAI,OAAO,CAAC,QAAQ,KAAK,IAAI;YAAE,gBAAgB,EAAE,CAAA;;YACxE,MAAK;IACZ,CAAC;IAED,IAAI,gBAAgB,KAAK,CAAC;QAAE,OAAO,CAAC,EAAE,QAAQ,EAAE,UAAU,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAA;IAE/F,MAAM,QAAQ,GAAkB,EAAE,CAAA;IAClC,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,GAAG,gBAAgB,CAAA;IAC/C,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,IAAI,gBAAgB,EAAE,KAAK,EAAE,EAAE,CAAC;QACvD,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,GAAG,KAAK,CAAC,CAAA;QAC7C,MAAM,KAAK,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAE,QAAQ,CAAC,IAAI,GAAG,KAAK,GAAG,CAAC,CAAiB,CAAC,KAAK,CAAA;QACpF,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,UAAU,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAA;IAChF,CAAC;IACD,OAAO,QAAQ,CAAA;AACjB,CAAC;AAED,SAAS,UAAU,CAAC,QAAgC;IAClD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,GAAG,CAAA;IACrC,IAAI,GAAG,GAAG,EAAE,CAAA;IACZ,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,GAAG,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,KAAK,GAAG,CAAA;IAChF,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC;AAgBD,SAAS,QAAQ,CAAC,KAAkB;IAClC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAA;IACvB,MAAM,IAAI,GAAG,CAAC,GAAW,EAAsB,EAAE;QAC/C,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAC3B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAA;IAC1E,CAAC,CAAA;IACD,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;IAC7B,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;IACrC,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,CAAA;IAC7C,OAAO;QACL,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC;QACxB,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC;QAChC,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC;QAChC,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAE,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,GAAG,KAAK,QAAQ,CAAc,CAAC,CAAC,CAAC,SAAS;QACnG,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,KAAK,IAAI;QAC3C,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAE,QAA2C,CAAC,CAAC,CAAC,SAAS;QAC5F,YAAY,EACV,OAAO,YAAY,KAAK,QAAQ,IAAI,YAAY,KAAK,IAAI,CAAC,CAAC,CAAE,YAA6B,CAAC,CAAC,CAAC,SAAS;KACzG,CAAA;AACH,CAAC;AAED,SAAS,SAAS,CAChB,QAA0C,EAC1C,IAAyB,EACzB,WAAwC;IAExC,MAAM,GAAG,GAAgB,EAAE,CAAA;IAC3B,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAA;IAC9B,KAAK,MAAM,GAAG,IAAI,QAAQ,IAAI,EAAE,EAAE,CAAC;QACjC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QACb,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IACpB,CAAC;IACD,MAAM,WAAW,GAAG,IAAI,GAAG,EAAkB,CAAA;IAC7C,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;QACrC,MAAM,WAAW,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,CAAA;QACtD,IAAI,OAAO,WAAW,KAAK,QAAQ;YAAE,SAAQ;QAC7C,KAAK,MAAM,GAAG,IAAI,UAAU,CAAC,IAAI;YAAE,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE,WAAW,CAAC,CAAA;IACtE,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;QACpC,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,SAAQ;QAC5B,MAAM,WAAW,GAAG,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QACzC,GAAG,CAAC,IAAI,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAA;IACxE,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAkB;IAC5C,IAAI,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,CAAA;IACpC,KAAK,MAAM,OAAO,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;QACrC,GAAG,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAA;IACzF,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,SAAS,MAAM,CAAC,GAAW;IACzB,OAAO,GAAG;SACP,KAAK,CAAC,eAAe,CAAC;SACtB,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;SACjC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;SAC3D,IAAI,CAAC,EAAE,CAAC,CAAA;AACb,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,aAAa,CAAC,QAAiC,EAAE,KAAa;IACrE,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;QACxC,MAAM,MAAM,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAA;QACtC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,KAAK,KAAK,KAAK;YAAE,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAA;IAC7E,CAAC;IACD,OAAO,SAAS,CAAA;AAClB,CAAC;AAED,SAAS,aAAa,CAAC,IAAgB;IACrC,OAAO,OAAO,IAAI,CAAC,WAAW,KAAK,QAAQ,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAA;AAC3G,CAAC;AAED,qFAAqF;AACrF,SAAS,UAAU,CAAC,GAAiD;IACnE,MAAM,GAAG,GAAmC,EAAE,CAAA;IAC9C,KAAK,MAAM,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE;QAAE,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,CAA8B,CAAA;IAC9F,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,SAAS,SAAS,CAAC,OAAuB;IACxC,MAAM,IAAI,GAA4B,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAA;IACxF,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS;QAAE,IAAI,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,OAAO,CAAA;IACpE,IAAI,OAAO,CAAC,WAAW,KAAK,SAAS;QAAE,IAAI,CAAC,aAAa,CAAC,GAAG,OAAO,CAAC,WAAW,CAAA;IAChF,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS;QAAE,IAAI,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,OAAO,CAAA;IACpE,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS;QAAE,IAAI,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,OAAO,CAAA;IACpE,OAAO,IAAI,CAAA;AACb,CAAC;AAED,MAAM,WAAW,GAAqC;IACpD,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,YAAY;IAC7D,GAAG,EAAE,mBAAmB,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,cAAc;IAC7E,GAAG,EAAE,oBAAoB,EAAE,GAAG,EAAE,oBAAoB;IACpD,GAAG,EAAE,aAAa,EAAE,GAAG,EAAE,cAAc,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW;IAC3E,GAAG,EAAE,oBAAoB,EAAE,GAAG,EAAE,gBAAgB,EAAE,GAAG,EAAE,iBAAiB,EAAE,GAAG,EAAE,UAAU;IACzF,GAAG,EAAE,mBAAmB,EAAE,GAAG,EAAE,wBAAwB,EAAE,GAAG,EAAE,uBAAuB;IACrF,GAAG,EAAE,mBAAmB;IACxB,GAAG,EAAE,uBAAuB,EAAE,GAAG,EAAE,aAAa,EAAE,GAAG,EAAE,qBAAqB,EAAE,GAAG,EAAE,iBAAiB;CACrG,CAAA;AAED,SAAS,UAAU,CAAC,MAAc;IAChC,OAAO,WAAW,CAAC,MAAM,CAAC,IAAI,UAAU,MAAM,EAAE,CAAA;AAClD,CAAC;AAED;;;;GAIG;AACH,MAAM,eAAe,GAAe;IAClC,IAAI,EAAE,QAAQ;IACd,KAAK,EAAE,gBAAgB;IACvB,WAAW,EAAE,qEAAqE;IAClF,UAAU,EAAE;QACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,8CAA8C,EAAE;QACpG,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,uEAAuE,EAAE;QAC/G,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;QAC3B,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,oCAAoC,EAAE;QAC/E,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,4CAA4C,EAAE;QACnF,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC7B,MAAM,EAAE;YACN,IAAI,EAAE,OAAO;YACb,WAAW,EAAE,+FAA+F;YAC5G,KAAK,EAAE;gBACL,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,MAAM,EAAE;wBACN,IAAI,EAAE,QAAQ;wBACd,IAAI,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,CAAC;wBACvD,WAAW,EAAE,4CAA4C;qBAC1D;oBACD,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC,EAAE,EAAE;oBAC/D,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACxB,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBAC3B,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBAC5B,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;iBAC7B;gBACD,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC;gBACrC,oBAAoB,EAAE,KAAK;aAC5B;SACF;QACD,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,0CAA0C,EAAE,oBAAoB,EAAE,IAAI,EAAE;KAC/G;IACD,QAAQ,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,CAAC;IACtE,oBAAoB,EAAE,KAAK;CAC5B,CAAA;AAGD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,SAAS,SAAS,CAChB,QAA2B,EAC3B,IAA4B,EAC5B,IAAY;IAEZ,IAAI,IAAI,KAAK,SAAS,IAAI,QAAQ,KAAK,OAAO;QAAE,OAAO,EAAE,CAAA;IACzD,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,CAAC,CAAA;IACrD,MAAM,EAAE,GAAG,KAAK,EAAE,EAAE,CAAA;IACpB,IAAI,EAAE,KAAK,SAAS,IAAI,EAAE,KAAK,IAAI,IAAI,EAAE,CAAC,IAAI,KAAK,OAAO;QAAE,OAAO,EAAE,CAAA;IACrE,IAAI,EAAE,CAAC,KAAK,KAAK,GAAG;QAAE,OAAO,EAAE,CAAA;IAC/B,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,CAAA;AAC1C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAA4B,MAAM,6BAA6B,CAAA;AAEvF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAE/C;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,QAAQ,EAAE,OAAO,GAAG,SAAS,GAAG,MAAM,CAAA;IAC/C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,6EAA6E;IAC7E,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CACnC;AAMD;;;;;;;GAOG;AACH,qBAAa,UAAU;;IASrB;;;;;;;;OAQG;IACH,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM;IAmBtF;;;;;;;;OAQG;IACH,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;KAAE;IAShH;;;;;;;;;OASG;IACH,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,GAAG,IAAI;IAY/C,uFAAuF;IACvF,OAAO,IAAI,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC;IAItC,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAI1B,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,qFAAqF;IACrF,QAAQ,IAAI,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC;CAgC1C;AAmBD,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAGhD;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAOhD;AAMD,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAA;IAC/B,iEAAiE;IACjE,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;IACxB,QAAQ,CAAC,WAAW,EAAE,aAAa,EAAE,CAAA;IACrC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CACvB;AASD,wBAAgB,aAAa,CAAC,GAAG,EAAE,UAAU,EAAE,OAAO,EAAE,cAAc,GAAG,aAAa,CAErF;AAuPD,qFAAqF;AACrF,wBAAgB,aAAa,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAOvD;AAED,iEAAiE;AACjE,wBAAgB,YAAY,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,GAAG,IAAI,CAQ9D"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAA4B,MAAM,6BAA6B,CAAA;AAEvF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAE/C;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,QAAQ,EAAE,OAAO,GAAG,SAAS,GAAG,MAAM,CAAA;IAC/C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,6EAA6E;IAC7E,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CACnC;AAMD;;;;;;;GAOG;AACH,qBAAa,UAAU;;IASrB;;;;;;;;OAQG;IACH,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM;IAmBtF;;;;;;;;OAQG;IACH,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;KAAE;IAShH;;;;;;;;;OASG;IACH,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,GAAG,IAAI;IAY/C,uFAAuF;IACvF,OAAO,IAAI,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC;IAItC,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAI1B,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,qFAAqF;IACrF,QAAQ,IAAI,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC;CAgC1C;AAmBD,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAGhD;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAOhD;AAMD,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAA;IAC/B,iEAAiE;IACjE,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;IACxB,QAAQ,CAAC,WAAW,EAAE,aAAa,EAAE,CAAA;IACrC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CACvB;AASD,wBAAgB,aAAa,CAAC,GAAG,EAAE,UAAU,EAAE,OAAO,EAAE,cAAc,GAAG,aAAa,CAErF;AA8QD,qFAAqF;AACrF,wBAAgB,aAAa,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAOvD;AAED,iEAAiE;AACjE,wBAAgB,YAAY,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,GAAG,IAAI,CAQ9D"}
package/dist/schema.js CHANGED
@@ -294,14 +294,27 @@ class Projector {
294
294
  }
295
295
  #object(node, out, seen, depth) {
296
296
  const properties = node.properties;
297
+ // §13.3, §29.3 — a response never carries a `writeOnly` field ("may be
298
+ // sent, never returned"), so the response side of the document does not
299
+ // describe one, strict mode or not. `ready()` refuses such a response
300
+ // schema outright (`ZEN_RESPONSE_WRITE_ONLY`); this is the document
301
+ // agreeing with that rather than relying on it. Requests keep theirs: it is
302
+ // exactly what a request schema is for.
303
+ const withheld = new Set();
297
304
  if (properties !== undefined) {
298
305
  const projected = {};
299
- for (const key of Object.keys(properties))
306
+ for (const key of Object.keys(properties)) {
307
+ if (this.#opts.closed && this.#writeOnly(properties[key])) {
308
+ withheld.add(key);
309
+ continue;
310
+ }
300
311
  projected[key] = this.walk(properties[key], seen, depth + 1);
312
+ }
301
313
  out['properties'] = projected;
302
314
  }
303
- if (node.required !== undefined && node.required.length > 0)
304
- out['required'] = [...node.required];
315
+ const required = (node.required ?? []).filter((key) => !withheld.has(key));
316
+ if (required.length > 0)
317
+ out['required'] = required;
305
318
  const additional = node.additionalProperties;
306
319
  if (additional === undefined) {
307
320
  // §13.3.1 — the one deliberate deviation, written down in the document
@@ -317,6 +330,17 @@ class Projector {
317
330
  out['additionalProperties'] = this.walk(additional, seen, depth + 1);
318
331
  }
319
332
  }
333
+ /** `writeOnly: true` on the property, or on the definition it refers to. */
334
+ #writeOnly(node) {
335
+ if (typeof node !== 'object' || node === null)
336
+ return false;
337
+ if (node['writeOnly'] === true)
338
+ return true;
339
+ if (typeof node.$ref !== 'string')
340
+ return false;
341
+ const target = resolveRef(this.#root, node.$ref);
342
+ return target !== null && target['writeOnly'] === true;
343
+ }
320
344
  #array(node, out, seen, depth) {
321
345
  if (Array.isArray(node.prefixItems)) {
322
346
  out['prefixItems'] = node.prefixItems.map((item) => this.walk(item, seen, depth + 1));
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@erenthedeveloper0/zen-openapi",
3
- "version": "0.1.0-alpha.3",
3
+ "version": "0.1.0-alpha.5",
4
4
  "description": "Zen OpenAPI: the application graph as an OAS 3.1 document, $ref deduplication, breaking-change detection and a dependency-free viewer.",
5
5
  "keywords": [
6
6
  "openapi",
@@ -52,7 +52,7 @@
52
52
  "test": "node --test \"test/**/*.test.ts\""
53
53
  },
54
54
  "dependencies": {
55
- "@erenthedeveloper0/zen-core": "0.1.0-alpha.3"
55
+ "@erenthedeveloper0/zen-core": "0.1.0-alpha.5"
56
56
  },
57
57
  "peerDependencies": {
58
58
  "typescript": ">=5.0"
package/src/document.ts CHANGED
@@ -2,7 +2,7 @@ import type {
2
2
  AppGraph, CoercePlan, CollectionId, CollectionRecord, JsonSchema, ParamType, PathSegment,
3
3
  RouteRecord,
4
4
  } from '@erenthedeveloper0/zen-core'
5
- import { toJsonSchema, isVariantRecord, normaliseMediaType, isMediaProblem } from '@erenthedeveloper0/zen-core'
5
+ import { toJsonSchema, isVariantRecord, normaliseMediaType, isMediaProblem, closest } from '@erenthedeveloper0/zen-core'
6
6
  import {
7
7
  Components, canonical, declaredName, projectSchema, sanitizeName,
8
8
  type DocDiagnostic,
@@ -162,10 +162,11 @@ class DocumentBuilder {
162
162
 
163
163
  const schemas = this.#components.toRecord()
164
164
  const hasSchemas = Object.keys(schemas).length > 0
165
- if (hasSchemas || this.#opts.securitySchemes !== undefined) {
165
+ const securitySchemes = this.#securitySchemes()
166
+ if (hasSchemas || securitySchemes !== undefined) {
166
167
  const components: Record<string, unknown> = {}
167
168
  if (hasSchemas) components['schemas'] = schemas
168
- if (this.#opts.securitySchemes !== undefined) components['securitySchemes'] = this.#opts.securitySchemes
169
+ if (securitySchemes !== undefined) components['securitySchemes'] = securitySchemes
169
170
  document['components'] = components
170
171
  }
171
172
 
@@ -597,11 +598,86 @@ class DocumentBuilder {
597
598
  }
598
599
  }
599
600
 
601
+ /**
602
+ * The application's security schemes, and the ones its plugins declared —
603
+ * rfcs/0001 §10.2, where `app.meta` is "consumed by OpenAPI".
604
+ *
605
+ * A plugin that authenticates knows its scheme and the application does not:
606
+ * a bearer-token plugin writes
607
+ * `app.meta('openapi.securitySchemes', { bearer: { type: 'http', scheme: 'bearer' } })`,
608
+ * which `graph.meta` carries as `<plugin>.openapi.securitySchemes`, and the
609
+ * scheme appears in `components.securitySchemes` without the application
610
+ * restating it. The application's own `securitySchemes` option wins a name
611
+ * both declare — it is the explicit statement, as `app.use`'s second argument
612
+ * is over a factory's options.
613
+ *
614
+ * Metadata the generator cannot use is a warning, not a silence: an
615
+ * `openapi.` field it does not read (`openapi.securitySchemas` is told the
616
+ * one it meant), a value that is not a record of schemes, and a name two
617
+ * plugins declare differently — the first declaration is kept and the second
618
+ * named. A key outside the `openapi.` family is somebody else's metadata and
619
+ * is left alone.
620
+ */
621
+ #securitySchemes(): Readonly<Record<string, SecurityScheme>> | undefined {
622
+ const own = this.#opts.securitySchemes
623
+ const merged: Record<string, SecurityScheme> = { ...own }
624
+ const declaredBy = new Map<string, string>()
625
+
626
+ for (const [key, value] of this.#graph.meta) {
627
+ const at = key.lastIndexOf(META_FAMILY)
628
+ if (at <= 0) continue
629
+ const plugin = key.slice(0, at)
630
+ const field = key.slice(at + META_FAMILY.length)
631
+ if (!META_FIELDS.includes(field)) {
632
+ const meant = closest(field, META_FIELDS)
633
+ this.#warn(
634
+ 'ZEN_OAS_META_INVALID',
635
+ `Plugin "${plugin}" wrote metadata "openapi.${field}", which the generator does not read.`,
636
+ key,
637
+ meant === null ? `It reads ${META_FIELDS.map((f) => `"openapi.${f}"`).join(', ')}.` : `Did you mean "openapi.${meant}"?`,
638
+ )
639
+ continue
640
+ }
641
+ if (typeof value !== 'object' || value === null || Array.isArray(value)) {
642
+ this.#warn(
643
+ 'ZEN_OAS_META_INVALID',
644
+ `Plugin "${plugin}" wrote "openapi.securitySchemes" as ${Array.isArray(value) ? 'an array' : typeof value}; ` +
645
+ 'it is a record of security schemes keyed by name, and was ignored.',
646
+ key,
647
+ "Write app.meta('openapi.securitySchemes', { name: { type: 'http', scheme: 'bearer' } }).",
648
+ )
649
+ continue
650
+ }
651
+ for (const [name, scheme] of Object.entries(value as Record<string, SecurityScheme>)) {
652
+ if (own !== undefined && Object.hasOwn(own, name)) continue
653
+ const first = declaredBy.get(name)
654
+ if (first === undefined) {
655
+ merged[name] = scheme
656
+ declaredBy.set(name, plugin)
657
+ } else if (canonical(merged[name]) !== canonical(scheme)) {
658
+ this.#warn(
659
+ 'ZEN_OAS_META_INVALID',
660
+ `Plugins "${first}" and "${plugin}" both declare the security scheme "${name}", differently; ` +
661
+ `"${first}"'s is documented.`,
662
+ key,
663
+ "Declare the scheme once, in the application's securitySchemes option, which wins over both.",
664
+ )
665
+ }
666
+ }
667
+ }
668
+
669
+ return Object.keys(merged).length === 0 ? undefined : merged
670
+ }
671
+
600
672
  #warn(code: string, message: string, where: string, hint?: string): void {
601
673
  this.#diagnostics.push({ severity: 'warning', code, message, where, hint })
602
674
  }
603
675
  }
604
676
 
677
+ /** The `graph.meta` family this generator reads, `<plugin>.openapi.<field>` (§10.2). */
678
+ const META_FAMILY = '.openapi.'
679
+ const META_FIELDS: readonly string[] = ['securitySchemes']
680
+
605
681
  const REF_PREFIX = '#/components/schemas/'
606
682
 
607
683
  /** Rewrites every `$ref` through the alias map, wherever it appears. */
package/src/schema.ts CHANGED
@@ -354,12 +354,26 @@ class Projector {
354
354
 
355
355
  #object(node: JsonSchema, out: Record<string, unknown>, seen: ReadonlySet<string>, depth: number): void {
356
356
  const properties = node.properties
357
+ // §13.3, §29.3 — a response never carries a `writeOnly` field ("may be
358
+ // sent, never returned"), so the response side of the document does not
359
+ // describe one, strict mode or not. `ready()` refuses such a response
360
+ // schema outright (`ZEN_RESPONSE_WRITE_ONLY`); this is the document
361
+ // agreeing with that rather than relying on it. Requests keep theirs: it is
362
+ // exactly what a request schema is for.
363
+ const withheld = new Set<string>()
357
364
  if (properties !== undefined) {
358
365
  const projected: Record<string, OpenApiSchema> = {}
359
- for (const key of Object.keys(properties)) projected[key] = this.walk(properties[key], seen, depth + 1)
366
+ for (const key of Object.keys(properties)) {
367
+ if (this.#opts.closed && this.#writeOnly(properties[key])) {
368
+ withheld.add(key)
369
+ continue
370
+ }
371
+ projected[key] = this.walk(properties[key], seen, depth + 1)
372
+ }
360
373
  out['properties'] = projected
361
374
  }
362
- if (node.required !== undefined && node.required.length > 0) out['required'] = [...node.required]
375
+ const required = (node.required ?? []).filter((key) => !withheld.has(key))
376
+ if (required.length > 0) out['required'] = required
363
377
 
364
378
  const additional = node.additionalProperties
365
379
  if (additional === undefined) {
@@ -374,6 +388,15 @@ class Projector {
374
388
  }
375
389
  }
376
390
 
391
+ /** `writeOnly: true` on the property, or on the definition it refers to. */
392
+ #writeOnly(node: JsonSchemaNode | undefined): boolean {
393
+ if (typeof node !== 'object' || node === null) return false
394
+ if (node['writeOnly'] === true) return true
395
+ if (typeof node.$ref !== 'string') return false
396
+ const target = resolveRef(this.#root, node.$ref)
397
+ return target !== null && target['writeOnly'] === true
398
+ }
399
+
377
400
  #array(node: JsonSchema, out: Record<string, unknown>, seen: ReadonlySet<string>, depth: number): void {
378
401
  if (Array.isArray(node.prefixItems)) {
379
402
  out['prefixItems'] = node.prefixItems.map((item) => this.walk(item, seen, depth + 1))