@metaobjectsdev/metadata 0.9.0 → 0.10.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 (426) hide show
  1. package/dist/attr-schema-validate.d.ts +1 -1
  2. package/dist/attr-schema-validate.d.ts.map +1 -1
  3. package/dist/attr-schema-validate.js +84 -7
  4. package/dist/attr-schema-validate.js.map +1 -1
  5. package/dist/constants.d.ts +208 -0
  6. package/dist/constants.d.ts.map +1 -0
  7. package/dist/constants.js +419 -0
  8. package/dist/constants.js.map +1 -0
  9. package/dist/constraint-merge.d.ts +18 -0
  10. package/dist/constraint-merge.d.ts.map +1 -0
  11. package/dist/constraint-merge.js +0 -0
  12. package/dist/constraint-merge.js.map +1 -0
  13. package/dist/constraint-validate.d.ts +6 -0
  14. package/dist/constraint-validate.d.ts.map +1 -0
  15. package/dist/constraint-validate.js +274 -0
  16. package/dist/constraint-validate.js.map +1 -0
  17. package/dist/core/attr/attr-constants.d.ts +13 -3
  18. package/dist/core/attr/attr-constants.d.ts.map +1 -1
  19. package/dist/core/attr/attr-constants.js +11 -2
  20. package/dist/core/attr/attr-constants.js.map +1 -1
  21. package/dist/core/attr/attr-definition.embedded.d.ts +3 -0
  22. package/dist/core/attr/attr-definition.embedded.d.ts.map +1 -0
  23. package/dist/core/attr/attr-definition.embedded.js +60 -0
  24. package/dist/core/attr/attr-definition.embedded.js.map +1 -0
  25. package/dist/core/documentation/doc-constants.d.ts +3 -2
  26. package/dist/core/documentation/doc-constants.d.ts.map +1 -1
  27. package/dist/core/documentation/doc-constants.js +3 -1
  28. package/dist/core/documentation/doc-constants.js.map +1 -1
  29. package/dist/core/documentation/doc-provider.d.ts.map +1 -1
  30. package/dist/core/documentation/doc-provider.js +6 -2
  31. package/dist/core/documentation/doc-provider.js.map +1 -1
  32. package/dist/core/documentation/doc-schema.d.ts +1 -1
  33. package/dist/core/documentation/doc-schema.d.ts.map +1 -1
  34. package/dist/core/documentation/doc-schema.js +13 -5
  35. package/dist/core/documentation/doc-schema.js.map +1 -1
  36. package/dist/core/documentation/documentation-definition.embedded.d.ts +3 -0
  37. package/dist/core/documentation/documentation-definition.embedded.d.ts.map +1 -0
  38. package/dist/core/documentation/documentation-definition.embedded.js +79 -0
  39. package/dist/core/documentation/documentation-definition.embedded.js.map +1 -0
  40. package/dist/core/field/field-constants.d.ts +7 -4
  41. package/dist/core/field/field-constants.d.ts.map +1 -1
  42. package/dist/core/field/field-constants.js +7 -7
  43. package/dist/core/field/field-constants.js.map +1 -1
  44. package/dist/core/field/field-definition.embedded.d.ts +3 -0
  45. package/dist/core/field/field-definition.embedded.d.ts.map +1 -0
  46. package/dist/core/field/field-definition.embedded.js +236 -0
  47. package/dist/core/field/field-definition.embedded.js.map +1 -0
  48. package/dist/core/field/field-schema.d.ts +0 -16
  49. package/dist/core/field/field-schema.d.ts.map +1 -1
  50. package/dist/core/field/field-schema.js +10 -158
  51. package/dist/core/field/field-schema.js.map +1 -1
  52. package/dist/core/field/meta-field.d.ts.map +1 -1
  53. package/dist/core/field/meta-field.js +7 -5
  54. package/dist/core/field/meta-field.js.map +1 -1
  55. package/dist/core/file-meta-data-loader.d.ts +18 -0
  56. package/dist/core/file-meta-data-loader.d.ts.map +1 -0
  57. package/dist/core/file-meta-data-loader.js +81 -0
  58. package/dist/core/file-meta-data-loader.js.map +1 -0
  59. package/dist/core/file-source.d.ts +12 -0
  60. package/dist/core/file-source.d.ts.map +1 -0
  61. package/dist/core/file-source.js +46 -0
  62. package/dist/core/file-source.js.map +1 -0
  63. package/dist/core/identity/identity-definition.embedded.d.ts +3 -0
  64. package/dist/core/identity/identity-definition.embedded.d.ts.map +1 -0
  65. package/dist/core/identity/identity-definition.embedded.js +91 -0
  66. package/dist/core/identity/identity-definition.embedded.js.map +1 -0
  67. package/dist/core/identity/identity-schema.d.ts.map +1 -1
  68. package/dist/core/identity/identity-schema.js +3 -2
  69. package/dist/core/identity/identity-schema.js.map +1 -1
  70. package/dist/core/identity/validate-identity-passthrough.d.ts +42 -0
  71. package/dist/core/identity/validate-identity-passthrough.d.ts.map +1 -0
  72. package/dist/core/identity/validate-identity-passthrough.js +158 -0
  73. package/dist/core/identity/validate-identity-passthrough.js.map +1 -0
  74. package/dist/core/object/object-constants.d.ts +2 -1
  75. package/dist/core/object/object-constants.d.ts.map +1 -1
  76. package/dist/core/object/object-constants.js +3 -0
  77. package/dist/core/object/object-constants.js.map +1 -1
  78. package/dist/core/object/object-definition.embedded.d.ts +3 -0
  79. package/dist/core/object/object-definition.embedded.d.ts.map +1 -0
  80. package/dist/core/object/object-definition.embedded.js +110 -0
  81. package/dist/core/object/object-definition.embedded.js.map +1 -0
  82. package/dist/core/object/validate-discriminator.d.ts.map +1 -1
  83. package/dist/core/object/validate-discriminator.js +1 -3
  84. package/dist/core/object/validate-discriminator.js.map +1 -1
  85. package/dist/core/query/query-constants.d.ts.map +1 -1
  86. package/dist/core/query/query-constants.js +5 -3
  87. package/dist/core/query/query-constants.js.map +1 -1
  88. package/dist/core/relationship/derive-m2m-fields.d.ts +26 -0
  89. package/dist/core/relationship/derive-m2m-fields.d.ts.map +1 -0
  90. package/dist/core/relationship/derive-m2m-fields.js +102 -0
  91. package/dist/core/relationship/derive-m2m-fields.js.map +1 -0
  92. package/dist/core/relationship/meta-relationship.d.ts +6 -4
  93. package/dist/core/relationship/meta-relationship.d.ts.map +1 -1
  94. package/dist/core/relationship/meta-relationship.js +12 -8
  95. package/dist/core/relationship/meta-relationship.js.map +1 -1
  96. package/dist/core/relationship/relationship-constants.d.ts +6 -2
  97. package/dist/core/relationship/relationship-constants.d.ts.map +1 -1
  98. package/dist/core/relationship/relationship-constants.js +6 -2
  99. package/dist/core/relationship/relationship-constants.js.map +1 -1
  100. package/dist/core/relationship/relationship-definition.embedded.d.ts +3 -0
  101. package/dist/core/relationship/relationship-definition.embedded.d.ts.map +1 -0
  102. package/dist/core/relationship/relationship-definition.embedded.js +310 -0
  103. package/dist/core/relationship/relationship-definition.embedded.js.map +1 -0
  104. package/dist/core/relationship/relationship-schema.d.ts.map +1 -1
  105. package/dist/core/relationship/relationship-schema.js +13 -7
  106. package/dist/core/relationship/relationship-schema.js.map +1 -1
  107. package/dist/core/validator/validator-definition.embedded.d.ts +3 -0
  108. package/dist/core/validator/validator-definition.embedded.d.ts.map +1 -0
  109. package/dist/core/validator/validator-definition.embedded.js +134 -0
  110. package/dist/core/validator/validator-definition.embedded.js.map +1 -0
  111. package/dist/core/yaml-desugar.d.ts.map +1 -1
  112. package/dist/core/yaml-desugar.js +88 -10
  113. package/dist/core/yaml-desugar.js.map +1 -1
  114. package/dist/core-attr-schemas.d.ts +22 -0
  115. package/dist/core-attr-schemas.d.ts.map +1 -0
  116. package/dist/core-attr-schemas.js +324 -0
  117. package/dist/core-attr-schemas.js.map +1 -0
  118. package/dist/core-types.d.ts +5 -2
  119. package/dist/core-types.d.ts.map +1 -1
  120. package/dist/core-types.js +261 -115
  121. package/dist/core-types.js.map +1 -1
  122. package/dist/db/db-attr-schemas.d.ts +8 -0
  123. package/dist/db/db-attr-schemas.d.ts.map +1 -0
  124. package/dist/db/db-attr-schemas.js +26 -0
  125. package/dist/db/db-attr-schemas.js.map +1 -0
  126. package/dist/db/db-provider.d.ts +3 -0
  127. package/dist/db/db-provider.d.ts.map +1 -0
  128. package/dist/db/db-provider.js +28 -0
  129. package/dist/db/db-provider.js.map +1 -0
  130. package/dist/errors.d.ts +1 -1
  131. package/dist/errors.d.ts.map +1 -1
  132. package/dist/errors.js +78 -0
  133. package/dist/errors.js.map +1 -1
  134. package/dist/index.d.ts +17 -2
  135. package/dist/index.d.ts.map +1 -1
  136. package/dist/index.js +26 -1
  137. package/dist/index.js.map +1 -1
  138. package/dist/library/embedded-library.generated.d.ts +2 -0
  139. package/dist/library/embedded-library.generated.d.ts.map +1 -0
  140. package/dist/library/embedded-library.generated.js +11 -0
  141. package/dist/library/embedded-library.generated.js.map +1 -0
  142. package/dist/library/library-sources.d.ts +12 -0
  143. package/dist/library/library-sources.d.ts.map +1 -0
  144. package/dist/library/library-sources.js +88 -0
  145. package/dist/library/library-sources.js.map +1 -0
  146. package/dist/loader/meta-data-loader.d.ts +10 -2
  147. package/dist/loader/meta-data-loader.d.ts.map +1 -1
  148. package/dist/loader/meta-data-loader.js +47 -6
  149. package/dist/loader/meta-data-loader.js.map +1 -1
  150. package/dist/loader/shortcuts.d.ts +2 -5
  151. package/dist/loader/shortcuts.d.ts.map +1 -1
  152. package/dist/loader/shortcuts.js.map +1 -1
  153. package/dist/loader/validation-passes.d.ts +3 -0
  154. package/dist/loader/validation-passes.d.ts.map +1 -1
  155. package/dist/loader/validation-passes.js +513 -33
  156. package/dist/loader/validation-passes.js.map +1 -1
  157. package/dist/meta/find-reference.d.ts +22 -0
  158. package/dist/meta/find-reference.d.ts.map +1 -0
  159. package/dist/meta/find-reference.js +29 -0
  160. package/dist/meta/find-reference.js.map +1 -0
  161. package/dist/meta/meta-attr.d.ts +8 -0
  162. package/dist/meta/meta-attr.d.ts.map +1 -0
  163. package/dist/meta/meta-attr.js +17 -0
  164. package/dist/meta/meta-attr.js.map +1 -0
  165. package/dist/meta/meta-data.d.ts +107 -0
  166. package/dist/meta/meta-data.d.ts.map +1 -0
  167. package/dist/meta/meta-data.js +302 -0
  168. package/dist/meta/meta-data.js.map +1 -0
  169. package/dist/meta/meta-field.d.ts +48 -0
  170. package/dist/meta/meta-field.d.ts.map +1 -0
  171. package/dist/meta/meta-field.js +94 -0
  172. package/dist/meta/meta-field.js.map +1 -0
  173. package/dist/meta/meta-identity.d.ts +71 -0
  174. package/dist/meta/meta-identity.d.ts.map +1 -0
  175. package/dist/meta/meta-identity.js +129 -0
  176. package/dist/meta/meta-identity.js.map +1 -0
  177. package/dist/meta/meta-layout.d.ts +23 -0
  178. package/dist/meta/meta-layout.d.ts.map +1 -0
  179. package/dist/meta/meta-layout.js +45 -0
  180. package/dist/meta/meta-layout.js.map +1 -0
  181. package/dist/meta/meta-object.d.ts +40 -0
  182. package/dist/meta/meta-object.d.ts.map +1 -0
  183. package/dist/meta/meta-object.js +81 -0
  184. package/dist/meta/meta-object.js.map +1 -0
  185. package/dist/meta/meta-origin.d.ts +32 -0
  186. package/dist/meta/meta-origin.d.ts.map +1 -0
  187. package/dist/meta/meta-origin.js +55 -0
  188. package/dist/meta/meta-origin.js.map +1 -0
  189. package/dist/meta/meta-relationship.d.ts +11 -0
  190. package/dist/meta/meta-relationship.d.ts.map +1 -0
  191. package/dist/meta/meta-relationship.js +27 -0
  192. package/dist/meta/meta-relationship.js.map +1 -0
  193. package/dist/meta/meta-root.d.ts +12 -0
  194. package/dist/meta/meta-root.d.ts.map +1 -0
  195. package/dist/meta/meta-root.js +24 -0
  196. package/dist/meta/meta-root.js.map +1 -0
  197. package/dist/meta/meta-source.d.ts +18 -0
  198. package/dist/meta/meta-source.d.ts.map +1 -0
  199. package/dist/meta/meta-source.js +31 -0
  200. package/dist/meta/meta-source.js.map +1 -0
  201. package/dist/meta/meta-validator.d.ts +29 -0
  202. package/dist/meta/meta-validator.d.ts.map +1 -0
  203. package/dist/meta/meta-validator.js +49 -0
  204. package/dist/meta/meta-validator.js.map +1 -0
  205. package/dist/meta/meta-view.d.ts +4 -0
  206. package/dist/meta/meta-view.d.ts.map +1 -0
  207. package/dist/meta/meta-view.js +8 -0
  208. package/dist/meta/meta-view.js.map +1 -0
  209. package/dist/metamodel-docs/index.d.ts +19 -0
  210. package/dist/metamodel-docs/index.d.ts.map +1 -0
  211. package/dist/metamodel-docs/index.js +37 -0
  212. package/dist/metamodel-docs/index.js.map +1 -0
  213. package/dist/metamodel-docs/provenance.d.ts +42 -0
  214. package/dist/metamodel-docs/provenance.d.ts.map +1 -0
  215. package/dist/metamodel-docs/provenance.js +148 -0
  216. package/dist/metamodel-docs/provenance.js.map +1 -0
  217. package/dist/metamodel-docs/provider-definitions.d.ts +8 -0
  218. package/dist/metamodel-docs/provider-definitions.d.ts.map +1 -0
  219. package/dist/metamodel-docs/provider-definitions.js +48 -0
  220. package/dist/metamodel-docs/provider-definitions.js.map +1 -0
  221. package/dist/metamodel-docs/render.d.ts +12 -0
  222. package/dist/metamodel-docs/render.d.ts.map +1 -0
  223. package/dist/metamodel-docs/render.js +252 -0
  224. package/dist/metamodel-docs/render.js.map +1 -0
  225. package/dist/naming-refs.d.ts +41 -0
  226. package/dist/naming-refs.d.ts.map +1 -0
  227. package/dist/naming-refs.js +144 -0
  228. package/dist/naming-refs.js.map +1 -0
  229. package/dist/naming.d.ts.map +1 -1
  230. package/dist/naming.js +10 -2
  231. package/dist/naming.js.map +1 -1
  232. package/dist/parser-core.d.ts.map +1 -1
  233. package/dist/parser-core.js +74 -8
  234. package/dist/parser-core.js.map +1 -1
  235. package/dist/persistence/db/db-attr-schemas.d.ts +8 -0
  236. package/dist/persistence/db/db-attr-schemas.d.ts.map +1 -0
  237. package/dist/persistence/db/db-attr-schemas.js +28 -0
  238. package/dist/persistence/db/db-attr-schemas.js.map +1 -0
  239. package/dist/persistence/db/db-definition.embedded.d.ts +3 -0
  240. package/dist/persistence/db/db-definition.embedded.d.ts.map +1 -0
  241. package/dist/persistence/db/db-definition.embedded.js +170 -0
  242. package/dist/persistence/db/db-definition.embedded.js.map +1 -0
  243. package/dist/persistence/db/db-provider.d.ts.map +1 -1
  244. package/dist/persistence/db/db-provider.js +13 -18
  245. package/dist/persistence/db/db-provider.js.map +1 -1
  246. package/dist/persistence/db/db-schema.d.ts +14 -0
  247. package/dist/persistence/db/db-schema.d.ts.map +1 -1
  248. package/dist/persistence/db/db-schema.js +27 -0
  249. package/dist/persistence/db/db-schema.js.map +1 -1
  250. package/dist/persistence/origin/origin-definition.embedded.d.ts +3 -0
  251. package/dist/persistence/origin/origin-definition.embedded.d.ts.map +1 -0
  252. package/dist/persistence/origin/origin-definition.embedded.js +88 -0
  253. package/dist/persistence/origin/origin-definition.embedded.js.map +1 -0
  254. package/dist/persistence/origin/origin-schema.d.ts.map +1 -1
  255. package/dist/persistence/origin/origin-schema.js +7 -3
  256. package/dist/persistence/origin/origin-schema.js.map +1 -1
  257. package/dist/persistence/source/source-definition.embedded.d.ts +3 -0
  258. package/dist/persistence/source/source-definition.embedded.d.ts.map +1 -0
  259. package/dist/persistence/source/source-definition.embedded.js +17 -0
  260. package/dist/persistence/source/source-definition.embedded.js.map +1 -0
  261. package/dist/persistence/source/validate-source-parameter-ref.d.ts.map +1 -1
  262. package/dist/persistence/source/validate-source-parameter-ref.js +7 -1
  263. package/dist/persistence/source/validate-source-parameter-ref.js.map +1 -1
  264. package/dist/persistence/source/validate-source-roles.d.ts.map +1 -1
  265. package/dist/persistence/source/validate-source-roles.js +16 -1
  266. package/dist/persistence/source/validate-source-roles.js.map +1 -1
  267. package/dist/presentation/layout/layout-definition.embedded.d.ts +3 -0
  268. package/dist/presentation/layout/layout-definition.embedded.d.ts.map +1 -0
  269. package/dist/presentation/layout/layout-definition.embedded.js +16 -0
  270. package/dist/presentation/layout/layout-definition.embedded.js.map +1 -0
  271. package/dist/presentation/layout/layout-schema.d.ts.map +1 -1
  272. package/dist/presentation/layout/layout-schema.js +3 -2
  273. package/dist/presentation/layout/layout-schema.js.map +1 -1
  274. package/dist/presentation/ui/ui-definition.embedded.d.ts +3 -0
  275. package/dist/presentation/ui/ui-definition.embedded.d.ts.map +1 -0
  276. package/dist/presentation/ui/ui-definition.embedded.js +114 -0
  277. package/dist/presentation/ui/ui-definition.embedded.js.map +1 -0
  278. package/dist/presentation/ui/ui-provider.d.ts +3 -0
  279. package/dist/presentation/ui/ui-provider.d.ts.map +1 -0
  280. package/dist/presentation/ui/ui-provider.js +21 -0
  281. package/dist/presentation/ui/ui-provider.js.map +1 -0
  282. package/dist/presentation/ui/ui-schema.d.ts +10 -0
  283. package/dist/presentation/ui/ui-schema.d.ts.map +1 -0
  284. package/dist/presentation/ui/ui-schema.js +41 -0
  285. package/dist/presentation/ui/ui-schema.js.map +1 -0
  286. package/dist/presentation/view/view-definition.embedded.d.ts +3 -0
  287. package/dist/presentation/view/view-definition.embedded.d.ts.map +1 -0
  288. package/dist/presentation/view/view-definition.embedded.js +76 -0
  289. package/dist/presentation/view/view-definition.embedded.js.map +1 -0
  290. package/dist/provider-data.d.ts +169 -0
  291. package/dist/provider-data.d.ts.map +1 -0
  292. package/dist/provider-data.js +269 -0
  293. package/dist/provider-data.js.map +1 -0
  294. package/dist/provider.d.ts +3 -1
  295. package/dist/provider.d.ts.map +1 -1
  296. package/dist/provider.js +15 -1
  297. package/dist/provider.js.map +1 -1
  298. package/dist/registry-coverage.d.ts +99 -0
  299. package/dist/registry-coverage.d.ts.map +1 -0
  300. package/dist/registry-coverage.js +294 -0
  301. package/dist/registry-coverage.js.map +1 -0
  302. package/dist/registry-manifest-exclusions.d.ts +62 -0
  303. package/dist/registry-manifest-exclusions.d.ts.map +1 -0
  304. package/dist/registry-manifest-exclusions.js +163 -0
  305. package/dist/registry-manifest-exclusions.js.map +1 -0
  306. package/dist/registry-manifest.d.ts +117 -0
  307. package/dist/registry-manifest.d.ts.map +1 -0
  308. package/dist/registry-manifest.js +242 -0
  309. package/dist/registry-manifest.js.map +1 -0
  310. package/dist/registry.d.ts +60 -2
  311. package/dist/registry.d.ts.map +1 -1
  312. package/dist/registry.js +37 -1
  313. package/dist/registry.js.map +1 -1
  314. package/dist/shared/structural.d.ts +7 -0
  315. package/dist/shared/structural.d.ts.map +1 -1
  316. package/dist/shared/structural.js +7 -0
  317. package/dist/shared/structural.js.map +1 -1
  318. package/dist/subtype-rules.d.ts.map +1 -1
  319. package/dist/subtype-rules.js +97 -13
  320. package/dist/subtype-rules.js.map +1 -1
  321. package/dist/super-resolve.d.ts +49 -2
  322. package/dist/super-resolve.d.ts.map +1 -1
  323. package/dist/super-resolve.js +128 -43
  324. package/dist/super-resolve.js.map +1 -1
  325. package/dist/template/meta-template.d.ts +3 -2
  326. package/dist/template/meta-template.d.ts.map +1 -1
  327. package/dist/template/meta-template.js +3 -2
  328. package/dist/template/meta-template.js.map +1 -1
  329. package/dist/template/prompt-definition.embedded.d.ts +3 -0
  330. package/dist/template/prompt-definition.embedded.d.ts.map +1 -0
  331. package/dist/template/prompt-definition.embedded.js +368 -0
  332. package/dist/template/prompt-definition.embedded.js.map +1 -0
  333. package/dist/template/prompt-provider.d.ts +3 -0
  334. package/dist/template/prompt-provider.d.ts.map +1 -0
  335. package/dist/template/prompt-provider.js +25 -0
  336. package/dist/template/prompt-provider.js.map +1 -0
  337. package/dist/template/prompt-schema.d.ts +20 -0
  338. package/dist/template/prompt-schema.d.ts.map +1 -0
  339. package/dist/template/prompt-schema.js +70 -0
  340. package/dist/template/prompt-schema.js.map +1 -0
  341. package/dist/template/template-constants.d.ts +2 -0
  342. package/dist/template/template-constants.d.ts.map +1 -1
  343. package/dist/template/template-constants.js +7 -0
  344. package/dist/template/template-constants.js.map +1 -1
  345. package/dist/template/template-definition.embedded.d.ts +3 -0
  346. package/dist/template/template-definition.embedded.d.ts.map +1 -0
  347. package/dist/template/template-definition.embedded.js +30 -0
  348. package/dist/template/template-definition.embedded.js.map +1 -0
  349. package/dist/template/template-schema.d.ts.map +1 -1
  350. package/dist/template/template-schema.js +12 -4
  351. package/dist/template/template-schema.js.map +1 -1
  352. package/package.json +33 -22
  353. package/src/attr-schema-validate.ts +96 -4
  354. package/src/constraint-merge.ts +0 -0
  355. package/src/constraint-validate.ts +363 -0
  356. package/src/core/attr/attr-constants.ts +15 -3
  357. package/src/core/attr/attr-definition.embedded.ts +67 -0
  358. package/src/core/documentation/doc-constants.ts +3 -1
  359. package/src/core/documentation/doc-provider.ts +6 -2
  360. package/src/core/documentation/documentation-definition.embedded.ts +86 -0
  361. package/src/core/field/field-constants.ts +8 -7
  362. package/src/core/field/field-definition.embedded.ts +243 -0
  363. package/src/core/field/meta-field.ts +6 -7
  364. package/src/core/identity/identity-definition.embedded.ts +98 -0
  365. package/src/core/identity/validate-identity-passthrough.ts +194 -0
  366. package/src/core/object/object-constants.ts +3 -0
  367. package/src/core/object/object-definition.embedded.ts +117 -0
  368. package/src/core/object/validate-discriminator.ts +0 -4
  369. package/src/core/query/query-constants.ts +5 -3
  370. package/src/core/relationship/derive-m2m-fields.ts +145 -0
  371. package/src/core/relationship/meta-relationship.ts +15 -9
  372. package/src/core/relationship/relationship-constants.ts +6 -2
  373. package/src/core/relationship/relationship-definition.embedded.ts +317 -0
  374. package/src/core/validator/validator-definition.embedded.ts +141 -0
  375. package/src/core/yaml-desugar.ts +96 -7
  376. package/src/core-types.ts +289 -150
  377. package/src/errors.ts +78 -0
  378. package/src/index.ts +47 -2
  379. package/src/library/embedded-library.generated.ts +10 -0
  380. package/src/library/library-sources.ts +97 -0
  381. package/src/loader/meta-data-loader.ts +66 -7
  382. package/src/loader/shortcuts.ts +2 -2
  383. package/src/loader/validation-passes.ts +679 -33
  384. package/src/metamodel-docs/index.ts +41 -0
  385. package/src/metamodel-docs/provenance.ts +187 -0
  386. package/src/metamodel-docs/provider-definitions.ts +50 -0
  387. package/src/metamodel-docs/render.ts +309 -0
  388. package/src/naming-refs.ts +162 -0
  389. package/src/naming.ts +10 -2
  390. package/src/parser-core.ts +86 -8
  391. package/src/persistence/db/db-definition.embedded.ts +177 -0
  392. package/src/persistence/db/db-provider.ts +13 -18
  393. package/src/persistence/origin/origin-definition.embedded.ts +95 -0
  394. package/src/persistence/source/source-definition.embedded.ts +24 -0
  395. package/src/persistence/source/validate-source-parameter-ref.ts +7 -1
  396. package/src/persistence/source/validate-source-roles.ts +22 -1
  397. package/src/presentation/layout/layout-definition.embedded.ts +23 -0
  398. package/src/presentation/ui/ui-definition.embedded.ts +121 -0
  399. package/src/presentation/ui/ui-provider.ts +25 -0
  400. package/src/presentation/view/view-definition.embedded.ts +83 -0
  401. package/src/provider-data.ts +446 -0
  402. package/src/provider.ts +18 -0
  403. package/src/registry-coverage.ts +430 -0
  404. package/src/registry-manifest-exclusions.ts +176 -0
  405. package/src/registry-manifest.ts +334 -0
  406. package/src/registry.ts +90 -3
  407. package/src/shared/structural.ts +8 -0
  408. package/src/subtype-rules.ts +135 -18
  409. package/src/super-resolve.ts +153 -43
  410. package/src/template/meta-template.ts +3 -2
  411. package/src/template/prompt-definition.embedded.ts +375 -0
  412. package/src/template/prompt-provider.ts +29 -0
  413. package/src/template/template-constants.ts +8 -0
  414. package/src/template/template-definition.embedded.ts +37 -0
  415. package/src/core/documentation/doc-schema.ts +0 -64
  416. package/src/core/field/field-schema.ts +0 -228
  417. package/src/core/identity/identity-schema.ts +0 -80
  418. package/src/core/object/object-schema.ts +0 -35
  419. package/src/core/relationship/relationship-schema.ts +0 -67
  420. package/src/core/validator/validator-schema.ts +0 -50
  421. package/src/persistence/db/db-schema.ts +0 -50
  422. package/src/persistence/origin/origin-schema.ts +0 -80
  423. package/src/persistence/source/source-schema.ts +0 -129
  424. package/src/presentation/layout/layout-schema.ts +0 -62
  425. package/src/presentation/view/view-schema.ts +0 -21
  426. package/src/template/template-schema.ts +0 -211
@@ -2,6 +2,8 @@
2
2
  import { TypeId, TypeRegistry } from "./registry.js";
3
3
  import { dbProvider } from "./persistence/db/db-provider.js";
4
4
  import { docProvider } from "./core/documentation/doc-provider.js";
5
+ import { promptProvider } from "./template/prompt-provider.js";
6
+ import { uiProvider } from "./presentation/ui/ui-provider.js";
5
7
  import {} from "./data-type.js";
6
8
  import { MetaRoot } from "./shared/meta-root.js";
7
9
  import { MetaObject } from "./core/object/meta-object.js";
@@ -21,32 +23,36 @@ import { MetaRelationship } from "./core/relationship/meta-relationship.js";
21
23
  import { MetaLayout } from "./presentation/layout/meta-layout.js";
22
24
  import { MetaSource } from "./persistence/source/meta-source.js";
23
25
  import { MetaOrigin, MetaPassthroughOrigin, MetaAggregateOrigin, MetaCollectionOrigin } from "./persistence/origin/meta-origin.js";
24
- import { commonFieldAttrs, currencyFieldAttr, enumFieldAttr, enumAliasAttr, enumDocAttr, coerceDefaultAttr, normalizeAttr } from "./core/field/field-schema.js";
25
- import { objectAttrs } from "./core/object/object-schema.js";
26
- import { relationshipAttrs } from "./core/relationship/relationship-schema.js";
27
- import { identityFieldsAttr, IDENTITY_ATTRS_MAP } from "./core/identity/identity-schema.js";
28
- import { VALIDATOR_ATTRS_MAP } from "./core/validator/validator-schema.js";
29
- import { currencyViewAttrs } from "./presentation/view/view-schema.js";
30
- import { dataGridLayoutAttrs } from "./presentation/layout/layout-schema.js";
31
- import { ORIGIN_ATTRS_MAP } from "./persistence/origin/origin-schema.js";
26
+ import { defineProviderFromData } from "./provider-data.js";
27
+ import { FIELD_DEFINITION } from "./core/field/field-definition.embedded.js";
28
+ import { OBJECT_DEFINITION } from "./core/object/object-definition.embedded.js";
29
+ import { ATTR_DEFINITION } from "./core/attr/attr-definition.embedded.js";
30
+ import { VALIDATOR_DEFINITION } from "./core/validator/validator-definition.embedded.js";
31
+ import { IDENTITY_DEFINITION } from "./core/identity/identity-definition.embedded.js";
32
+ import { RELATIONSHIP_DEFINITION } from "./core/relationship/relationship-definition.embedded.js";
33
+ import { ORIGIN_DEFINITION } from "./persistence/origin/origin-definition.embedded.js";
34
+ import { SOURCE_DEFINITION } from "./persistence/source/source-definition.embedded.js";
35
+ import { VIEW_DEFINITION } from "./presentation/view/view-definition.embedded.js";
36
+ import { LAYOUT_DEFINITION } from "./presentation/layout/layout-definition.embedded.js";
32
37
  import { MetaTemplate } from "./template/meta-template.js";
33
- import { TEMPLATE_ATTRS_MAP } from "./template/template-schema.js";
38
+ import { TEMPLATE_DEFINITION } from "./template/template-definition.embedded.js";
34
39
  import { TEMPLATE_SUBTYPES } from "./template/template-constants.js";
35
40
  import { TYPE_METADATA, TYPE_OBJECT, TYPE_FIELD, TYPE_ATTR, TYPE_VALIDATOR, TYPE_VIEW, TYPE_IDENTITY, TYPE_RELATIONSHIP, TYPE_LAYOUT, TYPE_SOURCE, TYPE_ORIGIN, TYPE_TEMPLATE, SUBTYPE_ROOT, } from "./shared/base-types.js";
36
41
  import { CHILD_RULE_WILDCARD } from "./shared/structural.js";
37
- import { OBJECT_SUBTYPES, OBJECT_SUBTYPE_ENTITY, OBJECT_SUBTYPE_VALUE } from "./core/object/object-constants.js";
38
- import { FIELD_SUBTYPES, FIELD_SUBTYPE_CURRENCY, FIELD_SUBTYPE_ENUM } from "./core/field/field-constants.js";
42
+ import { OBJECT_SUBTYPES, OBJECT_SUBTYPE_ENTITY } from "./core/object/object-constants.js";
43
+ import { FIELD_SUBTYPES } from "./core/field/field-constants.js";
39
44
  import { ATTR_SUBTYPES } from "./core/attr/attr-constants.js";
40
45
  import { VALIDATOR_SUBTYPES, VALIDATOR_SUBTYPE_REQUIRED, VALIDATOR_SUBTYPE_LENGTH, VALIDATOR_SUBTYPE_REGEX, VALIDATOR_SUBTYPE_NUMERIC, VALIDATOR_SUBTYPE_ARRAY, } from "./core/validator/validator-constants.js";
41
- import { VIEW_SUBTYPES, VIEW_SUBTYPE_CURRENCY, } from "./presentation/view/view-constants.js";
46
+ import { VIEW_SUBTYPES } from "./presentation/view/view-constants.js";
42
47
  import { IDENTITY_SUBTYPES, IDENTITY_SUBTYPE_PRIMARY, IDENTITY_SUBTYPE_SECONDARY, IDENTITY_SUBTYPE_REFERENCE, } from "./core/identity/identity-constants.js";
43
48
  import { RELATIONSHIP_SUBTYPES } from "./core/relationship/relationship-constants.js";
44
- import { LAYOUT_SUBTYPES, LAYOUT_SUBTYPE_DATA_GRID } from "./presentation/layout/layout-constants.js";
49
+ import { LAYOUT_SUBTYPES } from "./presentation/layout/layout-constants.js";
45
50
  import { SOURCE_SUBTYPES } from "./persistence/source/source-constants.js";
46
51
  import { ORIGIN_SUBTYPES, ORIGIN_SUBTYPE_PASSTHROUGH, ORIGIN_SUBTYPE_AGGREGATE, ORIGIN_SUBTYPE_COLLECTION, } from "./persistence/origin/origin-constants.js";
47
52
  // ---------------------------------------------------------------------------
48
53
  // The per-(type, subType) attribute schemas live in per-concern *-schema.ts
49
- // modules (e.g. core/field/field-schema.ts, persistence/origin/origin-schema.ts).
54
+ // modules (e.g. presentation/view/view-schema.ts) or, increasingly under
55
+ // FR-033, in the externalized spec/metamodel/*.json provider definitions.
50
56
  // This file keeps only the registration logic: the def() helper, the
51
57
  // subtype→class dispatch maps, and registerCoreTypes() itself.
52
58
  // ---------------------------------------------------------------------------
@@ -99,130 +105,261 @@ const ORIGIN_CLASS_MAP = new Map([
99
105
  // importing this module — that import created a module-eval cycle. They are
100
106
  // re-exported from the package index for the same public surface.
101
107
  function registerCoreTypeDefs(registry) {
102
- // metadata — 1 subtype (the document root: metadata.root)
108
+ // metadata — 1 subtype (the document root: metadata.root). FR-033 S1-simple:
109
+ // the any-attr wildcard child rule is DROPPED (strict/fail-closed — a document
110
+ // root holds structural nodes, never bare attrs); the genuinely-open structural
111
+ // wildcards (object/field/validator/template) are KEPT — a root legitimately
112
+ // holds arbitrary nodes of those types.
103
113
  registry.register(def(TYPE_METADATA, SUBTYPE_ROOT, "Root metadata document", [
104
114
  wildcard(TYPE_OBJECT),
105
115
  wildcard(TYPE_FIELD),
106
- wildcard(TYPE_ATTR),
107
116
  wildcard(TYPE_VALIDATOR),
108
117
  wildcard(TYPE_TEMPLATE),
109
118
  ], MetaRoot));
110
- // object — 4 subtypes
111
- const objectRules = [
112
- wildcard(TYPE_FIELD),
113
- wildcard(TYPE_IDENTITY),
114
- wildcard(TYPE_RELATIONSHIP),
115
- wildcard(TYPE_VALIDATOR),
116
- wildcard(TYPE_LAYOUT),
117
- wildcard(TYPE_SOURCE),
118
- wildcard(TYPE_ATTR),
119
- ];
120
- for (const subType of OBJECT_SUBTYPES) {
121
- // FR-011: object.value additionally carries @normalize the object-level
122
- // default normalization mode for its enum fields' tolerant extract.
123
- const subTypeObjectAttrs = subType === OBJECT_SUBTYPE_VALUE
124
- ? [...objectAttrs, { ...normalizeAttr }]
125
- : [...objectAttrs];
126
- registry.register(def(TYPE_OBJECT, subType, `Object/entity (${subType})`, objectRules, MetaObject, subTypeObjectAttrs));
119
+ // object — 4 subtypes. FR-033 S1-object: the object provider's declarative
120
+ // definition (vocabulary + per-subtype attr constraints + the structural child
121
+ // rules + real descriptions + the ADR-0028 taxonomy rule prose) is externalized
122
+ // to spec/metamodel/object.json, embedded at build into OBJECT_DEFINITION. The
123
+ // strict per-subtype model lives entirely in the JSON now: object.base carries
124
+ // the INTERSECTION of every subtype's structural children (field/identity/
125
+ // validator/layout/source); each concrete subtype sets extendsBase:true
126
+ // (composeWithBase folds the base childRules in at registration) and adds ONLY
127
+ // its subtype-specific children — value adds relationship; entity adds
128
+ // relationship + template (templates may be co-located) + the FR-014 TPH attrs
129
+ // @discriminator/@discriminatorValue (an entity-inheritance concept a value
130
+ // object / derived projection carries no discriminator); projection inherits the
131
+ // base intersection ONLY (NO relationship derivation is via @via, not a
132
+ // relationship child and NO template). The "any attr" wildcard child rule is
133
+ // DROPPED (strict/fail-closed) and childRules are NO LONGER post-assigned in
134
+ // code. defineProviderFromData lowers it to TypeDefinitions; the factory
135
+ // (behavior) stays code via OBJECT_FACTORIES, mapping every subType MetaObject.
136
+ const OBJECT_FACTORIES = Object.fromEntries(OBJECT_SUBTYPES.map((subType) => [
137
+ `${TYPE_OBJECT}.${subType}`,
138
+ (typeId, name) => new MetaObject(typeId, name),
139
+ ]));
140
+ for (const objectDef of defineProviderFromData(OBJECT_DEFINITION, OBJECT_FACTORIES)) {
141
+ registry.register(objectDef);
127
142
  }
128
- // field — 13 subtypes
129
- const fieldRules = [
130
- wildcard(TYPE_VALIDATOR),
131
- wildcard(TYPE_VIEW),
132
- wildcard(TYPE_ATTR),
133
- wildcard(TYPE_ORIGIN),
134
- ];
135
- for (const subType of FIELD_SUBTYPES) {
136
- // field.currency additionally carries @currency; field.enum additionally
137
- // carries @values; all other field subtypes share the common attrs only.
138
- const fieldAttrs = subType === FIELD_SUBTYPE_CURRENCY
139
- ? [...commonFieldAttrs, { ...currencyFieldAttr }]
140
- : subType === FIELD_SUBTYPE_ENUM
141
- ? [
142
- ...commonFieldAttrs,
143
- { ...enumFieldAttr },
144
- { ...enumAliasAttr },
145
- { ...enumDocAttr },
146
- { ...coerceDefaultAttr },
147
- { ...normalizeAttr },
148
- ]
149
- : [...commonFieldAttrs];
150
- registry.register(def(TYPE_FIELD, subType, `Field of type ${subType}`, fieldRules, MetaField, fieldAttrs, new MetaField(new TypeId(TYPE_FIELD, subType), "").dataType));
143
+ // field — 15 subtypes. FR-033 S1-field-B: the field provider's declarative
144
+ // definition (vocabulary + per-subtype attr constraints + the structural child
145
+ // rules + descriptions + rule prose) is externalized to spec/metamodel/field.json,
146
+ // embedded at build into FIELD_DEFINITION. The strict per-subtype model lives
147
+ // entirely in the JSON now: field.base carries the universal core attrs
148
+ // (@required/@readOnly/@default/@unique) + the open validator/view/origin child
149
+ // rules; each concrete subtype sets extendsBase:true (composeWithBase folds the
150
+ // base attrs+childRules in at registration) and adds ONLY its subtype-specific
151
+ // attrs (@maxLength→string, @precision/@scale→decimal, @currency→currency,
152
+ // @objectRef→object, @values/@provided→enum). The "any attr" wildcard child rule
153
+ // is DROPPED (strict/fail-closed) and childRules are NO LONGER post-assigned in
154
+ // code. defineProviderFromData lowers it to TypeDefinitions; the factory
155
+ // (behavior) stays code via FIELD_FACTORIES.
156
+ //
157
+ // (id, name) → MetaField for every field subtype. MetaField computes its own
158
+ // dataType from subType (FIELD_DATA_TYPE getter), so no setDataType is needed;
159
+ // FIELD_DEFINITION.dataType carries the same per-subtype value onto the def.
160
+ const FIELD_FACTORIES = Object.fromEntries(FIELD_SUBTYPES.map((subType) => [
161
+ `${TYPE_FIELD}.${subType}`,
162
+ (typeId, name) => new MetaField(typeId, name),
163
+ ]));
164
+ for (const fieldDef of defineProviderFromData(FIELD_DEFINITION, FIELD_FACTORIES)) {
165
+ registry.register(fieldDef);
151
166
  }
152
- // attr — 9 subtypes, no children allowed. Each subtype's class owns its
153
- // dataType (resolved by this.subType); we read it off a probe instance so the
154
- // TypeDefinition.dataType contract (registry.find(...).dataType) still holds.
155
- for (const subType of ATTR_SUBTYPES) {
156
- const AttrClass = attrClassFor(subType);
157
- const probeDataType = new AttrClass(new TypeId(TYPE_ATTR, subType), "").dataType;
158
- registry.register(def(TYPE_ATTR, subType, `Attribute of type ${subType}`, [], AttrClass, [], probeDataType));
167
+ // attr — 9 subtypes, no children allowed, no per-type attrs. FR-033: the attr
168
+ // provider's declarative definition (vocabulary + descriptions + per-subtype
169
+ // dataType) is externalized to spec/metamodel/attr.json, embedded at build into
170
+ // ATTR_DEFINITION. defineProviderFromData lowers it to TypeDefinitions; the
171
+ // factory (behavior) stays code via ATTR_FACTORIES. attrs are leaf value-type
172
+ // vocabulary: no childRules and no attributes, so (unlike field) NO post-assign
173
+ // is needed. Each subtype's class owns its dataType internally (resolved by
174
+ // this.subType); ATTR_DEFINITION.dataType carries the same per-subtype value.
175
+ const ATTR_FACTORIES = Object.fromEntries(ATTR_SUBTYPES.map((subType) => [
176
+ `${TYPE_ATTR}.${subType}`,
177
+ (typeId, name) => new (attrClassFor(subType))(typeId, name),
178
+ ]));
179
+ for (const attrDef of defineProviderFromData(ATTR_DEFINITION, ATTR_FACTORIES)) {
180
+ registry.register(attrDef);
159
181
  }
160
182
  // validator — 6 subtypes (base + 5 named); dispatch to subtype-specific class.
161
- // Subtype→class dispatch for TYPE_VALIDATOR (formerly handled by metaOf()):
183
+ // FR-033: the validator provider's declarative definition (vocabulary +
184
+ // per-subtype attr constraints + descriptions + rule prose) is externalized to
185
+ // spec/metamodel/validator.json, embedded at build into VALIDATOR_DEFINITION.
186
+ // defineProviderFromData lowers it to TypeDefinitions; the factory (behavior)
187
+ // stays code via VALIDATOR_FACTORIES, dispatching subType→class:
162
188
  // required → MetaRequiredValidator, length → MetaLengthValidator,
163
189
  // regex → MetaRegexValidator, numeric → MetaNumericValidator,
164
190
  // array → MetaArrayValidator, default (base) → MetaValidator.
165
- // Attr schemas: MetaValidator (base) + length/numeric/array read @min/@max via
166
- // this.ownAttr(VALIDATOR_ATTR_MIN/MAX); regex also reads @pattern via this.ownAttr().
167
- // required has no extra attrs.
168
- const validatorRules = [wildcard(TYPE_ATTR)];
169
- for (const subType of VALIDATOR_SUBTYPES) {
170
- const NodeClass = VALIDATOR_CLASS_MAP.get(subType) ?? MetaValidator;
171
- const validatorAttrs = VALIDATOR_ATTRS_MAP.get(subType) ?? [];
172
- registry.register(def(TYPE_VALIDATOR, subType, `Validator (${subType})`, validatorRules, NodeClass, validatorAttrs));
191
+ // FR-033 S1-simple: validator is an ATTR-ONLY type its only children are its
192
+ // declared named attrs (no structural children, ever). The "any attr" wildcard
193
+ // child rule is DROPPED (strict/fail-closed); defineProviderFromData leaves
194
+ // childRules EMPTY. The named attrs still enforce strictly via attr-schema-
195
+ // validate (ERR_UNKNOWN_ATTR); a misplaced STRUCTURAL child is now
196
+ // ERR_CHILD_NOT_ALLOWED. Attr schemas: base + length/numeric/array read @min/@max
197
+ // via this.ownAttr(VALIDATOR_ATTR_MIN/MAX); regex also reads @pattern; required
198
+ // has no extra attrs.
199
+ const VALIDATOR_FACTORIES = Object.fromEntries(VALIDATOR_SUBTYPES.map((subType) => [
200
+ `${TYPE_VALIDATOR}.${subType}`,
201
+ (typeId, name) => new (VALIDATOR_CLASS_MAP.get(subType) ?? MetaValidator)(typeId, name),
202
+ ]));
203
+ for (const validatorDef of defineProviderFromData(VALIDATOR_DEFINITION, VALIDATOR_FACTORIES)) {
204
+ registry.register(validatorDef);
173
205
  }
174
- // view — N subtypes. Each view permits only attr children (Java parity:
175
- // MetaView only attaches to fields, never aggregates child views).
176
- // Only view.currency carries a documented attr (@locale); others have none.
177
- for (const subType of VIEW_SUBTYPES) {
178
- const viewAttrs = subType === VIEW_SUBTYPE_CURRENCY ? [...currencyViewAttrs] : [];
179
- registry.register(def(TYPE_VIEW, subType, `View (${subType})`, [wildcard(TYPE_ATTR)], MetaView, viewAttrs));
206
+ // view — 13 subtypes (base + 12 field-level UI/render hints). Each view permits
207
+ // only attr children (Java parity: MetaView only attaches to fields, never
208
+ // aggregates child views).
209
+ // FR-033: the view provider's declarative definition (vocabulary + real
210
+ // per-subtype descriptions + the single @locale attr on view.currency) is
211
+ // externalized to spec/metamodel/view.json, embedded at build into
212
+ // VIEW_DEFINITION. defineProviderFromData lowers it to TypeDefinitions; the
213
+ // factory (behavior) stays code via VIEW_FACTORIES — every subtype maps to the
214
+ // single MetaView class (views carry no per-subtype behavior). Only
215
+ // view.currency carries a documented attr (@locale, default "en-US"); the
216
+ // other 12 subtypes have none. FR-033 S1-simple: view is an ATTR-ONLY type —
217
+ // the "any attr" wildcard child rule is DROPPED (strict/fail-closed) and
218
+ // childRules are left EMPTY; the declared named attrs still enforce strictly,
219
+ // a misplaced STRUCTURAL child is now ERR_CHILD_NOT_ALLOWED.
220
+ const VIEW_FACTORIES = Object.fromEntries(VIEW_SUBTYPES.map((subType) => [
221
+ `${TYPE_VIEW}.${subType}`,
222
+ (typeId, name) => new MetaView(typeId, name),
223
+ ]));
224
+ for (const viewDef of defineProviderFromData(VIEW_DEFINITION, VIEW_FACTORIES)) {
225
+ registry.register(viewDef);
180
226
  }
181
227
  // layout — object-level UI surfaces (data grids, forms, tabs, cards).
182
- // Each subtype permits only attr children like views, layouts are config carriers.
183
- for (const subType of LAYOUT_SUBTYPES) {
184
- const layoutAttrs = subType === LAYOUT_SUBTYPE_DATA_GRID ? [...dataGridLayoutAttrs] : [];
185
- registry.register(def(TYPE_LAYOUT, subType, `Layout (${subType})`, [wildcard(TYPE_ATTR)], MetaLayout, layoutAttrs));
228
+ // FR-033: the layout provider's declarative definition (2 subtypes base +
229
+ // dataGrid vocabulary + the 6 dataGrid attr constraints + descriptions) is
230
+ // externalized to spec/metamodel/layout.json, embedded at build into
231
+ // LAYOUT_DEFINITION. defineProviderFromData lowers it to TypeDefinitions; the
232
+ // factory (behavior) stays code via LAYOUT_FACTORIES — every subtype maps to
233
+ // the single MetaLayout class (layouts are config carriers, no per-subtype
234
+ // behavior). FR-033 S1-simple: layout is an ATTR-ONLY type — like views,
235
+ // layouts are config carriers — the "any attr" wildcard child rule is DROPPED
236
+ // (strict/fail-closed) and childRules are left EMPTY; the declared named attrs
237
+ // still enforce strictly, a misplaced STRUCTURAL child is now
238
+ // ERR_CHILD_NOT_ALLOWED.
239
+ const LAYOUT_FACTORIES = Object.fromEntries(LAYOUT_SUBTYPES.map((subType) => [
240
+ `${TYPE_LAYOUT}.${subType}`,
241
+ (typeId, name) => new MetaLayout(typeId, name),
242
+ ]));
243
+ for (const layoutDef of defineProviderFromData(LAYOUT_DEFINITION, LAYOUT_FACTORIES)) {
244
+ registry.register(layoutDef);
186
245
  }
187
- // source — declares where an object's data lives (rdb, ... per ADR-0007).
188
- // Only attr children; sources carry only configuration, never nested structure.
189
- // Per-subtype attrs (@table/@kind/@role/@schema for rdb) are added by
190
- // dbProvider via TypeRegistry.extend.
191
- for (const subType of SOURCE_SUBTYPES) {
192
- registry.register(def(TYPE_SOURCE, subType, `Source (${subType})`, [wildcard(TYPE_ATTR)], MetaSource, []));
246
+ // source — declares where an object's data lives (2 subtypes: base/rdb, per
247
+ // ADR-0007). Only attr children; sources carry only configuration, never
248
+ // nested structure.
249
+ // FR-033: the CORE source registration (the bare source shells + real
250
+ // descriptions + ADR-0007 rules prose) is externalized to
251
+ // spec/metamodel/source.json, embedded at build into SOURCE_DEFINITION.
252
+ // defineProviderFromData lowers it to TypeDefinitions; the factory (behavior)
253
+ // stays code via SOURCE_FACTORIES — a single MetaSource class backs all
254
+ // subtypes. The CORE registration carries NO own attrs (children == []); the
255
+ // per-subtype @table/@kind/@role/@schema/@parameterRef attrs on source.rdb are
256
+ // contributed by a SEPARATE provider (dbProvider, persistence/db) via
257
+ // registry.extend(TYPE_SOURCE, "rdb", ...) — untouched by this conversion.
258
+ // FR-033 S1-simple: source is an ATTR-ONLY type (configuration carrier, never
259
+ // nested structure) — the "any attr" wildcard child rule is DROPPED (strict/
260
+ // fail-closed) and childRules are left EMPTY; the per-subtype @table/@kind/
261
+ // @role/@schema attrs (from dbProvider) still enforce strictly, a misplaced
262
+ // STRUCTURAL child is now ERR_CHILD_NOT_ALLOWED.
263
+ const SOURCE_FACTORIES = Object.fromEntries(SOURCE_SUBTYPES.map((subType) => [
264
+ `${TYPE_SOURCE}.${subType}`,
265
+ (typeId, name) => new MetaSource(typeId, name),
266
+ ]));
267
+ for (const sourceDef of defineProviderFromData(SOURCE_DEFINITION, SOURCE_FACTORIES)) {
268
+ registry.register(sourceDef);
193
269
  }
194
- // origin — field-level provenance. Only attr children.
195
- // Subtype→class dispatch (mirrors validator / identity patterns):
270
+ // origin — field-level provenance (4 subtypes: base/passthrough/aggregate/
271
+ // collection; only attr children).
272
+ // FR-033: the origin provider's declarative definition (vocabulary +
273
+ // per-subtype attr constraints + real descriptions) is externalized to
274
+ // spec/metamodel/origin.json, embedded at build into ORIGIN_DEFINITION.
275
+ // defineProviderFromData lowers it to TypeDefinitions; the factory (behavior)
276
+ // stays code via ORIGIN_FACTORIES, dispatching subType→class:
196
277
  // passthrough → MetaPassthroughOrigin, aggregate → MetaAggregateOrigin,
197
- // base (and any unmapped subtype) → MetaOrigin.
198
- for (const subType of ORIGIN_SUBTYPES) {
199
- const NodeClass = ORIGIN_CLASS_MAP.get(subType) ?? MetaOrigin;
200
- const originAttrs = ORIGIN_ATTRS_MAP.get(subType) ?? [];
201
- registry.register(def(TYPE_ORIGIN, subType, `Origin (${subType})`, [wildcard(TYPE_ATTR)], NodeClass, originAttrs));
278
+ // collection → MetaCollectionOrigin, base (and any unmapped subtype) →
279
+ // MetaOrigin (fallback).
280
+ // FR-033 S1-simple: origin is an ATTR-ONLY type — the "any attr" wildcard child
281
+ // rule is DROPPED (strict/fail-closed) and childRules are left EMPTY; the named
282
+ // attrs still enforce strictly, a misplaced STRUCTURAL child is now
283
+ // ERR_CHILD_NOT_ALLOWED. Attr schemas: base has none; passthrough adds @from
284
+ // (required) + @via; aggregate adds @agg (required) + @of (required) + @via;
285
+ // collection adds @via (required).
286
+ const ORIGIN_FACTORIES = Object.fromEntries(ORIGIN_SUBTYPES.map((subType) => [
287
+ `${TYPE_ORIGIN}.${subType}`,
288
+ (typeId, name) => new (ORIGIN_CLASS_MAP.get(subType) ?? MetaOrigin)(typeId, name),
289
+ ]));
290
+ for (const originDef of defineProviderFromData(ORIGIN_DEFINITION, ORIGIN_FACTORIES)) {
291
+ registry.register(originDef);
202
292
  }
203
293
  // template — renderable text artifacts (FR-004) + tool-call envelopes
204
- // (ADR-0011). Three subtypes: prompt + output + toolcall; attr-only children.
205
- // A single MetaTemplate class backs all three subtypes (mirrors source);
294
+ // (ADR-0011). Four subtypes: base + prompt + output + toolcall; attr-only
295
+ // children. A single MetaTemplate class backs every subtype (mirrors source);
206
296
  // per-subtype attr schemas drive validation (prompt + output require
207
297
  // @payloadRef + @textRef + @format closed enum; prompt adds the LLM overlay;
208
- // toolcall has its own set — @toolName + @payloadRef + @description, no
209
- // @textRef requirement since toolcalls have no renderable body).
210
- for (const subType of TEMPLATE_SUBTYPES) {
211
- const templateAttrs = TEMPLATE_ATTRS_MAP.get(subType) ?? [];
212
- registry.register(def(TYPE_TEMPLATE, subType, `Template (${subType})`, [wildcard(TYPE_ATTR)], MetaTemplate, templateAttrs));
298
+ // output adds @promptStyle + @kind/email part-refs; toolcall has its own set —
299
+ // @toolName + @payloadRef, no @textRef requirement since toolcalls have no
300
+ // renderable body).
301
+ // FR-033: the template provider's declarative definition (the 4-subtype
302
+ // vocabulary + the full per-subtype attr constraints — incl. @format/@promptStyle/
303
+ // @kind closed-enum allowedValues + defaults + required @payloadRef/@toolName —
304
+ // + real descriptions + the FR-004/ADR-0011 rules prose) is externalized to
305
+ // spec/metamodel/template.json, embedded at build into TEMPLATE_DEFINITION.
306
+ // defineProviderFromData lowers it to TypeDefinitions; the factory (behavior)
307
+ // stays code via TEMPLATE_FACTORIES, mapping every subType → MetaTemplate.
308
+ // FR-033 S2: template's CORE registration carries NO own attrs (children == []);
309
+ // the per-subtype type attrs (@payloadRef/@textRef/@format/@kind/…) on prompt/
310
+ // output/toolcall are contributed by a SEPARATE provider (promptProvider,
311
+ // template/prompt-provider) via registry.extend(TYPE_TEMPLATE, sub, ...). With
312
+ // those attrs re-homed, template is now an ATTR-ONLY type and the "any attr"
313
+ // wildcard child rule is DROPPED (strict completion — like view/layout/source);
314
+ // childRules are left EMPTY, so a misplaced STRUCTURAL child is now
315
+ // ERR_CHILD_NOT_ALLOWED and a non-declared attr is ERR_UNKNOWN_ATTR. Vendor
316
+ // toolcall attrs stay extensible via consumer registry.extend (ADR-0011).
317
+ const TEMPLATE_FACTORIES = Object.fromEntries(TEMPLATE_SUBTYPES.map((subType) => [
318
+ `${TYPE_TEMPLATE}.${subType}`,
319
+ (typeId, name) => new MetaTemplate(typeId, name),
320
+ ]));
321
+ for (const templateDef of defineProviderFromData(TEMPLATE_DEFINITION, TEMPLATE_FACTORIES)) {
322
+ registry.register(templateDef);
213
323
  }
214
- // identity — 2 subtypes (no base; Java doesn't register one).
215
- // Subtype→class dispatch for TYPE_IDENTITY (formerly handled by metaOf()):
324
+ // identity — 3 subtypes (primary/secondary/reference; no base Java doesn't
325
+ // register one).
326
+ // FR-033: the identity provider's declarative definition (vocabulary +
327
+ // per-subtype attr constraints + descriptions) is externalized to
328
+ // spec/metamodel/identity.json, embedded at build into IDENTITY_DEFINITION.
329
+ // defineProviderFromData lowers it to TypeDefinitions; the factory (behavior)
330
+ // stays code via IDENTITY_FACTORIES, dispatching subType→class:
216
331
  // primary → MetaPrimaryIdentity, secondary → MetaSecondaryIdentity,
217
- // default → MetaIdentity (fallback, not currently registered).
218
- for (const subType of IDENTITY_SUBTYPES) {
219
- const NodeClass = IDENTITY_CLASS_MAP.get(subType) ?? MetaIdentity;
220
- const idAttrs = IDENTITY_ATTRS_MAP.get(subType) ?? [{ ...identityFieldsAttr }];
221
- registry.register(def(TYPE_IDENTITY, subType, `Identity (${subType})`, [wildcard(TYPE_ATTR)], NodeClass, idAttrs));
332
+ // reference → MetaReferenceIdentity, default → MetaIdentity (fallback).
333
+ // FR-033 S1-simple: identity is an ATTR-ONLY type — the "any attr" wildcard
334
+ // child rule is DROPPED (strict/fail-closed) and childRules are left EMPTY; the
335
+ // named attrs still enforce strictly, a misplaced STRUCTURAL child is now
336
+ // ERR_CHILD_NOT_ALLOWED. Attr schemas: all three carry the required @fields;
337
+ // primary adds @generation, secondary @unique, reference @references (required)
338
+ // + @enforce.
339
+ const IDENTITY_FACTORIES = Object.fromEntries(IDENTITY_SUBTYPES.map((subType) => [
340
+ `${TYPE_IDENTITY}.${subType}`,
341
+ (typeId, name) => new (IDENTITY_CLASS_MAP.get(subType) ?? MetaIdentity)(typeId, name),
342
+ ]));
343
+ for (const identityDef of defineProviderFromData(IDENTITY_DEFINITION, IDENTITY_FACTORIES)) {
344
+ registry.register(identityDef);
222
345
  }
223
- // relationship — 4 subtypes
224
- for (const subType of RELATIONSHIP_SUBTYPES) {
225
- registry.register(def(TYPE_RELATIONSHIP, subType, `Relationship (${subType})`, [wildcard(TYPE_ATTR)], MetaRelationship, [...relationshipAttrs]));
346
+ // relationship — 4 subtypes (base/association/aggregation/composition), all
347
+ // backed by the single MetaRelationship node class (no subType→class dispatch).
348
+ // FR-033: the relationship provider's declarative definition (vocabulary +
349
+ // the 7 shared attr constraints + real descriptions + the complex M:N rules
350
+ // prose) is externalized to spec/metamodel/relationship.json, embedded at build
351
+ // into RELATIONSHIP_DEFINITION. defineProviderFromData lowers it to
352
+ // TypeDefinitions; the factory (behavior) stays code via RELATIONSHIP_FACTORIES,
353
+ // mapping every subType → MetaRelationship. FR-033 S1-simple: relationship is an
354
+ // ATTR-ONLY type — the "any attr" wildcard child rule is DROPPED (strict/fail-
355
+ // closed) and childRules are left EMPTY; the named attrs still enforce strictly,
356
+ // a misplaced STRUCTURAL child is now ERR_CHILD_NOT_ALLOWED.
357
+ const RELATIONSHIP_FACTORIES = Object.fromEntries(RELATIONSHIP_SUBTYPES.map((subType) => [
358
+ `${TYPE_RELATIONSHIP}.${subType}`,
359
+ (typeId, name) => new MetaRelationship(typeId, name),
360
+ ]));
361
+ for (const relationshipDef of defineProviderFromData(RELATIONSHIP_DEFINITION, RELATIONSHIP_FACTORIES)) {
362
+ registry.register(relationshipDef);
226
363
  }
227
364
  // Default subTypes for YAML authoring sugar: a bare `metadata:` / `object:`
228
365
  // key resolves to these. `metadata` has exactly one subtype (root) so the
@@ -244,9 +381,18 @@ export const coreTypesProvider = {
244
381
  registerCoreTypeDefs(registry);
245
382
  },
246
383
  };
247
- /** The default provider bundle — core metamodel types plus DB-domain attrs.
248
- * Spread it to add more: `[...coreProviders, mine]`. */
249
- export const coreProviders = [coreTypesProvider, dbProvider, docProvider];
384
+ /** The default provider bundle — core metamodel types plus the four concern
385
+ * providers (DB-domain attrs, documentation common-attrs, prompt/AI + the
386
+ * UI/query-surface markers). FR-033 S1-field-A re-homed the field's
387
+ * filter/sort/teaching/extract/storage attrs out of core into db/ui/prompt;
388
+ * the composed set is unchanged. Spread it to add more: `[...coreProviders, mine]`. */
389
+ export const coreProviders = [
390
+ coreTypesProvider,
391
+ dbProvider,
392
+ docProvider,
393
+ promptProvider,
394
+ uiProvider,
395
+ ];
250
396
  /**
251
397
  * Register the core metamodel into an existing registry. Thin convenience
252
398
  * wrapper over `coreTypesProvider`; prefer `composeRegistry(coreProviders)`.
@@ -1 +1 @@
1
- {"version":3,"file":"core-types.js","sourceRoot":"","sources":["../src/core-types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"core-types.js","sourceRoot":"","sources":["../src/core-types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import type { AttrSchema } from "../registry.js";
2
+ /** `@dbColumn` — column-name override; on every field subtype. */
3
+ export declare const dbColumnSchema: AttrSchema;
4
+ /** `@db.indexed` — suppress the @filterable-without-index warning; on every field subtype. */
5
+ export declare const dbIndexedSchema: AttrSchema;
6
+ /** `@name` — the SQL table/view identifier; on source.dbTable and source.dbView. */
7
+ export declare const sourceNameSchema: AttrSchema;
8
+ //# sourceMappingURL=db-attr-schemas.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"db-attr-schemas.d.ts","sourceRoot":"","sources":["../../src/db/db-attr-schemas.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AASjD,kEAAkE;AAClE,eAAO,MAAM,cAAc,EAAE,UAM5B,CAAC;AAEF,8FAA8F;AAC9F,eAAO,MAAM,eAAe,EAAE,UAM7B,CAAC;AAEF,oFAAoF;AACpF,eAAO,MAAM,gBAAgB,EAAE,UAM9B,CAAC"}
@@ -0,0 +1,26 @@
1
+ // DB-domain attribute schemas. Relocated from core-attr-schemas.ts — these
2
+ // attributes are registered by dbProvider (db-provider.ts), not the core
3
+ // metamodel. See docs/superpowers/specs/2026-05-18-phase4b-db-provider-design.md.
4
+ import { ATTR_SUBTYPE_STRING, ATTR_SUBTYPE_BOOLEAN, FIELD_ATTR_DB_COLUMN, FIELD_ATTR_DB_INDEXED, SOURCE_ATTR_NAME, } from "../constants.js";
5
+ /** `@dbColumn` — column-name override; on every field subtype. */
6
+ export const dbColumnSchema = {
7
+ name: FIELD_ATTR_DB_COLUMN,
8
+ valueType: ATTR_SUBTYPE_STRING,
9
+ required: false,
10
+ description: "Override the generated SQL column name for this field. Defaults to the field name run through the project's columnNamingStrategy.",
11
+ };
12
+ /** `@db.indexed` — suppress the @filterable-without-index warning; on every field subtype. */
13
+ export const dbIndexedSchema = {
14
+ name: FIELD_ATTR_DB_INDEXED,
15
+ valueType: ATTR_SUBTYPE_BOOLEAN,
16
+ required: false,
17
+ description: "When true, suppress the @filterable-without-index Loader warning (the field is indexed by other means).",
18
+ };
19
+ /** `@name` — the SQL table/view identifier; on source.dbTable and source.dbView. */
20
+ export const sourceNameSchema = {
21
+ name: SOURCE_ATTR_NAME,
22
+ valueType: ATTR_SUBTYPE_STRING,
23
+ required: false,
24
+ description: "The SQL table or view name for this source. Defaults to the object name run through the columnNamingStrategy when omitted.",
25
+ };
26
+ //# sourceMappingURL=db-attr-schemas.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"db-attr-schemas.js","sourceRoot":"","sources":["../../src/db/db-attr-schemas.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,yEAAyE;AACzE,kFAAkF;AAGlF,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,EACpB,qBAAqB,EACrB,gBAAgB,GACjB,MAAM,iBAAiB,CAAC;AAEzB,kEAAkE;AAClE,MAAM,CAAC,MAAM,cAAc,GAAe;IACxC,IAAI,EAAE,oBAAoB;IAC1B,SAAS,EAAE,mBAAmB;IAC9B,QAAQ,EAAE,KAAK;IACf,WAAW,EACT,mIAAmI;CACtI,CAAC;AAEF,8FAA8F;AAC9F,MAAM,CAAC,MAAM,eAAe,GAAe;IACzC,IAAI,EAAE,qBAAqB;IAC3B,SAAS,EAAE,oBAAoB;IAC/B,QAAQ,EAAE,KAAK;IACf,WAAW,EACT,yGAAyG;CAC5G,CAAC;AAEF,oFAAoF;AACpF,MAAM,CAAC,MAAM,gBAAgB,GAAe;IAC1C,IAAI,EAAE,gBAAgB;IACtB,SAAS,EAAE,mBAAmB;IAC9B,QAAQ,EAAE,KAAK;IACf,WAAW,EACT,4HAA4H;CAC/H,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { MetaDataTypeProvider } from "../provider.js";
2
+ export declare const dbProvider: MetaDataTypeProvider;
3
+ //# sourceMappingURL=db-provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"db-provider.d.ts","sourceRoot":"","sources":["../../src/db/db-provider.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAW3D,eAAO,MAAM,UAAU,EAAE,oBAoBxB,CAAC"}
@@ -0,0 +1,28 @@
1
+ // dbProvider — the DB-domain MetaDataTypeProvider. Registers the DB-domain
2
+ // attributes (@dbColumn, @db.indexed on fields; @name on source.dbTable /
3
+ // source.dbView) by extending the core-registered types. Mirrors Java's
4
+ // CoreDBMetaDataProvider (com.metaobjects.database).
5
+ // See docs/superpowers/specs/2026-05-18-phase4b-db-provider-design.md.
6
+ import { TYPE_FIELD, TYPE_SOURCE, FIELD_SUBTYPES, SOURCE_SUBTYPE_DB_TABLE, SOURCE_SUBTYPE_DB_VIEW, } from "../constants.js";
7
+ import { dbColumnSchema, dbIndexedSchema, sourceNameSchema } from "./db-attr-schemas.js";
8
+ export const dbProvider = {
9
+ id: "metaobjects-db",
10
+ dependencies: ["metaobjects-core-types"],
11
+ description: "DB-domain attributes — @dbColumn / @db.indexed on fields, @name on source.dbTable / source.dbView.",
12
+ registerTypes(registry) {
13
+ for (const subType of FIELD_SUBTYPES) {
14
+ registry.extend(TYPE_FIELD, subType, {
15
+ attributes: [dbColumnSchema, dbIndexedSchema],
16
+ });
17
+ }
18
+ // Two explicit calls (not a loop) — dbTable and dbView are the only DB
19
+ // source subtypes, and there is no DB_SOURCE_SUBTYPES constant to loop.
20
+ registry.extend(TYPE_SOURCE, SOURCE_SUBTYPE_DB_TABLE, {
21
+ attributes: [sourceNameSchema],
22
+ });
23
+ registry.extend(TYPE_SOURCE, SOURCE_SUBTYPE_DB_VIEW, {
24
+ attributes: [sourceNameSchema],
25
+ });
26
+ },
27
+ };
28
+ //# sourceMappingURL=db-provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"db-provider.js","sourceRoot":"","sources":["../../src/db/db-provider.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,0EAA0E;AAC1E,wEAAwE;AACxE,qDAAqD;AACrD,uEAAuE;AAIvE,OAAO,EACL,UAAU,EACV,WAAW,EACX,cAAc,EACd,uBAAuB,EACvB,sBAAsB,GACvB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAEzF,MAAM,CAAC,MAAM,UAAU,GAAyB;IAC9C,EAAE,EAAE,gBAAgB;IACpB,YAAY,EAAE,CAAC,wBAAwB,CAAC;IACxC,WAAW,EACT,oGAAoG;IACtG,aAAa,CAAC,QAAsB;QAClC,KAAK,MAAM,OAAO,IAAI,cAAc,EAAE,CAAC;YACrC,QAAQ,CAAC,MAAM,CAAC,UAAU,EAAE,OAAO,EAAE;gBACnC,UAAU,EAAE,CAAC,cAAc,EAAE,eAAe,CAAC;aAC9C,CAAC,CAAC;QACL,CAAC;QACD,uEAAuE;QACvE,wEAAwE;QACxE,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,uBAAuB,EAAE;YACpD,UAAU,EAAE,CAAC,gBAAgB,CAAC;SAC/B,CAAC,CAAC;QACH,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,sBAAsB,EAAE;YACnD,UAAU,EAAE,CAAC,gBAAgB,CAAC;SAC/B,CAAC,CAAC;IACL,CAAC;CACF,CAAC"}