@x12i/memorix-metadata 3.0.3 → 3.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. package/README.md +4 -0
  2. package/dist/abstracts.d.ts +9 -3
  3. package/dist/abstracts.d.ts.map +1 -1
  4. package/dist/abstracts.js +70 -66
  5. package/dist/abstracts.js.map +1 -1
  6. package/dist/fold-bindings.d.ts +19 -0
  7. package/dist/fold-bindings.d.ts.map +1 -0
  8. package/dist/fold-bindings.js +103 -0
  9. package/dist/fold-bindings.js.map +1 -0
  10. package/dist/index.d.ts +3 -1
  11. package/dist/index.d.ts.map +1 -1
  12. package/dist/index.js +3 -1
  13. package/dist/index.js.map +1 -1
  14. package/dist/kind-fields.d.ts.map +1 -1
  15. package/dist/kind-fields.js +0 -1
  16. package/dist/kind-fields.js.map +1 -1
  17. package/dist/kinds.d.ts +1 -1
  18. package/dist/kinds.d.ts.map +1 -1
  19. package/dist/kinds.js +5 -10
  20. package/dist/kinds.js.map +1 -1
  21. package/dist/normalize.d.ts +1 -0
  22. package/dist/normalize.d.ts.map +1 -1
  23. package/dist/normalize.js +5 -1
  24. package/dist/normalize.js.map +1 -1
  25. package/dist/resolve.d.ts.map +1 -1
  26. package/dist/resolve.js +14 -3
  27. package/dist/resolve.js.map +1 -1
  28. package/dist/topology.d.ts +52 -0
  29. package/dist/topology.d.ts.map +1 -0
  30. package/dist/topology.js +348 -0
  31. package/dist/topology.js.map +1 -0
  32. package/dist/types.d.ts +64 -16
  33. package/dist/types.d.ts.map +1 -1
  34. package/dist/validate.d.ts.map +1 -1
  35. package/dist/validate.js +101 -62
  36. package/dist/validate.js.map +1 -1
  37. package/examples/invalid/agent-classification.json +25 -25
  38. package/examples/invalid/broken-binding.json +21 -21
  39. package/examples/invalid/completion-mapping-with-exec-policy.json +25 -25
  40. package/examples/invalid/missing-parent.json +25 -25
  41. package/examples/invalid/operational-kind-root.json +25 -25
  42. package/examples/invalid/pipeline-unknown-service.json +25 -25
  43. package/examples/invalid/relationship-missing-rules.json +18 -18
  44. package/examples/invalid/relationship-with-storage.json +18 -18
  45. package/examples/invalid/service-with-secrets.json +20 -20
  46. package/examples/knowx/normalized/pack.json +1124 -165
  47. package/examples/opx/normalized/pack.json +303 -285
  48. package/examples/opx/raw/abstract-types.json +223 -7
  49. package/examples/opx/raw/object-types.json +26 -95
  50. package/examples/opx/raw/pipelines-and-sources.json +66 -18
  51. package/examples/opx/raw/relationship-definitions.json +17 -47
  52. package/examples/opx/raw/view-definitions.json +3 -17
  53. package/examples/opx/raw/write-and-source-mappings.json +135 -20
  54. package/examples/project-opx/normalized/pack.json +352 -260
  55. package/package.json +1 -1
  56. package/examples/opx/raw/abstract-bindings.json +0 -38
package/README.md CHANGED
@@ -33,6 +33,7 @@ import {
33
33
  resolveEffectiveMetadata,
34
34
  resolveMultiAgentMetadata,
35
35
  resolveAbstractBindingsFromPack,
36
+ buildEffectiveMetadataTopology,
36
37
  normalizeOpxPackBundle,
37
38
  METADATA_KIND_IDS,
38
39
  isValidCustomKindId,
@@ -44,6 +45,7 @@ import {
44
45
  | `validateMetadataPack` / `assertValidMetadataPack` | Structural + cross-ref validation of a pack |
45
46
  | `resolveEffectiveMetadata` / `resolveMultiAgentMetadata` | Merge `agentIds[]` inheritance into effective definitions |
46
47
  | `resolveAbstractBindings*` | Plan abstract → concrete property paths (virtual only) |
48
+ | `buildEffectiveMetadataTopology` | Project concrete OT↔OT / feed / pipeline-derived graph (no new authoring kinds) |
47
49
  | `normalizeOpxPackBundle` | Normalize opx-pack style JSON into a pack |
48
50
  | `fingerprintDefinition` | Stable fingerprints for install/diff |
49
51
 
@@ -75,6 +77,8 @@ Custom-kind example pack: [`examples/custom-kinds/acme-ui-tabs.pack.json`](./exa
75
77
 
76
78
  Abstracts stay **virtual** — no abstract collections and no abstract `recordId`.
77
79
 
80
+ **Relationships** are authored on abstracts; concrete OT↔OT edges come from `buildEffectiveMetadataTopology` (HTTP: `GET /api/metadata/topology`). Sources/streams **feed** object types; services appear on an OT neighborhood only when a pipeline invokes them and a mapping on that pipeline lands on an OT.
81
+
78
82
  ## Docs
79
83
 
80
84
  - Practical: [`documentation/metadata.md`](../documentation/metadata.md) · [`documentation/packages/memorix-metadata.md`](../documentation/packages/memorix-metadata.md)
@@ -1,6 +1,7 @@
1
1
  /**
2
- * Phase 3C — metadata-only abstract union and binding resolution.
2
+ * Metadata-only abstract union resolution.
3
3
  *
4
+ * Membership and property projection live on abstract types (`members`).
4
5
  * Never creates abstract collections, abstract records, or abstract recordIds.
5
6
  * Does not execute mappings, read Mongo, or create relationship data links.
6
7
  */
@@ -36,12 +37,14 @@ export type AbstractPropertyPlan = {
36
37
  /** One entry per concrete member that binds this property. */
37
38
  concretePaths: PropertyConcretePath[];
38
39
  };
40
+ /** Resolved plan for one abstract (formerly driven by separate binding docs). */
39
41
  export type AbstractBindingPlan = {
40
42
  abstractType: string;
41
43
  abstractProvenance: DefinitionProvenance | null;
42
44
  /** Deterministically ordered concrete union members. */
43
45
  members: ConcreteMemberPlan[];
44
46
  properties: AbstractPropertyPlan[];
47
+ /** @deprecated Always empty; membership is on the abstract. */
45
48
  bindingIds: string[];
46
49
  };
47
50
  export type RelationshipEndpointCandidates = {
@@ -76,10 +79,12 @@ export type AbstractResolutionResult = {
76
79
  };
77
80
  };
78
81
  /**
79
- * Resolve deterministic abstract binding plans and relationship endpoint expansions
80
- * from effective metadata (Phase 3B output).
82
+ * Resolve deterministic abstract plans and relationship endpoint expansions
83
+ * from effective metadata. Membership comes from abstractTypes[].members.
81
84
  */
82
85
  export declare function resolveAbstractBindings(effective: EffectiveMetadataResult): AbstractResolutionResult;
86
+ /** Alias: resolve abstracts from effective metadata. */
87
+ export declare const resolveAbstracts: typeof resolveAbstractBindings;
83
88
  /**
84
89
  * Resolve a reverse-write target for one abstract property on one concrete member.
85
90
  * Never fans out to every union member.
@@ -95,4 +100,5 @@ export declare function resolveAbstractReverseWrite(input: {
95
100
  };
96
101
  /** Convenience: resolve abstracts from an already-composed pack (synthetic provenance). */
97
102
  export declare function resolveAbstractBindingsFromPack(pack: MetadataPack): AbstractResolutionResult;
103
+ export declare const resolveAbstractsFromPack: typeof resolveAbstractBindingsFromPack;
98
104
  //# sourceMappingURL=abstracts.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"abstracts.d.ts","sourceRoot":"","sources":["../src/abstracts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"abstracts.d.ts","sourceRoot":"","sources":["../src/abstracts.ts"],"names":[],"mappings":"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"}
package/dist/abstracts.js CHANGED
@@ -1,9 +1,11 @@
1
1
  /**
2
- * Phase 3C — metadata-only abstract union and binding resolution.
2
+ * Metadata-only abstract union resolution.
3
3
  *
4
+ * Membership and property projection live on abstract types (`members`).
4
5
  * Never creates abstract collections, abstract records, or abstract recordIds.
5
6
  * Does not execute mappings, read Mongo, or create relationship data links.
6
7
  */
8
+ import { foldLegacyAbstractBindings } from "./fold-bindings.js";
7
9
  function issue(code, message, extra) {
8
10
  return { code, message, ...extra };
9
11
  }
@@ -12,10 +14,8 @@ function defsOfKind(effective, kind) {
12
14
  .filter((e) => e.kind === kind)
13
15
  .map((e) => ({ def: e.definition, provenance: e.provenance }));
14
16
  }
15
- function memberObjectTypes(binding) {
16
- const fromMembers = (binding.members ?? []).map((m) => m.objectType).filter(Boolean);
17
- const fromList = binding.concreteObjectTypes ?? [];
18
- return [...new Set([...fromMembers, ...fromList])];
17
+ function memberObjectTypesFromAbstract(abs) {
18
+ return [...new Set((abs.members ?? []).map((m) => m.objectType).filter(Boolean))];
19
19
  }
20
20
  function fieldExists(ot, contentType, propertyPath) {
21
21
  if (!ot?.fields || ot.fields.length === 0)
@@ -50,8 +50,8 @@ function isAmbiguousReverse(reverse) {
50
50
  return !hasPath && !hasMap;
51
51
  }
52
52
  /**
53
- * Resolve deterministic abstract binding plans and relationship endpoint expansions
54
- * from effective metadata (Phase 3B output).
53
+ * Resolve deterministic abstract plans and relationship endpoint expansions
54
+ * from effective metadata. Membership comes from abstractTypes[].members.
55
55
  */
56
56
  export function resolveAbstractBindings(effective) {
57
57
  const issues = [];
@@ -64,17 +64,18 @@ export function resolveAbstractBindings(effective) {
64
64
  return {
65
65
  ok: false,
66
66
  issues: [
67
- issue("ABS-EFFECTIVE-REQUIRED", "Effective metadata must resolve successfully before abstract binding resolution"),
67
+ issue("ABS-EFFECTIVE-REQUIRED", "Effective metadata must resolve successfully before abstract resolution"),
68
68
  ],
69
69
  plans: [],
70
70
  relationshipExpansions: [],
71
71
  identityModel,
72
72
  };
73
73
  }
74
- const pack = effective.effectivePack;
74
+ // Fold any leftover legacy bindings on the composed pack (installed DB / old packs).
75
+ foldLegacyAbstractBindings(effective.effectivePack);
75
76
  const effectiveDefs = effective.effective;
76
77
  for (const e of effectiveDefs) {
77
- if (e.kind !== "abstract-types" && e.kind !== "abstract-bindings")
78
+ if (e.kind !== "abstract-types")
78
79
  continue;
79
80
  for (const key of ["collection", "abstractCollection", "abstractRecordId", "abstractId"]) {
80
81
  if (key in e.definition) {
@@ -82,49 +83,49 @@ export function resolveAbstractBindings(effective) {
82
83
  }
83
84
  }
84
85
  }
85
- const abstracts = defsOfKind(effectiveDefs, "abstract-types");
86
- const bindings = defsOfKind(effectiveDefs, "abstract-bindings");
86
+ // Prefer folded pack abstracts (members inlined); fall back to effective defs.
87
+ const packAbstracts = effective.effectivePack.abstractTypes;
88
+ const abstractsFromPack = packAbstracts.map((def) => {
89
+ const fromEff = effectiveDefs.find((e) => e.kind === "abstract-types" && e.id === def.id);
90
+ return {
91
+ def,
92
+ provenance: fromEff?.provenance ?? {
93
+ kind: "abstract-types",
94
+ id: def.id,
95
+ definedByAgentId: effective.selectedAgentIds[0] ?? "",
96
+ inheritancePath: effective.selectedAgentIds,
97
+ selectedAgentId: effective.selectedAgentIds[0] ?? "",
98
+ fingerprint: "",
99
+ },
100
+ };
101
+ });
102
+ const abstracts = abstractsFromPack.length > 0
103
+ ? abstractsFromPack
104
+ : defsOfKind(effectiveDefs, "abstract-types");
87
105
  const objectTypes = defsOfKind(effectiveDefs, "object-types");
88
106
  const mappings = defsOfKind(effectiveDefs, "mappings");
89
107
  const relationships = defsOfKind(effectiveDefs, "relationship-definitions");
90
108
  const otById = new Map(objectTypes.map((o) => [o.def.id, o.def]));
91
109
  const mapById = new Map(mappings.map((m) => [m.def.id, m.def]));
92
- const bindingsByAbstract = new Map();
93
- for (const b of bindings) {
94
- const list = bindingsByAbstract.get(b.def.abstractType) ?? [];
95
- list.push(b);
96
- bindingsByAbstract.set(b.def.abstractType, list);
97
- }
98
110
  const plans = [];
99
111
  for (const { def: abs, provenance: absProv } of abstracts) {
100
- const absBindings = bindingsByAbstract.get(abs.id) ?? [];
101
112
  const memberMap = new Map();
102
- for (const b of absBindings) {
103
- const types = memberObjectTypes(b.def);
104
- for (const objectType of types) {
105
- if (!otById.has(objectType)) {
106
- issues.push(issue("ABS-INVALID-OBJECT-TYPE", `Abstract "${abs.id}" binds unknown object type "${objectType}"`, {
107
- abstractType: abs.id,
108
- objectType,
109
- path: ["abstract-bindings", b.def.id, objectType],
110
- }));
111
- continue;
112
- }
113
- const existing = memberMap.get(objectType);
114
- const memberDef = b.def.members?.find((m) => m.objectType === objectType) ??
115
- { objectType };
116
- if (existing) {
117
- existing.provenance.push(b.provenance);
118
- existing.memberDefs.push(memberDef);
119
- }
120
- else {
121
- memberMap.set(objectType, {
122
- objectType,
123
- provenance: [b.provenance],
124
- memberDefs: [memberDef],
125
- });
126
- }
113
+ for (const objectType of memberObjectTypesFromAbstract(abs)) {
114
+ if (!otById.has(objectType)) {
115
+ issues.push(issue("ABS-INVALID-OBJECT-TYPE", `Abstract "${abs.id}" lists unknown object type "${objectType}"`, {
116
+ abstractType: abs.id,
117
+ objectType,
118
+ path: ["abstract-types", abs.id, "members", objectType],
119
+ }));
120
+ continue;
127
121
  }
122
+ const memberDef = abs.members?.find((m) => m.objectType === objectType) ??
123
+ { objectType };
124
+ memberMap.set(objectType, {
125
+ objectType,
126
+ provenance: [absProv],
127
+ memberDefs: [memberDef],
128
+ });
128
129
  }
129
130
  const members = [...memberMap.values()]
130
131
  .map((m) => ({
@@ -254,7 +255,7 @@ export function resolveAbstractBindings(effective) {
254
255
  abstractProvenance: absProv,
255
256
  members,
256
257
  properties: propertyPlans.sort((a, b) => a.abstractProperty.localeCompare(b.abstractProperty)),
257
- bindingIds: absBindings.map((b) => b.def.id).sort(),
258
+ bindingIds: [],
258
259
  });
259
260
  }
260
261
  plans.sort((a, b) => a.abstractType.localeCompare(b.abstractType));
@@ -268,12 +269,12 @@ export function resolveAbstractBindings(effective) {
268
269
  if (!fromAbs ||
269
270
  !planByAbstract.has(fromAbs) ||
270
271
  planByAbstract.get(fromAbs).members.length === 0) {
271
- issues.push(issue("ABS-UNBOUND-RELATIONSHIP-ENDPOINT", `Relationship "${rel.id}" from.abstractType "${fromAbs}" has no concrete bindings`, { abstractType: fromAbs, path: ["relationship-definitions", rel.id, "from"] }));
272
+ issues.push(issue("ABS-UNBOUND-RELATIONSHIP-ENDPOINT", `Relationship "${rel.id}" from.abstractType "${fromAbs}" has no concrete members`, { abstractType: fromAbs, path: ["relationship-definitions", rel.id, "from"] }));
272
273
  }
273
274
  if (!toAbs ||
274
275
  !planByAbstract.has(toAbs) ||
275
276
  planByAbstract.get(toAbs).members.length === 0) {
276
- issues.push(issue("ABS-UNBOUND-RELATIONSHIP-ENDPOINT", `Relationship "${rel.id}" to.abstractType "${toAbs}" has no concrete bindings`, { abstractType: toAbs, path: ["relationship-definitions", rel.id, "to"] }));
277
+ issues.push(issue("ABS-UNBOUND-RELATIONSHIP-ENDPOINT", `Relationship "${rel.id}" to.abstractType "${toAbs}" has no concrete members`, { abstractType: toAbs, path: ["relationship-definitions", rel.id, "to"] }));
277
278
  }
278
279
  const fromMembers = planByAbstract.get(fromAbs ?? "")?.members.map((m) => m.objectType) ?? [];
279
280
  const toMembers = planByAbstract.get(toAbs ?? "")?.members.map((m) => m.objectType) ?? [];
@@ -302,7 +303,6 @@ export function resolveAbstractBindings(effective) {
302
303
  });
303
304
  }
304
305
  relationshipExpansions.sort((a, b) => a.relationshipId.localeCompare(b.relationshipId));
305
- void pack;
306
306
  return {
307
307
  ok: issues.length === 0,
308
308
  issues,
@@ -311,6 +311,8 @@ export function resolveAbstractBindings(effective) {
311
311
  identityModel,
312
312
  };
313
313
  }
314
+ /** Alias: resolve abstracts from effective metadata. */
315
+ export const resolveAbstracts = resolveAbstractBindings;
314
316
  /**
315
317
  * Resolve a reverse-write target for one abstract property on one concrete member.
316
318
  * Never fans out to every union member.
@@ -373,29 +375,30 @@ export function resolveAbstractReverseWrite(input) {
373
375
  }
374
376
  /** Convenience: resolve abstracts from an already-composed pack (synthetic provenance). */
375
377
  export function resolveAbstractBindingsFromPack(pack) {
378
+ const folded = { ...pack, abstractTypes: pack.abstractTypes.map((a) => ({ ...a })) };
379
+ foldLegacyAbstractBindings(folded);
376
380
  const synthetic = {
377
381
  ok: true,
378
- selectedAgentIds: [pack.agentId],
379
- collapsedAgentIds: [pack.agentId],
382
+ selectedAgentIds: [folded.agentId],
383
+ collapsedAgentIds: [folded.agentId],
380
384
  issues: [],
381
385
  conflicts: [],
382
386
  referenceIssues: [],
383
387
  effective: [],
384
- effectivePack: pack,
388
+ effectivePack: folded,
385
389
  };
386
390
  const kinds = [
387
- { kind: "agents", items: pack.agents },
388
- { kind: "object-types", items: pack.objectTypes },
389
- { kind: "abstract-types", items: pack.abstractTypes },
390
- { kind: "abstract-bindings", items: pack.abstractBindings },
391
- { kind: "relationship-definitions", items: pack.relationshipDefinitions },
392
- { kind: "mappings", items: pack.mappings },
393
- { kind: "views", items: pack.views },
394
- { kind: "writes", items: pack.writes },
395
- { kind: "sources", items: pack.sources },
396
- { kind: "services", items: pack.services ?? [] },
397
- { kind: "pipelines", items: pack.pipelines },
398
- { kind: "schedules", items: pack.schedules },
391
+ { kind: "agents", items: folded.agents },
392
+ { kind: "object-types", items: folded.objectTypes },
393
+ { kind: "abstract-types", items: folded.abstractTypes },
394
+ { kind: "relationship-definitions", items: folded.relationshipDefinitions },
395
+ { kind: "mappings", items: folded.mappings },
396
+ { kind: "views", items: folded.views },
397
+ { kind: "writes", items: folded.writes },
398
+ { kind: "sources", items: folded.sources },
399
+ { kind: "services", items: folded.services ?? [] },
400
+ { kind: "pipelines", items: folded.pipelines },
401
+ { kind: "schedules", items: folded.schedules },
399
402
  ];
400
403
  for (const { kind, items } of kinds) {
401
404
  for (const item of items) {
@@ -406,9 +409,9 @@ export function resolveAbstractBindingsFromPack(pack) {
406
409
  provenance: {
407
410
  kind,
408
411
  id: item.id,
409
- definedByAgentId: pack.agentId,
410
- inheritancePath: [pack.agentId],
411
- selectedAgentId: pack.agentId,
412
+ definedByAgentId: folded.agentId,
413
+ inheritancePath: [folded.agentId],
414
+ selectedAgentId: folded.agentId,
412
415
  fingerprint: "",
413
416
  },
414
417
  });
@@ -416,4 +419,5 @@ export function resolveAbstractBindingsFromPack(pack) {
416
419
  }
417
420
  return resolveAbstractBindings(synthetic);
418
421
  }
422
+ export const resolveAbstractsFromPack = resolveAbstractBindingsFromPack;
419
423
  //# sourceMappingURL=abstracts.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"abstracts.js","sourceRoot":"","sources":["../src/abstracts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"abstracts.js","sourceRoot":"","sources":["../src/abstracts.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Fold legacy abstract-bindings into abstractTypes[].members.
3
+ * Idempotent: packs that already carry members are left alone except clearing bindings.
4
+ */
5
+ import type { AbstractBindingDefinition, AbstractTypeDefinition, MetadataPack, ObjectTypeDefinition } from "./types.js";
6
+ /**
7
+ * Mutates a pack-like object: merges legacy `abstractBindings` (or `bindings`)
8
+ * into matching abstracts, seeds members from OT.abstractTypes when still empty,
9
+ * and clears `abstractBindings`.
10
+ */
11
+ export declare function foldLegacyAbstractBindings<T extends {
12
+ abstractTypes?: AbstractTypeDefinition[];
13
+ abstractBindings?: AbstractBindingDefinition[];
14
+ bindings?: AbstractBindingDefinition[];
15
+ objectTypes?: ObjectTypeDefinition[];
16
+ }>(pack: T): T;
17
+ /** Return a MetadataPack with legacy bindings folded into abstracts. */
18
+ export declare function foldMetadataPack(pack: MetadataPack): MetadataPack;
19
+ //# sourceMappingURL=fold-bindings.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fold-bindings.d.ts","sourceRoot":"","sources":["../src/fold-bindings.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EACV,yBAAyB,EAEzB,sBAAsB,EACtB,YAAY,EACZ,oBAAoB,EACrB,MAAM,YAAY,CAAC;AA0BpB;;;;GAIG;AACH,wBAAgB,0BAA0B,CAAC,CAAC,SAAS;IACnD,aAAa,CAAC,EAAE,sBAAsB,EAAE,CAAC;IACzC,gBAAgB,CAAC,EAAE,yBAAyB,EAAE,CAAC;IAC/C,QAAQ,CAAC,EAAE,yBAAyB,EAAE,CAAC;IACvC,WAAW,CAAC,EAAE,oBAAoB,EAAE,CAAC;CACtC,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,CAgEb;AAED,wEAAwE;AACxE,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,YAAY,GAAG,YAAY,CAQjE"}
@@ -0,0 +1,103 @@
1
+ /**
2
+ * Fold legacy abstract-bindings into abstractTypes[].members.
3
+ * Idempotent: packs that already carry members are left alone except clearing bindings.
4
+ */
5
+ function memberObjectTypes(binding) {
6
+ const fromMembers = (binding.members ?? []).map((m) => m.objectType).filter(Boolean);
7
+ const fromList = binding.concreteObjectTypes ?? [];
8
+ return [...new Set([...fromMembers, ...fromList])];
9
+ }
10
+ function mergeMember(existing, incoming) {
11
+ if (!existing)
12
+ return { ...incoming, properties: [...(incoming.properties ?? [])] };
13
+ const props = new Map((existing.properties ?? []).map((p) => [p.abstractProperty, p]));
14
+ for (const p of incoming.properties ?? []) {
15
+ props.set(p.abstractProperty, p);
16
+ }
17
+ return {
18
+ objectType: existing.objectType,
19
+ contentType: incoming.contentType ?? existing.contentType,
20
+ properties: [...props.values()],
21
+ };
22
+ }
23
+ /**
24
+ * Mutates a pack-like object: merges legacy `abstractBindings` (or `bindings`)
25
+ * into matching abstracts, seeds members from OT.abstractTypes when still empty,
26
+ * and clears `abstractBindings`.
27
+ */
28
+ export function foldLegacyAbstractBindings(pack) {
29
+ const abstracts = [...(pack.abstractTypes ?? [])];
30
+ const byId = new Map(abstracts.map((a, i) => [a.id, i]));
31
+ const legacy = [
32
+ ...(pack.abstractBindings ?? []),
33
+ ...(pack.bindings ?? []),
34
+ ];
35
+ for (const b of legacy) {
36
+ const absId = b.abstractType?.trim();
37
+ if (!absId)
38
+ continue;
39
+ let idx = byId.get(absId);
40
+ if (idx === undefined) {
41
+ // Binding references unknown abstract — leave for validation to reject via members
42
+ continue;
43
+ }
44
+ const abs = { ...abstracts[idx] };
45
+ const memberMap = new Map();
46
+ for (const m of abs.members ?? []) {
47
+ memberMap.set(m.objectType, { ...m, properties: [...(m.properties ?? [])] });
48
+ }
49
+ for (const objectType of memberObjectTypes(b)) {
50
+ const fromBinding = b.members?.find((m) => m.objectType === objectType) ??
51
+ { objectType };
52
+ memberMap.set(objectType, mergeMember(memberMap.get(objectType), fromBinding));
53
+ }
54
+ abs.members = [...memberMap.values()].sort((a, c) => a.objectType.localeCompare(c.objectType));
55
+ if (b.union !== undefined)
56
+ abs.union = b.union;
57
+ else if ((abs.members?.length ?? 0) > 1)
58
+ abs.union = true;
59
+ if (b.notes && !abs.notes)
60
+ abs.notes = b.notes;
61
+ abstracts[idx] = abs;
62
+ }
63
+ // Seed membership from OT.abstractTypes when abstract still has no members
64
+ for (const ot of pack.objectTypes ?? []) {
65
+ for (const absId of ot.abstractTypes ?? []) {
66
+ const id = absId?.trim();
67
+ if (!id)
68
+ continue;
69
+ const idx = byId.get(id);
70
+ if (idx === undefined)
71
+ continue;
72
+ const abs = abstracts[idx];
73
+ if (abs.members && abs.members.length > 0)
74
+ continue;
75
+ const members = [...(abs.members ?? [])];
76
+ if (!members.some((m) => m.objectType === ot.id)) {
77
+ members.push({ objectType: ot.id });
78
+ }
79
+ abstracts[idx] = {
80
+ ...abs,
81
+ members: members.sort((a, c) => a.objectType.localeCompare(c.objectType)),
82
+ union: members.length > 1 ? true : abs.union,
83
+ };
84
+ }
85
+ }
86
+ pack.abstractTypes = abstracts;
87
+ pack.abstractBindings = [];
88
+ if ("bindings" in pack) {
89
+ delete pack.bindings;
90
+ }
91
+ return pack;
92
+ }
93
+ /** Return a MetadataPack with legacy bindings folded into abstracts. */
94
+ export function foldMetadataPack(pack) {
95
+ const next = {
96
+ ...pack,
97
+ abstractTypes: pack.abstractTypes.map((a) => ({ ...a })),
98
+ abstractBindings: [...(pack.abstractBindings ?? [])],
99
+ };
100
+ foldLegacyAbstractBindings(next);
101
+ return next;
102
+ }
103
+ //# sourceMappingURL=fold-bindings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fold-bindings.js","sourceRoot":"","sources":["../src/fold-bindings.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAUH,SAAS,iBAAiB,CAAC,OAAkC;IAC3D,MAAM,WAAW,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACrF,MAAM,QAAQ,GAAG,OAAO,CAAC,mBAAmB,IAAI,EAAE,CAAC;IACnD,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,WAAW,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;AACrD,CAAC;AAED,SAAS,WAAW,CAClB,QAA2C,EAC3C,QAA+B;IAE/B,IAAI,CAAC,QAAQ;QAAE,OAAO,EAAE,GAAG,QAAQ,EAAE,UAAU,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;IACpF,MAAM,KAAK,GAAG,IAAI,GAAG,CACnB,CAAC,QAAQ,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,gBAAgB,EAAE,CAAC,CAAU,CAAC,CACzE,CAAC;IACF,KAAK,MAAM,CAAC,IAAI,QAAQ,CAAC,UAAU,IAAI,EAAE,EAAE,CAAC;QAC1C,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC;IACnC,CAAC;IACD,OAAO;QACL,UAAU,EAAE,QAAQ,CAAC,UAAU;QAC/B,WAAW,EAAE,QAAQ,CAAC,WAAW,IAAI,QAAQ,CAAC,WAAW;QACzD,UAAU,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;KAChC,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,0BAA0B,CAKvC,IAAO;IACR,MAAM,SAAS,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC,CAAC;IAClD,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAU,CAAC,CAAC,CAAC;IAElE,MAAM,MAAM,GAAgC;QAC1C,GAAG,CAAC,IAAI,CAAC,gBAAgB,IAAI,EAAE,CAAC;QAChC,GAAG,CAAE,IAAmD,CAAC,QAAQ,IAAI,EAAE,CAAC;KACzE,CAAC;IAEF,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACvB,MAAM,KAAK,GAAG,CAAC,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC;QACrC,IAAI,CAAC,KAAK;YAAE,SAAS;QACrB,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC1B,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YACtB,mFAAmF;YACnF,SAAS;QACX,CAAC;QACD,MAAM,GAAG,GAAG,EAAE,GAAG,SAAS,CAAC,GAAG,CAAE,EAAE,CAAC;QACnC,MAAM,SAAS,GAAG,IAAI,GAAG,EAAiC,CAAC;QAC3D,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC;YAClC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,EAAE,EAAE,GAAG,CAAC,EAAE,UAAU,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;QAC/E,CAAC;QACD,KAAK,MAAM,UAAU,IAAI,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9C,MAAM,WAAW,GACf,CAAC,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,UAAU,CAAC;gBAClD,EAAE,UAAU,EAAmC,CAAC;YACnD,SAAS,CAAC,GAAG,CAAC,UAAU,EAAE,WAAW,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC;QACjF,CAAC;QACD,GAAG,CAAC,OAAO,GAAG,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAClD,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,UAAU,CAAC,CACzC,CAAC;QACF,IAAI,CAAC,CAAC,KAAK,KAAK,SAAS;YAAE,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;aAC1C,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC;YAAE,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC;QAC1D,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,GAAG,CAAC,KAAK;YAAE,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;QAC/C,SAAS,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;IACvB,CAAC;IAED,2EAA2E;IAC3E,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,WAAW,IAAI,EAAE,EAAE,CAAC;QACxC,KAAK,MAAM,KAAK,IAAI,EAAE,CAAC,aAAa,IAAI,EAAE,EAAE,CAAC;YAC3C,MAAM,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,CAAC;YACzB,IAAI,CAAC,EAAE;gBAAE,SAAS;YAClB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACzB,IAAI,GAAG,KAAK,SAAS;gBAAE,SAAS;YAChC,MAAM,GAAG,GAAG,SAAS,CAAC,GAAG,CAAE,CAAC;YAC5B,IAAI,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;gBAAE,SAAS;YACpD,MAAM,OAAO,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC;YACzC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;gBACjD,OAAO,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;YACtC,CAAC;YACD,SAAS,CAAC,GAAG,CAAC,GAAG;gBACf,GAAG,GAAG;gBACN,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;gBACzE,KAAK,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK;aAC7C,CAAC;QACJ,CAAC;IACH,CAAC;IAEA,IAAoD,CAAC,aAAa,GAAG,SAAS,CAAC;IAC/E,IAA2D,CAAC,gBAAgB,GAAG,EAAE,CAAC;IACnF,IAAI,UAAU,IAAI,IAAI,EAAE,CAAC;QACvB,OAAQ,IAA+B,CAAC,QAAQ,CAAC;IACnD,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,wEAAwE;AACxE,MAAM,UAAU,gBAAgB,CAAC,IAAkB;IACjD,MAAM,IAAI,GAAiB;QACzB,GAAG,IAAI;QACP,aAAa,EAAE,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;QACxD,gBAAgB,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,IAAI,EAAE,CAAC,CAAC;KACrD,CAAC;IACF,0BAA0B,CAAC,IAAI,CAAC,CAAC;IACjC,OAAO,IAAI,CAAC;AACd,CAAC"}
package/dist/index.d.ts CHANGED
@@ -4,8 +4,10 @@ export type * from "./types.js";
4
4
  export { parentIdsOf } from "./types.js";
5
5
  export { derivedStreamId, resolveSourceStreams, resolveSourceWorkflow, routeToStream, streamToRoute, findSourceStream, } from "./streams.js";
6
6
  export { validateMetadataPack, assertValidMetadataPack, } from "./validate.js";
7
+ export { resolveAbstractBindings, resolveAbstractBindingsFromPack, resolveAbstracts, resolveAbstractsFromPack, resolveAbstractReverseWrite, type AbstractResolveIssue, type ConcreteMemberPlan, type PropertyConcretePath, type AbstractPropertyPlan, type AbstractBindingPlan, type RelationshipEndpointExpansion, type AbstractResolutionResult, } from "./abstracts.js";
8
+ export { foldLegacyAbstractBindings, foldMetadataPack, } from "./fold-bindings.js";
7
9
  export { normalizeOpxPackBundle } from "./normalize.js";
8
10
  export { fingerprintDefinition, schemaNormalizeForFingerprint, } from "./fingerprint.js";
9
11
  export { MULTI_AGENT_COMBINATION_RULE, resolveEffectiveMetadata, resolveMultiAgentMetadata, getRawAgentView, collapseAncestorSelections, resolveParentChain, resolveParentDag, type DefinitionProvenance, type ConflictReport, type EffectiveDefinition, type EffectiveMetadataResult, type ResolveIssue, type RawAgentView, type ResolvedKindId, } from "./multi-agent-rule.js";
10
- export { resolveAbstractBindings, resolveAbstractBindingsFromPack, resolveAbstractReverseWrite, type AbstractResolveIssue, type ConcreteMemberPlan, type PropertyConcretePath, type AbstractPropertyPlan, type AbstractBindingPlan, type RelationshipEndpointExpansion, type AbstractResolutionResult, } from "./abstracts.js";
12
+ export { buildEffectiveMetadataTopology, packFromEffectiveDefinitions, type TopologyNodeKind, type TopologyEdgeKind, type TopologyEdgeVia, type TopologyNode, type TopologyEdge, type EffectiveMetadataTopology, } from "./topology.js";
11
13
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,sBAAsB,EACtB,8BAA8B,EAC9B,gBAAgB,EAChB,4BAA4B,EAC5B,eAAe,EACf,KAAK,cAAc,EACnB,KAAK,gBAAgB,GACtB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,mBAAmB,EACnB,mBAAmB,EACnB,yBAAyB,GAC1B,MAAM,mBAAmB,CAAC;AAE3B,mBAAmB,YAAY,CAAC;AAChC,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC,OAAO,EACL,eAAe,EACf,oBAAoB,EACpB,qBAAqB,EACrB,aAAa,EACb,aAAa,EACb,gBAAgB,GACjB,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,oBAAoB,EACpB,uBAAuB,GACxB,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAExD,OAAO,EACL,qBAAqB,EACrB,6BAA6B,GAC9B,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,4BAA4B,EAC5B,wBAAwB,EACxB,yBAAyB,EACzB,eAAe,EACf,0BAA0B,EAC1B,kBAAkB,EAClB,gBAAgB,EAChB,KAAK,oBAAoB,EACzB,KAAK,cAAc,EACnB,KAAK,mBAAmB,EACxB,KAAK,uBAAuB,EAC5B,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,cAAc,GACpB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,uBAAuB,EACvB,+BAA+B,EAC/B,2BAA2B,EAC3B,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACxB,KAAK,6BAA6B,EAClC,KAAK,wBAAwB,GAC9B,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,sBAAsB,EACtB,8BAA8B,EAC9B,gBAAgB,EAChB,4BAA4B,EAC5B,eAAe,EACf,KAAK,cAAc,EACnB,KAAK,gBAAgB,GACtB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,mBAAmB,EACnB,mBAAmB,EACnB,yBAAyB,GAC1B,MAAM,mBAAmB,CAAC;AAE3B,mBAAmB,YAAY,CAAC;AAChC,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC,OAAO,EACL,eAAe,EACf,oBAAoB,EACpB,qBAAqB,EACrB,aAAa,EACb,aAAa,EACb,gBAAgB,GACjB,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,oBAAoB,EACpB,uBAAuB,GACxB,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,uBAAuB,EACvB,+BAA+B,EAC/B,gBAAgB,EAChB,wBAAwB,EACxB,2BAA2B,EAC3B,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACxB,KAAK,6BAA6B,EAClC,KAAK,wBAAwB,GAC9B,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,0BAA0B,EAC1B,gBAAgB,GACjB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAExD,OAAO,EACL,qBAAqB,EACrB,6BAA6B,GAC9B,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,4BAA4B,EAC5B,wBAAwB,EACxB,yBAAyB,EACzB,eAAe,EACf,0BAA0B,EAC1B,kBAAkB,EAClB,gBAAgB,EAChB,KAAK,oBAAoB,EACzB,KAAK,cAAc,EACnB,KAAK,mBAAmB,EACxB,KAAK,uBAAuB,EAC5B,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,cAAc,GACpB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,8BAA8B,EAC9B,4BAA4B,EAC5B,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,yBAAyB,GAC/B,MAAM,eAAe,CAAC"}
package/dist/index.js CHANGED
@@ -3,8 +3,10 @@ export { EXTENSIONS_CATALOG_ID, CUSTOM_KIND_ID_PATTERN, isCustomKindIdShape, isV
3
3
  export { parentIdsOf } from "./types.js";
4
4
  export { derivedStreamId, resolveSourceStreams, resolveSourceWorkflow, routeToStream, streamToRoute, findSourceStream, } from "./streams.js";
5
5
  export { validateMetadataPack, assertValidMetadataPack, } from "./validate.js";
6
+ export { resolveAbstractBindings, resolveAbstractBindingsFromPack, resolveAbstracts, resolveAbstractsFromPack, resolveAbstractReverseWrite, } from "./abstracts.js";
7
+ export { foldLegacyAbstractBindings, foldMetadataPack, } from "./fold-bindings.js";
6
8
  export { normalizeOpxPackBundle } from "./normalize.js";
7
9
  export { fingerprintDefinition, schemaNormalizeForFingerprint, } from "./fingerprint.js";
8
10
  export { MULTI_AGENT_COMBINATION_RULE, resolveEffectiveMetadata, resolveMultiAgentMetadata, getRawAgentView, collapseAncestorSelections, resolveParentChain, resolveParentDag, } from "./multi-agent-rule.js";
9
- export { resolveAbstractBindings, resolveAbstractBindingsFromPack, resolveAbstractReverseWrite, } from "./abstracts.js";
11
+ export { buildEffectiveMetadataTopology, packFromEffectiveDefinitions, } from "./topology.js";
10
12
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,sBAAsB,EACtB,8BAA8B,EAC9B,gBAAgB,EAChB,4BAA4B,EAC5B,eAAe,GAGhB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,mBAAmB,EACnB,mBAAmB,EACnB,yBAAyB,GAC1B,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC,OAAO,EACL,eAAe,EACf,oBAAoB,EACpB,qBAAqB,EACrB,aAAa,EACb,aAAa,EACb,gBAAgB,GACjB,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,oBAAoB,EACpB,uBAAuB,GACxB,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAExD,OAAO,EACL,qBAAqB,EACrB,6BAA6B,GAC9B,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,4BAA4B,EAC5B,wBAAwB,EACxB,yBAAyB,EACzB,eAAe,EACf,0BAA0B,EAC1B,kBAAkB,EAClB,gBAAgB,GAQjB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,uBAAuB,EACvB,+BAA+B,EAC/B,2BAA2B,GAQ5B,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,sBAAsB,EACtB,8BAA8B,EAC9B,gBAAgB,EAChB,4BAA4B,EAC5B,eAAe,GAGhB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,mBAAmB,EACnB,mBAAmB,EACnB,yBAAyB,GAC1B,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC,OAAO,EACL,eAAe,EACf,oBAAoB,EACpB,qBAAqB,EACrB,aAAa,EACb,aAAa,EACb,gBAAgB,GACjB,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,oBAAoB,EACpB,uBAAuB,GACxB,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,uBAAuB,EACvB,+BAA+B,EAC/B,gBAAgB,EAChB,wBAAwB,EACxB,2BAA2B,GAQ5B,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,0BAA0B,EAC1B,gBAAgB,GACjB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAExD,OAAO,EACL,qBAAqB,EACrB,6BAA6B,GAC9B,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,4BAA4B,EAC5B,wBAAwB,EACxB,yBAAyB,EACzB,eAAe,EACf,0BAA0B,EAC1B,kBAAkB,EAClB,gBAAgB,GAQjB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,8BAA8B,EAC9B,4BAA4B,GAO7B,MAAM,eAAe,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"kind-fields.d.ts","sourceRoot":"","sources":["../src/kind-fields.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,6FAA6F;AAC7F,eAAO,MAAM,kBAAkB,EAAE,MAAM,CACrC,OAAO,CAAC,cAAc,EAAE,KAAK,CAAC,EAC9B,MAAM,YAAY,CAenB,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAsC,cAAc,EAAE,CAAC;AAEzF;;;GAGG;AACH,eAAO,MAAM,eAAe,aAI1B,CAAC;AAEH,mFAAmF;AACnF,eAAO,MAAM,yBAAyB,aAWpC,CAAC"}
1
+ {"version":3,"file":"kind-fields.d.ts","sourceRoot":"","sources":["../src/kind-fields.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,6FAA6F;AAC7F,eAAO,MAAM,kBAAkB,EAAE,MAAM,CACrC,OAAO,CAAC,cAAc,EAAE,KAAK,CAAC,EAC9B,MAAM,YAAY,CAcnB,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAsC,cAAc,EAAE,CAAC;AAEzF;;;GAGG;AACH,eAAO,MAAM,eAAe,aAI1B,CAAC;AAEH,mFAAmF;AACnF,eAAO,MAAM,yBAAyB,aAWpC,CAAC"}
@@ -3,7 +3,6 @@ export const KIND_TO_PACK_FIELD = {
3
3
  agents: "agents",
4
4
  "object-types": "objectTypes",
5
5
  "abstract-types": "abstractTypes",
6
- "abstract-bindings": "abstractBindings",
7
6
  "relationship-definitions": "relationshipDefinitions",
8
7
  mappings: "mappings",
9
8
  views: "views",
@@ -1 +1 @@
1
- {"version":3,"file":"kind-fields.js","sourceRoot":"","sources":["../src/kind-fields.ts"],"names":[],"mappings":"AAGA,6FAA6F;AAC7F,MAAM,CAAC,MAAM,kBAAkB,GAG3B;IACF,MAAM,EAAE,QAAQ;IAChB,cAAc,EAAE,aAAa;IAC7B,gBAAgB,EAAE,eAAe;IACjC,mBAAmB,EAAE,kBAAkB;IACvC,0BAA0B,EAAE,yBAAyB;IACrD,QAAQ,EAAE,UAAU;IACpB,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,SAAS;IAClB,QAAQ,EAAE,UAAU;IACpB,SAAS,EAAE,WAAW;IACtB,SAAS,EAAE,WAAW;IACtB,mBAAmB,EAAE,kBAAkB;CACxC,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAG,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAqB,CAAC;AAEzF;;;GAGG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC;IACrC,cAAc;IACd,qBAAqB;IACrB,eAAe;CAChB,CAAC,CAAC;AAEH,mFAAmF;AACnF,MAAM,CAAC,MAAM,yBAAyB,GAAG,IAAI,GAAG,CAAC;IAC/C,YAAY;IACZ,iBAAiB;IACjB,iBAAiB;IACjB,kBAAkB;IAClB,YAAY;IACZ,aAAa;IACb,aAAa;IACb,SAAS;IACT,eAAe;IACf,SAAS;CACV,CAAC,CAAC"}
1
+ {"version":3,"file":"kind-fields.js","sourceRoot":"","sources":["../src/kind-fields.ts"],"names":[],"mappings":"AAGA,6FAA6F;AAC7F,MAAM,CAAC,MAAM,kBAAkB,GAG3B;IACF,MAAM,EAAE,QAAQ;IAChB,cAAc,EAAE,aAAa;IAC7B,gBAAgB,EAAE,eAAe;IACjC,0BAA0B,EAAE,yBAAyB;IACrD,QAAQ,EAAE,UAAU;IACpB,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,SAAS;IAClB,QAAQ,EAAE,UAAU;IACpB,SAAS,EAAE,WAAW;IACtB,SAAS,EAAE,WAAW;IACtB,mBAAmB,EAAE,kBAAkB;CACxC,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAG,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAqB,CAAC;AAEzF;;;GAGG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC;IACrC,cAAc;IACd,qBAAqB;IACrB,eAAe;CAChB,CAAC,CAAC;AAEH,mFAAmF;AACnF,MAAM,CAAC,MAAM,yBAAyB,GAAG,IAAI,GAAG,CAAC;IAC/C,YAAY;IACZ,iBAAiB;IACjB,iBAAiB;IACjB,kBAAkB;IAClB,YAAY;IACZ,aAAa;IACb,aAAa;IACb,SAAS;IACT,eAAe;IACf,SAAS;CACV,CAAC,CAAC"}
package/dist/kinds.d.ts CHANGED
@@ -2,7 +2,7 @@
2
2
  * Single registry of supported declarative metadata kinds (Phase 3A).
3
3
  * Operational runs/leases/lineage/jobs are NOT metadata kinds.
4
4
  */
5
- export declare const METADATA_KIND_IDS: readonly ["agents", "object-types", "abstract-types", "abstract-bindings", "relationship-definitions", "mappings", "views", "writes", "sources", "services", "pipelines", "schedules", "kind-declarations"];
5
+ export declare const METADATA_KIND_IDS: readonly ["agents", "object-types", "abstract-types", "relationship-definitions", "mappings", "views", "writes", "sources", "services", "pipelines", "schedules", "kind-declarations"];
6
6
  export type MetadataKindId = (typeof METADATA_KIND_IDS)[number];
7
7
  export type MetadataKindSpec = {
8
8
  id: MetadataKindId;