@baseplate-dev/project-builder-lib 0.5.0 → 0.5.2

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 (356) hide show
  1. package/CHANGELOG.md +464 -0
  2. package/dist/compiler/admin-crud-action-compiler.d.ts +18 -0
  3. package/dist/compiler/admin-crud-action-compiler.d.ts.map +1 -0
  4. package/dist/compiler/admin-crud-action-compiler.js +6 -0
  5. package/dist/compiler/admin-crud-action-compiler.js.map +1 -0
  6. package/dist/compiler/admin-crud-column-compiler-spec.d.ts +6 -12
  7. package/dist/compiler/admin-crud-column-compiler-spec.d.ts.map +1 -1
  8. package/dist/compiler/admin-crud-column-compiler-spec.js +6 -29
  9. package/dist/compiler/admin-crud-column-compiler-spec.js.map +1 -1
  10. package/dist/compiler/admin-crud-input-spec.d.ts +6 -11
  11. package/dist/compiler/admin-crud-input-spec.d.ts.map +1 -1
  12. package/dist/compiler/admin-crud-input-spec.js +6 -26
  13. package/dist/compiler/admin-crud-input-spec.js.map +1 -1
  14. package/dist/compiler/app-compiler-spec.d.ts +8 -12
  15. package/dist/compiler/app-compiler-spec.d.ts.map +1 -1
  16. package/dist/compiler/app-compiler-spec.js +11 -18
  17. package/dist/compiler/app-compiler-spec.js.map +1 -1
  18. package/dist/compiler/index.d.ts +1 -1
  19. package/dist/compiler/index.d.ts.map +1 -1
  20. package/dist/compiler/index.js +1 -1
  21. package/dist/compiler/index.js.map +1 -1
  22. package/dist/compiler/model-transformer-compiler-spec.d.ts +6 -11
  23. package/dist/compiler/model-transformer-compiler-spec.d.ts.map +1 -1
  24. package/dist/compiler/model-transformer-compiler-spec.js +6 -26
  25. package/dist/compiler/model-transformer-compiler-spec.js.map +1 -1
  26. package/dist/definition/model/model-field-utils.js +4 -4
  27. package/dist/definition/model/model-field-utils.js.map +1 -1
  28. package/dist/definition/model/model-transformer-utils.d.ts +4 -6
  29. package/dist/definition/model/model-transformer-utils.d.ts.map +1 -1
  30. package/dist/definition/model/model-transformer-utils.js +8 -10
  31. package/dist/definition/model/model-transformer-utils.js.map +1 -1
  32. package/dist/definition/model/model-utils.js +3 -3
  33. package/dist/definition/model/model-utils.js.map +1 -1
  34. package/dist/definition/packages/package-utils.d.ts +11 -9
  35. package/dist/definition/packages/package-utils.d.ts.map +1 -1
  36. package/dist/definition/packages/package-utils.js +22 -11
  37. package/dist/definition/packages/package-utils.js.map +1 -1
  38. package/dist/definition/plugins/plugin-utils.d.ts.map +1 -1
  39. package/dist/definition/plugins/plugin-utils.js +2 -2
  40. package/dist/definition/plugins/plugin-utils.js.map +1 -1
  41. package/dist/definition/project-definition-container.d.ts +3 -3
  42. package/dist/definition/project-definition-container.d.ts.map +1 -1
  43. package/dist/definition/project-definition-container.js +2 -2
  44. package/dist/definition/project-definition-container.js.map +1 -1
  45. package/dist/definition/project-definition-container.test-utils.d.ts.map +1 -1
  46. package/dist/definition/project-definition-container.test-utils.js +8 -5
  47. package/dist/definition/project-definition-container.test-utils.js.map +1 -1
  48. package/dist/index.d.ts +1 -0
  49. package/dist/index.js +1 -0
  50. package/dist/migrations/index.d.ts.map +1 -1
  51. package/dist/migrations/index.js +5 -1
  52. package/dist/migrations/index.js.map +1 -1
  53. package/dist/migrations/migration-007-model-graphql.js +1 -1
  54. package/dist/migrations/migration-007-model-graphql.js.map +1 -1
  55. package/dist/migrations/migration-020-move-redis-to-infrastructure.js +1 -1
  56. package/dist/migrations/migration-020-move-redis-to-infrastructure.js.map +1 -1
  57. package/dist/migrations/migration-021-migrate-bullmq-to-plugin.js +1 -1
  58. package/dist/migrations/migration-021-migrate-bullmq-to-plugin.js.map +1 -1
  59. package/dist/migrations/migration-022-rename-packages-to-libraries.d.ts +37 -0
  60. package/dist/migrations/migration-022-rename-packages-to-libraries.d.ts.map +1 -0
  61. package/dist/migrations/migration-022-rename-packages-to-libraries.js +45 -0
  62. package/dist/migrations/migration-022-rename-packages-to-libraries.js.map +1 -0
  63. package/dist/migrations/migration-023-assign-app-ports.d.ts +34 -0
  64. package/dist/migrations/migration-023-assign-app-ports.d.ts.map +1 -0
  65. package/dist/migrations/migration-023-assign-app-ports.js +49 -0
  66. package/dist/migrations/migration-023-assign-app-ports.js.map +1 -0
  67. package/dist/parser/parser.d.ts +4 -4
  68. package/dist/parser/parser.d.ts.map +1 -1
  69. package/dist/parser/parser.js +17 -42
  70. package/dist/parser/parser.js.map +1 -1
  71. package/dist/plugins/context/index.d.ts +2 -0
  72. package/dist/plugins/context/index.d.ts.map +1 -0
  73. package/dist/plugins/context/index.js +2 -0
  74. package/dist/plugins/context/index.js.map +1 -0
  75. package/dist/plugins/context/plugin-context.d.ts +30 -0
  76. package/dist/plugins/context/plugin-context.d.ts.map +1 -0
  77. package/dist/plugins/context/plugin-context.js +38 -0
  78. package/dist/plugins/context/plugin-context.js.map +1 -0
  79. package/dist/plugins/imports/loader.d.ts +11 -20
  80. package/dist/plugins/imports/loader.d.ts.map +1 -1
  81. package/dist/plugins/imports/loader.js +28 -69
  82. package/dist/plugins/imports/loader.js.map +1 -1
  83. package/dist/plugins/imports/types.d.ts +72 -13
  84. package/dist/plugins/imports/types.d.ts.map +1 -1
  85. package/dist/plugins/imports/types.js +17 -1
  86. package/dist/plugins/imports/types.js.map +1 -1
  87. package/dist/plugins/index.d.ts +3 -1
  88. package/dist/plugins/index.d.ts.map +1 -1
  89. package/dist/plugins/index.js +3 -1
  90. package/dist/plugins/index.js.map +1 -1
  91. package/dist/plugins/migrations/run-migrations.d.ts +2 -2
  92. package/dist/plugins/migrations/run-migrations.d.ts.map +1 -1
  93. package/dist/plugins/migrations/run-migrations.js +2 -2
  94. package/dist/plugins/migrations/run-migrations.js.map +1 -1
  95. package/dist/plugins/spec/auth-config-spec.d.ts +13 -9
  96. package/dist/plugins/spec/auth-config-spec.d.ts.map +1 -1
  97. package/dist/plugins/spec/auth-config-spec.js +16 -3
  98. package/dist/plugins/spec/auth-config-spec.js.map +1 -1
  99. package/dist/plugins/spec/auth-models-spec.d.ts +16 -0
  100. package/dist/plugins/spec/auth-models-spec.d.ts.map +1 -0
  101. package/dist/plugins/spec/auth-models-spec.js +16 -0
  102. package/dist/plugins/spec/auth-models-spec.js.map +1 -0
  103. package/dist/plugins/spec/config-spec.d.ts +8 -13
  104. package/dist/plugins/spec/config-spec.d.ts.map +1 -1
  105. package/dist/plugins/spec/config-spec.js +21 -36
  106. package/dist/plugins/spec/config-spec.js.map +1 -1
  107. package/dist/plugins/spec/index.d.ts +1 -1
  108. package/dist/plugins/spec/index.d.ts.map +1 -1
  109. package/dist/plugins/spec/index.js +1 -1
  110. package/dist/plugins/spec/index.js.map +1 -1
  111. package/dist/plugins/spec/types.d.ts +66 -25
  112. package/dist/plugins/spec/types.d.ts.map +1 -1
  113. package/dist/plugins/spec/types.js +27 -10
  114. package/dist/plugins/spec/types.js.map +1 -1
  115. package/dist/plugins/spec/web-config-spec.d.ts +7 -10
  116. package/dist/plugins/spec/web-config-spec.d.ts.map +1 -1
  117. package/dist/plugins/spec/web-config-spec.js +6 -19
  118. package/dist/plugins/spec/web-config-spec.js.map +1 -1
  119. package/dist/plugins/store/index.d.ts.map +1 -0
  120. package/dist/plugins/store/index.js.map +1 -0
  121. package/dist/plugins/store/store.d.ts +23 -0
  122. package/dist/plugins/store/store.d.ts.map +1 -0
  123. package/dist/plugins/store/store.js +36 -0
  124. package/dist/plugins/store/store.js.map +1 -0
  125. package/dist/plugins/utils/create-field-map-spec.d.ts +17 -0
  126. package/dist/plugins/utils/create-field-map-spec.d.ts.map +1 -0
  127. package/dist/plugins/utils/create-field-map-spec.js +27 -0
  128. package/dist/plugins/utils/create-field-map-spec.js.map +1 -0
  129. package/dist/plugins/utils/create-plugin-field-map.d.ts +24 -0
  130. package/dist/plugins/utils/create-plugin-field-map.d.ts.map +1 -0
  131. package/dist/plugins/utils/create-plugin-field-map.js +29 -0
  132. package/dist/plugins/utils/create-plugin-field-map.js.map +1 -0
  133. package/dist/plugins/utils/index.d.ts +3 -0
  134. package/dist/plugins/utils/index.d.ts.map +1 -0
  135. package/dist/plugins/utils/index.js +3 -0
  136. package/dist/plugins/utils/index.js.map +1 -0
  137. package/dist/references/collect-refs.d.ts +5 -1
  138. package/dist/references/collect-refs.d.ts.map +1 -1
  139. package/dist/references/collect-refs.js +20 -1
  140. package/dist/references/collect-refs.js.map +1 -1
  141. package/dist/references/definition-ref-builder.d.ts.map +1 -1
  142. package/dist/references/expression-types.d.ts +152 -0
  143. package/dist/references/expression-types.d.ts.map +1 -0
  144. package/dist/references/expression-types.js +46 -0
  145. package/dist/references/expression-types.js.map +1 -0
  146. package/dist/references/extend-parser-context-with-refs.d.ts +13 -0
  147. package/dist/references/extend-parser-context-with-refs.d.ts.map +1 -1
  148. package/dist/references/extend-parser-context-with-refs.js +39 -1
  149. package/dist/references/extend-parser-context-with-refs.js.map +1 -1
  150. package/dist/references/extract-definition-refs.d.ts +6 -3
  151. package/dist/references/extract-definition-refs.d.ts.map +1 -1
  152. package/dist/references/extract-definition-refs.js +25 -4
  153. package/dist/references/extract-definition-refs.js.map +1 -1
  154. package/dist/references/index.d.ts +1 -0
  155. package/dist/references/index.d.ts.map +1 -1
  156. package/dist/references/index.js +1 -0
  157. package/dist/references/index.js.map +1 -1
  158. package/dist/references/markers.d.ts +23 -0
  159. package/dist/references/markers.d.ts.map +1 -1
  160. package/dist/references/markers.js +16 -0
  161. package/dist/references/markers.js.map +1 -1
  162. package/dist/references/resolve-zod-ref-payload-names.d.ts.map +1 -1
  163. package/dist/references/resolve-zod-ref-payload-names.js +1 -0
  164. package/dist/references/resolve-zod-ref-payload-names.js.map +1 -1
  165. package/dist/references/strip-ref-markers.d.ts +3 -3
  166. package/dist/references/strip-ref-markers.d.ts.map +1 -1
  167. package/dist/references/strip-ref-markers.js +7 -4
  168. package/dist/references/strip-ref-markers.js.map +1 -1
  169. package/dist/references/types.d.ts +5 -0
  170. package/dist/references/types.d.ts.map +1 -1
  171. package/dist/references/types.js.map +1 -1
  172. package/dist/schema/apps/backend/index.d.ts +2 -2
  173. package/dist/schema/apps/backend/index.js +1 -1
  174. package/dist/schema/apps/backend/index.js.map +1 -1
  175. package/dist/schema/apps/base.d.ts +2 -0
  176. package/dist/schema/apps/base.d.ts.map +1 -1
  177. package/dist/schema/apps/base.js +1 -0
  178. package/dist/schema/apps/base.js.map +1 -1
  179. package/dist/schema/apps/web/admin/sections/crud-actions/admin-action-spec.d.ts +6 -13
  180. package/dist/schema/apps/web/admin/sections/crud-actions/admin-action-spec.d.ts.map +1 -1
  181. package/dist/schema/apps/web/admin/sections/crud-actions/admin-action-spec.js +5 -26
  182. package/dist/schema/apps/web/admin/sections/crud-actions/admin-action-spec.js.map +1 -1
  183. package/dist/schema/apps/web/admin/sections/crud-actions/admin-crud-action.d.ts.map +1 -1
  184. package/dist/schema/apps/web/admin/sections/crud-actions/admin-crud-action.js +1 -3
  185. package/dist/schema/apps/web/admin/sections/crud-actions/admin-crud-action.js.map +1 -1
  186. package/dist/schema/apps/web/admin/sections/crud-actions/types.d.ts.map +1 -1
  187. package/dist/schema/apps/web/admin/sections/crud-columns/admin-column-spec.d.ts +6 -12
  188. package/dist/schema/apps/web/admin/sections/crud-columns/admin-column-spec.d.ts.map +1 -1
  189. package/dist/schema/apps/web/admin/sections/crud-columns/admin-column-spec.js +5 -26
  190. package/dist/schema/apps/web/admin/sections/crud-columns/admin-column-spec.js.map +1 -1
  191. package/dist/schema/apps/web/admin/sections/crud-columns/admin-crud-column.d.ts.map +1 -1
  192. package/dist/schema/apps/web/admin/sections/crud-columns/admin-crud-column.js +1 -3
  193. package/dist/schema/apps/web/admin/sections/crud-columns/admin-crud-column.js.map +1 -1
  194. package/dist/schema/apps/web/admin/sections/crud-form/admin-crud-input.d.ts.map +1 -1
  195. package/dist/schema/apps/web/admin/sections/crud-form/admin-crud-input.js +1 -3
  196. package/dist/schema/apps/web/admin/sections/crud-form/admin-crud-input.js.map +1 -1
  197. package/dist/schema/apps/web/admin/sections/crud-form/admin-input-spec.d.ts +7 -13
  198. package/dist/schema/apps/web/admin/sections/crud-form/admin-input-spec.d.ts.map +1 -1
  199. package/dist/schema/apps/web/admin/sections/crud-form/admin-input-spec.js +5 -26
  200. package/dist/schema/apps/web/admin/sections/crud-form/admin-input-spec.js.map +1 -1
  201. package/dist/schema/apps/web/web-app.d.ts +2 -0
  202. package/dist/schema/apps/web/web-app.d.ts.map +1 -1
  203. package/dist/schema/apps/web/web-app.js +1 -0
  204. package/dist/schema/apps/web/web-app.js.map +1 -1
  205. package/dist/schema/creator/types.d.ts +9 -4
  206. package/dist/schema/creator/types.d.ts.map +1 -1
  207. package/dist/schema/index.d.ts +1 -1
  208. package/dist/schema/index.d.ts.map +1 -1
  209. package/dist/schema/index.js +1 -1
  210. package/dist/schema/index.js.map +1 -1
  211. package/dist/schema/{packages → libraries}/base.d.ts +3 -3
  212. package/dist/schema/libraries/base.d.ts.map +1 -0
  213. package/dist/schema/libraries/base.js +10 -0
  214. package/dist/schema/libraries/base.js.map +1 -0
  215. package/dist/schema/libraries/index.d.ts +3 -0
  216. package/dist/schema/libraries/index.d.ts.map +1 -0
  217. package/dist/schema/libraries/index.js +3 -0
  218. package/dist/schema/libraries/index.js.map +1 -0
  219. package/dist/schema/libraries/library.d.ts +19 -0
  220. package/dist/schema/libraries/library.d.ts.map +1 -0
  221. package/dist/schema/libraries/library.js +13 -0
  222. package/dist/schema/libraries/library.js.map +1 -0
  223. package/dist/schema/libraries/types.d.ts +2 -0
  224. package/dist/schema/libraries/types.d.ts.map +1 -0
  225. package/dist/schema/libraries/types.js +3 -0
  226. package/dist/schema/libraries/types.js.map +1 -0
  227. package/dist/schema/models/authorizer/authorizer-expression-acorn-parser.d.ts +30 -0
  228. package/dist/schema/models/authorizer/authorizer-expression-acorn-parser.d.ts.map +1 -0
  229. package/dist/schema/models/authorizer/authorizer-expression-acorn-parser.js +291 -0
  230. package/dist/schema/models/authorizer/authorizer-expression-acorn-parser.js.map +1 -0
  231. package/dist/schema/models/authorizer/authorizer-expression-ast.d.ts +159 -0
  232. package/dist/schema/models/authorizer/authorizer-expression-ast.d.ts.map +1 -0
  233. package/dist/schema/models/authorizer/authorizer-expression-ast.js +31 -0
  234. package/dist/schema/models/authorizer/authorizer-expression-ast.js.map +1 -0
  235. package/dist/schema/models/authorizer/authorizer-expression-parser.d.ts +77 -0
  236. package/dist/schema/models/authorizer/authorizer-expression-parser.d.ts.map +1 -0
  237. package/dist/schema/models/authorizer/authorizer-expression-parser.js +147 -0
  238. package/dist/schema/models/authorizer/authorizer-expression-parser.js.map +1 -0
  239. package/dist/schema/models/authorizer/authorizer-expression-validator.d.ts +51 -0
  240. package/dist/schema/models/authorizer/authorizer-expression-validator.d.ts.map +1 -0
  241. package/dist/schema/models/authorizer/authorizer-expression-validator.js +125 -0
  242. package/dist/schema/models/authorizer/authorizer-expression-validator.js.map +1 -0
  243. package/dist/schema/models/authorizer/authorizer.d.ts +59 -0
  244. package/dist/schema/models/authorizer/authorizer.d.ts.map +1 -0
  245. package/dist/schema/models/authorizer/authorizer.js +56 -0
  246. package/dist/schema/models/authorizer/authorizer.js.map +1 -0
  247. package/dist/schema/models/authorizer/index.d.ts +7 -0
  248. package/dist/schema/models/authorizer/index.d.ts.map +1 -0
  249. package/dist/schema/models/authorizer/index.js +7 -0
  250. package/dist/schema/models/authorizer/index.js.map +1 -0
  251. package/dist/schema/models/authorizer/types.d.ts +6 -0
  252. package/dist/schema/models/authorizer/types.d.ts.map +1 -0
  253. package/dist/schema/models/authorizer/types.js +8 -0
  254. package/dist/schema/models/authorizer/types.js.map +1 -0
  255. package/dist/schema/models/index.d.ts +2 -860
  256. package/dist/schema/models/index.d.ts.map +1 -1
  257. package/dist/schema/models/index.js +2 -222
  258. package/dist/schema/models/index.js.map +1 -1
  259. package/dist/schema/models/models.d.ts +914 -0
  260. package/dist/schema/models/models.d.ts.map +1 -0
  261. package/dist/schema/models/models.js +225 -0
  262. package/dist/schema/models/models.js.map +1 -0
  263. package/dist/schema/models/transformers/model-transformer-spec.d.ts +5 -11
  264. package/dist/schema/models/transformers/model-transformer-spec.d.ts.map +1 -1
  265. package/dist/schema/models/transformers/model-transformer-spec.js +5 -30
  266. package/dist/schema/models/transformers/model-transformer-spec.js.map +1 -1
  267. package/dist/schema/models/transformers/transformers.d.ts.map +1 -1
  268. package/dist/schema/models/transformers/transformers.js +2 -4
  269. package/dist/schema/models/transformers/transformers.js.map +1 -1
  270. package/dist/schema/plugins/definition.js +1 -1
  271. package/dist/schema/plugins/definition.js.map +1 -1
  272. package/dist/schema/project-definition.d.ts +52 -34
  273. package/dist/schema/project-definition.d.ts.map +1 -1
  274. package/dist/schema/project-definition.js +2 -10
  275. package/dist/schema/project-definition.js.map +1 -1
  276. package/dist/schema/settings/monorepo.d.ts +2 -2
  277. package/dist/schema/settings/monorepo.js +8 -8
  278. package/dist/schema/settings/monorepo.js.map +1 -1
  279. package/dist/schema/settings/settings.d.ts +3 -3
  280. package/dist/schema/settings/theme.d.ts +3 -3
  281. package/dist/specs/index.d.ts +2 -0
  282. package/dist/specs/index.d.ts.map +1 -0
  283. package/dist/specs/index.js +2 -0
  284. package/dist/specs/index.js.map +1 -0
  285. package/dist/specs/packages/index.d.ts +3 -0
  286. package/dist/specs/packages/index.d.ts.map +1 -0
  287. package/dist/specs/packages/index.js +3 -0
  288. package/dist/specs/packages/index.js.map +1 -0
  289. package/dist/specs/packages/library-type-spec.d.ts +76 -0
  290. package/dist/specs/packages/library-type-spec.d.ts.map +1 -0
  291. package/dist/specs/packages/library-type-spec.js +31 -0
  292. package/dist/specs/packages/library-type-spec.js.map +1 -0
  293. package/dist/specs/packages/package-compiler-types.d.ts +111 -0
  294. package/dist/specs/packages/package-compiler-types.d.ts.map +1 -0
  295. package/dist/specs/packages/package-compiler-types.js +85 -0
  296. package/dist/specs/packages/package-compiler-types.js.map +1 -0
  297. package/dist/tools/model-merger/model-merger.js +1 -1
  298. package/dist/tools/model-merger/model-merger.js.map +1 -1
  299. package/dist/utils/color-conversions.js +1 -1
  300. package/dist/utils/color-conversions.js.map +1 -1
  301. package/dist/web/components/feature-combobox-field.d.ts.map +1 -1
  302. package/dist/web/components/feature-combobox-field.js +1 -1
  303. package/dist/web/components/feature-combobox-field.js.map +1 -1
  304. package/dist/web/components/model-combobox-field.d.ts.map +1 -1
  305. package/dist/web/components/model-combobox-field.js +1 -1
  306. package/dist/web/components/model-combobox-field.js.map +1 -1
  307. package/dist/web/hooks/use-project-definition.d.ts +2 -2
  308. package/dist/web/hooks/use-project-definition.d.ts.map +1 -1
  309. package/dist/web/specs/admin-crud-action-web-spec.d.ts +6 -12
  310. package/dist/web/specs/admin-crud-action-web-spec.d.ts.map +1 -1
  311. package/dist/web/specs/admin-crud-action-web-spec.js +6 -29
  312. package/dist/web/specs/admin-crud-action-web-spec.js.map +1 -1
  313. package/dist/web/specs/admin-crud-column-web-spec.d.ts +6 -12
  314. package/dist/web/specs/admin-crud-column-web-spec.d.ts.map +1 -1
  315. package/dist/web/specs/admin-crud-column-web-spec.js +6 -29
  316. package/dist/web/specs/admin-crud-column-web-spec.js.map +1 -1
  317. package/dist/web/specs/admin-crud-input-web-spec.d.ts +6 -12
  318. package/dist/web/specs/admin-crud-input-web-spec.d.ts.map +1 -1
  319. package/dist/web/specs/admin-crud-input-web-spec.js +6 -29
  320. package/dist/web/specs/admin-crud-input-web-spec.js.map +1 -1
  321. package/dist/web/specs/model-transformer-web-spec.d.ts +8 -13
  322. package/dist/web/specs/model-transformer-web-spec.d.ts.map +1 -1
  323. package/dist/web/specs/model-transformer-web-spec.js +16 -28
  324. package/dist/web/specs/model-transformer-web-spec.js.map +1 -1
  325. package/package.json +10 -9
  326. package/dist/compiler/admin-crud-action-spec.d.ts +0 -26
  327. package/dist/compiler/admin-crud-action-spec.d.ts.map +0 -1
  328. package/dist/compiler/admin-crud-action-spec.js +0 -29
  329. package/dist/compiler/admin-crud-action-spec.js.map +0 -1
  330. package/dist/plugins/schema/index.d.ts.map +0 -1
  331. package/dist/plugins/schema/index.js.map +0 -1
  332. package/dist/plugins/schema/store.d.ts +0 -8
  333. package/dist/plugins/schema/store.d.ts.map +0 -1
  334. package/dist/plugins/schema/store.js +0 -17
  335. package/dist/plugins/schema/store.js.map +0 -1
  336. package/dist/plugins/spec/auth-model-config-spec.d.ts +0 -14
  337. package/dist/plugins/spec/auth-model-config-spec.d.ts.map +0 -1
  338. package/dist/plugins/spec/auth-model-config-spec.js +0 -6
  339. package/dist/plugins/spec/auth-model-config-spec.js.map +0 -1
  340. package/dist/schema/packages/base.d.ts.map +0 -1
  341. package/dist/schema/packages/base.js +0 -10
  342. package/dist/schema/packages/base.js.map +0 -1
  343. package/dist/schema/packages/index.d.ts +0 -4
  344. package/dist/schema/packages/index.d.ts.map +0 -1
  345. package/dist/schema/packages/index.js +0 -4
  346. package/dist/schema/packages/index.js.map +0 -1
  347. package/dist/schema/packages/node-library/index.d.ts +0 -16
  348. package/dist/schema/packages/node-library/index.d.ts.map +0 -1
  349. package/dist/schema/packages/node-library/index.js +0 -10
  350. package/dist/schema/packages/node-library/index.js.map +0 -1
  351. package/dist/schema/packages/types.d.ts +0 -6
  352. package/dist/schema/packages/types.d.ts.map +0 -1
  353. package/dist/schema/packages/types.js +0 -6
  354. package/dist/schema/packages/types.js.map +0 -1
  355. /package/dist/plugins/{schema → store}/index.d.ts +0 -0
  356. /package/dist/plugins/{schema → store}/index.js +0 -0
@@ -1,4 +1,4 @@
1
- import { DefinitionReferenceMarker, REF_ANNOTATIONS_MARKER_SYMBOL, } from './markers.js';
1
+ import { DefinitionExpressionMarker, DefinitionReferenceMarker, REF_ANNOTATIONS_MARKER_SYMBOL, } from './markers.js';
2
2
  function collectRefAnnotationsRecursive(pathPrefix, value) {
3
3
  if (value === undefined || value === null)
4
4
  return undefined;
@@ -9,12 +9,28 @@ function collectRefAnnotationsRecursive(pathPrefix, value) {
9
9
  { ...value.reference, path: [...pathPrefix, ...value.reference.path] },
10
10
  ],
11
11
  slots: [],
12
+ expressions: [],
13
+ };
14
+ }
15
+ if (value instanceof DefinitionExpressionMarker) {
16
+ return {
17
+ entities: [],
18
+ references: [],
19
+ slots: [],
20
+ expressions: [
21
+ {
22
+ ...value.expression,
23
+ value: value.value,
24
+ path: [...pathPrefix, ...value.expression.path],
25
+ },
26
+ ],
12
27
  };
13
28
  }
14
29
  const collected = {
15
30
  entities: [],
16
31
  references: [],
17
32
  slots: [],
33
+ expressions: [],
18
34
  };
19
35
  if (Array.isArray(value)) {
20
36
  for (const [i, element] of value.entries()) {
@@ -23,6 +39,7 @@ function collectRefAnnotationsRecursive(pathPrefix, value) {
23
39
  collected.entities.push(...childCollected.entities);
24
40
  collected.references.push(...childCollected.references);
25
41
  collected.slots.push(...childCollected.slots);
42
+ collected.expressions.push(...childCollected.expressions);
26
43
  }
27
44
  }
28
45
  return collected;
@@ -51,6 +68,7 @@ function collectRefAnnotationsRecursive(pathPrefix, value) {
51
68
  collected.entities.push(...childCollected.entities);
52
69
  collected.references.push(...childCollected.references);
53
70
  collected.slots.push(...childCollected.slots);
71
+ collected.expressions.push(...childCollected.expressions);
54
72
  }
55
73
  }
56
74
  return collected;
@@ -62,6 +80,7 @@ export function collectRefs(value) {
62
80
  entities: [],
63
81
  references: [],
64
82
  slots: [],
83
+ expressions: [],
65
84
  });
66
85
  }
67
86
  //# sourceMappingURL=collect-refs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"collect-refs.js","sourceRoot":"","sources":["../../src/references/collect-refs.ts"],"names":[],"mappings":"AAQA,OAAO,EACL,yBAAyB,EACzB,6BAA6B,GAC9B,MAAM,cAAc,CAAC;AAoBtB,SAAS,8BAA8B,CACrC,UAAyB,EACzB,KAAc;IAEd,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,SAAS,CAAC;IAC5D,IAAI,KAAK,YAAY,yBAAyB,EAAE,CAAC;QAC/C,OAAO;YACL,QAAQ,EAAE,EAAE;YACZ,UAAU,EAAE;gBACV,EAAE,GAAG,KAAK,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,GAAG,UAAU,EAAE,GAAG,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;aACvE;YACD,KAAK,EAAE,EAAE;SACV,CAAC;IACJ,CAAC;IACD,MAAM,SAAS,GAAG;QAChB,QAAQ,EAAE,EAAE;QACZ,UAAU,EAAE,EAAE;QACd,KAAK,EAAE,EAAE;KACO,CAAC;IACnB,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,KAAK,MAAM,CAAC,CAAC,EAAE,OAAO,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;YAC3C,MAAM,cAAc,GAAG,8BAA8B,CACnD,CAAC,GAAG,UAAU,EAAE,CAAC,CAAC,EAClB,OAAO,CACR,CAAC;YACF,IAAI,cAAc,EAAE,CAAC;gBACnB,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;gBACpD,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,UAAU,CAAC,CAAC;gBACxD,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;YAChD,CAAC;QACH,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,IAAI,6BAA6B,IAAI,KAAK,EAAE,CAAC;YAC3C,MAAM,WAAW,GAAG,KAAK,CACvB,6BAA6B,CACF,CAAC;YAC9B,SAAS,CAAC,QAAQ,CAAC,IAAI,CACrB,GAAG,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;gBACvC,GAAG,MAAM;gBACT,IAAI,EAAE,CAAC,GAAG,UAAU,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC;aACtC,CAAC,CAAC,CACJ,CAAC;YACF,SAAS,CAAC,UAAU,CAAC,IAAI,CACvB,GAAG,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;gBAC5C,GAAG,SAAS;gBACZ,IAAI,EAAE,CAAC,GAAG,UAAU,EAAE,GAAG,SAAS,CAAC,IAAI,CAAC;aACzC,CAAC,CAAC,CACJ,CAAC;YACF,SAAS,CAAC,KAAK,CAAC,IAAI,CAClB,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBAClC,GAAG,IAAI;gBACP,IAAI,EAAE,CAAC,GAAG,UAAU,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC;aACpC,CAAC,CAAC,CACJ,CAAC;QACJ,CAAC;QACD,KAAK,MAAM,CAAC,GAAG,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACtD,IAAI,OAAO,GAAG,KAAK,QAAQ;gBAAE,SAAS;YACtC,MAAM,cAAc,GAAG,8BAA8B,CACnD,CAAC,GAAG,UAAU,EAAE,GAAG,CAAC,EACpB,UAAU,CACX,CAAC;YACF,IAAI,cAAc,EAAE,CAAC;gBACnB,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;gBACpD,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,UAAU,CAAC,CAAC;gBACxD,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;YAChD,CAAC;QACH,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,KAAc;IACxC,OAAO,CACL,8BAA8B,CAAC,EAAE,EAAE,KAAK,CAAC,IAAI;QAC3C,QAAQ,EAAE,EAAE;QACZ,UAAU,EAAE,EAAE;QACd,KAAK,EAAE,EAAE;KACV,CACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"collect-refs.js","sourceRoot":"","sources":["../../src/references/collect-refs.ts"],"names":[],"mappings":"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"}
@@ -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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"}
@@ -0,0 +1,152 @@
1
+ import type { z } from 'zod';
2
+ import type { RefContextSlot } from './ref-context-slot.js';
3
+ import type { DefinitionEntityType, ReferencePath } from './types.js';
4
+ /**
5
+ * A warning from validating a ref expression.
6
+ * Warnings are non-blocking - they don't prevent loading the project definition.
7
+ */
8
+ export interface RefExpressionWarning {
9
+ /** Warning message */
10
+ message: string;
11
+ /** Path within the expression where the warning occurred */
12
+ expressionPath?: string;
13
+ /** Start position in the expression for inline highlighting */
14
+ start?: number;
15
+ /** End position in the expression for inline highlighting */
16
+ end?: number;
17
+ }
18
+ /**
19
+ * A dependency found in a ref expression.
20
+ * Used for tracking which entities the expression references,
21
+ * enabling rename handling.
22
+ */
23
+ export interface RefExpressionDependency {
24
+ /** The type of entity being referenced */
25
+ entityType: DefinitionEntityType;
26
+ /** The ID of the entity being referenced */
27
+ entityId: string;
28
+ /** Position in the expression for rename updates */
29
+ start?: number;
30
+ end?: number;
31
+ }
32
+ /**
33
+ * Slot map type for expressions - maps slot keys to RefContextSlot instances.
34
+ * Similar to RefContextSlotMap but used for expression parser slots.
35
+ */
36
+ export type ExpressionSlotMap<T extends Record<string, DefinitionEntityType> = Record<string, never>> = {
37
+ [K in keyof T]: RefContextSlot<T[K]>;
38
+ };
39
+ /**
40
+ * Resolved slot paths after slot resolution.
41
+ * Maps slot keys to their resolved paths in the definition.
42
+ */
43
+ export type ResolvedExpressionSlots<T extends Record<string, DefinitionEntityType> = Record<string, never>> = {
44
+ [K in keyof T]: ReferencePath;
45
+ };
46
+ /**
47
+ * A pluggable parser for ref expressions.
48
+ *
49
+ * The parser is format-agnostic - the core references system
50
+ * doesn't know or care what format the expressions are in. The parser
51
+ * handles all parsing, validation, and rename handling.
52
+ *
53
+ * Parsers can declare required slots via the TRequiredSlots generic parameter.
54
+ * When a parser requires slots, TypeScript enforces that they are provided
55
+ * when calling `withExpression()`.
56
+ *
57
+ * @typeParam TValue - The type of the raw expression value (e.g., string for TS expressions)
58
+ * @typeParam TParseResult - The type of the parsed result (e.g., AST for TS expressions)
59
+ * @typeParam TRequiredSlots - Record of required slot names to entity types
60
+ *
61
+ * @example
62
+ * ```typescript
63
+ * // A simple parser with no required slots
64
+ * class StubParser extends RefExpressionParser<string, undefined> {
65
+ * readonly name = 'stub';
66
+ * parse(): undefined { return undefined; }
67
+ * getWarnings(): [] { return []; }
68
+ * getDependencies(): [] { return []; }
69
+ * updateForRename(value: string): string { return value; }
70
+ * }
71
+ *
72
+ * // A parser that requires a model slot
73
+ * class AuthorizerParser extends RefExpressionParser<
74
+ * string,
75
+ * TsAst,
76
+ * { model: typeof modelEntityType }
77
+ * > {
78
+ * readonly name = 'authorizer';
79
+ * // TypeScript enforces slot requirement in withExpression()
80
+ * }
81
+ * ```
82
+ */
83
+ export declare abstract class RefExpressionParser<TValue = unknown, TParseResult = unknown, TRequiredSlots extends Record<string, DefinitionEntityType> = Record<string, never>> {
84
+ /** Unique name for this parser type (used for serialization) */
85
+ abstract readonly name: string;
86
+ /**
87
+ * Zod schema for validating the expression value.
88
+ * This schema is used by `withExpression()` for input validation.
89
+ *
90
+ * @returns A Zod schema that validates the raw expression value
91
+ */
92
+ abstract readonly schema: z.ZodType<TValue>;
93
+ /**
94
+ * Parse the raw value and return the parse result.
95
+ * The result is cached on the marker for subsequent operations.
96
+ *
97
+ * @param value - The raw expression value
98
+ * @param projectDef - The project definition for context (typed as unknown to avoid circular reference)
99
+ * @returns The parsed result (type determined by parser)
100
+ */
101
+ abstract parse(value: TValue, projectDef: unknown): TParseResult;
102
+ /**
103
+ * Get validation warnings for the expression.
104
+ * Warnings are non-blocking - they don't prevent loading.
105
+ *
106
+ * @param value - The raw expression value
107
+ * @param parseResult - The cached parse result
108
+ * @param projectDef - The project definition for validation context (typed as unknown to avoid circular reference)
109
+ * @param resolvedSlots - The resolved slot paths for this expression
110
+ * @returns Array of warnings (empty if valid)
111
+ */
112
+ abstract getWarnings(value: TValue, parseResult: TParseResult, projectDef: unknown, resolvedSlots: ResolvedExpressionSlots<TRequiredSlots>): RefExpressionWarning[];
113
+ /**
114
+ * Get entity/field dependencies from the expression.
115
+ * Used for tracking what the expression references for rename handling.
116
+ *
117
+ * @param value - The raw expression value
118
+ * @param parseResult - The cached parse result
119
+ * @returns Array of dependencies
120
+ */
121
+ abstract getDependencies(value: TValue, parseResult: TParseResult): RefExpressionDependency[];
122
+ /**
123
+ * Update the expression when dependencies are renamed.
124
+ *
125
+ * @param value - The raw expression value
126
+ * @param parseResult - The cached parse result
127
+ * @param renames - Map of old entity ID to new name
128
+ * @returns The updated expression value
129
+ */
130
+ abstract updateForRename(value: TValue, parseResult: TParseResult, renames: Map<string, string>): TValue;
131
+ /**
132
+ * Phantom property for TRequiredSlots type inference.
133
+ * This is never actually used at runtime.
134
+ * @internal
135
+ */
136
+ readonly _requiredSlots?: TRequiredSlots;
137
+ }
138
+ /**
139
+ * Fully resolved expression - output from extractDefinitionRefs.
140
+ * Contains the expression value, parser instance, and resolved slot paths.
141
+ */
142
+ export interface DefinitionExpression {
143
+ /** Path to the expression in the definition */
144
+ path: ReferencePath;
145
+ /** The raw expression value */
146
+ value: unknown;
147
+ /** Reference to the parser that handles this expression */
148
+ parser: RefExpressionParser<any, any, any>;
149
+ /** Resolved slot paths (slot key → resolved path in definition) */
150
+ resolvedSlots: Record<string, ReferencePath>;
151
+ }
152
+ //# sourceMappingURL=expression-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"expression-types.d.ts","sourceRoot":"","sources":["../../src/references/expression-types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,46 @@
1
+ /**
2
+ * A pluggable parser for ref expressions.
3
+ *
4
+ * The parser is format-agnostic - the core references system
5
+ * doesn't know or care what format the expressions are in. The parser
6
+ * handles all parsing, validation, and rename handling.
7
+ *
8
+ * Parsers can declare required slots via the TRequiredSlots generic parameter.
9
+ * When a parser requires slots, TypeScript enforces that they are provided
10
+ * when calling `withExpression()`.
11
+ *
12
+ * @typeParam TValue - The type of the raw expression value (e.g., string for TS expressions)
13
+ * @typeParam TParseResult - The type of the parsed result (e.g., AST for TS expressions)
14
+ * @typeParam TRequiredSlots - Record of required slot names to entity types
15
+ *
16
+ * @example
17
+ * ```typescript
18
+ * // A simple parser with no required slots
19
+ * class StubParser extends RefExpressionParser<string, undefined> {
20
+ * readonly name = 'stub';
21
+ * parse(): undefined { return undefined; }
22
+ * getWarnings(): [] { return []; }
23
+ * getDependencies(): [] { return []; }
24
+ * updateForRename(value: string): string { return value; }
25
+ * }
26
+ *
27
+ * // A parser that requires a model slot
28
+ * class AuthorizerParser extends RefExpressionParser<
29
+ * string,
30
+ * TsAst,
31
+ * { model: typeof modelEntityType }
32
+ * > {
33
+ * readonly name = 'authorizer';
34
+ * // TypeScript enforces slot requirement in withExpression()
35
+ * }
36
+ * ```
37
+ */
38
+ export class RefExpressionParser {
39
+ /**
40
+ * Phantom property for TRequiredSlots type inference.
41
+ * This is never actually used at runtime.
42
+ * @internal
43
+ */
44
+ _requiredSlots;
45
+ }
46
+ //# sourceMappingURL=expression-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"expression-types.js","sourceRoot":"","sources":["../../src/references/expression-types.ts"],"names":[],"mappings":"AAuDA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,MAAM,OAAgB,mBAAmB;IAyEvC;;;;OAIG;IACM,cAAc,CAAkB;CAC1C"}
@@ -3,6 +3,7 @@ import { z } from 'zod';
3
3
  import type { DefinitionEntityType } from '#src/index.js';
4
4
  import type { DefinitionSchemaCreatorOptions } from '#src/schema/index.js';
5
5
  import type { DefinitionEntityInput, DefinitionReferenceInput } from './definition-ref-builder.js';
6
+ import type { ExpressionSlotMap, RefExpressionParser } from './expression-types.js';
6
7
  import type { RefContextSlotDefinition, RefContextSlotMap } from './ref-context-slot.js';
7
8
  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
9
  export type WithRefType = <TEntityType extends DefinitionEntityType>(reference: DefinitionReferenceInput<TEntityType>) => z.ZodType<string, string>;
@@ -12,10 +13,22 @@ export type WithEntType = <TType extends z.ZodType, TEntityType extends Definiti
12
13
  * Slots provide type-safe context for parent-child entity relationships.
13
14
  */
14
15
  export type RefContextType = <TSlotDef extends RefContextSlotDefinition, TSchema extends z.ZodType>(slotDefinition: TSlotDef, schemaBuilder: (slots: RefContextSlotMap<TSlotDef>) => TSchema) => ZodTypeWithOptional<TSchema>;
16
+ /**
17
+ * Wraps a value with a ref expression parser for deferred validation.
18
+ * The parser handles all parsing, validation, and rename handling.
19
+ *
20
+ * If the parser declares required slots (via TRequiredSlots), they must be
21
+ * provided as the second argument. TypeScript enforces this at compile time.
22
+ */
23
+ export interface WithExpressionType {
24
+ <TValue, TParseResult>(parser: RefExpressionParser<TValue, TParseResult>): z.ZodType<TValue, TValue>;
25
+ <TValue, TParseResult, TRequiredSlots extends Record<string, DefinitionEntityType>>(parser: RefExpressionParser<TValue, TParseResult, TRequiredSlots>, slots: ExpressionSlotMap<TRequiredSlots>): z.ZodType<TValue, TValue>;
26
+ }
15
27
  export declare function extendParserContextWithRefs({ transformReferences, }: DefinitionSchemaCreatorOptions): {
16
28
  withRef: WithRefType;
17
29
  withEnt: WithEntType;
18
30
  refContext: RefContextType;
31
+ withExpression: WithExpressionType;
19
32
  };
20
33
  export {};
21
34
  //# sourceMappingURL=extend-parser-context-with-refs.d.ts.map
@@ -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":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAGvD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,sBAAsB,CAAC;AAE3E,OAAO,KAAK,EACV,qBAAqB,EACrB,wBAAwB,EACzB,MAAM,6BAA6B,CAAC;AAKrC,OAAO,KAAK,EAEV,wBAAwB,EACxB,iBAAiB,EAClB,MAAM,uBAAuB,CAAC;AAS/B,KAAK,mBAAmB,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,WAAW,GACnE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GACjD,CAAC,SAAS,CAAC,CAAC,UAAU,GACpB,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAChD,CAAC,SAAS,CAAC,CAAC,WAAW,GACrB,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GACjD,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AAE3C,MAAM,MAAM,WAAW,GAAG,CAAC,WAAW,SAAS,oBAAoB,EACjE,SAAS,EAAE,wBAAwB,CAAC,WAAW,CAAC,KAC7C,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAE/B,MAAM,MAAM,WAAW,GAAG,CACxB,KAAK,SAAS,CAAC,CAAC,OAAO,EACvB,WAAW,SAAS,oBAAoB,EACxC,OAAO,SAAS,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,SAAS,GAAG,SAAS,EAEnE,MAAM,EAAE,KAAK,EACb,MAAM,EAAE,qBAAqB,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,KACjE,mBAAmB,CAAC,KAAK,CAAC,CAAC;AAEhC;;;GAGG;AACH,MAAM,MAAM,cAAc,GAAG,CAC3B,QAAQ,SAAS,wBAAwB,EACzC,OAAO,SAAS,CAAC,CAAC,OAAO,EAEzB,cAAc,EAAE,QAAQ,EACxB,aAAa,EAAE,CAAC,KAAK,EAAE,iBAAiB,CAAC,QAAQ,CAAC,KAAK,OAAO,KAC3D,mBAAmB,CAAC,OAAO,CAAC,CAAC;AAElC,wBAAgB,2BAA2B,CAAC,EAC1C,mBAAmB,GACpB,EAAE,8BAA8B,GAAG;IAClC,OAAO,EAAE,WAAW,CAAC;IACrB,OAAO,EAAE,WAAW,CAAC;IACrB,UAAU,EAAE,cAAc,CAAC;CAC5B,CA6JA"}
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,6 +1,6 @@
1
1
  import { get } from 'es-toolkit/compat';
2
2
  import { z } from 'zod';
3
- import { DefinitionReferenceMarker, REF_ANNOTATIONS_MARKER_SYMBOL, } from './markers.js';
3
+ import { DefinitionExpressionMarker, DefinitionReferenceMarker, REF_ANNOTATIONS_MARKER_SYMBOL, } from './markers.js';
4
4
  import { createRefContextSlotMap } from './ref-context-slot.js';
5
5
  import { stripRefMarkers } from './strip-ref-markers.js';
6
6
  export function extendParserContextWithRefs({ transformReferences, }) {
@@ -126,10 +126,48 @@ export function extendParserContextWithRefs({ transformReferences, }) {
126
126
  ],
127
127
  })));
128
128
  }
129
+ /**
130
+ * Wraps a value with a ref expression parser for deferred validation.
131
+ * The parser handles all parsing, validation, and rename handling.
132
+ *
133
+ * If the parser declares required slots (via TRequiredSlots), they must be
134
+ * provided as the second argument. TypeScript enforces this at compile time.
135
+ *
136
+ * The parser's `schema` property is used for input validation.
137
+ *
138
+ * @example
139
+ * ```typescript
140
+ * // Parser without required slots
141
+ * const expressionSchema = ctx.withExpression(simpleParser);
142
+ *
143
+ * // Parser with required slots (TypeScript enforces the second argument)
144
+ * ctx.refContext(
145
+ * { modelSlot: modelEntityType },
146
+ * ({ modelSlot }) =>
147
+ * z.object({
148
+ * condition: ctx.withExpression(authorizerParser, { model: modelSlot }),
149
+ * })
150
+ * );
151
+ * ```
152
+ */
153
+ function withExpression(parser, slots) {
154
+ return parser.schema.transform((value) => {
155
+ if (transformReferences && value !== undefined) {
156
+ return new DefinitionExpressionMarker(value, {
157
+ path: [],
158
+ value,
159
+ parser,
160
+ slots,
161
+ });
162
+ }
163
+ return value;
164
+ });
165
+ }
129
166
  return {
130
167
  withRef,
131
168
  withEnt,
132
169
  refContext,
170
+ withExpression,
133
171
  };
134
172
  }
135
173
  //# 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":"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"}
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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"}
@@ -1,7 +1,8 @@
1
1
  import type { DefinitionEntityWithNameResolver } from './definition-ref-builder.js';
2
+ import type { DefinitionExpression } from './expression-types.js';
2
3
  import type { DefinitionReference } from './types.js';
3
4
  /**
4
- * Payload returned after parsing, containing the data, references, and entities.
5
+ * Payload returned after parsing, containing the data, references, entities, and expressions.
5
6
  *
6
7
  * @template TData - The type of the parsed data.
7
8
  */
@@ -9,15 +10,17 @@ export interface ExtractDefinitionRefsPayload<TData> {
9
10
  data: TData;
10
11
  references: DefinitionReference[];
11
12
  entitiesWithNameResolver: DefinitionEntityWithNameResolver[];
13
+ expressions: DefinitionExpression[];
12
14
  }
13
15
  /**
14
16
  * Extracts definition refs from a parsed value using functional approach.
15
17
  *
16
18
  * Flow:
17
- * 1. Collect all refs (entities, references, slots) recursively
19
+ * 1. Collect all refs (entities, references, slots, expressions) recursively
18
20
  * 2. Resolve all slot references to actual paths
19
21
  * 3. Strip ref markers from the data
20
- * 4. Validate no duplicate IDs
22
+ * 4. Resolve entity, reference, and expression parent/slot paths
23
+ * 5. Validate no duplicate IDs
21
24
  *
22
25
  * @param value - The parsed value from Zod schema
23
26
  * @returns The extracted refs with clean data
@@ -1 +1 @@
1
- {"version":3,"file":"extract-definition-refs.d.ts","sourceRoot":"","sources":["../../src/references/extract-definition-refs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,6BAA6B,CAAC;AAEpF,OAAO,KAAK,EAAE,mBAAmB,EAAiB,MAAM,YAAY,CAAC;AAMrE;;;;GAIG;AACH,MAAM,WAAW,4BAA4B,CAAC,KAAK;IACjD,IAAI,EAAE,KAAK,CAAC;IACZ,UAAU,EAAE,mBAAmB,EAAE,CAAC;IAClC,wBAAwB,EAAE,gCAAgC,EAAE,CAAC;CAC9D;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,EACrC,KAAK,EAAE,CAAC,GACP,4BAA4B,CAAC,CAAC,CAAC,CAgEjC"}
1
+ {"version":3,"file":"extract-definition-refs.d.ts","sourceRoot":"","sources":["../../src/references/extract-definition-refs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,6BAA6B,CAAC;AACpF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAElE,OAAO,KAAK,EAAE,mBAAmB,EAAiB,MAAM,YAAY,CAAC;AAMrE;;;;GAIG;AACH,MAAM,WAAW,4BAA4B,CAAC,KAAK;IACjD,IAAI,EAAE,KAAK,CAAC;IACZ,UAAU,EAAE,mBAAmB,EAAE,CAAC;IAClC,wBAAwB,EAAE,gCAAgC,EAAE,CAAC;IAC7D,WAAW,EAAE,oBAAoB,EAAE,CAAC;CACrC;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,EACrC,KAAK,EAAE,CAAC,GACP,4BAA4B,CAAC,CAAC,CAAC,CAgGjC"}
@@ -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"}