@baseplate-dev/project-builder-lib 0.6.2 → 0.6.4

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 (99) hide show
  1. package/CHANGELOG.md +32 -0
  2. package/LICENSE +114 -123
  3. package/dist/definition/feature/feature-utils.d.ts +7 -1
  4. package/dist/definition/feature/feature-utils.d.ts.map +1 -1
  5. package/dist/definition/feature/feature-utils.js +28 -0
  6. package/dist/definition/feature/feature-utils.js.map +1 -1
  7. package/dist/definition/model/model-field-utils.d.ts.map +1 -1
  8. package/dist/definition/model/model-field-utils.js +3 -0
  9. package/dist/definition/model/model-field-utils.js.map +1 -1
  10. package/dist/migrations/index.d.ts.map +1 -1
  11. package/dist/migrations/index.js +4 -0
  12. package/dist/migrations/index.js.map +1 -1
  13. package/dist/migrations/migration-027-enable-sentry-plugin.d.ts +25 -0
  14. package/dist/migrations/migration-027-enable-sentry-plugin.d.ts.map +1 -0
  15. package/dist/migrations/migration-027-enable-sentry-plugin.js +35 -0
  16. package/dist/migrations/migration-027-enable-sentry-plugin.js.map +1 -0
  17. package/dist/migrations/migration-028-enable-stripe-plugin.d.ts +32 -0
  18. package/dist/migrations/migration-028-enable-stripe-plugin.d.ts.map +1 -0
  19. package/dist/migrations/migration-028-enable-stripe-plugin.js +47 -0
  20. package/dist/migrations/migration-028-enable-stripe-plugin.js.map +1 -0
  21. package/dist/parser/definition-issue-checkers/relation-type-mismatch-checker.d.ts.map +1 -1
  22. package/dist/parser/definition-issue-checkers/relation-type-mismatch-checker.js +30 -0
  23. package/dist/parser/definition-issue-checkers/relation-type-mismatch-checker.js.map +1 -1
  24. package/dist/parser/definition-issue-utils.d.ts +12 -0
  25. package/dist/parser/definition-issue-utils.d.ts.map +1 -1
  26. package/dist/parser/definition-issue-utils.js +28 -0
  27. package/dist/parser/definition-issue-utils.js.map +1 -1
  28. package/dist/parser/index.d.ts +1 -1
  29. package/dist/parser/index.d.ts.map +1 -1
  30. package/dist/parser/index.js +1 -1
  31. package/dist/parser/index.js.map +1 -1
  32. package/dist/parser/walk-schema-structure.d.ts +13 -11
  33. package/dist/parser/walk-schema-structure.d.ts.map +1 -1
  34. package/dist/parser/walk-schema-structure.js +10 -9
  35. package/dist/parser/walk-schema-structure.js.map +1 -1
  36. package/dist/plugins/migrations/run-migrations.d.ts.map +1 -1
  37. package/dist/plugins/migrations/run-migrations.js +2 -1
  38. package/dist/plugins/migrations/run-migrations.js.map +1 -1
  39. package/dist/plugins/spec/auth-config-spec.d.ts +2 -0
  40. package/dist/plugins/spec/auth-config-spec.d.ts.map +1 -1
  41. package/dist/plugins/spec/auth-config-spec.js +2 -0
  42. package/dist/plugins/spec/auth-config-spec.js.map +1 -1
  43. package/dist/references/extract-definition-refs.d.ts.map +1 -1
  44. package/dist/references/extract-definition-refs.js +5 -2
  45. package/dist/references/extract-definition-refs.js.map +1 -1
  46. package/dist/schema/apps/backend/index.d.ts +0 -2
  47. package/dist/schema/apps/backend/index.d.ts.map +1 -1
  48. package/dist/schema/apps/backend/index.js +0 -1
  49. package/dist/schema/apps/backend/index.js.map +1 -1
  50. package/dist/schema/creator/definition-issue-types.d.ts +9 -3
  51. package/dist/schema/creator/definition-issue-types.d.ts.map +1 -1
  52. package/dist/schema/models/authorizer/authorizer-expression-acorn-parser.d.ts.map +1 -1
  53. package/dist/schema/models/authorizer/authorizer-expression-acorn-parser.js +50 -11
  54. package/dist/schema/models/authorizer/authorizer-expression-acorn-parser.js.map +1 -1
  55. package/dist/schema/models/authorizer/authorizer-expression-ast.d.ts +38 -5
  56. package/dist/schema/models/authorizer/authorizer-expression-ast.d.ts.map +1 -1
  57. package/dist/schema/models/authorizer/authorizer-expression-ast.js.map +1 -1
  58. package/dist/schema/models/authorizer/authorizer-expression-parser.d.ts.map +1 -1
  59. package/dist/schema/models/authorizer/authorizer-expression-parser.js +5 -0
  60. package/dist/schema/models/authorizer/authorizer-expression-parser.js.map +1 -1
  61. package/dist/schema/models/authorizer/authorizer-expression-validator.d.ts +4 -6
  62. package/dist/schema/models/authorizer/authorizer-expression-validator.d.ts.map +1 -1
  63. package/dist/schema/models/authorizer/authorizer-expression-validator.js +61 -3
  64. package/dist/schema/models/authorizer/authorizer-expression-validator.js.map +1 -1
  65. package/dist/schema/models/models.d.ts +88 -18
  66. package/dist/schema/models/models.d.ts.map +1 -1
  67. package/dist/schema/models/models.js +25 -3
  68. package/dist/schema/models/models.js.map +1 -1
  69. package/dist/schema/models/types.d.ts +1 -0
  70. package/dist/schema/models/types.d.ts.map +1 -1
  71. package/dist/schema/models/types.js +3 -0
  72. package/dist/schema/models/types.js.map +1 -1
  73. package/dist/schema/project-definition.d.ts +32 -16
  74. package/dist/schema/project-definition.d.ts.map +1 -1
  75. package/dist/schema/settings/settings.d.ts +2 -2
  76. package/dist/schema/settings/theme.d.ts +3 -3
  77. package/dist/specs/packages/package-compiler-types.d.ts +3 -1
  78. package/dist/specs/packages/package-compiler-types.d.ts.map +1 -1
  79. package/dist/specs/packages/package-compiler-types.js +2 -1
  80. package/dist/specs/packages/package-compiler-types.js.map +1 -1
  81. package/dist/testing/definition-helpers.test-helper.d.ts.map +1 -1
  82. package/dist/testing/definition-helpers.test-helper.js +35 -5
  83. package/dist/testing/definition-helpers.test-helper.js.map +1 -1
  84. package/dist/tools/entity-service/entity-navigation.d.ts.map +1 -1
  85. package/dist/tools/entity-service/entity-navigation.js +6 -0
  86. package/dist/tools/entity-service/entity-navigation.js.map +1 -1
  87. package/dist/tools/entity-service/entity-type-map.d.ts.map +1 -1
  88. package/dist/tools/entity-service/entity-type-map.js +4 -1
  89. package/dist/tools/entity-service/entity-type-map.js.map +1 -1
  90. package/dist/web/components/definition-diff-alert.d.ts.map +1 -1
  91. package/dist/web/components/definition-diff-alert.js +1 -1
  92. package/dist/web/components/definition-diff-alert.js.map +1 -1
  93. package/dist/web/components/feature-combobox-field.d.ts.map +1 -1
  94. package/dist/web/components/feature-combobox-field.js +5 -3
  95. package/dist/web/components/feature-combobox-field.js.map +1 -1
  96. package/dist/web/components/model-combobox-field.d.ts.map +1 -1
  97. package/dist/web/components/model-combobox-field.js +1 -1
  98. package/dist/web/components/model-combobox-field.js.map +1 -1
  99. package/package.json +11 -11
@@ -0,0 +1,35 @@
1
+ import { createSchemaMigration } from './types.js';
2
+ const SENTRY_PLUGIN_ID = 'plugin:baseplate-dev_plugin-observability_sentry';
3
+ /**
4
+ * Migration to auto-enable the Sentry plugin on all existing projects.
5
+ *
6
+ * Sentry was previously always-on (hardcoded in compilers). Now that it's been
7
+ * extracted into plugin-observability, existing projects need the plugin entry
8
+ * added so they don't lose Sentry when upgrading.
9
+ */
10
+ export const migration027EnableSentryPlugin = createSchemaMigration({
11
+ version: 27,
12
+ name: 'enableSentryPlugin',
13
+ description: 'Auto-enable Sentry plugin for existing projects (previously always-on)',
14
+ migrate: (config) => {
15
+ const plugins = config.plugins ? [...config.plugins] : [];
16
+ // Skip if sentry plugin already exists
17
+ const existingIndex = plugins.findIndex((p) => p.id === SENTRY_PLUGIN_ID);
18
+ if (existingIndex === -1) {
19
+ plugins.push({
20
+ id: SENTRY_PLUGIN_ID,
21
+ name: 'sentry',
22
+ packageName: '@baseplate-dev/plugin-observability',
23
+ version: '0.1.0',
24
+ config: {
25
+ sentryOptions: {},
26
+ },
27
+ });
28
+ }
29
+ return {
30
+ ...config,
31
+ plugins,
32
+ };
33
+ },
34
+ });
35
+ //# sourceMappingURL=migration-027-enable-sentry-plugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"migration-027-enable-sentry-plugin.js","sourceRoot":"","sources":["../../src/migrations/migration-027-enable-sentry-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAoBnD,MAAM,gBAAgB,GAAG,kDAAkD,CAAC;AAE5E;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAAG,qBAAqB,CAGjE;IACA,OAAO,EAAE,EAAE;IACX,IAAI,EAAE,oBAAoB;IAC1B,WAAW,EACT,wEAAwE;IAC1E,OAAO,EAAE,CAAC,MAAM,EAAE,EAAE;QAClB,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAE1D,uCAAuC;QACvC,MAAM,aAAa,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,gBAAgB,CAAC,CAAC;QAE1E,IAAI,aAAa,KAAK,CAAC,CAAC,EAAE,CAAC;YACzB,OAAO,CAAC,IAAI,CAAC;gBACX,EAAE,EAAE,gBAAgB;gBACpB,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,qCAAqC;gBAClD,OAAO,EAAE,OAAO;gBAChB,MAAM,EAAE;oBACN,aAAa,EAAE,EAAE;iBAClB;aACF,CAAC,CAAC;QACL,CAAC;QAED,OAAO;YACL,GAAG,MAAM;YACT,OAAO;SACR,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"}
@@ -0,0 +1,32 @@
1
+ interface AppConfig {
2
+ enableStripe?: boolean;
3
+ [key: string]: unknown;
4
+ }
5
+ interface PluginConfig {
6
+ id: string;
7
+ name: string;
8
+ packageName: string;
9
+ version: string;
10
+ config?: unknown;
11
+ }
12
+ interface OldConfig {
13
+ apps?: AppConfig[];
14
+ plugins?: PluginConfig[];
15
+ [key: string]: unknown;
16
+ }
17
+ interface NewConfig {
18
+ apps?: AppConfig[];
19
+ plugins?: PluginConfig[];
20
+ [key: string]: unknown;
21
+ }
22
+ /**
23
+ * Migration to convert enableStripe boolean on backend apps into a
24
+ * plugin-payments:stripe plugin entry, and remove enableStripe from app configs.
25
+ *
26
+ * Stripe was previously toggled via a boolean on the backend app config.
27
+ * Now that it's been extracted into plugin-payments, existing projects need
28
+ * the plugin entry added so they don't lose Stripe when upgrading.
29
+ */
30
+ export declare const migration028EnableStripePlugin: import("./types.js").SchemaMigration<OldConfig, NewConfig>;
31
+ export {};
32
+ //# sourceMappingURL=migration-028-enable-stripe-plugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"migration-028-enable-stripe-plugin.d.ts","sourceRoot":"","sources":["../../src/migrations/migration-028-enable-stripe-plugin.ts"],"names":[],"mappings":"AAEA,UAAU,SAAS;IACjB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,UAAU,YAAY;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,UAAU,SAAS;IACjB,IAAI,CAAC,EAAE,SAAS,EAAE,CAAC;IACnB,OAAO,CAAC,EAAE,YAAY,EAAE,CAAC;IACzB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,UAAU,SAAS;IACjB,IAAI,CAAC,EAAE,SAAS,EAAE,CAAC;IACnB,OAAO,CAAC,EAAE,YAAY,EAAE,CAAC;IACzB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAID;;;;;;;GAOG;AACH,eAAO,MAAM,8BAA8B,4DA4CzC,CAAC"}
@@ -0,0 +1,47 @@
1
+ import { createSchemaMigration } from './types.js';
2
+ const STRIPE_PLUGIN_ID = 'plugin:baseplate-dev_plugin-payments_stripe';
3
+ /**
4
+ * Migration to convert enableStripe boolean on backend apps into a
5
+ * plugin-payments:stripe plugin entry, and remove enableStripe from app configs.
6
+ *
7
+ * Stripe was previously toggled via a boolean on the backend app config.
8
+ * Now that it's been extracted into plugin-payments, existing projects need
9
+ * the plugin entry added so they don't lose Stripe when upgrading.
10
+ */
11
+ export const migration028EnableStripePlugin = createSchemaMigration({
12
+ version: 28,
13
+ name: 'enableStripePlugin',
14
+ description: 'Convert enableStripe boolean to plugin-payments:stripe plugin entry',
15
+ migrate: (config) => {
16
+ const apps = config.apps ? [...config.apps] : [];
17
+ const plugins = config.plugins ? [...config.plugins] : [];
18
+ // Check if any app has enableStripe
19
+ const hasStripeEnabled = apps.some((app) => app.enableStripe);
20
+ // Add stripe plugin if any app had it enabled and it doesn't already exist
21
+ if (hasStripeEnabled) {
22
+ const existingIndex = plugins.findIndex((p) => p.id === STRIPE_PLUGIN_ID);
23
+ if (existingIndex === -1) {
24
+ plugins.push({
25
+ id: STRIPE_PLUGIN_ID,
26
+ name: 'stripe',
27
+ packageName: '@baseplate-dev/plugin-payments',
28
+ version: '0.1.0',
29
+ config: {
30
+ stripeOptions: {},
31
+ },
32
+ });
33
+ }
34
+ }
35
+ // Remove enableStripe from all app configs
36
+ const updatedApps = apps.map((app) => {
37
+ const { enableStripe: _, ...rest } = app;
38
+ return rest;
39
+ });
40
+ return {
41
+ ...config,
42
+ apps: updatedApps,
43
+ plugins,
44
+ };
45
+ },
46
+ });
47
+ //# sourceMappingURL=migration-028-enable-stripe-plugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"migration-028-enable-stripe-plugin.js","sourceRoot":"","sources":["../../src/migrations/migration-028-enable-stripe-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AA2BnD,MAAM,gBAAgB,GAAG,6CAA6C,CAAC;AAEvE;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAAG,qBAAqB,CAGjE;IACA,OAAO,EAAE,EAAE;IACX,IAAI,EAAE,oBAAoB;IAC1B,WAAW,EACT,qEAAqE;IACvE,OAAO,EAAE,CAAC,MAAM,EAAE,EAAE;QAClB,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACjD,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAE1D,oCAAoC;QACpC,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAE9D,2EAA2E;QAC3E,IAAI,gBAAgB,EAAE,CAAC;YACrB,MAAM,aAAa,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,gBAAgB,CAAC,CAAC;YAE1E,IAAI,aAAa,KAAK,CAAC,CAAC,EAAE,CAAC;gBACzB,OAAO,CAAC,IAAI,CAAC;oBACX,EAAE,EAAE,gBAAgB;oBACpB,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,gCAAgC;oBAC7C,OAAO,EAAE,OAAO;oBAChB,MAAM,EAAE;wBACN,aAAa,EAAE,EAAE;qBAClB;iBACF,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,2CAA2C;QAC3C,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YACnC,MAAM,EAAE,YAAY,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,GAAG,CAAC;YACzC,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;QAEH,OAAO;YACL,GAAG,MAAM;YACT,IAAI,EAAE,WAAW;YACjB,OAAO;SACR,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"relation-type-mismatch-checker.d.ts","sourceRoot":"","sources":["../../../src/parser/definition-issue-checkers/relation-type-mismatch-checker.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,iDAAiD,CAAC;AAClG,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+CAA+C,CAAC;AAKrF;;;;;GAKG;AACH,wBAAgB,yBAAyB,CACvC,SAAS,EAAE,0BAA0B,GACpC,eAAe,EAAE,CA8CnB"}
1
+ {"version":3,"file":"relation-type-mismatch-checker.d.ts","sourceRoot":"","sources":["../../../src/parser/definition-issue-checkers/relation-type-mismatch-checker.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,iDAAiD,CAAC;AAClG,OAAO,KAAK,EACV,eAAe,EAEhB,MAAM,+CAA+C,CAAC;AA0CvD;;;;;GAKG;AACH,wBAAgB,yBAAyB,CACvC,SAAS,EAAE,0BAA0B,GACpC,eAAe,EAAE,CAiDnB"}
@@ -1,5 +1,33 @@
1
1
  import { ModelUtils } from '#src/definition/index.js';
2
2
  import { createEntityIssue } from '#src/parser/definition-issue-utils.js';
3
+ /**
4
+ * Creates a fix that changes the local field's type to match the foreign field's type.
5
+ */
6
+ function createTypeMismatchFix(modelId, localField, foreignField) {
7
+ return {
8
+ label: `Change '${localField.name}' type to '${foreignField.type}'`,
9
+ applySetter: (draft) => {
10
+ const draftModel = ModelUtils.byIdOrThrow(draft, modelId);
11
+ const draftField = ModelUtils.getScalarFieldById(draftModel, localField.id);
12
+ // Update the field type and reset options for the new type.
13
+ // For enum fields, copy the enumRef from the foreign field.
14
+ if (foreignField.type === 'enum') {
15
+ draftField.type = 'enum';
16
+ draftField.options = { ...foreignField.options };
17
+ Object.assign(draftField, {
18
+ type: 'enum',
19
+ options: { ...foreignField.options },
20
+ });
21
+ }
22
+ else {
23
+ Object.assign(draftField, {
24
+ type: foreignField.type,
25
+ options: {},
26
+ });
27
+ }
28
+ },
29
+ };
30
+ }
3
31
  /**
4
32
  * Checks that relation reference pairs have matching scalar field types.
5
33
  *
@@ -23,9 +51,11 @@ export function checkRelationTypeMismatch(container) {
23
51
  continue;
24
52
  }
25
53
  if (localField.type !== foreignField.type) {
54
+ const fix = createTypeMismatchFix(model.id, localField, foreignField);
26
55
  issues.push(createEntityIssue(container, model.id, ['model', 'relations', relationIndex], {
27
56
  message: `Relation '${relation.name}' type mismatch: '${localField.name}' is '${localField.type}' but '${foreignField.name}' on '${foreignModel.name}' is '${foreignField.type}'`,
28
57
  severity: 'warning',
58
+ fix,
29
59
  }));
30
60
  }
31
61
  }
@@ -1 +1 @@
1
- {"version":3,"file":"relation-type-mismatch-checker.js","sourceRoot":"","sources":["../../../src/parser/definition-issue-checkers/relation-type-mismatch-checker.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAE1E;;;;;GAKG;AACH,MAAM,UAAU,yBAAyB,CACvC,SAAqC;IAErC,MAAM,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC,UAAU,CAAC;IACxC,MAAM,MAAM,GAAsB,EAAE,CAAC;IAErC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC;QAElC,KAAK,MAAM,CAAC,aAAa,EAAE,QAAQ,CAAC,IAAI,SAAS,CAAC,OAAO,EAAE,EAAE,CAAC;YAC5D,MAAM,YAAY,GAAG,UAAU,CAAC,IAAI,CAClC,SAAS,CAAC,UAAU,EACpB,QAAQ,CAAC,QAAQ,CAClB,CAAC;YACF,IAAI,CAAC,YAAY,EAAE,CAAC;gBAClB,SAAS;YACX,CAAC;YAED,KAAK,MAAM,GAAG,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC;gBACtC,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CACxC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,QAAQ,CAC7B,CAAC;gBACF,MAAM,YAAY,GAAG,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CACjD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,UAAU,CAC/B,CAAC;gBAEF,IAAI,CAAC,UAAU,IAAI,CAAC,YAAY,EAAE,CAAC;oBACjC,SAAS;gBACX,CAAC;gBAED,IAAI,UAAU,CAAC,IAAI,KAAK,YAAY,CAAC,IAAI,EAAE,CAAC;oBAC1C,MAAM,CAAC,IAAI,CACT,iBAAiB,CACf,SAAS,EACT,KAAK,CAAC,EAAE,EACR,CAAC,OAAO,EAAE,WAAW,EAAE,aAAa,CAAC,EACrC;wBACE,OAAO,EAAE,aAAa,QAAQ,CAAC,IAAI,qBAAqB,UAAU,CAAC,IAAI,SAAS,UAAU,CAAC,IAAI,UAAU,YAAY,CAAC,IAAI,SAAS,YAAY,CAAC,IAAI,SAAS,YAAY,CAAC,IAAI,GAAG;wBACjL,QAAQ,EAAE,SAAS;qBACpB,CACF,CACF,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"relation-type-mismatch-checker.js","sourceRoot":"","sources":["../../../src/parser/definition-issue-checkers/relation-type-mismatch-checker.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import type { ProjectDefinitionContainer } from '#src/definition/project-definition-container.js';
2
2
  import type { ReferencePath } from '#src/references/types.js';
3
3
  import type { DefinitionIssue, EntityDefinitionIssue } from '#src/schema/creator/definition-issue-types.js';
4
+ import type { ProjectDefinition } from '#src/schema/project-definition.js';
4
5
  /**
5
6
  * Resolves a definition issue's path to an absolute path in the definition.
6
7
  *
@@ -20,4 +21,15 @@ export declare function resolveIssuePath(issue: DefinitionIssue, container: Proj
20
21
  * @param issue - The issue message, severity, and optional fix
21
22
  */
22
23
  export declare function createEntityIssue(container: ProjectDefinitionContainer, entityId: string, relativePath: ReferencePath, issue: Pick<DefinitionIssue, 'message' | 'severity' | 'fix'>): EntityDefinitionIssue;
24
+ /**
25
+ * Creates a definition setter function from an issue's fix.
26
+ *
27
+ * Handles both fix variants:
28
+ * - `applySetter`: returned directly (definition-level fixes)
29
+ * - `apply`: wrapped in a setter that resolves the issue path and applies the
30
+ * local-value transform (field-level fixes)
31
+ *
32
+ * Returns `undefined` if the issue has no fix.
33
+ */
34
+ export declare function createIssueFixSetter(issue: DefinitionIssue, container: ProjectDefinitionContainer): ((draft: ProjectDefinition) => void) | undefined;
23
35
  //# sourceMappingURL=definition-issue-utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"definition-issue-utils.d.ts","sourceRoot":"","sources":["../../src/parser/definition-issue-utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,iDAAiD,CAAC;AAClG,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,KAAK,EACV,eAAe,EACf,qBAAqB,EACtB,MAAM,+CAA+C,CAAC;AAEvD;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,eAAe,EACtB,SAAS,EAAE,0BAA0B,GACpC,aAAa,CAKf;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,0BAA0B,EACrC,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,aAAa,EAC3B,KAAK,EAAE,IAAI,CAAC,eAAe,EAAE,SAAS,GAAG,UAAU,GAAG,KAAK,CAAC,GAC3D,qBAAqB,CAMvB"}
1
+ {"version":3,"file":"definition-issue-utils.d.ts","sourceRoot":"","sources":["../../src/parser/definition-issue-utils.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,iDAAiD,CAAC;AAClG,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,KAAK,EACV,eAAe,EACf,qBAAqB,EACtB,MAAM,+CAA+C,CAAC;AACvD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAE3E;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,eAAe,EACtB,SAAS,EAAE,0BAA0B,GACpC,aAAa,CAKf;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,0BAA0B,EACrC,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,aAAa,EAC3B,KAAK,EAAE,IAAI,CAAC,eAAe,EAAE,SAAS,GAAG,UAAU,GAAG,KAAK,CAAC,GAC3D,qBAAqB,CAMvB;AAED;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,eAAe,EACtB,SAAS,EAAE,0BAA0B,GACpC,CAAC,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAC,GAAG,SAAS,CAkBlD"}
@@ -1,3 +1,4 @@
1
+ import { get, set } from 'es-toolkit/compat';
1
2
  /**
2
3
  * Resolves a definition issue's path to an absolute path in the definition.
3
4
  *
@@ -30,4 +31,31 @@ export function createEntityIssue(container, entityId, relativePath, issue) {
30
31
  }
31
32
  return { ...issue, entityId, path: relativePath };
32
33
  }
34
+ /**
35
+ * Creates a definition setter function from an issue's fix.
36
+ *
37
+ * Handles both fix variants:
38
+ * - `applySetter`: returned directly (definition-level fixes)
39
+ * - `apply`: wrapped in a setter that resolves the issue path and applies the
40
+ * local-value transform (field-level fixes)
41
+ *
42
+ * Returns `undefined` if the issue has no fix.
43
+ */
44
+ export function createIssueFixSetter(issue, container) {
45
+ const { fix } = issue;
46
+ if (!fix)
47
+ return undefined;
48
+ if (fix.applySetter) {
49
+ return fix.applySetter;
50
+ }
51
+ if (fix.apply) {
52
+ const applyFn = fix.apply;
53
+ return (draft) => {
54
+ const absolutePath = resolveIssuePath(issue, container);
55
+ const currentValue = get(draft, absolutePath);
56
+ set(draft, absolutePath, applyFn(currentValue));
57
+ };
58
+ }
59
+ return undefined;
60
+ }
33
61
  //# sourceMappingURL=definition-issue-utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"definition-issue-utils.js","sourceRoot":"","sources":["../../src/parser/definition-issue-utils.ts"],"names":[],"mappings":"AAOA;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAC9B,KAAsB,EACtB,SAAqC;IAErC,IAAI,CAAC,KAAK,CAAC,QAAQ;QAAE,OAAO,KAAK,CAAC,IAAI,CAAC;IACvC,MAAM,MAAM,GAAG,SAAS,CAAC,YAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACtD,IAAI,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC,IAAI,CAAC;IAC/B,OAAO,CAAC,GAAG,MAAM,CAAC,IAAI,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;AACzC,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,iBAAiB,CAC/B,SAAqC,EACrC,QAAgB,EAChB,YAA2B,EAC3B,KAA4D;IAE5D,MAAM,MAAM,GAAG,SAAS,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;IAChD,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,qBAAqB,QAAQ,EAAE,CAAC,CAAC;IACnD,CAAC;IACD,OAAO,EAAE,GAAG,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;AACpD,CAAC"}
1
+ {"version":3,"file":"definition-issue-utils.js","sourceRoot":"","sources":["../../src/parser/definition-issue-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAU7C;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAC9B,KAAsB,EACtB,SAAqC;IAErC,IAAI,CAAC,KAAK,CAAC,QAAQ;QAAE,OAAO,KAAK,CAAC,IAAI,CAAC;IACvC,MAAM,MAAM,GAAG,SAAS,CAAC,YAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACtD,IAAI,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC,IAAI,CAAC;IAC/B,OAAO,CAAC,GAAG,MAAM,CAAC,IAAI,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;AACzC,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,iBAAiB,CAC/B,SAAqC,EACrC,QAAgB,EAChB,YAA2B,EAC3B,KAA4D;IAE5D,MAAM,MAAM,GAAG,SAAS,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;IAChD,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,qBAAqB,QAAQ,EAAE,CAAC,CAAC;IACnD,CAAC;IACD,OAAO,EAAE,GAAG,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;AACpD,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,oBAAoB,CAClC,KAAsB,EACtB,SAAqC;IAErC,MAAM,EAAE,GAAG,EAAE,GAAG,KAAK,CAAC;IACtB,IAAI,CAAC,GAAG;QAAE,OAAO,SAAS,CAAC;IAE3B,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC;QACpB,OAAO,GAAG,CAAC,WAAW,CAAC;IACzB,CAAC;IAED,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;QACd,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC;QAC1B,OAAO,CAAC,KAAK,EAAE,EAAE;YACf,MAAM,YAAY,GAAG,gBAAgB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;YACxD,MAAM,YAAY,GAAY,GAAG,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;YACvD,GAAG,CAAC,KAAK,EAAE,YAAY,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC;QAClD,CAAC,CAAC;IACJ,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC"}
@@ -3,7 +3,7 @@ export { cleanDefaultValues } from './clean-default-values.js';
3
3
  export { collectDefinitionIssues, collectFieldIssues, partitionIssuesBySeverity, } from './collect-definition-issues.js';
4
4
  export type { PartitionedIssues } from './collect-definition-issues.js';
5
5
  export { collectExpressionIssues } from './collect-expression-issues.js';
6
- export { createEntityIssue, resolveIssuePath, } from './definition-issue-utils.js';
6
+ export { createEntityIssue, createIssueFixSetter, resolveIssuePath, } from './definition-issue-utils.js';
7
7
  export * from './parser.js';
8
8
  export { findDiscriminatedUnionMatch } from './schema-structure.js';
9
9
  export { transformDataWithSchema } from './transform-data-with-schema.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/parser/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EACL,uBAAuB,EACvB,kBAAkB,EAClB,yBAAyB,GAC1B,MAAM,gCAAgC,CAAC;AACxC,YAAY,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,EACL,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,6BAA6B,CAAC;AACrC,cAAc,aAAa,CAAC;AAC5B,OAAO,EAAE,2BAA2B,EAAE,MAAM,uBAAuB,CAAC;AACpE,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAC1E,mBAAmB,YAAY,CAAC;AAChC,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/parser/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EACL,uBAAuB,EACvB,kBAAkB,EAClB,yBAAyB,GAC1B,MAAM,gCAAgC,CAAC;AACxC,YAAY,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,gBAAgB,GACjB,MAAM,6BAA6B,CAAC;AACrC,cAAc,aAAa,CAAC;AAC5B,OAAO,EAAE,2BAA2B,EAAE,MAAM,uBAAuB,CAAC;AACpE,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAC1E,mBAAmB,YAAY,CAAC;AAChC,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC"}
@@ -2,7 +2,7 @@ export { applyDefinitionFixes } from './apply-definition-fixes.js';
2
2
  export { cleanDefaultValues } from './clean-default-values.js';
3
3
  export { collectDefinitionIssues, collectFieldIssues, partitionIssuesBySeverity, } from './collect-definition-issues.js';
4
4
  export { collectExpressionIssues } from './collect-expression-issues.js';
5
- export { createEntityIssue, resolveIssuePath, } from './definition-issue-utils.js';
5
+ export { createEntityIssue, createIssueFixSetter, resolveIssuePath, } from './definition-issue-utils.js';
6
6
  export * from './parser.js';
7
7
  export { findDiscriminatedUnionMatch } from './schema-structure.js';
8
8
  export { transformDataWithSchema } from './transform-data-with-schema.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/parser/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EACL,uBAAuB,EACvB,kBAAkB,EAClB,yBAAyB,GAC1B,MAAM,gCAAgC,CAAC;AAExC,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,EACL,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,6BAA6B,CAAC;AACrC,cAAc,aAAa,CAAC;AAC5B,OAAO,EAAE,2BAA2B,EAAE,MAAM,uBAAuB,CAAC;AACpE,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAE1E,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/parser/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EACL,uBAAuB,EACvB,kBAAkB,EAClB,yBAAyB,GAC1B,MAAM,gCAAgC,CAAC;AAExC,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,gBAAgB,GACjB,MAAM,6BAA6B,CAAC;AACrC,cAAc,aAAa,CAAC;AAC5B,OAAO,EAAE,2BAA2B,EAAE,MAAM,uBAAuB,CAAC;AACpE,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAE1E,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC"}
@@ -1,16 +1,13 @@
1
1
  import type { z } from 'zod';
2
2
  /**
3
- * Represents a single deterministic step in navigating from a parent entity
4
- * (or definition root) to a child entity array.
3
+ * Represents a single step in navigating through a schema structure.
5
4
  *
6
- * Only deterministic navigation steps are represented:
7
5
  * - `object-key`: navigate into an object property
8
6
  * - `tuple-index`: navigate into a specific tuple position
9
7
  * - `discriminated-union-array`: enter an array and pick the unique element
10
8
  * matching a discriminator value
11
- *
12
- * Non-deterministic structures (plain arrays, records) are not represented
13
- * in the path — the walker descends into them without adding path elements.
9
+ * - `array`: descend into a plain array's element schema (non-deterministic)
10
+ * - `record`: descend into a record's value schema (non-deterministic)
14
11
  */
15
12
  export type SchemaPathElement = {
16
13
  type: 'object-key';
@@ -22,6 +19,10 @@ export type SchemaPathElement = {
22
19
  type: 'discriminated-union-array';
23
20
  discriminatorKey: string;
24
21
  value: string;
22
+ } | {
23
+ type: 'array';
24
+ } | {
25
+ type: 'record';
25
26
  };
26
27
  /**
27
28
  * The context passed to visitors during a schema structure walk.
@@ -46,12 +47,13 @@ export interface SchemaStructureVisitor {
46
47
  * at every schema node.
47
48
  *
48
49
  * Unlike `walkDataWithSchema`, this operates on the schema alone.
49
- * Only deterministic navigation steps produce path elements:
50
- * - Object keys and tuple indices add path elements
51
- * - Arrays of discriminated unions add `discriminated-union-array` elements
52
- * (one per branch)
50
+ * Every structural descent produces a path element:
51
+ * - Object keys `object-key`
52
+ * - Tuple indices `tuple-index`
53
+ * - Arrays of discriminated unions → `discriminated-union-array` (one per branch)
54
+ * - Plain arrays → `array`
55
+ * - Records → `record`
53
56
  * - Discriminated unions on objects are transparent (no path element)
54
- * - Plain arrays and records are descended into without path elements
55
57
  *
56
58
  * Uses a `Set<z.ZodType>` circular-reference guard with delete-on-backtrack
57
59
  * so the same schema can appear at different paths.
@@ -1 +1 @@
1
- {"version":3,"file":"walk-schema-structure.d.ts","sourceRoot":"","sources":["../../src/parser/walk-schema-structure.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAyB,MAAM,KAAK,CAAC;AAQpD;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,iBAAiB,GACzB;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GACnC;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACtC;IACE,IAAI,EAAE,2BAA2B,CAAC;IAClC,gBAAgB,EAAE,MAAM,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAMN;;;GAGG;AACH,MAAM,WAAW,0BAA0B;IACzC,2DAA2D;IAC3D,QAAQ,CAAC,IAAI,EAAE,iBAAiB,EAAE,CAAC;CACpC;AAED;;;;;;GAMG;AACH,MAAM,WAAW,sBAAsB;IACrC,KAAK,CACH,MAAM,EAAE,CAAC,CAAC,OAAO,EACjB,GAAG,EAAE,0BAA0B,GAC9B,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;CAC7B;AAMD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,CAAC,CAAC,OAAO,EACjB,QAAQ,EAAE,SAAS,sBAAsB,EAAE,GAC1C,IAAI,CAEN"}
1
+ {"version":3,"file":"walk-schema-structure.d.ts","sourceRoot":"","sources":["../../src/parser/walk-schema-structure.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAyB,MAAM,KAAK,CAAC;AAQpD;;;;;;;;;GASG;AACH,MAAM,MAAM,iBAAiB,GACzB;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GACnC;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACtC;IACE,IAAI,EAAE,2BAA2B,CAAC;IAClC,gBAAgB,EAAE,MAAM,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC;CACf,GACD;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,GACjB;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,CAAC;AAMvB;;;GAGG;AACH,MAAM,WAAW,0BAA0B;IACzC,2DAA2D;IAC3D,QAAQ,CAAC,IAAI,EAAE,iBAAiB,EAAE,CAAC;CACpC;AAED;;;;;;GAMG;AACH,MAAM,WAAW,sBAAsB;IACrC,KAAK,CACH,MAAM,EAAE,CAAC,CAAC,OAAO,EACjB,GAAG,EAAE,0BAA0B,GAC9B,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;CAC7B;AAMD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,CAAC,CAAC,OAAO,EACjB,QAAQ,EAAE,SAAS,sBAAsB,EAAE,GAC1C,IAAI,CAEN"}
@@ -7,12 +7,13 @@ import { getSchemaChildren } from './schema-structure.js';
7
7
  * at every schema node.
8
8
  *
9
9
  * Unlike `walkDataWithSchema`, this operates on the schema alone.
10
- * Only deterministic navigation steps produce path elements:
11
- * - Object keys and tuple indices add path elements
12
- * - Arrays of discriminated unions add `discriminated-union-array` elements
13
- * (one per branch)
10
+ * Every structural descent produces a path element:
11
+ * - Object keys `object-key`
12
+ * - Tuple indices `tuple-index`
13
+ * - Arrays of discriminated unions → `discriminated-union-array` (one per branch)
14
+ * - Plain arrays → `array`
15
+ * - Records → `record`
14
16
  * - Discriminated unions on objects are transparent (no path element)
15
- * - Plain arrays and records are descended into without path elements
16
17
  *
17
18
  * Uses a `Set<z.ZodType>` circular-reference guard with delete-on-backtrack
18
19
  * so the same schema can appear at different paths.
@@ -64,8 +65,8 @@ function walkNode(schema, path, visitors, visited) {
64
65
  walkDiscriminatedUnionArrayBranches(unwrappedElement, path, visitors, visited);
65
66
  }
66
67
  else {
67
- // Plain array — descend without adding a path element
68
- walkNode(children.elementSchema, path, visitors, visited);
68
+ // Plain array — descend with an array path element
69
+ walkNode(children.elementSchema, [...path, { type: 'array' }], visitors, visited);
69
70
  }
70
71
  break;
71
72
  }
@@ -88,8 +89,8 @@ function walkNode(schema, path, visitors, visited) {
88
89
  break;
89
90
  }
90
91
  case 'record': {
91
- // Non-deterministicwalk without path element
92
- walkNode(children.valueSchema, path, visitors, visited);
92
+ // Recorddescend with a record path element
93
+ walkNode(children.valueSchema, [...path, { type: 'record' }], visitors, visited);
93
94
  break;
94
95
  }
95
96
  case 'intersection': {
@@ -1 +1 @@
1
- {"version":3,"file":"walk-schema-structure.js","sourceRoot":"","sources":["../../src/parser/walk-schema-structure.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"walk-schema-structure.js","sourceRoot":"","sources":["../../src/parser/walk-schema-structure.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"run-migrations.d.ts","sourceRoot":"","sources":["../../../src/plugins/migrations/run-migrations.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAI3E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAIzD,wBAAgB,mBAAmB,CACjC,iBAAiB,EAAE,iBAAiB,EACpC,eAAe,EAAE,eAAe,GAC/B,iBAAiB,CAqCnB"}
1
+ {"version":3,"file":"run-migrations.d.ts","sourceRoot":"","sources":["../../../src/plugins/migrations/run-migrations.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAI3E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAIzD,wBAAgB,mBAAmB,CACjC,iBAAiB,EAAE,iBAAiB,EACpC,eAAe,EAAE,eAAe,GAC/B,iBAAiB,CAsCnB"}
@@ -1,3 +1,4 @@
1
+ import { enhanceErrorWithContext } from '@baseplate-dev/utils';
1
2
  import { produce } from 'immer';
2
3
  import { pluginEntityType } from '#src/schema/plugins/entity-types.js';
3
4
  import { pluginConfigSpec } from '../spec/config-spec.js';
@@ -24,7 +25,7 @@ export function runPluginMigrations(projectDefinition, pluginSpecStore) {
24
25
  }
25
26
  }
26
27
  catch (error) {
27
- throw new Error(`Error migrating plugin ${pluginDefinition.id} to version ${migration.version}: ${String(error)}`);
28
+ throw enhanceErrorWithContext(error, `Error migrating plugin ${pluginDefinition.id} to version ${migration.version}`);
28
29
  }
29
30
  }
30
31
  }
@@ -1 +1 @@
1
- {"version":3,"file":"run-migrations.js","sourceRoot":"","sources":["../../../src/plugins/migrations/run-migrations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAIhC,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AAIvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE1D,MAAM,UAAU,mBAAmB,CACjC,iBAAoC,EACpC,eAAgC;IAEhC,MAAM,mBAAmB,GAAG,eAAe,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IAClE,OAAO,OAAO,CAAC,iBAAiB,EAAE,CAAC,KAAK,EAAE,EAAE;QAC1C,KAAK,MAAM,gBAAgB,IAAI,KAAK,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC;YACnD,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,aAAa,CACxD,gBAAgB,CAAC,SAAS,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAChD,CAAC;YACF,MAAM,oBAAoB,GAAG,gBAAgB,CAAC,mBAAmB,IAAI,CAAC,CAAC,CAAC;YACxE,IAAI,CAAC,gBAAgB;gBAAE,SAAS;YAChC,MAAM,mBAAmB,GAAG,gBAAgB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YACpD,IAAI,CAAC,mBAAmB;gBAAE,SAAS;YAEnC,KAAK,MAAM,SAAS,IAAI,gBAAgB,EAAE,CAAC;gBACzC,IAAI,SAAS,CAAC,OAAO,GAAG,oBAAoB,EAAE,CAAC;oBAC7C,IAAI,CAAC;wBACH,MAAM,eAAe,GAAG,SAAS,CAAC,OAAO,CACvC,gBAAgB,CAAC,MAAM,EACvB,KAAK,CACN,CAAC;wBAEF,IAAI,eAAe,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;4BAChD,gBAAgB,CAAC,MAAM,GAAG,eAAe,CAAC,aAAa,CAAC;wBAC1D,CAAC;wBAED,IAAI,eAAe,CAAC,uBAAuB,EAAE,CAAC;4BAC5C,eAAe,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC;wBACjD,CAAC;oBACH,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,MAAM,IAAI,KAAK,CACb,0BAA0B,gBAAgB,CAAC,EAAE,eAAe,SAAS,CAAC,OAAO,KAAK,MAAM,CAAC,KAAK,CAAC,EAAE,CAClG,CAAC;oBACJ,CAAC;gBACH,CAAC;YACH,CAAC;YACD,gBAAgB,CAAC,mBAAmB,GAAG,mBAAmB,CAAC,OAAO,CAAC;QACrE,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"run-migrations.js","sourceRoot":"","sources":["../../../src/plugins/migrations/run-migrations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAIhC,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AAIvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE1D,MAAM,UAAU,mBAAmB,CACjC,iBAAoC,EACpC,eAAgC;IAEhC,MAAM,mBAAmB,GAAG,eAAe,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IAClE,OAAO,OAAO,CAAC,iBAAiB,EAAE,CAAC,KAAK,EAAE,EAAE;QAC1C,KAAK,MAAM,gBAAgB,IAAI,KAAK,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC;YACnD,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,aAAa,CACxD,gBAAgB,CAAC,SAAS,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAChD,CAAC;YACF,MAAM,oBAAoB,GAAG,gBAAgB,CAAC,mBAAmB,IAAI,CAAC,CAAC,CAAC;YACxE,IAAI,CAAC,gBAAgB;gBAAE,SAAS;YAChC,MAAM,mBAAmB,GAAG,gBAAgB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YACpD,IAAI,CAAC,mBAAmB;gBAAE,SAAS;YAEnC,KAAK,MAAM,SAAS,IAAI,gBAAgB,EAAE,CAAC;gBACzC,IAAI,SAAS,CAAC,OAAO,GAAG,oBAAoB,EAAE,CAAC;oBAC7C,IAAI,CAAC;wBACH,MAAM,eAAe,GAAG,SAAS,CAAC,OAAO,CACvC,gBAAgB,CAAC,MAAM,EACvB,KAAK,CACN,CAAC;wBAEF,IAAI,eAAe,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;4BAChD,gBAAgB,CAAC,MAAM,GAAG,eAAe,CAAC,aAAa,CAAC;wBAC1D,CAAC;wBAED,IAAI,eAAe,CAAC,uBAAuB,EAAE,CAAC;4BAC5C,eAAe,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC;wBACjD,CAAC;oBACH,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,MAAM,uBAAuB,CAC3B,KAAK,EACL,0BAA0B,gBAAgB,CAAC,EAAE,eAAe,SAAS,CAAC,OAAO,EAAE,CAChF,CAAC;oBACJ,CAAC;gBACH,CAAC;YACH,CAAC;YACD,gBAAgB,CAAC,mBAAmB,GAAG,mBAAmB,CAAC,OAAO,CAAC;QACrE,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -13,7 +13,9 @@ type AuthConfigGetter = (definition: ProjectDefinition) => {
13
13
  */
14
14
  export declare const authConfigSpec: import("./types.js").PluginSpec<{
15
15
  getAuthConfig: import("@baseplate-dev/utils").ScalarContainer<AuthConfigGetter | undefined>;
16
+ pluginKey: import("@baseplate-dev/utils").ScalarContainer<string | undefined>;
16
17
  }, {
18
+ pluginKey: string | undefined;
17
19
  getAuthConfig: (definition: ProjectDefinition) => {
18
20
  roles: AuthRole[];
19
21
  } | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"auth-config-spec.d.ts","sourceRoot":"","sources":["../../../src/plugins/spec/auth-config-spec.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAI3E,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,KAAK,gBAAgB,GAAG,CAAC,UAAU,EAAE,iBAAiB,KAAK;IACzD,KAAK,EAAE,QAAQ,EAAE,CAAC;CACnB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,cAAc;;;gCAOO,iBAAiB;eAb1C,QAAQ,EAAE;;uCAesB,iBAAiB;eAfjD,QAAQ,EAAE;;EAwBlB,CAAC"}
1
+ {"version":3,"file":"auth-config-spec.d.ts","sourceRoot":"","sources":["../../../src/plugins/spec/auth-config-spec.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAI3E,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,KAAK,gBAAgB,GAAG,CAAC,UAAU,EAAE,iBAAiB,KAAK;IACzD,KAAK,EAAE,QAAQ,EAAE,CAAC;CACnB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,cAAc;;;;;gCASO,iBAAiB;eAf1C,QAAQ,EAAE;;uCAiBsB,iBAAiB;eAjBjD,QAAQ,EAAE;;EA0BlB,CAAC"}
@@ -4,8 +4,10 @@ import { createFieldMapSpec } from '../utils/create-field-map-spec.js';
4
4
  */
5
5
  export const authConfigSpec = createFieldMapSpec('core/auth-config', (t) => ({
6
6
  getAuthConfig: t.scalar(),
7
+ pluginKey: t.scalar(),
7
8
  }), {
8
9
  use: (values) => ({
10
+ pluginKey: values.pluginKey,
9
11
  getAuthConfig: (definition) => values.getAuthConfig?.(definition),
10
12
  getAuthConfigOrThrow: (definition) => {
11
13
  const config = values.getAuthConfig?.(definition);
@@ -1 +1 @@
1
- {"version":3,"file":"auth-config-spec.js","sourceRoot":"","sources":["../../../src/plugins/spec/auth-config-spec.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AAavE;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,kBAAkB,CAC9C,kBAAkB,EAClB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACN,aAAa,EAAE,CAAC,CAAC,MAAM,EAAoB;CAC5C,CAAC,EACF;IACE,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAChB,aAAa,EAAE,CAAC,UAA6B,EAAE,EAAE,CAC/C,MAAM,CAAC,aAAa,EAAE,CAAC,UAAU,CAAC;QACpC,oBAAoB,EAAE,CAAC,UAA6B,EAAE,EAAE;YACtD,MAAM,MAAM,GAAG,MAAM,CAAC,aAAa,EAAE,CAAC,UAAU,CAAC,CAAC;YAClD,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;YAC3C,CAAC;YACD,OAAO,MAAM,CAAC;QAChB,CAAC;KACF,CAAC;CACH,CACF,CAAC"}
1
+ {"version":3,"file":"auth-config-spec.js","sourceRoot":"","sources":["../../../src/plugins/spec/auth-config-spec.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AAavE;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,kBAAkB,CAC9C,kBAAkB,EAClB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACN,aAAa,EAAE,CAAC,CAAC,MAAM,EAAoB;IAC3C,SAAS,EAAE,CAAC,CAAC,MAAM,EAAU;CAC9B,CAAC,EACF;IACE,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,aAAa,EAAE,CAAC,UAA6B,EAAE,EAAE,CAC/C,MAAM,CAAC,aAAa,EAAE,CAAC,UAAU,CAAC;QACpC,oBAAoB,EAAE,CAAC,UAA6B,EAAE,EAAE;YACtD,MAAM,MAAM,GAAG,MAAM,CAAC,aAAa,EAAE,CAAC,UAAU,CAAC,CAAC;YAClD,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;YAC3C,CAAC;YACD,OAAO,MAAM,CAAC;QAChB,CAAC;KACF,CAAC;CACH,CACF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"extract-definition-refs.d.ts","sourceRoot":"","sources":["../../src/references/extract-definition-refs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAM7B,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,6BAA6B,CAAC;AAOpF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,KAAK,EAAE,mBAAmB,EAAiB,MAAM,YAAY,CAAC;AAQrE;;;;GAIG;AACH,MAAM,WAAW,4BAA4B,CAAC,KAAK;IACjD,IAAI,EAAE,KAAK,CAAC;IACZ,UAAU,EAAE,mBAAmB,EAAE,CAAC;IAClC,wBAAwB,EAAE,gCAAgC,EAAE,CAAC;IAC7D,WAAW,EAAE,oBAAoB,EAAE,CAAC;CACrC;AAID;;;;;;;;;;;;GAYG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,EACrC,MAAM,EAAE,CAAC,CAAC,OAAO,EACjB,KAAK,EAAE,CAAC,GACP,4BAA4B,CAAC,CAAC,CAAC,CA6LjC"}
1
+ {"version":3,"file":"extract-definition-refs.d.ts","sourceRoot":"","sources":["../../src/references/extract-definition-refs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAM7B,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,6BAA6B,CAAC;AAOpF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,KAAK,EAAE,mBAAmB,EAAiB,MAAM,YAAY,CAAC;AAQrE;;;;GAIG;AACH,MAAM,WAAW,4BAA4B,CAAC,KAAK;IACjD,IAAI,EAAE,KAAK,CAAC;IACZ,UAAU,EAAE,mBAAmB,EAAE,CAAC;IAClC,wBAAwB,EAAE,gCAAgC,EAAE,CAAC;IAC7D,WAAW,EAAE,oBAAoB,EAAE,CAAC;CACrC;AAID;;;;;;;;;;;;GAYG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,EACrC,MAAM,EAAE,CAAC,CAAC,OAAO,EACjB,KAAK,EAAE,CAAC,GACP,4BAA4B,CAAC,CAAC,CAAC,CAmMjC"}
@@ -27,8 +27,11 @@ export function extractDefinitionRefs(schema, value) {
27
27
  if (data === null || data === undefined || typeof data !== 'object')
28
28
  return;
29
29
  const id = get(data, meta.idPath);
30
- if (typeof id !== 'string' || !id || !meta.type.isId(id)) {
31
- throw new Error(`Unable to find valid id field '${meta.idPath.join('.')}' in entity ${meta.type.name} at path ${context.path.join('.')}`);
30
+ if (typeof id !== 'string' || !id) {
31
+ throw new Error(`Unable to find id field '${meta.idPath.join('.')}' in entity ${meta.type.name} at path ${context.path.join('.')}`);
32
+ }
33
+ if (!meta.type.isId(id)) {
34
+ throw new Error(`Invalid id field '${id}' in entity ${meta.type.name} at path ${context.path.join('.')}. Expected prefix: ${meta.type.prefix}. Got: ${id}`);
32
35
  }
33
36
  const nameResolver = (() => {
34
37
  if (meta.getNameResolver) {
@@ -1 +1 @@
1
- {"version":3,"file":"extract-definition-refs.js","sourceRoot":"","sources":["../../src/references/extract-definition-refs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"extract-definition-refs.js","sourceRoot":"","sources":["../../src/references/extract-definition-refs.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,6 @@ import type { def } from '#src/schema/creator/index.js';
3
3
  export declare const createBackendAppSchema: import("#src/schema/creator/index.js").DefinitionSchemaCreatorWithSlots<z.ZodObject<{
4
4
  type: z.ZodLiteral<"backend">;
5
5
  devPort: z.ZodNumber;
6
- enableStripe: z.ZodOptional<z.ZodBoolean>;
7
6
  enableSubscriptions: z.ZodOptional<z.ZodBoolean>;
8
7
  enableAxios: z.ZodOptional<z.ZodBoolean>;
9
8
  id: z.ZodDefault<z.ZodString>;
@@ -17,7 +16,6 @@ export declare const backendAppEntryType: import("../types.js").AppEntryType<{
17
16
  devPort: number;
18
17
  id: string;
19
18
  name: string;
20
- enableStripe?: boolean | undefined;
21
19
  enableSubscriptions?: boolean | undefined;
22
20
  enableAxios?: boolean | undefined;
23
21
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/schema/apps/backend/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,8BAA8B,CAAC;AAOxD,eAAO,MAAM,sBAAsB;;;;;;;;;;EAWlC,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,GAAG,CAAC,WAAW,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAE9E,eAAO,MAAM,mBAAmB;;;;;;;;EACiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/schema/apps/backend/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,8BAA8B,CAAC;AAOxD,eAAO,MAAM,sBAAsB;;;;;;;;;EAUlC,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,GAAG,CAAC,WAAW,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAE9E,eAAO,MAAM,mBAAmB;;;;;;;EACiB,CAAC"}
@@ -6,7 +6,6 @@ export const createBackendAppSchema = definitionSchemaWithSlots({ appSlot: appEn
6
6
  ...baseAppValidators,
7
7
  type: z.literal('backend'),
8
8
  devPort: z.number().int().positive(),
9
- enableStripe: z.boolean().optional(),
10
9
  enableSubscriptions: z.boolean().optional(),
11
10
  enableAxios: z.boolean().optional(),
12
11
  }));
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/schema/apps/backend/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,OAAO,EAAE,yBAAyB,EAAE,MAAM,uCAAuC,CAAC;AAElF,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEhE,MAAM,CAAC,MAAM,sBAAsB,GAAG,yBAAyB,CAC7D,EAAE,OAAO,EAAE,aAAa,EAAE,EAC1B,GAAG,EAAE,CACH,CAAC,CAAC,MAAM,CAAC;IACP,GAAG,iBAAiB;IACpB,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;IAC1B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IACpC,YAAY,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACpC,mBAAmB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC3C,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;CACpC,CAAC,CACL,CAAC;AAIF,MAAM,CAAC,MAAM,mBAAmB,GAC9B,kBAAkB,CAAmB,SAAS,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/schema/apps/backend/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,OAAO,EAAE,yBAAyB,EAAE,MAAM,uCAAuC,CAAC;AAElF,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEhE,MAAM,CAAC,MAAM,sBAAsB,GAAG,yBAAyB,CAC7D,EAAE,OAAO,EAAE,aAAa,EAAE,EAC1B,GAAG,EAAE,CACH,CAAC,CAAC,MAAM,CAAC;IACP,GAAG,iBAAiB;IACpB,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;IAC1B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IACpC,mBAAmB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC3C,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;CACpC,CAAC,CACL,CAAC;AAIF,MAAM,CAAC,MAAM,mBAAmB,GAC9B,kBAAkB,CAAmB,SAAS,CAAC,CAAC"}
@@ -1,13 +1,19 @@
1
1
  import type { ReferencePath } from '#src/references/types.js';
2
+ import type { ProjectDefinition } from '#src/schema/project-definition.js';
2
3
  /**
3
4
  * An auto-fix proposal attached to an issue.
4
- * The `apply` function receives the local value and returns a fixed value.
5
+ *
6
+ * Exactly one of `apply` or `applySetter` should be provided:
7
+ * - `apply`: for field-level fixes that transform the local value at the issue path
8
+ * - `applySetter`: for definition-level fixes that can mutate any part of the definition
5
9
  */
6
10
  export interface DefinitionIssueFix {
7
11
  /** Short label for the fix action (e.g. "Remove duplicate port") */
8
12
  readonly label: string;
9
- /** Apply the fix to the local value, returning a fixed value */
10
- readonly apply: (value: unknown) => unknown;
13
+ /** Apply the fix to the local value, returning a fixed value (field-level fixes) */
14
+ readonly apply?: (value: unknown) => unknown;
15
+ /** Apply the fix to the full definition draft via Immer (definition-level fixes) */
16
+ readonly applySetter?: (draft: ProjectDefinition) => void;
11
17
  }
12
18
  /**
13
19
  * Common fields shared by all definition issues.