@x12i/memorix-metadata 3.0.3 → 3.2.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 +2 -2
  18. package/dist/kinds.d.ts.map +1 -1
  19. package/dist/kinds.js +9 -11
  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 +376 -0
  31. package/dist/topology.js.map +1 -0
  32. package/dist/types.d.ts +146 -16
  33. package/dist/types.d.ts.map +1 -1
  34. package/dist/validate.d.ts.map +1 -1
  35. package/dist/validate.js +179 -64
  36. package/dist/validate.js.map +1 -1
  37. package/examples/invalid/agent-classification.json +31 -31
  38. package/examples/invalid/broken-binding.json +27 -27
  39. package/examples/invalid/completion-mapping-with-exec-policy.json +31 -31
  40. package/examples/invalid/missing-parent.json +31 -31
  41. package/examples/invalid/operational-kind-root.json +31 -31
  42. package/examples/invalid/pipeline-unknown-service.json +31 -31
  43. package/examples/invalid/relationship-missing-rules.json +24 -24
  44. package/examples/invalid/relationship-with-storage.json +24 -24
  45. package/examples/invalid/service-with-secrets.json +27 -27
  46. package/examples/knowx/normalized/pack.json +1133 -173
  47. package/examples/opx/normalized/pack.json +309 -291
  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 +6 -20
  53. package/examples/opx/raw/write-and-source-mappings.json +135 -20
  54. package/examples/project-opx/normalized/pack.json +355 -263
  55. package/package.json +1 -1
  56. package/examples/opx/raw/abstract-bindings.json +0 -38
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../src/validate.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAQV,YAAY,EAOZ,2BAA2B,EAE3B,gBAAgB,EAGjB,MAAM,YAAY,CAAC;AA2+BpB;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,OAAO,EACd,IAAI,CAAC,EAAE,2BAA2B,GACjC,gBAAgB,CAwFlB;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,KAAK,IAAI,YAAY,CAMrF"}
1
+ {"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../src/validate.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAQV,YAAY,EAQZ,2BAA2B,EAE3B,gBAAgB,EAGjB,MAAM,YAAY,CAAC;AA+rCpB;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,OAAO,EACd,IAAI,CAAC,EAAE,2BAA2B,GACjC,gBAAgB,CA4FlB;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,KAAK,IAAI,YAAY,CAMrF"}
package/dist/validate.js CHANGED
@@ -1,4 +1,5 @@
1
1
  import { isValidCustomKindId, validateAgainstItemSchema, } from "./custom-kinds.js";
2
+ import { foldLegacyAbstractBindings } from "./fold-bindings.js";
2
3
  import { isForbiddenOperationalKindId, METADATA_KIND_IDS, } from "./kinds.js";
3
4
  import { validateMappingMap } from "@x12i/memorix-mapping";
4
5
  import { parentIdsOf } from "./types.js";
@@ -12,6 +13,15 @@ function requireNonEmptyString(value, path, issues) {
12
13
  }
13
14
  return true;
14
15
  }
16
+ /** Product brands must not lead service/relationship display names (pack-prefixed ids remain OK). */
17
+ const PRODUCT_BRAND_NAME_RE = /^(knowx|opx|memorix)\b/i;
18
+ function rejectProductBrandedDisplayName(name, path, issues) {
19
+ if (typeof name !== "string" || !name.trim())
20
+ return;
21
+ if (PRODUCT_BRAND_NAME_RE.test(name.trim())) {
22
+ issues.push(issue(path, "META-DISPLAY-BRAND", `${path} display name must be domain language — not product-branded (got "${name.trim()}")`));
23
+ }
24
+ }
15
25
  function requireUniqueIds(items, path, issues) {
16
26
  const seen = new Set();
17
27
  for (let i = 0; i < items.length; i++) {
@@ -141,6 +151,39 @@ function validateAbstractType(raw, path, issues) {
141
151
  }
142
152
  }
143
153
  }
154
+ if (a.members !== undefined) {
155
+ if (!Array.isArray(a.members)) {
156
+ issues.push(issue(`${path}.members`, "META-TYPE", `${path}.members must be an array`));
157
+ }
158
+ else {
159
+ const seenOt = new Set();
160
+ for (let i = 0; i < a.members.length; i++) {
161
+ const m = a.members[i];
162
+ const mPath = `${path}.members[${i}]`;
163
+ if (!m || typeof m !== "object") {
164
+ issues.push(issue(mPath, "META-TYPE", `${mPath} must be an object`));
165
+ continue;
166
+ }
167
+ requireNonEmptyString(m.objectType, `${mPath}.objectType`, issues);
168
+ if (m.objectType) {
169
+ if (seenOt.has(m.objectType)) {
170
+ issues.push(issue(mPath, "META-DUP", `${path}.members duplicate objectType "${m.objectType}"`));
171
+ }
172
+ seenOt.add(m.objectType);
173
+ }
174
+ if (m.properties !== undefined) {
175
+ if (!Array.isArray(m.properties)) {
176
+ issues.push(issue(`${mPath}.properties`, "META-TYPE", `${mPath}.properties must be an array`));
177
+ }
178
+ else {
179
+ for (let j = 0; j < m.properties.length; j++) {
180
+ validatePropertyBinding(m.properties[j], `${mPath}.properties[${j}]`, issues);
181
+ }
182
+ }
183
+ }
184
+ }
185
+ }
186
+ }
144
187
  }
145
188
  function validatePropertyBinding(raw, path, issues) {
146
189
  if (!raw || typeof raw !== "object") {
@@ -168,52 +211,6 @@ function validatePropertyBinding(raw, path, issues) {
168
211
  }
169
212
  }
170
213
  }
171
- function validateBinding(raw, path, issues) {
172
- if (!raw || typeof raw !== "object") {
173
- issues.push(issue(path, "META-TYPE", `${path} must be an object`));
174
- return;
175
- }
176
- const b = raw;
177
- requireNonEmptyString(b.id, `${path}.id`, issues);
178
- requireNonEmptyString(b.abstractType, `${path}.abstractType`, issues);
179
- rejectForbiddenKeys(b, path, ABSTRACT_MATERIALIZATION_KEYS, "META-ABS-RECORD", issues, "abstracts exist only in metadata; no abstract collection/recordId");
180
- const hasConcrete = Array.isArray(b.concreteObjectTypes) && b.concreteObjectTypes.length > 0;
181
- const hasMembers = Array.isArray(b.members) && b.members.length > 0;
182
- if (!hasConcrete && !hasMembers) {
183
- issues.push(issue(path, "META-REQUIRED", `${path} must declare concreteObjectTypes and/or members`));
184
- }
185
- if (hasConcrete) {
186
- for (let i = 0; i < b.concreteObjectTypes.length; i++) {
187
- requireNonEmptyString(b.concreteObjectTypes[i], `${path}.concreteObjectTypes[${i}]`, issues);
188
- }
189
- }
190
- if (b.members !== undefined) {
191
- if (!Array.isArray(b.members)) {
192
- issues.push(issue(`${path}.members`, "META-TYPE", `${path}.members must be an array`));
193
- }
194
- else {
195
- for (let i = 0; i < b.members.length; i++) {
196
- const m = b.members[i];
197
- const mPath = `${path}.members[${i}]`;
198
- if (!m || typeof m !== "object") {
199
- issues.push(issue(mPath, "META-TYPE", `${mPath} must be an object`));
200
- continue;
201
- }
202
- requireNonEmptyString(m.objectType, `${mPath}.objectType`, issues);
203
- if (m.properties !== undefined) {
204
- if (!Array.isArray(m.properties)) {
205
- issues.push(issue(`${mPath}.properties`, "META-TYPE", `${mPath}.properties must be an array`));
206
- }
207
- else {
208
- for (let j = 0; j < m.properties.length; j++) {
209
- validatePropertyBinding(m.properties[j], `${mPath}.properties[${j}]`, issues);
210
- }
211
- }
212
- }
213
- }
214
- }
215
- }
216
- }
217
214
  function endpointPath(endpoint) {
218
215
  if (typeof endpoint.path === "string" && endpoint.path.trim())
219
216
  return endpoint.path;
@@ -229,6 +226,7 @@ function validateRelationship(raw, path, issues) {
229
226
  const r = raw;
230
227
  requireNonEmptyString(r.id, `${path}.id`, issues);
231
228
  requireNonEmptyString(r.name, `${path}.name`, issues);
229
+ rejectProductBrandedDisplayName(r.name, `${path}.name`, issues);
232
230
  requireNonEmptyString(r.meaning, `${path}.meaning`, issues);
233
231
  if (r.directionality !== "directed" && r.directionality !== "undirected") {
234
232
  issues.push(issue(`${path}.directionality`, "META-ENUM", `${path}.directionality must be directed|undirected`));
@@ -296,8 +294,12 @@ function validateView(raw, path, issues) {
296
294
  const v = raw;
297
295
  requireNonEmptyString(v.id, `${path}.id`, issues);
298
296
  requireNonEmptyString(v.kind, `${path}.kind`, issues);
299
- if (!v.objectType && !v.abstractType) {
300
- issues.push(issue(path, "META-VIEW-TARGET", `${path} requires objectType and/or abstractType`));
297
+ // Views speak abstract language only — never connector/vendor object types.
298
+ if (!v.abstractType || !String(v.abstractType).trim()) {
299
+ issues.push(issue(path, "META-VIEW-ABSTRACT", `${path} requires abstractType (views are abstract-only; apps stay connector-agnostic)`));
300
+ }
301
+ if (v.objectType && String(v.objectType).trim()) {
302
+ issues.push(issue(`${path}.objectType`, "META-VIEW-CONCRETE", `${path}.objectType is not allowed — bind views to abstractType only (generalized app shapes)`));
301
303
  }
302
304
  }
303
305
  function validateWrite(raw, path, issues) {
@@ -409,6 +411,28 @@ function validateSource(raw, path, issues) {
409
411
  }
410
412
  }
411
413
  }
414
+ const CONCRETE_RECORD_SCHEMA_RE = /^memorix-record\//;
415
+ function validateServicePort(port, path, role, issues) {
416
+ if (!port || typeof port !== "object") {
417
+ issues.push(issue(path, "META-TYPE", `${path} must be an object`));
418
+ return;
419
+ }
420
+ requireNonEmptyString(port.id, `${path}.id`, issues);
421
+ const record = port;
422
+ if (typeof record.objectType === "string" && record.objectType.trim()) {
423
+ issues.push(issue(`${path}.objectType`, "META-SVC-CONCRETE", `${path} must not declare objectType — services speak abstracts (or control ports)`));
424
+ }
425
+ if (role === "agent" &&
426
+ typeof port.schemaRef === "string" &&
427
+ CONCRETE_RECORD_SCHEMA_RE.test(port.schemaRef.trim())) {
428
+ issues.push(issue(`${path}.schemaRef`, "META-SVC-CONCRETE", `${path}.schemaRef must not be a concrete memorix-record/* schema on agent services — use abstractType`));
429
+ }
430
+ if (role === "agent" && !port.control) {
431
+ if (!port.abstractType || !String(port.abstractType).trim()) {
432
+ issues.push(issue(`${path}.abstractType`, "META-SVC-ABSTRACT", `${path}.abstractType is required on subject-data ports for agent services (set control: true for non-subject ports)`));
433
+ }
434
+ }
435
+ }
412
436
  function validateService(raw, path, issues) {
413
437
  if (!raw || typeof raw !== "object") {
414
438
  issues.push(issue(path, "META-TYPE", `${path} must be an object`));
@@ -417,6 +441,11 @@ function validateService(raw, path, issues) {
417
441
  const s = raw;
418
442
  requireNonEmptyString(s.id, `${path}.id`, issues);
419
443
  requireNonEmptyString(s.name, `${path}.name`, issues);
444
+ rejectProductBrandedDisplayName(s.name, `${path}.name`, issues);
445
+ const role = s.role === "connector" ? "connector" : "agent";
446
+ if (s.role != null && s.role !== "agent" && s.role !== "connector") {
447
+ issues.push(issue(`${path}.role`, "META-ENUM", `${path}.role must be agent|connector`));
448
+ }
420
449
  if (!Array.isArray(s.capabilities) || s.capabilities.length === 0) {
421
450
  issues.push(issue(`${path}.capabilities`, "META-REQUIRED", `${path}.capabilities must be a non-empty string array`));
422
451
  }
@@ -431,7 +460,7 @@ function validateService(raw, path, issues) {
431
460
  }
432
461
  else {
433
462
  for (let i = 0; i < s.inputs.length; i++) {
434
- requireNonEmptyString(s.inputs[i]?.id, `${path}.inputs[${i}].id`, issues);
463
+ validateServicePort(s.inputs[i], `${path}.inputs[${i}]`, role, issues);
435
464
  }
436
465
  }
437
466
  }
@@ -441,7 +470,25 @@ function validateService(raw, path, issues) {
441
470
  }
442
471
  else {
443
472
  for (let i = 0; i < s.outputs.length; i++) {
444
- requireNonEmptyString(s.outputs[i]?.id, `${path}.outputs[${i}].id`, issues);
473
+ validateServicePort(s.outputs[i], `${path}.outputs[${i}]`, role, issues);
474
+ }
475
+ }
476
+ }
477
+ if (role === "agent") {
478
+ const ports = [...(s.inputs ?? []), ...(s.outputs ?? [])];
479
+ const hasAbstract = ports.some((p) => p && typeof p.abstractType === "string" && p.abstractType.trim());
480
+ if (ports.length > 0 && !hasAbstract) {
481
+ issues.push(issue(`${path}`, "META-SVC-ABSTRACT", `${path} agent service must declare at least one abstractType on inputs/outputs`));
482
+ }
483
+ if (Array.isArray(s.memorixAccess) && s.memorixAccess.includes("raw")) {
484
+ issues.push(issue(`${path}.memorixAccess`, "META-SVC-CONCRETE", `${path}.memorixAccess must not include "raw" on agent services — use role: "connector" for connector workers`));
485
+ }
486
+ }
487
+ if (Array.isArray(s.memorixAccess)) {
488
+ for (let i = 0; i < s.memorixAccess.length; i++) {
489
+ const surface = s.memorixAccess[i];
490
+ if (surface !== "explore" && surface !== "checkpoints" && surface !== "raw") {
491
+ issues.push(issue(`${path}.memorixAccess[${i}]`, "META-ENUM", `${path}.memorixAccess[${i}] must be explore|checkpoints|raw`));
445
492
  }
446
493
  }
447
494
  }
@@ -575,25 +622,17 @@ function validateReferenceIntegrity(pack, issues) {
575
622
  }
576
623
  }
577
624
  }
578
- for (const b of pack.abstractBindings) {
579
- if (!abstractIds.has(b.abstractType)) {
580
- issues.push(issue(`abstractBindings/${b.id}.abstractType`, "META-REF-ABSTRACT", `binding references unknown abstract "${b.abstractType}"`));
581
- }
582
- for (const ct of b.concreteObjectTypes ?? []) {
583
- if (!objectTypeIds.has(ct)) {
584
- issues.push(issue(`abstractBindings/${b.id}.concreteObjectTypes`, "META-REF-OBJECT", `binding references unknown object type "${ct}"`));
585
- }
586
- }
587
- for (const member of b.members ?? []) {
625
+ for (const abs of pack.abstractTypes) {
626
+ for (const member of abs.members ?? []) {
588
627
  if (member.objectType && !objectTypeIds.has(member.objectType)) {
589
- issues.push(issue(`abstractBindings/${b.id}.members`, "META-REF-OBJECT", `binding member references unknown object type "${member.objectType}"`));
628
+ issues.push(issue(`abstractTypes/${abs.id}.members`, "META-REF-OBJECT", `abstract member references unknown object type "${member.objectType}"`));
590
629
  }
591
630
  for (const prop of member.properties ?? []) {
592
631
  if (prop.mappingId && !mappingIds.has(prop.mappingId)) {
593
- issues.push(issue(`abstractBindings/${b.id}.members/${member.objectType}.${prop.abstractProperty}`, "META-REF-MAPPING", `property binding references unknown mapping "${prop.mappingId}"`));
632
+ issues.push(issue(`abstractTypes/${abs.id}.members/${member.objectType}.${prop.abstractProperty}`, "META-REF-MAPPING", `property binding references unknown mapping "${prop.mappingId}"`));
594
633
  }
595
634
  if (prop.reverse?.mappingId && !mappingIds.has(prop.reverse.mappingId)) {
596
- issues.push(issue(`abstractBindings/${b.id}.members/${member.objectType}.${prop.abstractProperty}.reverse`, "META-REF-MAPPING", `reverse mapping "${prop.reverse.mappingId}" unknown`));
635
+ issues.push(issue(`abstractTypes/${abs.id}.members/${member.objectType}.${prop.abstractProperty}.reverse`, "META-REF-MAPPING", `reverse mapping "${prop.reverse.mappingId}" unknown`));
597
636
  }
598
637
  }
599
638
  }
@@ -608,6 +647,18 @@ function validateReferenceIntegrity(pack, issues) {
608
647
  issues.push(issue(`relationshipDefinitions/${r.id}.to`, "META-REF-ABSTRACT", `relationship to.abstractType "${toAbs}" unknown`));
609
648
  }
610
649
  }
650
+ for (const svc of pack.services ?? []) {
651
+ const ports = [
652
+ ...(svc.inputs ?? []).map((p, i) => ({ p, path: `services/${svc.id}.inputs[${i}]` })),
653
+ ...(svc.outputs ?? []).map((p, i) => ({ p, path: `services/${svc.id}.outputs[${i}]` })),
654
+ ];
655
+ for (const { p, path } of ports) {
656
+ const abs = p.abstractType?.trim();
657
+ if (abs && !abstractIds.has(abs)) {
658
+ issues.push(issue(`${path}.abstractType`, "META-REF-ABSTRACT", `service port references unknown abstract "${abs}"`));
659
+ }
660
+ }
661
+ }
611
662
  for (const m of pack.mappings) {
612
663
  if (m.purpose === "source" && m.sourceId && !sourceIds.has(m.sourceId)) {
613
664
  issues.push(issue(`mappings/${m.id}.sourceId`, "META-REF-SOURCE", `mapping references unknown source "${m.sourceId}"`));
@@ -649,8 +700,69 @@ function validateReferenceIntegrity(pack, issues) {
649
700
  if (step.mappingId && !mappingIds.has(step.mappingId)) {
650
701
  issues.push(issue(`pipelines/${p.id}.steps/${step.id}.mappingId`, "META-REF-MAPPING", `pipeline step references unknown mapping "${step.mappingId}"`));
651
702
  }
703
+ const target = step.target;
704
+ if (target?.kind === "service" && target.serviceId && !serviceIds.has(target.serviceId)) {
705
+ issues.push(issue(`pipelines/${p.id}.steps/${step.id}.target.serviceId`, "META-REF-SERVICE", `pipeline step target references unknown service "${target.serviceId}"`));
706
+ }
707
+ if (target?.kind === "connector" && target.sourceId && !sourceIds.has(target.sourceId)) {
708
+ issues.push(issue(`pipelines/${p.id}.steps/${step.id}.target.sourceId`, "META-REF-SOURCE", `pipeline step target references unknown source "${target.sourceId}"`));
709
+ }
710
+ if (target?.kind === "pipeline" && target.pipelineId && !pipelineIds.has(target.pipelineId)) {
711
+ issues.push(issue(`pipelines/${p.id}.steps/${step.id}.target.pipelineId`, "META-REF-PIPELINE", `pipeline step target references unknown pipeline "${target.pipelineId}"`));
712
+ }
713
+ if ((step.kind === "run-pipeline" ||
714
+ step.kind === "pipeline" ||
715
+ step.kind === "call-pipeline") &&
716
+ step.pipelineId &&
717
+ !pipelineIds.has(step.pipelineId)) {
718
+ issues.push(issue(`pipelines/${p.id}.steps/${step.id}.pipelineId`, "META-REF-PIPELINE", `pipeline step references unknown pipeline "${step.pipelineId}"`));
719
+ }
720
+ if (target?.kind === "runx" && !String(target.capabilityId ?? "").trim()) {
721
+ issues.push(issue(`pipelines/${p.id}.steps/${step.id}.target.capabilityId`, "META-RUNX-CAPABILITY", `runx step target requires capabilityId`));
722
+ }
652
723
  }
653
724
  }
725
+ // Detect pack-local pipeline call cycles.
726
+ {
727
+ const graph = new Map();
728
+ for (const p of pack.pipelines) {
729
+ if (!graph.has(p.id))
730
+ graph.set(p.id, new Set());
731
+ for (const step of p.steps) {
732
+ const t = step.target;
733
+ if (t?.kind === "pipeline" && t.pipelineId) {
734
+ graph.get(p.id).add(t.pipelineId);
735
+ }
736
+ if ((step.kind === "run-pipeline" ||
737
+ step.kind === "pipeline" ||
738
+ step.kind === "call-pipeline") &&
739
+ step.pipelineId) {
740
+ graph.get(p.id).add(step.pipelineId);
741
+ }
742
+ }
743
+ }
744
+ const visiting = new Set();
745
+ const visited = new Set();
746
+ const path = [];
747
+ const dfs = (node) => {
748
+ if (visiting.has(node)) {
749
+ const i = path.indexOf(node);
750
+ issues.push(issue(`pipelines/${node}`, "META-PIPELINE-CYCLE", `pipeline call cycle: ${[...path.slice(i), node].join(" → ")}`));
751
+ return;
752
+ }
753
+ if (visited.has(node))
754
+ return;
755
+ visiting.add(node);
756
+ path.push(node);
757
+ for (const n of graph.get(node) ?? [])
758
+ dfs(n);
759
+ path.pop();
760
+ visiting.delete(node);
761
+ visited.add(node);
762
+ };
763
+ for (const id of graph.keys())
764
+ dfs(id);
765
+ }
654
766
  for (const s of pack.schedules) {
655
767
  if (!pipelineIds.has(s.pipelineId)) {
656
768
  issues.push(issue(`schedules/${s.id}.pipelineId`, "META-REF-PIPELINE", `schedule references unknown pipeline "${s.pipelineId}"`));
@@ -667,6 +779,10 @@ export function validateMetadataPack(input, opts) {
667
779
  return { ok: false, issues: [issue("$", "META-TYPE", "pack must be an object")] };
668
780
  }
669
781
  const pack = input;
782
+ // Fold legacy abstractBindings into abstractTypes[].members before validation.
783
+ if (Array.isArray(pack.abstractTypes)) {
784
+ foldLegacyAbstractBindings(pack);
785
+ }
670
786
  if (pack.format !== "memorix-metadata/1") {
671
787
  issues.push(issue("format", "META-FORMAT", 'format must be "memorix-metadata/1"'));
672
788
  }
@@ -680,7 +796,6 @@ export function validateMetadataPack(input, opts) {
680
796
  ["agents", pack.agents, validateAgent],
681
797
  ["objectTypes", pack.objectTypes, validateObjectType],
682
798
  ["abstractTypes", pack.abstractTypes, validateAbstractType],
683
- ["abstractBindings", pack.abstractBindings, validateBinding],
684
799
  ["relationshipDefinitions", pack.relationshipDefinitions, validateRelationship],
685
800
  ["mappings", pack.mappings, validateMapping],
686
801
  ["views", pack.views, validateView],
@@ -1 +1 @@
1
- {"version":3,"file":"validate.js","sourceRoot":"","sources":["../src/validate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validate.js","sourceRoot":"","sources":["../src/validate.ts"],"names":[],"mappings":"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"}