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

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 +69 -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,140 @@
1
+ import { isPlainObject } from 'es-toolkit';
2
+ import { get } from 'es-toolkit/compat';
3
+ import { definitionRefRegistry } from '#src/references/definition-ref-registry.js';
4
+ import { getSchemaChildren } from './schema-structure.js';
5
+ /**
6
+ * Walks a Zod schema structure in parallel with parsed data, invoking
7
+ * registered visitors whenever schema nodes are encountered.
8
+ *
9
+ * Each visitor's `visit()` is called for every node. If it returns a cleanup
10
+ * function, that function is called after all children have been visited —
11
+ * similar to the React `useEffect` cleanup pattern.
12
+ *
13
+ * The walker is entity-aware: it detects entity boundaries via
14
+ * `definitionRefRegistry` annotations and tracks the current entity ID and
15
+ * relative path, exposing them through `SchemaWalkContext`.
16
+ *
17
+ * Only serializable, structurally-traversable schema types are supported.
18
+ * Non-serializable types (transform, custom, file, symbol, promise, function,
19
+ * lazy, etc.) will throw at walk time.
20
+ *
21
+ * Discriminated unions are fully supported. Plain `z.union()` is allowed only
22
+ * when every option is a leaf type (string, enum, or literal); otherwise it throws.
23
+ */
24
+ export function walkDataWithSchema(schema, data, visitors) {
25
+ const entityCtx = {
26
+ entityId: undefined,
27
+ entityBasePath: [],
28
+ };
29
+ walkNode(schema, data, [], visitors, entityCtx);
30
+ }
31
+ function walkNode(schema, data, path, visitors, entityCtx) {
32
+ // Check for entity boundary before visiting
33
+ let entityRestore;
34
+ const metaList = definitionRefRegistry.getAll(schema);
35
+ for (const meta of metaList) {
36
+ if (meta.kind === 'entity' && isPlainObject(data)) {
37
+ const id = get(data, meta.idPath);
38
+ if (typeof id === 'string' && id) {
39
+ const prevEntityId = entityCtx.entityId;
40
+ const prevEntityBasePath = entityCtx.entityBasePath;
41
+ entityCtx.entityId = id;
42
+ entityCtx.entityBasePath = path;
43
+ entityRestore = () => {
44
+ entityCtx.entityId = prevEntityId;
45
+ entityCtx.entityBasePath = prevEntityBasePath;
46
+ };
47
+ break;
48
+ }
49
+ }
50
+ }
51
+ const entityRelativePath = path.slice(entityCtx.entityBasePath.length);
52
+ const ctx = {
53
+ path,
54
+ entityId: entityCtx.entityId,
55
+ entityRelativePath,
56
+ };
57
+ // Step 1: Call all visitors, collect any cleanup functions returned.
58
+ const cleanups = [];
59
+ for (const visitor of visitors) {
60
+ const cleanup = visitor.visit(schema, data, ctx);
61
+ if (cleanup)
62
+ cleanups.push(cleanup);
63
+ }
64
+ // Step 2: Structural descent based on schema children.
65
+ const children = getSchemaChildren(schema, data, path);
66
+ switch (children.kind) {
67
+ case 'leaf': {
68
+ break;
69
+ }
70
+ case 'leaf-union': {
71
+ break;
72
+ }
73
+ case 'wrapper': {
74
+ if (children.skipIfNullish && (data === undefined || data === null))
75
+ break;
76
+ walkNode(children.innerSchema, data, path, visitors, entityCtx);
77
+ break;
78
+ }
79
+ case 'object': {
80
+ if (data === null || data === undefined || typeof data !== 'object')
81
+ break;
82
+ for (const [key, fieldSchema] of children.entries) {
83
+ walkNode(fieldSchema, data[key], [...path, key], visitors, entityCtx);
84
+ }
85
+ break;
86
+ }
87
+ case 'array': {
88
+ if (!Array.isArray(data))
89
+ break;
90
+ for (const [i, datum] of data.entries()) {
91
+ walkNode(children.elementSchema, datum, [...path, i], visitors, entityCtx);
92
+ }
93
+ break;
94
+ }
95
+ case 'tuple': {
96
+ if (!Array.isArray(data))
97
+ break;
98
+ for (const [i, itemSchema] of children.items.entries()) {
99
+ if (i < data.length) {
100
+ walkNode(itemSchema, data[i], [...path, i], visitors, entityCtx);
101
+ }
102
+ }
103
+ if (children.rest) {
104
+ for (let i = children.items.length; i < data.length; i++) {
105
+ walkNode(children.rest, data[i], [...path, i], visitors, entityCtx);
106
+ }
107
+ }
108
+ break;
109
+ }
110
+ case 'record': {
111
+ if (data === null || data === undefined || typeof data !== 'object')
112
+ break;
113
+ for (const [key, value] of Object.entries(data)) {
114
+ walkNode(children.valueSchema, value, [...path, key], visitors, entityCtx);
115
+ }
116
+ break;
117
+ }
118
+ case 'discriminated-union': {
119
+ if (children.match) {
120
+ walkNode(children.match, data, path, visitors, entityCtx);
121
+ }
122
+ break;
123
+ }
124
+ case 'intersection': {
125
+ // Walk both sides — data satisfies both schemas simultaneously
126
+ walkNode(children.left, data, path, visitors, entityCtx);
127
+ walkNode(children.right, data, path, visitors, entityCtx);
128
+ break;
129
+ }
130
+ }
131
+ // Step 3: Run cleanup functions in reverse order (innermost first).
132
+ for (let i = cleanups.length - 1; i >= 0; i--) {
133
+ cleanups[i]();
134
+ }
135
+ // Step 4: Restore entity context if we crossed a boundary.
136
+ if (entityRestore) {
137
+ entityRestore();
138
+ }
139
+ }
140
+ //# sourceMappingURL=walk-data-with-schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"walk-data-with-schema.js","sourceRoot":"","sources":["../../src/parser/walk-data-with-schema.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,60 @@
1
+ import type { z } from 'zod';
2
+ /**
3
+ * Represents a single deterministic step in navigating from a parent entity
4
+ * (or definition root) to a child entity array.
5
+ *
6
+ * Only deterministic navigation steps are represented:
7
+ * - `object-key`: navigate into an object property
8
+ * - `tuple-index`: navigate into a specific tuple position
9
+ * - `discriminated-union-array`: enter an array and pick the unique element
10
+ * matching a discriminator value
11
+ *
12
+ * Non-deterministic structures (plain arrays, records) are not represented
13
+ * in the path — the walker descends into them without adding path elements.
14
+ */
15
+ export type SchemaPathElement = {
16
+ type: 'object-key';
17
+ key: string;
18
+ } | {
19
+ type: 'tuple-index';
20
+ index: number;
21
+ } | {
22
+ type: 'discriminated-union-array';
23
+ discriminatorKey: string;
24
+ value: string;
25
+ };
26
+ /**
27
+ * The context passed to visitors during a schema structure walk.
28
+ * Carries the current path as `SchemaPathElement[]`.
29
+ */
30
+ export interface SchemaStructureWalkContext {
31
+ /** The absolute path to the current node in the schema. */
32
+ readonly path: SchemaPathElement[];
33
+ }
34
+ /**
35
+ * A visitor that plugs into `walkSchemaStructure`.
36
+ *
37
+ * Called for every node in the schema tree. If the visitor returns a
38
+ * cleanup function, it will be called after all children have been visited —
39
+ * similar to the React `useEffect` cleanup pattern.
40
+ */
41
+ export interface SchemaStructureVisitor {
42
+ visit(schema: z.ZodType, ctx: SchemaStructureWalkContext): (() => void) | undefined;
43
+ }
44
+ /**
45
+ * Walks a Zod schema structure (without data) invoking registered visitors
46
+ * at every schema node.
47
+ *
48
+ * Unlike `walkDataWithSchema`, this operates on the schema alone.
49
+ * Only deterministic navigation steps produce path elements:
50
+ * - Object keys and tuple indices add path elements
51
+ * - Arrays of discriminated unions add `discriminated-union-array` elements
52
+ * (one per branch)
53
+ * - Discriminated unions on objects are transparent (no path element)
54
+ * - Plain arrays and records are descended into without path elements
55
+ *
56
+ * Uses a `Set<z.ZodType>` circular-reference guard with delete-on-backtrack
57
+ * so the same schema can appear at different paths.
58
+ */
59
+ export declare function walkSchemaStructure(schema: z.ZodType, visitors: readonly SchemaStructureVisitor[]): void;
60
+ //# sourceMappingURL=walk-schema-structure.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"walk-schema-structure.d.ts","sourceRoot":"","sources":["../../src/parser/walk-schema-structure.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAyB,MAAM,KAAK,CAAC;AAQpD;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,iBAAiB,GACzB;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GACnC;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACtC;IACE,IAAI,EAAE,2BAA2B,CAAC;IAClC,gBAAgB,EAAE,MAAM,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAMN;;;GAGG;AACH,MAAM,WAAW,0BAA0B;IACzC,2DAA2D;IAC3D,QAAQ,CAAC,IAAI,EAAE,iBAAiB,EAAE,CAAC;CACpC;AAED;;;;;;GAMG;AACH,MAAM,WAAW,sBAAsB;IACrC,KAAK,CACH,MAAM,EAAE,CAAC,CAAC,OAAO,EACjB,GAAG,EAAE,0BAA0B,GAC9B,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;CAC7B;AAMD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,CAAC,CAAC,OAAO,EACjB,QAAQ,EAAE,SAAS,sBAAsB,EAAE,GAC1C,IAAI,CAEN"}
@@ -0,0 +1,163 @@
1
+ import { getSchemaChildren } from './schema-structure.js';
2
+ // ---------------------------------------------------------------------------
3
+ // Public API
4
+ // ---------------------------------------------------------------------------
5
+ /**
6
+ * Walks a Zod schema structure (without data) invoking registered visitors
7
+ * at every schema node.
8
+ *
9
+ * Unlike `walkDataWithSchema`, this operates on the schema alone.
10
+ * Only deterministic navigation steps produce path elements:
11
+ * - Object keys and tuple indices add path elements
12
+ * - Arrays of discriminated unions add `discriminated-union-array` elements
13
+ * (one per branch)
14
+ * - Discriminated unions on objects are transparent (no path element)
15
+ * - Plain arrays and records are descended into without path elements
16
+ *
17
+ * Uses a `Set<z.ZodType>` circular-reference guard with delete-on-backtrack
18
+ * so the same schema can appear at different paths.
19
+ */
20
+ export function walkSchemaStructure(schema, visitors) {
21
+ walkNode(schema, [], visitors, new Set());
22
+ }
23
+ // ---------------------------------------------------------------------------
24
+ // Internal walker
25
+ // ---------------------------------------------------------------------------
26
+ function walkNode(schema, path, visitors, visited) {
27
+ // Circular reference guard
28
+ if (visited.has(schema)) {
29
+ return;
30
+ }
31
+ visited.add(schema);
32
+ const ctx = { path };
33
+ // Step 1: Call all visitors, collect any cleanup functions returned.
34
+ const cleanups = [];
35
+ for (const visitor of visitors) {
36
+ const cleanup = visitor.visit(schema, ctx);
37
+ if (cleanup)
38
+ cleanups.push(cleanup);
39
+ }
40
+ // Step 2: Structural descent based on schema children (no data).
41
+ const children = getSchemaChildren(schema, undefined, []);
42
+ switch (children.kind) {
43
+ case 'leaf':
44
+ case 'leaf-union': {
45
+ break;
46
+ }
47
+ case 'wrapper': {
48
+ walkNode(children.innerSchema, path, visitors, visited);
49
+ break;
50
+ }
51
+ case 'object': {
52
+ for (const [key, fieldSchema] of children.entries) {
53
+ walkNode(fieldSchema, [...path, { type: 'object-key', key }], visitors, visited);
54
+ }
55
+ break;
56
+ }
57
+ case 'array': {
58
+ // Check if the element schema is a discriminated union.
59
+ // If so, walk each branch with a discriminated-union-array path element.
60
+ // Otherwise, walk the element schema with no path element (non-deterministic).
61
+ const unwrappedElement = unwrapSchema(children.elementSchema);
62
+ const elementChildren = getSchemaChildren(unwrappedElement, undefined, []);
63
+ if (elementChildren.kind === 'discriminated-union') {
64
+ walkDiscriminatedUnionArrayBranches(unwrappedElement, path, visitors, visited);
65
+ }
66
+ else {
67
+ // Plain array — descend without adding a path element
68
+ walkNode(children.elementSchema, path, visitors, visited);
69
+ }
70
+ break;
71
+ }
72
+ case 'discriminated-union': {
73
+ // Transparent on objects — walk all branches with the same path.
74
+ const unwrapped = unwrapSchema(schema);
75
+ for (const option of unwrapped.options) {
76
+ walkNode(option, path, visitors, visited);
77
+ }
78
+ break;
79
+ }
80
+ case 'tuple': {
81
+ for (const [i, itemSchema] of children.items.entries()) {
82
+ walkNode(itemSchema, [...path, { type: 'tuple-index', index: i }], visitors, visited);
83
+ }
84
+ if (children.rest) {
85
+ // Rest elements don't have a fixed index; walk without path element
86
+ walkNode(children.rest, path, visitors, visited);
87
+ }
88
+ break;
89
+ }
90
+ case 'record': {
91
+ // Non-deterministic — walk without path element
92
+ walkNode(children.valueSchema, path, visitors, visited);
93
+ break;
94
+ }
95
+ case 'intersection': {
96
+ walkNode(children.left, path, visitors, visited);
97
+ walkNode(children.right, path, visitors, visited);
98
+ break;
99
+ }
100
+ }
101
+ // Step 3: Run cleanup functions in reverse order (innermost first).
102
+ for (let i = cleanups.length - 1; i >= 0; i--) {
103
+ cleanups[i]();
104
+ }
105
+ visited.delete(schema);
106
+ }
107
+ /**
108
+ * Walks each branch of a discriminated union that is an array element,
109
+ * pushing a `discriminated-union-array` path element for each branch.
110
+ */
111
+ function walkDiscriminatedUnionArrayBranches(unionSchema, path, visitors, visited) {
112
+ const discriminatorKey = unionSchema._zod.def.discriminator;
113
+ for (const option of unionSchema.options) {
114
+ const literalValue = extractDiscriminatorValue(option, discriminatorKey);
115
+ if (literalValue == null) {
116
+ // Fallback: walk without path element
117
+ walkNode(option, path, visitors, visited);
118
+ continue;
119
+ }
120
+ walkNode(option, [
121
+ ...path,
122
+ {
123
+ type: 'discriminated-union-array',
124
+ discriminatorKey,
125
+ value: literalValue,
126
+ },
127
+ ], visitors, visited);
128
+ }
129
+ }
130
+ /**
131
+ * Extracts the literal discriminator value from a union branch schema.
132
+ */
133
+ function extractDiscriminatorValue(branchSchema, discriminatorKey) {
134
+ const branchChildren = getSchemaChildren(branchSchema, undefined, []);
135
+ if (branchChildren.kind !== 'object') {
136
+ return undefined;
137
+ }
138
+ const discEntry = branchChildren.entries.find(([key]) => key === discriminatorKey);
139
+ if (!discEntry) {
140
+ return undefined;
141
+ }
142
+ const discSchema = unwrapSchema(discEntry[1]);
143
+ const discChildren = getSchemaChildren(discSchema, undefined, []);
144
+ if (discChildren.kind !== 'leaf') {
145
+ return undefined;
146
+ }
147
+ const { values } = discSchema._zod.def;
148
+ return values[0];
149
+ }
150
+ // ---------------------------------------------------------------------------
151
+ // Helpers
152
+ // ---------------------------------------------------------------------------
153
+ /**
154
+ * Unwraps wrapper schemas (optional, nullable, default, etc.) to the underlying schema.
155
+ */
156
+ function unwrapSchema(schema) {
157
+ const children = getSchemaChildren(schema, undefined, []);
158
+ if (children.kind === 'wrapper') {
159
+ return unwrapSchema(children.innerSchema);
160
+ }
161
+ return schema;
162
+ }
163
+ //# sourceMappingURL=walk-schema-structure.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"walk-schema-structure.js","sourceRoot":"","sources":["../../src/parser/walk-schema-structure.ts"],"names":[],"mappings":"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"}
@@ -10,5 +10,5 @@ export declare function initializeOrderedModules(orderedModules: PluginModuleWit
10
10
  * Initialize the plugins based on their interdependencies.
11
11
  * Returns a store that can be used to access spec implementations.
12
12
  */
13
- export declare function initializePlugins(pluginModules: PluginModuleWithKey[]): PluginSpecStore;
13
+ export declare function initializePlugins(pluginModules: PluginModuleWithKey[], pluginKeys?: string[]): PluginSpecStore;
14
14
  //# sourceMappingURL=loader.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../../src/plugins/imports/loader.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAc,2BAA2B,EAAE,MAAM,kBAAkB,CAAC;AAChF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAGtD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD;;;GAGG;AACH,wBAAgB,wBAAwB,CACtC,cAAc,EAAE,mBAAmB,EAAE,GACpC,GAAG,CAAC,MAAM,EAAE,2BAA2B,CAAC,CA4B1C;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,aAAa,EAAE,mBAAmB,EAAE,GACnC,eAAe,CAMjB"}
1
+ {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../../src/plugins/imports/loader.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAc,2BAA2B,EAAE,MAAM,kBAAkB,CAAC;AAChF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAGtD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD;;;GAGG;AACH,wBAAgB,wBAAwB,CACtC,cAAc,EAAE,mBAAmB,EAAE,GACpC,GAAG,CAAC,MAAM,EAAE,2BAA2B,CAAC,CA4B1C;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,aAAa,EAAE,mBAAmB,EAAE,EACpC,UAAU,GAAE,MAAM,EAAO,GACxB,eAAe,CAMjB"}
@@ -32,9 +32,9 @@ export function initializeOrderedModules(orderedModules) {
32
32
  * Initialize the plugins based on their interdependencies.
33
33
  * Returns a store that can be used to access spec implementations.
34
34
  */
35
- export function initializePlugins(pluginModules) {
35
+ export function initializePlugins(pluginModules, pluginKeys = []) {
36
36
  assertNoDuplicates(pluginModules, 'plugin modules', (m) => m.key);
37
37
  const instances = initializeOrderedModules(pluginModules);
38
- return new PluginSpecStore(instances);
38
+ return new PluginSpecStore(instances, pluginKeys);
39
39
  }
40
40
  //# sourceMappingURL=loader.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"loader.js","sourceRoot":"","sources":["../../../src/plugins/imports/loader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAK3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD;;;GAGG;AACH,MAAM,UAAU,wBAAwB,CACtC,cAAqC;IAErC,MAAM,SAAS,GAAG,IAAI,GAAG,EAAuC,CAAC;IAEjE,SAAS,GAAG,CACV,IAA6B;QAE7B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9B,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;YACpC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACrC,CAAC;QACD,OAAO,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAA6C,CAAC;IAC9E,CAAC;IAED,KAAK,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,cAAc,EAAE,CAAC;QACnE,yDAAyD;QACzD,MAAM,YAAY,GAAG,MAAM,CAAC,YAAY;YACtC,CAAC,CAAC,oBAAoB,CAClB,SAAS,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CACzD;YACH,CAAC,CAAC,EAAE,CAAC;QAEP,2DAA2D;QAC3D,kBAAkB,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,GAAG,EAAE;YAChD,MAAM,CAAC,UAAU,CAAC,YAAY,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC;QAC5D,CAAC,CAAC,CAAC;IACL,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAC/B,aAAoC;IAEpC,kBAAkB,CAAC,aAAa,EAAE,gBAAgB,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAElE,MAAM,SAAS,GAAG,wBAAwB,CAAC,aAAa,CAAC,CAAC;IAE1D,OAAO,IAAI,eAAe,CAAC,SAAS,CAAC,CAAC;AACxC,CAAC"}
1
+ {"version":3,"file":"loader.js","sourceRoot":"","sources":["../../../src/plugins/imports/loader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAK3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD;;;GAGG;AACH,MAAM,UAAU,wBAAwB,CACtC,cAAqC;IAErC,MAAM,SAAS,GAAG,IAAI,GAAG,EAAuC,CAAC;IAEjE,SAAS,GAAG,CACV,IAA6B;QAE7B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9B,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;YACpC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACrC,CAAC;QACD,OAAO,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAA6C,CAAC;IAC9E,CAAC;IAED,KAAK,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,cAAc,EAAE,CAAC;QACnE,yDAAyD;QACzD,MAAM,YAAY,GAAG,MAAM,CAAC,YAAY;YACtC,CAAC,CAAC,oBAAoB,CAClB,SAAS,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CACzD;YACH,CAAC,CAAC,EAAE,CAAC;QAEP,2DAA2D;QAC3D,kBAAkB,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,GAAG,EAAE;YAChD,MAAM,CAAC,UAAU,CAAC,YAAY,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC;QAC5D,CAAC,CAAC,CAAC;IACL,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAC/B,aAAoC,EACpC,aAAuB,EAAE;IAEzB,kBAAkB,CAAC,aAAa,EAAE,gBAAgB,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAElE,MAAM,SAAS,GAAG,wBAAwB,CAAC,aAAa,CAAC,CAAC;IAE1D,OAAO,IAAI,eAAe,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;AACpD,CAAC"}
@@ -63,7 +63,7 @@ export interface PluginModuleWithDirectory {
63
63
  * A plugin module with a key and plugin key metadata.
64
64
  */
65
65
  export interface PluginModuleWithKey {
66
- /** The unique key for this module (e.g., "core/server/auth-compiler" or "auth/auth0/core/web") */
66
+ /** The unique key for this module (e.g., "core/server/auth-compiler" or "auth/better-auth/core/web") */
67
67
  key: string;
68
68
  /** The plugin key (or "core" for core modules) */
69
69
  pluginKey: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/plugins/imports/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AACpE,OAAO,KAAK,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAExE;;GAEG;AACH,KAAK,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;AAEhD;;;GAGG;AACH,KAAK,sBAAsB,CAAC,CAAC,SAAS,aAAa,IAAI;KACpD,IAAI,IAAI,MAAM,CAAC,GAAG,mBAAmB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;CAChD,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,oFAAoF;IACpF,SAAS,EAAE,MAAM,CAAC;IAClB,kDAAkD;IAClD,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY,CAAC,QAAQ,SAAS,aAAa,GAAG,aAAa;IAC1E,mEAAmE;IACnE,IAAI,EAAE,MAAM,CAAC;IACb,kFAAkF;IAClF,YAAY,CAAC,EAAE,QAAQ,CAAC;IACxB;;OAEG;IACH,UAAU,EAAE,CACV,YAAY,EAAE,sBAAsB,CAAC,QAAQ,CAAC,EAC9C,OAAO,EAAE,aAAa,KACnB,IAAI,CAAC;CACX;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,SAAS,aAAa,EAC/D,MAAM,EAAE,YAAY,CAAC,QAAQ,CAAC,GAC7B,YAAY,CAEd;AAED;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,qEAAqE;IACrE,SAAS,EAAE,MAAM,CAAC;IAClB,wBAAwB;IACxB,MAAM,EAAE,YAAY,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,kGAAkG;IAClG,GAAG,EAAE,MAAM,CAAC;IACZ,kDAAkD;IAClD,SAAS,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,MAAM,EAAE,YAAY,CAAC;CACtB;AACD;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,gBAAgB,EAAE;QAChB,QAAQ,EAAE,uBAAuB,CAAC;QAClC,OAAO,EAAE,yBAAyB,EAAE,CAAC;KACtC,EAAE,CAAC;IACJ,WAAW,EAAE,mBAAmB,EAAE,CAAC;CACpC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/plugins/imports/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AACpE,OAAO,KAAK,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAExE;;GAEG;AACH,KAAK,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;AAEhD;;;GAGG;AACH,KAAK,sBAAsB,CAAC,CAAC,SAAS,aAAa,IAAI;KACpD,IAAI,IAAI,MAAM,CAAC,GAAG,mBAAmB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;CAChD,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,oFAAoF;IACpF,SAAS,EAAE,MAAM,CAAC;IAClB,kDAAkD;IAClD,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY,CAAC,QAAQ,SAAS,aAAa,GAAG,aAAa;IAC1E,mEAAmE;IACnE,IAAI,EAAE,MAAM,CAAC;IACb,kFAAkF;IAClF,YAAY,CAAC,EAAE,QAAQ,CAAC;IACxB;;OAEG;IACH,UAAU,EAAE,CACV,YAAY,EAAE,sBAAsB,CAAC,QAAQ,CAAC,EAC9C,OAAO,EAAE,aAAa,KACnB,IAAI,CAAC;CACX;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,SAAS,aAAa,EAC/D,MAAM,EAAE,YAAY,CAAC,QAAQ,CAAC,GAC7B,YAAY,CAEd;AAED;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,qEAAqE;IACrE,SAAS,EAAE,MAAM,CAAC;IAClB,wBAAwB;IACxB,MAAM,EAAE,YAAY,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,wGAAwG;IACxG,GAAG,EAAE,MAAM,CAAC;IACZ,kDAAkD;IAClD,SAAS,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,MAAM,EAAE,YAAY,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,gBAAgB,EAAE;QAChB,QAAQ,EAAE,uBAAuB,CAAC;QAClC,OAAO,EAAE,yBAAyB,EAAE,CAAC;KACtC,EAAE,CAAC;IACJ,WAAW,EAAE,mBAAmB,EAAE,CAAC;CACpC"}
@@ -43,7 +43,7 @@ export interface PluginMetadataWithPaths extends PluginMetadata {
43
43
  */
44
44
  packageName: string;
45
45
  /**
46
- * The fully qualified name of the plugin, e.g. "@baseplate-dev/plugin-auth:auth0"
46
+ * The fully qualified name of the plugin, e.g. "@baseplate-dev/plugin-auth:better-auth"
47
47
  */
48
48
  fullyQualifiedName: string;
49
49
  /**
@@ -38,7 +38,7 @@ export const pluginMetadataSchema = z.object({
38
38
  description: z.string(),
39
39
  /**
40
40
  * The fully qualified name of the plugin that manages this plugin,
41
- * e.g. "@baseplate-dev/plugin-auth:auth0" would be managed by the "@baseplate-dev/plugin-auth:auth" plugin.
41
+ * e.g. "@baseplate-dev/plugin-auth:better-auth" would be managed by the "@baseplate-dev/plugin-auth:auth" plugin.
42
42
  *
43
43
  * Managed plugins do not appear in the plugin list but are managed by the base plugin. If the base
44
44
  * plugin is disabled, the managed plugins will also be disabled.
@@ -1,5 +1,7 @@
1
+ import type { PluginModule } from './imports/types.js';
1
2
  import type { PluginMetadataWithPaths } from './metadata/types.js';
2
3
  import type { PluginConfigMigration } from './spec/config-spec.js';
4
+ import { PluginSpecStore } from './store/store.js';
3
5
  /**
4
6
  * Creates a test plugin metadata object with sensible defaults.
5
7
  *
@@ -16,4 +18,17 @@ export declare function createTestPluginMetadata(overrides?: Partial<PluginMetad
16
18
  * @returns A PluginConfigMigration object
17
19
  */
18
20
  export declare function createTestMigration(version: number, name: string, configTransform?: (config: unknown) => unknown): PluginConfigMigration;
21
+ /**
22
+ * Creates a PluginSpecStore for testing purposes.
23
+ *
24
+ * When no modules are provided, returns an empty store where specs are
25
+ * lazily initialized with their defaults (e.g., built-in definition issue checkers).
26
+ *
27
+ * When modules are provided, uses `initializePlugins` to create a store
28
+ * with those modules registered, allowing tests to configure any specs they need.
29
+ *
30
+ * @param modules - Optional plugin modules to register
31
+ * @returns A PluginSpecStore ready for use in tests
32
+ */
33
+ export declare function createTestPluginSpecStore(modules?: PluginModule[]): PluginSpecStore;
19
34
  //# sourceMappingURL=plugins.test-utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"plugins.test-utils.d.ts","sourceRoot":"","sources":["../../src/plugins/plugins.test-utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAEnE;;;;;GAKG;AACH,wBAAgB,wBAAwB,CACtC,SAAS,GAAE,OAAO,CAAC,uBAAuB,CAAM,GAC/C,uBAAuB,CAiBzB;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EACZ,eAAe,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,OAAO,GAC7C,qBAAqB,CAQvB"}
1
+ {"version":3,"file":"plugins.test-utils.d.ts","sourceRoot":"","sources":["../../src/plugins/plugins.test-utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAGnE,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEnD;;;;;GAKG;AACH,wBAAgB,wBAAwB,CACtC,SAAS,GAAE,OAAO,CAAC,uBAAuB,CAAM,GAC/C,uBAAuB,CAiBzB;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EACZ,eAAe,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,OAAO,GAC7C,qBAAqB,CAQvB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,yBAAyB,CACvC,OAAO,CAAC,EAAE,YAAY,EAAE,GACvB,eAAe,CAYjB"}
@@ -1,3 +1,5 @@
1
+ import { initializePlugins } from './imports/loader.js';
2
+ import { PluginSpecStore } from './store/store.js';
1
3
  /**
2
4
  * Creates a test plugin metadata object with sensible defaults.
3
5
  *
@@ -38,4 +40,26 @@ export function createTestMigration(version, name, configTransform) {
38
40
  }),
39
41
  };
40
42
  }
43
+ /**
44
+ * Creates a PluginSpecStore for testing purposes.
45
+ *
46
+ * When no modules are provided, returns an empty store where specs are
47
+ * lazily initialized with their defaults (e.g., built-in definition issue checkers).
48
+ *
49
+ * When modules are provided, uses `initializePlugins` to create a store
50
+ * with those modules registered, allowing tests to configure any specs they need.
51
+ *
52
+ * @param modules - Optional plugin modules to register
53
+ * @returns A PluginSpecStore ready for use in tests
54
+ */
55
+ export function createTestPluginSpecStore(modules) {
56
+ if (!modules || modules.length === 0) {
57
+ return new PluginSpecStore();
58
+ }
59
+ return initializePlugins(modules.map((module, index) => ({
60
+ key: `core/test/${module.name}-${index}`,
61
+ pluginKey: 'core',
62
+ module,
63
+ })));
64
+ }
41
65
  //# sourceMappingURL=plugins.test-utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"plugins.test-utils.js","sourceRoot":"","sources":["../../src/plugins/plugins.test-utils.ts"],"names":[],"mappings":"AAGA;;;;;GAKG;AACH,MAAM,UAAU,wBAAwB,CACtC,YAA8C,EAAE;IAEhD,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,IAAI,aAAa,CAAC;IAElD,OAAO;QACL,GAAG,EAAE,SAAS;QACd,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,SAAS,SAAS,EAAE;QACjC,kBAAkB,EAAE,SAAS,SAAS,IAAI,SAAS,EAAE;QACrD,OAAO,EAAE,OAAO;QAChB,WAAW,EAAE,QAAQ,SAAS,EAAE;QAChC,WAAW,EAAE,qBAAqB,SAAS,EAAE;QAC7C,eAAe,EAAE,iBAAiB,SAAS,EAAE;QAC7C,iBAAiB,EAAE,iBAAiB,SAAS,OAAO;QACpD,eAAe,EAAE,CAAC,oBAAoB,CAAC;QACvC,cAAc,EAAE,EAAE;QAClB,GAAG,SAAS;KACb,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,mBAAmB,CACjC,OAAe,EACf,IAAY,EACZ,eAA8C;IAE9C,OAAO;QACL,IAAI;QACJ,OAAO;QACP,OAAO,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YACpB,aAAa,EAAE,eAAe,CAAC,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM;SAClE,CAAC;KACH,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"plugins.test-utils.js","sourceRoot":"","sources":["../../src/plugins/plugins.test-utils.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEnD;;;;;GAKG;AACH,MAAM,UAAU,wBAAwB,CACtC,YAA8C,EAAE;IAEhD,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,IAAI,aAAa,CAAC;IAElD,OAAO;QACL,GAAG,EAAE,SAAS;QACd,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,SAAS,SAAS,EAAE;QACjC,kBAAkB,EAAE,SAAS,SAAS,IAAI,SAAS,EAAE;QACrD,OAAO,EAAE,OAAO;QAChB,WAAW,EAAE,QAAQ,SAAS,EAAE;QAChC,WAAW,EAAE,qBAAqB,SAAS,EAAE;QAC7C,eAAe,EAAE,iBAAiB,SAAS,EAAE;QAC7C,iBAAiB,EAAE,iBAAiB,SAAS,OAAO;QACpD,eAAe,EAAE,CAAC,oBAAoB,CAAC;QACvC,cAAc,EAAE,EAAE;QAClB,GAAG,SAAS;KACb,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,mBAAmB,CACjC,OAAe,EACf,IAAY,EACZ,eAA8C;IAE9C,OAAO;QACL,IAAI;QACJ,OAAO;QACP,OAAO,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YACpB,aAAa,EAAE,eAAe,CAAC,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM;SAClE,CAAC;KACH,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,yBAAyB,CACvC,OAAwB;IAExB,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrC,OAAO,IAAI,eAAe,EAAE,CAAC;IAC/B,CAAC;IAED,OAAO,iBAAiB,CACtB,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;QAC9B,GAAG,EAAE,aAAa,MAAM,CAAC,IAAI,IAAI,KAAK,EAAE;QACxC,SAAS,EAAE,MAAM;QACjB,MAAM;KACP,CAAC,CAAC,CACJ,CAAC;AACJ,CAAC"}
@@ -30,6 +30,7 @@ export declare const pluginConfigSpec: import("./types.js").PluginSpec<{
30
30
  schemas: import("@baseplate-dev/utils").MapContainer<string, DefinitionSchemaCreator>;
31
31
  migrations: import("@baseplate-dev/utils").MapContainer<string, PluginConfigMigration[]>;
32
32
  }, {
33
+ getAllSchemaCreators: () => Map<string, DefinitionSchemaCreator>;
33
34
  getSchemaCreator: (pluginKey: string) => DefinitionSchemaCreator | undefined;
34
35
  getMigrations: (pluginKey: string) => PluginConfigMigration[] | undefined;
35
36
  getLastMigrationVersion: (pluginKey: string) => number | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"config-spec.d.ts","sourceRoot":"","sources":["../../../src/plugins/spec/config-spec.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAIpE,MAAM,WAAW,qBAAqB;IACpC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,uBAAuB,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CACpD;AAED,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb;;;;;;OAMG;IACH,OAAO,EAAE,CACP,MAAM,EAAE,OAAO,EACf,iBAAiB,EAAE,OAAO,KACvB,qBAAqB,CAAC;CAC5B;AAyBD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,gBAAgB;;;;kCAcS,MAAM;+BACT,MAAM;yCAEI,MAAM;EAOlD,CAAC"}
1
+ {"version":3,"file":"config-spec.d.ts","sourceRoot":"","sources":["../../../src/plugins/spec/config-spec.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAIpE,MAAM,WAAW,qBAAqB;IACpC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,uBAAuB,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CACpD;AAED,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb;;;;;;OAMG;IACH,OAAO,EAAE,CACP,MAAM,EAAE,OAAO,EACf,iBAAiB,EAAE,OAAO,KACvB,qBAAqB,CAAC;CAC5B;AAyBD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,gBAAgB;;;;;kCAeS,MAAM;+BACT,MAAM;yCAEI,MAAM;EAOlD,CAAC"}
@@ -31,6 +31,7 @@ export const pluginConfigSpec = createFieldMapSpec('core/plugin-config', (t) =>
31
31
  use: (values) => {
32
32
  const validatedMigrations = mapValuesOfMap(values.migrations, (migrations, pluginKey) => sortAndValidateMigrations(migrations, pluginKey));
33
33
  return {
34
+ getAllSchemaCreators: () => values.schemas,
34
35
  getSchemaCreator: (pluginKey) => values.schemas.get(pluginKey),
35
36
  getMigrations: (pluginKey) => validatedMigrations.get(pluginKey),
36
37
  getLastMigrationVersion: (pluginKey) => {
@@ -1 +1 @@
1
- {"version":3,"file":"config-spec.js","sourceRoot":"","sources":["../../../src/plugins/spec/config-spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAItD,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AAuBvE,SAAS,yBAAyB,CAChC,UAAmC,EACnC,SAAiB;IAEjB,qEAAqE;IACrE,MAAM,gBAAgB,GAAG,CAAC,GAAG,UAAU,CAAC,CAAC,QAAQ,CAC/C,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAChC,CAAC;IACF,IAAI,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,EAAE,CAAC;QACjD,MAAM,IAAI,KAAK,CACb,6BAA6B,SAAS,+BAA+B,CACtE,CAAC;IACJ,CAAC;IACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QACrD,IAAI,gBAAgB,CAAC,CAAC,CAAC,CAAC,OAAO,KAAK,gBAAgB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;YACpE,MAAM,IAAI,KAAK,CACb,6BAA6B,SAAS,6BAA6B,CACpE,CAAC;QACJ,CAAC;IACH,CAAC;IACD,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,kBAAkB,CAChD,oBAAoB,EACpB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACN,OAAO,EAAE,CAAC,CAAC,GAAG,EAAmC;IACjD,UAAU,EAAE,CAAC,CAAC,GAAG,EAAmC;CACrD,CAAC,EACF;IACE,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE;QACd,MAAM,mBAAmB,GAAG,cAAc,CACxC,MAAM,CAAC,UAAU,EACjB,CAAC,UAAU,EAAE,SAAS,EAAE,EAAE,CACxB,yBAAyB,CAAC,UAAU,EAAE,SAAS,CAAC,CACnD,CAAC;QACF,OAAO;YACL,gBAAgB,EAAE,CAAC,SAAiB,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC;YACtE,aAAa,EAAE,CAAC,SAAiB,EAAE,EAAE,CACnC,mBAAmB,CAAC,GAAG,CAAC,SAAS,CAAC;YACpC,uBAAuB,EAAE,CAAC,SAAiB,EAAE,EAAE;gBAC7C,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBACpD,OAAO,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC;YACrC,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CACF,CAAC"}
1
+ {"version":3,"file":"config-spec.js","sourceRoot":"","sources":["../../../src/plugins/spec/config-spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAItD,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AAuBvE,SAAS,yBAAyB,CAChC,UAAmC,EACnC,SAAiB;IAEjB,qEAAqE;IACrE,MAAM,gBAAgB,GAAG,CAAC,GAAG,UAAU,CAAC,CAAC,QAAQ,CAC/C,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAChC,CAAC;IACF,IAAI,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,EAAE,CAAC;QACjD,MAAM,IAAI,KAAK,CACb,6BAA6B,SAAS,+BAA+B,CACtE,CAAC;IACJ,CAAC;IACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QACrD,IAAI,gBAAgB,CAAC,CAAC,CAAC,CAAC,OAAO,KAAK,gBAAgB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;YACpE,MAAM,IAAI,KAAK,CACb,6BAA6B,SAAS,6BAA6B,CACpE,CAAC;QACJ,CAAC;IACH,CAAC;IACD,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,kBAAkB,CAChD,oBAAoB,EACpB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACN,OAAO,EAAE,CAAC,CAAC,GAAG,EAAmC;IACjD,UAAU,EAAE,CAAC,CAAC,GAAG,EAAmC;CACrD,CAAC,EACF;IACE,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE;QACd,MAAM,mBAAmB,GAAG,cAAc,CACxC,MAAM,CAAC,UAAU,EACjB,CAAC,UAAU,EAAE,SAAS,EAAE,EAAE,CACxB,yBAAyB,CAAC,UAAU,EAAE,SAAS,CAAC,CACnD,CAAC;QACF,OAAO;YACL,oBAAoB,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO;YAC1C,gBAAgB,EAAE,CAAC,SAAiB,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC;YACtE,aAAa,EAAE,CAAC,SAAiB,EAAE,EAAE,CACnC,mBAAmB,CAAC,GAAG,CAAC,SAAS,CAAC;YACpC,uBAAuB,EAAE,CAAC,SAAiB,EAAE,EAAE;gBAC7C,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBACpD,OAAO,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC;YACrC,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CACF,CAAC"}
@@ -8,7 +8,12 @@ import type { PluginSpec, PluginSpecInitializerResult } from '../spec/types.js';
8
8
  export declare class PluginSpecStore {
9
9
  private instances;
10
10
  private useInstances;
11
- constructor(instances?: Map<string, PluginSpecInitializerResult<object, object>>);
11
+ private pluginKeys_;
12
+ constructor(instances?: Map<string, PluginSpecInitializerResult<object, object>>, pluginKeys?: string[]);
13
+ /**
14
+ * Gets the plugin keys that were loaded into this store.
15
+ */
16
+ getPluginKeys(): string[];
12
17
  /**
13
18
  * Gets the use interface for a spec.
14
19
  *
@@ -1 +1 @@
1
- {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../src/plugins/store/store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,2BAA2B,EAAE,MAAM,kBAAkB,CAAC;AAEhF;;;;;GAKG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,SAAS,CAA2C;IAC5D,OAAO,CAAC,YAAY,CAA6B;gBAErC,SAAS,2DAAiD;IAItE;;;;;;;;OAQG;IACH,GAAG,CAAC,IAAI,SAAS,MAAM,EAAE,KAAK,SAAS,MAAM,EAC3C,IAAI,EAAE,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,GAC5B,IAAI;CAiBR"}
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../src/plugins/store/store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,2BAA2B,EAAE,MAAM,kBAAkB,CAAC;AAEhF;;;;;GAKG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,SAAS,CAA2C;IAC5D,OAAO,CAAC,YAAY,CAA6B;IACjD,OAAO,CAAC,WAAW,CAAW;gBAG5B,SAAS,2DAAiD,EAC1D,UAAU,GAAE,MAAM,EAAO;IAM3B;;OAEG;IACH,aAAa,IAAI,MAAM,EAAE;IAIzB;;;;;;;;OAQG;IACH,GAAG,CAAC,IAAI,SAAS,MAAM,EAAE,KAAK,SAAS,MAAM,EAC3C,IAAI,EAAE,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,GAC5B,IAAI;CAiBR"}
@@ -7,8 +7,16 @@
7
7
  export class PluginSpecStore {
8
8
  instances;
9
9
  useInstances = new Map();
10
- constructor(instances = new Map()) {
10
+ pluginKeys_;
11
+ constructor(instances = new Map(), pluginKeys = []) {
11
12
  this.instances = instances;
13
+ this.pluginKeys_ = pluginKeys;
14
+ }
15
+ /**
16
+ * Gets the plugin keys that were loaded into this store.
17
+ */
18
+ getPluginKeys() {
19
+ return this.pluginKeys_;
12
20
  }
13
21
  /**
14
22
  * Gets the use interface for a spec.
@@ -1 +1 @@
1
- {"version":3,"file":"store.js","sourceRoot":"","sources":["../../../src/plugins/store/store.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,MAAM,OAAO,eAAe;IAClB,SAAS,CAA2C;IACpD,YAAY,GAAG,IAAI,GAAG,EAAkB,CAAC;IAEjD,YAAY,YAAY,IAAI,GAAG,EAAuC;QACpE,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;IAED;;;;;;;;OAQG;IACH,GAAG,CACD,IAA6B;QAE7B,IAAI,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAElC,CAAC;QACd,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,YAAY,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;YAClC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QAC9C,CAAC;QAED,IAAI,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnD,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,WAAW,GAAG,YAAY,CAAC,GAAG,EAAE,CAAC;YACjC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QAChD,CAAC;QAED,OAAO,WAAmB,CAAC;IAC7B,CAAC;CACF"}
1
+ {"version":3,"file":"store.js","sourceRoot":"","sources":["../../../src/plugins/store/store.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,MAAM,OAAO,eAAe;IAClB,SAAS,CAA2C;IACpD,YAAY,GAAG,IAAI,GAAG,EAAkB,CAAC;IACzC,WAAW,CAAW;IAE9B,YACE,YAAY,IAAI,GAAG,EAAuC,EAC1D,aAAuB,EAAE;QAEzB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;IAChC,CAAC;IAED;;OAEG;IACH,aAAa;QACX,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED;;;;;;;;OAQG;IACH,GAAG,CACD,IAA6B;QAE7B,IAAI,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAElC,CAAC;QACd,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,YAAY,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;YAClC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QAC9C,CAAC;QAED,IAAI,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnD,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,WAAW,GAAG,YAAY,CAAC,GAAG,EAAE,CAAC;YACjC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QAChD,CAAC;QAED,OAAO,WAAmB,CAAC;IAC7B,CAAC;CACF"}