@vessel-dsp/core 0.6.24 → 0.6.26

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 (41) hide show
  1. package/dist/formats/document.d.ts +9 -0
  2. package/dist/formats/document.d.ts.map +1 -1
  3. package/dist/formats/document.js +6 -0
  4. package/dist/formats/document.js.map +1 -1
  5. package/dist/formats/interchange/contract.d.ts +19 -0
  6. package/dist/formats/interchange/contract.d.ts.map +1 -0
  7. package/dist/formats/interchange/contract.js +19 -0
  8. package/dist/formats/interchange/contract.js.map +1 -0
  9. package/dist/formats/interchange/parser.d.ts.map +1 -1
  10. package/dist/formats/interchange/parser.js +78 -7
  11. package/dist/formats/interchange/parser.js.map +1 -1
  12. package/dist/formats/interchange/serializer.d.ts +16 -0
  13. package/dist/formats/interchange/serializer.d.ts.map +1 -1
  14. package/dist/formats/interchange/serializer.js +5 -4
  15. package/dist/formats/interchange/serializer.js.map +1 -1
  16. package/dist/formats/interchange/source-type-names.d.ts +40 -0
  17. package/dist/formats/interchange/source-type-names.d.ts.map +1 -0
  18. package/dist/formats/interchange/source-type-names.js +184 -0
  19. package/dist/formats/interchange/source-type-names.js.map +1 -0
  20. package/dist/formats/schx/catalog.d.ts.map +1 -1
  21. package/dist/formats/schx/catalog.js +49 -7
  22. package/dist/formats/schx/catalog.js.map +1 -1
  23. package/dist/index.d.ts +4 -1
  24. package/dist/index.d.ts.map +1 -1
  25. package/dist/index.js +3 -1
  26. package/dist/index.js.map +1 -1
  27. package/dist/model/terminal-roles.d.ts +70 -0
  28. package/dist/model/terminal-roles.d.ts.map +1 -0
  29. package/dist/model/terminal-roles.js +204 -0
  30. package/dist/model/terminal-roles.js.map +1 -0
  31. package/dist/model/tokens.d.ts +10 -0
  32. package/dist/model/tokens.d.ts.map +1 -0
  33. package/dist/model/tokens.js +15 -0
  34. package/dist/model/tokens.js.map +1 -0
  35. package/dist/model/validation.d.ts.map +1 -1
  36. package/dist/model/validation.js +1 -6
  37. package/dist/model/validation.js.map +1 -1
  38. package/dist/panel/extract.d.ts.map +1 -1
  39. package/dist/panel/extract.js +1 -6
  40. package/dist/panel/extract.js.map +1 -1
  41. package/package.json +1 -1
@@ -1,3 +1,4 @@
1
+ import type { Connectivity, NodeId } from "../model/connectivity";
1
2
  import type { CircuitDocument, DocumentSource } from "../model/types";
2
3
  import { type ValidationIssue } from "../model/validation";
3
4
  import { type InterchangeTopologyParseResult } from "./interchange/parser";
@@ -13,6 +14,14 @@ export type ParseCircuitDocumentFileOptions = Readonly<{
13
14
  export type SerializeVdspCircuitDocumentOptions = Readonly<{
14
15
  filename?: string;
15
16
  source?: DocumentSource;
17
+ /**
18
+ * Declared connectivity and node role tokens to write instead of resolving
19
+ * them from terminal geometry. Pass these straight back from
20
+ * `parseVdspCircuitDocumentWithTopology()` to round-trip a document without
21
+ * renumbering its declared node identifiers or flattening its role tokens.
22
+ */
23
+ connectivity?: Connectivity;
24
+ nodeRoles?: ReadonlyMap<NodeId, string>;
16
25
  }>;
17
26
  export type SerializeCircuitDocumentFileOptions = Readonly<{
18
27
  format: CircuitDocumentFileFormat;
@@ -1 +1 @@
1
- {"version":3,"file":"document.d.ts","sourceRoot":"","sources":["../../src/formats/document.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"document.d.ts","sourceRoot":"","sources":["../../src/formats/document.ts"],"names":[],"mappings":"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"}
@@ -194,6 +194,12 @@ export function convertCircuitDocumentFileWithReport(source, options) {
194
194
  export function serializeVdspCircuitDocument(document, options = {}) {
195
195
  return serializeInterchangeYaml(document, {
196
196
  source: vdspSource(document, options),
197
+ ...(options.connectivity === undefined
198
+ ? {}
199
+ : { connectivity: options.connectivity }),
200
+ ...(options.nodeRoles === undefined
201
+ ? {}
202
+ : { nodeRoles: options.nodeRoles }),
197
203
  });
198
204
  }
199
205
  function vdspSource(document, options) {
@@ -1 +1 @@
1
- {"version":3,"file":"document.js","sourceRoot":"","sources":["../../src/formats/document.ts"],"names":[],"mappings":"AACA,OAAO,EACN,6BAA6B,GAE7B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EACN,oBAAoB,EACpB,gCAAgC,GAEhC,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,EACN,wBAAwB,EACxB,4BAA4B,GAC5B,MAAM,2BAA2B,CAAC;AAgFnC,MAAM,CAAC,MAAM,iBAAiB,GAAG,OAAO,CAAC;AAEzC,MAAM,UAAU,mBAAmB,CAAC,QAAgB;IACnD,MAAM,KAAK,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;IACrC,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QAC7B,OAAO,MAAM,CAAC;IACf,CAAC;IACD,IACC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC;QACtB,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC;QACtB,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,EACvB,CAAC;QACF,OAAO,OAAO,CAAC;IAChB,CAAC;IACD,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAC5B,OAAO,aAAa,CAAC;IACtB,CAAC;IACD,OAAO,IAAI,CAAC;AACb,CAAC;AAED,MAAM,UAAU,oBAAoB,CACnC,MAAc,EACd,UAAuC,EAAE;IAEzC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;IACxE,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CACd,6EAA6E,CAC7E,CAAC;IACH,CAAC;IAED,QAAQ,MAAM,EAAE,CAAC;QAChB,KAAK,MAAM;YACV,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC;QAC1B,KAAK,OAAO;YACX,OAAO,iBAAiB,CAAC,MAAM,CAAC,CAAC;QAClC,KAAK,aAAa;YACjB,OAAO,eAAe,CAAC,MAAM,CAAC,CAAC;IACjC,CAAC;AACF,CAAC;AAED,SAAS,YAAY,CACpB,MAAc,EACd,QAA4B;IAE5B,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC5B,OAAO,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IACtC,CAAC;IACD,MAAM,SAAS,GACd,MAAM;SACJ,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;SACjB,KAAK,CAAC,OAAO,CAAC;SACd,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;QACvC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAEjB,IAAI,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,SAAS,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QACzE,OAAO,MAAM,CAAC;IACf,CAAC;IACD,IAAI,SAAS,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QACpD,OAAO,aAAa,CAAC;IACtB,CAAC;IACD,IAAI,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;QAC9D,OAAO,OAAO,CAAC;IAChB,CAAC;IACD,OAAO,IAAI,CAAC;AACb,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,QAAgB;IAC9C,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;AAClE,CAAC;AAED,MAAM,UAAU,+BAA+B,CAC9C,QAAgB;IAEhB,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC5C,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QAC7B,OAAO,MAAM,CAAC;IACf,CAAC;IACD,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QACvD,OAAO,MAAM,CAAC;IACf,CAAC;IACD,IAAI,KAAK,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;QACrC,OAAO,cAAc,CAAC;IACvB,CAAC;IACD,OAAO,mBAAmB,CAAC,QAAQ,CAAC,CAAC;AACtC,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,IAAY;IAChD,MAAM,IAAI,GAAG,IAAI;SACf,SAAS,CAAC,MAAM,CAAC;SACjB,WAAW,EAAE;SACb,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC;SAC3B,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;SACvB,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;IACzB,OAAO,GAAG,IAAI,IAAI,iBAAiB,GAAG,iBAAiB,EAAE,CAAC;AAC3D,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,MAAc;IACtD,OAAO,oBAAoB,CAAC,MAAM,CAAC,CAAC;AACrC,CAAC;AAED,MAAM,UAAU,oCAAoC,CACnD,MAAc;IAEd,OAAO,gCAAgC,CAAC,MAAM,CAAC,CAAC;AACjD,CAAC;AAED,MAAM,UAAU,iCAAiC,CAChD,MAAc,EACd,UAAoD,EAAE;IAEtD,IAAI,CAAC;QACJ,MAAM,QAAQ,GAAG,wBAAwB,CAAC,MAAM,CAAC,CAAC;QAClD,OAAO;YACN,KAAK,EAAE,IAAI;YACX,QAAQ;YACR,MAAM,EAAE,EAAE;YACV,QAAQ,EAAE,0BAA0B,CAAC,QAAQ,EAAE,OAAO,CAAC;SACvD,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvE,MAAM,IAAI,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC;QAC5C,OAAO;YACN,KAAK,EAAE,KAAK;YACZ,MAAM,EAAE;gBACP;oBACC,IAAI,EAAE,6BAA6B,CAAC,IAAI,CAAC,OAAO,CAAC;wBAChD,CAAC,CAAC,eAAe;wBACjB,CAAC,CAAC,qBAAqB;oBACxB,OAAO;oBACP,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;iBACvC;aACD;YACD,QAAQ,EAAE,EAAE;SACZ,CAAC;IACH,CAAC;AACF,CAAC;AAED,SAAS,0BAA0B,CAClC,QAAyB,EACzB,OAAiD;IAEjD,IAAI,OAAO,CAAC,6BAA6B,KAAK,KAAK,EAAE,CAAC;QACrD,OAAO,EAAE,CAAC;IACX,CAAC;IACD,OAAO,6BAA6B,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC;AACzE,CAAC;AAED,MAAM,UAAU,wBAAwB,CACvC,MAAc,EACd,OAAwC;IAExC,MAAM,MAAM,GAAG,+BAA+B,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACjE,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CACd,gDAAgD,OAAO,CAAC,QAAQ,EAAE,CAClE,CAAC;IACH,CAAC;IACD,IAAI,MAAM,KAAK,MAAM,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;QAC5C,OAAO,oBAAoB,CAAC,MAAM,CAAC,CAAC;IACrC,CAAC;IACD,IAAI,MAAM,KAAK,cAAc,EAAE,CAAC;QAC/B,MAAM,MAAM,GAAY,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC3C,OAAO,wBAAwB,CAC9B,MAAM,EACN,OAAO,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CACpE,CAAC;IACH,CAAC;IACD,OAAO,oBAAoB,CAAC,MAAM,EAAE;QACnC,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,MAAM;KACN,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,4BAA4B,CAC3C,QAAyB,EACzB,OAA4C;IAE5C,sBAAsB,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IAEjD,QAAQ,OAAO,CAAC,MAAM,EAAE,CAAC;QACxB,KAAK,MAAM,CAAC;QACZ,KAAK,MAAM;YACV,OAAO,4BAA4B,CAClC,QAAQ,EACR,OAAO,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CACpE,CAAC;QACH,KAAK,MAAM;YACV,OAAO,aAAa,CAAC,QAAQ,CAAC,CAAC;QAChC,KAAK,aAAa;YACjB,OAAO,mBAAmB,CAAC,QAAQ,CAAC,CAAC;QACtC,KAAK,OAAO;YACX,OAAO,qBAAqB,CAAC,QAAQ,CAAC,CAAC;QACxC,KAAK,cAAc;YAClB,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,4BAA4B,CAAC,QAAQ,CAAC,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC;IACzF,CAAC;AACF,CAAC;AAED,MAAM,UAAU,0BAA0B,CACzC,MAAc,EACd,OAA0C;IAE1C,OAAO,oCAAoC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,MAAM,CAAC;AACrE,CAAC;AAED,MAAM,UAAU,oCAAoC,CACnD,MAAc,EACd,OAAoD;IAEpD,MAAM,QAAQ,GAAG,wBAAwB,CAAC,MAAM,EAAE;QACjD,QAAQ,EAAE,OAAO,CAAC,aAAa;KAC/B,CAAC,CAAC;IACH,MAAM,aAAa,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IACpD,MAAM,aAAa,GAAwC;QAC1D,MAAM,EAAE,OAAO,CAAC,YAAY;QAC5B,GAAG,CAAC,OAAO,CAAC,cAAc,KAAK,SAAS;YACvC,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,cAAc,EAAE,CAAC;KACxC,CAAC;IAEF,IAAI,kBAAkB,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5E,OAAO;YACN,MAAM,EAAE,4BAA4B,CAAC,QAAQ,EAAE,aAAa,CAAC;YAC7D,WAAW,EAAE,EAAE;YACf,aAAa,EAAE,EAAE;SACjB,CAAC;IACH,CAAC;IAED,IAAI,OAAO,CAAC,UAAU,KAAK,uBAAuB,EAAE,CAAC;QACpD,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC,CAAC;IACrE,CAAC;IAED,MAAM,WAAW,GAAG,aAAa,CAAC,GAAG,CACpC,CAAC,KAAK,EAAuC,EAAE,CAAC,CAAC;QAChD,IAAI,EAAE,iBAAiB;QACvB,KAAK;QACL,OAAO,EAAE,0BAA0B,KAAK,yBAAyB,OAAO,CAAC,YAAY,EAAE;KACvF,CAAC,CACF,CAAC;IAEF,OAAO;QACN,MAAM,EAAE,4BAA4B,CACnC,eAAe,CAAC,QAAQ,CAAC,EACzB,aAAa,CACb;QACD,WAAW;QACX,aAAa;KACb,CAAC;AACH,CAAC;AAED,MAAM,UAAU,4BAA4B,CAC3C,QAAyB,EACzB,UAA+C,EAAE;IAEjD,OAAO,wBAAwB,CAAC,QAAQ,EAAE;QACzC,MAAM,EAAE,UAAU,CAAC,QAAQ,EAAE,OAAO,CAAC;KACrC,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAClB,QAAyB,EACzB,OAA4C;IAE5C,MAAM,MAAM,GAA2B;QACtC,GAAG,CAAC,QAAQ,CAAC,MAAM,IAAI,EAAE,CAAC;QAC1B,GAAG,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC;KACzB,CAAC;IACF,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QACjC,MAAM,CAAC,MAAM,GAAG,aAAa,CAAC;IAC/B,CAAC;IACD,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QACpC,MAAM,CAAC,QAAQ,GAAG,qBAAqB,CACtC,OAAO,CAAC,QAAQ,EAChB,QAAQ,CAAC,QAAQ,CAAC,IAAI,CACtB,CAAC;IACH,CAAC;IACD,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACnE,MAAM,CAAC,QAAQ,GAAG,oBAAoB,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAChE,CAAC;IACD,OAAO,MAAM,CAAC;AACf,CAAC;AAED,SAAS,qBAAqB,CAC7B,QAA4B,EAC5B,YAAoB;IAEpB,MAAM,OAAO,GAAG,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACvC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,oBAAoB,CAAC,YAAY,CAAC,CAAC;IAC3C,CAAC;IACD,IAAI,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC;QAC7B,OAAO,OAAO,CAAC;IAChB,CAAC;IACD,MAAM,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;IAC7D,OAAO,GAAG,gBAAgB,IAAI,iBAAiB,GAAG,iBAAiB,EAAE,CAAC;AACvE,CAAC;AAED,SAAS,sBAAsB,CAC9B,QAAyB,EACzB,MAAiC;IAEjC,IAAI,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC;QAChC,OAAO;IACR,CAAC;IACD,MAAM,aAAa,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IACpD,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC;IACvD,CAAC;AACF,CAAC;AAED,SAAS,aAAa,CACrB,MAAiC,EACjC,aAAgC;IAEhC,OAAO,iBAAiB,MAAM,+BAA+B,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;AACzF,CAAC;AAED,SAAS,kBAAkB,CAAC,MAAiC;IAC5D,OAAO,MAAM,KAAK,MAAM,IAAI,MAAM,KAAK,MAAM,CAAC;AAC/C,CAAC;AAED,SAAS,mBAAmB,CAAC,QAAyB;IACrD,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,IAAI,QAAQ,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;QACvC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC3B,CAAC;IACD,IAAI,QAAQ,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QAClC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACtB,CAAC;IACD,IAAI,QAAQ,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;QAChC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACpB,CAAC;IACD,IAAI,QAAQ,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;QACzC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAC7B,CAAC;IACD,IAAI,QAAQ,CAAC,kBAAkB,KAAK,SAAS,EAAE,CAAC;QAC/C,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IACnC,CAAC;IACD,IAAI,QAAQ,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;QACvC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC3B,CAAC;IACD,IAAI,QAAQ,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;QAC3C,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAC/B,CAAC;IACD,IACC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC,KAAK,IAAI,EACzE,CAAC;QACF,MAAM,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;IACvC,CAAC;IACD,IACC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CACnC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,KAAK,SAAS,CAAC,CACzD,KAAK,IAAI,EACT,CAAC;QACF,MAAM,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;IAC5C,CAAC;IACD,IACC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CACnC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,KAAK,SAAS,CAAC,CAC/D,KAAK,IAAI,EACT,CAAC;QACF,MAAM,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;IAClD,CAAC;IACD,IAAI,QAAQ,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QACnC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACvB,CAAC;IACD,OAAO,MAAM,CAAC;AACf,CAAC;AAED,SAAS,eAAe,CAAC,QAAyB;IACjD,OAAO;QACN,QAAQ,EAAE,QAAQ,CAAC,QAAQ;QAC3B,GAAG,CAAC,QAAQ,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC;QACrE,GAAG,CAAC,QAAQ,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC;QACrE,GAAG,CAAC,QAAQ,CAAC,aAAa,KAAK,SAAS;YACvC,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,EAAE,aAAa,EAAE,QAAQ,CAAC,aAAa,EAAE,CAAC;QAC7C,GAAG,CAAC,QAAQ,CAAC,eAAe,KAAK,SAAS;YACzC,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,EAAE,eAAe,EAAE,QAAQ,CAAC,eAAe,EAAE,CAAC;QACjD,GAAG,CAAC,QAAQ,CAAC,eAAe,KAAK,SAAS;YACzC,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,EAAE,eAAe,EAAE,QAAQ,CAAC,eAAe,EAAE,CAAC;QACjD,GAAG,CAAC,QAAQ,CAAC,KAAK,KAAK,SAAS;YAC/B,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC;gBACA,KAAK,EAAE;oBACN,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;wBAC1C,EAAE,EAAE,IAAI,CAAC,EAAE;wBACX,GAAG,CAAC,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;wBAC1D,MAAM,EAAE,IAAI,CAAC,MAAM;wBACnB,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;4BACzC,IAAI,EAAE,OAAO,CAAC,IAAI;4BAClB,IAAI,EAAE,OAAO,CAAC,IAAI;4BAClB,GAAG,CAAC,OAAO,CAAC,KAAK,KAAK,SAAS;gCAC9B,CAAC,CAAC,EAAE;gCACJ,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC;4BAC5B,GAAG,CAAC,OAAO,CAAC,kBAAkB,KAAK,SAAS;gCAC3C,CAAC,CAAC,EAAE;gCACJ,CAAC,CAAC,EAAE,kBAAkB,EAAE,OAAO,CAAC,kBAAkB,EAAE,CAAC;4BACtD,IAAI,EAAE,OAAO,CAAC,IAAI;yBAClB,CAAC,CAAC;qBACH,CAAC,CAAC;iBACH;aACD,CAAC;QACJ,GAAG,CAAC,QAAQ,CAAC,iBAAiB,KAAK,SAAS;YAC3C,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,EAAE,iBAAiB,EAAE,QAAQ,CAAC,iBAAiB,EAAE,CAAC;QACrD,GAAG,CAAC,QAAQ,CAAC,cAAc,KAAK,SAAS;YACxC,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,EAAE,cAAc,EAAE,QAAQ,CAAC,cAAc,EAAE,CAAC;QAC/C,UAAU,EAAE,QAAQ,CAAC,UAAU;QAC/B,KAAK,EAAE,QAAQ,CAAC,KAAK;QACrB,UAAU,EAAE,QAAQ,CAAC,UAAU;QAC/B,QAAQ,EAAE,QAAQ,CAAC,QAAQ;QAC3B,aAAa,EAAE,QAAQ,CAAC,aAAa;KACrC,CAAC;AACH,CAAC;AAED,MAAM,6BAA6B,GAAG,mCAAmC,CAAC;AAE1E,SAAS,qBAAqB,CAAC,OAAe;IAC7C,MAAM,iBAAiB,GAAG,6BAA6B,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACtE,IAAI,iBAAiB,KAAK,IAAI,EAAE,CAAC;QAChC,OAAO,iBAAiB,CAAC,CAAC,CAAC,CAAC;IAC7B,CAAC;IACD,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACxC,IAAI,UAAU,IAAI,CAAC,EAAE,CAAC;QACrB,OAAO,SAAS,CAAC;IAClB,CAAC;IACD,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;IAC/C,IACC,+EAA+E,CAAC,IAAI,CACnF,SAAS,CACT,EACA,CAAC;QACF,OAAO,SAAS,CAAC;IAClB,CAAC;IACD,OAAO,SAAS,CAAC;AAClB,CAAC"}
1
+ {"version":3,"file":"document.js","sourceRoot":"","sources":["../../src/formats/document.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Version of the observable `.vdsp` parse contract, independent of the
3
+ * `circuit-interchange/v2` and `circuit-interchange/v3` schema identifiers.
4
+ *
5
+ * A schema id describes the document shape a file is allowed to have. This
6
+ * describes what core guarantees about the data a consumer recovers from that
7
+ * file, so downstream code can gate adoption on behaviour instead of on a
8
+ * package version range.
9
+ *
10
+ * Bump it when a consumer must change to stay correct. Leave it alone for
11
+ * additive fields, new diagnostics, and fixes that only narrow what parses.
12
+ *
13
+ * 1 - inline terminal `node` keys and the `nodes` ledger are merged into one
14
+ * connectivity interpretation. Agreement between them is redundant;
15
+ * disagreement is refused rather than silently resolved in favour of
16
+ * either declaration style.
17
+ */
18
+ export declare const INTERCHANGE_CONTRACT_VERSION: 1;
19
+ //# sourceMappingURL=contract.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../../../src/formats/interchange/contract.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,4BAA4B,EAAG,CAAU,CAAC"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Version of the observable `.vdsp` parse contract, independent of the
3
+ * `circuit-interchange/v2` and `circuit-interchange/v3` schema identifiers.
4
+ *
5
+ * A schema id describes the document shape a file is allowed to have. This
6
+ * describes what core guarantees about the data a consumer recovers from that
7
+ * file, so downstream code can gate adoption on behaviour instead of on a
8
+ * package version range.
9
+ *
10
+ * Bump it when a consumer must change to stay correct. Leave it alone for
11
+ * additive fields, new diagnostics, and fixes that only narrow what parses.
12
+ *
13
+ * 1 - inline terminal `node` keys and the `nodes` ledger are merged into one
14
+ * connectivity interpretation. Agreement between them is redundant;
15
+ * disagreement is refused rather than silently resolved in favour of
16
+ * either declaration style.
17
+ */
18
+ export const INTERCHANGE_CONTRACT_VERSION = 1;
19
+ //# sourceMappingURL=contract.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contract.js","sourceRoot":"","sources":["../../../src/formats/interchange/contract.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAU,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../../src/formats/interchange/parser.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,KAAK,YAAY,EACjB,KAAK,MAAM,EAIX,MAAM,0BAA0B,CAAC;AAElC,OAAO,KAAK,EAwBX,eAAe,EA4Df,MAAM,mBAAmB,CAAC;AAoC3B,MAAM,MAAM,8BAA8B,GAAG,QAAQ,CAAC;IACrD,QAAQ,EAAE,eAAe,CAAC;IAC1B,YAAY,EAAE,YAAY,CAAC;IAC3B,SAAS,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACvC,kBAAkB,EAAE,UAAU,GAAG,WAAW,CAAC;CAC7C,CAAC,CAAC;AAEH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,eAAe,CA4DpE;AAED,gFAAgF;AAChF,wBAAgB,gCAAgC,CAC/C,MAAM,EAAE,MAAM,GACZ,8BAA8B,CAkBhC"}
1
+ {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../../src/formats/interchange/parser.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,KAAK,YAAY,EACjB,KAAK,MAAM,EAIX,MAAM,0BAA0B,CAAC;AAIlC,OAAO,KAAK,EAwBX,eAAe,EA4Df,MAAM,mBAAmB,CAAC;AAoC3B,MAAM,MAAM,8BAA8B,GAAG,QAAQ,CAAC;IACrD,QAAQ,EAAE,eAAe,CAAC;IAC1B,YAAY,EAAE,YAAY,CAAC;IAC3B,SAAS,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACvC,kBAAkB,EAAE,UAAU,GAAG,WAAW,CAAC;CAC7C,CAAC,CAAC;AAEH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,eAAe,CAiEpE;AAED,gFAAgF;AAChF,wBAAgB,gCAAgC,CAC/C,MAAM,EAAE,MAAM,GACZ,8BAA8B,CAkBhC"}
@@ -1,5 +1,7 @@
1
1
  import { pinKey, resolveConnectivity, } from "../../model/connectivity.js";
2
2
  import { isParsedQuantity } from "../../model/properties.js";
3
+ import { resolvePotentiometerTerminalRoles } from "../../model/terminal-roles.js";
4
+ import { classifySourceTypeName } from "./source-type-names.js";
3
5
  const INTERCHANGE_SCHEMA_V2 = "circuit-interchange/v2";
4
6
  const INTERCHANGE_SCHEMA_V3 = "circuit-interchange/v3";
5
7
  const V3_ONLY_TOP_LEVEL_FIELDS = [
@@ -33,6 +35,11 @@ export function parseInterchangeYaml(source) {
33
35
  const controlGroups = parseControlGroups(root.controlGroups);
34
36
  const controlContexts = parseControlContexts(root.controlContexts);
35
37
  const deviceInterface = parseDeviceInterface(root.deviceInterface);
38
+ // Collected while parsing components, then merged with the document's own
39
+ // `diagnostics` block. Built before the literal below so the result does not
40
+ // depend on object-key evaluation order.
41
+ const componentWarnings = [];
42
+ const components = parseComponents(root.components, componentWarnings);
36
43
  const mechanical = isV3 ? parseMechanical(root.mechanical) : undefined;
37
44
  const build = isV3 ? parseBuild(root.build) : undefined;
38
45
  const bom = isV3 ? parseBom(root.bom) : undefined;
@@ -66,10 +73,10 @@ export function parseInterchangeYaml(source) {
66
73
  ...(panel === undefined ? {} : { panel }),
67
74
  ...(controlInterfaces === undefined ? {} : { controlInterfaces }),
68
75
  ...(controlOutputs === undefined ? {} : { controlOutputs }),
69
- components: parseComponents(root.components),
76
+ components,
70
77
  wires: parseWires(root.wires),
71
78
  directives: parseStringArray(root.directives, "directives"),
72
- warnings: parseWarnings(root.diagnostics),
79
+ warnings: [...parseWarnings(root.diagnostics), ...componentWarnings],
73
80
  rawAttributes: parseStringRecord(root.rawAttributes, "rawAttributes"),
74
81
  };
75
82
  }
@@ -129,6 +136,10 @@ function parseDeclaredTopology(root, document) {
129
136
  nodeRoles.set(nodeId, node.role.trim());
130
137
  }
131
138
  }
139
+ // Inline terminal `node` keys and the `nodes` ledger are complementary
140
+ // declarations of the same connectivity, and serialized documents carry both.
141
+ // Read both so a mixed packet cannot silently drop ledger-only members;
142
+ // `addDeclaredPin` refuses only where the two disagree.
132
143
  if (declaredTerminalCount > 0) {
133
144
  for (const [componentIndex, rawComponent] of rawComponents.entries()) {
134
145
  const component = expectObject(rawComponent, `components[${componentIndex}]`);
@@ -147,7 +158,7 @@ function parseDeclaredTopology(root, document) {
147
158
  }
148
159
  }
149
160
  }
150
- else {
161
+ if (rawNodes.length > 0) {
151
162
  parseDeclaredNodeMembers(rawNodes, document, nodeIds, pinToNode, nodeMembers);
152
163
  }
153
164
  let groundNodeId = null;
@@ -220,6 +231,10 @@ function declaredNodeIds(keys) {
220
231
  function addDeclaredPin(pinToNode, nodeMembers, nodeId, pin, path) {
221
232
  const key = pinKey(pin);
222
233
  const previousNode = pinToNode.get(key);
234
+ // Agreement between the inline and ledger declarations is redundant, not
235
+ // ambiguous: record the pin once. Disagreement is unresolvable, so refuse.
236
+ if (previousNode === nodeId)
237
+ return;
223
238
  if (previousNode !== undefined) {
224
239
  throw new Error(`${path}: pin "${pin.componentId}.${pin.terminalName}" already belongs to node ${previousNode}`);
225
240
  }
@@ -1983,12 +1998,15 @@ function parsePanelControlKind(value, path) {
1983
1998
  throw new Error(`${path}: expected knob, slider, switch, selector, footswitch, led, display, or jack`);
1984
1999
  }
1985
2000
  }
1986
- function parseComponents(value) {
2001
+ function parseComponents(value, warnings) {
1987
2002
  return optionalArray(value, "components").map((item, index) => {
1988
2003
  const path = `components[${index}]`;
1989
2004
  const component = expectObject(item, path);
1990
- return {
1991
- id: expectString(component.id, `${path}.id`),
2005
+ const id = expectString(component.id, `${path}.id`);
2006
+ const sourceTypeName = parseNullableString(component.sourceTypeName, `${path}.sourceTypeName`);
2007
+ collectSourceTypeNameWarnings(id, sourceTypeName, warnings);
2008
+ const parsed = {
2009
+ id,
1992
2010
  kind: parseComponentKind(component.kind, `${path}.kind`),
1993
2011
  name: expectString(component.name, `${path}.name`),
1994
2012
  origin: parsePoint(component.origin, `${path}.origin`),
@@ -1996,8 +2014,61 @@ function parseComponents(value) {
1996
2014
  flipped: expectBoolean(component.flipped, `${path}.flipped`),
1997
2015
  terminals: parseTerminals(component.terminals, `${path}.terminals`),
1998
2016
  properties: parseProperties(component.properties, `${path}.properties`),
1999
- sourceTypeName: parseNullableString(component.sourceTypeName, `${path}.sourceTypeName`),
2017
+ sourceTypeName,
2000
2018
  };
2019
+ collectTerminalRoleWarnings(parsed, warnings);
2020
+ return parsed;
2021
+ });
2022
+ }
2023
+ /**
2024
+ * Report a `sourceTypeName` outside the supported vocabulary.
2025
+ *
2026
+ * The value is never rewritten. Every consumer matches this field exactly, so an
2027
+ * unrecognised spelling is a component that silently fails to resolve, and until now
2028
+ * nothing said so -- the field is typed `string | null` and parsed straight through.
2029
+ * Warning rather than throwing keeps existing documents readable while making the
2030
+ * drift visible; the survey behind the vocabulary found 107 distinct values in one
2031
+ * corpus for roughly 40 concepts.
2032
+ */
2033
+ /**
2034
+ * Report potentiometer terminal names that carry no sweep direction.
2035
+ *
2036
+ * Lug numbers and spelling variants resolve silently -- the common cases should cost
2037
+ * an author nothing. Only an under-specified or unrecognised token is reported, and
2038
+ * the name is never rewritten, so a document that means `ccw` but says `a` stays
2039
+ * readable while the gap becomes visible.
2040
+ */
2041
+ function collectTerminalRoleWarnings(component, warnings) {
2042
+ const resolution = resolvePotentiometerTerminalRoles(component);
2043
+ if (resolution === null)
2044
+ return;
2045
+ warnings.push(...resolution.diagnostics);
2046
+ }
2047
+ function collectSourceTypeNameWarnings(componentId, sourceTypeName, warnings) {
2048
+ const verdict = classifySourceTypeName(sourceTypeName);
2049
+ if (verdict === null || verdict.status === "supported") {
2050
+ return;
2051
+ }
2052
+ if (verdict.status === "alias") {
2053
+ warnings.push({
2054
+ code: "source-type-name-alias",
2055
+ message: `sourceTypeName "${sourceTypeName}" is a non-canonical spelling; use "${verdict.canonical}".`,
2056
+ componentId,
2057
+ });
2058
+ return;
2059
+ }
2060
+ if (verdict.status === "modelling-intent") {
2061
+ warnings.push({
2062
+ code: "source-type-name-not-a-device-class",
2063
+ message: `sourceTypeName "${sourceTypeName}" records what a consumer does with this component, not what it is, so it cannot identify a device. State the device class; let the boundary that owns a region declare what it encloses.`,
2064
+ componentId,
2065
+ });
2066
+ return;
2067
+ }
2068
+ warnings.push({
2069
+ code: "source-type-name-unsupported",
2070
+ message: `sourceTypeName "${sourceTypeName}" is not a supported source type.`,
2071
+ componentId,
2001
2072
  });
2002
2073
  }
2003
2074
  function parseTerminals(value, path) {