@metaobjectsdev/metadata 0.5.0-rc.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 (405) hide show
  1. package/LICENSE +189 -0
  2. package/README.md +29 -0
  3. package/dist/attr-class-map.d.ts +26 -0
  4. package/dist/attr-class-map.d.ts.map +1 -0
  5. package/dist/attr-class-map.js +44 -0
  6. package/dist/attr-class-map.js.map +1 -0
  7. package/dist/attr-schema-validate.d.ts +9 -0
  8. package/dist/attr-schema-validate.d.ts.map +1 -0
  9. package/dist/attr-schema-validate.js +100 -0
  10. package/dist/attr-schema-validate.js.map +1 -0
  11. package/dist/constants.d.ts +208 -0
  12. package/dist/constants.d.ts.map +1 -0
  13. package/dist/constants.js +419 -0
  14. package/dist/constants.js.map +1 -0
  15. package/dist/core/attr/attr-constants.d.ts +12 -0
  16. package/dist/core/attr/attr-constants.d.ts.map +1 -0
  17. package/dist/core/attr/attr-constants.js +27 -0
  18. package/dist/core/attr/attr-constants.js.map +1 -0
  19. package/dist/core/attr/meta-attr-filter.d.ts +10 -0
  20. package/dist/core/attr/meta-attr-filter.d.ts.map +1 -0
  21. package/dist/core/attr/meta-attr-filter.js +56 -0
  22. package/dist/core/attr/meta-attr-filter.js.map +1 -0
  23. package/dist/core/attr/meta-attr-properties.d.ts +9 -0
  24. package/dist/core/attr/meta-attr-properties.d.ts.map +1 -0
  25. package/dist/core/attr/meta-attr-properties.js +22 -0
  26. package/dist/core/attr/meta-attr-properties.js.map +1 -0
  27. package/dist/core/attr/meta-attr-stringarray.d.ts +9 -0
  28. package/dist/core/attr/meta-attr-stringarray.d.ts.map +1 -0
  29. package/dist/core/attr/meta-attr-stringarray.js +29 -0
  30. package/dist/core/attr/meta-attr-stringarray.js.map +1 -0
  31. package/dist/core/attr/meta-attr.d.ts +37 -0
  32. package/dist/core/attr/meta-attr.d.ts.map +1 -0
  33. package/dist/core/attr/meta-attr.js +97 -0
  34. package/dist/core/attr/meta-attr.js.map +1 -0
  35. package/dist/core/export-json.d.ts +29 -0
  36. package/dist/core/export-json.d.ts.map +1 -0
  37. package/dist/core/export-json.js +45 -0
  38. package/dist/core/export-json.js.map +1 -0
  39. package/dist/core/field/field-constants.d.ts +40 -0
  40. package/dist/core/field/field-constants.d.ts.map +1 -0
  41. package/dist/core/field/field-constants.js +66 -0
  42. package/dist/core/field/field-constants.js.map +1 -0
  43. package/dist/core/field/field-schema.d.ts +6 -0
  44. package/dist/core/field/field-schema.d.ts.map +1 -0
  45. package/dist/core/field/field-schema.js +92 -0
  46. package/dist/core/field/field-schema.js.map +1 -0
  47. package/dist/core/field/meta-field.d.ts +50 -0
  48. package/dist/core/field/meta-field.d.ts.map +1 -0
  49. package/dist/core/field/meta-field.js +121 -0
  50. package/dist/core/field/meta-field.js.map +1 -0
  51. package/dist/core/file-meta-data-loader.d.ts +18 -0
  52. package/dist/core/file-meta-data-loader.d.ts.map +1 -0
  53. package/dist/core/file-meta-data-loader.js +81 -0
  54. package/dist/core/file-meta-data-loader.js.map +1 -0
  55. package/dist/core/file-source.d.ts +12 -0
  56. package/dist/core/file-source.d.ts.map +1 -0
  57. package/dist/core/file-source.js +46 -0
  58. package/dist/core/file-source.js.map +1 -0
  59. package/dist/core/identity/identity-constants.d.ts +19 -0
  60. package/dist/core/identity/identity-constants.d.ts.map +1 -0
  61. package/dist/core/identity/identity-constants.js +35 -0
  62. package/dist/core/identity/identity-constants.js.map +1 -0
  63. package/dist/core/identity/identity-schema.d.ts +6 -0
  64. package/dist/core/identity/identity-schema.d.ts.map +1 -0
  65. package/dist/core/identity/identity-schema.js +55 -0
  66. package/dist/core/identity/identity-schema.js.map +1 -0
  67. package/dist/core/identity/meta-identity.d.ts +71 -0
  68. package/dist/core/identity/meta-identity.d.ts.map +1 -0
  69. package/dist/core/identity/meta-identity.js +129 -0
  70. package/dist/core/identity/meta-identity.js.map +1 -0
  71. package/dist/core/index.d.ts +6 -0
  72. package/dist/core/index.d.ts.map +1 -0
  73. package/dist/core/index.js +11 -0
  74. package/dist/core/index.js.map +1 -0
  75. package/dist/core/object/meta-object.d.ts +39 -0
  76. package/dist/core/object/meta-object.d.ts.map +1 -0
  77. package/dist/core/object/meta-object.js +80 -0
  78. package/dist/core/object/meta-object.js.map +1 -0
  79. package/dist/core/object/object-constants.d.ts +5 -0
  80. package/dist/core/object/object-constants.d.ts.map +1 -0
  81. package/dist/core/object/object-constants.js +18 -0
  82. package/dist/core/object/object-constants.js.map +1 -0
  83. package/dist/core/object/object-schema.d.ts +4 -0
  84. package/dist/core/object/object-schema.d.ts.map +1 -0
  85. package/dist/core/object/object-schema.js +5 -0
  86. package/dist/core/object/object-schema.js.map +1 -0
  87. package/dist/core/parser-yaml.d.ts +3 -0
  88. package/dist/core/parser-yaml.d.ts.map +1 -0
  89. package/dist/core/parser-yaml.js +39 -0
  90. package/dist/core/parser-yaml.js.map +1 -0
  91. package/dist/core/query/query-constants.d.ts +20 -0
  92. package/dist/core/query/query-constants.d.ts.map +1 -0
  93. package/dist/core/query/query-constants.js +56 -0
  94. package/dist/core/query/query-constants.js.map +1 -0
  95. package/dist/core/relationship/find-reference.d.ts +22 -0
  96. package/dist/core/relationship/find-reference.d.ts.map +1 -0
  97. package/dist/core/relationship/find-reference.js +29 -0
  98. package/dist/core/relationship/find-reference.js.map +1 -0
  99. package/dist/core/relationship/meta-relationship.d.ts +11 -0
  100. package/dist/core/relationship/meta-relationship.d.ts.map +1 -0
  101. package/dist/core/relationship/meta-relationship.js +27 -0
  102. package/dist/core/relationship/meta-relationship.js.map +1 -0
  103. package/dist/core/relationship/relationship-constants.d.ts +14 -0
  104. package/dist/core/relationship/relationship-constants.d.ts.map +1 -0
  105. package/dist/core/relationship/relationship-constants.js +28 -0
  106. package/dist/core/relationship/relationship-constants.js.map +1 -0
  107. package/dist/core/relationship/relationship-schema.d.ts +4 -0
  108. package/dist/core/relationship/relationship-schema.d.ts.map +1 -0
  109. package/dist/core/relationship/relationship-schema.js +37 -0
  110. package/dist/core/relationship/relationship-schema.js.map +1 -0
  111. package/dist/core/validator/meta-validator.d.ts +29 -0
  112. package/dist/core/validator/meta-validator.d.ts.map +1 -0
  113. package/dist/core/validator/meta-validator.js +49 -0
  114. package/dist/core/validator/meta-validator.js.map +1 -0
  115. package/dist/core/validator/validator-constants.d.ts +11 -0
  116. package/dist/core/validator/validator-constants.d.ts.map +1 -0
  117. package/dist/core/validator/validator-constants.js +25 -0
  118. package/dist/core/validator/validator-constants.js.map +1 -0
  119. package/dist/core/validator/validator-schema.d.ts +4 -0
  120. package/dist/core/validator/validator-schema.d.ts.map +1 -0
  121. package/dist/core/validator/validator-schema.js +38 -0
  122. package/dist/core/validator/validator-schema.js.map +1 -0
  123. package/dist/core/yaml-desugar.d.ts +10 -0
  124. package/dist/core/yaml-desugar.d.ts.map +1 -0
  125. package/dist/core/yaml-desugar.js +99 -0
  126. package/dist/core/yaml-desugar.js.map +1 -0
  127. package/dist/core-attr-schemas.d.ts +22 -0
  128. package/dist/core-attr-schemas.d.ts.map +1 -0
  129. package/dist/core-attr-schemas.js +324 -0
  130. package/dist/core-attr-schemas.js.map +1 -0
  131. package/dist/core-types.d.ts +20 -0
  132. package/dist/core-types.d.ts.map +1 -0
  133. package/dist/core-types.js +225 -0
  134. package/dist/core-types.js.map +1 -0
  135. package/dist/data-converter.d.ts +17 -0
  136. package/dist/data-converter.d.ts.map +1 -0
  137. package/dist/data-converter.js +117 -0
  138. package/dist/data-converter.js.map +1 -0
  139. package/dist/data-type.d.ts +15 -0
  140. package/dist/data-type.d.ts.map +1 -0
  141. package/dist/data-type.js +25 -0
  142. package/dist/data-type.js.map +1 -0
  143. package/dist/db/db-attr-schemas.d.ts +8 -0
  144. package/dist/db/db-attr-schemas.d.ts.map +1 -0
  145. package/dist/db/db-attr-schemas.js +26 -0
  146. package/dist/db/db-attr-schemas.js.map +1 -0
  147. package/dist/db/db-provider.d.ts +3 -0
  148. package/dist/db/db-provider.d.ts.map +1 -0
  149. package/dist/db/db-provider.js +28 -0
  150. package/dist/db/db-provider.js.map +1 -0
  151. package/dist/errors.d.ts +26 -0
  152. package/dist/errors.d.ts.map +1 -0
  153. package/dist/errors.js +59 -0
  154. package/dist/errors.js.map +1 -0
  155. package/dist/index.d.ts +70 -0
  156. package/dist/index.d.ts.map +1 -0
  157. package/dist/index.js +76 -0
  158. package/dist/index.js.map +1 -0
  159. package/dist/loader/meta-data-loader.d.ts +87 -0
  160. package/dist/loader/meta-data-loader.d.ts.map +1 -0
  161. package/dist/loader/meta-data-loader.js +232 -0
  162. package/dist/loader/meta-data-loader.js.map +1 -0
  163. package/dist/loader/meta-data-source.d.ts +23 -0
  164. package/dist/loader/meta-data-source.d.ts.map +1 -0
  165. package/dist/loader/meta-data-source.js +20 -0
  166. package/dist/loader/meta-data-source.js.map +1 -0
  167. package/dist/loader/validation-passes.d.ts +7 -0
  168. package/dist/loader/validation-passes.d.ts.map +1 -0
  169. package/dist/loader/validation-passes.js +244 -0
  170. package/dist/loader/validation-passes.js.map +1 -0
  171. package/dist/meta/find-reference.d.ts +22 -0
  172. package/dist/meta/find-reference.d.ts.map +1 -0
  173. package/dist/meta/find-reference.js +29 -0
  174. package/dist/meta/find-reference.js.map +1 -0
  175. package/dist/meta/meta-attr.d.ts +8 -0
  176. package/dist/meta/meta-attr.d.ts.map +1 -0
  177. package/dist/meta/meta-attr.js +17 -0
  178. package/dist/meta/meta-attr.js.map +1 -0
  179. package/dist/meta/meta-data.d.ts +107 -0
  180. package/dist/meta/meta-data.d.ts.map +1 -0
  181. package/dist/meta/meta-data.js +302 -0
  182. package/dist/meta/meta-data.js.map +1 -0
  183. package/dist/meta/meta-field.d.ts +48 -0
  184. package/dist/meta/meta-field.d.ts.map +1 -0
  185. package/dist/meta/meta-field.js +94 -0
  186. package/dist/meta/meta-field.js.map +1 -0
  187. package/dist/meta/meta-identity.d.ts +71 -0
  188. package/dist/meta/meta-identity.d.ts.map +1 -0
  189. package/dist/meta/meta-identity.js +129 -0
  190. package/dist/meta/meta-identity.js.map +1 -0
  191. package/dist/meta/meta-layout.d.ts +23 -0
  192. package/dist/meta/meta-layout.d.ts.map +1 -0
  193. package/dist/meta/meta-layout.js +45 -0
  194. package/dist/meta/meta-layout.js.map +1 -0
  195. package/dist/meta/meta-object.d.ts +40 -0
  196. package/dist/meta/meta-object.d.ts.map +1 -0
  197. package/dist/meta/meta-object.js +81 -0
  198. package/dist/meta/meta-object.js.map +1 -0
  199. package/dist/meta/meta-origin.d.ts +32 -0
  200. package/dist/meta/meta-origin.d.ts.map +1 -0
  201. package/dist/meta/meta-origin.js +55 -0
  202. package/dist/meta/meta-origin.js.map +1 -0
  203. package/dist/meta/meta-relationship.d.ts +11 -0
  204. package/dist/meta/meta-relationship.d.ts.map +1 -0
  205. package/dist/meta/meta-relationship.js +27 -0
  206. package/dist/meta/meta-relationship.js.map +1 -0
  207. package/dist/meta/meta-root.d.ts +12 -0
  208. package/dist/meta/meta-root.d.ts.map +1 -0
  209. package/dist/meta/meta-root.js +24 -0
  210. package/dist/meta/meta-root.js.map +1 -0
  211. package/dist/meta/meta-source.d.ts +18 -0
  212. package/dist/meta/meta-source.d.ts.map +1 -0
  213. package/dist/meta/meta-source.js +31 -0
  214. package/dist/meta/meta-source.js.map +1 -0
  215. package/dist/meta/meta-validator.d.ts +29 -0
  216. package/dist/meta/meta-validator.d.ts.map +1 -0
  217. package/dist/meta/meta-validator.js +49 -0
  218. package/dist/meta/meta-validator.js.map +1 -0
  219. package/dist/meta/meta-view.d.ts +4 -0
  220. package/dist/meta/meta-view.d.ts.map +1 -0
  221. package/dist/meta/meta-view.js +8 -0
  222. package/dist/meta/meta-view.js.map +1 -0
  223. package/dist/naming.d.ts +27 -0
  224. package/dist/naming.d.ts.map +1 -0
  225. package/dist/naming.js +72 -0
  226. package/dist/naming.js.map +1 -0
  227. package/dist/object-serializer.d.ts +10 -0
  228. package/dist/object-serializer.d.ts.map +1 -0
  229. package/dist/object-serializer.js +128 -0
  230. package/dist/object-serializer.js.map +1 -0
  231. package/dist/overlay.d.ts +2 -0
  232. package/dist/overlay.d.ts.map +1 -0
  233. package/dist/overlay.js +6 -0
  234. package/dist/overlay.js.map +1 -0
  235. package/dist/parser-core.d.ts +47 -0
  236. package/dist/parser-core.d.ts.map +1 -0
  237. package/dist/parser-core.js +516 -0
  238. package/dist/parser-core.js.map +1 -0
  239. package/dist/parser-json.d.ts +4 -0
  240. package/dist/parser-json.d.ts.map +1 -0
  241. package/dist/parser-json.js +19 -0
  242. package/dist/parser-json.js.map +1 -0
  243. package/dist/persistence/db/db-attr-schemas.d.ts +8 -0
  244. package/dist/persistence/db/db-attr-schemas.d.ts.map +1 -0
  245. package/dist/persistence/db/db-attr-schemas.js +28 -0
  246. package/dist/persistence/db/db-attr-schemas.js.map +1 -0
  247. package/dist/persistence/db/db-constants.d.ts +5 -0
  248. package/dist/persistence/db/db-constants.d.ts.map +1 -0
  249. package/dist/persistence/db/db-constants.js +6 -0
  250. package/dist/persistence/db/db-constants.js.map +1 -0
  251. package/dist/persistence/db/db-provider.d.ts +3 -0
  252. package/dist/persistence/db/db-provider.d.ts.map +1 -0
  253. package/dist/persistence/db/db-provider.js +29 -0
  254. package/dist/persistence/db/db-provider.js.map +1 -0
  255. package/dist/persistence/db/db-schema.d.ts +8 -0
  256. package/dist/persistence/db/db-schema.d.ts.map +1 -0
  257. package/dist/persistence/db/db-schema.js +27 -0
  258. package/dist/persistence/db/db-schema.js.map +1 -0
  259. package/dist/persistence/origin/meta-origin.d.ts +32 -0
  260. package/dist/persistence/origin/meta-origin.d.ts.map +1 -0
  261. package/dist/persistence/origin/meta-origin.js +55 -0
  262. package/dist/persistence/origin/meta-origin.js.map +1 -0
  263. package/dist/persistence/origin/origin-constants.d.ts +12 -0
  264. package/dist/persistence/origin/origin-constants.d.ts.map +1 -0
  265. package/dist/persistence/origin/origin-constants.js +27 -0
  266. package/dist/persistence/origin/origin-constants.js.map +1 -0
  267. package/dist/persistence/origin/origin-schema.d.ts +4 -0
  268. package/dist/persistence/origin/origin-schema.d.ts.map +1 -0
  269. package/dist/persistence/origin/origin-schema.js +49 -0
  270. package/dist/persistence/origin/origin-schema.js.map +1 -0
  271. package/dist/persistence/source/meta-source.d.ts +18 -0
  272. package/dist/persistence/source/meta-source.d.ts.map +1 -0
  273. package/dist/persistence/source/meta-source.js +31 -0
  274. package/dist/persistence/source/meta-source.js.map +1 -0
  275. package/dist/persistence/source/source-constants.d.ts +16 -0
  276. package/dist/persistence/source/source-constants.d.ts.map +1 -0
  277. package/dist/persistence/source/source-constants.js +28 -0
  278. package/dist/persistence/source/source-constants.js.map +1 -0
  279. package/dist/presentation/layout/layout-constants.d.ts +10 -0
  280. package/dist/presentation/layout/layout-constants.d.ts.map +1 -0
  281. package/dist/presentation/layout/layout-constants.js +21 -0
  282. package/dist/presentation/layout/layout-constants.js.map +1 -0
  283. package/dist/presentation/layout/layout-schema.d.ts +4 -0
  284. package/dist/presentation/layout/layout-schema.d.ts.map +1 -0
  285. package/dist/presentation/layout/layout-schema.js +46 -0
  286. package/dist/presentation/layout/layout-schema.js.map +1 -0
  287. package/dist/presentation/layout/meta-layout.d.ts +23 -0
  288. package/dist/presentation/layout/meta-layout.d.ts.map +1 -0
  289. package/dist/presentation/layout/meta-layout.js +47 -0
  290. package/dist/presentation/layout/meta-layout.js.map +1 -0
  291. package/dist/presentation/view/meta-view.d.ts +4 -0
  292. package/dist/presentation/view/meta-view.d.ts.map +1 -0
  293. package/dist/presentation/view/meta-view.js +8 -0
  294. package/dist/presentation/view/meta-view.js.map +1 -0
  295. package/dist/presentation/view/view-constants.d.ts +20 -0
  296. package/dist/presentation/view/view-constants.d.ts.map +1 -0
  297. package/dist/presentation/view/view-constants.js +47 -0
  298. package/dist/presentation/view/view-constants.js.map +1 -0
  299. package/dist/presentation/view/view-schema.d.ts +4 -0
  300. package/dist/presentation/view/view-schema.d.ts.map +1 -0
  301. package/dist/presentation/view/view-schema.js +15 -0
  302. package/dist/presentation/view/view-schema.js.map +1 -0
  303. package/dist/provider.d.ts +20 -0
  304. package/dist/provider.d.ts.map +1 -0
  305. package/dist/provider.js +58 -0
  306. package/dist/provider.js.map +1 -0
  307. package/dist/registry.d.ts +89 -0
  308. package/dist/registry.d.ts.map +1 -0
  309. package/dist/registry.js +107 -0
  310. package/dist/registry.js.map +1 -0
  311. package/dist/serializer-json.d.ts +16 -0
  312. package/dist/serializer-json.d.ts.map +1 -0
  313. package/dist/serializer-json.js +154 -0
  314. package/dist/serializer-json.js.map +1 -0
  315. package/dist/shared/base-types.d.ts +23 -0
  316. package/dist/shared/base-types.d.ts.map +1 -0
  317. package/dist/shared/base-types.js +43 -0
  318. package/dist/shared/base-types.js.map +1 -0
  319. package/dist/shared/meta-data.d.ts +123 -0
  320. package/dist/shared/meta-data.d.ts.map +1 -0
  321. package/dist/shared/meta-data.js +365 -0
  322. package/dist/shared/meta-data.js.map +1 -0
  323. package/dist/shared/meta-root.d.ts +12 -0
  324. package/dist/shared/meta-root.d.ts.map +1 -0
  325. package/dist/shared/meta-root.js +24 -0
  326. package/dist/shared/meta-root.js.map +1 -0
  327. package/dist/shared/structural.d.ts +20 -0
  328. package/dist/shared/structural.d.ts.map +1 -0
  329. package/dist/shared/structural.js +49 -0
  330. package/dist/shared/structural.js.map +1 -0
  331. package/dist/subtype-rules.d.ts +8 -0
  332. package/dist/subtype-rules.d.ts.map +1 -0
  333. package/dist/subtype-rules.js +34 -0
  334. package/dist/subtype-rules.js.map +1 -0
  335. package/dist/super-resolve.d.ts +34 -0
  336. package/dist/super-resolve.d.ts.map +1 -0
  337. package/dist/super-resolve.js +124 -0
  338. package/dist/super-resolve.js.map +1 -0
  339. package/package.json +50 -0
  340. package/src/attr-class-map.ts +64 -0
  341. package/src/attr-schema-validate.ts +134 -0
  342. package/src/core/attr/attr-constants.ts +31 -0
  343. package/src/core/attr/meta-attr-filter.ts +67 -0
  344. package/src/core/attr/meta-attr-properties.ts +26 -0
  345. package/src/core/attr/meta-attr-stringarray.ts +31 -0
  346. package/src/core/attr/meta-attr.ts +125 -0
  347. package/src/core/export-json.ts +66 -0
  348. package/src/core/field/field-constants.ts +79 -0
  349. package/src/core/field/field-schema.ts +121 -0
  350. package/src/core/field/meta-field.ts +179 -0
  351. package/src/core/file-meta-data-loader.ts +89 -0
  352. package/src/core/file-source.ts +52 -0
  353. package/src/core/identity/identity-constants.ts +44 -0
  354. package/src/core/identity/identity-schema.ts +80 -0
  355. package/src/core/identity/meta-identity.ts +148 -0
  356. package/src/core/index.ts +12 -0
  357. package/src/core/object/meta-object.ts +151 -0
  358. package/src/core/object/object-constants.ts +21 -0
  359. package/src/core/object/object-schema.ts +7 -0
  360. package/src/core/parser-yaml.ts +54 -0
  361. package/src/core/query/query-constants.ts +66 -0
  362. package/src/core/relationship/find-reference.ts +44 -0
  363. package/src/core/relationship/meta-relationship.ts +36 -0
  364. package/src/core/relationship/relationship-constants.ts +38 -0
  365. package/src/core/relationship/relationship-schema.ts +49 -0
  366. package/src/core/validator/meta-validator.ts +62 -0
  367. package/src/core/validator/validator-constants.ts +31 -0
  368. package/src/core/validator/validator-schema.ts +50 -0
  369. package/src/core/yaml-desugar.ts +145 -0
  370. package/src/core-types.ts +329 -0
  371. package/src/data-converter.ts +125 -0
  372. package/src/data-type.ts +33 -0
  373. package/src/errors.ts +68 -0
  374. package/src/index.ts +165 -0
  375. package/src/loader/meta-data-loader.ts +307 -0
  376. package/src/loader/meta-data-source.ts +35 -0
  377. package/src/loader/validation-passes.ts +370 -0
  378. package/src/naming.ts +86 -0
  379. package/src/object-serializer.ts +153 -0
  380. package/src/overlay.ts +5 -0
  381. package/src/parser-core.ts +815 -0
  382. package/src/parser-json.ts +28 -0
  383. package/src/persistence/db/db-constants.ts +6 -0
  384. package/src/persistence/db/db-provider.ts +36 -0
  385. package/src/persistence/db/db-schema.ts +40 -0
  386. package/src/persistence/origin/meta-origin.ts +67 -0
  387. package/src/persistence/origin/origin-constants.ts +35 -0
  388. package/src/persistence/origin/origin-schema.ts +66 -0
  389. package/src/persistence/source/meta-source.ts +38 -0
  390. package/src/persistence/source/source-constants.ts +35 -0
  391. package/src/presentation/layout/layout-constants.ts +27 -0
  392. package/src/presentation/layout/layout-schema.ts +62 -0
  393. package/src/presentation/layout/meta-layout.ts +61 -0
  394. package/src/presentation/view/meta-view.ts +8 -0
  395. package/src/presentation/view/view-constants.ts +53 -0
  396. package/src/presentation/view/view-schema.ts +21 -0
  397. package/src/provider.ts +85 -0
  398. package/src/registry.ts +190 -0
  399. package/src/serializer-json.ts +210 -0
  400. package/src/shared/base-types.ts +52 -0
  401. package/src/shared/meta-data.ts +443 -0
  402. package/src/shared/meta-root.ts +33 -0
  403. package/src/shared/structural.ts +62 -0
  404. package/src/subtype-rules.ts +56 -0
  405. package/src/super-resolve.ts +147 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"db-constants.d.ts","sourceRoot":"","sources":["../../../src/persistence/db/db-constants.ts"],"names":[],"mappings":"AAEA,iFAAiF;AACjF,eAAO,MAAM,oBAAoB,aAAa,CAAC;AAC/C,gGAAgG;AAChG,eAAO,MAAM,qBAAqB,eAAe,CAAC"}
@@ -0,0 +1,6 @@
1
+ // DB concern constants — physical DB column attr keys.
2
+ /** Custom DB column name override on a field (maps to @dbColumn in metadata). */
3
+ export const FIELD_ATTR_DB_COLUMN = "dbColumn";
4
+ /** When true, suppress the @filterable-without-index Loader warning (Project D drift check). */
5
+ export const FIELD_ATTR_DB_INDEXED = "db.indexed";
6
+ //# sourceMappingURL=db-constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"db-constants.js","sourceRoot":"","sources":["../../../src/persistence/db/db-constants.ts"],"names":[],"mappings":"AAAA,uDAAuD;AAEvD,iFAAiF;AACjF,MAAM,CAAC,MAAM,oBAAoB,GAAG,UAAU,CAAC;AAC/C,gGAAgG;AAChG,MAAM,CAAC,MAAM,qBAAqB,GAAG,YAAY,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/persistence/db/db-provider.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAU9D,eAAO,MAAM,UAAU,EAAE,oBAoBxB,CAAC"}
@@ -0,0 +1,29 @@
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
+ import { TYPE_FIELD, TYPE_SOURCE } from "../../shared/base-types.js";
6
+ import { FIELD_SUBTYPES } from "../../core/field/field-constants.js";
7
+ import { SOURCE_SUBTYPE_DB_TABLE, SOURCE_SUBTYPE_DB_VIEW, } from "../source/source-constants.js";
8
+ import { dbColumnSchema, dbIndexedSchema, sourceNameSchema } from "./db-schema.js";
9
+ export const dbProvider = {
10
+ id: "metaobjects-db",
11
+ dependencies: ["metaobjects-core-types"],
12
+ description: "DB-domain attributes — @dbColumn / @db.indexed on fields, @name on source.dbTable / source.dbView.",
13
+ registerTypes(registry) {
14
+ for (const subType of FIELD_SUBTYPES) {
15
+ registry.extend(TYPE_FIELD, subType, {
16
+ attributes: [dbColumnSchema, dbIndexedSchema],
17
+ });
18
+ }
19
+ // Two explicit calls (not a loop) — dbTable and dbView are the only DB
20
+ // source subtypes, and there is no DB_SOURCE_SUBTYPES constant to loop.
21
+ registry.extend(TYPE_SOURCE, SOURCE_SUBTYPE_DB_TABLE, {
22
+ attributes: [sourceNameSchema],
23
+ });
24
+ registry.extend(TYPE_SOURCE, SOURCE_SUBTYPE_DB_VIEW, {
25
+ attributes: [sourceNameSchema],
26
+ });
27
+ },
28
+ };
29
+ //# sourceMappingURL=db-provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"db-provider.js","sourceRoot":"","sources":["../../../src/persistence/db/db-provider.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,0EAA0E;AAC1E,wEAAwE;AACxE,qDAAqD;AAIrD,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AACrE,OAAO,EACL,uBAAuB,EACvB,sBAAsB,GACvB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAEnF,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"}
@@ -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-schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"db-schema.d.ts","sourceRoot":"","sources":["../../../src/persistence/db/db-schema.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAWpD,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,27 @@
1
+ // DB-domain attribute schemas — registered by dbProvider (db-provider.ts),
2
+ // not the core metamodel.
3
+ import { ATTR_SUBTYPE_STRING, ATTR_SUBTYPE_BOOLEAN, } from "../../core/attr/attr-constants.js";
4
+ import { FIELD_ATTR_DB_COLUMN, FIELD_ATTR_DB_INDEXED, } from "./db-constants.js";
5
+ import { SOURCE_ATTR_NAME } from "../source/source-constants.js";
6
+ /** `@dbColumn` — column-name override; on every field subtype. */
7
+ export const dbColumnSchema = {
8
+ name: FIELD_ATTR_DB_COLUMN,
9
+ valueType: ATTR_SUBTYPE_STRING,
10
+ required: false,
11
+ description: "Override the generated SQL column name for this field. Defaults to the field name run through the project's columnNamingStrategy.",
12
+ };
13
+ /** `@db.indexed` — suppress the @filterable-without-index warning; on every field subtype. */
14
+ export const dbIndexedSchema = {
15
+ name: FIELD_ATTR_DB_INDEXED,
16
+ valueType: ATTR_SUBTYPE_BOOLEAN,
17
+ required: false,
18
+ description: "When true, suppress the @filterable-without-index Loader warning (the field is indexed by other means).",
19
+ };
20
+ /** `@name` — the SQL table/view identifier; on source.dbTable and source.dbView. */
21
+ export const sourceNameSchema = {
22
+ name: SOURCE_ATTR_NAME,
23
+ valueType: ATTR_SUBTYPE_STRING,
24
+ required: false,
25
+ description: "The SQL table or view name for this source. Defaults to the object name run through the columnNamingStrategy when omitted.",
26
+ };
27
+ //# sourceMappingURL=db-schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"db-schema.js","sourceRoot":"","sources":["../../../src/persistence/db/db-schema.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,0BAA0B;AAG1B,OAAO,EACL,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EACL,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAEjE,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,32 @@
1
+ import { MetaData } from "../../shared/meta-data.js";
2
+ import { type AggregateFunction } from "./origin-constants.js";
3
+ export declare class MetaOrigin extends MetaData {
4
+ }
5
+ /**
6
+ * Passthrough origin — the field's value is sourced directly from a
7
+ * cross-entity field reference (e.g. a projection that forwards Program.title).
8
+ *
9
+ * Carries `@from` (required): the dotted Entity.field reference identifying
10
+ * the source value.
11
+ */
12
+ export declare class MetaPassthroughOrigin extends MetaOrigin {
13
+ /** The dotted-path cross-entity field reference this origin passes through (e.g. "Program.title"). */
14
+ get from(): string | undefined;
15
+ /** Optional dotted relationship path used to reach the source entity (e.g. "Program.weeks"). */
16
+ get via(): string | undefined;
17
+ }
18
+ /**
19
+ * Aggregate origin — the field's value is computed by aggregating values
20
+ * over a relationship path (count / sum / avg / min / max).
21
+ *
22
+ * Carries `@agg`, `@of`, and `@via` (all required).
23
+ */
24
+ export declare class MetaAggregateOrigin extends MetaOrigin {
25
+ /** The aggregate function (count | sum | avg | min | max). */
26
+ get agg(): AggregateFunction | undefined;
27
+ /** The dotted-path target of the aggregate (e.g. "Week.id"). */
28
+ get of(): string | undefined;
29
+ /** The dotted relationship path the aggregate walks (e.g. "Program.weeks"). */
30
+ get via(): string | undefined;
31
+ }
32
+ //# sourceMappingURL=meta-origin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"meta-origin.d.ts","sourceRoot":"","sources":["../../../src/persistence/origin/meta-origin.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AACrD,OAAO,EAML,KAAK,iBAAiB,EACvB,MAAM,uBAAuB,CAAC;AAE/B,qBAAa,UAAW,SAAQ,QAAQ;CAAG;AAE3C;;;;;;GAMG;AACH,qBAAa,qBAAsB,SAAQ,UAAU;IACnD,sGAAsG;IACtG,IAAI,IAAI,IAAI,MAAM,GAAG,SAAS,CAG7B;IAED,gGAAgG;IAChG,IAAI,GAAG,IAAI,MAAM,GAAG,SAAS,CAG5B;CACF;AAED;;;;;GAKG;AACH,qBAAa,mBAAoB,SAAQ,UAAU;IACjD,8DAA8D;IAC9D,IAAI,GAAG,IAAI,iBAAiB,GAAG,SAAS,CAGvC;IAED,gEAAgE;IAChE,IAAI,EAAE,IAAI,MAAM,GAAG,SAAS,CAG3B;IAED,+EAA+E;IAC/E,IAAI,GAAG,IAAI,MAAM,GAAG,SAAS,CAG5B;CACF"}
@@ -0,0 +1,55 @@
1
+ // MetaOrigin — concrete node class for type=origin nodes.
2
+ // Field-level provenance (Project E).
3
+ // passthrough / aggregate origin subtypes declare how field values are derived.
4
+ //
5
+ // MetaPassthroughOrigin and MetaAggregateOrigin are co-located subtype classes
6
+ // (mirrors the meta-identity.ts pattern).
7
+ //
8
+ // Extends MetaData directly: no model wrapper, no metaOf() indirection.
9
+ import { MetaData } from "../../shared/meta-data.js";
10
+ import { ORIGIN_PASSTHROUGH_ATTR_FROM, ORIGIN_PASSTHROUGH_ATTR_VIA, ORIGIN_AGGREGATE_ATTR_AGG, ORIGIN_AGGREGATE_ATTR_OF, ORIGIN_AGGREGATE_ATTR_VIA, } from "./origin-constants.js";
11
+ export class MetaOrigin extends MetaData {
12
+ }
13
+ /**
14
+ * Passthrough origin — the field's value is sourced directly from a
15
+ * cross-entity field reference (e.g. a projection that forwards Program.title).
16
+ *
17
+ * Carries `@from` (required): the dotted Entity.field reference identifying
18
+ * the source value.
19
+ */
20
+ export class MetaPassthroughOrigin extends MetaOrigin {
21
+ /** The dotted-path cross-entity field reference this origin passes through (e.g. "Program.title"). */
22
+ get from() {
23
+ const v = this.ownAttr(ORIGIN_PASSTHROUGH_ATTR_FROM);
24
+ return typeof v === "string" ? v : undefined;
25
+ }
26
+ /** Optional dotted relationship path used to reach the source entity (e.g. "Program.weeks"). */
27
+ get via() {
28
+ const v = this.ownAttr(ORIGIN_PASSTHROUGH_ATTR_VIA);
29
+ return typeof v === "string" ? v : undefined;
30
+ }
31
+ }
32
+ /**
33
+ * Aggregate origin — the field's value is computed by aggregating values
34
+ * over a relationship path (count / sum / avg / min / max).
35
+ *
36
+ * Carries `@agg`, `@of`, and `@via` (all required).
37
+ */
38
+ export class MetaAggregateOrigin extends MetaOrigin {
39
+ /** The aggregate function (count | sum | avg | min | max). */
40
+ get agg() {
41
+ const v = this.ownAttr(ORIGIN_AGGREGATE_ATTR_AGG);
42
+ return typeof v === "string" ? v : undefined;
43
+ }
44
+ /** The dotted-path target of the aggregate (e.g. "Week.id"). */
45
+ get of() {
46
+ const v = this.ownAttr(ORIGIN_AGGREGATE_ATTR_OF);
47
+ return typeof v === "string" ? v : undefined;
48
+ }
49
+ /** The dotted relationship path the aggregate walks (e.g. "Program.weeks"). */
50
+ get via() {
51
+ const v = this.ownAttr(ORIGIN_AGGREGATE_ATTR_VIA);
52
+ return typeof v === "string" ? v : undefined;
53
+ }
54
+ }
55
+ //# sourceMappingURL=meta-origin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"meta-origin.js","sourceRoot":"","sources":["../../../src/persistence/origin/meta-origin.ts"],"names":[],"mappings":"AAAA,0DAA0D;AAC1D,sCAAsC;AACtC,gFAAgF;AAChF,EAAE;AACF,+EAA+E;AAC/E,0CAA0C;AAC1C,EAAE;AACF,wEAAwE;AAExE,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AACrD,OAAO,EACL,4BAA4B,EAC5B,2BAA2B,EAC3B,yBAAyB,EACzB,wBAAwB,EACxB,yBAAyB,GAE1B,MAAM,uBAAuB,CAAC;AAE/B,MAAM,OAAO,UAAW,SAAQ,QAAQ;CAAG;AAE3C;;;;;;GAMG;AACH,MAAM,OAAO,qBAAsB,SAAQ,UAAU;IACnD,sGAAsG;IACtG,IAAI,IAAI;QACN,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,4BAA4B,CAAC,CAAC;QACrD,OAAO,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC/C,CAAC;IAED,gGAAgG;IAChG,IAAI,GAAG;QACL,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,2BAA2B,CAAC,CAAC;QACpD,OAAO,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC/C,CAAC;CACF;AAED;;;;;GAKG;AACH,MAAM,OAAO,mBAAoB,SAAQ,UAAU;IACjD,8DAA8D;IAC9D,IAAI,GAAG;QACL,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC;QAClD,OAAO,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAE,CAAuB,CAAC,CAAC,CAAC,SAAS,CAAC;IACtE,CAAC;IAED,gEAAgE;IAChE,IAAI,EAAE;QACJ,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC;QACjD,OAAO,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC/C,CAAC;IAED,+EAA+E;IAC/E,IAAI,GAAG;QACL,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC;QAClD,OAAO,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC/C,CAAC;CACF"}
@@ -0,0 +1,12 @@
1
+ export declare const ORIGIN_SUBTYPE_PASSTHROUGH = "passthrough";
2
+ export declare const ORIGIN_SUBTYPE_AGGREGATE = "aggregate";
3
+ export declare const ORIGIN_SUBTYPES: readonly ["base", "passthrough", "aggregate"];
4
+ export type OriginSubType = (typeof ORIGIN_SUBTYPES)[number];
5
+ export declare const ORIGIN_PASSTHROUGH_ATTR_FROM = "from";
6
+ export declare const ORIGIN_PASSTHROUGH_ATTR_VIA = "via";
7
+ export declare const ORIGIN_AGGREGATE_ATTR_AGG = "agg";
8
+ export declare const ORIGIN_AGGREGATE_ATTR_OF = "of";
9
+ export declare const ORIGIN_AGGREGATE_ATTR_VIA = "via";
10
+ export declare const AGGREGATE_FUNCTIONS: readonly ["count", "sum", "avg", "min", "max"];
11
+ export type AggregateFunction = (typeof AGGREGATE_FUNCTIONS)[number];
12
+ //# sourceMappingURL=origin-constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"origin-constants.d.ts","sourceRoot":"","sources":["../../../src/persistence/origin/origin-constants.ts"],"names":[],"mappings":"AAaA,eAAO,MAAM,0BAA0B,gBAAgB,CAAC;AACxD,eAAO,MAAM,wBAAwB,cAAgB,CAAC;AAEtD,eAAO,MAAM,eAAe,+CAIlB,CAAC;AACX,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC;AAG7D,eAAO,MAAM,4BAA4B,SAAS,CAAC;AACnD,eAAO,MAAM,2BAA2B,QAAS,CAAC;AAGlD,eAAO,MAAM,yBAAyB,QAAQ,CAAC;AAC/C,eAAO,MAAM,wBAAwB,OAAQ,CAAC;AAC9C,eAAO,MAAM,yBAAyB,QAAQ,CAAC;AAG/C,eAAO,MAAM,mBAAmB,gDAAiD,CAAC;AAClF,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAC"}
@@ -0,0 +1,27 @@
1
+ // Origin concern constants — subtypes and attr keys for the origin.* type family.
2
+ import { SUBTYPE_BASE } from "../../shared/base-types.js";
3
+ // ---------------------------------------------------------------------------
4
+ // Origin type — field-level provenance (Project E).
5
+ //
6
+ // Origin is a child of `field`. Says "this field's value comes from there."
7
+ // passthrough: from <Entity.field> [via <relationship path>]
8
+ // aggregate: <agg> of <Entity.field> via <relationship path>
9
+ //
10
+ // ---------------------------------------------------------------------------
11
+ export const ORIGIN_SUBTYPE_PASSTHROUGH = "passthrough";
12
+ export const ORIGIN_SUBTYPE_AGGREGATE = "aggregate";
13
+ export const ORIGIN_SUBTYPES = [
14
+ SUBTYPE_BASE,
15
+ ORIGIN_SUBTYPE_PASSTHROUGH,
16
+ ORIGIN_SUBTYPE_AGGREGATE,
17
+ ];
18
+ // passthrough attrs
19
+ export const ORIGIN_PASSTHROUGH_ATTR_FROM = "from";
20
+ export const ORIGIN_PASSTHROUGH_ATTR_VIA = "via";
21
+ // aggregate attrs
22
+ export const ORIGIN_AGGREGATE_ATTR_AGG = "agg";
23
+ export const ORIGIN_AGGREGATE_ATTR_OF = "of";
24
+ export const ORIGIN_AGGREGATE_ATTR_VIA = "via";
25
+ // aggregate function vocabulary
26
+ export const AGGREGATE_FUNCTIONS = ["count", "sum", "avg", "min", "max"];
27
+ //# sourceMappingURL=origin-constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"origin-constants.js","sourceRoot":"","sources":["../../../src/persistence/origin/origin-constants.ts"],"names":[],"mappings":"AAAA,kFAAkF;AAElF,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE1D,8EAA8E;AAC9E,oDAAoD;AACpD,EAAE;AACF,4EAA4E;AAC5E,6DAA6D;AAC7D,+DAA+D;AAC/D,EAAE;AACF,8EAA8E;AAE9E,MAAM,CAAC,MAAM,0BAA0B,GAAG,aAAa,CAAC;AACxD,MAAM,CAAC,MAAM,wBAAwB,GAAK,WAAW,CAAC;AAEtD,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,YAAY;IACZ,0BAA0B;IAC1B,wBAAwB;CAChB,CAAC;AAGX,oBAAoB;AACpB,MAAM,CAAC,MAAM,4BAA4B,GAAG,MAAM,CAAC;AACnD,MAAM,CAAC,MAAM,2BAA2B,GAAI,KAAK,CAAC;AAElD,kBAAkB;AAClB,MAAM,CAAC,MAAM,yBAAyB,GAAG,KAAK,CAAC;AAC/C,MAAM,CAAC,MAAM,wBAAwB,GAAI,IAAI,CAAC;AAC9C,MAAM,CAAC,MAAM,yBAAyB,GAAG,KAAK,CAAC;AAE/C,gCAAgC;AAChC,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAU,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { AttrSchema } from "../../registry.js";
2
+ /** Attrs per origin subtype. base has none; passthrough and aggregate carry their respective attrs. */
3
+ export declare const ORIGIN_ATTRS_MAP: Map<string, AttrSchema[]>;
4
+ //# sourceMappingURL=origin-schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"origin-schema.d.ts","sourceRoot":"","sources":["../../../src/persistence/origin/origin-schema.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAyDpD,uGAAuG;AACvG,eAAO,MAAM,gBAAgB,2BAI3B,CAAC"}
@@ -0,0 +1,49 @@
1
+ // Origin attribute schemas — per-subtype attr inventories for origin types.
2
+ // Consumed by registerCoreTypes().
3
+ import { ATTR_SUBTYPE_STRING } from "../../core/attr/attr-constants.js";
4
+ import { SUBTYPE_BASE } from "../../shared/base-types.js";
5
+ import { ORIGIN_SUBTYPE_PASSTHROUGH, ORIGIN_SUBTYPE_AGGREGATE, ORIGIN_PASSTHROUGH_ATTR_FROM, ORIGIN_PASSTHROUGH_ATTR_VIA, ORIGIN_AGGREGATE_ATTR_AGG, ORIGIN_AGGREGATE_ATTR_OF, ORIGIN_AGGREGATE_ATTR_VIA, AGGREGATE_FUNCTIONS, } from "./origin-constants.js";
6
+ /** Attrs on origin.passthrough — @from is required. */
7
+ const passthroughOriginAttrs = [
8
+ {
9
+ name: ORIGIN_PASSTHROUGH_ATTR_FROM,
10
+ valueType: ATTR_SUBTYPE_STRING,
11
+ required: true,
12
+ description: "Dotted Entity.field reference identifying the source value this projection field passes through (e.g. 'Program.title').",
13
+ },
14
+ {
15
+ name: ORIGIN_PASSTHROUGH_ATTR_VIA,
16
+ valueType: ATTR_SUBTYPE_STRING,
17
+ required: false,
18
+ description: "Optional dotted relationship path used to reach the source entity (e.g. 'Program.weeks').",
19
+ },
20
+ ];
21
+ /** Attrs on origin.aggregate — @agg, @of, @via all required. */
22
+ const aggregateOriginAttrs = [
23
+ {
24
+ name: ORIGIN_AGGREGATE_ATTR_AGG,
25
+ valueType: ATTR_SUBTYPE_STRING,
26
+ required: true,
27
+ allowedValues: [...AGGREGATE_FUNCTIONS],
28
+ description: "Aggregate function applied over the relationship path: count, sum, avg, min, or max.",
29
+ },
30
+ {
31
+ name: ORIGIN_AGGREGATE_ATTR_OF,
32
+ valueType: ATTR_SUBTYPE_STRING,
33
+ required: true,
34
+ description: "Dotted Entity.field reference identifying the column being aggregated (e.g. 'Week.durationMinutes').",
35
+ },
36
+ {
37
+ name: ORIGIN_AGGREGATE_ATTR_VIA,
38
+ valueType: ATTR_SUBTYPE_STRING,
39
+ required: true,
40
+ description: "Dotted relationship path from the base entity to the aggregated rows (e.g. 'Program.weeks' or 'Program.weeks.workouts').",
41
+ },
42
+ ];
43
+ /** Attrs per origin subtype. base has none; passthrough and aggregate carry their respective attrs. */
44
+ export const ORIGIN_ATTRS_MAP = new Map([
45
+ [SUBTYPE_BASE, []],
46
+ [ORIGIN_SUBTYPE_PASSTHROUGH, [...passthroughOriginAttrs]],
47
+ [ORIGIN_SUBTYPE_AGGREGATE, [...aggregateOriginAttrs]],
48
+ ]);
49
+ //# sourceMappingURL=origin-schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"origin-schema.js","sourceRoot":"","sources":["../../../src/persistence/origin/origin-schema.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,mCAAmC;AAGnC,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EACL,0BAA0B,EAC1B,wBAAwB,EACxB,4BAA4B,EAC5B,2BAA2B,EAC3B,yBAAyB,EACzB,wBAAwB,EACxB,yBAAyB,EACzB,mBAAmB,GACpB,MAAM,uBAAuB,CAAC;AAE/B,uDAAuD;AACvD,MAAM,sBAAsB,GAAiB;IAC3C;QACE,IAAI,EAAE,4BAA4B;QAClC,SAAS,EAAE,mBAAmB;QAC9B,QAAQ,EAAE,IAAI;QACd,WAAW,EACT,yHAAyH;KAC5H;IACD;QACE,IAAI,EAAE,2BAA2B;QACjC,SAAS,EAAE,mBAAmB;QAC9B,QAAQ,EAAE,KAAK;QACf,WAAW,EACT,2FAA2F;KAC9F;CACF,CAAC;AAEF,gEAAgE;AAChE,MAAM,oBAAoB,GAAiB;IACzC;QACE,IAAI,EAAE,yBAAyB;QAC/B,SAAS,EAAE,mBAAmB;QAC9B,QAAQ,EAAE,IAAI;QACd,aAAa,EAAE,CAAC,GAAG,mBAAmB,CAAC;QACvC,WAAW,EAAE,sFAAsF;KACpG;IACD;QACE,IAAI,EAAE,wBAAwB;QAC9B,SAAS,EAAE,mBAAmB;QAC9B,QAAQ,EAAE,IAAI;QACd,WAAW,EACT,sGAAsG;KACzG;IACD;QACE,IAAI,EAAE,yBAAyB;QAC/B,SAAS,EAAE,mBAAmB;QAC9B,QAAQ,EAAE,IAAI;QACd,WAAW,EACT,0HAA0H;KAC7H;CACF,CAAC;AAEF,uGAAuG;AACvG,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAuB;IAC5D,CAAC,YAAY,EAAE,EAAE,CAAC;IAClB,CAAC,0BAA0B,EAAE,CAAC,GAAG,sBAAsB,CAAC,CAAC;IACzD,CAAC,wBAAwB,EAAE,CAAC,GAAG,oBAAoB,CAAC,CAAC;CACtD,CAAC,CAAC"}
@@ -0,0 +1,18 @@
1
+ import { MetaData } from "../../shared/meta-data.js";
2
+ export declare class MetaSource extends MetaData {
3
+ /** The SQL table or view name (value of @name attr on the source child). */
4
+ get sourceName(): string | undefined;
5
+ /**
6
+ * True when this source is a `dbTable` (writable).
7
+ * Explicitly defined rather than derived from `isReadOnly()` so it remains
8
+ * correct if a third source subtype is added in the future.
9
+ */
10
+ isWritable(): boolean;
11
+ /**
12
+ * True when this source is a `dbView` (read-only projection).
13
+ * Explicitly defined rather than derived from `isWritable()` so it remains
14
+ * correct if a third source subtype is added in the future.
15
+ */
16
+ isReadOnly(): boolean;
17
+ }
18
+ //# sourceMappingURL=meta-source.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"meta-source.d.ts","sourceRoot":"","sources":["../../../src/persistence/source/meta-source.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAOrD,qBAAa,UAAW,SAAQ,QAAQ;IACtC,4EAA4E;IAC5E,IAAI,UAAU,IAAI,MAAM,GAAG,SAAS,CAGnC;IAED;;;;OAIG;IACH,UAAU,IAAI,OAAO;IAIrB;;;;OAIG;IACH,UAAU,IAAI,OAAO;CAGtB"}
@@ -0,0 +1,31 @@
1
+ // MetaSource — concrete node class for type=source nodes.
2
+ // Declares where an object's data lives (Project E).
3
+ // dbTable / dbView source subtypes declare the SQL table or view name.
4
+ //
5
+ // Extends MetaData directly: no model wrapper, no metaOf() indirection.
6
+ import { MetaData } from "../../shared/meta-data.js";
7
+ import { SOURCE_ATTR_NAME, SOURCE_SUBTYPE_DB_TABLE, SOURCE_SUBTYPE_DB_VIEW, } from "./source-constants.js";
8
+ export class MetaSource extends MetaData {
9
+ /** The SQL table or view name (value of @name attr on the source child). */
10
+ get sourceName() {
11
+ const v = this.ownAttr(SOURCE_ATTR_NAME);
12
+ return typeof v === "string" ? v : undefined;
13
+ }
14
+ /**
15
+ * True when this source is a `dbTable` (writable).
16
+ * Explicitly defined rather than derived from `isReadOnly()` so it remains
17
+ * correct if a third source subtype is added in the future.
18
+ */
19
+ isWritable() {
20
+ return this.subType === SOURCE_SUBTYPE_DB_TABLE;
21
+ }
22
+ /**
23
+ * True when this source is a `dbView` (read-only projection).
24
+ * Explicitly defined rather than derived from `isWritable()` so it remains
25
+ * correct if a third source subtype is added in the future.
26
+ */
27
+ isReadOnly() {
28
+ return this.subType === SOURCE_SUBTYPE_DB_VIEW;
29
+ }
30
+ }
31
+ //# sourceMappingURL=meta-source.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"meta-source.js","sourceRoot":"","sources":["../../../src/persistence/source/meta-source.ts"],"names":[],"mappings":"AAAA,0DAA0D;AAC1D,qDAAqD;AACrD,uEAAuE;AACvE,EAAE;AACF,wEAAwE;AAExE,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AACrD,OAAO,EACL,gBAAgB,EAChB,uBAAuB,EACvB,sBAAsB,GACvB,MAAM,uBAAuB,CAAC;AAE/B,MAAM,OAAO,UAAW,SAAQ,QAAQ;IACtC,4EAA4E;IAC5E,IAAI,UAAU;QACZ,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;QACzC,OAAO,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC/C,CAAC;IAED;;;;OAIG;IACH,UAAU;QACR,OAAO,IAAI,CAAC,OAAO,KAAK,uBAAuB,CAAC;IAClD,CAAC;IAED;;;;OAIG;IACH,UAAU;QACR,OAAO,IAAI,CAAC,OAAO,KAAK,sBAAsB,CAAC;IACjD,CAAC;CACF"}
@@ -0,0 +1,16 @@
1
+ export declare const SOURCE_SUBTYPE_DB_TABLE = "dbTable";
2
+ export declare const SOURCE_SUBTYPE_DB_VIEW = "dbView";
3
+ export declare const SOURCE_SUBTYPES: readonly ["base", "dbTable", "dbView"];
4
+ export type SourceSubType = (typeof SOURCE_SUBTYPES)[number];
5
+ export declare const SOURCE_DB_TABLE_ATTR_NAME = "name";
6
+ export declare const SOURCE_DB_VIEW_ATTR_NAME = "name";
7
+ /** Shared @name attr key for MetaSource (covers both dbTable and dbView). Use this
8
+ * in generic source accessors instead of the subtype-specific aliases above. */
9
+ export declare const SOURCE_ATTR_NAME = "name";
10
+ /** Optional DB schema attr on source[dbTable] / source[dbView]. Postgres uses
11
+ * this to namespace tables/views. SQLite has no schema concept and rejects
12
+ * any non-default value. Default for Postgres: "public". */
13
+ export declare const SOURCE_ATTR_SCHEMA = "schema";
14
+ /** Default Postgres schema when @schema is omitted from a source. */
15
+ export declare const DEFAULT_DB_SCHEMA_POSTGRES = "public";
16
+ //# sourceMappingURL=source-constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"source-constants.d.ts","sourceRoot":"","sources":["../../../src/persistence/source/source-constants.ts"],"names":[],"mappings":"AAUA,eAAO,MAAM,uBAAuB,YAAY,CAAC;AACjD,eAAO,MAAM,sBAAsB,WAAY,CAAC;AAEhD,eAAO,MAAM,eAAe,wCAIlB,CAAC;AACX,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC;AAI7D,eAAO,MAAM,yBAAyB,SAAS,CAAC;AAChD,eAAO,MAAM,wBAAwB,SAAU,CAAC;AAChD;iFACiF;AACjF,eAAO,MAAM,gBAAgB,SAAkB,CAAC;AAEhD;;6DAE6D;AAC7D,eAAO,MAAM,kBAAkB,WAAW,CAAC;AAE3C,qEAAqE;AACrE,eAAO,MAAM,0BAA0B,WAAW,CAAC"}
@@ -0,0 +1,28 @@
1
+ // Source concern constants — subtypes and attr keys for the source.* type family.
2
+ import { SUBTYPE_BASE } from "../../shared/base-types.js";
3
+ // ---------------------------------------------------------------------------
4
+ // Source type — declares where an object's data lives (Project E).
5
+ // dbTable / dbView ship in v1. Multiple sources per object are allowed
6
+ // and meaningful (write-through CQRS: dbTable for writes + dbView for reads).
7
+ // ---------------------------------------------------------------------------
8
+ export const SOURCE_SUBTYPE_DB_TABLE = "dbTable";
9
+ export const SOURCE_SUBTYPE_DB_VIEW = "dbView";
10
+ export const SOURCE_SUBTYPES = [
11
+ SUBTYPE_BASE,
12
+ SOURCE_SUBTYPE_DB_TABLE,
13
+ SOURCE_SUBTYPE_DB_VIEW,
14
+ ];
15
+ // Source attrs — both dbTable and dbView use @name for the SQL identifier
16
+ // (table name and view name respectively). Same key for ergonomic consistency.
17
+ export const SOURCE_DB_TABLE_ATTR_NAME = "name";
18
+ export const SOURCE_DB_VIEW_ATTR_NAME = "name";
19
+ /** Shared @name attr key for MetaSource (covers both dbTable and dbView). Use this
20
+ * in generic source accessors instead of the subtype-specific aliases above. */
21
+ export const SOURCE_ATTR_NAME = "name";
22
+ /** Optional DB schema attr on source[dbTable] / source[dbView]. Postgres uses
23
+ * this to namespace tables/views. SQLite has no schema concept and rejects
24
+ * any non-default value. Default for Postgres: "public". */
25
+ export const SOURCE_ATTR_SCHEMA = "schema";
26
+ /** Default Postgres schema when @schema is omitted from a source. */
27
+ export const DEFAULT_DB_SCHEMA_POSTGRES = "public";
28
+ //# sourceMappingURL=source-constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"source-constants.js","sourceRoot":"","sources":["../../../src/persistence/source/source-constants.ts"],"names":[],"mappings":"AAAA,kFAAkF;AAElF,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE1D,8EAA8E;AAC9E,mEAAmE;AACnE,uEAAuE;AACvE,8EAA8E;AAC9E,8EAA8E;AAE9E,MAAM,CAAC,MAAM,uBAAuB,GAAG,SAAS,CAAC;AACjD,MAAM,CAAC,MAAM,sBAAsB,GAAI,QAAQ,CAAC;AAEhD,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,YAAY;IACZ,uBAAuB;IACvB,sBAAsB;CACd,CAAC;AAGX,0EAA0E;AAC1E,+EAA+E;AAC/E,MAAM,CAAC,MAAM,yBAAyB,GAAG,MAAM,CAAC;AAChD,MAAM,CAAC,MAAM,wBAAwB,GAAI,MAAM,CAAC;AAChD;iFACiF;AACjF,MAAM,CAAC,MAAM,gBAAgB,GAAY,MAAM,CAAC;AAEhD;;6DAE6D;AAC7D,MAAM,CAAC,MAAM,kBAAkB,GAAG,QAAQ,CAAC;AAE3C,qEAAqE;AACrE,MAAM,CAAC,MAAM,0BAA0B,GAAG,QAAQ,CAAC"}
@@ -0,0 +1,10 @@
1
+ export declare const LAYOUT_SUBTYPE_DATA_GRID = "dataGrid";
2
+ export declare const LAYOUT_SUBTYPES: readonly ["base", "dataGrid"];
3
+ export type LayoutSubType = (typeof LAYOUT_SUBTYPES)[number];
4
+ export declare const LAYOUT_DATA_GRID_ATTR_PAGE_SIZE = "pageSize";
5
+ export declare const LAYOUT_DATA_GRID_ATTR_DEFAULT_SORT_FIELD = "defaultSortField";
6
+ export declare const LAYOUT_DATA_GRID_ATTR_DEFAULT_SORT_ORDER = "defaultSortOrder";
7
+ export declare const LAYOUT_DATA_GRID_ATTR_FILTERABLE = "filterable";
8
+ export declare const LAYOUT_DATA_GRID_ATTR_FILTER = "filter";
9
+ export declare const LAYOUT_DATA_GRID_ATTR_COLUMNS = "columns";
10
+ //# sourceMappingURL=layout-constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"layout-constants.d.ts","sourceRoot":"","sources":["../../../src/presentation/layout/layout-constants.ts"],"names":[],"mappings":"AASA,eAAO,MAAM,wBAAwB,aAAa,CAAC;AAEnD,eAAO,MAAM,eAAe,+BAGlB,CAAC;AACX,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC;AAM7D,eAAO,MAAM,+BAA+B,aAAsB,CAAC;AACnE,eAAO,MAAM,wCAAwC,qBAAqB,CAAC;AAC3E,eAAO,MAAM,wCAAwC,qBAAqB,CAAC;AAC3E,eAAO,MAAM,gCAAgC,eAAuB,CAAC;AACrE,eAAO,MAAM,4BAA4B,WAAuB,CAAC;AACjE,eAAO,MAAM,6BAA6B,YAAuB,CAAC"}
@@ -0,0 +1,21 @@
1
+ // Layout concern constants — subtypes and dataGrid attr keys.
2
+ import { SUBTYPE_BASE } from "../../shared/base-types.js";
3
+ // ---------------------------------------------------------------------------
4
+ // Layout type — object-level UI surfaces (replaces Project B's object-attached
5
+ // data-grid view subtype; views are now strictly field-level per Java parity).
6
+ // ---------------------------------------------------------------------------
7
+ export const LAYOUT_SUBTYPE_DATA_GRID = "dataGrid";
8
+ export const LAYOUT_SUBTYPES = [
9
+ SUBTYPE_BASE,
10
+ LAYOUT_SUBTYPE_DATA_GRID,
11
+ ];
12
+ // ---------------------------------------------------------------------------
13
+ // Layout attrs (on dataGrid layouts)
14
+ // ---------------------------------------------------------------------------
15
+ export const LAYOUT_DATA_GRID_ATTR_PAGE_SIZE = "pageSize";
16
+ export const LAYOUT_DATA_GRID_ATTR_DEFAULT_SORT_FIELD = "defaultSortField";
17
+ export const LAYOUT_DATA_GRID_ATTR_DEFAULT_SORT_ORDER = "defaultSortOrder";
18
+ export const LAYOUT_DATA_GRID_ATTR_FILTERABLE = "filterable";
19
+ export const LAYOUT_DATA_GRID_ATTR_FILTER = "filter";
20
+ export const LAYOUT_DATA_GRID_ATTR_COLUMNS = "columns";
21
+ //# sourceMappingURL=layout-constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"layout-constants.js","sourceRoot":"","sources":["../../../src/presentation/layout/layout-constants.ts"],"names":[],"mappings":"AAAA,8DAA8D;AAE9D,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE1D,8EAA8E;AAC9E,+EAA+E;AAC/E,+EAA+E;AAC/E,8EAA8E;AAE9E,MAAM,CAAC,MAAM,wBAAwB,GAAG,UAAU,CAAC;AAEnD,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,YAAY;IACZ,wBAAwB;CAChB,CAAC;AAGX,8EAA8E;AAC9E,qCAAqC;AACrC,8EAA8E;AAE9E,MAAM,CAAC,MAAM,+BAA+B,GAAY,UAAU,CAAC;AACnE,MAAM,CAAC,MAAM,wCAAwC,GAAG,kBAAkB,CAAC;AAC3E,MAAM,CAAC,MAAM,wCAAwC,GAAG,kBAAkB,CAAC;AAC3E,MAAM,CAAC,MAAM,gCAAgC,GAAW,YAAY,CAAC;AACrE,MAAM,CAAC,MAAM,4BAA4B,GAAe,QAAQ,CAAC;AACjE,MAAM,CAAC,MAAM,6BAA6B,GAAc,SAAS,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { AttrSchema } from "../../registry.js";
2
+ /** Attrs on layout.dataGrid. */
3
+ export declare const dataGridLayoutAttrs: AttrSchema[];
4
+ //# sourceMappingURL=layout-schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"layout-schema.d.ts","sourceRoot":"","sources":["../../../src/presentation/layout/layout-schema.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAkBpD,gCAAgC;AAChC,eAAO,MAAM,mBAAmB,EAAE,UAAU,EAuC3C,CAAC"}
@@ -0,0 +1,46 @@
1
+ // Layout attribute schemas — attrs for layout subtypes (e.g. dataGrid).
2
+ // Consumed by registerCoreTypes().
3
+ import { ATTR_SUBTYPE_INT, ATTR_SUBTYPE_STRING, ATTR_SUBTYPE_BOOLEAN, ATTR_SUBTYPE_FILTER, ATTR_SUBTYPE_STRINGARRAY, } from "../../core/attr/attr-constants.js";
4
+ import { SORT_ORDER_VALUES } from "../../core/query/query-constants.js";
5
+ import { LAYOUT_DATA_GRID_ATTR_PAGE_SIZE, LAYOUT_DATA_GRID_ATTR_DEFAULT_SORT_FIELD, LAYOUT_DATA_GRID_ATTR_DEFAULT_SORT_ORDER, LAYOUT_DATA_GRID_ATTR_FILTERABLE, LAYOUT_DATA_GRID_ATTR_FILTER, LAYOUT_DATA_GRID_ATTR_COLUMNS, } from "./layout-constants.js";
6
+ /** Attrs on layout.dataGrid. */
7
+ export const dataGridLayoutAttrs = [
8
+ {
9
+ name: LAYOUT_DATA_GRID_ATTR_PAGE_SIZE,
10
+ valueType: ATTR_SUBTYPE_INT,
11
+ required: false,
12
+ description: "Number of rows per page in the generated data grid.",
13
+ },
14
+ {
15
+ name: LAYOUT_DATA_GRID_ATTR_DEFAULT_SORT_FIELD,
16
+ valueType: ATTR_SUBTYPE_STRING,
17
+ required: false,
18
+ description: "Field name the grid is sorted by on initial render. Must reference an actual field on the entity.",
19
+ },
20
+ {
21
+ name: LAYOUT_DATA_GRID_ATTR_DEFAULT_SORT_ORDER,
22
+ valueType: ATTR_SUBTYPE_STRING,
23
+ required: false,
24
+ allowedValues: [...SORT_ORDER_VALUES],
25
+ description: "Initial sort direction for the default sort field: 'asc' or 'desc'.",
26
+ },
27
+ {
28
+ name: LAYOUT_DATA_GRID_ATTR_FILTERABLE,
29
+ valueType: ATTR_SUBTYPE_BOOLEAN,
30
+ required: false,
31
+ description: "When true, the generated grid exposes column filtering UI.",
32
+ },
33
+ {
34
+ name: LAYOUT_DATA_GRID_ATTR_FILTER,
35
+ valueType: ATTR_SUBTYPE_FILTER,
36
+ required: false,
37
+ description: "Structured preset filter object applied to the grid at the metadata level. Desugared to canonical { field: { op: value } } form at parse time.",
38
+ },
39
+ {
40
+ name: LAYOUT_DATA_GRID_ATTR_COLUMNS,
41
+ valueType: ATTR_SUBTYPE_STRINGARRAY,
42
+ required: false,
43
+ description: "Flat ordered list of field names to display as grid columns.",
44
+ },
45
+ ];
46
+ //# sourceMappingURL=layout-schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"layout-schema.js","sourceRoot":"","sources":["../../../src/presentation/layout/layout-schema.ts"],"names":[],"mappings":"AAAA,wEAAwE;AACxE,mCAAmC;AAGnC,OAAO,EACL,gBAAgB,EAChB,mBAAmB,EACnB,oBAAoB,EACpB,mBAAmB,EACnB,wBAAwB,GACzB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AACxE,OAAO,EACL,+BAA+B,EAC/B,wCAAwC,EACxC,wCAAwC,EACxC,gCAAgC,EAChC,4BAA4B,EAC5B,6BAA6B,GAC9B,MAAM,uBAAuB,CAAC;AAE/B,gCAAgC;AAChC,MAAM,CAAC,MAAM,mBAAmB,GAAiB;IAC/C;QACE,IAAI,EAAE,+BAA+B;QACrC,SAAS,EAAE,gBAAgB;QAC3B,QAAQ,EAAE,KAAK;QACf,WAAW,EAAE,qDAAqD;KACnE;IACD;QACE,IAAI,EAAE,wCAAwC;QAC9C,SAAS,EAAE,mBAAmB;QAC9B,QAAQ,EAAE,KAAK;QACf,WAAW,EACT,mGAAmG;KACtG;IACD;QACE,IAAI,EAAE,wCAAwC;QAC9C,SAAS,EAAE,mBAAmB;QAC9B,QAAQ,EAAE,KAAK;QACf,aAAa,EAAE,CAAC,GAAG,iBAAiB,CAAC;QACrC,WAAW,EAAE,qEAAqE;KACnF;IACD;QACE,IAAI,EAAE,gCAAgC;QACtC,SAAS,EAAE,oBAAoB;QAC/B,QAAQ,EAAE,KAAK;QACf,WAAW,EAAE,4DAA4D;KAC1E;IACD;QACE,IAAI,EAAE,4BAA4B;QAClC,SAAS,EAAE,mBAAmB;QAC9B,QAAQ,EAAE,KAAK;QACf,WAAW,EAAE,gJAAgJ;KAC9J;IACD;QACE,IAAI,EAAE,6BAA6B;QACnC,SAAS,EAAE,wBAAwB;QACnC,QAAQ,EAAE,KAAK;QACf,WAAW,EAAE,8DAA8D;KAC5E;CACF,CAAC"}
@@ -0,0 +1,23 @@
1
+ import { MetaData } from "../../shared/meta-data.js";
2
+ import type { SortOrderValue } from "../../core/query/query-constants.js";
3
+ export declare class MetaLayout extends MetaData {
4
+ /** The number of rows per page for the dataGrid layout. */
5
+ get pageSize(): number | undefined;
6
+ /** The field name to sort by default in the dataGrid layout. */
7
+ get defaultSortField(): string | undefined;
8
+ /**
9
+ * The default sort order (`"asc"` or `"desc"`) for the dataGrid layout.
10
+ * Returns `undefined` when the attr is absent.
11
+ */
12
+ get defaultSortOrder(): SortOrderValue | undefined;
13
+ /**
14
+ * True when `@filterable: true` is set on the dataGrid layout.
15
+ * Defaults to `false` when the attr is absent.
16
+ */
17
+ get filterable(): boolean;
18
+ /** The desugared preset filter object for the dataGrid layout, or undefined. */
19
+ get filter(): Record<string, unknown> | undefined;
20
+ /** The ordered list of field names to display as columns in the dataGrid layout. */
21
+ get columns(): string[];
22
+ }
23
+ //# sourceMappingURL=meta-layout.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"meta-layout.d.ts","sourceRoot":"","sources":["../../../src/presentation/layout/meta-layout.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AASrD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AAE1E,qBAAa,UAAW,SAAQ,QAAQ;IACtC,2DAA2D;IAC3D,IAAI,QAAQ,IAAI,MAAM,GAAG,SAAS,CAGjC;IAED,gEAAgE;IAChE,IAAI,gBAAgB,IAAI,MAAM,GAAG,SAAS,CAGzC;IAED;;;OAGG;IACH,IAAI,gBAAgB,IAAI,cAAc,GAAG,SAAS,CAGjD;IAED;;;OAGG;IACH,IAAI,UAAU,IAAI,OAAO,CAExB;IAED,gFAAgF;IAChF,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAKhD;IAED,oFAAoF;IACpF,IAAI,OAAO,IAAI,MAAM,EAAE,CAGtB;CACF"}
@@ -0,0 +1,47 @@
1
+ // MetaLayout — concrete node class for type=layout nodes.
2
+ // Object-level UI surfaces (Project E; replaces object-attached data-grid view
3
+ // subtype; views are strictly field-level per Java parity).
4
+ //
5
+ // Extends MetaData directly: no model wrapper, no metaOf() indirection.
6
+ import { MetaData } from "../../shared/meta-data.js";
7
+ import { LAYOUT_DATA_GRID_ATTR_PAGE_SIZE, LAYOUT_DATA_GRID_ATTR_DEFAULT_SORT_FIELD, LAYOUT_DATA_GRID_ATTR_DEFAULT_SORT_ORDER, LAYOUT_DATA_GRID_ATTR_FILTERABLE, LAYOUT_DATA_GRID_ATTR_FILTER, LAYOUT_DATA_GRID_ATTR_COLUMNS, } from "./layout-constants.js";
8
+ export class MetaLayout extends MetaData {
9
+ /** The number of rows per page for the dataGrid layout. */
10
+ get pageSize() {
11
+ const v = this.ownAttr(LAYOUT_DATA_GRID_ATTR_PAGE_SIZE);
12
+ return typeof v === "number" ? v : undefined;
13
+ }
14
+ /** The field name to sort by default in the dataGrid layout. */
15
+ get defaultSortField() {
16
+ const v = this.ownAttr(LAYOUT_DATA_GRID_ATTR_DEFAULT_SORT_FIELD);
17
+ return typeof v === "string" ? v : undefined;
18
+ }
19
+ /**
20
+ * The default sort order (`"asc"` or `"desc"`) for the dataGrid layout.
21
+ * Returns `undefined` when the attr is absent.
22
+ */
23
+ get defaultSortOrder() {
24
+ const v = this.ownAttr(LAYOUT_DATA_GRID_ATTR_DEFAULT_SORT_ORDER);
25
+ return typeof v === "string" ? v : undefined;
26
+ }
27
+ /**
28
+ * True when `@filterable: true` is set on the dataGrid layout.
29
+ * Defaults to `false` when the attr is absent.
30
+ */
31
+ get filterable() {
32
+ return this.ownAttr(LAYOUT_DATA_GRID_ATTR_FILTERABLE) === true;
33
+ }
34
+ /** The desugared preset filter object for the dataGrid layout, or undefined. */
35
+ get filter() {
36
+ const v = this.ownAttr(LAYOUT_DATA_GRID_ATTR_FILTER);
37
+ return typeof v === "object" && v !== null && !Array.isArray(v)
38
+ ? v
39
+ : undefined;
40
+ }
41
+ /** The ordered list of field names to display as columns in the dataGrid layout. */
42
+ get columns() {
43
+ const c = this.ownAttr(LAYOUT_DATA_GRID_ATTR_COLUMNS);
44
+ return Array.isArray(c) ? c : [];
45
+ }
46
+ }
47
+ //# sourceMappingURL=meta-layout.js.map