@metaobjectsdev/metadata 1.0.5-rc.1 → 1.0.5-rc.10

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.
@@ -141,6 +141,24 @@ function guardRelativeRefInCanonical(refLabel, rawValue, strict, warnings, path)
141
141
  function isAbstractAnchorFor(type, registry) {
142
142
  return registry.allSubTypesOf(type).some((sub) => sub !== SUBTYPE_BASE);
143
143
  }
144
+ /**
145
+ * How a (type, subType) pair is named back to the author in an error.
146
+ *
147
+ * A bare wrapper key for an UNREGISTERED type has no subType to resolve, so the naive
148
+ * `${type}.${subType}` renders `"madeup."` — a trailing dot that reads like the author
149
+ * wrote one. Print the type alone in that case; it is what they actually wrote.
150
+ */
151
+ function typeDisplayName(type, subType) {
152
+ return subType === "" ? type : `${type}${TYPE_SUBTYPE_SEPARATOR}${subType}`;
153
+ }
154
+ /** The JSON kind of a value, for an error that has to say what the author wrote instead. */
155
+ function describeJsonKind(value) {
156
+ if (value === null)
157
+ return "null";
158
+ if (Array.isArray(value))
159
+ return "an array";
160
+ return `a ${typeof value}`;
161
+ }
144
162
  function abstractSubtypeMessage(type) {
145
163
  return (`"${type}.${SUBTYPE_BASE}" may not be authored — every "${SUBTYPE_BASE}" subtype is an ` +
146
164
  `abstract registry anchor that concrete subtypes inherit from, with no runtime ` +
@@ -386,15 +404,6 @@ export function buildTree(parsed, opts) {
386
404
  }
387
405
  const rootKey = wrapperKeys[0];
388
406
  const rootData = topLevel[rootKey];
389
- if (typeof rootData !== "object" || rootData === null || Array.isArray(rootData)) {
390
- // The error context references the rootKey wrapper; push it so the
391
- // envelope's jsonPath includes it (matches the legacy `path` slot).
392
- _currentPath.pushKey(rootKey);
393
- const src = errSource();
394
- _currentPath.pop();
395
- throw new ParseError(`Top-level wrapper "${rootKey}" must contain an object`, { code: "ERR_TOP_LEVEL_NOT_OBJECT", source: src });
396
- }
397
- const rootDataObj = rootData;
398
407
  const { type: rootType, subType: rootSubType, explicit: rootExplicit } = splitTypeKey(rootKey, opts.registry);
399
408
  // A `<type>.base` node may not be AUTHORED — see abstractSubtypeMessage. This is the
400
409
  // ROOT door; the child door is in the child loop below. One rule, both doors: a check
@@ -431,7 +440,7 @@ export function buildTree(parsed, opts) {
431
440
  // is currently unreachable — wired anyway, because "fixed one door, left the
432
441
  // other" is how a rule ends up half-true and passing every probe.
433
442
  const retiredRoot = retiredSubType(rootType, rootSubType);
434
- throw new ParseError(`Unknown root type "${rootType}.${rootSubType}" — ` +
443
+ throw new ParseError(`Unknown root type "${typeDisplayName(rootType, rootSubType)}" — ` +
435
444
  (retiredRoot !== undefined ? retirementHint(retiredRoot) : "not registered"), {
436
445
  code: rootTypeCode,
437
446
  source: src,
@@ -440,6 +449,21 @@ export function buildTree(parsed, opts) {
440
449
  : {}),
441
450
  });
442
451
  }
452
+ // --- The root wrapper's BODY must be an object ---
453
+ // AFTER the key resolves — the same order as the CHILD door (see processChildren).
454
+ // One rule, both doors, in the same order at both: until 1.0.5 this door ran the body
455
+ // check first, the child door ran it first too but under a DIFFERENT code, and the JVM
456
+ // root door ran it last with no error code at all.
457
+ if (typeof rootData !== "object" || rootData === null || Array.isArray(rootData)) {
458
+ // The error context references the rootKey wrapper; push it so the
459
+ // envelope's jsonPath includes it (matches the legacy `path` slot).
460
+ _currentPath.pushKey(rootKey);
461
+ const src = errSource();
462
+ _currentPath.pop();
463
+ throw new ParseError(`Top-level wrapper "${rootKey}" must contain an object, and holds ` +
464
+ `${describeJsonKind(rootData)}`, { code: "ERR_TOP_LEVEL_NOT_OBJECT", source: src });
465
+ }
466
+ const rootDataObj = rootData;
443
467
  // FR5a — push the wrapper-key segment onto the JSONPath stack so all
444
468
  // descendants emit jsonPath strings rooted at "$.<rootKey>". The merge-mode
445
469
  // path keeps the existing root's source untouched; only NEW children get
@@ -506,7 +530,7 @@ parent) {
506
530
  subType = SUBTYPE_BASE;
507
531
  }
508
532
  else {
509
- const msg = `Unknown type "${type}.${subType}" — not registered`;
533
+ const msg = `Unknown type "${typeDisplayName(type, subType)}" — not registered`;
510
534
  errors.push(new ParseError(msg, { code: "ERR_UNKNOWN_TYPE", source: errSource() }));
511
535
  const rawName = nodeData[RESERVED_KEY_NAME];
512
536
  const name = typeof rawName === "string" ? rawName : "";
@@ -1226,14 +1250,6 @@ function processChildren(parent, nodeData, accumRoot, inheritedContextPkg, regis
1226
1250
  if (_currentFormat === "yaml") {
1227
1251
  _currentYamlPosition = getYamlPosition(childRecord, childKey);
1228
1252
  }
1229
- if (typeof childData !== "object" || childData === null || Array.isArray(childData)) {
1230
- reportProblem(`Child wrapper "${childKey}" at ${childNodePath} must contain an object`, strict, warnings, "ERR_TOP_LEVEL_NOT_OBJECT");
1231
- _currentPath?.pop(); // pop child wrapper key
1232
- _currentPath?.pop(); // pop array index
1233
- _currentYamlPosition = savedYamlPosition; // FR5b — restore parent's pos
1234
- continue;
1235
- }
1236
- const childDataObj = childData;
1237
1253
  const { type: childType, subType: childSubTypeRaw, explicit } = splitTypeKey(childKey, registry);
1238
1254
  let childSubType = childSubTypeRaw;
1239
1255
  // A `<type>.base` may not be AUTHORED, and a bare key for a type with no declared default
@@ -1242,8 +1258,17 @@ function processChildren(parent, nodeData, accumRoot, inheritedContextPkg, regis
1242
1258
  // (identity, index, requirement) falls into that check's else-arm first and is reported as
1243
1259
  // an UNKNOWN TYPE — a message asserting the type does not exist, about a type that does,
1244
1260
  // with its name mangled to `"identity."`. Order is the whole rule here.
1245
- if ((childSubType === SUBTYPE_BASE && isAbstractAnchorFor(childType, registry))
1246
- || (!explicit && childSubType === "")) {
1261
+ //
1262
+ // Registration first, exactly as the ROOT door does it: an UNREGISTERED type has no
1263
+ // declared default either, so without this guard a typo'd child key (`madeup`) lands in
1264
+ // this branch and is told to "write the full `madeup.<subType>`" — advice about a type
1265
+ // that does not exist. The root door has carried the guard since FR5a and Java pins it
1266
+ // with a root-door test; the child door never got it, so one rule was true at one of its
1267
+ // two doors in TypeScript, C# and Java, while Python reported ERR_UNKNOWN_TYPE. The
1268
+ // registration check below owns the unregistered case and phrases it correctly.
1269
+ if (registry.allSubTypesOf(childType).length > 0
1270
+ && ((childSubType === SUBTYPE_BASE && isAbstractAnchorFor(childType, registry))
1271
+ || (!explicit && childSubType === ""))) {
1247
1272
  errors.push(explicit
1248
1273
  ? new ParseError(abstractSubtypeMessage(childType), {
1249
1274
  code: "ERR_ABSTRACT_SUBTYPE_AUTHORED",
@@ -1274,7 +1299,7 @@ function processChildren(parent, nodeData, accumRoot, inheritedContextPkg, regis
1274
1299
  // #337: a subtype we RETIRED (origin.collection) gets its retirement and its
1275
1300
  // migration, not a bare "not registered" that reads like a broken install.
1276
1301
  const retiredChild = retiredSubType(childType, childSubType);
1277
- errors.push(new ParseError(`Unknown type "${childType}.${childSubType}" — ` +
1302
+ errors.push(new ParseError(`Unknown type "${typeDisplayName(childType, childSubType)}" — ` +
1278
1303
  (retiredChild !== undefined ? retirementHint(retiredChild) : "not registered"), { code: childTypeCode, source: errSource() }));
1279
1304
  _currentPath?.pop(); // pop child wrapper key
1280
1305
  _currentPath?.pop(); // pop array index
@@ -1282,6 +1307,29 @@ function processChildren(parent, nodeData, accumRoot, inheritedContextPkg, regis
1282
1307
  continue; // skip this child
1283
1308
  }
1284
1309
  }
1310
+ // --- The wrapper's BODY must be an object ---
1311
+ // AFTER the key resolves, deliberately. A child is one `{ "<type>.<subType>": { …body… } }`
1312
+ // pair, so a string/number/boolean/array/null body carries no node to read — but running
1313
+ // this check FIRST answers `{ "$comment": "prose" }` with "must contain an object", which
1314
+ // sends the author to wrap prose that was never a node in the first place. Key first, body
1315
+ // second: each mistake gets the message about itself.
1316
+ //
1317
+ // A hard ERROR, not `reportProblem`'s lax warning (1.0.5). Under a warning the child was
1318
+ // DROPPED from the tree on every port and the load still succeeded — a declared field
1319
+ // simply not there, with `meta gen` emitting a table without its column. Four ports
1320
+ // disagreed about it besides: TypeScript and C# warned, Java logged to slf4j and put
1321
+ // nothing in the envelope at all, and Python dropped a registered type's bad body in
1322
+ // silence. See docs/compatibility-policy.md, "Correcting input we wrongly accepted".
1323
+ if (typeof childData !== "object" || childData === null || Array.isArray(childData)) {
1324
+ errors.push(new ParseError(`Child wrapper "${childKey}" at ${childNodePath} must contain an object — ` +
1325
+ `a child is one { "<type>.<subType>": { …node body… } } pair, and this one holds ` +
1326
+ `${describeJsonKind(childData)}. Give it a node body, or remove the entry.`, { code: "ERR_CHILD_NOT_OBJECT", source: errSource() }));
1327
+ _currentPath?.pop(); // pop child wrapper key
1328
+ _currentPath?.pop(); // pop array index
1329
+ _currentYamlPosition = savedYamlPosition; // FR5b — restore parent's pos
1330
+ continue; // skip this child
1331
+ }
1332
+ const childDataObj = childData;
1285
1333
  // A `<type>.base` child may not be AUTHORED — the CHILD door (the root door is above).
1286
1334
  // Gated on `explicit`, deliberately: `base` is also this parser's fallback for an
1287
1335
  // OMITTED subtype whose registry default is unregistered (the branch directly above),
@@ -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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@metaobjectsdev/metadata",
3
- "version": "1.0.5-rc.1",
3
+ "version": "1.0.5-rc.10",
4
4
  "description": "Metamodel loader, types, and constants for the MetaObjects standard.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
package/src/constants.ts CHANGED
@@ -35,6 +35,8 @@
35
35
  * `browser-safe-constants` test asserts that by bundling this entry for the browser.
36
36
  */
37
37
 
38
+ export * from "./shared/base-types.js";
39
+ export * from "./shared/structural.js";
38
40
  export * from "./core/attr/attr-constants.js";
39
41
  export * from "./core/documentation/doc-constants.js";
40
42
  export * from "./core/field/field-constants.js";
@@ -44,6 +44,7 @@ import type { MetaRoot } from "../../shared/meta-root.js";
44
44
  import type { MetaRelationship } from "./meta-relationship.js";
45
45
  import type { MetaReferenceIdentity } from "../identity/meta-identity.js";
46
46
  import { stripPackage } from "../../naming.js";
47
+ import { resolveObjectRef } from "../../naming-refs.js";
47
48
  import { TYPE_OBJECT } from "../../shared/base-types.js";
48
49
  import { PACKAGE_SEPARATOR } from "../../shared/structural.js";
49
50
 
@@ -69,25 +70,34 @@ function refFkField(ref: MetaReferenceIdentity): string | undefined {
69
70
  }
70
71
 
71
72
  /**
72
- * The root entity a reference name denotes, or undefined. Mirrors the Java
73
- * reference's `M2MFields.findObject` exactly: a FULLY-QUALIFIED name (one
74
- * containing "::") resolves EXACTLY on the object's package-folded key, never a
75
- * bare-tail fallback; a bare name matches a short name, first match wins (the
76
- * bare-collision case is the deferred follow-up Java records as issue #174).
73
+ * The root entity a reference name denotes, or undefined — resolved by the ONE
74
+ * matcher the loader uses (`resolveObjectRef`, ADR-0041/0042): a fully-qualified
75
+ * name binds exactly on its resolution key, a bare name binds in the REFERRER's
76
+ * package.
77
77
  *
78
- * This exists so the SUBJECT comparison below can be made on object IDENTITY the
79
- * way Java's already is. A bare-name compare cannot tell `a::NodeBase` from
80
- * `b::NodeBase`, which made a genuine cross-package hetero M:N read as a
81
- * self-join the moment the subject set held two names.
78
+ * This exists so the SUBJECT comparison below can be made on object IDENTITY.
79
+ * A bare-name compare cannot tell `a::NodeBase` from `b::NodeBase`, which made a
80
+ * genuine cross-package hetero M:N read as a self-join the moment the subject
81
+ * set held two names — and the first-match-wins bare arm this used to carry
82
+ * (Java's deferred #174) bound a bare name to whichever same-short-named entity
83
+ * happened to load first, which is load-ORDER dependence, not a naming rule.
82
84
  */
83
- function findEntity(root: MetaRoot, name: string | undefined): MetaObject | undefined {
85
+ function findEntity(
86
+ root: MetaRoot,
87
+ name: string | undefined,
88
+ referrerPkg: string,
89
+ ): MetaObject | undefined {
84
90
  if (name === undefined || name === "") return undefined;
85
- const objects = root.objects();
86
- if (name.includes(PACKAGE_SEPARATOR)) {
87
- return objects.find((o) => o.resolutionKey() === name);
88
- }
89
- const bare = stripPackage(name);
90
- return objects.find((o) => o.name === bare);
91
+ // ADR-0041/0042 through the single resolveObjectRef matcher — an FQN resolves
92
+ // exactly on its resolution key, a BARE name resolves in the REFERRER's
93
+ // package. The bare arm used to be `objects().find(o => o.name === bare)`,
94
+ // which took whichever same-short-named entity loaded first: a bare
95
+ // `@objectRef: "Tag"` on an abstract base in package `base` bound to
96
+ // `acme::Tag` merely because the acme source was read first. Callers pass the
97
+ // referrer that owns the name they are resolving — the DECLARING entity for
98
+ // the relationship's own @objectRef, the JUNCTION for its references' —
99
+ // because those are different packages whenever a base is inherited across one.
100
+ return resolveObjectRef(root, name, referrerPkg).node as MetaObject | undefined;
91
101
  }
92
102
 
93
103
  /**
@@ -124,14 +134,25 @@ export function deriveM2MFields(
124
134
  `relationship "${declaringEntity.name}.${rel.name}" is missing @through (required for M:N derivation)`,
125
135
  );
126
136
  }
127
- // @through may be package-qualified (FQN); findObject is keyed by bare name,
128
- // so fall back to the bare suffix after the last "::". Mirrors the
129
- // resolvedTargetPkField fix (meta-identity.ts); without it a FQN @through
130
- // (which passes the loader's own FQN-aware validation) fails to resolve here.
131
- const junction = root.findObject(throughName)
132
- ?? (throughName.includes("::")
133
- ? root.findObject(throughName.slice(throughName.lastIndexOf("::") + 2))
134
- : undefined);
137
+ // ADR-0041/0042 — resolve @through through the SAME matcher the loader uses
138
+ // (resolveObjectRef, via validation-passes' _findObject): an FQN resolves
139
+ // exactly on its resolution key, a bare name resolves package-locally.
140
+ //
141
+ // This used to be `root.findObject(fqn)` with a fall back to the bare suffix
142
+ // after the last "::". findObject is keyed by BARE name, so the FQN lookup
143
+ // always missed and the fallback took the FIRST entity with that short name —
144
+ // the wrong package's whenever two share one. `xpkg-m2n-collision` is exactly
145
+ // that model (`xpkg::store::AccountLink` and `xpkg::partner::AccountLink`),
146
+ // and it silently derived against the partner junction, whose references point
147
+ // nowhere near the navigating entity. The pairing then failed, so a valid
148
+ // cross-package M:N emitted no traversal route in TS and C# and failed the
149
+ // build in Java, Kotlin and Python.
150
+ //
151
+ // Note findEntity() below was ALREADY FQN-exact for the same reason (see its
152
+ // doc comment). The two halves of one function disagreed about how a
153
+ // package-qualified name resolves; only the junction half was wrong.
154
+ const referrerPkg = declaringEntity.package ?? declaringEntity.fileDefaultPackage ?? "";
155
+ const junction = resolveObjectRef(root, throughName, referrerPkg).node as MetaObject | undefined;
135
156
  if (junction === undefined) {
136
157
  throw new M2MDerivationError(
137
158
  `relationship "${declaringEntity.name}.${rel.name}" @through "${throughName}" does not resolve to an entity`,
@@ -180,16 +201,24 @@ export function deriveM2MFields(
180
201
  const isSubjectName = (name: string | undefined): boolean =>
181
202
  name !== undefined && subjectNames.includes(stripPackage(name));
182
203
 
204
+ // The junction owns its references' @references names, so those resolve in the
205
+ // JUNCTION's package; the relationship's own @objectRef resolves in the
206
+ // DECLARING entity's. Under `extends` across packages these differ, and using
207
+ // one for both is what bound a bare @objectRef to the wrong same-named entity.
208
+ const junctionPkg = junction.package ?? junction.fileDefaultPackage ?? "";
209
+ const refEntity = (r: MetaReferenceIdentity): MetaObject | undefined =>
210
+ findEntity(root, r.targetEntity, junctionPkg);
211
+
183
212
  // Defensive bare fallback when @objectRef does not resolve — loader validation
184
213
  // normally guarantees it does. Same carve-out the Java reference makes.
185
- const targetEntityNode = findEntity(root, targetName);
214
+ const targetEntityNode = findEntity(root, targetName, referrerPkg);
186
215
  const isSelfJoin = targetEntityNode !== undefined
187
216
  ? isSubject(targetEntityNode)
188
217
  : isSubjectName(targetName);
189
218
 
190
219
  if (!isSelfJoin) {
191
220
  // Hetero: match each reference by the ENTITY OBJECT it resolves to.
192
- const sourceRef = refs.find((r) => isSubject(findEntity(root, r.targetEntity)));
221
+ const sourceRef = refs.find((r) => isSubject(refEntity(r)));
193
222
  // Identity here too. The two searches are INDEPENDENT — nothing excludes
194
223
  // sourceRef from this one, unlike the directed self-join branch below — so a
195
224
  // bare compare could match the SOURCE-side reference again whenever the
@@ -199,7 +228,7 @@ export function deriveM2MFields(
199
228
  // broke that invariant. Java matches identity on both sides (findRefToSubject
200
229
  // + findRefToObject) and never had the hole.
201
230
  const targetRef = targetEntityNode !== undefined
202
- ? refs.find((r) => findEntity(root, r.targetEntity) === targetEntityNode)
231
+ ? refs.find((r) => refEntity(r) === targetEntityNode)
203
232
  : refs.find((r) => r.targetEntity !== undefined && stripPackage(r.targetEntity) === stripPackage(targetName));
204
233
  const sourceField = sourceRef ? refFkField(sourceRef) : undefined;
205
234
  const targetField = targetRef ? refFkField(targetRef) : undefined;
package/src/errors.ts CHANGED
@@ -17,6 +17,11 @@ import type { ErrorSource, LoaderError, NodeContext } from "./source.js";
17
17
  // importing this package.
18
18
  export const ERROR_CODES = [
19
19
  "ERR_TOP_LEVEL_NOT_OBJECT",
20
+ // A child wrapper's BODY is not a JSON object. Distinct from ERR_TOP_LEVEL_NOT_OBJECT,
21
+ // which is about the document root — a code named TOP_LEVEL cannot honestly describe a
22
+ // field three levels down, and this one was borrowed for that until 1.0.5. Raised AFTER
23
+ // the wrapper key's type resolves, so a bad key is still diagnosed as a bad key.
24
+ "ERR_CHILD_NOT_OBJECT",
20
25
  "ERR_UNKNOWN_TYPE",
21
26
  "ERR_UNKNOWN_SUBTYPE",
22
27
  // A document AUTHORS a `<type>.base` node. Every registered `base` subtype is an
package/src/index.ts CHANGED
@@ -240,7 +240,7 @@ export type { ParseOptions, ParseResult } from "./parser-core.js";
240
240
  export { parseJson } from "./parser-json.js";
241
241
 
242
242
  // Serializer
243
- export { serializeJson, canonicalSerialize, serializeSharedDocument, inferAttrSubType } from "./serializer-json.js";
243
+ export { serializeJson, canonicalSerialize, canonicalSerializeEffective, serializeSharedDocument, inferAttrSubType } from "./serializer-json.js";
244
244
  export type { SerializeOptions } from "./serializer-json.js";
245
245
 
246
246
  // Super resolution helper (most resolution moved into parser; this is the lookup utility)
@@ -25,7 +25,7 @@ import { ParseError } from "../errors.js";
25
25
  import type { LoaderWarning } from "../source.js";
26
26
  import { codeSource, resolvedSource } from "../source.js";
27
27
  import { parseJson } from "../parser-json.js";
28
- import { validateDataGridSortFields, validateFilterableHasIndex, validateFilterableHasSupportedOps, validateSortableHasSupportedSubtype, validateOriginPaths, validateDerivedFieldProvidability, validateDataGridFilterValues, validateFieldObjectStorage, validateFieldMap, validateTemplatePayloadRefs, validateFieldDefaults, validateRelationships, validateOneSideReferenceResolution, validateIndexLookupFields, validateProjectionFilter, validateRetiredRequirementLinks } from "./validation-passes.js";
28
+ import { validateDataGridSortFields, validateFilterableHasIndex, validateFilterableHasSupportedOps, validateSortableHasSupportedSubtype, validateOriginPaths, validateDerivedFieldProvidability, validateDataGridFilterValues, validateFieldObjectStorage, validateFieldMap, validateTemplatePayloadRefs, validateFieldDefaults, validateRelationships, validateOneSideReferenceResolution, validateM2MJunctionPairing, validateIndexLookupFields, validateProjectionFilter, validateRetiredRequirementLinks } from "./validation-passes.js";
29
29
  import { runRegisteredValidation } from "./validation-registry.js";
30
30
  import { validateSourceRoles } from "../persistence/source/validate-source-roles.js";
31
31
  import { validateSourceEscapes } from "../persistence/source/validate-source-escapes.js";
@@ -658,6 +658,14 @@ export class MetaDataLoader {
658
658
  // naming the candidates (ADR-0029 §5).
659
659
  errors.push(...validateOneSideReferenceResolution(root));
660
660
 
661
+ // Rule (f) — a M:N junction must PAIR: one identity.reference to the
662
+ // navigating entity, one to the @objectRef target. Rule (d) checks only
663
+ // that there are TWO references, never what they point at, so an
664
+ // unpairable junction loaded clean and then failed differently in every
665
+ // port's codegen — a silent missing route in TS/C#, a failed build in
666
+ // Java/Kotlin/Python.
667
+ errors.push(...validateM2MJunctionPairing(root));
668
+
661
669
  // index.lookup @fields resolution — each index.lookup must name ≥1 field,
662
670
  // and every field must exist in the entity's effective (resolved) field set
663
671
  // (ADR-0039: resolving accessor, so inherited fields via extends are visible).