@skmtc/core 0.16.2 → 0.18.1

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.
Files changed (135) hide show
  1. package/esm/context/GenerateContext.d.ts +3 -3
  2. package/esm/context/GenerateContext.d.ts.map +1 -1
  3. package/esm/context/GenerateContext.js +45 -32
  4. package/esm/context/ParseContext.d.ts +16 -0
  5. package/esm/context/ParseContext.d.ts.map +1 -1
  6. package/esm/context/ParseContext.js +26 -0
  7. package/esm/context/ParseIssue.d.ts +24 -4
  8. package/esm/context/ParseIssue.d.ts.map +1 -1
  9. package/esm/context/ParseIssue.js +12 -4
  10. package/esm/context/parseTypes.d.ts +23 -1
  11. package/esm/context/parseTypes.d.ts.map +1 -1
  12. package/esm/dsl/model/ModelDriver.d.ts.map +1 -1
  13. package/esm/dsl/model/ModelDriver.js +29 -0
  14. package/esm/dsl/model/toModelEntry.d.ts +9 -3
  15. package/esm/dsl/model/toModelEntry.d.ts.map +1 -1
  16. package/esm/dsl/model/toModelEntry.js +29 -1
  17. package/esm/dsl/model/toModelProjectionBase.d.ts +16 -3
  18. package/esm/dsl/model/toModelProjectionBase.d.ts.map +1 -1
  19. package/esm/dsl/model/toModelProjectionBase.js +3 -3
  20. package/esm/dsl/model/types.d.ts +46 -0
  21. package/esm/dsl/model/types.d.ts.map +1 -1
  22. package/esm/dsl/operation/gql/types.d.ts +6 -1
  23. package/esm/dsl/operation/gql/types.d.ts.map +1 -1
  24. package/esm/dsl/operation/oas/types.d.ts +6 -1
  25. package/esm/dsl/operation/oas/types.d.ts.map +1 -1
  26. package/esm/enrichments/validateConfig.d.ts +60 -0
  27. package/esm/enrichments/validateConfig.d.ts.map +1 -0
  28. package/esm/enrichments/validateConfig.js +176 -0
  29. package/esm/mod.d.ts +1 -0
  30. package/esm/mod.d.ts.map +1 -1
  31. package/esm/mod.js +1 -0
  32. package/esm/oas/operation/Operation.d.ts.map +1 -1
  33. package/esm/oas/operation/Operation.js +2 -11
  34. package/esm/oas/response/toPrimaryResponseCode.d.ts +19 -0
  35. package/esm/oas/response/toPrimaryResponseCode.d.ts.map +1 -0
  36. package/esm/oas/response/toPrimaryResponseCode.js +33 -0
  37. package/esm/oas/webhook/Webhook.d.ts.map +1 -1
  38. package/esm/oas/webhook/Webhook.js +2 -11
  39. package/esm/parse/v3-0/_merge-all-of/decompose-union.d.ts.map +1 -1
  40. package/esm/parse/v3-0/_merge-all-of/decompose-union.js +8 -12
  41. package/esm/parse/v3-0/_merge-all-of/merge-union.d.ts.map +1 -1
  42. package/esm/parse/v3-0/_merge-all-of/merge-union.js +0 -8
  43. package/esm/parse/v3-0/integer/toInteger.js +4 -1
  44. package/esm/parse/v3-0/number/toNumber.js +4 -1
  45. package/esm/parse/v3-0/operation/toOperationsV3.d.ts.map +1 -1
  46. package/esm/parse/v3-0/operation/toOperationsV3.js +5 -1
  47. package/esm/parse/v3-0/schema/toSchemasV3.d.ts.map +1 -1
  48. package/esm/parse/v3-0/schema/toSchemasV3.js +35 -1
  49. package/esm/parse/v3-0/string/toString.d.ts.map +1 -1
  50. package/esm/parse/v3-0/string/toString.js +4 -11
  51. package/esm/parse/v3-1/_merge-all-of/decompose-union.d.ts.map +1 -1
  52. package/esm/parse/v3-1/_merge-all-of/decompose-union.js +8 -12
  53. package/esm/parse/v3-1/_merge-all-of/merge-union.d.ts.map +1 -1
  54. package/esm/parse/v3-1/_merge-all-of/merge-union.js +0 -8
  55. package/esm/parse/v3-1/integer/toInteger.js +4 -1
  56. package/esm/parse/v3-1/number/toNumber.js +4 -1
  57. package/esm/parse/v3-1/operation/toOperationsV3.d.ts.map +1 -1
  58. package/esm/parse/v3-1/operation/toOperationsV3.js +5 -1
  59. package/esm/parse/v3-1/schema/toSchemasV3.d.ts.map +1 -1
  60. package/esm/parse/v3-1/schema/toSchemasV3.js +34 -7
  61. package/esm/parse/v3-1/string/toString.d.ts.map +1 -1
  62. package/esm/parse/v3-1/string/toString.js +4 -11
  63. package/esm/types/Manifest.d.ts.map +1 -1
  64. package/esm/types/Manifest.js +14 -0
  65. package/esm/types/Settings.d.ts +16 -3
  66. package/esm/types/Settings.d.ts.map +1 -1
  67. package/esm/types/Settings.js +19 -13
  68. package/package.json +1 -1
  69. package/script/context/GenerateContext.d.ts +3 -3
  70. package/script/context/GenerateContext.d.ts.map +1 -1
  71. package/script/context/GenerateContext.js +45 -32
  72. package/script/context/ParseContext.d.ts +16 -0
  73. package/script/context/ParseContext.d.ts.map +1 -1
  74. package/script/context/ParseContext.js +26 -0
  75. package/script/context/ParseIssue.d.ts +24 -4
  76. package/script/context/ParseIssue.d.ts.map +1 -1
  77. package/script/context/ParseIssue.js +12 -4
  78. package/script/context/parseTypes.d.ts +23 -1
  79. package/script/context/parseTypes.d.ts.map +1 -1
  80. package/script/dsl/model/ModelDriver.d.ts.map +1 -1
  81. package/script/dsl/model/ModelDriver.js +29 -0
  82. package/script/dsl/model/toModelEntry.d.ts +9 -3
  83. package/script/dsl/model/toModelEntry.d.ts.map +1 -1
  84. package/script/dsl/model/toModelEntry.js +65 -1
  85. package/script/dsl/model/toModelProjectionBase.d.ts +16 -3
  86. package/script/dsl/model/toModelProjectionBase.d.ts.map +1 -1
  87. package/script/dsl/model/toModelProjectionBase.js +3 -3
  88. package/script/dsl/model/types.d.ts +46 -0
  89. package/script/dsl/model/types.d.ts.map +1 -1
  90. package/script/dsl/operation/gql/types.d.ts +6 -1
  91. package/script/dsl/operation/gql/types.d.ts.map +1 -1
  92. package/script/dsl/operation/oas/types.d.ts +6 -1
  93. package/script/dsl/operation/oas/types.d.ts.map +1 -1
  94. package/script/enrichments/validateConfig.d.ts +60 -0
  95. package/script/enrichments/validateConfig.d.ts.map +1 -0
  96. package/script/enrichments/validateConfig.js +213 -0
  97. package/script/mod.d.ts +1 -0
  98. package/script/mod.d.ts.map +1 -1
  99. package/script/mod.js +1 -0
  100. package/script/oas/operation/Operation.d.ts.map +1 -1
  101. package/script/oas/operation/Operation.js +2 -11
  102. package/script/oas/response/toPrimaryResponseCode.d.ts +19 -0
  103. package/script/oas/response/toPrimaryResponseCode.d.ts.map +1 -0
  104. package/script/oas/response/toPrimaryResponseCode.js +37 -0
  105. package/script/oas/webhook/Webhook.d.ts.map +1 -1
  106. package/script/oas/webhook/Webhook.js +2 -11
  107. package/script/parse/v3-0/_merge-all-of/decompose-union.d.ts.map +1 -1
  108. package/script/parse/v3-0/_merge-all-of/decompose-union.js +8 -12
  109. package/script/parse/v3-0/_merge-all-of/merge-union.d.ts.map +1 -1
  110. package/script/parse/v3-0/_merge-all-of/merge-union.js +0 -8
  111. package/script/parse/v3-0/integer/toInteger.js +4 -1
  112. package/script/parse/v3-0/number/toNumber.js +4 -1
  113. package/script/parse/v3-0/operation/toOperationsV3.d.ts.map +1 -1
  114. package/script/parse/v3-0/operation/toOperationsV3.js +5 -1
  115. package/script/parse/v3-0/schema/toSchemasV3.d.ts.map +1 -1
  116. package/script/parse/v3-0/schema/toSchemasV3.js +35 -1
  117. package/script/parse/v3-0/string/toString.d.ts.map +1 -1
  118. package/script/parse/v3-0/string/toString.js +3 -10
  119. package/script/parse/v3-1/_merge-all-of/decompose-union.d.ts.map +1 -1
  120. package/script/parse/v3-1/_merge-all-of/decompose-union.js +8 -12
  121. package/script/parse/v3-1/_merge-all-of/merge-union.d.ts.map +1 -1
  122. package/script/parse/v3-1/_merge-all-of/merge-union.js +0 -8
  123. package/script/parse/v3-1/integer/toInteger.js +4 -1
  124. package/script/parse/v3-1/number/toNumber.js +4 -1
  125. package/script/parse/v3-1/operation/toOperationsV3.d.ts.map +1 -1
  126. package/script/parse/v3-1/operation/toOperationsV3.js +5 -1
  127. package/script/parse/v3-1/schema/toSchemasV3.d.ts.map +1 -1
  128. package/script/parse/v3-1/schema/toSchemasV3.js +34 -7
  129. package/script/parse/v3-1/string/toString.d.ts.map +1 -1
  130. package/script/parse/v3-1/string/toString.js +3 -10
  131. package/script/types/Manifest.d.ts.map +1 -1
  132. package/script/types/Manifest.js +14 -0
  133. package/script/types/Settings.d.ts +16 -3
  134. package/script/types/Settings.d.ts.map +1 -1
  135. package/script/types/Settings.js +16 -10
@@ -1 +1 @@
1
- {"version":3,"file":"toModelProjectionBase.d.ts","sourceRoot":"","sources":["../../../src/dsl/model/toModelProjectionBase.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"toModelProjectionBase.d.ts","sourceRoot":"","sources":["../../../src/dsl/model/toModelProjectionBase.ts"],"names":[],"mappings":"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"}
@@ -11,8 +11,8 @@ import get from 'lodash-es/get.js';
11
11
  * while core stays language-blind (the base arrives as an opaque
12
12
  * constructor; core never names a concrete language class). The class
13
13
  * exposes the generator's `id`, `toIdentifierName`, `toIdentifierType`,
14
- * `toExportPath`, and `toEnrichments` statics, inherits the static `lang`
15
- * from the base, and
14
+ * `toExportPath`, `toEnrichments`, and `isSupported` statics, inherits the
15
+ * static `lang` from the base, and
16
16
  * injects `generatorKey` so subclasses don't have to.
17
17
  *
18
18
  * Defines NO `register` / `registerInto` — register ergonomics are typed by
@@ -140,7 +140,7 @@ export const toModelProjectionBase = (base, config) => {
140
140
  enumerable: true,
141
141
  configurable: true,
142
142
  writable: true,
143
- value: () => true
143
+ value: config.isSupported ?? (() => true)
144
144
  }),
145
145
  _a;
146
146
  };
@@ -43,6 +43,33 @@ export type TransformModelArgs = {
43
43
  */
44
44
  variant: string;
45
45
  };
46
+ /**
47
+ * Arguments a model generator's `isSupported` predicate receives at the
48
+ * entry/dispatch boundary. The capability counterpart of
49
+ * {@link TransformModelArgs}: it carries the resolved enrichment umbrella so
50
+ * the predicate can gate on user config, but no schema — the predicate
51
+ * resolves the schema itself (`context.resolveSchemaRefOnce(refName, id)`)
52
+ * when it needs it, mirroring how `transform` works.
53
+ */
54
+ export type IsSupportedModelConfigArgs<EnrichmentType = undefined> = {
55
+ context: GenerateContextType;
56
+ refName: RefName;
57
+ enrichments: EnrichmentType;
58
+ /** Model variant being probed (see {@link Variant}) */
59
+ variant: string;
60
+ };
61
+ /**
62
+ * Arguments the engine passes to the wrapped `isSupported` on a built
63
+ * {@link ModelConfig} — the enrichment-free outer shape (the
64
+ * {@link toModelEntry} wrapper assembles the umbrella before calling the
65
+ * user's predicate).
66
+ */
67
+ export type IsSupportedModelArgs = {
68
+ context: GenerateContextType;
69
+ refName: RefName;
70
+ /** Model variant being probed (see {@link Variant}) */
71
+ variant: string;
72
+ };
46
73
  export type ToModelPreviewModuleArgs = {
47
74
  context: GenerateContextType;
48
75
  refName: RefName;
@@ -103,6 +130,17 @@ export type ModelProjection<V extends GeneratedValue, EnrichmentType = undefined
103
130
  toIdentifierType: (refName: RefName, context: GenerateContextType) => IdentifierType;
104
131
  toExportPath: (args: ToModelExportPathArgs<EnrichmentType>) => string;
105
132
  toEnrichments: ({ refName, context, variant }: ToModelEnrichmentsArgs) => EnrichmentType;
133
+ /**
134
+ * Family-level capability predicate, surfaced as a static by
135
+ * `toModelProjectionBase` (default `() => true`). The Driver probes it on
136
+ * every `insertModel` so a peer is never handed a model it has declared
137
+ * unsupported. Optional: a hand-rolled projection may omit it, in which
138
+ * case it is treated as supporting every model.
139
+ */
140
+ isSupported?: (args: {
141
+ refName: RefName;
142
+ context: GenerateContextType;
143
+ }) => boolean;
106
144
  schemaToValueFn: SchemaToValueFn;
107
145
  /**
108
146
  * The inline-schema fallback seam used by `insertNormalizedModel` when a
@@ -121,6 +159,14 @@ export type ModelConfig<EnrichmentType = undefined> = {
121
159
  id: string;
122
160
  type: 'model';
123
161
  transform: ({ context, refName, variant }: TransformModelArgs) => void;
162
+ /**
163
+ * Optional capability gate, evaluated by the engine before `include` /
164
+ * `skip`. A model whose predicate returns `false` is recorded `notSupported`
165
+ * and its `transform` is skipped. Absent → treated as `() => true` (every
166
+ * model supported). {@link toModelEntry} still defaults it for built configs,
167
+ * but a hand-constructed config may omit it.
168
+ */
169
+ isSupported?: ({ context, refName }: IsSupportedModelArgs) => boolean;
124
170
  toPreviewModule?: ({ context, refName, variant }: ToModelPreviewModuleArgs) => PreviewModule;
125
171
  toMappingModule?: ({ context, refName, variant }: ToModelMappingArgs) => MappingModule;
126
172
  toEnrichmentSchema: () => v.GenericSchema<EnrichmentType>;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/dsl/model/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/dsl/model/types.ts"],"names":[],"mappings":"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"}
@@ -133,7 +133,12 @@ export type GqlOperationConfig<EnrichmentType = undefined> = {
133
133
  type: 'gqlOperation';
134
134
  transform: ({ context, operation, variant }: TransformGqlOperationArgs) => void;
135
135
  toEnrichmentSchema: () => v.GenericSchema<EnrichmentType>;
136
- isSupported: ({ context, operation }: IsSupportedGqlOperationArgs) => boolean;
136
+ /**
137
+ * Optional capability gate, evaluated before `include` / `skip`. Absent →
138
+ * treated as `() => true` (every operation supported). `toGqlOperationEntry`
139
+ * defaults it for built configs; a hand-constructed config may omit it.
140
+ */
141
+ isSupported?: ({ context, operation }: IsSupportedGqlOperationArgs) => boolean;
137
142
  toPreviewModule?: ({ context, operation }: ToGqlOperationPreviewModuleArgs) => PreviewModule;
138
143
  toMappingModule?: ({ context, operation }: ToGqlOperationMappingArgs) => MappingModule;
139
144
  toEnrichmentRequest?: <RequestedEnrichment extends EnrichmentType>(operation: GqlOperation) => EnrichmentRequest<RequestedEnrichment> | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/dsl/operation/gql/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/dsl/operation/gql/types.ts"],"names":[],"mappings":"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"}
@@ -133,7 +133,12 @@ export type OasOperationConfig<EnrichmentType = undefined> = {
133
133
  type: 'oasOperation';
134
134
  transform: ({ context, operation, variant }: TransformOasOperationArgs) => void;
135
135
  toEnrichmentSchema: () => v.GenericSchema<EnrichmentType>;
136
- isSupported: ({ context, operation }: IsSupportedOasOperationArgs) => boolean;
136
+ /**
137
+ * Optional capability gate, evaluated before `include` / `skip`. Absent →
138
+ * treated as `() => true` (every operation supported). `toOasOperationEntry`
139
+ * defaults it for built configs; a hand-constructed config may omit it.
140
+ */
141
+ isSupported?: ({ context, operation }: IsSupportedOasOperationArgs) => boolean;
137
142
  /**
138
143
  * Optional: compute the DEFAULT enrichment values for an operation from its
139
144
  * schema — the seed the CMS persists and the user then edits. The pipeline
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/dsl/operation/oas/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAA;AACvE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAA;AACzC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAC/D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAA;AAC5E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AAC7D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AAC7D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAA;AAC5E,OAAO,KAAK,KAAK,CAAC,MAAM,SAAS,CAAA;AACjC,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AAE7E;;;;;GAKG;AACH,MAAM,MAAM,qCAAqC,CAAC,cAAc,GAAG,SAAS,IAAI;IAC9E,OAAO,EAAE,mBAAmB,CAAA;IAC5B,QAAQ,EAAE,eAAe,CAAC,cAAc,CAAC,CAAA;IACzC,SAAS,EAAE,YAAY,CAAA;CACxB,CAAA;AAED,MAAM,MAAM,yBAAyB,GAAG;IACtC,OAAO,EAAE,mBAAmB,CAAA;IAC5B,SAAS,EAAE,YAAY,CAAA;IACvB;;;;;OAKG;IACH,OAAO,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,MAAM,MAAM,yBAAyB,GAAG;IACtC,kBAAkB,EAAE,CAAC,SAAS,EAAE,YAAY,KAAK,IAAI,CAAA;CACtD,CAAA;AAED,MAAM,MAAM,iCAAiC,CAAC,cAAc,GAAG,SAAS,IAAI;IAC1E,OAAO,EAAE,mBAAmB,CAAA;IAC5B,SAAS,EAAE,YAAY,CAAA;IACvB,WAAW,EAAE,cAAc,CAAA;IAC3B,2DAA2D;IAC3D,OAAO,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,MAAM,MAAM,2BAA2B,GAAG;IACxC,OAAO,EAAE,mBAAmB,CAAA;IAC5B,SAAS,EAAE,YAAY,CAAA;IACvB,2DAA2D;IAC3D,OAAO,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,MAAM,MAAM,6BAA6B,GAAG;IAC1C,SAAS,EAAE,YAAY,CAAA;IACvB,OAAO,EAAE,mBAAmB,CAAA;IAC5B,kFAAkF;IAClF,OAAO,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,MAAM,MAAM,+BAA+B,GAAG;IAC5C,OAAO,EAAE,mBAAmB,CAAA;IAC5B,SAAS,EAAE,YAAY,CAAA;IACvB,2EAA2E;IAC3E,OAAO,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,MAAM,MAAM,yBAAyB,GAAG;IACtC,OAAO,EAAE,mBAAmB,CAAA;IAC5B,SAAS,EAAE,YAAY,CAAA;IACvB,2EAA2E;IAC3E,OAAO,EAAE,MAAM,CAAA;CAChB,CAAA;AAED;;;GAGG;AACH,MAAM,MAAM,gCAAgC,CAAC,cAAc,GAAG,SAAS,IAAI;IACzE,SAAS,EAAE,YAAY,CAAA;IACvB,WAAW,EAAE,cAAc,CAAA;IAC3B,iFAAiF;IACjF,OAAO,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,MAAM,MAAM,4BAA4B,CAAC,cAAc,GAAG,SAAS,IAAI;IACrE,SAAS,EAAE,YAAY,CAAA;IACvB,WAAW,EAAE,cAAc,CAAA;IAC3B,kFAAkF;IAClF,OAAO,EAAE,MAAM,CAAA;CAChB,CAAA;AAED;;;;;;;GAOG;AACH,MAAM,MAAM,sBAAsB,CAAC,CAAC,SAAS,cAAc,EAAE,cAAc,GAAG,SAAS,IAAI;IACzF,SAAS,EAAE,CAAC,CAAA;CACb,GAAG;IACF,KAAK,EACH,OAAO,EACP,QAAQ,EACR,SAAS,EACV,EAAE,qCAAqC,CAAC,cAAc,CAAC,GAAG,CAAC,CAAA;IAC5D,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,cAAc,CAAA;IACpB;;;;;OAKG;IACH,IAAI,EAAE,IAAI,CAAA;IACV,gCAAgC;IAChC,gBAAgB,EAAE,CAAC,IAAI,EAAE,gCAAgC,CAAC,cAAc,CAAC,KAAK,MAAM,CAAA;IACpF;;;;;OAKG;IACH,gBAAgB,EAAE,CAAC,SAAS,EAAE,YAAY,EAAE,OAAO,EAAE,mBAAmB,KAAK,cAAc,CAAA;IAC3F,YAAY,EAAE,CAAC,IAAI,EAAE,4BAA4B,CAAC,cAAc,CAAC,KAAK,MAAM,CAAA;IAC5E,aAAa,EAAE,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,6BAA6B,KAAK,cAAc,CAAA;IACxF;;;;;;;OAOG;IACH,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,SAAS,EAAE,YAAY,CAAC;QAAC,OAAO,EAAE,mBAAmB,CAAA;KAAE,KAAK,OAAO,CAAA;CAE3F,GAAG,QAAQ,CAAA;AAEZ;;;GAGG;AACH,MAAM,MAAM,kBAAkB,CAAC,cAAc,GAAG,SAAS,IAAI;IAC3D,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,cAAc,CAAA;IACpB,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,yBAAyB,KAAK,IAAI,CAAA;IAC/E,kBAAkB,EAAE,MAAM,CAAC,CAAC,aAAa,CAAC,cAAc,CAAC,CAAA;IACzD,WAAW,EAAE,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,2BAA2B,KAAK,OAAO,CAAA;IAC7E;;;;;;;;OAQG;IACH,oBAAoB,CAAC,EAAE,CAAC,EACtB,SAAS,EACT,OAAO,EACP,OAAO,EACR,EAAE,6BAA6B,KAAK,cAAc,GAAG,SAAS,CAAA;IAC/D,eAAe,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,+BAA+B,KAAK,aAAa,CAAA;IAC5F,eAAe,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,yBAAyB,KAAK,aAAa,CAAA;IACtF,mBAAmB,CAAC,EAAE,CAAC,mBAAmB,SAAS,cAAc,EAC/D,SAAS,EAAE,YAAY,KACpB,iBAAiB,CAAC,mBAAmB,CAAC,GAAG,SAAS,CAAA;CACxD,CAAA"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/dsl/operation/oas/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,60 @@
1
+ import { type GeneratorEnrichments } from '../types/Enrichments.js';
2
+ import type { EnrichmentSource } from './toEnrichmentDescriptor.js';
3
+ /**
4
+ * Which of the three enrichment scopes a validation issue belongs to.
5
+ * Mirrors the `{ subject, generator, stack }` umbrella members.
6
+ */
7
+ export type EnrichmentValidationScope = 'subject' | 'generator' | 'stack';
8
+ /**
9
+ * One enrichment value that fails its generator's Valibot enrichment
10
+ * schema — the authoritative validation verdict. Produced by
11
+ * {@link validateConfig}; the routing fields locate the offending leaf in
12
+ * `client.json#settings.enrichments`:
13
+ *
14
+ * - **operation subject** — `subject` = path, `method` = HTTP method
15
+ * - **model subject** — `subject` = refName (no `method`)
16
+ * - **gql operation subject** — `subject` = field name, `method` = root kind
17
+ * - **generator** run-constant — `scope: 'generator'` (no subject routing)
18
+ * - **stack** run-constant — `scope: 'stack'` (no subject routing)
19
+ *
20
+ * `field` is the dotted path to the offending key *within* the leaf
21
+ * (absent when the whole leaf is the wrong shape).
22
+ */
23
+ export type EnrichmentValidationIssue = {
24
+ generator: string;
25
+ scope: EnrichmentValidationScope;
26
+ subject?: string;
27
+ method?: string;
28
+ variant?: string;
29
+ field?: string;
30
+ message: string;
31
+ };
32
+ /**
33
+ * The single enrichment-validation authority. Validates every enrichment
34
+ * value in `enrichments` against its owning generator's Valibot enrichment
35
+ * schema (`toEnrichmentSchema`) — composed across the supplied generator
36
+ * `sources` — and returns the flat list of value errors. This is the same
37
+ * Valibot that the engine parses at generate time; `validateConfig` exposes
38
+ * it as a standalone, **documentless** check (no OpenAPI/SDL needed — only
39
+ * the values and the schemas), usable wherever a verdict is needed:
40
+ * pre-persist, CLI push, schema-drift migration, and the Publish gate.
41
+ *
42
+ * Scope of this check (value validity only):
43
+ * - **catches** wrong-typed / missing-required / failed-refinement values
44
+ * against the current schema, and a generator configured but absent from
45
+ * the stack (`scope: 'generator'`, "not present in the stack").
46
+ * - **does not** flag unknown *fields* — Valibot's `v.object` strips
47
+ * unknown keys rather than erroring. Field-level referential drift ("this
48
+ * key is no longer in the schema") is the descriptor referential check's
49
+ * job, not this one.
50
+ * - **does not** resolve subjects against a document — subject *existence*
51
+ * (does this path/refName exist) needs the schema document and is the
52
+ * caller's concern.
53
+ *
54
+ * `sources` mirrors {@link toEnrichmentDescriptor}'s input: pass
55
+ * `Object.values(toGeneratorConfigMap())`. The walk is decoupled from
56
+ * `GeneratorConfig` via {@link EnrichmentSource} so tests can pass plain
57
+ * entry-like objects.
58
+ */
59
+ export declare const validateConfig: (enrichments: GeneratorEnrichments | undefined, sources: readonly EnrichmentSource[]) => EnrichmentValidationIssue[];
60
+ //# sourceMappingURL=validateConfig.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validateConfig.d.ts","sourceRoot":"","sources":["../../src/enrichments/validateConfig.ts"],"names":[],"mappings":"AACA,OAAO,EAIL,KAAK,oBAAoB,EAC1B,MAAM,yBAAyB,CAAA;AAChC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAA;AAEnE;;;GAGG;AACH,MAAM,MAAM,yBAAyB,GAAG,SAAS,GAAG,WAAW,GAAG,OAAO,CAAA;AAEzE;;;;;;;;;;;;;;GAcG;AACH,MAAM,MAAM,yBAAyB,GAAG;IACtC,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE,yBAAyB,CAAA;IAChC,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;CAChB,CAAA;AAkID;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,eAAO,MAAM,cAAc,GACzB,aAAa,oBAAoB,GAAG,SAAS,EAC7C,SAAS,SAAS,gBAAgB,EAAE,KACnC,yBAAyB,EA6C3B,CAAA"}
@@ -0,0 +1,176 @@
1
+ import * as v from 'valibot';
2
+ import { GENERATOR_ENRICHMENT_KEY, STACK_ENRICHMENT_KEY, isReservedEnrichmentKey } from '../types/Enrichments.js';
3
+ const isRecord = (input) => typeof input === 'object' && input !== null && !Array.isArray(input);
4
+ const firstKey = (path) => path && path.length > 0 && path[0].key !== undefined ? String(path[0].key) : undefined;
5
+ const fieldPath = (path) => path && path.length > 1
6
+ ? path
7
+ .slice(1)
8
+ .map(segment => String(segment.key))
9
+ .join('.')
10
+ : undefined;
11
+ /**
12
+ * Collect every `{ subject, method?, variant, values }` leaf from a
13
+ * generator's enrichment slot, walking the routing depth its **kind**
14
+ * dictates — model (`refName → variant`), oas operation
15
+ * (`path → method → variant`), gql operation
16
+ * (`rootKind → fieldName → variant`). Because the kind is read from the
17
+ * generator entry, operation-vs-model is known authoritatively — there is
18
+ * no `'main' in value` shape-guessing. Reserved keys (`_generator`) are
19
+ * skipped; malformed nodes are skipped (they surface elsewhere, never here
20
+ * as a value error).
21
+ */
22
+ const collectSubjectLeaves = (type, slot) => {
23
+ const leaves = [];
24
+ for (const [subjectKey, subjectValue] of Object.entries(slot)) {
25
+ if (isReservedEnrichmentKey(subjectKey))
26
+ continue;
27
+ if (!isRecord(subjectValue))
28
+ continue;
29
+ switch (type) {
30
+ case 'model': {
31
+ // refName → { variant: values }
32
+ for (const [variant, values] of Object.entries(subjectValue)) {
33
+ leaves.push({ subject: subjectKey, variant, values });
34
+ }
35
+ break;
36
+ }
37
+ case 'oasOperation': {
38
+ // path → { method: { variant: values } }
39
+ for (const [method, variants] of Object.entries(subjectValue)) {
40
+ if (!isRecord(variants))
41
+ continue;
42
+ for (const [variant, values] of Object.entries(variants)) {
43
+ leaves.push({ subject: subjectKey, method, variant, values });
44
+ }
45
+ }
46
+ break;
47
+ }
48
+ case 'webhook': {
49
+ // name → { method: { variant: values } }
50
+ for (const [method, variants] of Object.entries(subjectValue)) {
51
+ if (!isRecord(variants))
52
+ continue;
53
+ for (const [variant, values] of Object.entries(variants)) {
54
+ leaves.push({ subject: subjectKey, method, variant, values });
55
+ }
56
+ }
57
+ break;
58
+ }
59
+ case 'gqlOperation': {
60
+ // rootKind → { fieldName: { variant: values } }
61
+ for (const [fieldName, variants] of Object.entries(subjectValue)) {
62
+ if (!isRecord(variants))
63
+ continue;
64
+ for (const [variant, values] of Object.entries(variants)) {
65
+ leaves.push({ subject: fieldName, method: subjectKey, variant, values });
66
+ }
67
+ }
68
+ break;
69
+ }
70
+ default: {
71
+ const _exhaustive = type;
72
+ throw new Error(`Unhandled generator type: ${String(_exhaustive)}`);
73
+ }
74
+ }
75
+ }
76
+ return leaves;
77
+ };
78
+ /**
79
+ * Validate one scope's value against the generator's composite umbrella
80
+ * schema, reporting only issues that belong to that scope. The other two
81
+ * scopes are passed `undefined` and any issues they raise are filtered out,
82
+ * so each scope is validated in isolation without duplicating run-constant
83
+ * errors across every subject. Mirrors generate-time
84
+ * `v.parse(toEnrichmentSchema(), { subject, generator, stack })`, swapping
85
+ * `parse` for `safeParse` to collect rather than throw.
86
+ */
87
+ const parseScope = (schema, scope, value, tag) => {
88
+ const raw = {
89
+ subject: undefined,
90
+ generator: undefined,
91
+ stack: undefined
92
+ };
93
+ raw[scope] = value;
94
+ const result = v.safeParse(schema, raw);
95
+ if (result.success)
96
+ return [];
97
+ return result.issues
98
+ .filter(issue => firstKey(issue.path) === scope)
99
+ .map(issue => {
100
+ const field = fieldPath(issue.path);
101
+ return {
102
+ ...tag,
103
+ scope,
104
+ ...(field !== undefined ? { field } : {}),
105
+ message: issue.message
106
+ };
107
+ });
108
+ };
109
+ /**
110
+ * The single enrichment-validation authority. Validates every enrichment
111
+ * value in `enrichments` against its owning generator's Valibot enrichment
112
+ * schema (`toEnrichmentSchema`) — composed across the supplied generator
113
+ * `sources` — and returns the flat list of value errors. This is the same
114
+ * Valibot that the engine parses at generate time; `validateConfig` exposes
115
+ * it as a standalone, **documentless** check (no OpenAPI/SDL needed — only
116
+ * the values and the schemas), usable wherever a verdict is needed:
117
+ * pre-persist, CLI push, schema-drift migration, and the Publish gate.
118
+ *
119
+ * Scope of this check (value validity only):
120
+ * - **catches** wrong-typed / missing-required / failed-refinement values
121
+ * against the current schema, and a generator configured but absent from
122
+ * the stack (`scope: 'generator'`, "not present in the stack").
123
+ * - **does not** flag unknown *fields* — Valibot's `v.object` strips
124
+ * unknown keys rather than erroring. Field-level referential drift ("this
125
+ * key is no longer in the schema") is the descriptor referential check's
126
+ * job, not this one.
127
+ * - **does not** resolve subjects against a document — subject *existence*
128
+ * (does this path/refName exist) needs the schema document and is the
129
+ * caller's concern.
130
+ *
131
+ * `sources` mirrors {@link toEnrichmentDescriptor}'s input: pass
132
+ * `Object.values(toGeneratorConfigMap())`. The walk is decoupled from
133
+ * `GeneratorConfig` via {@link EnrichmentSource} so tests can pass plain
134
+ * entry-like objects.
135
+ */
136
+ export const validateConfig = (enrichments, sources) => {
137
+ if (!isRecord(enrichments))
138
+ return [];
139
+ const sourceById = new Map(sources.map(source => [source.id, source]));
140
+ const stack = enrichments[STACK_ENRICHMENT_KEY];
141
+ const issues = [];
142
+ for (const [generatorId, slot] of Object.entries(enrichments)) {
143
+ if (generatorId === STACK_ENRICHMENT_KEY)
144
+ continue;
145
+ // Other `_`-prefixed top-level keys are reserved/unknown — the
146
+ // `generatorEnrichments` schema flags those structurally, not here.
147
+ if (isReservedEnrichmentKey(generatorId))
148
+ continue;
149
+ const source = sourceById.get(generatorId);
150
+ if (!source) {
151
+ issues.push({
152
+ generator: generatorId,
153
+ scope: 'generator',
154
+ message: `Generator '${generatorId}' has enrichments configured but is not present in the stack.`
155
+ });
156
+ continue;
157
+ }
158
+ const schema = source.toEnrichmentSchema?.();
159
+ if (!schema || !isRecord(slot))
160
+ continue;
161
+ // Run-constant scopes — validated once per generator (each generator's
162
+ // umbrella declares its own `generator` / `stack` member shape).
163
+ issues.push(...parseScope(schema, 'generator', slot[GENERATOR_ENRICHMENT_KEY], { generator: generatorId }));
164
+ issues.push(...parseScope(schema, 'stack', stack, { generator: generatorId }));
165
+ // Subject scope — one parse per (subject, variant) leaf.
166
+ for (const leaf of collectSubjectLeaves(source.type, slot)) {
167
+ issues.push(...parseScope(schema, 'subject', leaf.values, {
168
+ generator: generatorId,
169
+ subject: leaf.subject,
170
+ ...(leaf.method !== undefined ? { method: leaf.method } : {}),
171
+ variant: leaf.variant
172
+ }));
173
+ }
174
+ }
175
+ return issues;
176
+ };
package/esm/mod.d.ts CHANGED
@@ -192,6 +192,7 @@ export * from './types/Modifiers.js';
192
192
  export * from './types/ModuleExport.js';
193
193
  export * from './types/AccessorPath.js';
194
194
  export * from './enrichments/toEnrichmentDescriptor.js';
195
+ export * from './enrichments/validateConfig.js';
195
196
  export * from './enrichments/readEnrichments.js';
196
197
  export * from './types/Preview.js';
197
198
  export * from './types/RefName.js';
package/esm/mod.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../src/mod.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../src/mod.ts"],"names":[],"mappings":"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"}
package/esm/mod.js CHANGED
@@ -190,6 +190,7 @@ export * from './types/Modifiers.js';
190
190
  export * from './types/ModuleExport.js';
191
191
  export * from './types/AccessorPath.js';
192
192
  export * from './enrichments/toEnrichmentDescriptor.js';
193
+ export * from './enrichments/validateConfig.js';
193
194
  export * from './enrichments/readEnrichments.js';
194
195
  export * from './types/Preview.js';
195
196
  export * from './types/RefName.js';
@@ -1 +1 @@
1
- {"version":3,"file":"Operation.d.ts","sourceRoot":"","sources":["../../../src/oas/operation/Operation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Operation.d.ts","sourceRoot":"","sources":["../../../src/oas/operation/Operation.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import "../../_dnt.polyfills.js";
2
2
  import { OasObject } from '../object/Object.js';
3
+ import { toPrimaryResponseCode } from '../response/toPrimaryResponseCode.js';
3
4
  import { OasBase } from '../../types/OasBase.js';
4
5
  export class OasOperation extends OasBase {
5
6
  /**
@@ -156,17 +157,7 @@ export class OasOperation extends OasBase {
156
157
  * @returns Success status code as string or undefined if none found
157
158
  */
158
159
  toSuccessResponseCode() {
159
- const successCode = Object.keys(this.responses)
160
- .map(httpCode => parseInt(httpCode))
161
- .sort((a, b) => a - b)
162
- .find(httpCode => httpCode >= 200 && httpCode < 300);
163
- if (successCode) {
164
- return successCode.toString();
165
- }
166
- if (this.responses.default) {
167
- return 'default';
168
- }
169
- return undefined;
160
+ return toPrimaryResponseCode(this.responses);
170
161
  }
171
162
  /**
172
163
  * Maps the request body schema to a custom value using the provided mapping function.
@@ -0,0 +1,19 @@
1
+ import type { OasResponse } from './Response.js';
2
+ import type { OasRef } from '../ref/Ref.js';
3
+ /**
4
+ * The status code of the primary success/ack response in a `responses` map.
5
+ *
6
+ * OpenAPI response keys may be a specific code (`200`), a range (`2XX`, `4XX`,
7
+ * …), or `default`. The primary 2xx is resolved in that order of specificity:
8
+ * 1. the lowest specific `2xx` numeric code,
9
+ * 2. otherwise a `2XX` range key (case-insensitive),
10
+ * 3. otherwise `default`,
11
+ * 4. otherwise `undefined`.
12
+ *
13
+ * `parseInt('2XX')` is `2` (< 200), so the numeric scan never mis-claims a
14
+ * range key — the range step handles it explicitly. Shared by
15
+ * `OasOperation.toSuccessResponseCode` and `OasWebhook.toAckResponseCode` so
16
+ * the two cannot drift.
17
+ */
18
+ export declare const toPrimaryResponseCode: (responses: Record<string, OasResponse | OasRef<"response">>) => string | undefined;
19
+ //# sourceMappingURL=toPrimaryResponseCode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toPrimaryResponseCode.d.ts","sourceRoot":"","sources":["../../../src/oas/response/toPrimaryResponseCode.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAChD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAE3C;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,qBAAqB,GAChC,WAAW,MAAM,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,KAC1D,MAAM,GAAG,SAqBX,CAAA"}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * The status code of the primary success/ack response in a `responses` map.
3
+ *
4
+ * OpenAPI response keys may be a specific code (`200`), a range (`2XX`, `4XX`,
5
+ * …), or `default`. The primary 2xx is resolved in that order of specificity:
6
+ * 1. the lowest specific `2xx` numeric code,
7
+ * 2. otherwise a `2XX` range key (case-insensitive),
8
+ * 3. otherwise `default`,
9
+ * 4. otherwise `undefined`.
10
+ *
11
+ * `parseInt('2XX')` is `2` (< 200), so the numeric scan never mis-claims a
12
+ * range key — the range step handles it explicitly. Shared by
13
+ * `OasOperation.toSuccessResponseCode` and `OasWebhook.toAckResponseCode` so
14
+ * the two cannot drift.
15
+ */
16
+ export const toPrimaryResponseCode = (responses) => {
17
+ const keys = Object.keys(responses);
18
+ const [lowest2xx] = keys
19
+ .map(code => parseInt(code))
20
+ .filter(code => code >= 200 && code < 300)
21
+ .sort((a, b) => a - b);
22
+ if (lowest2xx !== undefined) {
23
+ return lowest2xx.toString();
24
+ }
25
+ const range2xx = keys.find(code => /^2XX$/i.test(code));
26
+ if (range2xx !== undefined) {
27
+ return range2xx;
28
+ }
29
+ if (responses.default) {
30
+ return 'default';
31
+ }
32
+ return undefined;
33
+ };
@@ -1 +1 @@
1
- {"version":3,"file":"Webhook.d.ts","sourceRoot":"","sources":["../../../src/oas/webhook/Webhook.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Webhook.d.ts","sourceRoot":"","sources":["../../../src/oas/webhook/Webhook.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import "../../_dnt.polyfills.js";
2
+ import { toPrimaryResponseCode } from '../response/toPrimaryResponseCode.js';
2
3
  import { OasBase } from '../../types/OasBase.js';
3
4
  /**
4
5
  * Represents an OpenAPI 3.1 webhook — a third OAS subject, peer to
@@ -182,17 +183,7 @@ export class OasWebhook extends OasBase {
182
183
  * not what a client receives (cf. {@link OasOperation.toSuccessResponseCode}).
183
184
  */
184
185
  toAckResponseCode() {
185
- const ackCode = Object.keys(this.responses)
186
- .map(httpCode => parseInt(httpCode))
187
- .sort((a, b) => a - b)
188
- .find(httpCode => httpCode >= 200 && httpCode < 300);
189
- if (ackCode) {
190
- return ackCode.toString();
191
- }
192
- if (this.responses.default) {
193
- return 'default';
194
- }
195
- return undefined;
186
+ return toPrimaryResponseCode(this.responses);
196
187
  }
197
188
  /**
198
189
  * The primary acknowledgement response definition (the body/headers the
@@ -1 +1 @@
1
- {"version":3,"file":"decompose-union.d.ts","sourceRoot":"","sources":["../../../../src/parse/v3-0/_merge-all-of/decompose-union.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAQ/D,KAAK,kBAAkB,GAAG;IACxB,MAAM,EAAE,YAAY,CAAA;IACpB,SAAS,EAAE,OAAO,GAAG,OAAO,CAAA;CAC7B,CAAA;AAED,KAAK,oBAAoB,GAAG;IAC1B,cAAc,EAAE,YAAY,CAAA;IAC5B,UAAU,EAAE,CAAC,YAAY,GAAG,eAAe,CAAC,EAAE,CAAA;IAC9C,aAAa,EAAE,YAAY,CAAA;CAC5B,CAAA;AAGD,eAAO,MAAM,cAAc,GAAI,uBAAuB,kBAAkB,KAAG,oBA6C1E,CAAA"}
1
+ {"version":3,"file":"decompose-union.d.ts","sourceRoot":"","sources":["../../../../src/parse/v3-0/_merge-all-of/decompose-union.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAQ/D,KAAK,kBAAkB,GAAG;IACxB,MAAM,EAAE,YAAY,CAAA;IACpB,SAAS,EAAE,OAAO,GAAG,OAAO,CAAA;CAC7B,CAAA;AAED,KAAK,oBAAoB,GAAG;IAC1B,cAAc,EAAE,YAAY,CAAA;IAC5B,UAAU,EAAE,CAAC,YAAY,GAAG,eAAe,CAAC,EAAE,CAAA;IAC9C,aAAa,EAAE,YAAY,CAAA;CAC5B,CAAA;AAGD,eAAO,MAAM,cAAc,GAAI,uBAAuB,kBAAkB,KAAG,oBA2C1E,CAAA"}