@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
@@ -49,15 +49,15 @@
49
49
  * @module Settings
50
50
  */
51
51
  import "../_dnt.polyfills.js";
52
- import { generatorEnrichments } from './Enrichments.js';
53
- import * as v from 'valibot';
54
- import { method } from './Method.js';
52
+ import { generatorEnrichments, } from "./Enrichments.js";
53
+ import * as v from "valibot";
54
+ import { method } from "./Method.js";
55
55
  /**
56
56
  * Whether a relative path contains a `..` parent-reference segment.
57
57
  * `..` is a parent reference only as a whole path segment — a
58
58
  * directory name that merely contains dots is not flagged.
59
59
  */
60
- const hasParentSegment = (path) => path.split(/[/\\]/).some(segment => segment === '..');
60
+ const hasParentSegment = (path) => path.split(/[/\\]/).some((segment) => segment === "..");
61
61
  /**
62
62
  * Valibot schema for {@link ModulePackage}.
63
63
  *
@@ -67,10 +67,10 @@ const hasParentSegment = (path) => path.split(/[/\\]/).some(segment => segment =
67
67
  * that otherwise misplaces every artifact silently.
68
68
  */
69
69
  export const modulePackage = v.object({
70
- rootPath: v.pipe(v.string(), v.check(rootPath => !hasParentSegment(rootPath), 'package rootPath must be a forward path with no ".." segments — ' +
71
- 'set client.json basePath to a common ancestor of every package ' +
72
- 'so each rootPath is written forward from it')),
73
- moduleName: v.optional(v.string())
70
+ rootPath: v.pipe(v.string(), v.check((rootPath) => !hasParentSegment(rootPath), 'package rootPath must be a forward path with no ".." segments — ' +
71
+ "set client.json basePath to a common ancestor of every package " +
72
+ "so each rootPath is written forward from it")),
73
+ moduleName: v.optional(v.string()),
74
74
  });
75
75
  /**
76
76
  * Valibot schema for validating skip paths configuration.
@@ -100,7 +100,11 @@ export const skipModelRefs = v.record(v.string(), v.array(v.string()));
100
100
  * models and variants by generator.
101
101
  */
102
102
  export const skipModels = v.record(v.string(), skipModelRefs);
103
- const skip = v.union([skipOperations, skipModels, v.string()]);
103
+ const skip = v.union([
104
+ skipOperations,
105
+ skipModels,
106
+ v.string(),
107
+ ]);
104
108
  /**
105
109
  * Valibot schema for {@link IncludePaths}. Structurally identical to
106
110
  * {@link skipPaths} — both map a path to a `method → variant[]` record
@@ -128,7 +132,7 @@ export const includeModels = v.record(v.string(), includeModelRefs);
128
132
  const include = v.union([
129
133
  includeOperations,
130
134
  includeModels,
131
- v.string()
135
+ v.string(),
132
136
  ]);
133
137
  /**
134
138
  * Valibot schema for validating client settings configuration.
@@ -143,7 +147,7 @@ const include = v.union([
143
147
  */
144
148
  export const anchorsSettings = v.object({
145
149
  enabled: v.boolean(),
146
- out: v.optional(v.string())
150
+ out: v.optional(v.string()),
147
151
  });
148
152
  export const clientSettings = v.object({
149
153
  basePath: v.optional(v.string()),
@@ -152,7 +156,8 @@ export const clientSettings = v.object({
152
156
  enrichments: v.optional(generatorEnrichments),
153
157
  include: v.optional(v.array(include)),
154
158
  skip: v.optional(v.array(skip)),
155
- anchors: v.optional(anchorsSettings)
159
+ anchors: v.optional(anchorsSettings),
160
+ inputDirs: v.optional(v.array(v.string())),
156
161
  });
157
162
  /**
158
163
  * Valibot schema for validating SKMTC client configuration.
@@ -163,6 +168,7 @@ export const clientSettings = v.object({
163
168
  export const skmtcClientConfig = v.object({
164
169
  serverUrl: v.optional(v.string()),
165
170
  projectKey: v.optional(v.string()),
171
+ project: v.optional(v.string()),
166
172
  source: v.optional(v.string()),
167
- settings: clientSettings
173
+ settings: clientSettings,
168
174
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@skmtc/core",
3
- "version": "0.16.2",
3
+ "version": "0.18.1",
4
4
  "description": "Skmtc is a declarative code generation framework",
5
5
  "keywords": [
6
6
  "openapi",
@@ -165,9 +165,9 @@ export declare class GenerateContext implements GenerateContextType {
165
165
  * Evaluate each generator's `isSupported` over the parsed document's subjects
166
166
  * and report the subjects each generator supports — capability only, no
167
167
  * transform and no render. Operation generators report the operations their
168
- * `isSupported` accepts; model generators report every model (the generate
169
- * pipeline applies no model-level `isSupported`). A generator targeting the
170
- * other protocol reports nothing.
168
+ * `isSupported` accepts; model generators report the models theirs accepts
169
+ * (a generator that declares no `isSupported` defaults to every subject). A
170
+ * generator targeting the other protocol reports nothing.
171
171
  */
172
172
  toSupportedSubjects(): SupportedSubjects;
173
173
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"GenerateContext.d.ts","sourceRoot":"","sources":["../../src/context/GenerateContext.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GenerateContext.d.ts","sourceRoot":"","sources":["../../src/context/GenerateContext.ts"],"names":[],"mappings":"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"}
@@ -13,7 +13,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
13
13
  var __importDefault = (this && this.__importDefault) || function (mod) {
14
14
  return (mod && mod.__esModule) ? mod : { "default": mod };
15
15
  };
16
- var _GenerateContext_instances, _GenerateContext_files, _GenerateContext_previews, _GenerateContext_mappings, _GenerateContext_captureChannel, _GenerateContext_supports, _GenerateContext_subjectDefaults, _GenerateContext_runOasOperationGenerator, _GenerateContext_runWebhookGenerator, _GenerateContext_runGqlOperationGenerator, _GenerateContext_runModelGenerator, _GenerateContext_addPreview, _GenerateContext_addMapping;
16
+ var _GenerateContext_instances, _GenerateContext_files, _GenerateContext_previews, _GenerateContext_mappings, _GenerateContext_captureChannel, _GenerateContext_schemaRefNames, _GenerateContext_subjectDefaults, _GenerateContext_runOasOperationGenerator, _GenerateContext_runWebhookGenerator, _GenerateContext_runGqlOperationGenerator, _GenerateContext_runModelGenerator, _GenerateContext_addPreview, _GenerateContext_addMapping;
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
18
  exports.toModelSource = exports.toGqlOperationSource = exports.toWebhookSource = exports.toOasOperationSource = exports.GenerateContext = void 0;
19
19
  const normalize_js_1 = require("../deps/jsr.io/@std/path/1.1.4/normalize.js");
@@ -238,9 +238,9 @@ class GenerateContext {
238
238
  * Evaluate each generator's `isSupported` over the parsed document's subjects
239
239
  * and report the subjects each generator supports — capability only, no
240
240
  * transform and no render. Operation generators report the operations their
241
- * `isSupported` accepts; model generators report every model (the generate
242
- * pipeline applies no model-level `isSupported`). A generator targeting the
243
- * other protocol reports nothing.
241
+ * `isSupported` accepts; model generators report the models theirs accepts
242
+ * (a generator that declares no `isSupported` defaults to every subject). A
243
+ * generator targeting the other protocol reports nothing.
244
244
  */
245
245
  toSupportedSubjects() {
246
246
  const generators = Object.values(this.toGeneratorConfigMap());
@@ -250,7 +250,8 @@ class GenerateContext {
250
250
  case 'oasOperation': {
251
251
  const operations = this.document.type === 'oas'
252
252
  ? this.document.value.operations
253
- .filter(operation => __classPrivateFieldGet(this, _GenerateContext_instances, "m", _GenerateContext_supports).call(this, () => generatorConfig.isSupported({ operation, context: this, variant: Variant_js_1.DEFAULT_VARIANT })))
253
+ .filter(operation => typeof generatorConfig.isSupported !== 'function' ||
254
+ generatorConfig.isSupported({ operation, context: this, variant: Variant_js_1.DEFAULT_VARIANT }))
254
255
  .map(operation => ({ path: operation.path, method: operation.method }))
255
256
  : [];
256
257
  out[generatorConfig.id] = { type: 'oasOperation', operations };
@@ -259,7 +260,8 @@ class GenerateContext {
259
260
  case 'webhook': {
260
261
  const webhooks = this.document.type === 'oas'
261
262
  ? this.document.value.webhooks
262
- .filter(webhook => __classPrivateFieldGet(this, _GenerateContext_instances, "m", _GenerateContext_supports).call(this, () => generatorConfig.isSupported({ webhook, context: this, variant: Variant_js_1.DEFAULT_VARIANT })))
263
+ .filter(webhook => typeof generatorConfig.isSupported !== 'function' ||
264
+ generatorConfig.isSupported({ webhook, context: this, variant: Variant_js_1.DEFAULT_VARIANT }))
263
265
  .map(webhook => ({ name: webhook.name, method: webhook.method }))
264
266
  : [];
265
267
  out[generatorConfig.id] = { type: 'webhook', webhooks };
@@ -268,7 +270,8 @@ class GenerateContext {
268
270
  case 'gqlOperation': {
269
271
  const operations = this.document.type === 'gql'
270
272
  ? this.document.value.operations
271
- .filter(operation => __classPrivateFieldGet(this, _GenerateContext_instances, "m", _GenerateContext_supports).call(this, () => generatorConfig.isSupported({ operation, context: this, variant: Variant_js_1.DEFAULT_VARIANT })))
273
+ .filter(operation => typeof generatorConfig.isSupported !== 'function' ||
274
+ generatorConfig.isSupported({ operation, context: this, variant: Variant_js_1.DEFAULT_VARIANT }))
272
275
  .map(operation => ({
273
276
  rootKind: operation.rootKind,
274
277
  fieldName: operation.fieldName
@@ -278,10 +281,9 @@ class GenerateContext {
278
281
  break;
279
282
  }
280
283
  case 'model': {
281
- const refNames = this.document.type === 'oas'
282
- ? (this.document.value.components?.toSchemasRefNames() ?? [])
283
- : this.document.value.registry.toSchemasRefNames();
284
- out[generatorConfig.id] = { type: 'model', models: [...refNames] };
284
+ const models = __classPrivateFieldGet(this, _GenerateContext_instances, "m", _GenerateContext_schemaRefNames).call(this).filter(refName => typeof generatorConfig.isSupported !== 'function' ||
285
+ generatorConfig.isSupported({ refName, context: this, variant: Variant_js_1.DEFAULT_VARIANT }));
286
+ out[generatorConfig.id] = { type: 'model', models };
285
287
  break;
286
288
  }
287
289
  default: {
@@ -317,7 +319,8 @@ class GenerateContext {
317
319
  break;
318
320
  const operations = {};
319
321
  this.document.value.operations.forEach(operation => {
320
- if (!__classPrivateFieldGet(this, _GenerateContext_instances, "m", _GenerateContext_supports).call(this, () => generatorConfig.isSupported({ operation, context: this, variant: Variant_js_1.DEFAULT_VARIANT }))) {
322
+ if (typeof generatorConfig.isSupported === 'function' &&
323
+ !generatorConfig.isSupported({ operation, context: this, variant: Variant_js_1.DEFAULT_VARIANT })) {
321
324
  return;
322
325
  }
323
326
  const leaf = __classPrivateFieldGet(this, _GenerateContext_instances, "m", _GenerateContext_subjectDefaults).call(this, () => toDefaults({ operation, context: this, variant: Variant_js_1.DEFAULT_VARIANT }));
@@ -337,7 +340,8 @@ class GenerateContext {
337
340
  break;
338
341
  const webhooks = {};
339
342
  this.document.value.webhooks.forEach(webhook => {
340
- if (!__classPrivateFieldGet(this, _GenerateContext_instances, "m", _GenerateContext_supports).call(this, () => generatorConfig.isSupported({ webhook, context: this, variant: Variant_js_1.DEFAULT_VARIANT }))) {
343
+ if (typeof generatorConfig.isSupported === 'function' &&
344
+ !generatorConfig.isSupported({ webhook, context: this, variant: Variant_js_1.DEFAULT_VARIANT })) {
341
345
  return;
342
346
  }
343
347
  const leaf = __classPrivateFieldGet(this, _GenerateContext_instances, "m", _GenerateContext_subjectDefaults).call(this, () => toDefaults({ webhook, context: this, variant: Variant_js_1.DEFAULT_VARIANT }));
@@ -355,14 +359,16 @@ class GenerateContext {
355
359
  const toDefaults = generatorConfig.toEnrichmentDefaults;
356
360
  if (!toDefaults)
357
361
  break;
358
- // Model entries carry no `isSupported` — the generate pipeline visits
359
- // every refName and filters inside the callback. Mirror that here: the
360
- // hook itself returns `undefined` for schemas it doesn't seed.
361
- const refNames = this.document.type === 'oas'
362
- ? (this.document.value.components?.toSchemasRefNames() ?? [])
363
- : this.document.value.registry.toSchemasRefNames();
362
+ // Seed only the models the generator supports — mirrors the
363
+ // operation arm. A generator that declares no `isSupported`
364
+ // defaults to every model; the hook itself still returns
365
+ // `undefined` for schemas it doesn't seed.
364
366
  const models = {};
365
- for (const refName of refNames) {
367
+ for (const refName of __classPrivateFieldGet(this, _GenerateContext_instances, "m", _GenerateContext_schemaRefNames).call(this)) {
368
+ if (typeof generatorConfig.isSupported === 'function' &&
369
+ !generatorConfig.isSupported({ refName, context: this, variant: Variant_js_1.DEFAULT_VARIANT })) {
370
+ continue;
371
+ }
366
372
  const leaf = __classPrivateFieldGet(this, _GenerateContext_instances, "m", _GenerateContext_subjectDefaults).call(this, () => toDefaults({ refName, context: this, variant: Variant_js_1.DEFAULT_VARIANT }));
367
373
  if (leaf === undefined)
368
374
  continue;
@@ -734,13 +740,16 @@ class GenerateContext {
734
740
  }
735
741
  }
736
742
  exports.GenerateContext = GenerateContext;
737
- _GenerateContext_files = new WeakMap(), _GenerateContext_previews = new WeakMap(), _GenerateContext_mappings = new WeakMap(), _GenerateContext_captureChannel = new WeakMap(), _GenerateContext_instances = new WeakSet(), _GenerateContext_supports = function _GenerateContext_supports(probe) {
738
- try {
739
- return probe();
740
- }
741
- catch (error) {
742
- this.logger.error(error);
743
- return false;
743
+ _GenerateContext_files = new WeakMap(), _GenerateContext_previews = new WeakMap(), _GenerateContext_mappings = new WeakMap(), _GenerateContext_captureChannel = new WeakMap(), _GenerateContext_instances = new WeakSet(), _GenerateContext_schemaRefNames = function _GenerateContext_schemaRefNames() {
744
+ switch (this.document.type) {
745
+ case 'oas':
746
+ return [...(this.document.value.components?.toSchemasRefNames() ?? [])];
747
+ case 'gql':
748
+ return [...this.document.value.registry.toSchemasRefNames()];
749
+ default: {
750
+ const _exhaustive = this.document;
751
+ throw new Error(`Unhandled document type: ${JSON.stringify(_exhaustive)}`);
752
+ }
744
753
  }
745
754
  }, _GenerateContext_subjectDefaults = function _GenerateContext_subjectDefaults(produce) {
746
755
  try {
@@ -942,11 +951,15 @@ _GenerateContext_files = new WeakMap(), _GenerateContext_previews = new WeakMap(
942
951
  variants.forEach(variant => {
943
952
  refTrail.trace(`variant: ${variant}`, st => {
944
953
  try {
945
- // Order: include (allow) → skip (deny). Match is now on
946
- // `(refName, variant)`. An empty variant array on a
947
- // refName means "every variant of this refName"; a
948
- // populated array names the variants the entry applies
949
- // to.
954
+ if (typeof generatorConfig.isSupported === 'function' &&
955
+ !generatorConfig.isSupported({ refName, context: this, variant })) {
956
+ this.captureCurrentResult('notSupported', st);
957
+ return;
958
+ }
959
+ // Order: isSupported (capability) → include (allow) → skip
960
+ // (deny). Match is on `(refName, variant)`. An empty variant
961
+ // array on a refName means "every variant of this refName"; a
962
+ // populated array names the variants the entry applies to.
950
963
  if (include !== undefined &&
951
964
  !matchesRefFilter({ refs: include, refName, variant })) {
952
965
  this.captureCurrentResult('skipped', st);
@@ -118,6 +118,22 @@ export declare class ParseContext {
118
118
  * the parsed document. Symmetric across protocols: OAS prunes via
119
119
  * `OasDocument.removeItem`, GQL via `GqlDocument.removeItem`. Each
120
120
  * pruned consumer yields an `INVALID_DEPENDENCY_REF` issue.
121
+ *
122
+ * Pruning is deliberately **single-level** — only the direct
123
+ * consumers of a parse-errored schema are removed. Anything those
124
+ * removals leave with a dangling reference is left in place: if a
125
+ * generator never resolves it, it is harmless; if one does, that
126
+ * single artifact fails at generate time and is isolated there. We
127
+ * do not cascade transitively.
128
+ *
129
+ * Known coarseness, intentionally left as-is for now: a `paths:P:M:…`
130
+ * consumer trail resolves to the *whole operation*, so an operation
131
+ * that references a broken schema is pruned even when the reference
132
+ * is only through a response it does not generate from. A finer
133
+ * design — don't prune operations for response-position refs and let
134
+ * generate-time isolation handle the dangling ref — is deferred; the
135
+ * single-level + generate-time-isolation contract above keeps the
136
+ * dangling ref safe in the meantime.
121
137
  */
122
138
  removeErroredItems(): void;
123
139
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"ParseContext.d.ts","sourceRoot":"","sources":["../../src/context/ParseContext.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ParseContext.d.ts","sourceRoot":"","sources":["../../src/context/ParseContext.ts"],"names":[],"mappings":"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"}
@@ -237,6 +237,22 @@ class ParseContext {
237
237
  * the parsed document. Symmetric across protocols: OAS prunes via
238
238
  * `OasDocument.removeItem`, GQL via `GqlDocument.removeItem`. Each
239
239
  * pruned consumer yields an `INVALID_DEPENDENCY_REF` issue.
240
+ *
241
+ * Pruning is deliberately **single-level** — only the direct
242
+ * consumers of a parse-errored schema are removed. Anything those
243
+ * removals leave with a dangling reference is left in place: if a
244
+ * generator never resolves it, it is harmless; if one does, that
245
+ * single artifact fails at generate time and is isolated there. We
246
+ * do not cascade transitively.
247
+ *
248
+ * Known coarseness, intentionally left as-is for now: a `paths:P:M:…`
249
+ * consumer trail resolves to the *whole operation*, so an operation
250
+ * that references a broken schema is pruned even when the reference
251
+ * is only through a response it does not generate from. A finer
252
+ * design — don't prune operations for response-position refs and let
253
+ * generate-time isolation handle the dangling ref — is deferred; the
254
+ * single-level + generate-time-isolation contract above keeps the
255
+ * dangling ref safe in the meantime.
240
256
  */
241
257
  removeErroredItems() {
242
258
  switch (this.protocol.type) {
@@ -416,6 +432,16 @@ class ParseContext {
416
432
  }, parent);
417
433
  break;
418
434
  }
435
+ case 'debug': {
436
+ this.logIssueAt({
437
+ protocol,
438
+ level: 'debug',
439
+ type,
440
+ location,
441
+ message: issue.message
442
+ }, parent);
443
+ break;
444
+ }
419
445
  default: {
420
446
  const _exhaustive = issue;
421
447
  throw new Error(`Unhandled parse-issue level: ${JSON.stringify(_exhaustive)}`);
@@ -3,10 +3,18 @@
3
3
  * GraphQL parsing. Each variant stands on its own — no shared base —
4
4
  * so TypeScript narrows cleanly on `protocol` and `level`.
5
5
  *
6
- * `cause?: unknown` is only present on the error variants. Warnings are
7
- * synthesized by the parser with all the information needed for the
8
- * `message`; errors usually wrap a thrown `Error`, which we keep in
9
- * `cause` for debugging without forcing renderers to know about it.
6
+ * `cause?: unknown` is only present on the error variants. Warnings and
7
+ * `debug` issues are synthesized by the parser with all the information
8
+ * needed for the `message`; errors usually wrap a thrown `Error`, which
9
+ * we keep in `cause` for debugging without forcing renderers to know
10
+ * about it.
11
+ *
12
+ * Three severities: `error` (broken — drives exit status), `warning` (a
13
+ * real deviation that was handled, e.g. a 3.0 schema missing `type`), and
14
+ * `debug` (informational — the parser handled the input gracefully and
15
+ * recorded what it assumed or dropped; spec-legal-but-lossy or
16
+ * dialect-benign cases live here). All three are recorded on the manifest;
17
+ * consumers filter `debug` out of the default view.
10
18
  *
11
19
  * `location` is the schema-level address of the issue: for OAS it's the
12
20
  * stringified stack trail (e.g. `components.schemas.User.properties.email`);
@@ -63,6 +71,12 @@ export type ParseIssue = {
63
71
  type: OasIssueType;
64
72
  location: string;
65
73
  message: string;
74
+ } | {
75
+ protocol: 'oas';
76
+ level: 'debug';
77
+ type: OasIssueType;
78
+ location: string;
79
+ message: string;
66
80
  } | {
67
81
  protocol: 'gql';
68
82
  level: 'error';
@@ -76,5 +90,11 @@ export type ParseIssue = {
76
90
  type: GqlIssueType;
77
91
  location: string;
78
92
  message: string;
93
+ } | {
94
+ protocol: 'gql';
95
+ level: 'debug';
96
+ type: GqlIssueType;
97
+ location: string;
98
+ message: string;
79
99
  };
80
100
  //# sourceMappingURL=ParseIssue.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ParseIssue.d.ts","sourceRoot":"","sources":["../../src/context/ParseIssue.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAC5B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAEtD;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,MAAM,YAAY,GACpB,mBAAmB,GACnB,mBAAmB,GACnB,mBAAmB,GACnB,yBAAyB,GACzB,iBAAiB,GACjB,yBAAyB,GACzB,wBAAwB,CAAA;AAE5B;;;;;GAKG;AACH,eAAO,MAAM,YAAY,kYAQvB,CAAA;AAKF,MAAM,MAAM,UAAU,GAClB;IACE,QAAQ,EAAE,KAAK,CAAA;IACf,KAAK,EAAE,OAAO,CAAA;IACd,IAAI,EAAE,YAAY,CAAA;IAClB,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB,GACD;IACE,QAAQ,EAAE,KAAK,CAAA;IACf,KAAK,EAAE,SAAS,CAAA;IAChB,IAAI,EAAE,YAAY,CAAA;IAClB,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;CAChB,GACD;IACE,QAAQ,EAAE,KAAK,CAAA;IACf,KAAK,EAAE,OAAO,CAAA;IACd,IAAI,EAAE,YAAY,CAAA;IAClB,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB,GACD;IACE,QAAQ,EAAE,KAAK,CAAA;IACf,KAAK,EAAE,SAAS,CAAA;IAChB,IAAI,EAAE,YAAY,CAAA;IAClB,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;CAChB,CAAA"}
1
+ {"version":3,"file":"ParseIssue.d.ts","sourceRoot":"","sources":["../../src/context/ParseIssue.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAC5B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAEtD;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,MAAM,YAAY,GACpB,mBAAmB,GACnB,mBAAmB,GACnB,mBAAmB,GACnB,yBAAyB,GACzB,iBAAiB,GACjB,yBAAyB,GACzB,wBAAwB,CAAA;AAE5B;;;;;GAKG;AACH,eAAO,MAAM,YAAY,kYAQvB,CAAA;AAKF,MAAM,MAAM,UAAU,GAClB;IACE,QAAQ,EAAE,KAAK,CAAA;IACf,KAAK,EAAE,OAAO,CAAA;IACd,IAAI,EAAE,YAAY,CAAA;IAClB,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB,GACD;IACE,QAAQ,EAAE,KAAK,CAAA;IACf,KAAK,EAAE,SAAS,CAAA;IAChB,IAAI,EAAE,YAAY,CAAA;IAClB,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;CAChB,GACD;IACE,QAAQ,EAAE,KAAK,CAAA;IACf,KAAK,EAAE,OAAO,CAAA;IACd,IAAI,EAAE,YAAY,CAAA;IAClB,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;CAChB,GACD;IACE,QAAQ,EAAE,KAAK,CAAA;IACf,KAAK,EAAE,OAAO,CAAA;IACd,IAAI,EAAE,YAAY,CAAA;IAClB,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB,GACD;IACE,QAAQ,EAAE,KAAK,CAAA;IACf,KAAK,EAAE,SAAS,CAAA;IAChB,IAAI,EAAE,YAAY,CAAA;IAClB,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;CAChB,GACD;IACE,QAAQ,EAAE,KAAK,CAAA;IACf,KAAK,EAAE,OAAO,CAAA;IACd,IAAI,EAAE,YAAY,CAAA;IAClB,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;CAChB,CAAA"}
@@ -4,10 +4,18 @@
4
4
  * GraphQL parsing. Each variant stands on its own — no shared base —
5
5
  * so TypeScript narrows cleanly on `protocol` and `level`.
6
6
  *
7
- * `cause?: unknown` is only present on the error variants. Warnings are
8
- * synthesized by the parser with all the information needed for the
9
- * `message`; errors usually wrap a thrown `Error`, which we keep in
10
- * `cause` for debugging without forcing renderers to know about it.
7
+ * `cause?: unknown` is only present on the error variants. Warnings and
8
+ * `debug` issues are synthesized by the parser with all the information
9
+ * needed for the `message`; errors usually wrap a thrown `Error`, which
10
+ * we keep in `cause` for debugging without forcing renderers to know
11
+ * about it.
12
+ *
13
+ * Three severities: `error` (broken — drives exit status), `warning` (a
14
+ * real deviation that was handled, e.g. a 3.0 schema missing `type`), and
15
+ * `debug` (informational — the parser handled the input gracefully and
16
+ * recorded what it assumed or dropped; spec-legal-but-lossy or
17
+ * dialect-benign cases live here). All three are recorded on the manifest;
18
+ * consumers filter `debug` out of the default view.
11
19
  *
12
20
  * `location` is the schema-level address of the issue: for OAS it's the
13
21
  * stringified stack trail (e.g. `components.schemas.User.properties.email`);
@@ -48,7 +48,17 @@ export type ParseWarningInput = {
48
48
  level: 'warning';
49
49
  message: string;
50
50
  };
51
- export type ParseIssueInput = ParseErrorInput | ParseWarningInput;
51
+ /**
52
+ * Informational diagnostic — the parser handled the input gracefully and
53
+ * is recording what it assumed or dropped (a spec-legal-but-lossy or
54
+ * dialect-benign case). Recorded on the manifest but filtered out of the
55
+ * default view; never affects exit status.
56
+ */
57
+ export type ParseDebugInput = {
58
+ level: 'debug';
59
+ message: string;
60
+ };
61
+ export type ParseIssueInput = ParseErrorInput | ParseWarningInput | ParseDebugInput;
52
62
  /**
53
63
  * Arguments accepted by `ParseContext.logIssue` (StackTrail-based
54
64
  * location, computed via `stackTrail.trace(key, ...)`).
@@ -149,6 +159,12 @@ export type LogIssueAtArgs = {
149
159
  type: OasIssueType;
150
160
  location: string;
151
161
  message: string;
162
+ } | {
163
+ protocol: 'oas';
164
+ level: 'debug';
165
+ type: OasIssueType;
166
+ location: string;
167
+ message: string;
152
168
  } | {
153
169
  protocol: 'gql';
154
170
  level: 'error';
@@ -162,6 +178,12 @@ export type LogIssueAtArgs = {
162
178
  type: GqlIssueType;
163
179
  location: string;
164
180
  message: string;
181
+ } | {
182
+ protocol: 'gql';
183
+ level: 'debug';
184
+ type: GqlIssueType;
185
+ location: string;
186
+ message: string;
165
187
  };
166
188
  /**
167
189
  * Options accepted by the GQL parse phase. Passed through the
@@ -1 +1 @@
1
- {"version":3,"file":"parseTypes.d.ts","sourceRoot":"","sources":["../../src/context/parseTypes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parseTypes.d.ts","sourceRoot":"","sources":["../../src/context/parseTypes.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ModelDriver.d.ts","sourceRoot":"","sources":["../../../src/dsl/model/ModelDriver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AACjD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAA;AACzE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAI5D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;AAC/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAC1D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AAMrD,KAAK,eAAe,CAAC,CAAC,SAAS,cAAc,EAAE,cAAc,IAAI;IAC/D,OAAO,EAAE,mBAAmB,CAAA;IAC5B,UAAU,EAAE,eAAe,CAAC,CAAC,EAAE,cAAc,CAAC,CAAA;IAC9C,OAAO,EAAE,OAAO,CAAA;IAChB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB;;;;;OAKG;IACH,OAAO,EAAE,MAAM,CAAA;CAChB,CAAA;AAWD;;;;;;;;GAQG;AACH,qBAAa,WAAW,CAAC,CAAC,SAAS,cAAc,EAAE,cAAc;IAC/D,OAAO,EAAE,mBAAmB,CAAA;IAC5B,UAAU,EAAE,eAAe,CAAC,CAAC,EAAE,cAAc,CAAC,CAAA;IAC9C,OAAO,EAAE,OAAO,CAAA;IAChB,QAAQ,EAAE,eAAe,CAAC,cAAc,CAAC,CAAA;IACzC,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,UAAU,EAAE,mBAAmB,CAAC,CAAC,CAAC,CAAA;IAClC,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,OAAO,EAAE,MAAM,CAAA;gBAEH,EACV,OAAO,EACP,UAAU,EACV,OAAO,EACP,eAAe,EACf,OAAO,EACP,QAAQ,EACR,OAAO,EACR,EAAE,eAAe,CAAC,CAAC,EAAE,cAAc,CAAC;IAwBrC,OAAO,CAAC,KAAK;IAoBb;;;;;OAKG;IACH,OAAO,CAAC,UAAU;IAYlB,OAAO,CAAC,aAAa;IAkCrB,OAAO,CAAC,gBAAgB;CAsBzB"}
1
+ {"version":3,"file":"ModelDriver.d.ts","sourceRoot":"","sources":["../../../src/dsl/model/ModelDriver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AACjD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAA;AACzE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAI5D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;AAC/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAC1D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AAMrD,KAAK,eAAe,CAAC,CAAC,SAAS,cAAc,EAAE,cAAc,IAAI;IAC/D,OAAO,EAAE,mBAAmB,CAAA;IAC5B,UAAU,EAAE,eAAe,CAAC,CAAC,EAAE,cAAc,CAAC,CAAA;IAC9C,OAAO,EAAE,OAAO,CAAA;IAChB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB;;;;;OAKG;IACH,OAAO,EAAE,MAAM,CAAA;CAChB,CAAA;AAWD;;;;;;;;GAQG;AACH,qBAAa,WAAW,CAAC,CAAC,SAAS,cAAc,EAAE,cAAc;IAC/D,OAAO,EAAE,mBAAmB,CAAA;IAC5B,UAAU,EAAE,eAAe,CAAC,CAAC,EAAE,cAAc,CAAC,CAAA;IAC9C,OAAO,EAAE,OAAO,CAAA;IAChB,QAAQ,EAAE,eAAe,CAAC,cAAc,CAAC,CAAA;IACzC,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,UAAU,EAAE,mBAAmB,CAAC,CAAC,CAAC,CAAA;IAClC,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,OAAO,EAAE,MAAM,CAAA;gBAEH,EACV,OAAO,EACP,UAAU,EACV,OAAO,EACP,eAAe,EACf,OAAO,EACP,QAAQ,EACR,OAAO,EACR,EAAE,eAAe,CAAC,CAAC,EAAE,cAAc,CAAC;IA0BrC,OAAO,CAAC,KAAK;IAoBb;;;;;OAKG;IACH,OAAO,CAAC,UAAU;IAYlB,OAAO,CAAC,aAAa;IAkCrB,OAAO,CAAC,gBAAgB;CAsBzB"}
@@ -87,6 +87,7 @@ class ModelDriver {
87
87
  refName,
88
88
  variant
89
89
  });
90
+ assertPeerSupported({ context, projection, refName });
90
91
  this.settings = this.context.toModelContentSettings({ refName, projection, variant });
91
92
  this.definition = this.apply({ destinationPath });
92
93
  this.context.modelDepth[`${projection.id}:${refName}`] = 0;
@@ -197,3 +198,31 @@ const assertPeerVariantExists = ({ context, generatorId, refName, variant }) =>
197
198
  `Available variants: ${available}.`);
198
199
  }
199
200
  };
201
+ /**
202
+ * Guard the peer-capability invariant for model insertions.
203
+ *
204
+ * `insertModel` materialises a peer's Definition regardless of the peer's
205
+ * `skip` / `include` configuration — dependency edges are intentionally
206
+ * filter-blind. Capability is different: a peer's `isSupported` declares
207
+ * which models it can serve *at all*. Handing a peer a model it has declared
208
+ * unsupported would build a broken Definition or crash inside the peer's
209
+ * constructor.
210
+ *
211
+ * The Driver throws here instead. The throw unwinds into `GenerateContext`'s
212
+ * per-item `try/catch`, so the *calling* generator's item is recorded as
213
+ * `error` and the run continues — loud, isolated failure rather than silent
214
+ * broken output.
215
+ *
216
+ * A peer that exposes no static `isSupported` is treated as supporting every
217
+ * model: `toModelProjectionBase` defaults it to `() => true`, and a
218
+ * hand-rolled projection may omit it.
219
+ */
220
+ const assertPeerSupported = ({ context, projection, refName }) => {
221
+ if (typeof projection.isSupported !== 'function') {
222
+ return;
223
+ }
224
+ if (!projection.isSupported({ refName, context })) {
225
+ throw new Error(`[${projection.id}] Cannot insert '${refName}' — peer generator ` +
226
+ `does not support this model (isSupported returned false).`);
227
+ }
228
+ };
@@ -1,12 +1,13 @@
1
1
  import type { RefName } from '../../types/RefName.js';
2
2
  import type { EnrichmentRequest } from '../../types/EnrichmentRequest.js';
3
- import type { TransformModelArgs, ToModelPreviewModuleArgs, ToModelMappingArgs, ToModelEnrichmentsArgs } from './types.js';
4
- import type * as v from 'valibot';
3
+ import type { TransformModelArgs, ToModelPreviewModuleArgs, ToModelMappingArgs, ToModelEnrichmentsArgs, IsSupportedModelArgs, IsSupportedModelConfigArgs } from './types.js';
4
+ import * as v from 'valibot';
5
5
  import type { MappingModule, PreviewModule } from '../../types/Preview.js';
6
6
  type ToModelEntryArgs<EnrichmentType = undefined> = {
7
7
  id: string;
8
8
  transform: ({ context, refName, variant }: TransformModelArgs) => void;
9
9
  toEnrichmentSchema: () => v.GenericSchema<EnrichmentType>;
10
+ isSupported?: ({ context, refName }: IsSupportedModelConfigArgs<EnrichmentType>) => boolean;
10
11
  toPreviewModule?: ({ context, refName, variant }: ToModelPreviewModuleArgs) => PreviewModule;
11
12
  toMappingModule?: ({ context, refName, variant }: ToModelMappingArgs) => MappingModule;
12
13
  toEnrichmentRequest?: <RequestedEnrichment extends EnrichmentType>(refName: RefName) => EnrichmentRequest<RequestedEnrichment> | undefined;
@@ -26,6 +27,10 @@ type ToModelEntryArgs<EnrichmentType = undefined> = {
26
27
  * @param args - Configuration for the model entry
27
28
  * @param args.id - Unique identifier for this model entry
28
29
  * @param args.transform - Function to transform schemas into artifacts
30
+ * @param args.isSupported - Optional capability gate; a model whose predicate
31
+ * returns `false` is recorded `notSupported` and its `transform` is skipped.
32
+ * Resolve the schema inside the predicate when needed
33
+ * (`context.resolveSchemaRefOnce(refName, id)`). Defaults to supporting every model.
29
34
  * @param args.toPreviewModule - Optional function to generate preview modules
30
35
  * @param args.toMappingModule - Optional function to generate mapping modules
31
36
  * @param args.toEnrichmentSchema - Optional function to provide enrichment validation
@@ -67,10 +72,11 @@ type ToModelEntryArgs<EnrichmentType = undefined> = {
67
72
  * });
68
73
  * ```
69
74
  */
70
- export declare const toModelEntry: <EnrichmentType = undefined>({ id, transform, toPreviewModule, toMappingModule, toEnrichmentSchema, toEnrichmentRequest, toEnrichmentDefaults }: ToModelEntryArgs<EnrichmentType>) => {
75
+ export declare const toModelEntry: <EnrichmentType = undefined>({ id, transform, isSupported, toPreviewModule, toMappingModule, toEnrichmentSchema, toEnrichmentRequest, toEnrichmentDefaults }: ToModelEntryArgs<EnrichmentType>) => {
71
76
  id: string;
72
77
  type: "model";
73
78
  transform: ({ context, refName, variant }: TransformModelArgs) => void;
79
+ isSupported: ({ context, refName }: IsSupportedModelArgs) => boolean;
74
80
  toPreviewModule?: ({ context, refName, variant }: ToModelPreviewModuleArgs) => PreviewModule;
75
81
  toMappingModule?: ({ context, refName, variant }: ToModelMappingArgs) => MappingModule;
76
82
  toEnrichmentSchema: () => v.GenericSchema<EnrichmentType>;
@@ -1 +1 @@
1
- {"version":3,"file":"toModelEntry.d.ts","sourceRoot":"","sources":["../../../src/dsl/model/toModelEntry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AACrD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAA;AACzE,OAAO,KAAK,EACV,kBAAkB,EAClB,wBAAwB,EACxB,kBAAkB,EAClB,sBAAsB,EACvB,MAAM,YAAY,CAAA;AACnB,OAAO,KAAK,KAAK,CAAC,MAAM,SAAS,CAAA;AACjC,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAA;AAE1E,KAAK,gBAAgB,CAAC,cAAc,GAAG,SAAS,IAAI;IAClD,EAAE,EAAE,MAAM,CAAA;IACV,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,kBAAkB,KAAK,IAAI,CAAA;IACtE,kBAAkB,EAAE,MAAM,CAAC,CAAC,aAAa,CAAC,cAAc,CAAC,CAAA;IACzD,eAAe,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,wBAAwB,KAAK,aAAa,CAAA;IAC5F,eAAe,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,kBAAkB,KAAK,aAAa,CAAA;IACtF,mBAAmB,CAAC,EAAE,CAAC,mBAAmB,SAAS,cAAc,EAC/D,OAAO,EAAE,OAAO,KACb,iBAAiB,CAAC,mBAAmB,CAAC,GAAG,SAAS,CAAA;IACvD,oBAAoB,CAAC,EAAE,CAAC,EACtB,OAAO,EACP,OAAO,EACP,OAAO,EACR,EAAE,sBAAsB,KAAK,cAAc,GAAG,SAAS,CAAA;CACzD,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsDG;AACH,eAAO,MAAM,YAAY,GAAI,cAAc,GAAG,SAAS,EAAE,oHAQtD,gBAAgB,CAAC,cAAc,CAAC,KAAG;IACpC,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,OAAO,CAAA;IACb,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,kBAAkB,KAAK,IAAI,CAAA;IACtE,eAAe,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,wBAAwB,KAAK,aAAa,CAAA;IAC5F,eAAe,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,kBAAkB,KAAK,aAAa,CAAA;IACtF,kBAAkB,EAAE,MAAM,CAAC,CAAC,aAAa,CAAC,cAAc,CAAC,CAAA;IACzD,mBAAmB,CAAC,EAAE,CAAC,mBAAmB,SAAS,cAAc,EAC/D,OAAO,EAAE,OAAO,KACb,iBAAiB,CAAC,mBAAmB,CAAC,GAAG,SAAS,CAAA;IACvD,oBAAoB,CAAC,EAAE,CAAC,EACtB,OAAO,EACP,OAAO,EACP,OAAO,EACR,EAAE,sBAAsB,KAAK,cAAc,GAAG,SAAS,CAAA;CAYzD,CAAA"}
1
+ {"version":3,"file":"toModelEntry.d.ts","sourceRoot":"","sources":["../../../src/dsl/model/toModelEntry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AACrD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAA;AACzE,OAAO,KAAK,EACV,kBAAkB,EAClB,wBAAwB,EACxB,kBAAkB,EAClB,sBAAsB,EACtB,oBAAoB,EACpB,0BAA0B,EAC3B,MAAM,YAAY,CAAA;AACnB,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAC5B,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAA;AAK1E,KAAK,gBAAgB,CAAC,cAAc,GAAG,SAAS,IAAI;IAClD,EAAE,EAAE,MAAM,CAAA;IACV,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,kBAAkB,KAAK,IAAI,CAAA;IACtE,kBAAkB,EAAE,MAAM,CAAC,CAAC,aAAa,CAAC,cAAc,CAAC,CAAA;IACzD,WAAW,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,0BAA0B,CAAC,cAAc,CAAC,KAAK,OAAO,CAAA;IAC3F,eAAe,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,wBAAwB,KAAK,aAAa,CAAA;IAC5F,eAAe,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,kBAAkB,KAAK,aAAa,CAAA;IACtF,mBAAmB,CAAC,EAAE,CAAC,mBAAmB,SAAS,cAAc,EAC/D,OAAO,EAAE,OAAO,KACb,iBAAiB,CAAC,mBAAmB,CAAC,GAAG,SAAS,CAAA;IACvD,oBAAoB,CAAC,EAAE,CAAC,EACtB,OAAO,EACP,OAAO,EACP,OAAO,EACR,EAAE,sBAAsB,KAAK,cAAc,GAAG,SAAS,CAAA;CACzD,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0DG;AACH,eAAO,MAAM,YAAY,GAAI,cAAc,GAAG,SAAS,EAAE,iIAStD,gBAAgB,CAAC,cAAc,CAAC,KAAG;IACpC,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,OAAO,CAAA;IACb,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,kBAAkB,KAAK,IAAI,CAAA;IACtE,WAAW,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,oBAAoB,KAAK,OAAO,CAAA;IACpE,eAAe,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,wBAAwB,KAAK,aAAa,CAAA;IAC5F,eAAe,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,kBAAkB,KAAK,aAAa,CAAA;IACtF,kBAAkB,EAAE,MAAM,CAAC,CAAC,aAAa,CAAC,cAAc,CAAC,CAAA;IACzD,mBAAmB,CAAC,EAAE,CAAC,mBAAmB,SAAS,cAAc,EAC/D,OAAO,EAAE,OAAO,KACb,iBAAiB,CAAC,mBAAmB,CAAC,GAAG,SAAS,CAAA;IACvD,oBAAoB,CAAC,EAAE,CAAC,EACtB,OAAO,EACP,OAAO,EACP,OAAO,EACR,EAAE,sBAAsB,KAAK,cAAc,GAAG,SAAS,CAAA;CAmCzD,CAAA"}