@metaobjectsdev/metadata 0.5.0-rc.3 → 0.6.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 (168) hide show
  1. package/dist/attr-schema-validate.d.ts.map +1 -1
  2. package/dist/attr-schema-validate.js +66 -11
  3. package/dist/attr-schema-validate.js.map +1 -1
  4. package/dist/core/documentation/doc-constants.d.ts +11 -0
  5. package/dist/core/documentation/doc-constants.d.ts.map +1 -0
  6. package/dist/core/documentation/doc-constants.js +20 -0
  7. package/dist/core/documentation/doc-constants.js.map +1 -0
  8. package/dist/core/documentation/doc-provider.d.ts +3 -0
  9. package/dist/core/documentation/doc-provider.d.ts.map +1 -0
  10. package/dist/core/documentation/doc-provider.js +10 -0
  11. package/dist/core/documentation/doc-provider.js.map +1 -0
  12. package/dist/core/documentation/doc-schema.d.ts +8 -0
  13. package/dist/core/documentation/doc-schema.d.ts.map +1 -0
  14. package/dist/core/documentation/doc-schema.js +53 -0
  15. package/dist/core/documentation/doc-schema.js.map +1 -0
  16. package/dist/core/field/field-constants.d.ts +25 -1
  17. package/dist/core/field/field-constants.d.ts.map +1 -1
  18. package/dist/core/field/field-constants.js +32 -1
  19. package/dist/core/field/field-constants.js.map +1 -1
  20. package/dist/core/field/field-schema.d.ts +2 -0
  21. package/dist/core/field/field-schema.d.ts.map +1 -1
  22. package/dist/core/field/field-schema.js +20 -2
  23. package/dist/core/field/field-schema.js.map +1 -1
  24. package/dist/core/field/meta-field.d.ts +2 -1
  25. package/dist/core/field/meta-field.d.ts.map +1 -1
  26. package/dist/core/field/meta-field.js +6 -4
  27. package/dist/core/field/meta-field.js.map +1 -1
  28. package/dist/core/object/meta-object.d.ts.map +1 -1
  29. package/dist/core/object/meta-object.js +6 -5
  30. package/dist/core/object/meta-object.js.map +1 -1
  31. package/dist/core/parser-yaml.d.ts.map +1 -1
  32. package/dist/core/parser-yaml.js +9 -2
  33. package/dist/core/parser-yaml.js.map +1 -1
  34. package/dist/core/relationship/meta-relationship.d.ts +4 -0
  35. package/dist/core/relationship/meta-relationship.d.ts.map +1 -1
  36. package/dist/core/relationship/meta-relationship.js +11 -1
  37. package/dist/core/relationship/meta-relationship.js.map +1 -1
  38. package/dist/core/relationship/relationship-constants.d.ts +9 -0
  39. package/dist/core/relationship/relationship-constants.d.ts.map +1 -1
  40. package/dist/core/relationship/relationship-constants.js +15 -0
  41. package/dist/core/relationship/relationship-constants.js.map +1 -1
  42. package/dist/core/relationship/relationship-schema.d.ts.map +1 -1
  43. package/dist/core/relationship/relationship-schema.js +15 -1
  44. package/dist/core/relationship/relationship-schema.js.map +1 -1
  45. package/dist/core/yaml-desugar.d.ts +8 -1
  46. package/dist/core/yaml-desugar.d.ts.map +1 -1
  47. package/dist/core/yaml-desugar.js +166 -15
  48. package/dist/core/yaml-desugar.js.map +1 -1
  49. package/dist/core-types.d.ts.map +1 -1
  50. package/dist/core-types.js +28 -11
  51. package/dist/core-types.js.map +1 -1
  52. package/dist/errors.d.ts +1 -1
  53. package/dist/errors.d.ts.map +1 -1
  54. package/dist/errors.js +21 -0
  55. package/dist/errors.js.map +1 -1
  56. package/dist/index.d.ts +6 -1
  57. package/dist/index.d.ts.map +1 -1
  58. package/dist/index.js +7 -1
  59. package/dist/index.js.map +1 -1
  60. package/dist/loader/meta-data-loader.d.ts.map +1 -1
  61. package/dist/loader/meta-data-loader.js +12 -1
  62. package/dist/loader/meta-data-loader.js.map +1 -1
  63. package/dist/loader/validation-passes.d.ts +2 -0
  64. package/dist/loader/validation-passes.d.ts.map +1 -1
  65. package/dist/loader/validation-passes.js +69 -3
  66. package/dist/loader/validation-passes.js.map +1 -1
  67. package/dist/naming.d.ts +3 -2
  68. package/dist/naming.d.ts.map +1 -1
  69. package/dist/naming.js +14 -12
  70. package/dist/naming.js.map +1 -1
  71. package/dist/parser-core.d.ts.map +1 -1
  72. package/dist/parser-core.js +91 -48
  73. package/dist/parser-core.js.map +1 -1
  74. package/dist/persistence/db/db-constants.d.ts +2 -2
  75. package/dist/persistence/db/db-constants.d.ts.map +1 -1
  76. package/dist/persistence/db/db-constants.js +2 -2
  77. package/dist/persistence/db/db-constants.js.map +1 -1
  78. package/dist/persistence/db/db-provider.d.ts.map +1 -1
  79. package/dist/persistence/db/db-provider.js +10 -13
  80. package/dist/persistence/db/db-provider.js.map +1 -1
  81. package/dist/persistence/db/db-schema.d.ts +2 -4
  82. package/dist/persistence/db/db-schema.d.ts.map +1 -1
  83. package/dist/persistence/db/db-schema.js +5 -13
  84. package/dist/persistence/db/db-schema.js.map +1 -1
  85. package/dist/persistence/origin/meta-origin.d.ts +10 -0
  86. package/dist/persistence/origin/meta-origin.d.ts.map +1 -1
  87. package/dist/persistence/origin/meta-origin.js +14 -1
  88. package/dist/persistence/origin/meta-origin.js.map +1 -1
  89. package/dist/persistence/origin/origin-constants.d.ts +3 -1
  90. package/dist/persistence/origin/origin-constants.d.ts.map +1 -1
  91. package/dist/persistence/origin/origin-constants.js +6 -0
  92. package/dist/persistence/origin/origin-constants.js.map +1 -1
  93. package/dist/persistence/origin/origin-schema.d.ts +1 -1
  94. package/dist/persistence/origin/origin-schema.d.ts.map +1 -1
  95. package/dist/persistence/origin/origin-schema.js +12 -2
  96. package/dist/persistence/origin/origin-schema.js.map +1 -1
  97. package/dist/persistence/source/meta-source.d.ts +11 -9
  98. package/dist/persistence/source/meta-source.d.ts.map +1 -1
  99. package/dist/persistence/source/meta-source.js +23 -15
  100. package/dist/persistence/source/meta-source.js.map +1 -1
  101. package/dist/persistence/source/source-constants.d.ts +32 -11
  102. package/dist/persistence/source/source-constants.d.ts.map +1 -1
  103. package/dist/persistence/source/source-constants.js +55 -16
  104. package/dist/persistence/source/source-constants.js.map +1 -1
  105. package/dist/persistence/source/source-schema.d.ts +4 -0
  106. package/dist/persistence/source/source-schema.d.ts.map +1 -0
  107. package/dist/persistence/source/source-schema.js +37 -0
  108. package/dist/persistence/source/source-schema.js.map +1 -0
  109. package/dist/persistence/source/validate-source-roles.d.ts +12 -0
  110. package/dist/persistence/source/validate-source-roles.d.ts.map +1 -0
  111. package/dist/persistence/source/validate-source-roles.js +38 -0
  112. package/dist/persistence/source/validate-source-roles.js.map +1 -0
  113. package/dist/registry.d.ts +13 -0
  114. package/dist/registry.d.ts.map +1 -1
  115. package/dist/registry.js +26 -0
  116. package/dist/registry.js.map +1 -1
  117. package/dist/shared/base-types.d.ts +2 -1
  118. package/dist/shared/base-types.d.ts.map +1 -1
  119. package/dist/shared/base-types.js +5 -2
  120. package/dist/shared/base-types.js.map +1 -1
  121. package/dist/template/meta-template.d.ts +13 -0
  122. package/dist/template/meta-template.d.ts.map +1 -0
  123. package/dist/template/meta-template.js +13 -0
  124. package/dist/template/meta-template.js.map +1 -0
  125. package/dist/template/template-constants.d.ts +17 -0
  126. package/dist/template/template-constants.d.ts.map +1 -0
  127. package/dist/template/template-constants.js +46 -0
  128. package/dist/template/template-constants.js.map +1 -0
  129. package/dist/template/template-schema.d.ts +3 -0
  130. package/dist/template/template-schema.d.ts.map +1 -0
  131. package/dist/template/template-schema.js +84 -0
  132. package/dist/template/template-schema.js.map +1 -0
  133. package/package.json +1 -1
  134. package/src/attr-schema-validate.ts +89 -9
  135. package/src/core/documentation/doc-constants.ts +22 -0
  136. package/src/core/documentation/doc-provider.ts +12 -0
  137. package/src/core/documentation/doc-schema.ts +64 -0
  138. package/src/core/field/field-constants.ts +41 -1
  139. package/src/core/field/field-schema.ts +25 -0
  140. package/src/core/field/meta-field.ts +6 -3
  141. package/src/core/object/meta-object.ts +6 -6
  142. package/src/core/parser-yaml.ts +11 -3
  143. package/src/core/relationship/meta-relationship.ts +14 -0
  144. package/src/core/relationship/relationship-constants.ts +20 -0
  145. package/src/core/relationship/relationship-schema.ts +18 -0
  146. package/src/core/yaml-desugar.ts +206 -24
  147. package/src/core-types.ts +31 -9
  148. package/src/errors.ts +21 -0
  149. package/src/index.ts +7 -0
  150. package/src/loader/meta-data-loader.ts +15 -1
  151. package/src/loader/validation-passes.ts +98 -1
  152. package/src/naming.ts +15 -13
  153. package/src/parser-core.ts +119 -73
  154. package/src/persistence/db/db-constants.ts +2 -2
  155. package/src/persistence/db/db-provider.ts +10 -16
  156. package/src/persistence/db/db-schema.ts +5 -15
  157. package/src/persistence/origin/meta-origin.ts +15 -0
  158. package/src/persistence/origin/origin-constants.ts +7 -0
  159. package/src/persistence/origin/origin-schema.ts +15 -1
  160. package/src/persistence/source/meta-source.ts +30 -17
  161. package/src/persistence/source/source-constants.ts +66 -17
  162. package/src/persistence/source/source-schema.ts +54 -0
  163. package/src/persistence/source/validate-source-roles.ts +53 -0
  164. package/src/registry.ts +31 -0
  165. package/src/shared/base-types.ts +5 -2
  166. package/src/template/meta-template.ts +12 -0
  167. package/src/template/template-constants.ts +53 -0
  168. package/src/template/template-schema.ts +106 -0
@@ -100,6 +100,13 @@ function expandPackageForPath(basePkg, pkgPath) {
100
100
  // Safe because buildTree is fully synchronous — no reentrancy risk within
101
101
  // a single parse call. Set at buildTree entry, read deep in the call tree.
102
102
  let _deferSuperResolution = false;
103
+ // Module-level hard-error sink for inline @-attr checks (used by
104
+ // applyInlineAttrsAndUnknownKeys). Set at buildTree entry alongside the
105
+ // errors[] aggregator so a reserved-word-as-attr violation lands in the
106
+ // loader's errors[] without changing the helper's signature.
107
+ // Safe because buildTree is synchronous — same reentrancy argument as
108
+ // _deferSuperResolution.
109
+ let _currentErrors;
103
110
  /**
104
111
  * buildTree — the shared registry-driven tree-builder.
105
112
  *
@@ -117,55 +124,62 @@ export function buildTree(parsed, opts) {
117
124
  const strict = opts.strict ?? false;
118
125
  const source = opts.sourceName;
119
126
  _deferSuperResolution = opts.deferSuperResolution === true;
120
- if (typeof parsed !== "object" || parsed === null || Array.isArray(parsed)) {
121
- throw new ParseError("Top-level metadata must be an object", { ...errOpts(source), code: "ERR_TOP_LEVEL_NOT_OBJECT" });
122
- }
123
- const topLevel = parsed;
124
- // --- Find the wrapper key (skip $schema) ---
125
- const wrapperKeys = Object.keys(topLevel).filter((k) => k !== JSON_KEY_SCHEMA);
126
- if (wrapperKeys.length === 0) {
127
- throw new ParseError("Top-level metadata object has no type wrapper key", { ...errOpts(source), code: "ERR_TOP_LEVEL_NOT_OBJECT" });
128
- }
129
- if (wrapperKeys.length > 1) {
130
- throw new ParseError(`Top-level metadata object must have exactly one wrapper key (found: ${wrapperKeys.join(", ")})`, { ...errOpts(source), code: "ERR_TOP_LEVEL_NOT_OBJECT" });
131
- }
132
- const rootKey = wrapperKeys[0];
133
- const rootData = topLevel[rootKey];
134
- if (typeof rootData !== "object" || rootData === null || Array.isArray(rootData)) {
135
- throw new ParseError(`Top-level wrapper "${rootKey}" must contain an object`, { ...errOpts(source, rootKey), code: "ERR_TOP_LEVEL_NOT_OBJECT" });
136
- }
137
- const rootDataObj = rootData;
138
- const { type: rootType, subType: rootSubType } = splitTypeKey(rootKey, opts.registry);
139
- // Check root type is registered (always throw — can't skip the root)
140
- if (!opts.registry.has(rootType, rootSubType)) {
141
- const rootTypeCode = opts.registry.allSubTypesOf(rootType).length > 0
142
- ? "ERR_UNKNOWN_SUBTYPE"
143
- : "ERR_UNKNOWN_TYPE";
144
- throw new ParseError(`Unknown root type "${rootType}.${rootSubType}" — not registered`, { ...errOpts(source, rootKey), code: rootTypeCode });
127
+ _currentErrors = errors;
128
+ try {
129
+ if (typeof parsed !== "object" || parsed === null || Array.isArray(parsed)) {
130
+ throw new ParseError("Top-level metadata must be an object", { ...errOpts(source), code: "ERR_TOP_LEVEL_NOT_OBJECT" });
131
+ }
132
+ const topLevel = parsed;
133
+ // --- Find the wrapper key (skip $schema) ---
134
+ const wrapperKeys = Object.keys(topLevel).filter((k) => k !== JSON_KEY_SCHEMA);
135
+ if (wrapperKeys.length === 0) {
136
+ throw new ParseError("Top-level metadata object has no type wrapper key", { ...errOpts(source), code: "ERR_TOP_LEVEL_NOT_OBJECT" });
137
+ }
138
+ if (wrapperKeys.length > 1) {
139
+ throw new ParseError(`Top-level metadata object must have exactly one wrapper key (found: ${wrapperKeys.join(", ")})`, { ...errOpts(source), code: "ERR_TOP_LEVEL_NOT_OBJECT" });
140
+ }
141
+ const rootKey = wrapperKeys[0];
142
+ const rootData = topLevel[rootKey];
143
+ if (typeof rootData !== "object" || rootData === null || Array.isArray(rootData)) {
144
+ throw new ParseError(`Top-level wrapper "${rootKey}" must contain an object`, { ...errOpts(source, rootKey), code: "ERR_TOP_LEVEL_NOT_OBJECT" });
145
+ }
146
+ const rootDataObj = rootData;
147
+ const { type: rootType, subType: rootSubType } = splitTypeKey(rootKey, opts.registry);
148
+ // Check root type is registered (always throw — can't skip the root)
149
+ if (!opts.registry.has(rootType, rootSubType)) {
150
+ const rootTypeCode = opts.registry.allSubTypesOf(rootType).length > 0
151
+ ? "ERR_UNKNOWN_SUBTYPE"
152
+ : "ERR_UNKNOWN_TYPE";
153
+ throw new ParseError(`Unknown root type "${rootType}.${rootSubType}" — not registered`, { ...errOpts(source, rootKey), code: rootTypeCode });
154
+ }
155
+ if (opts.intoRoot !== undefined) {
156
+ // --- Merge mode: parse root's attrs/children into the existing root ---
157
+ // The JSON root's own package/super/reserved-keys are not re-applied to the
158
+ // existing root. BUT: children from the NEW JSON should inherit from the
159
+ // NEW root's package, not the existing root's.
160
+ const newRootPkg = rootDataObj[RESERVED_KEY_PACKAGE];
161
+ const contextPkg = (typeof newRootPkg === "string" ? newRootPkg : opts.intoRoot.package) ?? "";
162
+ parseNodeInto(rootDataObj, opts.intoRoot, opts.intoRoot, // accumulating root for super resolution
163
+ contextPkg, opts.registry, warnings, errors, strict, source, rootKey);
164
+ return { root: opts.intoRoot, warnings, errors };
165
+ }
166
+ // --- Fresh root mode: create a new root from the JSON ---
167
+ // The cast is safe within the core provider: `metadata.root` is the only
168
+ // registered `metadata` subtype, and its factory unconditionally produces a
169
+ // MetaRoot (see core-types.ts). A registry that registered a second
170
+ // `metadata.*` subtype backed by a non-MetaRoot factory would break this
171
+ // cast — a known limitation of the `TypeDefinition.factory: => MetaData`
172
+ // signature. `parseNodeFresh` is a general node parser, so MetaData is its
173
+ // correct return type; this top-level callsite is where the doc-root invariant holds.
174
+ const root = parseNodeFresh(rootType, rootSubType, rootDataObj, undefined, // no accumulating root yet — built as we go
175
+ "", // no inherited context pkg yet for the root itself
176
+ opts.registry, warnings, errors, strict, source, rootKey);
177
+ return { root, warnings, errors };
145
178
  }
146
- if (opts.intoRoot !== undefined) {
147
- // --- Merge mode: parse root's attrs/children into the existing root ---
148
- // The JSON root's own package/super/reserved-keys are not re-applied to the
149
- // existing root. BUT: children from the NEW JSON should inherit from the
150
- // NEW root's package, not the existing root's.
151
- const newRootPkg = rootDataObj[RESERVED_KEY_PACKAGE];
152
- const contextPkg = (typeof newRootPkg === "string" ? newRootPkg : opts.intoRoot.package) ?? "";
153
- parseNodeInto(rootDataObj, opts.intoRoot, opts.intoRoot, // accumulating root for super resolution
154
- contextPkg, opts.registry, warnings, errors, strict, source, rootKey);
155
- return { root: opts.intoRoot, warnings, errors };
179
+ finally {
180
+ _deferSuperResolution = false;
181
+ _currentErrors = undefined;
156
182
  }
157
- // --- Fresh root mode: create a new root from the JSON ---
158
- // The cast is safe within the core provider: `metadata.root` is the only
159
- // registered `metadata` subtype, and its factory unconditionally produces a
160
- // MetaRoot (see core-types.ts). A registry that registered a second
161
- // `metadata.*` subtype backed by a non-MetaRoot factory would break this
162
- // cast — a known limitation of the `TypeDefinition.factory: => MetaData`
163
- // signature. `parseNodeFresh` is a general node parser, so MetaData is its
164
- // correct return type; this top-level callsite is where the doc-root invariant holds.
165
- const root = parseNodeFresh(rootType, rootSubType, rootDataObj, undefined, // no accumulating root yet — built as we go
166
- "", // no inherited context pkg yet for the root itself
167
- opts.registry, warnings, errors, strict, source, rootKey);
168
- return { root, warnings, errors };
169
183
  }
170
184
  // ---------------------------------------------------------------------------
171
185
  // parseNodeFresh — creates a NEW node for this metadata node.
@@ -359,6 +373,31 @@ function applyInlineAttrsAndUnknownKeys(model, nodeData, strict, source, path, w
359
373
  }
360
374
  // Inline attribute (@-prefixed) — materialize into a MetaAttr instance.
361
375
  const attrName = key.slice(ATTR_PREFIX.length);
376
+ // Reserved structural keys (name/package/extends/abstract/overlay/isArray
377
+ // /children/value) must NOT be @-prefixed — they're written bare. An
378
+ // @-prefixed reserved word is always a metadata-author error (e.g.
379
+ // "@isArray" instead of bare "isArray") and is reported as a hard error
380
+ // regardless of strict mode so downstream code never sees a bogus
381
+ // MetaAttr named after a reserved word.
382
+ if (RESERVED_KEYS.has(attrName)) {
383
+ const displayName = model.name !== "" ? `${model.type}.${model.subType} '${model.name}'` : `${model.type}.${model.subType}`;
384
+ const msg = `Reserved structural key '${attrName}' must not be ${ATTR_PREFIX}-prefixed ` +
385
+ `on ${displayName} at ${path} (write it bare)`;
386
+ if (strict) {
387
+ throw new ParseError(msg, { ...errOpts(source, path), code: "ERR_RESERVED_ATTR" });
388
+ }
389
+ // Lax mode: route through the module-level errors sink so the loader
390
+ // sees this as a hard error (parity with attr-schema-validate's
391
+ // ERR_BAD_ATTR_VALUE direct pushes). Falls back to warnings only if
392
+ // _currentErrors isn't bound (unreachable when called from buildTree).
393
+ if (_currentErrors !== undefined) {
394
+ _currentErrors.push(new ParseError(msg, { ...errOpts(source, path), code: "ERR_RESERVED_ATTR" }));
395
+ }
396
+ else {
397
+ warnings.push(msg);
398
+ }
399
+ continue;
400
+ }
362
401
  const rawVal = nodeData[key];
363
402
  try {
364
403
  const attr = materializeAttr(model, attrName, rawVal, registry);
@@ -375,7 +414,11 @@ function applyInlineAttrsAndUnknownKeys(model, nodeData, strict, source, path, w
375
414
  // value shape. The instance coerces + desugars its own value.
376
415
  // ---------------------------------------------------------------------------
377
416
  function materializeAttr(owner, attrName, rawVal, registry) {
378
- const attrSpec = registry.attrsOf(owner.type, owner.subType).find((s) => s.name === attrName);
417
+ // Resolve attr spec: per-type attrs take precedence over common attrs.
418
+ // Common attrs are consulted as a fallback so they get the correct MetaAttr
419
+ // subclass (and thus the right coerce/validateValue) at parse time.
420
+ const perTypeSpec = registry.attrsOf(owner.type, owner.subType).find((s) => s.name === attrName);
421
+ const attrSpec = perTypeSpec ?? registry.getCommonAttrs().find((s) => s.name === attrName);
379
422
  let subType;
380
423
  if (attrSpec !== undefined && attrSpec.valueType !== undefined) {
381
424
  subType = attrSpec.valueType;
@@ -1 +1 @@
1
- {"version":3,"file":"parser-core.js","sourceRoot":"","sources":["../src/parser-core.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parser-core.js","sourceRoot":"","sources":["../src/parser-core.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- /** Custom DB column name override on a field (maps to @dbColumn in metadata). */
2
- export declare const FIELD_ATTR_DB_COLUMN = "dbColumn";
1
+ /** Column name override on a field (maps to @column in metadata). */
2
+ export declare const FIELD_ATTR_COLUMN = "column";
3
3
  /** When true, suppress the @filterable-without-index Loader warning (Project D drift check). */
4
4
  export declare const FIELD_ATTR_DB_INDEXED = "db.indexed";
5
5
  //# sourceMappingURL=db-constants.d.ts.map
@@ -1 +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"}
1
+ {"version":3,"file":"db-constants.d.ts","sourceRoot":"","sources":["../../../src/persistence/db/db-constants.ts"],"names":[],"mappings":"AAEA,qEAAqE;AACrE,eAAO,MAAM,iBAAiB,WAAW,CAAC;AAC1C,gGAAgG;AAChG,eAAO,MAAM,qBAAqB,eAAe,CAAC"}
@@ -1,6 +1,6 @@
1
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";
2
+ /** Column name override on a field (maps to @column in metadata). */
3
+ export const FIELD_ATTR_COLUMN = "column";
4
4
  /** When true, suppress the @filterable-without-index Loader warning (Project D drift check). */
5
5
  export const FIELD_ATTR_DB_INDEXED = "db.indexed";
6
6
  //# sourceMappingURL=db-constants.js.map
@@ -1 +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"}
1
+ {"version":3,"file":"db-constants.js","sourceRoot":"","sources":["../../../src/persistence/db/db-constants.ts"],"names":[],"mappings":"AAAA,uDAAuD;AAEvD,qEAAqE;AACrE,MAAM,CAAC,MAAM,iBAAiB,GAAG,QAAQ,CAAC;AAC1C,gGAAgG;AAChG,MAAM,CAAC,MAAM,qBAAqB,GAAG,YAAY,CAAC"}
@@ -1 +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"}
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;AAQ9D,eAAO,MAAM,UAAU,EAAE,oBAgBxB,CAAC"}
@@ -1,28 +1,25 @@
1
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
2
+ // attributes (@column / @db.indexed on fields; @table/@kind/@role/@schema on
3
+ // source.rdb) by extending the core-registered types. Mirrors Java's
4
4
  // CoreDBMetaDataProvider (com.metaobjects.database).
5
5
  import { TYPE_FIELD, TYPE_SOURCE } from "../../shared/base-types.js";
6
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";
7
+ import { SOURCE_SUBTYPE_RDB } from "../source/source-constants.js";
8
+ import { columnSchema, dbIndexedSchema } from "./db-schema.js";
9
+ import { sourceRdbAttrs } from "../source/source-schema.js";
9
10
  export const dbProvider = {
10
11
  id: "metaobjects-db",
11
12
  dependencies: ["metaobjects-core-types"],
12
- description: "DB-domain attributes — @dbColumn / @db.indexed on fields, @name on source.dbTable / source.dbView.",
13
+ description: "DB-domain attributes — @column / @db.indexed on fields, @table/@kind/@role/@schema on source.rdb.",
13
14
  registerTypes(registry) {
14
15
  for (const subType of FIELD_SUBTYPES) {
15
16
  registry.extend(TYPE_FIELD, subType, {
16
- attributes: [dbColumnSchema, dbIndexedSchema],
17
+ attributes: [columnSchema, dbIndexedSchema],
17
18
  });
18
19
  }
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],
20
+ // source.rdb@table/@kind/@role/@schema attrs.
21
+ registry.extend(TYPE_SOURCE, SOURCE_SUBTYPE_RDB, {
22
+ attributes: [...sourceRdbAttrs],
26
23
  });
27
24
  },
28
25
  };
@@ -1 +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"}
1
+ {"version":3,"file":"db-provider.js","sourceRoot":"","sources":["../../../src/persistence/db/db-provider.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,6EAA6E;AAC7E,qEAAqE;AACrE,qDAAqD;AAIrD,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AACrE,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAE5D,MAAM,CAAC,MAAM,UAAU,GAAyB;IAC9C,EAAE,EAAE,gBAAgB;IACpB,YAAY,EAAE,CAAC,wBAAwB,CAAC;IACxC,WAAW,EACT,mGAAmG;IACrG,aAAa,CAAC,QAAsB;QAClC,KAAK,MAAM,OAAO,IAAI,cAAc,EAAE,CAAC;YACrC,QAAQ,CAAC,MAAM,CAAC,UAAU,EAAE,OAAO,EAAE;gBACnC,UAAU,EAAE,CAAC,YAAY,EAAE,eAAe,CAAC;aAC5C,CAAC,CAAC;QACL,CAAC;QACD,iDAAiD;QACjD,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,kBAAkB,EAAE;YAC/C,UAAU,EAAE,CAAC,GAAG,cAAc,CAAC;SAChC,CAAC,CAAC;IACL,CAAC;CACF,CAAC"}
@@ -1,8 +1,6 @@
1
1
  import type { AttrSchema } from "../../registry.js";
2
- /** `@dbColumn` — column-name override; on every field subtype. */
3
- export declare const dbColumnSchema: AttrSchema;
2
+ /** `@column` — column-name override on every field subtype (source.rdb). */
3
+ export declare const columnSchema: AttrSchema;
4
4
  /** `@db.indexed` — suppress the @filterable-without-index warning; on every field subtype. */
5
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
6
  //# sourceMappingURL=db-schema.d.ts.map
@@ -1 +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"}
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;AAUpD,4EAA4E;AAC5E,eAAO,MAAM,YAAY,EAAE,UAM1B,CAAC;AAEF,8FAA8F;AAC9F,eAAO,MAAM,eAAe,EAAE,UAM7B,CAAC"}
@@ -1,14 +1,13 @@
1
1
  // DB-domain attribute schemas — registered by dbProvider (db-provider.ts),
2
2
  // not the core metamodel.
3
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,
4
+ import { FIELD_ATTR_COLUMN, FIELD_ATTR_DB_INDEXED, } from "./db-constants.js";
5
+ /** `@column` column-name override on every field subtype (source.rdb). */
6
+ export const columnSchema = {
7
+ name: FIELD_ATTR_COLUMN,
9
8
  valueType: ATTR_SUBTYPE_STRING,
10
9
  required: false,
11
- description: "Override the generated SQL column name for this field. Defaults to the field name run through the project's columnNamingStrategy.",
10
+ description: "Physical column name for this field on an rdb source. Defaults to the field name via columnNamingStrategy.",
12
11
  };
13
12
  /** `@db.indexed` — suppress the @filterable-without-index warning; on every field subtype. */
14
13
  export const dbIndexedSchema = {
@@ -17,11 +16,4 @@ export const dbIndexedSchema = {
17
16
  required: false,
18
17
  description: "When true, suppress the @filterable-without-index Loader warning (the field is indexed by other means).",
19
18
  };
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
19
  //# sourceMappingURL=db-schema.js.map
@@ -1 +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"}
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,iBAAiB,EACjB,qBAAqB,GACtB,MAAM,mBAAmB,CAAC;AAE3B,4EAA4E;AAC5E,MAAM,CAAC,MAAM,YAAY,GAAe;IACtC,IAAI,EAAE,iBAAiB;IACvB,SAAS,EAAE,mBAAmB;IAC9B,QAAQ,EAAE,KAAK;IACf,WAAW,EACT,4GAA4G;CAC/G,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"}
@@ -29,4 +29,14 @@ export declare class MetaAggregateOrigin extends MetaOrigin {
29
29
  /** The dotted relationship path the aggregate walks (e.g. "Program.weeks"). */
30
30
  get via(): string | undefined;
31
31
  }
32
+ /**
33
+ * Collection origin — the (array) field's value is a relationship-derived
34
+ * array of nested view-objects (FR-004 R4). Carries `@via` (required): the
35
+ * dotted relationship path the collection walks (e.g. "Author.posts"), or a
36
+ * wildcard-prefixed selector for a package-spanning collection (e.g. "*.User").
37
+ */
38
+ export declare class MetaCollectionOrigin extends MetaOrigin {
39
+ /** The dotted relationship path (or wildcard selector) this collection is sourced from. */
40
+ get via(): string | undefined;
41
+ }
32
42
  //# sourceMappingURL=meta-origin.d.ts.map
@@ -1 +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"}
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,EAOL,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;AAED;;;;;GAKG;AACH,qBAAa,oBAAqB,SAAQ,UAAU;IAClD,2FAA2F;IAC3F,IAAI,GAAG,IAAI,MAAM,GAAG,SAAS,CAG5B;CACF"}
@@ -7,7 +7,7 @@
7
7
  //
8
8
  // Extends MetaData directly: no model wrapper, no metaOf() indirection.
9
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";
10
+ import { ORIGIN_PASSTHROUGH_ATTR_FROM, ORIGIN_PASSTHROUGH_ATTR_VIA, ORIGIN_AGGREGATE_ATTR_AGG, ORIGIN_AGGREGATE_ATTR_OF, ORIGIN_AGGREGATE_ATTR_VIA, ORIGIN_COLLECTION_ATTR_VIA, } from "./origin-constants.js";
11
11
  export class MetaOrigin extends MetaData {
12
12
  }
13
13
  /**
@@ -52,4 +52,17 @@ export class MetaAggregateOrigin extends MetaOrigin {
52
52
  return typeof v === "string" ? v : undefined;
53
53
  }
54
54
  }
55
+ /**
56
+ * Collection origin — the (array) field's value is a relationship-derived
57
+ * array of nested view-objects (FR-004 R4). Carries `@via` (required): the
58
+ * dotted relationship path the collection walks (e.g. "Author.posts"), or a
59
+ * wildcard-prefixed selector for a package-spanning collection (e.g. "*.User").
60
+ */
61
+ export class MetaCollectionOrigin extends MetaOrigin {
62
+ /** The dotted relationship path (or wildcard selector) this collection is sourced from. */
63
+ get via() {
64
+ const v = this.ownAttr(ORIGIN_COLLECTION_ATTR_VIA);
65
+ return typeof v === "string" ? v : undefined;
66
+ }
67
+ }
55
68
  //# sourceMappingURL=meta-origin.js.map
@@ -1 +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"}
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,EACzB,0BAA0B,GAE3B,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;AAED;;;;;GAKG;AACH,MAAM,OAAO,oBAAqB,SAAQ,UAAU;IAClD,2FAA2F;IAC3F,IAAI,GAAG;QACL,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC;QACnD,OAAO,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC/C,CAAC;CACF"}
@@ -1,9 +1,11 @@
1
1
  export declare const ORIGIN_SUBTYPE_PASSTHROUGH = "passthrough";
2
2
  export declare const ORIGIN_SUBTYPE_AGGREGATE = "aggregate";
3
- export declare const ORIGIN_SUBTYPES: readonly ["base", "passthrough", "aggregate"];
3
+ export declare const ORIGIN_SUBTYPE_COLLECTION = "collection";
4
+ export declare const ORIGIN_SUBTYPES: readonly ["base", "passthrough", "aggregate", "collection"];
4
5
  export type OriginSubType = (typeof ORIGIN_SUBTYPES)[number];
5
6
  export declare const ORIGIN_PASSTHROUGH_ATTR_FROM = "from";
6
7
  export declare const ORIGIN_PASSTHROUGH_ATTR_VIA = "via";
8
+ export declare const ORIGIN_COLLECTION_ATTR_VIA = "via";
7
9
  export declare const ORIGIN_AGGREGATE_ATTR_AGG = "agg";
8
10
  export declare const ORIGIN_AGGREGATE_ATTR_OF = "of";
9
11
  export declare const ORIGIN_AGGREGATE_ATTR_VIA = "via";
@@ -1 +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"}
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;AACtD,eAAO,MAAM,yBAAyB,eAAgB,CAAC;AAEvD,eAAO,MAAM,eAAe,6DAKlB,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;AAKlD,eAAO,MAAM,0BAA0B,QAAQ,CAAC;AAGhD,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"}
@@ -10,14 +10,20 @@ import { SUBTYPE_BASE } from "../../shared/base-types.js";
10
10
  // ---------------------------------------------------------------------------
11
11
  export const ORIGIN_SUBTYPE_PASSTHROUGH = "passthrough";
12
12
  export const ORIGIN_SUBTYPE_AGGREGATE = "aggregate";
13
+ export const ORIGIN_SUBTYPE_COLLECTION = "collection";
13
14
  export const ORIGIN_SUBTYPES = [
14
15
  SUBTYPE_BASE,
15
16
  ORIGIN_SUBTYPE_PASSTHROUGH,
16
17
  ORIGIN_SUBTYPE_AGGREGATE,
18
+ ORIGIN_SUBTYPE_COLLECTION,
17
19
  ];
18
20
  // passthrough attrs
19
21
  export const ORIGIN_PASSTHROUGH_ATTR_FROM = "from";
20
22
  export const ORIGIN_PASSTHROUGH_ATTR_VIA = "via";
23
+ // collection attrs — a relationship-derived array of nested view-objects
24
+ // (FR-004 R4). @via is the dotted relationship path (optionally wildcard-
25
+ // prefixed, e.g. "*.User", for a package-spanning collection).
26
+ export const ORIGIN_COLLECTION_ATTR_VIA = "via";
21
27
  // aggregate attrs
22
28
  export const ORIGIN_AGGREGATE_ATTR_AGG = "agg";
23
29
  export const ORIGIN_AGGREGATE_ATTR_OF = "of";
@@ -1 +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"}
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;AACtD,MAAM,CAAC,MAAM,yBAAyB,GAAI,YAAY,CAAC;AAEvD,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,YAAY;IACZ,0BAA0B;IAC1B,wBAAwB;IACxB,yBAAyB;CACjB,CAAC;AAGX,oBAAoB;AACpB,MAAM,CAAC,MAAM,4BAA4B,GAAG,MAAM,CAAC;AACnD,MAAM,CAAC,MAAM,2BAA2B,GAAI,KAAK,CAAC;AAElD,yEAAyE;AACzE,0EAA0E;AAC1E,+DAA+D;AAC/D,MAAM,CAAC,MAAM,0BAA0B,GAAG,KAAK,CAAC;AAEhD,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"}
@@ -1,4 +1,4 @@
1
1
  import type { AttrSchema } from "../../registry.js";
2
- /** Attrs per origin subtype. base has none; passthrough and aggregate carry their respective attrs. */
2
+ /** Attrs per origin subtype. base has none; the others carry their respective attrs. */
3
3
  export declare const ORIGIN_ATTRS_MAP: Map<string, AttrSchema[]>;
4
4
  //# sourceMappingURL=origin-schema.d.ts.map
@@ -1 +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"}
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;AAsEpD,wFAAwF;AACxF,eAAO,MAAM,gBAAgB,2BAK3B,CAAC"}
@@ -2,7 +2,7 @@
2
2
  // Consumed by registerCoreTypes().
3
3
  import { ATTR_SUBTYPE_STRING } from "../../core/attr/attr-constants.js";
4
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";
5
+ import { ORIGIN_SUBTYPE_PASSTHROUGH, ORIGIN_SUBTYPE_AGGREGATE, ORIGIN_SUBTYPE_COLLECTION, ORIGIN_PASSTHROUGH_ATTR_FROM, ORIGIN_PASSTHROUGH_ATTR_VIA, ORIGIN_AGGREGATE_ATTR_AGG, ORIGIN_AGGREGATE_ATTR_OF, ORIGIN_AGGREGATE_ATTR_VIA, ORIGIN_COLLECTION_ATTR_VIA, AGGREGATE_FUNCTIONS, } from "./origin-constants.js";
6
6
  /** Attrs on origin.passthrough — @from is required. */
7
7
  const passthroughOriginAttrs = [
8
8
  {
@@ -40,10 +40,20 @@ const aggregateOriginAttrs = [
40
40
  description: "Dotted relationship path from the base entity to the aggregated rows (e.g. 'Program.weeks' or 'Program.weeks.workouts').",
41
41
  },
42
42
  ];
43
- /** Attrs per origin subtype. base has none; passthrough and aggregate carry their respective attrs. */
43
+ /** Attrs on origin.collection @via (the relationship path) is required. */
44
+ const collectionOriginAttrs = [
45
+ {
46
+ name: ORIGIN_COLLECTION_ATTR_VIA,
47
+ valueType: ATTR_SUBTYPE_STRING,
48
+ required: true,
49
+ description: "Dotted relationship path the collection walks to produce an array of nested view-objects (e.g. 'Author.posts'), or a wildcard selector for a package-spanning collection (e.g. '*.User').",
50
+ },
51
+ ];
52
+ /** Attrs per origin subtype. base has none; the others carry their respective attrs. */
44
53
  export const ORIGIN_ATTRS_MAP = new Map([
45
54
  [SUBTYPE_BASE, []],
46
55
  [ORIGIN_SUBTYPE_PASSTHROUGH, [...passthroughOriginAttrs]],
47
56
  [ORIGIN_SUBTYPE_AGGREGATE, [...aggregateOriginAttrs]],
57
+ [ORIGIN_SUBTYPE_COLLECTION, [...collectionOriginAttrs]],
48
58
  ]);
49
59
  //# sourceMappingURL=origin-schema.js.map
@@ -1 +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"}
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,yBAAyB,EACzB,4BAA4B,EAC5B,2BAA2B,EAC3B,yBAAyB,EACzB,wBAAwB,EACxB,yBAAyB,EACzB,0BAA0B,EAC1B,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,6EAA6E;AAC7E,MAAM,qBAAqB,GAAiB;IAC1C;QACE,IAAI,EAAE,0BAA0B;QAChC,SAAS,EAAE,mBAAmB;QAC9B,QAAQ,EAAE,IAAI;QACd,WAAW,EACT,2LAA2L;KAC9L;CACF,CAAC;AAEF,wFAAwF;AACxF,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;IACrD,CAAC,yBAAyB,EAAE,CAAC,GAAG,qBAAqB,CAAC,CAAC;CACxD,CAAC,CAAC"}