@baseplate-dev/project-builder-lib 0.6.3 → 0.6.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (290) hide show
  1. package/CHANGELOG.md +54 -0
  2. package/dist/compiler/admin-crud-action-compiler.js +1 -1
  3. package/dist/compiler/admin-crud-action-compiler.js.map +1 -1
  4. package/dist/compiler/admin-crud-column-compiler-spec.js +1 -1
  5. package/dist/compiler/admin-crud-column-compiler-spec.js.map +1 -1
  6. package/dist/compiler/admin-crud-input-spec.js +1 -1
  7. package/dist/compiler/admin-crud-input-spec.js.map +1 -1
  8. package/dist/compiler/app-compiler-spec.js +1 -1
  9. package/dist/compiler/app-compiler-spec.js.map +1 -1
  10. package/dist/compiler/index.d.ts +1 -0
  11. package/dist/compiler/index.d.ts.map +1 -1
  12. package/dist/compiler/index.js +1 -0
  13. package/dist/compiler/index.js.map +1 -1
  14. package/dist/compiler/model-transformer-compiler-spec.js +1 -1
  15. package/dist/compiler/model-transformer-compiler-spec.js.map +1 -1
  16. package/dist/compiler/root-compiler-spec.d.ts +25 -0
  17. package/dist/compiler/root-compiler-spec.d.ts.map +1 -0
  18. package/dist/compiler/root-compiler-spec.js +23 -0
  19. package/dist/compiler/root-compiler-spec.js.map +1 -0
  20. package/dist/constants/theme-colors.d.ts +0 -48
  21. package/dist/constants/theme-colors.d.ts.map +1 -1
  22. package/dist/constants/theme-colors.js +0 -32
  23. package/dist/constants/theme-colors.js.map +1 -1
  24. package/dist/definition/feature/feature-utils.d.ts +9 -3
  25. package/dist/definition/feature/feature-utils.d.ts.map +1 -1
  26. package/dist/definition/feature/feature-utils.js +30 -2
  27. package/dist/definition/feature/feature-utils.js.map +1 -1
  28. package/dist/definition/plugins/plugin-utils.d.ts +15 -0
  29. package/dist/definition/plugins/plugin-utils.d.ts.map +1 -1
  30. package/dist/definition/plugins/plugin-utils.js +50 -1
  31. package/dist/definition/plugins/plugin-utils.js.map +1 -1
  32. package/dist/definition/project-definition-container.d.ts.map +1 -1
  33. package/dist/definition/project-definition-container.js +3 -1
  34. package/dist/definition/project-definition-container.js.map +1 -1
  35. package/dist/{schema/models → expression-parsers}/authorizer/authorizer-expression-acorn-parser.d.ts +2 -0
  36. package/dist/expression-parsers/authorizer/authorizer-expression-acorn-parser.d.ts.map +1 -0
  37. package/dist/{schema/models → expression-parsers}/authorizer/authorizer-expression-acorn-parser.js +107 -52
  38. package/dist/expression-parsers/authorizer/authorizer-expression-acorn-parser.js.map +1 -0
  39. package/dist/{schema/models → expression-parsers}/authorizer/authorizer-expression-ast.d.ts +69 -1
  40. package/dist/expression-parsers/authorizer/authorizer-expression-ast.d.ts.map +1 -0
  41. package/dist/{schema/models → expression-parsers}/authorizer/authorizer-expression-ast.js +2 -0
  42. package/dist/expression-parsers/authorizer/authorizer-expression-ast.js.map +1 -0
  43. package/dist/{schema/models → expression-parsers}/authorizer/authorizer-expression-parser.d.ts +13 -14
  44. package/dist/expression-parsers/authorizer/authorizer-expression-parser.d.ts.map +1 -0
  45. package/dist/expression-parsers/authorizer/authorizer-expression-parser.js +292 -0
  46. package/dist/expression-parsers/authorizer/authorizer-expression-parser.js.map +1 -0
  47. package/dist/{schema/models → expression-parsers}/authorizer/authorizer-expression-validator.d.ts +37 -17
  48. package/dist/expression-parsers/authorizer/authorizer-expression-validator.d.ts.map +1 -0
  49. package/dist/expression-parsers/authorizer/authorizer-expression-validator.js +379 -0
  50. package/dist/expression-parsers/authorizer/authorizer-expression-validator.js.map +1 -0
  51. package/dist/expression-parsers/authorizer/authorizer-expression-visitor.d.ts +54 -0
  52. package/dist/expression-parsers/authorizer/authorizer-expression-visitor.d.ts.map +1 -0
  53. package/dist/expression-parsers/authorizer/authorizer-expression-visitor.js +52 -0
  54. package/dist/expression-parsers/authorizer/authorizer-expression-visitor.js.map +1 -0
  55. package/dist/expression-parsers/authorizer/index.d.ts +6 -0
  56. package/dist/expression-parsers/authorizer/index.d.ts.map +1 -0
  57. package/dist/expression-parsers/authorizer/index.js +6 -0
  58. package/dist/expression-parsers/authorizer/index.js.map +1 -0
  59. package/dist/expression-parsers/register-core-module.d.ts +6 -0
  60. package/dist/expression-parsers/register-core-module.d.ts.map +1 -0
  61. package/dist/expression-parsers/register-core-module.js +29 -0
  62. package/dist/expression-parsers/register-core-module.js.map +1 -0
  63. package/dist/index.d.ts +1 -0
  64. package/dist/index.js +1 -0
  65. package/dist/migrations/index.d.ts.map +1 -1
  66. package/dist/migrations/index.js +6 -0
  67. package/dist/migrations/index.js.map +1 -1
  68. package/dist/migrations/migration-029-admin-role-and-auto-assigned.d.ts +25 -0
  69. package/dist/migrations/migration-029-admin-role-and-auto-assigned.d.ts.map +1 -0
  70. package/dist/migrations/migration-029-admin-role-and-auto-assigned.js +72 -0
  71. package/dist/migrations/migration-029-admin-role-and-auto-assigned.js.map +1 -0
  72. package/dist/migrations/migration-030-remove-theme-hover-colors.d.ts +17 -0
  73. package/dist/migrations/migration-030-remove-theme-hover-colors.d.ts.map +1 -0
  74. package/dist/migrations/migration-030-remove-theme-hover-colors.js +41 -0
  75. package/dist/migrations/migration-030-remove-theme-hover-colors.js.map +1 -0
  76. package/dist/migrations/migration-031-uuid-default-generation.d.ts +24 -0
  77. package/dist/migrations/migration-031-uuid-default-generation.d.ts.map +1 -0
  78. package/dist/migrations/migration-031-uuid-default-generation.js +40 -0
  79. package/dist/migrations/migration-031-uuid-default-generation.js.map +1 -0
  80. package/dist/migrations/transform-json-path.d.ts.map +1 -1
  81. package/dist/migrations/transform-json-path.js +2 -3
  82. package/dist/migrations/transform-json-path.js.map +1 -1
  83. package/dist/parser/collect-definition-issues.d.ts.map +1 -1
  84. package/dist/parser/collect-definition-issues.js +10 -2
  85. package/dist/parser/collect-definition-issues.js.map +1 -1
  86. package/dist/parser/collect-expression-issues.d.ts +17 -9
  87. package/dist/parser/collect-expression-issues.d.ts.map +1 -1
  88. package/dist/parser/collect-expression-issues.js +21 -15
  89. package/dist/parser/collect-expression-issues.js.map +1 -1
  90. package/dist/parser/definition-issue-checkers/plugin-dependency-checker.d.ts +11 -0
  91. package/dist/parser/definition-issue-checkers/plugin-dependency-checker.d.ts.map +1 -0
  92. package/dist/parser/definition-issue-checkers/plugin-dependency-checker.js +41 -0
  93. package/dist/parser/definition-issue-checkers/plugin-dependency-checker.js.map +1 -0
  94. package/dist/parser/definition-issue-checkers/plugin-implementation-checker.d.ts +16 -0
  95. package/dist/parser/definition-issue-checkers/plugin-implementation-checker.d.ts.map +1 -0
  96. package/dist/parser/definition-issue-checkers/plugin-implementation-checker.js +69 -0
  97. package/dist/parser/definition-issue-checkers/plugin-implementation-checker.js.map +1 -0
  98. package/dist/parser/definition-issue-utils.d.ts +28 -1
  99. package/dist/parser/definition-issue-utils.d.ts.map +1 -1
  100. package/dist/parser/definition-issue-utils.js +59 -0
  101. package/dist/parser/definition-issue-utils.js.map +1 -1
  102. package/dist/parser/find-orphaned-union-items.d.ts +30 -0
  103. package/dist/parser/find-orphaned-union-items.d.ts.map +1 -0
  104. package/dist/parser/find-orphaned-union-items.js +47 -0
  105. package/dist/parser/find-orphaned-union-items.js.map +1 -0
  106. package/dist/parser/index.d.ts +3 -1
  107. package/dist/parser/index.d.ts.map +1 -1
  108. package/dist/parser/index.js +3 -1
  109. package/dist/parser/index.js.map +1 -1
  110. package/dist/parser/parser.d.ts.map +1 -1
  111. package/dist/parser/parser.js +3 -0
  112. package/dist/parser/parser.js.map +1 -1
  113. package/dist/parser/transform-data-with-schema.js +1 -1
  114. package/dist/parser/transform-data-with-schema.js.map +1 -1
  115. package/dist/plugins/imports/index.d.ts +1 -0
  116. package/dist/plugins/imports/index.d.ts.map +1 -1
  117. package/dist/plugins/imports/index.js +1 -0
  118. package/dist/plugins/imports/index.js.map +1 -1
  119. package/dist/plugins/imports/validate-plugin-dependencies.d.ts +42 -0
  120. package/dist/plugins/imports/validate-plugin-dependencies.d.ts.map +1 -0
  121. package/dist/plugins/imports/validate-plugin-dependencies.js +80 -0
  122. package/dist/plugins/imports/validate-plugin-dependencies.js.map +1 -0
  123. package/dist/plugins/metadata/types.d.ts +13 -0
  124. package/dist/plugins/metadata/types.d.ts.map +1 -1
  125. package/dist/plugins/metadata/types.js +15 -0
  126. package/dist/plugins/metadata/types.js.map +1 -1
  127. package/dist/plugins/spec/auth-config-spec.d.ts +1 -0
  128. package/dist/plugins/spec/auth-config-spec.d.ts.map +1 -1
  129. package/dist/plugins/spec/auth-config-spec.js.map +1 -1
  130. package/dist/references/definition-ref-builder.d.ts +2 -0
  131. package/dist/references/definition-ref-builder.d.ts.map +1 -1
  132. package/dist/references/definition-ref-registry.d.ts +2 -0
  133. package/dist/references/definition-ref-registry.d.ts.map +1 -1
  134. package/dist/references/definition-ref-registry.js.map +1 -1
  135. package/dist/references/expression-parser-ref.d.ts +51 -0
  136. package/dist/references/expression-parser-ref.d.ts.map +1 -0
  137. package/dist/references/expression-parser-ref.js +14 -0
  138. package/dist/references/expression-parser-ref.js.map +1 -0
  139. package/dist/references/expression-parser-spec.d.ts +29 -0
  140. package/dist/references/expression-parser-spec.d.ts.map +1 -0
  141. package/dist/references/expression-parser-spec.js +29 -0
  142. package/dist/references/expression-parser-spec.js.map +1 -0
  143. package/dist/references/expression-types.d.ts +20 -22
  144. package/dist/references/expression-types.d.ts.map +1 -1
  145. package/dist/references/expression-types.js +1 -2
  146. package/dist/references/expression-types.js.map +1 -1
  147. package/dist/references/extend-parser-context-with-refs.d.ts +7 -2
  148. package/dist/references/extend-parser-context-with-refs.d.ts.map +1 -1
  149. package/dist/references/extend-parser-context-with-refs.js +42 -12
  150. package/dist/references/extend-parser-context-with-refs.js.map +1 -1
  151. package/dist/references/extract-definition-refs.js +1 -1
  152. package/dist/references/extract-definition-refs.js.map +1 -1
  153. package/dist/references/fix-definition-refs.d.ts +22 -0
  154. package/dist/references/fix-definition-refs.d.ts.map +1 -0
  155. package/dist/references/fix-definition-refs.js +29 -0
  156. package/dist/references/fix-definition-refs.js.map +1 -0
  157. package/dist/references/fix-expression-renames.d.ts +20 -0
  158. package/dist/references/fix-expression-renames.d.ts.map +1 -0
  159. package/dist/references/fix-expression-renames.js +87 -0
  160. package/dist/references/fix-expression-renames.js.map +1 -0
  161. package/dist/references/index.d.ts +4 -0
  162. package/dist/references/index.d.ts.map +1 -1
  163. package/dist/references/index.js +4 -0
  164. package/dist/references/index.js.map +1 -1
  165. package/dist/references/parse-schema-with-references.d.ts +2 -1
  166. package/dist/references/parse-schema-with-references.d.ts.map +1 -1
  167. package/dist/references/parse-schema-with-references.js.map +1 -1
  168. package/dist/schema/apps/web/admin/sections/crud.d.ts.map +1 -1
  169. package/dist/schema/apps/web/admin/sections/crud.js +3 -2
  170. package/dist/schema/apps/web/admin/sections/crud.js.map +1 -1
  171. package/dist/schema/creator/definition-issue-checkers.d.ts +15 -0
  172. package/dist/schema/creator/definition-issue-checkers.d.ts.map +1 -1
  173. package/dist/schema/creator/definition-issue-checkers.js +33 -0
  174. package/dist/schema/creator/definition-issue-checkers.js.map +1 -1
  175. package/dist/schema/creator/schema-creator.js +1 -1
  176. package/dist/schema/creator/schema-creator.js.map +1 -1
  177. package/dist/schema/features/feature.js +1 -1
  178. package/dist/schema/features/feature.js.map +1 -1
  179. package/dist/schema/libraries/library.d.ts.map +1 -1
  180. package/dist/schema/libraries/library.js +1 -0
  181. package/dist/schema/libraries/library.js.map +1 -1
  182. package/dist/schema/models/authorizer/authorizer-expression-ref.d.ts +11 -0
  183. package/dist/schema/models/authorizer/authorizer-expression-ref.d.ts.map +1 -0
  184. package/dist/schema/models/authorizer/authorizer-expression-ref.js +10 -0
  185. package/dist/schema/models/authorizer/authorizer-expression-ref.js.map +1 -0
  186. package/dist/schema/models/authorizer/authorizer.js +2 -2
  187. package/dist/schema/models/authorizer/authorizer.js.map +1 -1
  188. package/dist/schema/models/authorizer/index.d.ts +1 -4
  189. package/dist/schema/models/authorizer/index.d.ts.map +1 -1
  190. package/dist/schema/models/authorizer/index.js +1 -4
  191. package/dist/schema/models/authorizer/index.js.map +1 -1
  192. package/dist/schema/models/enums.d.ts +12 -0
  193. package/dist/schema/models/enums.d.ts.map +1 -1
  194. package/dist/schema/models/enums.js +5 -2
  195. package/dist/schema/models/enums.js.map +1 -1
  196. package/dist/schema/models/graphql.js +3 -3
  197. package/dist/schema/models/graphql.js.map +1 -1
  198. package/dist/schema/models/models.d.ts +24 -36
  199. package/dist/schema/models/models.d.ts.map +1 -1
  200. package/dist/schema/models/models.js +7 -5
  201. package/dist/schema/models/models.js.map +1 -1
  202. package/dist/schema/plugins/definition.d.ts.map +1 -1
  203. package/dist/schema/plugins/definition.js +2 -0
  204. package/dist/schema/plugins/definition.js.map +1 -1
  205. package/dist/schema/project-definition.d.ts +14 -22
  206. package/dist/schema/project-definition.d.ts.map +1 -1
  207. package/dist/schema/project-definition.js +5 -1
  208. package/dist/schema/project-definition.js.map +1 -1
  209. package/dist/schema/settings/settings.d.ts +2 -10
  210. package/dist/schema/settings/settings.d.ts.map +1 -1
  211. package/dist/schema/settings/theme.d.ts +3 -15
  212. package/dist/schema/settings/theme.d.ts.map +1 -1
  213. package/dist/schema/utils/validation.d.ts.map +1 -1
  214. package/dist/schema/utils/validation.js +16 -3
  215. package/dist/schema/utils/validation.js.map +1 -1
  216. package/dist/specs/packages/library-type-spec.d.ts +4 -0
  217. package/dist/specs/packages/library-type-spec.d.ts.map +1 -1
  218. package/dist/specs/packages/library-type-spec.js +2 -2
  219. package/dist/specs/packages/library-type-spec.js.map +1 -1
  220. package/dist/testing/definition-helpers.test-helper.js +2 -2
  221. package/dist/testing/definition-helpers.test-helper.js.map +1 -1
  222. package/dist/testing/expression-stub-parser.test-helper.d.ts +2 -4
  223. package/dist/testing/expression-stub-parser.test-helper.d.ts.map +1 -1
  224. package/dist/testing/expression-stub-parser.test-helper.js +2 -10
  225. package/dist/testing/expression-stub-parser.test-helper.js.map +1 -1
  226. package/dist/testing/expression-warning-parser.test-helper.d.ts +2 -4
  227. package/dist/testing/expression-warning-parser.test-helper.d.ts.map +1 -1
  228. package/dist/testing/expression-warning-parser.test-helper.js +2 -8
  229. package/dist/testing/expression-warning-parser.test-helper.js.map +1 -1
  230. package/dist/testing/index.d.ts +1 -0
  231. package/dist/testing/index.d.ts.map +1 -1
  232. package/dist/testing/index.js +1 -0
  233. package/dist/testing/index.js.map +1 -1
  234. package/dist/testing/parser-context.test-helper.d.ts.map +1 -1
  235. package/dist/testing/parser-context.test-helper.js +2 -1
  236. package/dist/testing/parser-context.test-helper.js.map +1 -1
  237. package/dist/testing/plugin-store.test-helper.d.ts +11 -0
  238. package/dist/testing/plugin-store.test-helper.d.ts.map +1 -0
  239. package/dist/testing/plugin-store.test-helper.js +32 -0
  240. package/dist/testing/plugin-store.test-helper.js.map +1 -0
  241. package/dist/testing/project-definition-container.test-helper.d.ts.map +1 -1
  242. package/dist/testing/project-definition-container.test-helper.js +2 -1
  243. package/dist/testing/project-definition-container.test-helper.js.map +1 -1
  244. package/dist/tools/index.d.ts +2 -0
  245. package/dist/tools/index.d.ts.map +1 -1
  246. package/dist/tools/index.js +2 -0
  247. package/dist/tools/index.js.map +1 -1
  248. package/dist/tools/sort-entity-arrays.d.ts +15 -0
  249. package/dist/tools/sort-entity-arrays.d.ts.map +1 -0
  250. package/dist/tools/sort-entity-arrays.js +31 -0
  251. package/dist/tools/sort-entity-arrays.js.map +1 -0
  252. package/dist/utils/color-conversions.d.ts +12 -0
  253. package/dist/utils/color-conversions.d.ts.map +1 -1
  254. package/dist/utils/color-conversions.js +17 -1
  255. package/dist/utils/color-conversions.js.map +1 -1
  256. package/dist/utils/color-names.d.ts.map +1 -1
  257. package/dist/utils/color-names.js +6 -5
  258. package/dist/utils/color-names.js.map +1 -1
  259. package/dist/utils/definition-diff/definition-diff.js +2 -2
  260. package/dist/utils/definition-diff/definition-diff.js.map +1 -1
  261. package/dist/utils/theme.d.ts +1 -0
  262. package/dist/utils/theme.d.ts.map +1 -1
  263. package/dist/utils/theme.js +18 -10
  264. package/dist/utils/theme.js.map +1 -1
  265. package/dist/web/components/definition-diff-alert.js +2 -2
  266. package/dist/web/components/definition-diff-alert.js.map +1 -1
  267. package/dist/web/components/feature-combobox-field.d.ts.map +1 -1
  268. package/dist/web/components/feature-combobox-field.js +5 -3
  269. package/dist/web/components/feature-combobox-field.js.map +1 -1
  270. package/dist/web/specs/admin-crud-action-web-spec.js +1 -1
  271. package/dist/web/specs/admin-crud-action-web-spec.js.map +1 -1
  272. package/dist/web/specs/admin-crud-column-web-spec.js +1 -1
  273. package/dist/web/specs/admin-crud-column-web-spec.js.map +1 -1
  274. package/dist/web/specs/admin-crud-input-web-spec.js +1 -1
  275. package/dist/web/specs/admin-crud-input-web-spec.js.map +1 -1
  276. package/dist/web/specs/model-transformer-web-spec.d.ts +19 -2
  277. package/dist/web/specs/model-transformer-web-spec.d.ts.map +1 -1
  278. package/dist/web/specs/model-transformer-web-spec.js +1 -1
  279. package/dist/web/specs/model-transformer-web-spec.js.map +1 -1
  280. package/package.json +8 -8
  281. package/dist/schema/models/authorizer/authorizer-expression-acorn-parser.d.ts.map +0 -1
  282. package/dist/schema/models/authorizer/authorizer-expression-acorn-parser.js.map +0 -1
  283. package/dist/schema/models/authorizer/authorizer-expression-ast.d.ts.map +0 -1
  284. package/dist/schema/models/authorizer/authorizer-expression-ast.js.map +0 -1
  285. package/dist/schema/models/authorizer/authorizer-expression-parser.d.ts.map +0 -1
  286. package/dist/schema/models/authorizer/authorizer-expression-parser.js +0 -145
  287. package/dist/schema/models/authorizer/authorizer-expression-parser.js.map +0 -1
  288. package/dist/schema/models/authorizer/authorizer-expression-validator.d.ts.map +0 -1
  289. package/dist/schema/models/authorizer/authorizer-expression-validator.js +0 -284
  290. package/dist/schema/models/authorizer/authorizer-expression-validator.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"definition-ref-builder.d.ts","sourceRoot":"","sources":["../../src/references/definition-ref-builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"definition-ref-builder.d.ts","sourceRoot":"","sources":["../../src/references/definition-ref-builder.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,8 @@ export interface EntitySchemaMeta {
10
10
  readonly getNameResolver?: (value: any) => DefinitionEntityNameResolver | string;
11
11
  readonly parentSlot?: RefContextSlot;
12
12
  readonly provides?: RefContextSlot;
13
+ /** When true, arrays of this entity type are sorted by name during serialization for deterministic output. */
14
+ readonly sortByName?: boolean;
13
15
  }
14
16
  export interface ReferenceSchemaMeta {
15
17
  readonly kind: 'reference';
@@ -1 +1 @@
1
- {"version":3,"file":"definition-ref-registry.d.ts","sourceRoot":"","sources":["../../src/references/definition-ref-registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"definition-ref-registry.d.ts","sourceRoot":"","sources":["../../src/references/definition-ref-registry.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"definition-ref-registry.js","sourceRoot":"","sources":["../../src/references/definition-ref-registry.ts"],"names":[],"mappings":"AA6HA;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAI9B,CAAC,GAAG,EAAE;IACR,MAAM,GAAG,GAAG,IAAI,OAAO,EAAkC,CAAC;IAC1D,OAAO;QACL,GAAG,CAAC,MAAiB,EAAE,IAAuB;YAC5C,MAAM,QAAQ,GAAG,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACjC,IAAI,QAAQ,EAAE,CAAC;gBACb,IACE,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW,CAAC;oBACrD,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,EAClE,CAAC;oBACD,MAAM,IAAI,KAAK,CACb,2CAA2C,IAAI,CAAC,IAAI,eAAe,IAAI,CAAC,IAAI,CAAC,IAAI,iCAAiC;wBAChH,gGAAgG;wBAChG,yCAAyC,CAC5C,CAAC;gBACJ,CAAC;gBACD,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACtB,CAAC;iBAAM,CAAC;gBACN,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC;QACD,MAAM,CAAC,MAAiB;YACtB,OAAO,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QAC/B,CAAC;QACD,GAAG,CAAC,MAAiB;YACnB,OAAO,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACzB,CAAC;KACF,CAAC;AACJ,CAAC,CAAC,EAAE,CAAC"}
1
+ {"version":3,"file":"definition-ref-registry.js","sourceRoot":"","sources":["../../src/references/definition-ref-registry.ts"],"names":[],"mappings":"AA+HA;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAI9B,CAAC,GAAG,EAAE;IACR,MAAM,GAAG,GAAG,IAAI,OAAO,EAAkC,CAAC;IAC1D,OAAO;QACL,GAAG,CAAC,MAAiB,EAAE,IAAuB;YAC5C,MAAM,QAAQ,GAAG,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACjC,IAAI,QAAQ,EAAE,CAAC;gBACb,IACE,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW,CAAC;oBACrD,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,EAClE,CAAC;oBACD,MAAM,IAAI,KAAK,CACb,2CAA2C,IAAI,CAAC,IAAI,eAAe,IAAI,CAAC,IAAI,CAAC,IAAI,iCAAiC;wBAChH,gGAAgG;wBAChG,yCAAyC,CAC5C,CAAC;gBACJ,CAAC;gBACD,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACtB,CAAC;iBAAM,CAAC;gBACN,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC;QACD,MAAM,CAAC,MAAiB;YACtB,OAAO,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QAC/B,CAAC;QACD,GAAG,CAAC,MAAiB;YACnB,OAAO,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACzB,CAAC;KACF,CAAC;AACJ,CAAC,CAAC,EAAE,CAAC"}
@@ -0,0 +1,51 @@
1
+ import type { z } from 'zod';
2
+ import type { DefinitionEntityType } from './types.js';
3
+ /**
4
+ * A lightweight reference to an expression parser registered in the
5
+ * `expressionParserSpec`.
6
+ *
7
+ * Used in schema definitions instead of importing the full parser class
8
+ * directly. The actual parser is resolved at runtime during schema+data
9
+ * walking via the plugin spec store.
10
+ *
11
+ * Phantom type parameters enforce slot requirements at compile time
12
+ * without requiring the parser implementation to be imported.
13
+ *
14
+ * @typeParam TValue - The type of the raw expression value (e.g., string)
15
+ * @typeParam TRequiredSlots - Record of required slot names to entity types
16
+ *
17
+ * @example
18
+ * ```typescript
19
+ * const authorizerExpressionRef = createExpressionParserRef<
20
+ * string,
21
+ * { model: typeof modelEntityType }
22
+ * >(
23
+ * 'authorizer-expression',
24
+ * () => z.string().min(1, 'Expression is required'),
25
+ * );
26
+ * ```
27
+ */
28
+ export interface ExpressionParserRef<TValue = unknown, TRequiredSlots extends Record<string, DefinitionEntityType> = Record<string, never>> {
29
+ /** Unique name matching the parser registered in expressionParserSpec */
30
+ readonly name: string;
31
+ /**
32
+ * Creates a fresh Zod schema instance for basic validation.
33
+ * Must return a new instance per call to avoid shared metadata conflicts
34
+ * when the same ref is used at multiple schema sites.
35
+ */
36
+ readonly createSchema: () => z.ZodType<TValue, TValue>;
37
+ /** @internal Phantom type for slot enforcement */
38
+ readonly _slots?: TRequiredSlots;
39
+ }
40
+ /**
41
+ * Creates a typed reference to an expression parser.
42
+ *
43
+ * The ref carries a parser name and a schema factory for basic value validation.
44
+ * The actual parser implementation is looked up from `expressionParserSpec`
45
+ * at runtime.
46
+ *
47
+ * @param name - Unique name matching the registered parser
48
+ * @param createSchema - Factory that returns a fresh Zod schema per call site
49
+ */
50
+ export declare function createExpressionParserRef<TValue, TRequiredSlots extends Record<string, DefinitionEntityType> = Record<string, never>>(name: string, createSchema: () => z.ZodType<TValue, TValue>): ExpressionParserRef<TValue, TRequiredSlots>;
51
+ //# sourceMappingURL=expression-parser-ref.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"expression-parser-ref.d.ts","sourceRoot":"","sources":["../../src/references/expression-parser-ref.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAE7B,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAEvD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,WAAW,mBAAmB,CAClC,MAAM,GAAG,OAAO,EAChB,cAAc,SAAS,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,GAAG,MAAM,CAClE,MAAM,EACN,KAAK,CACN;IAED,yEAAyE;IACzE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB;;;;OAIG;IACH,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACvD,kDAAkD;IAClD,QAAQ,CAAC,MAAM,CAAC,EAAE,cAAc,CAAC;CAClC;AAED;;;;;;;;;GASG;AACH,wBAAgB,yBAAyB,CACvC,MAAM,EACN,cAAc,SAAS,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,GAAG,MAAM,CAClE,MAAM,EACN,KAAK,CACN,EAED,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,GAC5C,mBAAmB,CAAC,MAAM,EAAE,cAAc,CAAC,CAE7C"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Creates a typed reference to an expression parser.
3
+ *
4
+ * The ref carries a parser name and a schema factory for basic value validation.
5
+ * The actual parser implementation is looked up from `expressionParserSpec`
6
+ * at runtime.
7
+ *
8
+ * @param name - Unique name matching the registered parser
9
+ * @param createSchema - Factory that returns a fresh Zod schema per call site
10
+ */
11
+ export function createExpressionParserRef(name, createSchema) {
12
+ return { name, createSchema };
13
+ }
14
+ //# sourceMappingURL=expression-parser-ref.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"expression-parser-ref.js","sourceRoot":"","sources":["../../src/references/expression-parser-ref.ts"],"names":[],"mappings":"AAgDA;;;;;;;;;GASG;AACH,MAAM,UAAU,yBAAyB,CAOvC,IAAY,EACZ,YAA6C;IAE7C,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;AAChC,CAAC"}
@@ -0,0 +1,29 @@
1
+ import type { RefExpressionParser } from './expression-types.js';
2
+ type AnyExpressionParser = RefExpressionParser<any, any, any>;
3
+ /**
4
+ * Plugin spec for registering expression parsers.
5
+ *
6
+ * Expression parsers handle parsing, validation, and rename detection
7
+ * for expression fields in the project definition (e.g., authorizer
8
+ * role expressions).
9
+ *
10
+ * Built-in parsers (authorizer expressions) are registered by core modules.
11
+ * Plugins can register additional parsers during initialization.
12
+ *
13
+ * @example
14
+ * ```typescript
15
+ * createPluginModule({
16
+ * dependencies: { expressionParsers: expressionParserSpec },
17
+ * initialize: ({ expressionParsers }) => {
18
+ * expressionParsers.parsers.set('my-expression', myParser);
19
+ * },
20
+ * });
21
+ * ```
22
+ */
23
+ export declare const expressionParserSpec: import("../index.js").PluginSpec<{
24
+ parsers: import("@baseplate-dev/utils").MapContainer<string, AnyExpressionParser>;
25
+ }, {
26
+ getParser: (name: string) => AnyExpressionParser | undefined;
27
+ }>;
28
+ export {};
29
+ //# sourceMappingURL=expression-parser-spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"expression-parser-spec.d.ts","sourceRoot":"","sources":["../../src/references/expression-parser-spec.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAGjE,KAAK,mBAAmB,GAAG,mBAAmB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AAE9D;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,oBAAoB;;;sBAOT,MAAM,KAAG,mBAAmB,GAAG,SAAS;EAI/D,CAAC"}
@@ -0,0 +1,29 @@
1
+ import { createFieldMapSpec } from '#src/plugins/utils/create-field-map-spec.js';
2
+ /**
3
+ * Plugin spec for registering expression parsers.
4
+ *
5
+ * Expression parsers handle parsing, validation, and rename detection
6
+ * for expression fields in the project definition (e.g., authorizer
7
+ * role expressions).
8
+ *
9
+ * Built-in parsers (authorizer expressions) are registered by core modules.
10
+ * Plugins can register additional parsers during initialization.
11
+ *
12
+ * @example
13
+ * ```typescript
14
+ * createPluginModule({
15
+ * dependencies: { expressionParsers: expressionParserSpec },
16
+ * initialize: ({ expressionParsers }) => {
17
+ * expressionParsers.parsers.set('my-expression', myParser);
18
+ * },
19
+ * });
20
+ * ```
21
+ */
22
+ export const expressionParserSpec = createFieldMapSpec('core/expression-parsers', (t) => ({
23
+ parsers: t.map(),
24
+ }), {
25
+ use: (values) => ({
26
+ getParser: (name) => values.parsers.get(name),
27
+ }),
28
+ });
29
+ //# sourceMappingURL=expression-parser-spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"expression-parser-spec.js","sourceRoot":"","sources":["../../src/references/expression-parser-spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,6CAA6C,CAAC;AAOjF;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,kBAAkB,CACpD,yBAAyB,EACzB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACN,OAAO,EAAE,CAAC,CAAC,GAAG,EAA+B;CAC9C,CAAC,EACF;IACE,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAChB,SAAS,EAAE,CAAC,IAAY,EAAmC,EAAE,CAC3D,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;KAC3B,CAAC;CACH,CACF,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import type { z } from 'zod';
2
2
  import type { PluginSpecStore } from '#src/plugins/index.js';
3
+ import type { ProjectDefinition } from '#src/schema/project-definition.js';
3
4
  import type { RefContextSlot } from './ref-context-slot.js';
4
5
  import type { DefinitionEntityType, ReferencePath } from './types.js';
5
6
  /**
@@ -8,8 +9,8 @@ import type { DefinitionEntityType, ReferencePath } from './types.js';
8
9
  * validating expressions against model fields, roles, etc.
9
10
  */
10
11
  export interface ExpressionValidationContext {
11
- /** The raw project definition data */
12
- readonly definition: unknown;
12
+ /** The project definition data */
13
+ readonly definition: ProjectDefinition;
13
14
  /** The plugin spec store for accessing plugin-registered configuration */
14
15
  readonly pluginStore: PluginSpecStore;
15
16
  }
@@ -48,9 +49,10 @@ export interface RefExpressionDependency {
48
49
  entityType: DefinitionEntityType;
49
50
  /** The ID of the entity being referenced */
50
51
  entityId: string;
51
- /** Position in the expression for rename updates */
52
- start?: number;
53
- end?: number;
52
+ /** Start position (inclusive) in the expression text to replace on rename */
53
+ start: number;
54
+ /** End position (exclusive) in the expression text to replace on rename */
55
+ end: number;
54
56
  }
55
57
  /**
56
58
  * Slot map type for expressions - maps slot keys to RefContextSlot instances.
@@ -88,8 +90,7 @@ export type ResolvedExpressionSlots<T extends Record<string, DefinitionEntityTyp
88
90
  * readonly name = 'stub';
89
91
  * parse(): undefined { return undefined; }
90
92
  * getWarnings(): [] { return []; }
91
- * getDependencies(): [] { return []; }
92
- * updateForRename(value: string): string { return value; }
93
+ * getReferencedEntities(): [] { return []; }
93
94
  * }
94
95
  *
95
96
  * // A parser that requires a model slot
@@ -117,10 +118,10 @@ export declare abstract class RefExpressionParser<TValue = unknown, TParseResult
117
118
  * The result is cached on the marker for subsequent operations.
118
119
  *
119
120
  * @param value - The raw expression value
120
- * @param projectDef - The project definition for context (typed as unknown to avoid circular reference)
121
+ * @param projectDef - The project definition for context
121
122
  * @returns Success with parsed value, or failure with error message
122
123
  */
123
- abstract parse(value: TValue, projectDef: unknown): RefExpressionParseResult<TParseResult>;
124
+ abstract parse(value: TValue, projectDef: ProjectDefinition): RefExpressionParseResult<TParseResult>;
124
125
  /**
125
126
  * Get validation warnings for a successfully parsed expression.
126
127
  * Only called when parse() succeeds. Parse failures are handled by validate().
@@ -132,23 +133,20 @@ export declare abstract class RefExpressionParser<TValue = unknown, TParseResult
132
133
  */
133
134
  abstract getWarnings(parseResult: TParseResult, context: ExpressionValidationContext, resolvedSlots: ResolvedExpressionSlots<TRequiredSlots>): RefExpressionWarning[];
134
135
  /**
135
- * Get entity/field dependencies from the expression.
136
- * Used for tracking what the expression references for rename handling.
136
+ * Get entity references from the expression with their positions.
137
137
  *
138
- * @param value - The raw expression value
139
- * @param parseResult - The cached parse result
140
- * @returns Array of dependencies
141
- */
142
- abstract getDependencies(value: TValue, parseResult: RefExpressionParseResult<TParseResult>): RefExpressionDependency[];
143
- /**
144
- * Update the expression when dependencies are renamed.
138
+ * Used by the generic rename system to detect and apply renames.
139
+ * Each returned dependency identifies an entity by ID and marks the
140
+ * position in the expression text that should be replaced with the
141
+ * entity's new name if it is renamed.
145
142
  *
146
143
  * @param value - The raw expression value
147
144
  * @param parseResult - The cached parse result
148
- * @param renames - Map of old entity ID to new name
149
- * @returns The updated expression value
145
+ * @param definition - The project definition
146
+ * @param resolvedSlots - The resolved slot paths for this expression
147
+ * @returns Array of entity references with positions for rename
150
148
  */
151
- abstract updateForRename(value: TValue, parseResult: RefExpressionParseResult<TParseResult>, renames: Map<string, string>): TValue;
149
+ abstract getReferencedEntities(value: TValue, parseResult: RefExpressionParseResult<TParseResult>, definition: ProjectDefinition, resolvedSlots: ResolvedExpressionSlots<TRequiredSlots>): RefExpressionDependency[];
152
150
  /**
153
151
  * Convenience method that combines parse() and getWarnings() into a single call.
154
152
  * Parses the expression and returns all validation warnings (including parse errors).
@@ -159,7 +157,7 @@ export declare abstract class RefExpressionParser<TValue = unknown, TParseResult
159
157
  * @param resolvedSlots - The resolved slot paths for this expression
160
158
  * @returns Array of warnings (empty if valid)
161
159
  */
162
- validate(value: TValue, projectDef: unknown, context: ExpressionValidationContext, resolvedSlots: ResolvedExpressionSlots<TRequiredSlots>): RefExpressionWarning[];
160
+ validate(value: TValue, projectDef: ProjectDefinition, context: ExpressionValidationContext, resolvedSlots: ResolvedExpressionSlots<TRequiredSlots>): RefExpressionWarning[];
163
161
  /**
164
162
  * Phantom property for TRequiredSlots type inference.
165
163
  * This is never actually used at runtime.
@@ -1 +1 @@
1
- {"version":3,"file":"expression-types.d.ts","sourceRoot":"","sources":["../../src/references/expression-types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"expression-types.d.ts","sourceRoot":"","sources":["../../src/references/expression-types.ts"],"names":[],"mappings":"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"}
@@ -20,8 +20,7 @@
20
20
  * readonly name = 'stub';
21
21
  * parse(): undefined { return undefined; }
22
22
  * getWarnings(): [] { return []; }
23
- * getDependencies(): [] { return []; }
24
- * updateForRename(value: string): string { return value; }
23
+ * getReferencedEntities(): [] { return []; }
25
24
  * }
26
25
  *
27
26
  * // A parser that requires a model slot
@@ -1 +1 @@
1
- {"version":3,"file":"expression-types.js","sourceRoot":"","sources":["../../src/references/expression-types.ts"],"names":[],"mappings":"AA6EA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,MAAM,OAAgB,mBAAmB;IAyEvC;;;;;;;;;OASG;IACH,QAAQ,CACN,KAAa,EACb,UAAmB,EACnB,OAAoC,EACpC,aAAsD;QAEtD,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;QAClD,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;YACzB,OAAO,CAAC,EAAE,OAAO,EAAE,WAAW,CAAC,KAAK,EAAE,CAAC,CAAC;QAC1C,CAAC;QACD,OAAO,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC;IACrE,CAAC;IAED;;;;OAIG;IACM,cAAc,CAAkB;CAC1C"}
1
+ {"version":3,"file":"expression-types.js","sourceRoot":"","sources":["../../src/references/expression-types.ts"],"names":[],"mappings":"AA+EA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,MAAM,OAAgB,mBAAmB;IAmEvC;;;;;;;;;OASG;IACH,QAAQ,CACN,KAAa,EACb,UAA6B,EAC7B,OAAoC,EACpC,aAAsD;QAEtD,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;QAClD,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;YACzB,OAAO,CAAC,EAAE,OAAO,EAAE,WAAW,CAAC,KAAK,EAAE,CAAC,CAAC;QAC1C,CAAC;QACD,OAAO,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC;IACrE,CAAC;IAED;;;;OAIG;IACM,cAAc,CAAkB;CAC1C"}
@@ -1,9 +1,12 @@
1
1
  import type { TuplePaths } from '@baseplate-dev/utils';
2
2
  import { z } from 'zod';
3
3
  import type { DefinitionEntityType } from '#src/index.js';
4
+ import type { PluginSpecStore } from '#src/plugins/index.js';
4
5
  import type { DefinitionEntityInput, DefinitionReferenceInput } from './definition-ref-builder.js';
5
- import type { ExpressionSlotMap, RefExpressionParser } from './expression-types.js';
6
+ import type { ExpressionParserRef } from './expression-parser-ref.js';
7
+ import type { ExpressionSlotMap } from './expression-types.js';
6
8
  import type { RefContextSlotDefinition, RefContextSlotMap } from './ref-context-slot.js';
9
+ import { RefExpressionParser } from './expression-types.js';
7
10
  type ZodTypeWithOptional<T extends z.ZodType> = T extends z.ZodOptional ? z.ZodOptional<z.ZodType<z.output<T>, z.input<T>>> : T extends z.ZodDefault ? z.ZodDefault<z.ZodType<z.output<T>, z.input<T>>> : T extends z.ZodPrefault ? z.ZodPrefault<z.ZodType<z.output<T>, z.input<T>>> : z.ZodType<z.output<T>, z.input<T>>;
8
11
  export type WithRefType = <TEntityType extends DefinitionEntityType>(reference: DefinitionReferenceInput<TEntityType>) => z.ZodType<string, string>;
9
12
  export type WithEntType = <TType extends z.ZodType, TEntityType extends DefinitionEntityType, TIdPath extends TuplePaths<z.output<TType>> | undefined = undefined>(schema: TType, entity: DefinitionEntityInput<z.output<TType>, TEntityType, TIdPath>) => ZodTypeWithOptional<TType>;
@@ -22,6 +25,8 @@ export type RefContextType = <TSlotDef extends RefContextSlotDefinition, TSchema
22
25
  export interface WithExpressionType {
23
26
  <TValue, TParseResult>(parser: RefExpressionParser<TValue, TParseResult>): z.ZodType<TValue, TValue>;
24
27
  <TValue, TParseResult, TRequiredSlots extends Record<string, DefinitionEntityType>>(parser: RefExpressionParser<TValue, TParseResult, TRequiredSlots>, slots: ExpressionSlotMap<TRequiredSlots>): z.ZodType<TValue, TValue>;
28
+ <TValue>(parserRef: ExpressionParserRef<TValue>): z.ZodType<TValue, TValue>;
29
+ <TValue, TRequiredSlots extends Record<string, DefinitionEntityType>>(parserRef: ExpressionParserRef<TValue, TRequiredSlots>, slots: ExpressionSlotMap<TRequiredSlots>): z.ZodType<TValue, TValue>;
25
30
  }
26
31
  /**
27
32
  * Creates a string schema annotated as a reference to another entity.
@@ -54,7 +59,7 @@ export declare function withRef<TEntityType extends DefinitionEntityType>(refere
54
59
  * @returns A function that decorates a schema with entity metadata
55
60
  */
56
61
  export declare function withEnt<TEntityType extends DefinitionEntityType>(entity: DefinitionEntityInput<unknown, TEntityType>): <TType extends z.ZodType>(schema: TType) => ZodTypeWithOptional<TType>;
57
- export declare function extendParserContextWithRefs(): {
62
+ export declare function extendParserContextWithRefs(plugins?: PluginSpecStore): {
58
63
  withRef: WithRefType;
59
64
  withEnt: WithEntType;
60
65
  refContext: RefContextType;
@@ -1 +1 @@
1
- {"version":3,"file":"extend-parser-context-with-refs.d.ts","sourceRoot":"","sources":["../../src/references/extend-parser-context-with-refs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"extend-parser-context-with-refs.d.ts","sourceRoot":"","sources":["../../src/references/extend-parser-context-with-refs.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,7 @@
1
1
  import { z } from 'zod';
2
2
  import { definitionRefRegistry } from './definition-ref-registry.js';
3
+ import { expressionParserSpec } from './expression-parser-spec.js';
4
+ import { RefExpressionParser } from './expression-types.js';
3
5
  import { createRefContextSlotMap } from './ref-context-slot.js';
4
6
  /**
5
7
  * Creates a string schema annotated as a reference to another entity.
@@ -51,6 +53,7 @@ export function withEnt(entity) {
51
53
  getNameResolver: entity.getNameResolver,
52
54
  parentSlot: entity.parentSlot,
53
55
  provides: entity.provides,
56
+ sortByName: entity.sortByName,
54
57
  });
55
58
  return schema;
56
59
  };
@@ -106,18 +109,45 @@ function refContext(slotDefinition, schemaBuilder) {
106
109
  * );
107
110
  * ```
108
111
  */
109
- function withExpression(parser, slots) {
110
- // createSchema() returns a fresh instance per call, allowing per-call
111
- // metadata to be registered without conflicting across call sites.
112
- const schema = parser.createSchema();
113
- definitionRefRegistry.add(schema, {
114
- kind: 'expression',
115
- parser,
116
- slots,
117
- });
118
- return schema;
112
+ /**
113
+ * Creates a `withExpression` function that resolves parser refs eagerly
114
+ * from the plugin spec store at schema construction time.
115
+ */
116
+ function createWithExpression(plugins) {
117
+ // Implementation
118
+ function withExpression(parserOrRef,
119
+ // oxlint-disable-next-line typescript/no-explicit-any
120
+ slots) {
121
+ // oxlint-disable-next-line typescript/no-explicit-any
122
+ let parser;
123
+ if (parserOrRef instanceof RefExpressionParser) {
124
+ parser = parserOrRef;
125
+ }
126
+ else {
127
+ // Resolve parser ref from plugin spec store
128
+ if (!plugins) {
129
+ throw new Error(`PluginSpecStore is required to resolve expression parser ref "${parserOrRef.name}". ` +
130
+ `Ensure plugins are provided to createDefinitionSchemaParserContext.`);
131
+ }
132
+ const specUse = plugins.use(expressionParserSpec);
133
+ const resolved = specUse.getParser(parserOrRef.name);
134
+ if (!resolved) {
135
+ throw new Error(`Expression parser "${parserOrRef.name}" not found in expressionParserSpec. ` +
136
+ `Ensure it is registered via a core module or plugin.`);
137
+ }
138
+ parser = resolved;
139
+ }
140
+ const schema = parser.createSchema();
141
+ definitionRefRegistry.add(schema, {
142
+ kind: 'expression',
143
+ parser,
144
+ slots,
145
+ });
146
+ return schema;
147
+ }
148
+ return withExpression;
119
149
  }
120
- export function extendParserContextWithRefs() {
150
+ export function extendParserContextWithRefs(plugins) {
121
151
  return {
122
152
  withRef,
123
153
  // Legacy 2-arg API that delegates to the standalone withEnt decorator.
@@ -127,7 +157,7 @@ export function extendParserContextWithRefs() {
127
157
  return schema.apply(withEnt(entity));
128
158
  },
129
159
  refContext,
130
- withExpression,
160
+ withExpression: createWithExpression(plugins),
131
161
  };
132
162
  }
133
163
  //# sourceMappingURL=extend-parser-context-with-refs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"extend-parser-context-with-refs.js","sourceRoot":"","sources":["../../src/references/extend-parser-context-with-refs.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAkBxB,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AA2DhE;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,OAAO,CACrB,SAAgD;IAEhD,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACjC,qBAAqB,CAAC,GAAG,CAAC,MAAM,EAAE;QAChC,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,SAAS,CAAC,IAAI;QACpB,QAAQ,EAAE,SAAS,CAAC,QAAQ;QAC5B,UAAU,EAAE,SAAS,CAAC,UAAU;QAChC,QAAQ,EAAE,SAAS,CAAC,QAAQ;KAC7B,CAAC,CAAC;IACH,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,OAAO,CACrB,MAAmD;IAEnD,OAAO,CACL,MAAa,EACe,EAAE;QAC9B,MAAM,MAAM,GAAI,MAAM,CAAC,MAA0C,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5E,qBAAqB,CAAC,GAAG,CAAC,MAAM,EAAE;YAChC,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,MAAM;YACN,eAAe,EAAE,MAAM,CAAC,eAGJ;YACpB,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,QAAQ,EAAE,MAAM,CAAC,QAAQ;SAC1B,CAAC,CAAC;QACH,OAAO,MAA+C,CAAC;IACzD,CAAC,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,SAAS,UAAU,CAIjB,cAAwB,EACxB,aAA8D;IAE9D,MAAM,KAAK,GAAG,uBAAuB,CAAC,cAAc,CAAC,CAAC;IACtD,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;IACpC,qBAAqB,CAAC,GAAG,CAAC,MAAM,EAAE;QAChC,IAAI,EAAE,aAAa;QACnB,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAqB;KAChD,CAAC,CAAC;IACH,OAAO,MAAiD,CAAC;AAC3D,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,SAAS,cAAc,CAKrB,MAAiE,EACjE,KAAyC;IAEzC,sEAAsE;IACtE,mEAAmE;IACnE,MAAM,MAAM,GAAG,MAAM,CAAC,YAAY,EAA+B,CAAC;IAElE,qBAAqB,CAAC,GAAG,CAAC,MAAM,EAAE;QAChC,IAAI,EAAE,YAAY;QAElB,MAAM;QACN,KAAK;KACN,CAAC,CAAC;IACH,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,2BAA2B;IAMzC,OAAO;QACL,OAAO;QACP,uEAAuE;QACvE,iFAAiF;QACjF,8EAA8E;QAC9E,OAAO,CAKL,MAAa,EACb,MAAoE;YAEpE,OAAO,MAAM,CAAC,KAAK,CACjB,OAAO,CAAC,MAAqD,CAAC,CAC/D,CAAC;QACJ,CAAC;QACD,UAAU;QACV,cAAc;KACf,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"extend-parser-context-with-refs.js","sourceRoot":"","sources":["../../src/references/extend-parser-context-with-refs.ts"],"names":[],"mappings":"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"}
@@ -79,7 +79,7 @@ export function extractDefinitionRefs(schema, value) {
79
79
  }
80
80
  },
81
81
  });
82
- // Expression collector: records expression annotations
82
+ // Expression collector: records expression annotations (direct parsers)
83
83
  const expressionCollector = createRefSchemaCollector({
84
84
  kind: 'expression',
85
85
  visit(meta, data, context) {
@@ -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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"}
@@ -0,0 +1,22 @@
1
+ import type { z } from 'zod';
2
+ import type { FixRefDeletionResult } from './fix-ref-deletions.js';
3
+ import type { ResolvedZodRefPayload } from './types.js';
4
+ export interface FixDefinitionRefsOptions {
5
+ /** Ref payload from the previous definition version, for detecting expression renames. */
6
+ oldRefPayload?: ResolvedZodRefPayload<unknown>;
7
+ }
8
+ /**
9
+ * Fixes expression renames and dangling references in a single pass.
10
+ *
11
+ * Expression renames use the OLD definition (via `oldRefPayload`) to resolve
12
+ * entity references — expressions still contain old names like `model.title`,
13
+ * which can only be resolved against the definition where those names exist.
14
+ * The new entity names are then used to detect what was renamed.
15
+ *
16
+ * @param schema - The project definition Zod schema
17
+ * @param value - The definition after auto-fixes
18
+ * @param options - Optional old ref payload for rename detection
19
+ * @returns The fixed definition with ref payload
20
+ */
21
+ export declare function fixDefinitionRefs<T extends z.ZodType>(schema: T, value: unknown, options?: FixDefinitionRefsOptions): FixRefDeletionResult<z.output<T>>;
22
+ //# sourceMappingURL=fix-definition-refs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fix-definition-refs.d.ts","sourceRoot":"","sources":["../../src/references/fix-definition-refs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAE7B,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACnE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAMxD,MAAM,WAAW,wBAAwB;IACvC,0FAA0F;IAC1F,aAAa,CAAC,EAAE,qBAAqB,CAAC,OAAO,CAAC,CAAC;CAChD;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EACnD,MAAM,EAAE,CAAC,EACT,KAAK,EAAE,OAAO,EACd,OAAO,CAAC,EAAE,wBAAwB,GACjC,oBAAoB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAkBnC"}
@@ -0,0 +1,29 @@
1
+ import { applyExpressionRenames } from './fix-expression-renames.js';
2
+ import { fixRefDeletions } from './fix-ref-deletions.js';
3
+ import { parseSchemaWithTransformedReferences } from './parse-schema-with-references.js';
4
+ /**
5
+ * Fixes expression renames and dangling references in a single pass.
6
+ *
7
+ * Expression renames use the OLD definition (via `oldRefPayload`) to resolve
8
+ * entity references — expressions still contain old names like `model.title`,
9
+ * which can only be resolved against the definition where those names exist.
10
+ * The new entity names are then used to detect what was renamed.
11
+ *
12
+ * @param schema - The project definition Zod schema
13
+ * @param value - The definition after auto-fixes
14
+ * @param options - Optional old ref payload for rename detection
15
+ * @returns The fixed definition with ref payload
16
+ */
17
+ export function fixDefinitionRefs(schema, value, options) {
18
+ if (!options?.oldRefPayload) {
19
+ return fixRefDeletions(schema, value);
20
+ }
21
+ // Parse the new definition to get new entities (for rename comparison)
22
+ const newRefPayload = parseSchemaWithTransformedReferences(schema, value, {
23
+ allowInvalidReferences: true,
24
+ });
25
+ const { value: renamedValue, modified } = applyExpressionRenames(newRefPayload.data, newRefPayload.entities, options.oldRefPayload);
26
+ // Run fixRefDeletions on the (possibly renamed) definition
27
+ return fixRefDeletions(schema, modified ? renamedValue : newRefPayload.data);
28
+ }
29
+ //# sourceMappingURL=fix-definition-refs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fix-definition-refs.js","sourceRoot":"","sources":["../../src/references/fix-definition-refs.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,oCAAoC,EAAE,MAAM,mCAAmC,CAAC;AAOzF;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,iBAAiB,CAC/B,MAAS,EACT,KAAc,EACd,OAAkC;IAElC,IAAI,CAAC,OAAO,EAAE,aAAa,EAAE,CAAC;QAC5B,OAAO,eAAe,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACxC,CAAC;IAED,uEAAuE;IACvE,MAAM,aAAa,GAAG,oCAAoC,CAAC,MAAM,EAAE,KAAK,EAAE;QACxE,sBAAsB,EAAE,IAAI;KAC7B,CAAC,CAAC;IAEH,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,GAAG,sBAAsB,CAC9D,aAAa,CAAC,IAAI,EAClB,aAAa,CAAC,QAAQ,EACtB,OAAO,CAAC,aAAa,CACtB,CAAC;IAEF,2DAA2D;IAC3D,OAAO,eAAe,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;AAC/E,CAAC"}
@@ -0,0 +1,20 @@
1
+ import type { DefinitionEntity, ResolvedZodRefPayload } from './types.js';
2
+ export interface ApplyExpressionRenamesResult<T> {
3
+ value: T;
4
+ modified: boolean;
5
+ }
6
+ /**
7
+ * Detects renamed entities and updates expression strings accordingly.
8
+ *
9
+ * Uses the OLD definition/refPayload to resolve entity references (since
10
+ * expressions still contain old names like `model.title`), then compares
11
+ * old vs new entity names to detect renames and apply position-based
12
+ * string replacements on the NEW definition.
13
+ *
14
+ * @param newDefinition - The new definition value (where expressions will be updated)
15
+ * @param newEntities - Entities from the new definition (with new names)
16
+ * @param oldRefPayload - The ref payload from the old definition (has old expressions, entities, and definition)
17
+ * @returns The (possibly modified) definition and whether any renames were applied
18
+ */
19
+ export declare function applyExpressionRenames<T>(newDefinition: T, newEntities: readonly DefinitionEntity[], oldRefPayload: ResolvedZodRefPayload<unknown>): ApplyExpressionRenamesResult<T>;
20
+ //# sourceMappingURL=fix-expression-renames.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fix-expression-renames.d.ts","sourceRoot":"","sources":["../../src/references/fix-expression-renames.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,gBAAgB,EAEhB,qBAAqB,EACtB,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,4BAA4B,CAAC,CAAC;IAC7C,KAAK,EAAE,CAAC,CAAC;IACT,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,sBAAsB,CAAC,CAAC,EACtC,aAAa,EAAE,CAAC,EAChB,WAAW,EAAE,SAAS,gBAAgB,EAAE,EACxC,aAAa,EAAE,qBAAqB,CAAC,OAAO,CAAC,GAC5C,4BAA4B,CAAC,CAAC,CAAC,CA8FjC"}