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

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 (369) hide show
  1. package/CHANGELOG.md +60 -0
  2. package/dist/definition/index.d.ts +0 -1
  3. package/dist/definition/index.d.ts.map +1 -1
  4. package/dist/definition/index.js +0 -1
  5. package/dist/definition/index.js.map +1 -1
  6. package/dist/definition/model/model-field-utils.js +2 -2
  7. package/dist/definition/model/model-field-utils.js.map +1 -1
  8. package/dist/definition/model/model-utils.d.ts.map +1 -1
  9. package/dist/definition/model/model-utils.js +2 -2
  10. package/dist/definition/model/model-utils.js.map +1 -1
  11. package/dist/definition/project-definition-container.d.ts +21 -12
  12. package/dist/definition/project-definition-container.d.ts.map +1 -1
  13. package/dist/definition/project-definition-container.js +42 -23
  14. package/dist/definition/project-definition-container.js.map +1 -1
  15. package/dist/migrations/index.d.ts.map +1 -1
  16. package/dist/migrations/index.js +6 -0
  17. package/dist/migrations/index.js.map +1 -1
  18. package/dist/migrations/migration-024-graphql-object-type-field-auth.d.ts +30 -0
  19. package/dist/migrations/migration-024-graphql-object-type-field-auth.d.ts.map +1 -0
  20. package/dist/migrations/migration-024-graphql-object-type-field-auth.js +54 -0
  21. package/dist/migrations/migration-024-graphql-object-type-field-auth.js.map +1 -0
  22. package/dist/migrations/migration-025-service-method-auth.d.ts +44 -0
  23. package/dist/migrations/migration-025-service-method-auth.d.ts.map +1 -0
  24. package/dist/migrations/migration-025-service-method-auth.js +62 -0
  25. package/dist/migrations/migration-025-service-method-auth.js.map +1 -0
  26. package/dist/migrations/migration-026-query-shared-roles.d.ts +32 -0
  27. package/dist/migrations/migration-026-query-shared-roles.d.ts.map +1 -0
  28. package/dist/migrations/migration-026-query-shared-roles.js +48 -0
  29. package/dist/migrations/migration-026-query-shared-roles.js.map +1 -0
  30. package/dist/parser/apply-definition-fixes.d.ts +13 -0
  31. package/dist/parser/apply-definition-fixes.d.ts.map +1 -0
  32. package/dist/parser/apply-definition-fixes.js +25 -0
  33. package/dist/parser/apply-definition-fixes.js.map +1 -0
  34. package/dist/parser/clean-default-values.d.ts +14 -0
  35. package/dist/parser/clean-default-values.d.ts.map +1 -0
  36. package/dist/parser/clean-default-values.js +24 -0
  37. package/dist/parser/clean-default-values.js.map +1 -0
  38. package/dist/parser/collect-definition-issues.d.ts +36 -0
  39. package/dist/parser/collect-definition-issues.d.ts.map +1 -0
  40. package/dist/parser/collect-definition-issues.js +94 -0
  41. package/dist/parser/collect-definition-issues.js.map +1 -0
  42. package/dist/parser/collect-expression-issues.d.ts +17 -0
  43. package/dist/parser/collect-expression-issues.d.ts.map +1 -0
  44. package/dist/parser/collect-expression-issues.js +33 -0
  45. package/dist/parser/collect-expression-issues.js.map +1 -0
  46. package/dist/parser/definition-issue-checkers/mutation-roles-checker.d.ts +11 -0
  47. package/dist/parser/definition-issue-checkers/mutation-roles-checker.d.ts.map +1 -0
  48. package/dist/parser/definition-issue-checkers/mutation-roles-checker.js +41 -0
  49. package/dist/parser/definition-issue-checkers/mutation-roles-checker.js.map +1 -0
  50. package/dist/parser/definition-issue-checkers/relation-type-mismatch-checker.d.ts +10 -0
  51. package/dist/parser/definition-issue-checkers/relation-type-mismatch-checker.d.ts.map +1 -0
  52. package/dist/parser/definition-issue-checkers/relation-type-mismatch-checker.js +36 -0
  53. package/dist/parser/definition-issue-checkers/relation-type-mismatch-checker.js.map +1 -0
  54. package/dist/parser/definition-issue-utils.d.ts +23 -0
  55. package/dist/parser/definition-issue-utils.d.ts.map +1 -0
  56. package/dist/parser/definition-issue-utils.js +33 -0
  57. package/dist/parser/definition-issue-utils.js.map +1 -0
  58. package/dist/parser/index.d.ts +9 -0
  59. package/dist/parser/index.d.ts.map +1 -1
  60. package/dist/parser/index.js +8 -0
  61. package/dist/parser/index.js.map +1 -1
  62. package/dist/parser/parser.d.ts.map +1 -1
  63. package/dist/parser/parser.js +7 -2
  64. package/dist/parser/parser.js.map +1 -1
  65. package/dist/parser/schema-structure.d.ts +53 -0
  66. package/dist/parser/schema-structure.d.ts.map +1 -0
  67. package/dist/parser/schema-structure.js +171 -0
  68. package/dist/parser/schema-structure.js.map +1 -0
  69. package/dist/parser/transform-data-with-schema.d.ts +35 -0
  70. package/dist/parser/transform-data-with-schema.d.ts.map +1 -0
  71. package/dist/parser/transform-data-with-schema.js +140 -0
  72. package/dist/parser/transform-data-with-schema.js.map +1 -0
  73. package/dist/parser/types.d.ts +6 -3
  74. package/dist/parser/types.d.ts.map +1 -1
  75. package/dist/parser/walk-data-with-schema.d.ts +46 -0
  76. package/dist/parser/walk-data-with-schema.d.ts.map +1 -0
  77. package/dist/parser/walk-data-with-schema.js +140 -0
  78. package/dist/parser/walk-data-with-schema.js.map +1 -0
  79. package/dist/parser/walk-schema-structure.d.ts +60 -0
  80. package/dist/parser/walk-schema-structure.d.ts.map +1 -0
  81. package/dist/parser/walk-schema-structure.js +163 -0
  82. package/dist/parser/walk-schema-structure.js.map +1 -0
  83. package/dist/plugins/imports/loader.d.ts +1 -1
  84. package/dist/plugins/imports/loader.d.ts.map +1 -1
  85. package/dist/plugins/imports/loader.js +2 -2
  86. package/dist/plugins/imports/loader.js.map +1 -1
  87. package/dist/plugins/imports/types.d.ts +1 -1
  88. package/dist/plugins/imports/types.d.ts.map +1 -1
  89. package/dist/plugins/metadata/types.d.ts +1 -1
  90. package/dist/plugins/metadata/types.js +1 -1
  91. package/dist/plugins/plugins.test-utils.d.ts +15 -0
  92. package/dist/plugins/plugins.test-utils.d.ts.map +1 -1
  93. package/dist/plugins/plugins.test-utils.js +24 -0
  94. package/dist/plugins/plugins.test-utils.js.map +1 -1
  95. package/dist/plugins/spec/config-spec.d.ts +1 -0
  96. package/dist/plugins/spec/config-spec.d.ts.map +1 -1
  97. package/dist/plugins/spec/config-spec.js +1 -0
  98. package/dist/plugins/spec/config-spec.js.map +1 -1
  99. package/dist/plugins/store/store.d.ts +6 -1
  100. package/dist/plugins/store/store.d.ts.map +1 -1
  101. package/dist/plugins/store/store.js +9 -1
  102. package/dist/plugins/store/store.js.map +1 -1
  103. package/dist/references/definition-ref-registry.d.ts +105 -0
  104. package/dist/references/definition-ref-registry.d.ts.map +1 -0
  105. package/dist/references/definition-ref-registry.js +40 -0
  106. package/dist/references/definition-ref-registry.js.map +1 -0
  107. package/dist/references/deserialize-schema.d.ts +4 -6
  108. package/dist/references/deserialize-schema.d.ts.map +1 -1
  109. package/dist/references/deserialize-schema.js +4 -5
  110. package/dist/references/deserialize-schema.js.map +1 -1
  111. package/dist/references/expression-types.d.ts +46 -14
  112. package/dist/references/expression-types.d.ts.map +1 -1
  113. package/dist/references/expression-types.js +17 -0
  114. package/dist/references/expression-types.js.map +1 -1
  115. package/dist/references/extend-parser-context-with-refs.d.ts +32 -2
  116. package/dist/references/extend-parser-context-with-refs.d.ts.map +1 -1
  117. package/dist/references/extend-parser-context-with-refs.js +123 -163
  118. package/dist/references/extend-parser-context-with-refs.js.map +1 -1
  119. package/dist/references/extract-definition-refs.d.ts +9 -8
  120. package/dist/references/extract-definition-refs.d.ts.map +1 -1
  121. package/dist/references/extract-definition-refs.js +110 -26
  122. package/dist/references/extract-definition-refs.js.map +1 -1
  123. package/dist/references/fix-ref-deletions.d.ts +6 -6
  124. package/dist/references/fix-ref-deletions.d.ts.map +1 -1
  125. package/dist/references/fix-ref-deletions.js +2 -2
  126. package/dist/references/fix-ref-deletions.js.map +1 -1
  127. package/dist/references/index.d.ts +3 -0
  128. package/dist/references/index.d.ts.map +1 -1
  129. package/dist/references/index.js +3 -0
  130. package/dist/references/index.js.map +1 -1
  131. package/dist/references/parse-schema-with-references.d.ts +8 -6
  132. package/dist/references/parse-schema-with-references.d.ts.map +1 -1
  133. package/dist/references/parse-schema-with-references.js +10 -12
  134. package/dist/references/parse-schema-with-references.js.map +1 -1
  135. package/dist/references/ref-schema-visitor.d.ts +33 -0
  136. package/dist/references/ref-schema-visitor.d.ts.map +1 -0
  137. package/dist/references/ref-schema-visitor.js +61 -0
  138. package/dist/references/ref-schema-visitor.js.map +1 -0
  139. package/dist/references/resolve-slots.d.ts +1 -1
  140. package/dist/references/resolve-slots.d.ts.map +1 -1
  141. package/dist/references/serialize-schema.d.ts +9 -2
  142. package/dist/references/serialize-schema.d.ts.map +1 -1
  143. package/dist/references/serialize-schema.js +20 -4
  144. package/dist/references/serialize-schema.js.map +1 -1
  145. package/dist/schema/apps/web/admin/admin.d.ts +22 -37
  146. package/dist/schema/apps/web/admin/admin.d.ts.map +1 -1
  147. package/dist/schema/apps/web/admin/sections/crud-actions/admin-crud-action.d.ts +6 -15
  148. package/dist/schema/apps/web/admin/sections/crud-actions/admin-crud-action.d.ts.map +1 -1
  149. package/dist/schema/apps/web/admin/sections/crud-actions/admin-crud-action.js +3 -8
  150. package/dist/schema/apps/web/admin/sections/crud-actions/admin-crud-action.js.map +1 -1
  151. package/dist/schema/apps/web/admin/sections/crud-columns/admin-crud-column.d.ts +6 -15
  152. package/dist/schema/apps/web/admin/sections/crud-columns/admin-crud-column.d.ts.map +1 -1
  153. package/dist/schema/apps/web/admin/sections/crud-columns/admin-crud-column.js +3 -8
  154. package/dist/schema/apps/web/admin/sections/crud-columns/admin-crud-column.js.map +1 -1
  155. package/dist/schema/apps/web/admin/sections/crud-form/admin-crud-input.d.ts +9 -15
  156. package/dist/schema/apps/web/admin/sections/crud-form/admin-crud-input.d.ts.map +1 -1
  157. package/dist/schema/apps/web/admin/sections/crud-form/admin-crud-input.js +3 -8
  158. package/dist/schema/apps/web/admin/sections/crud-form/admin-crud-input.js.map +1 -1
  159. package/dist/schema/apps/web/admin/sections/crud.d.ts +6 -6
  160. package/dist/schema/apps/web/web-app.d.ts +32 -47
  161. package/dist/schema/apps/web/web-app.d.ts.map +1 -1
  162. package/dist/schema/creator/definition-default-registry.d.ts +22 -0
  163. package/dist/schema/creator/definition-default-registry.d.ts.map +1 -0
  164. package/dist/schema/creator/definition-default-registry.js +18 -0
  165. package/dist/schema/creator/definition-default-registry.js.map +1 -0
  166. package/dist/schema/creator/definition-fix-registry.d.ts +45 -0
  167. package/dist/schema/creator/definition-fix-registry.d.ts.map +1 -0
  168. package/dist/schema/creator/definition-fix-registry.js +41 -0
  169. package/dist/schema/creator/definition-fix-registry.js.map +1 -0
  170. package/dist/schema/creator/definition-issue-checker-spec.d.ts +37 -0
  171. package/dist/schema/creator/definition-issue-checker-spec.d.ts.map +1 -0
  172. package/dist/schema/creator/definition-issue-checker-spec.js +28 -0
  173. package/dist/schema/creator/definition-issue-checker-spec.js.map +1 -0
  174. package/dist/schema/creator/definition-issue-checkers.d.ts +16 -0
  175. package/dist/schema/creator/definition-issue-checkers.d.ts.map +1 -0
  176. package/dist/schema/creator/definition-issue-checkers.js +35 -0
  177. package/dist/schema/creator/definition-issue-checkers.js.map +1 -0
  178. package/dist/schema/creator/definition-issue-registry.d.ts +54 -0
  179. package/dist/schema/creator/definition-issue-registry.d.ts.map +1 -0
  180. package/dist/schema/creator/definition-issue-registry.js +47 -0
  181. package/dist/schema/creator/definition-issue-registry.js.map +1 -0
  182. package/dist/schema/creator/definition-issue-types.d.ts +53 -0
  183. package/dist/schema/creator/definition-issue-types.d.ts.map +1 -0
  184. package/dist/schema/creator/definition-issue-types.js +2 -0
  185. package/dist/schema/creator/definition-issue-types.js.map +1 -0
  186. package/dist/schema/creator/extend-parser-context-with-defaults.d.ts +20 -4
  187. package/dist/schema/creator/extend-parser-context-with-defaults.d.ts.map +1 -1
  188. package/dist/schema/creator/extend-parser-context-with-defaults.js +24 -42
  189. package/dist/schema/creator/extend-parser-context-with-defaults.js.map +1 -1
  190. package/dist/schema/creator/index.d.ts +6 -0
  191. package/dist/schema/creator/index.d.ts.map +1 -1
  192. package/dist/schema/creator/index.js +5 -0
  193. package/dist/schema/creator/index.js.map +1 -1
  194. package/dist/schema/creator/schema-creator.d.ts.map +1 -1
  195. package/dist/schema/creator/schema-creator.js +18 -4
  196. package/dist/schema/creator/schema-creator.js.map +1 -1
  197. package/dist/schema/creator/types.d.ts +3 -30
  198. package/dist/schema/creator/types.d.ts.map +1 -1
  199. package/dist/schema/models/authorizer/authorizer-expression-acorn-parser.d.ts.map +1 -1
  200. package/dist/schema/models/authorizer/authorizer-expression-acorn-parser.js +116 -25
  201. package/dist/schema/models/authorizer/authorizer-expression-acorn-parser.js.map +1 -1
  202. package/dist/schema/models/authorizer/authorizer-expression-ast.d.ts +82 -1
  203. package/dist/schema/models/authorizer/authorizer-expression-ast.d.ts.map +1 -1
  204. package/dist/schema/models/authorizer/authorizer-expression-ast.js.map +1 -1
  205. package/dist/schema/models/authorizer/authorizer-expression-parser.d.ts +8 -9
  206. package/dist/schema/models/authorizer/authorizer-expression-parser.d.ts.map +1 -1
  207. package/dist/schema/models/authorizer/authorizer-expression-parser.js +28 -35
  208. package/dist/schema/models/authorizer/authorizer-expression-parser.js.map +1 -1
  209. package/dist/schema/models/authorizer/authorizer-expression-validator.d.ts +42 -4
  210. package/dist/schema/models/authorizer/authorizer-expression-validator.d.ts.map +1 -1
  211. package/dist/schema/models/authorizer/authorizer-expression-validator.js +119 -18
  212. package/dist/schema/models/authorizer/authorizer-expression-validator.js.map +1 -1
  213. package/dist/schema/models/graphql.d.ts +42 -111
  214. package/dist/schema/models/graphql.d.ts.map +1 -1
  215. package/dist/schema/models/graphql.js +59 -19
  216. package/dist/schema/models/graphql.js.map +1 -1
  217. package/dist/schema/models/models.d.ts +1134 -343
  218. package/dist/schema/models/models.d.ts.map +1 -1
  219. package/dist/schema/models/models.js +258 -86
  220. package/dist/schema/models/models.js.map +1 -1
  221. package/dist/schema/plugins/definition.d.ts +2 -30
  222. package/dist/schema/plugins/definition.d.ts.map +1 -1
  223. package/dist/schema/plugins/definition.js +26 -15
  224. package/dist/schema/plugins/definition.js.map +1 -1
  225. package/dist/schema/project-definition.d.ts +532 -186
  226. package/dist/schema/project-definition.d.ts.map +1 -1
  227. package/dist/schema/project-definition.js +15 -3
  228. package/dist/schema/project-definition.js.map +1 -1
  229. package/dist/schema/settings/general.d.ts +1 -1
  230. package/dist/schema/settings/general.d.ts.map +1 -1
  231. package/dist/schema/settings/general.js +4 -1
  232. package/dist/schema/settings/general.js.map +1 -1
  233. package/dist/schema/settings/settings.d.ts +3 -3
  234. package/dist/schema/settings/theme.d.ts +3 -3
  235. package/dist/testing/definition-helpers.test-helper.d.ts +12 -0
  236. package/dist/testing/definition-helpers.test-helper.d.ts.map +1 -0
  237. package/dist/testing/definition-helpers.test-helper.js +77 -0
  238. package/dist/testing/definition-helpers.test-helper.js.map +1 -0
  239. package/dist/testing/expression-stub-parser.test-helper.d.ts +59 -0
  240. package/dist/testing/expression-stub-parser.test-helper.d.ts.map +1 -0
  241. package/dist/testing/expression-stub-parser.test-helper.js +79 -0
  242. package/dist/testing/expression-stub-parser.test-helper.js.map +1 -0
  243. package/dist/testing/expression-warning-parser.test-helper.d.ts +39 -0
  244. package/dist/testing/expression-warning-parser.test-helper.d.ts.map +1 -0
  245. package/dist/testing/expression-warning-parser.test-helper.js +62 -0
  246. package/dist/testing/expression-warning-parser.test-helper.js.map +1 -0
  247. package/dist/testing/index.d.ts +5 -0
  248. package/dist/testing/index.d.ts.map +1 -0
  249. package/dist/testing/index.js +5 -0
  250. package/dist/testing/index.js.map +1 -0
  251. package/dist/testing/parser-context.test-helper.d.ts +8 -0
  252. package/dist/testing/parser-context.test-helper.d.ts.map +1 -0
  253. package/dist/testing/parser-context.test-helper.js +16 -0
  254. package/dist/testing/parser-context.test-helper.js.map +1 -0
  255. package/dist/{definition/project-definition-container.test-utils.d.ts → testing/project-definition-container.test-helper.d.ts} +4 -2
  256. package/dist/testing/project-definition-container.test-helper.d.ts.map +1 -0
  257. package/dist/{definition/project-definition-container.test-utils.js → testing/project-definition-container.test-helper.js} +11 -5
  258. package/dist/testing/project-definition-container.test-helper.js.map +1 -0
  259. package/dist/tools/assign-entity-ids.d.ts +17 -0
  260. package/dist/tools/assign-entity-ids.d.ts.map +1 -0
  261. package/dist/tools/assign-entity-ids.js +34 -0
  262. package/dist/tools/assign-entity-ids.js.map +1 -0
  263. package/dist/tools/entity-service/entity-navigation.d.ts +13 -0
  264. package/dist/tools/entity-service/entity-navigation.d.ts.map +1 -0
  265. package/dist/tools/entity-service/entity-navigation.js +84 -0
  266. package/dist/tools/entity-service/entity-navigation.js.map +1 -0
  267. package/dist/tools/entity-service/entity-read.d.ts +38 -0
  268. package/dist/tools/entity-service/entity-read.d.ts.map +1 -0
  269. package/dist/tools/entity-service/entity-read.js +56 -0
  270. package/dist/tools/entity-service/entity-read.js.map +1 -0
  271. package/dist/tools/entity-service/entity-type-map.d.ts +18 -0
  272. package/dist/tools/entity-service/entity-type-map.d.ts.map +1 -0
  273. package/dist/tools/entity-service/entity-type-map.js +75 -0
  274. package/dist/tools/entity-service/entity-type-map.js.map +1 -0
  275. package/dist/tools/entity-service/entity-write.d.ts +39 -0
  276. package/dist/tools/entity-service/entity-write.d.ts.map +1 -0
  277. package/dist/tools/entity-service/entity-write.js +99 -0
  278. package/dist/tools/entity-service/entity-write.js.map +1 -0
  279. package/dist/tools/entity-service/index.d.ts +5 -0
  280. package/dist/tools/entity-service/index.d.ts.map +1 -0
  281. package/dist/tools/entity-service/index.js +4 -0
  282. package/dist/tools/entity-service/index.js.map +1 -0
  283. package/dist/tools/entity-service/types.d.ts +41 -0
  284. package/dist/tools/entity-service/types.d.ts.map +1 -0
  285. package/dist/tools/entity-service/types.js +2 -0
  286. package/dist/tools/entity-service/types.js.map +1 -0
  287. package/dist/tools/index.d.ts +2 -1
  288. package/dist/tools/index.d.ts.map +1 -1
  289. package/dist/tools/index.js +2 -1
  290. package/dist/tools/index.js.map +1 -1
  291. package/dist/tools/merge-schema/diff-definition.d.ts +74 -0
  292. package/dist/tools/merge-schema/diff-definition.d.ts.map +1 -0
  293. package/dist/tools/merge-schema/diff-definition.js +163 -0
  294. package/dist/tools/merge-schema/diff-definition.js.map +1 -0
  295. package/dist/tools/merge-schema/entity-utils.d.ts +18 -0
  296. package/dist/tools/merge-schema/entity-utils.d.ts.map +1 -0
  297. package/dist/tools/merge-schema/entity-utils.js +42 -0
  298. package/dist/tools/merge-schema/entity-utils.js.map +1 -0
  299. package/dist/tools/merge-schema/index.d.ts +10 -0
  300. package/dist/tools/merge-schema/index.d.ts.map +1 -0
  301. package/dist/tools/merge-schema/index.js +7 -0
  302. package/dist/tools/merge-schema/index.js.map +1 -0
  303. package/dist/tools/merge-schema/merge-data-with-schema.d.ts +21 -0
  304. package/dist/tools/merge-schema/merge-data-with-schema.d.ts.map +1 -0
  305. package/dist/tools/merge-schema/merge-data-with-schema.js +168 -0
  306. package/dist/tools/merge-schema/merge-data-with-schema.js.map +1 -0
  307. package/dist/tools/merge-schema/merge-definition.d.ts +42 -0
  308. package/dist/tools/merge-schema/merge-definition.d.ts.map +1 -0
  309. package/dist/tools/merge-schema/merge-definition.js +53 -0
  310. package/dist/tools/merge-schema/merge-definition.js.map +1 -0
  311. package/dist/tools/merge-schema/merge-rule-registry.d.ts +47 -0
  312. package/dist/tools/merge-schema/merge-rule-registry.d.ts.map +1 -0
  313. package/dist/tools/merge-schema/merge-rule-registry.js +53 -0
  314. package/dist/tools/merge-schema/merge-rule-registry.js.map +1 -0
  315. package/dist/tools/merge-schema/walk-schema.d.ts +26 -0
  316. package/dist/tools/merge-schema/walk-schema.d.ts.map +1 -0
  317. package/dist/tools/merge-schema/walk-schema.js +94 -0
  318. package/dist/tools/merge-schema/walk-schema.js.map +1 -0
  319. package/dist/utils/definition-diff/definition-diff.js.map +1 -1
  320. package/dist/web/components/definition-diff-alert.d.ts +9 -0
  321. package/dist/web/components/definition-diff-alert.d.ts.map +1 -0
  322. package/dist/web/components/definition-diff-alert.js +17 -0
  323. package/dist/web/components/definition-diff-alert.js.map +1 -0
  324. package/dist/web/components/index.d.ts +1 -1
  325. package/dist/web/components/index.d.ts.map +1 -1
  326. package/dist/web/components/index.js +1 -1
  327. package/dist/web/components/index.js.map +1 -1
  328. package/dist/web/hooks/use-project-definition.d.ts +10 -2
  329. package/dist/web/hooks/use-project-definition.d.ts.map +1 -1
  330. package/dist/web/hooks/use-project-definition.js.map +1 -1
  331. package/dist/web/specs/entity-type-url-web-spec.d.ts +68 -0
  332. package/dist/web/specs/entity-type-url-web-spec.d.ts.map +1 -0
  333. package/dist/web/specs/entity-type-url-web-spec.js +27 -0
  334. package/dist/web/specs/entity-type-url-web-spec.js.map +1 -0
  335. package/dist/web/specs/index.d.ts +1 -0
  336. package/dist/web/specs/index.d.ts.map +1 -1
  337. package/dist/web/specs/index.js +1 -0
  338. package/dist/web/specs/index.js.map +1 -1
  339. package/package.json +12 -11
  340. package/dist/definition/project-definition-container.test-utils.d.ts.map +0 -1
  341. package/dist/definition/project-definition-container.test-utils.js.map +0 -1
  342. package/dist/references/collect-refs.d.ts +0 -24
  343. package/dist/references/collect-refs.d.ts.map +0 -1
  344. package/dist/references/collect-refs.js +0 -86
  345. package/dist/references/collect-refs.js.map +0 -1
  346. package/dist/references/markers.d.ts +0 -59
  347. package/dist/references/markers.d.ts.map +0 -1
  348. package/dist/references/markers.js +0 -29
  349. package/dist/references/markers.js.map +0 -1
  350. package/dist/references/strip-ref-markers.d.ts +0 -7
  351. package/dist/references/strip-ref-markers.d.ts.map +0 -1
  352. package/dist/references/strip-ref-markers.js +0 -25
  353. package/dist/references/strip-ref-markers.js.map +0 -1
  354. package/dist/schema/models/mocks.d.ts +0 -6
  355. package/dist/schema/models/mocks.d.ts.map +0 -1
  356. package/dist/schema/models/mocks.js +0 -55
  357. package/dist/schema/models/mocks.js.map +0 -1
  358. package/dist/tools/model-merger/index.d.ts +0 -2
  359. package/dist/tools/model-merger/index.d.ts.map +0 -1
  360. package/dist/tools/model-merger/index.js +0 -2
  361. package/dist/tools/model-merger/index.js.map +0 -1
  362. package/dist/tools/model-merger/model-merger.d.ts +0 -569
  363. package/dist/tools/model-merger/model-merger.d.ts.map +0 -1
  364. package/dist/tools/model-merger/model-merger.js +0 -319
  365. package/dist/tools/model-merger/model-merger.js.map +0 -1
  366. package/dist/web/components/model-merger-result-alert.d.ts +0 -8
  367. package/dist/web/components/model-merger-result-alert.d.ts.map +0 -1
  368. package/dist/web/components/model-merger-result-alert.js +0 -20
  369. package/dist/web/components/model-merger-result-alert.js.map +0 -1
@@ -0,0 +1,42 @@
1
+ import type { z } from 'zod';
2
+ import type { PartialProjectDefinitionInput, ProjectDefinition, ProjectDefinitionInput } from '#src/schema/index.js';
3
+ import { ProjectDefinitionContainer } from '#src/definition/project-definition-container.js';
4
+ /**
5
+ * Merges a partial serialized definition into a project definition,
6
+ * returning the merged serialized definition (input form with names, not IDs).
7
+ *
8
+ * Uses a schema-driven merge:
9
+ * 1. Serialize the current definition (IDs → names)
10
+ * 2. Merge the partial definition into the serialized definition using `mergeDataWithSchema`
11
+ *
12
+ * Entity arrays (models, fields, relations, etc.) are auto-merged by name.
13
+ * Non-entity arrays use `withMergeRule` annotations or default to full-replace.
14
+ * Undefined fields in `partialDef` are untouched (partial patch semantics).
15
+ *
16
+ * @param schema - The project definition Zod schema
17
+ * @param definition - The current parsed project definition (with IDs)
18
+ * @param partialDef - A partial serialized definition to merge in (uses entity names, not IDs)
19
+ * @returns The merged serialized definition (input form)
20
+ */
21
+ export declare function mergeDefinition(schema: z.ZodType, definition: ProjectDefinition, partialDef: PartialProjectDefinitionInput): ProjectDefinitionInput;
22
+ /**
23
+ * Merges a partial serialized definition and returns a new ProjectDefinitionContainer.
24
+ *
25
+ * Convenience wrapper around `mergeDefinition` that performs the full round-trip:
26
+ * serialize → merge → deserialize (names → IDs).
27
+ *
28
+ * @param container - The current project definition container
29
+ * @param partialDef - A partial serialized definition to merge in (uses entity names, not IDs)
30
+ * @returns A new ProjectDefinitionContainer with the merged definition
31
+ */
32
+ export declare function mergeDefinitionContainer(container: ProjectDefinitionContainer, partialDef: PartialProjectDefinitionInput): ProjectDefinitionContainer;
33
+ /**
34
+ * Creates a function that applies a partial definition merge to a draft config.
35
+ * Use with `saveDefinitionWithFeedback`.
36
+ *
37
+ * @param container - The current project definition container
38
+ * @param partialDef - A partial serialized definition to merge in
39
+ * @returns A setter function that replaces the draft config with the merged definition
40
+ */
41
+ export declare function applyMergedDefinition(container: ProjectDefinitionContainer, partialDef: PartialProjectDefinitionInput): (draftConfig: ProjectDefinition) => void;
42
+ //# sourceMappingURL=merge-definition.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"merge-definition.d.ts","sourceRoot":"","sources":["../../../src/tools/merge-schema/merge-definition.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAE7B,OAAO,KAAK,EACV,6BAA6B,EAC7B,iBAAiB,EACjB,sBAAsB,EACvB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,0BAA0B,EAAE,MAAM,iDAAiD,CAAC;AAK7F;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,CAAC,CAAC,OAAO,EACjB,UAAU,EAAE,iBAAiB,EAC7B,UAAU,EAAE,6BAA6B,GACxC,sBAAsB,CAOxB;AAED;;;;;;;;;GASG;AACH,wBAAgB,wBAAwB,CACtC,SAAS,EAAE,0BAA0B,EACrC,UAAU,EAAE,6BAA6B,GACxC,0BAA0B,CAU5B;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,0BAA0B,EACrC,UAAU,EAAE,6BAA6B,GACxC,CAAC,WAAW,EAAE,iBAAiB,KAAK,IAAI,CAK1C"}
@@ -0,0 +1,53 @@
1
+ import { ProjectDefinitionContainer } from '#src/definition/project-definition-container.js';
2
+ import { serializeSchema } from '#src/references/serialize-schema.js';
3
+ import { mergeDataWithSchema } from './merge-data-with-schema.js';
4
+ /**
5
+ * Merges a partial serialized definition into a project definition,
6
+ * returning the merged serialized definition (input form with names, not IDs).
7
+ *
8
+ * Uses a schema-driven merge:
9
+ * 1. Serialize the current definition (IDs → names)
10
+ * 2. Merge the partial definition into the serialized definition using `mergeDataWithSchema`
11
+ *
12
+ * Entity arrays (models, fields, relations, etc.) are auto-merged by name.
13
+ * Non-entity arrays use `withMergeRule` annotations or default to full-replace.
14
+ * Undefined fields in `partialDef` are untouched (partial patch semantics).
15
+ *
16
+ * @param schema - The project definition Zod schema
17
+ * @param definition - The current parsed project definition (with IDs)
18
+ * @param partialDef - A partial serialized definition to merge in (uses entity names, not IDs)
19
+ * @returns The merged serialized definition (input form)
20
+ */
21
+ export function mergeDefinition(schema, definition, partialDef) {
22
+ const serializedDef = serializeSchema(schema, definition);
23
+ return mergeDataWithSchema(schema, serializedDef, partialDef);
24
+ }
25
+ /**
26
+ * Merges a partial serialized definition and returns a new ProjectDefinitionContainer.
27
+ *
28
+ * Convenience wrapper around `mergeDefinition` that performs the full round-trip:
29
+ * serialize → merge → deserialize (names → IDs).
30
+ *
31
+ * @param container - The current project definition container
32
+ * @param partialDef - A partial serialized definition to merge in (uses entity names, not IDs)
33
+ * @returns A new ProjectDefinitionContainer with the merged definition
34
+ */
35
+ export function mergeDefinitionContainer(container, partialDef) {
36
+ const merged = mergeDefinition(container.schema, container.definition, partialDef);
37
+ return ProjectDefinitionContainer.fromSerializedConfig(merged, container.parserContext);
38
+ }
39
+ /**
40
+ * Creates a function that applies a partial definition merge to a draft config.
41
+ * Use with `saveDefinitionWithFeedback`.
42
+ *
43
+ * @param container - The current project definition container
44
+ * @param partialDef - A partial serialized definition to merge in
45
+ * @returns A setter function that replaces the draft config with the merged definition
46
+ */
47
+ export function applyMergedDefinition(container, partialDef) {
48
+ const mergedContainer = mergeDefinitionContainer(container, partialDef);
49
+ return (draftConfig) => {
50
+ Object.assign(draftConfig, mergedContainer.definition);
51
+ };
52
+ }
53
+ //# sourceMappingURL=merge-definition.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"merge-definition.js","sourceRoot":"","sources":["../../../src/tools/merge-schema/merge-definition.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,0BAA0B,EAAE,MAAM,iDAAiD,CAAC;AAC7F,OAAO,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AAEtE,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAElE;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,eAAe,CAC7B,MAAiB,EACjB,UAA6B,EAC7B,UAAyC;IAEzC,MAAM,aAAa,GAAG,eAAe,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAC1D,OAAO,mBAAmB,CACxB,MAAM,EACN,aAAa,EACb,UAAmB,CACM,CAAC;AAC9B,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,wBAAwB,CACtC,SAAqC,EACrC,UAAyC;IAEzC,MAAM,MAAM,GAAG,eAAe,CAC5B,SAAS,CAAC,MAAM,EAChB,SAAS,CAAC,UAAU,EACpB,UAAU,CACX,CAAC;IACF,OAAO,0BAA0B,CAAC,oBAAoB,CACpD,MAAM,EACN,SAAS,CAAC,aAAa,CACxB,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,qBAAqB,CACnC,SAAqC,EACrC,UAAyC;IAEzC,MAAM,eAAe,GAAG,wBAAwB,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IACxE,OAAO,CAAC,WAAW,EAAE,EAAE;QACrB,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,eAAe,CAAC,UAAU,CAAC,CAAC;IACzD,CAAC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,47 @@
1
+ import type { z, ZodArray } from 'zod';
2
+ /**
3
+ * A merge rule attached to a Zod schema node via `withMergeRule`.
4
+ * Controls how `mergeDataWithSchema` combines current and desired values at that node.
5
+ *
6
+ * - `replace`: Always replace current with desired (same as default leaf behavior)
7
+ * - `by-key`: Merge array items by key — items in current not present in desired are kept
8
+ */
9
+ export type MergeRule = {
10
+ readonly kind: 'replace';
11
+ } | {
12
+ readonly kind: 'by-key';
13
+ readonly getKey: (item: unknown) => string;
14
+ };
15
+ /**
16
+ * Retrieves the merge rule attached to a schema node, if any.
17
+ */
18
+ export declare function getMergeRule(schema: z.ZodType): MergeRule | undefined;
19
+ /**
20
+ * Creates a schema decorator that registers a merge rule on the schema node.
21
+ *
22
+ * ```typescript
23
+ * z.object({ ... }).apply(withMergeRule({ kind: 'replace' }))
24
+ * ```
25
+ *
26
+ * @param rule - The merge rule to attach
27
+ * @returns A function that decorates a schema with the rule
28
+ */
29
+ export declare function withMergeRule(rule: MergeRule): <T extends z.ZodType>(schema: T) => T;
30
+ /**
31
+ * Creates a schema decorator that registers a `by-key` merge rule on an array schema.
32
+ *
33
+ * Infers the element type from the array schema so `getKey` is strongly typed.
34
+ *
35
+ * ```typescript
36
+ * z
37
+ * .array(z.object({ ref: z.string(), value: z.number() }))
38
+ * .apply(withByKeyMergeRule({ getKey: (item) => item.ref }))
39
+ * ```
40
+ *
41
+ * @param options - Options with a typed `getKey` function
42
+ * @returns A schema decorator that annotates the array node with a by-key merge rule
43
+ */
44
+ export declare function withByKeyMergeRule<T extends ZodArray>(options: {
45
+ getKey: (item: z.output<T>[number]) => string;
46
+ }): (schema: T) => T;
47
+ //# sourceMappingURL=merge-rule-registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"merge-rule-registry.d.ts","sourceRoot":"","sources":["../../../src/tools/merge-schema/merge-rule-registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC;AAEvC;;;;;;GAMG;AACH,MAAM,MAAM,SAAS,GACjB;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAA;CAAE,GAC5B;IACE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,MAAM,CAAC;CAC5C,CAAC;AAUN;;GAEG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,GAAG,SAAS,GAAG,SAAS,CAErE;AAED;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAC3B,IAAI,EAAE,SAAS,GACd,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,CAKvC;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,QAAQ,EAAE,OAAO,EAAE;IAC9D,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,MAAM,CAAC;CAC/C,GAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,CAQnB"}
@@ -0,0 +1,53 @@
1
+ /**
2
+ * Registry that stores merge rule metadata on Zod schema instances.
3
+ *
4
+ * Uses a WeakMap to avoid interfering with Zod's type system.
5
+ * Annotated by `withMergeRule()`; read by `mergeDataWithSchema()`.
6
+ */
7
+ const mergeRuleRegistry = new WeakMap();
8
+ /**
9
+ * Retrieves the merge rule attached to a schema node, if any.
10
+ */
11
+ export function getMergeRule(schema) {
12
+ return mergeRuleRegistry.get(schema);
13
+ }
14
+ /**
15
+ * Creates a schema decorator that registers a merge rule on the schema node.
16
+ *
17
+ * ```typescript
18
+ * z.object({ ... }).apply(withMergeRule({ kind: 'replace' }))
19
+ * ```
20
+ *
21
+ * @param rule - The merge rule to attach
22
+ * @returns A function that decorates a schema with the rule
23
+ */
24
+ export function withMergeRule(rule) {
25
+ return (schema) => {
26
+ mergeRuleRegistry.set(schema, rule);
27
+ return schema;
28
+ };
29
+ }
30
+ /**
31
+ * Creates a schema decorator that registers a `by-key` merge rule on an array schema.
32
+ *
33
+ * Infers the element type from the array schema so `getKey` is strongly typed.
34
+ *
35
+ * ```typescript
36
+ * z
37
+ * .array(z.object({ ref: z.string(), value: z.number() }))
38
+ * .apply(withByKeyMergeRule({ getKey: (item) => item.ref }))
39
+ * ```
40
+ *
41
+ * @param options - Options with a typed `getKey` function
42
+ * @returns A schema decorator that annotates the array node with a by-key merge rule
43
+ */
44
+ export function withByKeyMergeRule(options) {
45
+ return (schema) => {
46
+ mergeRuleRegistry.set(schema, {
47
+ kind: 'by-key',
48
+ getKey: options.getKey,
49
+ });
50
+ return schema;
51
+ };
52
+ }
53
+ //# sourceMappingURL=merge-rule-registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"merge-rule-registry.js","sourceRoot":"","sources":["../../../src/tools/merge-schema/merge-rule-registry.ts"],"names":[],"mappings":"AAgBA;;;;;GAKG;AACH,MAAM,iBAAiB,GAAG,IAAI,OAAO,EAAwB,CAAC;AAE9D;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,MAAiB;IAC5C,OAAO,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACvC,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,aAAa,CAC3B,IAAe;IAEf,OAAO,CAAsB,MAAS,EAAK,EAAE;QAC3C,iBAAiB,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACpC,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,kBAAkB,CAAqB,OAEtD;IACC,OAAO,CAAC,MAAS,EAAE,EAAE;QACnB,iBAAiB,CAAC,GAAG,CAAC,MAAM,EAAE;YAC5B,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,OAAO,CAAC,MAAmC;SACpD,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,26 @@
1
+ import type { z } from 'zod';
2
+ import type { EntitySchemaMeta } from '#src/references/definition-ref-registry.js';
3
+ /**
4
+ * Information about an entity array found during schema walking.
5
+ */
6
+ export interface EntityArrayInfo {
7
+ /** Dot-separated path to the array in the definition (e.g., "models", "models.*.model.fields") */
8
+ path: string;
9
+ /** The entity metadata registered on the array element schema */
10
+ entityMeta: EntitySchemaMeta;
11
+ /** The Zod schema for the array element */
12
+ elementSchema: z.ZodType;
13
+ }
14
+ /**
15
+ * Recursively walks a Zod schema (without data) and collects all entity arrays.
16
+ *
17
+ * Unlike `walkDataWithSchema`, this operates on the schema structure alone.
18
+ * For discriminated unions, it walks all branches (since there's no data to
19
+ * pick a specific branch). Entity arrays are detected via `definitionRefRegistry`
20
+ * entity metadata on array element schemas.
21
+ *
22
+ * @param schema - The root Zod schema to walk
23
+ * @returns All entity arrays found, with their paths and metadata
24
+ */
25
+ export declare function collectEntityArrays(schema: z.ZodType): EntityArrayInfo[];
26
+ //# sourceMappingURL=walk-schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"walk-schema.d.ts","sourceRoot":"","sources":["../../../src/tools/merge-schema/walk-schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAyB,MAAM,KAAK,CAAC;AAEpD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4CAA4C,CAAC;AAMnF;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,kGAAkG;IAClG,IAAI,EAAE,MAAM,CAAC;IACb,iEAAiE;IACjE,UAAU,EAAE,gBAAgB,CAAC;IAC7B,2CAA2C;IAC3C,aAAa,EAAE,CAAC,CAAC,OAAO,CAAC;CAC1B;AAcD;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,GAAG,eAAe,EAAE,CAIxE"}
@@ -0,0 +1,94 @@
1
+ import { getSchemaChildren } from '#src/parser/schema-structure.js';
2
+ import { getEntityMeta } from './entity-utils.js';
3
+ /**
4
+ * Unwraps wrapper schemas (optional, nullable, default, prefault, readonly)
5
+ * to reach the underlying structural schema.
6
+ */
7
+ function unwrapSchema(schema) {
8
+ const children = getSchemaChildren(schema, undefined, []);
9
+ if (children.kind === 'wrapper') {
10
+ return unwrapSchema(children.innerSchema);
11
+ }
12
+ return schema;
13
+ }
14
+ /**
15
+ * Recursively walks a Zod schema (without data) and collects all entity arrays.
16
+ *
17
+ * Unlike `walkDataWithSchema`, this operates on the schema structure alone.
18
+ * For discriminated unions, it walks all branches (since there's no data to
19
+ * pick a specific branch). Entity arrays are detected via `definitionRefRegistry`
20
+ * entity metadata on array element schemas.
21
+ *
22
+ * @param schema - The root Zod schema to walk
23
+ * @returns All entity arrays found, with their paths and metadata
24
+ */
25
+ export function collectEntityArrays(schema) {
26
+ const result = [];
27
+ walkSchemaNode(schema, [], result, new Set());
28
+ return result;
29
+ }
30
+ function walkSchemaNode(schema, pathParts, result, visited) {
31
+ // Guard against circular references
32
+ if (visited.has(schema)) {
33
+ return;
34
+ }
35
+ visited.add(schema);
36
+ const children = getSchemaChildren(schema, undefined, []);
37
+ switch (children.kind) {
38
+ case 'leaf':
39
+ case 'leaf-union': {
40
+ break;
41
+ }
42
+ case 'wrapper': {
43
+ walkSchemaNode(children.innerSchema, pathParts, result, visited);
44
+ break;
45
+ }
46
+ case 'object': {
47
+ for (const [key, fieldSchema] of children.entries) {
48
+ walkSchemaNode(fieldSchema, [...pathParts, key], result, visited);
49
+ }
50
+ break;
51
+ }
52
+ case 'array': {
53
+ const entityMeta = getEntityMeta(children.elementSchema);
54
+ if (entityMeta) {
55
+ result.push({
56
+ path: pathParts.join('.'),
57
+ entityMeta,
58
+ elementSchema: children.elementSchema,
59
+ });
60
+ }
61
+ // Continue walking inside array elements using `*` as path segment
62
+ walkSchemaNode(children.elementSchema, [...pathParts, '*'], result, visited);
63
+ break;
64
+ }
65
+ case 'discriminated-union': {
66
+ // Walk all branches since we don't have data to pick one
67
+ const unwrapped = unwrapSchema(schema);
68
+ for (const option of unwrapped.options) {
69
+ walkSchemaNode(option, pathParts, result, visited);
70
+ }
71
+ break;
72
+ }
73
+ case 'tuple': {
74
+ for (const [i, itemSchema] of children.items.entries()) {
75
+ walkSchemaNode(itemSchema, [...pathParts, String(i)], result, visited);
76
+ }
77
+ if (children.rest) {
78
+ walkSchemaNode(children.rest, [...pathParts, '*'], result, visited);
79
+ }
80
+ break;
81
+ }
82
+ case 'record': {
83
+ walkSchemaNode(children.valueSchema, [...pathParts, '*'], result, visited);
84
+ break;
85
+ }
86
+ case 'intersection': {
87
+ walkSchemaNode(children.left, pathParts, result, visited);
88
+ walkSchemaNode(children.right, pathParts, result, visited);
89
+ break;
90
+ }
91
+ }
92
+ visited.delete(schema);
93
+ }
94
+ //# sourceMappingURL=walk-schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"walk-schema.js","sourceRoot":"","sources":["../../../src/tools/merge-schema/walk-schema.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"definition-diff.js","sourceRoot":"","sources":["../../../src/utils/definition-diff/definition-diff.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"definition-diff.js","sourceRoot":"","sources":["../../../src/utils/definition-diff/definition-diff.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import type { ReactElement } from 'react';
2
+ import type { DefinitionDiff } from '#src/tools/index.js';
3
+ interface DefinitionDiffAlertProps {
4
+ diff: DefinitionDiff;
5
+ upToDateMessage?: string;
6
+ }
7
+ export declare function DefinitionDiffAlert({ diff, upToDateMessage, }: DefinitionDiffAlertProps): ReactElement;
8
+ export {};
9
+ //# sourceMappingURL=definition-diff-alert.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"definition-diff-alert.d.ts","sourceRoot":"","sources":["../../../src/web/components/definition-diff-alert.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAgB1C,OAAO,KAAK,EAAE,cAAc,EAAuB,MAAM,qBAAqB,CAAC;AAyD/E,UAAU,wBAAwB;IAChC,IAAI,EAAE,cAAc,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,wBAAgB,mBAAmB,CAAC,EAClC,IAAI,EACJ,eAAkE,GACnE,EAAE,wBAAwB,GAAG,YAAY,CA4BzC"}
@@ -0,0 +1,17 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Alert, AlertDescription, AlertTitle, Badge, Button, Dialog, DialogContent, DialogHeader, DialogTitle, DialogTrigger, JsonDiffViewer, } from '@baseplate-dev/ui-components';
3
+ const CHANGE_TYPE_BADGE_VARIANT = {
4
+ added: 'default',
5
+ updated: 'secondary',
6
+ removed: 'destructive',
7
+ };
8
+ function DefinitionDiffEntryRow({ entry, }) {
9
+ return (_jsxs("div", { className: "flex w-full items-center justify-between rounded-md px-3 py-2 text-sm", children: [_jsx("span", { className: "font-medium", children: entry.label }), _jsxs("div", { className: "flex items-center gap-2", children: [_jsx(Badge, { variant: CHANGE_TYPE_BADGE_VARIANT[entry.type], children: entry.type }), _jsxs(Dialog, { children: [_jsx(DialogTrigger, { asChild: true, children: _jsx(Button, { variant: "ghost", size: "sm", children: "Details" }) }), _jsxs(DialogContent, { width: "xl", children: [_jsx(DialogHeader, { children: _jsxs(DialogTitle, { children: [entry.label, " \u2014 ", entry.type] }) }), _jsx("div", { className: "max-h-[60vh] overflow-auto", children: entry.type === 'added' ? (_jsx("pre", { className: "whitespace-pre-wrap text-xs", children: JSON.stringify(entry.merged, null, 2) })) : entry.type === 'removed' ? (_jsx("pre", { className: "whitespace-pre-wrap text-xs", children: JSON.stringify(entry.current, null, 2) })) : (_jsx(JsonDiffViewer, { oldValue: entry.current, newValue: entry.merged })) })] })] })] })] }));
10
+ }
11
+ export function DefinitionDiffAlert({ diff, upToDateMessage = 'All changes are up to date. No changes needed.', }) {
12
+ if (!diff.hasChanges) {
13
+ return (_jsxs(Alert, { variant: "default", children: [_jsx(AlertTitle, { children: "Up to Date" }), _jsx(AlertDescription, { children: upToDateMessage })] }));
14
+ }
15
+ return (_jsxs("div", { className: "space-y-4", children: [_jsxs(Alert, { variant: "warning", children: [_jsx(AlertTitle, { children: "Pending Changes" }), _jsx(AlertDescription, { children: "The following changes will be applied when you save:" })] }), _jsx("div", { className: "space-y-1", children: diff.entries.map((entry) => (_jsx(DefinitionDiffEntryRow, { entry: entry }, `${entry.path}-${entry.label}`))) })] }));
16
+ }
17
+ //# sourceMappingURL=definition-diff-alert.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"definition-diff-alert.js","sourceRoot":"","sources":["../../../src/web/components/definition-diff-alert.tsx"],"names":[],"mappings":";AAEA,OAAO,EACL,KAAK,EACL,gBAAgB,EAChB,UAAU,EACV,KAAK,EACL,MAAM,EACN,MAAM,EACN,aAAa,EACb,YAAY,EACZ,WAAW,EACX,aAAa,EACb,cAAc,GACf,MAAM,8BAA8B,CAAC;AAItC,MAAM,yBAAyB,GAAG;IAChC,KAAK,EAAE,SAAS;IAChB,OAAO,EAAE,WAAW;IACpB,OAAO,EAAE,aAAa;CACd,CAAC;AAMX,SAAS,sBAAsB,CAAC,EAC9B,KAAK,GACuB;IAC5B,OAAO,CACL,eAAK,SAAS,EAAC,uEAAuE,aACpF,eAAM,SAAS,EAAC,aAAa,YAAE,KAAK,CAAC,KAAK,GAAQ,EAClD,eAAK,SAAS,EAAC,yBAAyB,aACtC,KAAC,KAAK,IAAC,OAAO,EAAE,yBAAyB,CAAC,KAAK,CAAC,IAAI,CAAC,YAClD,KAAK,CAAC,IAAI,GACL,EACR,MAAC,MAAM,eACL,KAAC,aAAa,IAAC,OAAO,kBACpB,KAAC,MAAM,IAAC,OAAO,EAAC,OAAO,EAAC,IAAI,EAAC,IAAI,wBAExB,GACK,EAChB,MAAC,aAAa,IAAC,KAAK,EAAC,IAAI,aACvB,KAAC,YAAY,cACX,MAAC,WAAW,eACT,KAAK,CAAC,KAAK,cAAK,KAAK,CAAC,IAAI,IACf,GACD,EACf,cAAK,SAAS,EAAC,4BAA4B,YACxC,KAAK,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,CACxB,cAAK,SAAS,EAAC,6BAA6B,YACzC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,GAClC,CACP,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,CAC7B,cAAK,SAAS,EAAC,6BAA6B,YACzC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,GACnC,CACP,CAAC,CAAC,CAAC,CACF,KAAC,cAAc,IACb,QAAQ,EAAE,KAAK,CAAC,OAAO,EACvB,QAAQ,EAAE,KAAK,CAAC,MAAM,GACtB,CACH,GACG,IACQ,IACT,IACL,IACF,CACP,CAAC;AACJ,CAAC;AAOD,MAAM,UAAU,mBAAmB,CAAC,EAClC,IAAI,EACJ,eAAe,GAAG,gDAAgD,GACzC;IACzB,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;QACrB,OAAO,CACL,MAAC,KAAK,IAAC,OAAO,EAAC,SAAS,aACtB,KAAC,UAAU,6BAAwB,EACnC,KAAC,gBAAgB,cAAE,eAAe,GAAoB,IAChD,CACT,CAAC;IACJ,CAAC;IAED,OAAO,CACL,eAAK,SAAS,EAAC,WAAW,aACxB,MAAC,KAAK,IAAC,OAAO,EAAC,SAAS,aACtB,KAAC,UAAU,kCAA6B,EACxC,KAAC,gBAAgB,uEAEE,IACb,EACR,cAAK,SAAS,EAAC,WAAW,YACvB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAC3B,KAAC,sBAAsB,IAErB,KAAK,EAAE,KAAK,IADP,GAAG,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE,CAEnC,CACH,CAAC,GACE,IACF,CACP,CAAC;AACJ,CAAC"}
@@ -1,4 +1,4 @@
1
+ export * from './definition-diff-alert.js';
1
2
  export * from './feature-combobox-field.js';
2
3
  export * from './model-combobox-field.js';
3
- export * from './model-merger-result-alert.js';
4
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/web/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,6BAA6B,CAAC;AAC5C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,gCAAgC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/web/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,2BAA2B,CAAC"}
@@ -1,4 +1,4 @@
1
+ export * from './definition-diff-alert.js';
1
2
  export * from './feature-combobox-field.js';
2
3
  export * from './model-combobox-field.js';
3
- export * from './model-merger-result-alert.js';
4
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/web/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,6BAA6B,CAAC;AAC5C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,gCAAgC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/web/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,2BAA2B,CAAC"}
@@ -2,6 +2,7 @@ import React from 'react';
2
2
  import type { ProjectDefinitionContainer } from '#src/definition/project-definition-container.js';
3
3
  import type { SchemaParserContext } from '#src/parser/types.js';
4
4
  import type { PluginSpecStore } from '#src/plugins/index.js';
5
+ import type { DefinitionIssue } from '#src/schema/creator/definition-issue-types.js';
5
6
  import type { DefinitionSchemaParserContext } from '#src/schema/index.js';
6
7
  import type { ProjectDefinition } from '#src/schema/project-definition.js';
7
8
  /**
@@ -16,6 +17,9 @@ export interface SaveDefinitionWithFeedbackOptions {
16
17
  successMessage?: string;
17
18
  onSuccess?: () => void;
18
19
  }
20
+ export interface SaveDefinitionResult {
21
+ warnings: DefinitionIssue[];
22
+ }
19
23
  /**
20
24
  * The result of the `useProjectDefinition` hook.
21
25
  */
@@ -33,9 +37,9 @@ export interface UseProjectDefinitionResult {
33
37
  */
34
38
  updatedExternally: boolean;
35
39
  /**
36
- * Save the project definition.
40
+ * Save the project definition. Returns the number of warnings encountered.
37
41
  */
38
- saveDefinition: (definition: ProjectDefinitionSetter) => Promise<void>;
42
+ saveDefinition: (definition: ProjectDefinitionSetter) => Promise<SaveDefinitionResult>;
39
43
  /**
40
44
  * Save the project definition with feedback showing a toast
41
45
  * when there are errors or a success message when the definition is saved.
@@ -64,6 +68,10 @@ export interface UseProjectDefinitionResult {
64
68
  * The definition schema parser context.
65
69
  */
66
70
  definitionSchemaParserContext: DefinitionSchemaParserContext;
71
+ /**
72
+ * Warning-severity definition issues that allow saving but should be shown before syncing.
73
+ */
74
+ definitionWarnings: DefinitionIssue[];
67
75
  }
68
76
  export declare const ProjectDefinitionContext: React.Context<UseProjectDefinitionResult | null>;
69
77
  export declare function useProjectDefinition(): UseProjectDefinitionResult;
@@ -1 +1 @@
1
- {"version":3,"file":"use-project-definition.d.ts","sourceRoot":"","sources":["../../../src/web/hooks/use-project-definition.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,iDAAiD,CAAC;AAClG,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,sBAAsB,CAAC;AAC1E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAE3E;;;;;GAKG;AACH,MAAM,MAAM,uBAAuB,GAAG,CAAC,WAAW,EAAE,iBAAiB,KAAK,IAAI,CAAC;AAE/E,MAAM,WAAW,iCAAiC;IAChD,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC;;OAEG;IACH,UAAU,EAAE,iBAAiB,CAAC;IAC9B;;OAEG;IACH,mBAAmB,EAAE,0BAA0B,CAAC;IAChD;;OAEG;IACH,iBAAiB,EAAE,OAAO,CAAC;IAC3B;;OAEG;IACH,cAAc,EAAE,CAAC,UAAU,EAAE,uBAAuB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACvE;;;OAGG;IACH,0BAA0B,EAAE,CAC1B,UAAU,EAAE,uBAAuB,EACnC,OAAO,CAAC,EAAE,iCAAiC,KACxC,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IACnC;;;OAGG;IACH,8BAA8B,EAAE,CAC9B,UAAU,EAAE,uBAAuB,EACnC,OAAO,CAAC,EAAE,iCAAiC,KACxC,IAAI,CAAC;IACV;;OAEG;IACH,kBAAkB,EAAE,OAAO,CAAC;IAC5B;;OAEG;IACH,eAAe,EAAE,eAAe,CAAC;IACjC;;OAEG;IACH,mBAAmB,EAAE,mBAAmB,CAAC;IACzC;;OAEG;IACH,6BAA6B,EAAE,6BAA6B,CAAC;CAC9D;AAED,eAAO,MAAM,wBAAwB,kDACyB,CAAC;AAE/D,wBAAgB,oBAAoB,IAAI,0BAA0B,CAQjE"}
1
+ {"version":3,"file":"use-project-definition.d.ts","sourceRoot":"","sources":["../../../src/web/hooks/use-project-definition.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,iDAAiD,CAAC;AAClG,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+CAA+C,CAAC;AACrF,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,sBAAsB,CAAC;AAC1E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAE3E;;;;;GAKG;AACH,MAAM,MAAM,uBAAuB,GAAG,CAAC,WAAW,EAAE,iBAAiB,KAAK,IAAI,CAAC;AAE/E,MAAM,WAAW,iCAAiC;IAChD,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;CACxB;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,eAAe,EAAE,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC;;OAEG;IACH,UAAU,EAAE,iBAAiB,CAAC;IAC9B;;OAEG;IACH,mBAAmB,EAAE,0BAA0B,CAAC;IAChD;;OAEG;IACH,iBAAiB,EAAE,OAAO,CAAC;IAC3B;;OAEG;IACH,cAAc,EAAE,CACd,UAAU,EAAE,uBAAuB,KAChC,OAAO,CAAC,oBAAoB,CAAC,CAAC;IACnC;;;OAGG;IACH,0BAA0B,EAAE,CAC1B,UAAU,EAAE,uBAAuB,EACnC,OAAO,CAAC,EAAE,iCAAiC,KACxC,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IACnC;;;OAGG;IACH,8BAA8B,EAAE,CAC9B,UAAU,EAAE,uBAAuB,EACnC,OAAO,CAAC,EAAE,iCAAiC,KACxC,IAAI,CAAC;IACV;;OAEG;IACH,kBAAkB,EAAE,OAAO,CAAC;IAC5B;;OAEG;IACH,eAAe,EAAE,eAAe,CAAC;IACjC;;OAEG;IACH,mBAAmB,EAAE,mBAAmB,CAAC;IACzC;;OAEG;IACH,6BAA6B,EAAE,6BAA6B,CAAC;IAC7D;;OAEG;IACH,kBAAkB,EAAE,eAAe,EAAE,CAAC;CACvC;AAED,eAAO,MAAM,wBAAwB,kDACyB,CAAC;AAE/D,wBAAgB,oBAAoB,IAAI,0BAA0B,CAQjE"}
@@ -1 +1 @@
1
- {"version":3,"file":"use-project-definition.js","sourceRoot":"","sources":["../../../src/web/hooks/use-project-definition.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AA4E1B,MAAM,CAAC,MAAM,wBAAwB,GACnC,KAAK,CAAC,aAAa,CAAoC,IAAI,CAAC,CAAC;AAE/D,MAAM,UAAU,oBAAoB;IAClC,MAAM,MAAM,GAAG,KAAK,CAAC,UAAU,CAAC,wBAAwB,CAAC,CAAC;IAC1D,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CACb,wEAAwE,CACzE,CAAC;IACJ,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"use-project-definition.js","sourceRoot":"","sources":["../../../src/web/hooks/use-project-definition.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAuF1B,MAAM,CAAC,MAAM,wBAAwB,GACnC,KAAK,CAAC,aAAa,CAAoC,IAAI,CAAC,CAAC;AAE/D,MAAM,UAAU,oBAAoB;IAClC,MAAM,MAAM,GAAG,KAAK,CAAC,UAAU,CAAC,wBAAwB,CAAC,CAAC;IAC1D,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CACb,wEAAwE,CACzE,CAAC;IACJ,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -0,0 +1,68 @@
1
+ import type { DefinitionEntityType } from '#src/references/types.js';
2
+ /**
3
+ * Parameters passed to an entity type nav builder, conditioned on whether the
4
+ * entity type has a parent. If THasParent is true, parentId/parentKey are required
5
+ * strings. If false, they are undefined. grandparentId/grandparentKey follow the
6
+ * same pattern based on whether the parent type itself has a parent.
7
+ */
8
+ export interface EntityTypeUrlParams<THasParent extends boolean = boolean> {
9
+ entityId: string;
10
+ entityKey: string;
11
+ parentId: THasParent extends true ? string : undefined;
12
+ parentKey: THasParent extends true ? string : undefined;
13
+ grandparentId: string | undefined;
14
+ grandparentKey: string | undefined;
15
+ }
16
+ /**
17
+ * Discriminated union of all navigable entity pages.
18
+ * This is router-agnostic — the web layer maps these to concrete navigate options.
19
+ *
20
+ * Plugins returning an EntityNavTarget do not need to know about TanStack routes.
21
+ */
22
+ export type EntityNavTarget = {
23
+ page: 'model';
24
+ key: string;
25
+ } | {
26
+ page: 'model';
27
+ key: string;
28
+ subpath: 'service' | 'authorization' | 'graphql';
29
+ } | {
30
+ page: 'enum';
31
+ key: string;
32
+ } | {
33
+ page: 'plugin';
34
+ key: string;
35
+ } | {
36
+ page: 'app';
37
+ key: string;
38
+ } | {
39
+ page: 'lib';
40
+ key: string;
41
+ } | {
42
+ page: 'admin-section';
43
+ appKey: string;
44
+ sectionKey: string;
45
+ };
46
+ /**
47
+ * Builder function type conditioned on whether the entity has a parent.
48
+ * If THasParent is true, parentId and parentKey are required strings.
49
+ * If false, they are undefined. grandparentId/grandparentKey are always
50
+ * string | undefined since the parent's parent may or may not exist.
51
+ */
52
+ export type EntityTypeNavBuilder<THasParent extends boolean = boolean> = (params: EntityTypeUrlParams<THasParent>) => EntityNavTarget | undefined;
53
+ /**
54
+ * Spec for registering navigation builder functions for definition entity types.
55
+ *
56
+ * Use `register(entityType, builder)` during initialization. If the entity type
57
+ * has a parent (THasParent = true), parentId and parentKey are required strings
58
+ * in the builder's params. grandparentId/grandparentKey are always optional and
59
+ * available for grandchild entity types.
60
+ *
61
+ * After initialization, use `getNavBuilder(entityType)` to retrieve the builder.
62
+ */
63
+ export declare const entityTypeUrlWebSpec: import("#src/plugins/spec/types.js").PluginSpec<{
64
+ register: <THasParent extends boolean>(entityType: DefinitionEntityType<THasParent>, builder: EntityTypeNavBuilder<THasParent>) => void;
65
+ }, {
66
+ getNavBuilder: (entityType: DefinitionEntityType) => EntityTypeNavBuilder | undefined;
67
+ }>;
68
+ //# sourceMappingURL=entity-type-url-web-spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entity-type-url-web-spec.d.ts","sourceRoot":"","sources":["../../../src/web/specs/entity-type-url-web-spec.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAIrE;;;;;GAKG;AACH,MAAM,WAAW,mBAAmB,CAAC,UAAU,SAAS,OAAO,GAAG,OAAO;IACvE,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,UAAU,SAAS,IAAI,GAAG,MAAM,GAAG,SAAS,CAAC;IACvD,SAAS,EAAE,UAAU,SAAS,IAAI,GAAG,MAAM,GAAG,SAAS,CAAC;IACxD,aAAa,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,cAAc,EAAE,MAAM,GAAG,SAAS,CAAC;CACpC;AAED;;;;;GAKG;AACH,MAAM,MAAM,eAAe,GACvB;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GAC9B;IACE,IAAI,EAAE,OAAO,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,SAAS,GAAG,eAAe,GAAG,SAAS,CAAC;CAClD,GACD;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GAC7B;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GAC/B;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GAC5B;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GAC5B;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAAC;AAElE;;;;;GAKG;AACH,MAAM,MAAM,oBAAoB,CAAC,UAAU,SAAS,OAAO,GAAG,OAAO,IAAI,CACvE,MAAM,EAAE,mBAAmB,CAAC,UAAU,CAAC,KACpC,eAAe,GAAG,SAAS,CAAC;AAEjC;;;;;;;;;GASG;AACH,eAAO,MAAM,oBAAoB;eAOZ,UAAU,SAAS,OAAO,cACvB,oBAAoB,CAAC,UAAU,CAAC,WACnC,oBAAoB,CAAC,UAAU,CAAC,KACxC,IAAI;;gCAMO,oBAAoB,KAC/B,oBAAoB,GAAG,SAAS;EAK5C,CAAC"}
@@ -0,0 +1,27 @@
1
+ import { createPluginSpec } from '#src/plugins/spec/types.js';
2
+ /**
3
+ * Spec for registering navigation builder functions for definition entity types.
4
+ *
5
+ * Use `register(entityType, builder)` during initialization. If the entity type
6
+ * has a parent (THasParent = true), parentId and parentKey are required strings
7
+ * in the builder's params. grandparentId/grandparentKey are always optional and
8
+ * available for grandchild entity types.
9
+ *
10
+ * After initialization, use `getNavBuilder(entityType)` to retrieve the builder.
11
+ */
12
+ export const entityTypeUrlWebSpec = createPluginSpec('core/entity-type-url-web', {
13
+ initializer: () => {
14
+ const builders = new Map();
15
+ return {
16
+ init: {
17
+ register: (entityType, builder) => {
18
+ builders.set(entityType.name, builder);
19
+ },
20
+ },
21
+ use: () => ({
22
+ getNavBuilder: (entityType) => builders.get(entityType.name),
23
+ }),
24
+ };
25
+ },
26
+ });
27
+ //# sourceMappingURL=entity-type-url-web-spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entity-type-url-web-spec.js","sourceRoot":"","sources":["../../../src/web/specs/entity-type-url-web-spec.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AA8C9D;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,gBAAgB,CAClD,0BAA0B,EAC1B;IACE,WAAW,EAAE,GAAG,EAAE;QAChB,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAgC,CAAC;QACzD,OAAO;YACL,IAAI,EAAE;gBACJ,QAAQ,EAAE,CACR,UAA4C,EAC5C,OAAyC,EACnC,EAAE;oBACR,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,OAA+B,CAAC,CAAC;gBACjE,CAAC;aACF;YACD,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;gBACV,aAAa,EAAE,CACb,UAAgC,EACE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC;aACrE,CAAC;SACH,CAAC;IACJ,CAAC;CACF,CACF,CAAC"}
@@ -1,5 +1,6 @@
1
1
  export * from './admin-crud-action-web-spec.js';
2
2
  export * from './admin-crud-column-web-spec.js';
3
3
  export * from './admin-crud-input-web-spec.js';
4
+ export * from './entity-type-url-web-spec.js';
4
5
  export * from './model-transformer-web-spec.js';
5
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/web/specs/index.ts"],"names":[],"mappings":"AAAA,cAAc,iCAAiC,CAAC;AAChD,cAAc,iCAAiC,CAAC;AAChD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,iCAAiC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/web/specs/index.ts"],"names":[],"mappings":"AAAA,cAAc,iCAAiC,CAAC;AAChD,cAAc,iCAAiC,CAAC;AAChD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,iCAAiC,CAAC"}
@@ -1,5 +1,6 @@
1
1
  export * from './admin-crud-action-web-spec.js';
2
2
  export * from './admin-crud-column-web-spec.js';
3
3
  export * from './admin-crud-input-web-spec.js';
4
+ export * from './entity-type-url-web-spec.js';
4
5
  export * from './model-transformer-web-spec.js';
5
6
  //# sourceMappingURL=index.js.map