@baseplate-dev/project-builder-lib 0.5.1 → 0.5.3

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 (122) hide show
  1. package/CHANGELOG.md +473 -0
  2. package/dist/definition/model/model-field-utils.js +4 -4
  3. package/dist/definition/model/model-field-utils.js.map +1 -1
  4. package/dist/definition/model/model-utils.js +3 -3
  5. package/dist/definition/model/model-utils.js.map +1 -1
  6. package/dist/migrations/index.d.ts.map +1 -1
  7. package/dist/migrations/index.js +3 -1
  8. package/dist/migrations/index.js.map +1 -1
  9. package/dist/migrations/migration-007-model-graphql.js +1 -1
  10. package/dist/migrations/migration-007-model-graphql.js.map +1 -1
  11. package/dist/migrations/migration-020-move-redis-to-infrastructure.js +1 -1
  12. package/dist/migrations/migration-020-move-redis-to-infrastructure.js.map +1 -1
  13. package/dist/migrations/migration-021-migrate-bullmq-to-plugin.js +1 -1
  14. package/dist/migrations/migration-021-migrate-bullmq-to-plugin.js.map +1 -1
  15. package/dist/migrations/migration-023-assign-app-ports.d.ts +34 -0
  16. package/dist/migrations/migration-023-assign-app-ports.d.ts.map +1 -0
  17. package/dist/migrations/migration-023-assign-app-ports.js +49 -0
  18. package/dist/migrations/migration-023-assign-app-ports.js.map +1 -0
  19. package/dist/plugins/spec/config-spec.js +2 -2
  20. package/dist/plugins/spec/config-spec.js.map +1 -1
  21. package/dist/references/collect-refs.d.ts +5 -1
  22. package/dist/references/collect-refs.d.ts.map +1 -1
  23. package/dist/references/collect-refs.js +20 -1
  24. package/dist/references/collect-refs.js.map +1 -1
  25. package/dist/references/definition-ref-builder.d.ts.map +1 -1
  26. package/dist/references/expression-types.d.ts +152 -0
  27. package/dist/references/expression-types.d.ts.map +1 -0
  28. package/dist/references/expression-types.js +46 -0
  29. package/dist/references/expression-types.js.map +1 -0
  30. package/dist/references/extend-parser-context-with-refs.d.ts +13 -0
  31. package/dist/references/extend-parser-context-with-refs.d.ts.map +1 -1
  32. package/dist/references/extend-parser-context-with-refs.js +39 -1
  33. package/dist/references/extend-parser-context-with-refs.js.map +1 -1
  34. package/dist/references/extract-definition-refs.d.ts +6 -3
  35. package/dist/references/extract-definition-refs.d.ts.map +1 -1
  36. package/dist/references/extract-definition-refs.js +25 -4
  37. package/dist/references/extract-definition-refs.js.map +1 -1
  38. package/dist/references/index.d.ts +1 -0
  39. package/dist/references/index.d.ts.map +1 -1
  40. package/dist/references/index.js +1 -0
  41. package/dist/references/index.js.map +1 -1
  42. package/dist/references/markers.d.ts +23 -0
  43. package/dist/references/markers.d.ts.map +1 -1
  44. package/dist/references/markers.js +16 -0
  45. package/dist/references/markers.js.map +1 -1
  46. package/dist/references/resolve-zod-ref-payload-names.d.ts.map +1 -1
  47. package/dist/references/resolve-zod-ref-payload-names.js +1 -0
  48. package/dist/references/resolve-zod-ref-payload-names.js.map +1 -1
  49. package/dist/references/strip-ref-markers.d.ts +3 -3
  50. package/dist/references/strip-ref-markers.d.ts.map +1 -1
  51. package/dist/references/strip-ref-markers.js +7 -4
  52. package/dist/references/strip-ref-markers.js.map +1 -1
  53. package/dist/references/types.d.ts +5 -0
  54. package/dist/references/types.d.ts.map +1 -1
  55. package/dist/references/types.js.map +1 -1
  56. package/dist/schema/apps/backend/index.d.ts +2 -0
  57. package/dist/schema/apps/backend/index.d.ts.map +1 -1
  58. package/dist/schema/apps/backend/index.js +1 -0
  59. package/dist/schema/apps/backend/index.js.map +1 -1
  60. package/dist/schema/apps/base.d.ts +2 -0
  61. package/dist/schema/apps/base.d.ts.map +1 -1
  62. package/dist/schema/apps/base.js +1 -0
  63. package/dist/schema/apps/base.js.map +1 -1
  64. package/dist/schema/apps/web/admin/sections/crud-actions/types.d.ts.map +1 -1
  65. package/dist/schema/apps/web/web-app.d.ts +2 -0
  66. package/dist/schema/apps/web/web-app.d.ts.map +1 -1
  67. package/dist/schema/apps/web/web-app.js +1 -0
  68. package/dist/schema/apps/web/web-app.js.map +1 -1
  69. package/dist/schema/creator/types.d.ts +6 -1
  70. package/dist/schema/creator/types.d.ts.map +1 -1
  71. package/dist/schema/models/authorizer/authorizer-expression-acorn-parser.d.ts +30 -0
  72. package/dist/schema/models/authorizer/authorizer-expression-acorn-parser.d.ts.map +1 -0
  73. package/dist/schema/models/authorizer/authorizer-expression-acorn-parser.js +291 -0
  74. package/dist/schema/models/authorizer/authorizer-expression-acorn-parser.js.map +1 -0
  75. package/dist/schema/models/authorizer/authorizer-expression-ast.d.ts +159 -0
  76. package/dist/schema/models/authorizer/authorizer-expression-ast.d.ts.map +1 -0
  77. package/dist/schema/models/authorizer/authorizer-expression-ast.js +31 -0
  78. package/dist/schema/models/authorizer/authorizer-expression-ast.js.map +1 -0
  79. package/dist/schema/models/authorizer/authorizer-expression-parser.d.ts +77 -0
  80. package/dist/schema/models/authorizer/authorizer-expression-parser.d.ts.map +1 -0
  81. package/dist/schema/models/authorizer/authorizer-expression-parser.js +147 -0
  82. package/dist/schema/models/authorizer/authorizer-expression-parser.js.map +1 -0
  83. package/dist/schema/models/authorizer/authorizer-expression-validator.d.ts +51 -0
  84. package/dist/schema/models/authorizer/authorizer-expression-validator.d.ts.map +1 -0
  85. package/dist/schema/models/authorizer/authorizer-expression-validator.js +125 -0
  86. package/dist/schema/models/authorizer/authorizer-expression-validator.js.map +1 -0
  87. package/dist/schema/models/authorizer/authorizer.d.ts +59 -0
  88. package/dist/schema/models/authorizer/authorizer.d.ts.map +1 -0
  89. package/dist/schema/models/authorizer/authorizer.js +56 -0
  90. package/dist/schema/models/authorizer/authorizer.js.map +1 -0
  91. package/dist/schema/models/authorizer/index.d.ts +7 -0
  92. package/dist/schema/models/authorizer/index.d.ts.map +1 -0
  93. package/dist/schema/models/authorizer/index.js +7 -0
  94. package/dist/schema/models/authorizer/index.js.map +1 -0
  95. package/dist/schema/models/authorizer/types.d.ts +6 -0
  96. package/dist/schema/models/authorizer/types.d.ts.map +1 -0
  97. package/dist/schema/models/authorizer/types.js +8 -0
  98. package/dist/schema/models/authorizer/types.js.map +1 -0
  99. package/dist/schema/models/index.d.ts +2 -860
  100. package/dist/schema/models/index.d.ts.map +1 -1
  101. package/dist/schema/models/index.js +2 -222
  102. package/dist/schema/models/index.js.map +1 -1
  103. package/dist/schema/models/models.d.ts +914 -0
  104. package/dist/schema/models/models.d.ts.map +1 -0
  105. package/dist/schema/models/models.js +225 -0
  106. package/dist/schema/models/models.js.map +1 -0
  107. package/dist/schema/project-definition.d.ts +46 -2
  108. package/dist/schema/project-definition.d.ts.map +1 -1
  109. package/dist/schema/settings/settings.d.ts +2 -2
  110. package/dist/schema/settings/theme.d.ts +3 -3
  111. package/dist/tools/model-merger/model-merger.js +1 -1
  112. package/dist/tools/model-merger/model-merger.js.map +1 -1
  113. package/dist/utils/color-conversions.js +1 -1
  114. package/dist/utils/color-conversions.js.map +1 -1
  115. package/dist/web/components/feature-combobox-field.d.ts.map +1 -1
  116. package/dist/web/components/feature-combobox-field.js +1 -1
  117. package/dist/web/components/feature-combobox-field.js.map +1 -1
  118. package/dist/web/components/model-combobox-field.d.ts.map +1 -1
  119. package/dist/web/components/model-combobox-field.js +1 -1
  120. package/dist/web/components/model-combobox-field.js.map +1 -1
  121. package/dist/web/components/model-merger-result-alert.js +1 -1
  122. package/package.json +11 -9
@@ -5,10 +5,11 @@ import { stripRefMarkers } from './strip-ref-markers.js';
5
5
  * Extracts definition refs from a parsed value using functional approach.
6
6
  *
7
7
  * Flow:
8
- * 1. Collect all refs (entities, references, slots) recursively
8
+ * 1. Collect all refs (entities, references, slots, expressions) recursively
9
9
  * 2. Resolve all slot references to actual paths
10
10
  * 3. Strip ref markers from the data
11
- * 4. Validate no duplicate IDs
11
+ * 4. Resolve entity, reference, and expression parent/slot paths
12
+ * 5. Validate no duplicate IDs
12
13
  *
13
14
  * @param value - The parsed value from Zod schema
14
15
  * @returns The extracted refs with clean data
@@ -20,7 +21,7 @@ export function extractDefinitionRefs(value) {
20
21
  const resolvedSlots = resolveSlots(collected);
21
22
  // Step 3: Strip markers from data
22
23
  const cleanData = stripRefMarkers(value);
23
- // Step 4: Resolve entity and reference parent paths
24
+ // Step 4: Resolve entity, reference, and expression parent/slot paths
24
25
  function resolveParentPath(parentSlot, path) {
25
26
  const resolvedSlot = findNearestAncestorSlot(resolvedSlots.get(parentSlot.id), path);
26
27
  if (!resolvedSlot) {
@@ -46,7 +47,26 @@ export function extractDefinitionRefs(value) {
46
47
  ? resolveParentPath(reference.parentSlot, reference.path)
47
48
  : undefined,
48
49
  }));
49
- // Step 4: Validate no duplicate IDs
50
+ // Resolve expression slots
51
+ const expressions = collected.expressions.map((expression) => {
52
+ const resolvedSlotPaths = {};
53
+ if (expression.slots) {
54
+ for (const [key, slot] of Object.entries(expression.slots)) {
55
+ const resolvedSlot = findNearestAncestorSlot(resolvedSlots.get(slot.id), expression.path);
56
+ if (!resolvedSlot) {
57
+ throw new Error(`Could not resolve expression slot "${key}" at path ${expression.path.join('.')} for slot ${slot.id.description}`);
58
+ }
59
+ resolvedSlotPaths[key] = resolvedSlot.resolvedPath;
60
+ }
61
+ }
62
+ return {
63
+ path: expression.path,
64
+ value: expression.value,
65
+ parser: expression.parser,
66
+ resolvedSlots: resolvedSlotPaths,
67
+ };
68
+ });
69
+ // Step 5: Validate no duplicate IDs
50
70
  const idSet = new Set();
51
71
  for (const entity of collected.entities) {
52
72
  if (idSet.has(entity.id)) {
@@ -58,6 +78,7 @@ export function extractDefinitionRefs(value) {
58
78
  data: cleanData,
59
79
  references,
60
80
  entitiesWithNameResolver,
81
+ expressions,
61
82
  };
62
83
  }
63
84
  //# sourceMappingURL=extract-definition-refs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"extract-definition-refs.js","sourceRoot":"","sources":["../../src/references/extract-definition-refs.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,uBAAuB,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAC3E,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAazD;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,qBAAqB,CACnC,KAAQ;IAER,mDAAmD;IACnD,MAAM,SAAS,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;IAErC,qCAAqC;IACrC,MAAM,aAAa,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;IAE9C,kCAAkC;IAClC,MAAM,SAAS,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;IAEzC,oDAAoD;IACpD,SAAS,iBAAiB,CACxB,UAA0B,EAC1B,IAAmB;QAEnB,MAAM,YAAY,GAAG,uBAAuB,CAC1C,aAAa,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,EAChC,IAAI,CACL,CAAC;QACF,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CACb,sCAAsC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,UAAU,CAAC,EAAE,CAAC,WAAW,EAAE,CAC7F,CAAC;QACJ,CAAC;QACD,OAAO,YAAY,CAAC,YAAY,CAAC;IACnC,CAAC;IAED,MAAM,wBAAwB,GAC5B,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAClC,EAAE,EAAE,MAAM,CAAC,EAAE;QACb,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,UAAU,EAAE,MAAM,CAAC,UAAU;YAC3B,CAAC,CAAC,iBAAiB,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC;YACnD,CAAC,CAAC,SAAS;KACd,CAAC,CAAC,CAAC;IAEN,MAAM,UAAU,GAA0B,SAAS,CAAC,UAAU,CAAC,GAAG,CAChE,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QACd,IAAI,EAAE,SAAS,CAAC,IAAI;QACpB,IAAI,EAAE,SAAS,CAAC,IAAI;QACpB,QAAQ,EAAE,SAAS,CAAC,QAAQ;QAC5B,UAAU,EAAE,SAAS,CAAC,UAAU;YAC9B,CAAC,CAAC,iBAAiB,CAAC,SAAS,CAAC,UAAU,EAAE,SAAS,CAAC,IAAI,CAAC;YACzD,CAAC,CAAC,SAAS;KACd,CAAC,CACH,CAAC;IAEF,oCAAoC;IACpC,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;IAChC,KAAK,MAAM,MAAM,IAAI,SAAS,CAAC,QAAQ,EAAE,CAAC;QACxC,IAAI,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,uBAAuB,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;QACtD,CAAC;QACD,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACvB,CAAC;IAED,OAAO;QACL,IAAI,EAAE,SAAS;QACf,UAAU;QACV,wBAAwB;KACzB,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"extract-definition-refs.js","sourceRoot":"","sources":["../../src/references/extract-definition-refs.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  export * from './definition-ref-builder.js';
2
2
  export * from './deserialize-schema.js';
3
+ export * from './expression-types.js';
3
4
  export * from './extract-definition-refs.js';
4
5
  export * from './fix-ref-deletions.js';
5
6
  export * from './ref-context-slot.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/references/index.ts"],"names":[],"mappings":"AAAA,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC;AACxC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/references/index.ts"],"names":[],"mappings":"AAAA,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,YAAY,CAAC"}
@@ -1,5 +1,6 @@
1
1
  export * from './definition-ref-builder.js';
2
2
  export * from './deserialize-schema.js';
3
+ export * from './expression-types.js';
3
4
  export * from './extract-definition-refs.js';
4
5
  export * from './fix-ref-deletions.js';
5
6
  export * from './ref-context-slot.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/references/index.ts"],"names":[],"mappings":"AAAA,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC;AACxC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/references/index.ts"],"names":[],"mappings":"AAAA,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,YAAY,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import type { DefinitionEntityNameResolver } from './definition-ref-builder.js';
2
+ import type { ExpressionSlotMap, RefExpressionParser } from './expression-types.js';
2
3
  import type { RefContextSlot } from './ref-context-slot.js';
3
4
  import type { DefinitionEntityType, ReferenceOnDeleteAction, ReferencePath } from './types.js';
4
5
  export interface DefinitionEntityAnnotation {
@@ -21,12 +22,34 @@ export interface DefinitionSlotAnnotation {
21
22
  path: ReferencePath;
22
23
  slot: RefContextSlot;
23
24
  }
25
+ /**
26
+ * Annotation for an expression in a definition.
27
+ * Contains the path, value, parser, and optional slots for context-dependent expressions.
28
+ */
29
+ export interface DefinitionExpressionAnnotation {
30
+ path: ReferencePath;
31
+ /** The raw expression value */
32
+ value: unknown;
33
+ parser: RefExpressionParser<any, any, any>;
34
+ slots?: ExpressionSlotMap<any>;
35
+ }
24
36
  export declare class DefinitionReferenceMarker {
25
37
  value: string | undefined;
26
38
  reference: DefinitionReferenceAnnotation;
27
39
  constructor(value: string | undefined, reference: DefinitionReferenceAnnotation);
28
40
  toString(): string;
29
41
  }
42
+ /**
43
+ * Marker class for expressions during schema parsing.
44
+ * Similar to `DefinitionReferenceMarker`, this wraps expression values
45
+ * during the Zod parsing phase when `transformReferences` is enabled.
46
+ */
47
+ export declare class DefinitionExpressionMarker {
48
+ value: unknown;
49
+ expression: DefinitionExpressionAnnotation;
50
+ constructor(value: unknown, expression: DefinitionExpressionAnnotation);
51
+ toString(): string;
52
+ }
30
53
  export declare const REF_ANNOTATIONS_MARKER_SYMBOL: unique symbol;
31
54
  export interface DefinitionRefAnnotations {
32
55
  entities: DefinitionEntityAnnotation[];
@@ -1 +1 @@
1
- {"version":3,"file":"markers.d.ts","sourceRoot":"","sources":["../../src/references/markers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,6BAA6B,CAAC;AAChF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EACV,oBAAoB,EACpB,uBAAuB,EACvB,aAAa,EACd,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,0BAA0B;IACzC,IAAI,EAAE,aAAa,CAAC;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,aAAa,CAAC;IACtB,IAAI,EAAE,oBAAoB,CAAC;IAC3B,YAAY,EAAE,4BAA4B,GAAG,MAAM,CAAC;IACpD,UAAU,CAAC,EAAE,cAAc,CAAC;IAC5B,QAAQ,CAAC,EAAE,cAAc,CAAC;CAC3B;AAED,MAAM,WAAW,6BAA6B;IAC5C,IAAI,EAAE,aAAa,CAAC;IACpB,IAAI,EAAE,oBAAoB,CAAC;IAC3B,QAAQ,EAAE,uBAAuB,CAAC;IAClC,UAAU,CAAC,EAAE,cAAc,CAAC;IAC5B,QAAQ,CAAC,EAAE,cAAc,CAAC;CAC3B;AAED,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,aAAa,CAAC;IACpB,IAAI,EAAE,cAAc,CAAC;CACtB;AAED,qBAAa,yBAAyB;IAC7B,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,SAAS,EAAE,6BAA6B,CAAC;gBAG9C,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,SAAS,EAAE,6BAA6B;IAM1C,QAAQ,IAAI,MAAM;CAGnB;AAED,eAAO,MAAM,6BAA6B,eAAiC,CAAC;AAE5E,MAAM,WAAW,wBAAwB;IACvC,QAAQ,EAAE,0BAA0B,EAAE,CAAC;IACvC,UAAU,EAAE,6BAA6B,EAAE,CAAC;IAC5C,KAAK,EAAE,wBAAwB,EAAE,CAAC;CACnC"}
1
+ {"version":3,"file":"markers.d.ts","sourceRoot":"","sources":["../../src/references/markers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,6BAA6B,CAAC;AAChF,OAAO,KAAK,EACV,iBAAiB,EACjB,mBAAmB,EACpB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EACV,oBAAoB,EACpB,uBAAuB,EACvB,aAAa,EACd,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,0BAA0B;IACzC,IAAI,EAAE,aAAa,CAAC;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,aAAa,CAAC;IACtB,IAAI,EAAE,oBAAoB,CAAC;IAC3B,YAAY,EAAE,4BAA4B,GAAG,MAAM,CAAC;IACpD,UAAU,CAAC,EAAE,cAAc,CAAC;IAC5B,QAAQ,CAAC,EAAE,cAAc,CAAC;CAC3B;AAED,MAAM,WAAW,6BAA6B;IAC5C,IAAI,EAAE,aAAa,CAAC;IACpB,IAAI,EAAE,oBAAoB,CAAC;IAC3B,QAAQ,EAAE,uBAAuB,CAAC;IAClC,UAAU,CAAC,EAAE,cAAc,CAAC;IAC5B,QAAQ,CAAC,EAAE,cAAc,CAAC;CAC3B;AAED,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,aAAa,CAAC;IACpB,IAAI,EAAE,cAAc,CAAC;CACtB;AAED;;;GAGG;AACH,MAAM,WAAW,8BAA8B;IAC7C,IAAI,EAAE,aAAa,CAAC;IACpB,+BAA+B;IAC/B,KAAK,EAAE,OAAO,CAAC;IAEf,MAAM,EAAE,mBAAmB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IAE3C,KAAK,CAAC,EAAE,iBAAiB,CAAC,GAAG,CAAC,CAAC;CAChC;AAED,qBAAa,yBAAyB;IAC7B,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,SAAS,EAAE,6BAA6B,CAAC;gBAG9C,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,SAAS,EAAE,6BAA6B;IAM1C,QAAQ,IAAI,MAAM;CAGnB;AAED;;;;GAIG;AACH,qBAAa,0BAA0B;IAC9B,KAAK,EAAE,OAAO,CAAC;IACf,UAAU,EAAE,8BAA8B,CAAC;gBAEtC,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,8BAA8B;IAKtE,QAAQ,IAAI,MAAM;CAGnB;AAED,eAAO,MAAM,6BAA6B,eAAiC,CAAC;AAE5E,MAAM,WAAW,wBAAwB;IACvC,QAAQ,EAAE,0BAA0B,EAAE,CAAC;IACvC,UAAU,EAAE,6BAA6B,EAAE,CAAC;IAC5C,KAAK,EAAE,wBAAwB,EAAE,CAAC;CACnC"}
@@ -9,5 +9,21 @@ export class DefinitionReferenceMarker {
9
9
  return this.value ?? '';
10
10
  }
11
11
  }
12
+ /**
13
+ * Marker class for expressions during schema parsing.
14
+ * Similar to `DefinitionReferenceMarker`, this wraps expression values
15
+ * during the Zod parsing phase when `transformReferences` is enabled.
16
+ */
17
+ export class DefinitionExpressionMarker {
18
+ value;
19
+ expression;
20
+ constructor(value, expression) {
21
+ this.value = value;
22
+ this.expression = expression;
23
+ }
24
+ toString() {
25
+ return String(this.value);
26
+ }
27
+ }
12
28
  export const REF_ANNOTATIONS_MARKER_SYMBOL = Symbol('refAnnotationsMarker');
13
29
  //# sourceMappingURL=markers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"markers.js","sourceRoot":"","sources":["../../src/references/markers.ts"],"names":[],"mappings":"AA+BA,MAAM,OAAO,yBAAyB;IAC7B,KAAK,CAAqB;IAC1B,SAAS,CAAgC;IAEhD,YACE,KAAyB,EACzB,SAAwC;QAExC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;IAC1B,CAAC;CACF;AAED,MAAM,CAAC,MAAM,6BAA6B,GAAG,MAAM,CAAC,sBAAsB,CAAC,CAAC"}
1
+ {"version":3,"file":"markers.js","sourceRoot":"","sources":["../../src/references/markers.ts"],"names":[],"mappings":"AAiDA,MAAM,OAAO,yBAAyB;IAC7B,KAAK,CAAqB;IAC1B,SAAS,CAAgC;IAEhD,YACE,KAAyB,EACzB,SAAwC;QAExC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;IAC1B,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,OAAO,0BAA0B;IAC9B,KAAK,CAAU;IACf,UAAU,CAAiC;IAElD,YAAY,KAAc,EAAE,UAA0C;QACpE,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED,QAAQ;QACN,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC;CACF;AAED,MAAM,CAAC,MAAM,6BAA6B,GAAG,MAAM,CAAC,sBAAsB,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"resolve-zod-ref-payload-names.d.ts","sourceRoot":"","sources":["../../src/references/resolve-zod-ref-payload-names.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,8BAA8B,CAAC;AACjF,OAAO,KAAK,EAAoB,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAE1E;;GAEG;AACH,MAAM,WAAW,gCAAgC;IAC/C;;;OAGG;IACH,2BAA2B,CAAC,EAAE,OAAO,CAAC;IACtC;;OAEG;IACH,sBAAsB,CAAC,EAAE,OAAO,CAAC;CAClC;AAED;;;;;;;GAOG;AACH,wBAAgB,yBAAyB,CAAC,CAAC,EACzC,OAAO,EAAE,4BAA4B,CAAC,CAAC,CAAC,EACxC,EACE,2BAAmC,EACnC,sBAA8B,GAC/B,GAAE,gCAAqC,GACvC,qBAAqB,CAAC,CAAC,CAAC,CA4D1B"}
1
+ {"version":3,"file":"resolve-zod-ref-payload-names.d.ts","sourceRoot":"","sources":["../../src/references/resolve-zod-ref-payload-names.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,8BAA8B,CAAC;AACjF,OAAO,KAAK,EAAoB,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAE1E;;GAEG;AACH,MAAM,WAAW,gCAAgC;IAC/C;;;OAGG;IACH,2BAA2B,CAAC,EAAE,OAAO,CAAC;IACtC;;OAEG;IACH,sBAAsB,CAAC,EAAE,OAAO,CAAC;CAClC;AAED;;;;;;;GAOG;AACH,wBAAgB,yBAAyB,CAAC,CAAC,EACzC,OAAO,EAAE,4BAA4B,CAAC,CAAC,CAAC,EACxC,EACE,2BAAmC,EACnC,sBAA8B,GAC/B,GAAE,gCAAqC,GACvC,qBAAqB,CAAC,CAAC,CAAC,CA6D1B"}
@@ -58,6 +58,7 @@ export function resolveZodRefPayloadNames(payload, { skipReferenceNameResolution
58
58
  entities: [...resolvedEntitiesById.values()],
59
59
  references,
60
60
  data,
61
+ expressions: payload.expressions,
61
62
  };
62
63
  }
63
64
  //# sourceMappingURL=resolve-zod-ref-payload-names.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"resolve-zod-ref-payload-names.js","sourceRoot":"","sources":["../../src/references/resolve-zod-ref-payload-names.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resolve-zod-ref-payload-names.js","sourceRoot":"","sources":["../../src/references/resolve-zod-ref-payload-names.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  /**
2
- * Strips the DefinitionReferenceMarker from the value recursively.
3
- * @param value - The value to strip the DefinitionReferenceMarker from.
4
- * @returns The value without the DefinitionReferenceMarker.
2
+ * Strips the DefinitionReferenceMarker and DefinitionExpressionMarker from the value recursively.
3
+ * @param value - The value to strip the markers from.
4
+ * @returns The value without the markers.
5
5
  */
6
6
  export declare function stripRefMarkers<TInput = unknown>(value: TInput): TInput;
7
7
  //# sourceMappingURL=strip-ref-markers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"strip-ref-markers.d.ts","sourceRoot":"","sources":["../../src/references/strip-ref-markers.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,MAAM,GAAG,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAmBvE"}
1
+ {"version":3,"file":"strip-ref-markers.d.ts","sourceRoot":"","sources":["../../src/references/strip-ref-markers.ts"],"names":[],"mappings":"AAKA;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,MAAM,GAAG,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAuBvE"}
@@ -1,13 +1,16 @@
1
- import { DefinitionReferenceMarker } from './markers.js';
1
+ import { DefinitionExpressionMarker, DefinitionReferenceMarker, } from './markers.js';
2
2
  /**
3
- * Strips the DefinitionReferenceMarker from the value recursively.
4
- * @param value - The value to strip the DefinitionReferenceMarker from.
5
- * @returns The value without the DefinitionReferenceMarker.
3
+ * Strips the DefinitionReferenceMarker and DefinitionExpressionMarker from the value recursively.
4
+ * @param value - The value to strip the markers from.
5
+ * @returns The value without the markers.
6
6
  */
7
7
  export function stripRefMarkers(value) {
8
8
  if (value instanceof DefinitionReferenceMarker) {
9
9
  return value.value;
10
10
  }
11
+ if (value instanceof DefinitionExpressionMarker) {
12
+ return value.value;
13
+ }
11
14
  if (Array.isArray(value)) {
12
15
  return value.map(stripRefMarkers);
13
16
  }
@@ -1 +1 @@
1
- {"version":3,"file":"strip-ref-markers.js","sourceRoot":"","sources":["../../src/references/strip-ref-markers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAC;AAEzD;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAmB,KAAa;IAC7D,IAAI,KAAK,YAAY,yBAAyB,EAAE,CAAC;QAC/C,OAAO,KAAK,CAAC,KAAe,CAAC;IAC/B,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,KAAK,CAAC,GAAG,CAAC,eAAe,CAAW,CAAC;IAC9C,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAChD,OAAO,MAAM,CAAC,WAAW,CACvB,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,UAAU,CAAC,EAAE,EAAE,CAAC;YAC/C,GAAG;YACH,eAAe,CAAC,UAAU,CAAC;SAC5B,CAAC,CACO,CAAC;IACd,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC"}
1
+ {"version":3,"file":"strip-ref-markers.js","sourceRoot":"","sources":["../../src/references/strip-ref-markers.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,0BAA0B,EAC1B,yBAAyB,GAC1B,MAAM,cAAc,CAAC;AAEtB;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAmB,KAAa;IAC7D,IAAI,KAAK,YAAY,yBAAyB,EAAE,CAAC;QAC/C,OAAO,KAAK,CAAC,KAAe,CAAC;IAC/B,CAAC;IAED,IAAI,KAAK,YAAY,0BAA0B,EAAE,CAAC;QAChD,OAAO,KAAK,CAAC,KAAe,CAAC;IAC/B,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,KAAK,CAAC,GAAG,CAAC,eAAe,CAAW,CAAC;IAC9C,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAChD,OAAO,MAAM,CAAC,WAAW,CACvB,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,UAAU,CAAC,EAAE,EAAE,CAAC;YAC/C,GAAG;YACH,eAAe,CAAC,UAAU,CAAC;SAC5B,CAAC,CACO,CAAC;IACd,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -1,3 +1,4 @@
1
+ import type { DefinitionExpression } from './expression-types.js';
1
2
  export type ReferencePath = (string | number)[];
2
3
  /**
3
4
  * Definition of an entity type.
@@ -121,5 +122,9 @@ export interface ResolvedZodRefPayload<T> {
121
122
  * The references in the definition.
122
123
  */
123
124
  references: DefinitionReference[];
125
+ /**
126
+ * The expressions in the definition.
127
+ */
128
+ expressions: DefinitionExpression[];
124
129
  }
125
130
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/references/types.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,aAAa,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;AAEhD;;GAEG;AACH,qBAAa,oBAAoB,CAAC,UAAU,SAAS,OAAO,GAAG,OAAO;IACpE,SAAgB,MAAM,EAAE,MAAM,CAAC;IAC/B,SAAgB,IAAI,EAAE,MAAM,CAAC;IAC7B,SAAgB,UAAU,CAAC,EAAE,UAAU,SAAS,IAAI,GAChD,oBAAoB,GACpB,SAAS,CAAC;IAEd;;;;;;OAMG;gBAED,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,MAAM,EACf,UAAU,CAAC,EAAE,UAAU,SAAS,IAAI,GAAG,oBAAoB,GAAG,SAAS;IAOzE;;;;OAIG;IACH,aAAa,IAAI,MAAM;IAIvB;;;;;OAKG;IACH,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAC9B,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS;IAQtD,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM;IAI7B,IAAI,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;CAG1B;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IACX;;OAEG;IACH,MAAM,EAAE,aAAa,CAAC;IACtB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,IAAI,EAAE,oBAAoB,CAAC;IAC3B;;OAEG;IACH,IAAI,EAAE,aAAa,CAAC;IACpB;;OAEG;IACH,UAAU,CAAC,EAAE,aAAa,CAAC;CAC5B;AAED,MAAM,MAAM,uBAAuB;AACjC;;GAEG;AACD,eAAe;AACjB;;GAEG;GACD,QAAQ;AACV;;GAEG;GACD,eAAe;AACjB;;GAEG;GACD,UAAU,CAAC;AAEf;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC;;OAEG;IACH,IAAI,EAAE,oBAAoB,CAAC;IAC3B;;OAEG;IACH,IAAI,EAAE,aAAa,CAAC;IACpB;;OAEG;IACH,UAAU,CAAC,EAAE,aAAa,CAAC;IAC3B;;OAEG;IACH,QAAQ,EAAE,uBAAuB,CAAC;CACnC;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC;AAE5E,wBAAgB,gBAAgB,CAC9B,OAAO,SAAS,oBAAoB,GAAG,SAAS,GAAG,SAAS,EAE5D,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE;IAAE,UAAU,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GACjD,oBAAoB,CAAC,OAAO,SAAS,SAAS,GAAG,KAAK,GAAG,IAAI,CAAC,CAAC;AAgBlE;;;;GAIG;AACH,MAAM,WAAW,qBAAqB,CAAC,CAAC;IACtC;;OAEG;IACH,IAAI,EAAE,CAAC,CAAC;IACR;;OAEG;IACH,QAAQ,EAAE,gBAAgB,EAAE,CAAC;IAC7B;;OAEG;IACH,UAAU,EAAE,mBAAmB,EAAE,CAAC;CACnC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/references/types.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAElE,MAAM,MAAM,aAAa,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;AAEhD;;GAEG;AACH,qBAAa,oBAAoB,CAAC,UAAU,SAAS,OAAO,GAAG,OAAO;IACpE,SAAgB,MAAM,EAAE,MAAM,CAAC;IAC/B,SAAgB,IAAI,EAAE,MAAM,CAAC;IAC7B,SAAgB,UAAU,CAAC,EAAE,UAAU,SAAS,IAAI,GAChD,oBAAoB,GACpB,SAAS,CAAC;IAEd;;;;;;OAMG;gBAED,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,MAAM,EACf,UAAU,CAAC,EAAE,UAAU,SAAS,IAAI,GAAG,oBAAoB,GAAG,SAAS;IAOzE;;;;OAIG;IACH,aAAa,IAAI,MAAM;IAIvB;;;;;OAKG;IACH,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAC9B,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS;IAQtD,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM;IAI7B,IAAI,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;CAG1B;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IACX;;OAEG;IACH,MAAM,EAAE,aAAa,CAAC;IACtB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,IAAI,EAAE,oBAAoB,CAAC;IAC3B;;OAEG;IACH,IAAI,EAAE,aAAa,CAAC;IACpB;;OAEG;IACH,UAAU,CAAC,EAAE,aAAa,CAAC;CAC5B;AAED,MAAM,MAAM,uBAAuB;AACjC;;GAEG;AACD,eAAe;AACjB;;GAEG;GACD,QAAQ;AACV;;GAEG;GACD,eAAe;AACjB;;GAEG;GACD,UAAU,CAAC;AAEf;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC;;OAEG;IACH,IAAI,EAAE,oBAAoB,CAAC;IAC3B;;OAEG;IACH,IAAI,EAAE,aAAa,CAAC;IACpB;;OAEG;IACH,UAAU,CAAC,EAAE,aAAa,CAAC;IAC3B;;OAEG;IACH,QAAQ,EAAE,uBAAuB,CAAC;CACnC;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC;AAE5E,wBAAgB,gBAAgB,CAC9B,OAAO,SAAS,oBAAoB,GAAG,SAAS,GAAG,SAAS,EAE5D,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE;IAAE,UAAU,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GACjD,oBAAoB,CAAC,OAAO,SAAS,SAAS,GAAG,KAAK,GAAG,IAAI,CAAC,CAAC;AAgBlE;;;;GAIG;AACH,MAAM,WAAW,qBAAqB,CAAC,CAAC;IACtC;;OAEG;IACH,IAAI,EAAE,CAAC,CAAC;IACR;;OAEG;IACH,QAAQ,EAAE,gBAAgB,EAAE,CAAC;IAC7B;;OAEG;IACH,UAAU,EAAE,mBAAmB,EAAE,CAAC;IAClC;;OAEG;IACH,WAAW,EAAE,oBAAoB,EAAE,CAAC;CACrC"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/references/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAIjD;;GAEG;AACH,MAAM,OAAO,oBAAoB;IACf,MAAM,CAAS;IACf,IAAI,CAAS;IACb,UAAU,CAEZ;IAEd;;;;;;OAMG;IACH,YACE,IAAY,EACZ,MAAe,EACf,UAAuE;QAEvE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,MAAM,GAAG,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC;IACxD,CAAC;IAED;;;;OAIG;IACH,aAAa;QACX,OAAO,GAAG,IAAI,CAAC,MAAM,IAAI,SAAS,EAAE,EAAE,CAAC;IACzC,CAAC;IAUD,SAAS,CAAC,GAAuB;QAC/B,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO,GAAG,IAAI,CAAC,MAAM,IAAI,GAAG,EAAE,CAAC;IACjC,CAAC;IAED,SAAS,CAAC,EAAU;QAClB,OAAO,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1B,CAAC;IAED,IAAI,CAAC,EAAU;QACb,OAAO,EAAE,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;IAC1C,CAAC;CACF;AAiFD,MAAM,UAAU,gBAAgB,CAC9B,IAAY,EACZ,OAAmD;IAEnD,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,OAAO,IAAI,EAAE,CAAC;IAC7C,OAAO,IAAI,oBAAoB,CAC7B,IAAI,EACJ,MAAM,EACN,UAEa,CACd,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/references/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAMjD;;GAEG;AACH,MAAM,OAAO,oBAAoB;IACf,MAAM,CAAS;IACf,IAAI,CAAS;IACb,UAAU,CAEZ;IAEd;;;;;;OAMG;IACH,YACE,IAAY,EACZ,MAAe,EACf,UAAuE;QAEvE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,MAAM,GAAG,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC;IACxD,CAAC;IAED;;;;OAIG;IACH,aAAa;QACX,OAAO,GAAG,IAAI,CAAC,MAAM,IAAI,SAAS,EAAE,EAAE,CAAC;IACzC,CAAC;IAUD,SAAS,CAAC,GAAuB;QAC/B,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO,GAAG,IAAI,CAAC,MAAM,IAAI,GAAG,EAAE,CAAC;IACjC,CAAC;IAED,SAAS,CAAC,EAAU;QAClB,OAAO,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1B,CAAC;IAED,IAAI,CAAC,EAAU;QACb,OAAO,EAAE,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;IAC1C,CAAC;CACF;AAiFD,MAAM,UAAU,gBAAgB,CAC9B,IAAY,EACZ,OAAmD;IAEnD,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,OAAO,IAAI,EAAE,CAAC;IAC7C,OAAO,IAAI,oBAAoB,CAC7B,IAAI,EACJ,MAAM,EACN,UAEa,CACd,CAAC;AACJ,CAAC"}
@@ -2,6 +2,7 @@ import { z } from 'zod';
2
2
  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
+ devPort: z.ZodNumber;
5
6
  enableStripe: z.ZodOptional<z.ZodBoolean>;
6
7
  enableSubscriptions: z.ZodOptional<z.ZodBoolean>;
7
8
  enableAxios: z.ZodOptional<z.ZodBoolean>;
@@ -13,6 +14,7 @@ export declare const createBackendAppSchema: import("#src/schema/creator/index.j
13
14
  export type BackendAppConfig = def.InferOutput<typeof createBackendAppSchema>;
14
15
  export declare const backendAppEntryType: import("../types.js").AppEntryType<{
15
16
  type: "backend";
17
+ devPort: number;
16
18
  id: string;
17
19
  name: string;
18
20
  enableStripe?: boolean | undefined;
@@ -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;;;;;;;;;EAUlC,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;;;;;;;;;;EAWlC,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,GAAG,CAAC,WAAW,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAE9E,eAAO,MAAM,mBAAmB;;;;;;;;EACiB,CAAC"}
@@ -5,6 +5,7 @@ import { appEntityType, createAppEntryType } from '../types.js';
5
5
  export const createBackendAppSchema = definitionSchemaWithSlots({ appSlot: appEntityType }, () => z.object({
6
6
  ...baseAppValidators,
7
7
  type: z.literal('backend'),
8
+ devPort: z.number().int().positive(),
8
9
  enableStripe: z.boolean().optional(),
9
10
  enableSubscriptions: z.boolean().optional(),
10
11
  enableAxios: z.boolean().optional(),
@@ -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,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,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"}
@@ -3,11 +3,13 @@ export declare const baseAppValidators: {
3
3
  readonly id: z.ZodDefault<z.ZodString>;
4
4
  readonly name: z.ZodString;
5
5
  readonly type: z.ZodString;
6
+ readonly devPort: z.ZodOptional<z.ZodNumber>;
6
7
  };
7
8
  export declare const baseAppSchema: z.ZodObject<{
8
9
  id: z.ZodDefault<z.ZodString>;
9
10
  name: z.ZodString;
10
11
  type: z.ZodString;
12
+ devPort: z.ZodOptional<z.ZodNumber>;
11
13
  }, z.core.$strip>;
12
14
  export type BaseAppConfig = z.infer<typeof baseAppSchema>;
13
15
  //# sourceMappingURL=base.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../src/schema/apps/base.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,iBAAiB;;;;CAIpB,CAAC;AAEX,eAAO,MAAM,aAAa;;;;iBAA8B,CAAC;AAEzD,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC"}
1
+ {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../src/schema/apps/base.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,iBAAiB;;;;;CAKpB,CAAC;AAEX,eAAO,MAAM,aAAa;;;;;iBAA8B,CAAC;AAEzD,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC"}
@@ -5,6 +5,7 @@ export const baseAppValidators = {
5
5
  id: z.string().default(appEntityType.generateNewId()),
6
6
  name: CASE_VALIDATORS.KEBAB_CASE,
7
7
  type: z.string(),
8
+ devPort: z.number().int().positive().max(65_535).optional(),
8
9
  };
9
10
  export const baseAppSchema = z.object(baseAppValidators);
10
11
  //# sourceMappingURL=base.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"base.js","sourceRoot":"","sources":["../../../src/schema/apps/base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE3C,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,aAAa,CAAC,aAAa,EAAE,CAAC;IACrD,IAAI,EAAE,eAAe,CAAC,UAAU;IAChC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;CACR,CAAC;AAEX,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC"}
1
+ {"version":3,"file":"base.js","sourceRoot":"","sources":["../../../src/schema/apps/base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE3C,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,aAAa,CAAC,aAAa,EAAE,CAAC;IACrD,IAAI,EAAE,eAAe,CAAC,UAAU;IAChC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE;CACnD,CAAC;AAEX,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../../src/schema/apps/web/admin/sections/crud-actions/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAM5E,eAAO,MAAM,yBAAyB;;;;;;;iBAOpC,CAAC;AAEH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAE7E,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAC7C,OAAO,yBAAyB,CACjC,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,OAAO,CAC3C,yBAAyB,EACzB,oBAAoB,CACrB,CAAC;AAEF,MAAM,WAAW,mBAAmB,CAClC,CAAC,SACC,uBAAuB,CAAC,qBAAqB,CAAC,GAAG,uBAAuB,CAAC,qBAAqB,CAAC;IAEjG,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,CAAC,CAAC;CACjB;AAED,wBAAgB,yBAAyB,CACvC,CAAC,SAAS,uBAAuB,CAAC,qBAAqB,CAAC,EACxD,OAAO,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAEzD;AAED,eAAO,MAAM,yBAAyB,+DAEpC,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../../src/schema/apps/web/admin/sections/crud-actions/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAM5E,eAAO,MAAM,yBAAyB;;;;;;;iBAOpC,CAAC;AAEH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAE7E,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAC7C,OAAO,yBAAyB,CACjC,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,OAAO,CAC3C,yBAAyB,EACzB,oBAAoB,CACrB,CAAC;AAEF,MAAM,WAAW,mBAAmB,CAClC,CAAC,SAAS,uBAAuB,CAAC,qBAAqB,CAAC,GACtD,uBAAuB,CAAC,qBAAqB,CAAC;IAEhD,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,CAAC,CAAC;CACjB;AAED,wBAAgB,yBAAyB,CACvC,CAAC,SAAS,uBAAuB,CAAC,qBAAqB,CAAC,EACxD,OAAO,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAEzD;AAED,eAAO,MAAM,yBAAyB,+DAEpC,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import { z } from 'zod';
2
2
  import type { def } from '#src/schema/creator/index.js';
3
3
  export declare const createWebAppSchema: import("#src/schema/creator/index.js").DefinitionSchemaCreatorWithSlots<z.ZodObject<{
4
+ devPort: z.ZodNumber;
4
5
  type: z.ZodLiteral<"web">;
5
6
  includeAuth: z.ZodOptional<z.ZodType<boolean | undefined, boolean | undefined, z.core.$ZodTypeInternals<boolean | undefined, boolean | undefined>>>;
6
7
  title: z.ZodDefault<z.ZodString>;
@@ -315,6 +316,7 @@ export declare const createWebAppSchema: import("#src/schema/creator/index.js").
315
316
  }>;
316
317
  export type WebAppConfig = def.InferOutput<typeof createWebAppSchema>;
317
318
  export declare const webAppEntryType: import("../types.js").AppEntryType<{
319
+ devPort: number;
318
320
  type: "web";
319
321
  title: string;
320
322
  description: string;
@@ -1 +1 @@
1
- {"version":3,"file":"web-app.d.ts","sourceRoot":"","sources":["../../../../src/schema/apps/web/web-app.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,8BAA8B,CAAC;AAQxD,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAa9B,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,GAAG,CAAC,WAAW,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAEtE,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAA0C,CAAC"}
1
+ {"version":3,"file":"web-app.d.ts","sourceRoot":"","sources":["../../../../src/schema/apps/web/web-app.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,8BAA8B,CAAC;AAQxD,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAc9B,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,GAAG,CAAC,WAAW,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAEtE,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAA0C,CAAC"}
@@ -5,6 +5,7 @@ import { appEntityType, createAppEntryType } from '../types.js';
5
5
  import { createAdminAppSchema } from './admin/admin.js';
6
6
  export const createWebAppSchema = definitionSchemaWithSlots({ appSlot: appEntityType }, (ctx, { appSlot }) => z.object({
7
7
  ...baseAppValidators,
8
+ devPort: z.number().int().positive(),
8
9
  type: z.literal('web'),
9
10
  includeAuth: ctx.withDefault(z.boolean(), false),
10
11
  title: z.string().default(''),
@@ -1 +1 @@
1
- {"version":3,"file":"web-app.js","sourceRoot":"","sources":["../../../../src/schema/apps/web/web-app.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;AAChE,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAExD,MAAM,CAAC,MAAM,kBAAkB,GAAG,yBAAyB,CACzD,EAAE,OAAO,EAAE,aAAa,EAAE,EAC1B,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CACnB,CAAC,CAAC,MAAM,CAAC;IACP,GAAG,iBAAiB;IACpB,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;IACtB,WAAW,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE,KAAK,CAAC;IAChD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;IAC7B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;IACnC,uBAAuB,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE,KAAK,CAAC;IAC5D,mBAAmB,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE,KAAK,CAAC;IACxD,QAAQ,EAAE,oBAAoB,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,CAAC;CACjD,CAAC,CACL,CAAC;AAIF,MAAM,CAAC,MAAM,eAAe,GAAG,kBAAkB,CAAe,KAAK,CAAC,CAAC"}
1
+ {"version":3,"file":"web-app.js","sourceRoot":"","sources":["../../../../src/schema/apps/web/web-app.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;AAChE,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAExD,MAAM,CAAC,MAAM,kBAAkB,GAAG,yBAAyB,CACzD,EAAE,OAAO,EAAE,aAAa,EAAE,EAC1B,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CACnB,CAAC,CAAC,MAAM,CAAC;IACP,GAAG,iBAAiB;IACpB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IACpC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;IACtB,WAAW,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE,KAAK,CAAC;IAChD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;IAC7B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;IACnC,uBAAuB,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE,KAAK,CAAC;IAC5D,mBAAmB,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE,KAAK,CAAC;IACxD,QAAQ,EAAE,oBAAoB,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,CAAC;CACjD,CAAC,CACL,CAAC;AAIF,MAAM,CAAC,MAAM,eAAe,GAAG,kBAAkB,CAAe,KAAK,CAAC,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import type { z } from 'zod';
2
2
  import type { PluginSpecStore } from '#src/plugins/index.js';
3
- import type { RefContextType, WithEntType, WithRefType } from '#src/references/extend-parser-context-with-refs.js';
3
+ import type { RefContextType, WithEntType, WithExpressionType, WithRefType } from '#src/references/extend-parser-context-with-refs.js';
4
4
  import type { RefContextSlotDefinition, RefContextSlotMap } from '#src/references/ref-context-slot.js';
5
5
  import type { WithDefaultType } from './extend-parser-context-with-defaults.js';
6
6
  /**
@@ -63,6 +63,11 @@ export interface DefinitionSchemaParserContext {
63
63
  * Slots provide type-safe context for parent-child entity relationships.
64
64
  */
65
65
  refContext: RefContextType;
66
+ /**
67
+ * Wraps a value with a ref expression parser for deferred validation.
68
+ * The parser handles all parsing, validation, rename handling, and code generation.
69
+ */
70
+ withExpression: WithExpressionType;
66
71
  }
67
72
  export type DefinitionSchemaCreator<T extends z.ZodType = z.ZodType> = (ctx: DefinitionSchemaParserContext) => T;
68
73
  export type DefinitionSchemaCreatorWithSlots<TDefinitionSchema extends z.ZodType = z.ZodType, TSlotDefinition extends RefContextSlotDefinition = RefContextSlotDefinition> = ((ctx: DefinitionSchemaParserContext, slots: RefContextSlotMap<TSlotDefinition>) => TDefinitionSchema) & {
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/schema/creator/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAE7B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,EACV,cAAc,EACd,WAAW,EACX,WAAW,EACZ,MAAM,oDAAoD,CAAC;AAC5D,OAAO,KAAK,EACV,wBAAwB,EACxB,iBAAiB,EAClB,MAAM,qCAAqC,CAAC;AAE7C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0CAA0C,CAAC;AAEhF;;GAEG;AACH,MAAM,WAAW,8BAA8B;IAC7C;;OAEG;IACH,OAAO,EAAE,eAAe,CAAC;IACzB;;;;;;OAMG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B;;;;;;;;OAQG;IACH,WAAW,CAAC,EAAE,UAAU,GAAG,OAAO,GAAG,UAAU,CAAC;CACjD;AAED,MAAM,WAAW,6BAA6B;IAC5C;;OAEG;IACH,OAAO,EAAE,eAAe,CAAC;IACzB;;OAEG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B;;OAEG;IACH,WAAW,CAAC,EAAE,UAAU,GAAG,OAAO,GAAG,UAAU,CAAC;IAChD;;OAEG;IACH,OAAO,EAAE,WAAW,CAAC;IACrB;;OAEG;IACH,OAAO,EAAE,WAAW,CAAC;IACrB;;;;;OAKG;IACH,WAAW,EAAE,eAAe,CAAC;IAC7B;;;OAGG;IACH,UAAU,EAAE,cAAc,CAAC;CAC5B;AAED,MAAM,MAAM,uBAAuB,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,IAAI,CACrE,GAAG,EAAE,6BAA6B,KAC/B,CAAC,CAAC;AAEP,MAAM,MAAM,gCAAgC,CAC1C,iBAAiB,SAAS,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,EAC/C,eAAe,SAAS,wBAAwB,GAAG,wBAAwB,IACzE,CAAC,CACH,GAAG,EAAE,6BAA6B,EAClC,KAAK,EAAE,iBAAiB,CAAC,eAAe,CAAC,KACtC,iBAAiB,CAAC,GAAG;IACxB,cAAc,EAAE,eAAe,CAAC;CACjC,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/schema/creator/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAE7B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,EACV,cAAc,EACd,WAAW,EACX,kBAAkB,EAClB,WAAW,EACZ,MAAM,oDAAoD,CAAC;AAC5D,OAAO,KAAK,EACV,wBAAwB,EACxB,iBAAiB,EAClB,MAAM,qCAAqC,CAAC;AAE7C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0CAA0C,CAAC;AAEhF;;GAEG;AACH,MAAM,WAAW,8BAA8B;IAC7C;;OAEG;IACH,OAAO,EAAE,eAAe,CAAC;IACzB;;;;;;OAMG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B;;;;;;;;OAQG;IACH,WAAW,CAAC,EAAE,UAAU,GAAG,OAAO,GAAG,UAAU,CAAC;CACjD;AAED,MAAM,WAAW,6BAA6B;IAC5C;;OAEG;IACH,OAAO,EAAE,eAAe,CAAC;IACzB;;OAEG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B;;OAEG;IACH,WAAW,CAAC,EAAE,UAAU,GAAG,OAAO,GAAG,UAAU,CAAC;IAChD;;OAEG;IACH,OAAO,EAAE,WAAW,CAAC;IACrB;;OAEG;IACH,OAAO,EAAE,WAAW,CAAC;IACrB;;;;;OAKG;IACH,WAAW,EAAE,eAAe,CAAC;IAC7B;;;OAGG;IACH,UAAU,EAAE,cAAc,CAAC;IAC3B;;;OAGG;IACH,cAAc,EAAE,kBAAkB,CAAC;CACpC;AAED,MAAM,MAAM,uBAAuB,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,IAAI,CACrE,GAAG,EAAE,6BAA6B,KAC/B,CAAC,CAAC;AAEP,MAAM,MAAM,gCAAgC,CAC1C,iBAAiB,SAAS,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,EAC/C,eAAe,SAAS,wBAAwB,GAAG,wBAAwB,IACzE,CAAC,CACH,GAAG,EAAE,6BAA6B,EAClC,KAAK,EAAE,iBAAiB,CAAC,eAAe,CAAC,KACtC,iBAAiB,CAAC,GAAG;IACxB,cAAc,EAAE,eAAe,CAAC;CACjC,CAAC"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Parser for authorizer expressions using Acorn.
3
+ *
4
+ * Parses expressions with implicit auth context:
5
+ * - `model.id === userId`
6
+ * - `hasRole('admin')`
7
+ * - `hasSomeRole(['admin', 'moderator'])`
8
+ * - `model.id === userId || hasRole('admin')`
9
+ *
10
+ * Uses Acorn to parse as JavaScript, then converts the ESTree AST
11
+ * to our domain-specific AST, rejecting unsupported constructs.
12
+ */
13
+ import type { AuthorizerExpressionInfo } from './authorizer-expression-ast.js';
14
+ /**
15
+ * Parse an authorizer expression string into our domain AST.
16
+ *
17
+ * @param input - The expression string to parse
18
+ * @returns The parsed expression info including AST and dependencies
19
+ * @throws {AuthorizerExpressionParseError} If the expression is invalid
20
+ *
21
+ * @example
22
+ * ```typescript
23
+ * const result = parseAuthorizerExpression("model.id === auth.userId");
24
+ * // result.ast = { type: 'fieldComparison', ... }
25
+ * // result.modelFieldRefs = ['id']
26
+ * // result.authFieldRefs = ['userId']
27
+ * ```
28
+ */
29
+ export declare function parseAuthorizerExpression(input: string): AuthorizerExpressionInfo;
30
+ //# sourceMappingURL=authorizer-expression-acorn-parser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"authorizer-expression-acorn-parser.d.ts","sourceRoot":"","sources":["../../../../src/schema/models/authorizer/authorizer-expression-acorn-parser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAYH,OAAO,KAAK,EACV,wBAAwB,EAOzB,MAAM,gCAAgC,CAAC;AAIxC;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,MAAM,GACZ,wBAAwB,CA6C1B"}