@intelligentelectron/universal-netlist 0.0.12

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 (105) hide show
  1. package/CHANGELOG.md +121 -0
  2. package/LICENSE +190 -0
  3. package/NOTICE +4 -0
  4. package/README.md +246 -0
  5. package/dist/circuit-traversal.d.ts +73 -0
  6. package/dist/circuit-traversal.d.ts.map +1 -0
  7. package/dist/circuit-traversal.js +299 -0
  8. package/dist/circuit-traversal.js.map +1 -0
  9. package/dist/cli/commands.d.ts +23 -0
  10. package/dist/cli/commands.d.ts.map +1 -0
  11. package/dist/cli/commands.js +140 -0
  12. package/dist/cli/commands.js.map +1 -0
  13. package/dist/cli/prompts.d.ts +10 -0
  14. package/dist/cli/prompts.d.ts.map +1 -0
  15. package/dist/cli/prompts.js +22 -0
  16. package/dist/cli/prompts.js.map +1 -0
  17. package/dist/cli/shell.d.ts +15 -0
  18. package/dist/cli/shell.d.ts.map +1 -0
  19. package/dist/cli/shell.js +66 -0
  20. package/dist/cli/shell.js.map +1 -0
  21. package/dist/cli/updater.d.ts +46 -0
  22. package/dist/cli/updater.d.ts.map +1 -0
  23. package/dist/cli/updater.js +319 -0
  24. package/dist/cli/updater.js.map +1 -0
  25. package/dist/index.d.ts +16 -0
  26. package/dist/index.d.ts.map +1 -0
  27. package/dist/index.js +63 -0
  28. package/dist/index.js.map +1 -0
  29. package/dist/parsers/altium/connectivity.d.ts +32 -0
  30. package/dist/parsers/altium/connectivity.d.ts.map +1 -0
  31. package/dist/parsers/altium/connectivity.js +308 -0
  32. package/dist/parsers/altium/connectivity.js.map +1 -0
  33. package/dist/parsers/altium/discovery.d.ts +30 -0
  34. package/dist/parsers/altium/discovery.d.ts.map +1 -0
  35. package/dist/parsers/altium/discovery.js +174 -0
  36. package/dist/parsers/altium/discovery.js.map +1 -0
  37. package/dist/parsers/altium/hierarchy.d.ts +29 -0
  38. package/dist/parsers/altium/hierarchy.d.ts.map +1 -0
  39. package/dist/parsers/altium/hierarchy.js +94 -0
  40. package/dist/parsers/altium/hierarchy.js.map +1 -0
  41. package/dist/parsers/altium/index.d.ts +53 -0
  42. package/dist/parsers/altium/index.d.ts.map +1 -0
  43. package/dist/parsers/altium/index.js +404 -0
  44. package/dist/parsers/altium/index.js.map +1 -0
  45. package/dist/parsers/altium/net-extractor.d.ts +24 -0
  46. package/dist/parsers/altium/net-extractor.d.ts.map +1 -0
  47. package/dist/parsers/altium/net-extractor.js +295 -0
  48. package/dist/parsers/altium/net-extractor.js.map +1 -0
  49. package/dist/parsers/altium/ole-reader.d.ts +91 -0
  50. package/dist/parsers/altium/ole-reader.d.ts.map +1 -0
  51. package/dist/parsers/altium/ole-reader.js +304 -0
  52. package/dist/parsers/altium/ole-reader.js.map +1 -0
  53. package/dist/parsers/altium/record-parser.d.ts +21 -0
  54. package/dist/parsers/altium/record-parser.d.ts.map +1 -0
  55. package/dist/parsers/altium/record-parser.js +117 -0
  56. package/dist/parsers/altium/record-parser.js.map +1 -0
  57. package/dist/parsers/altium/schemas.d.ts +277 -0
  58. package/dist/parsers/altium/schemas.d.ts.map +1 -0
  59. package/dist/parsers/altium/schemas.js +246 -0
  60. package/dist/parsers/altium/schemas.js.map +1 -0
  61. package/dist/parsers/altium/types.d.ts +213 -0
  62. package/dist/parsers/altium/types.d.ts.map +1 -0
  63. package/dist/parsers/altium/types.js +180 -0
  64. package/dist/parsers/altium/types.js.map +1 -0
  65. package/dist/parsers/cadence/discovery.d.ts +45 -0
  66. package/dist/parsers/cadence/discovery.d.ts.map +1 -0
  67. package/dist/parsers/cadence/discovery.js +277 -0
  68. package/dist/parsers/cadence/discovery.js.map +1 -0
  69. package/dist/parsers/cadence/index.d.ts +41 -0
  70. package/dist/parsers/cadence/index.d.ts.map +1 -0
  71. package/dist/parsers/cadence/index.js +139 -0
  72. package/dist/parsers/cadence/index.js.map +1 -0
  73. package/dist/parsers/cadence/pstchip-parser.d.ts +23 -0
  74. package/dist/parsers/cadence/pstchip-parser.d.ts.map +1 -0
  75. package/dist/parsers/cadence/pstchip-parser.js +82 -0
  76. package/dist/parsers/cadence/pstchip-parser.js.map +1 -0
  77. package/dist/parsers/cadence/pstxnet-parser.d.ts +15 -0
  78. package/dist/parsers/cadence/pstxnet-parser.d.ts.map +1 -0
  79. package/dist/parsers/cadence/pstxnet-parser.js +55 -0
  80. package/dist/parsers/cadence/pstxnet-parser.js.map +1 -0
  81. package/dist/parsers/cadence/pstxprt-parser.d.ts +24 -0
  82. package/dist/parsers/cadence/pstxprt-parser.d.ts.map +1 -0
  83. package/dist/parsers/cadence/pstxprt-parser.js +75 -0
  84. package/dist/parsers/cadence/pstxprt-parser.js.map +1 -0
  85. package/dist/parsers/index.d.ts +33 -0
  86. package/dist/parsers/index.d.ts.map +1 -0
  87. package/dist/parsers/index.js +49 -0
  88. package/dist/parsers/index.js.map +1 -0
  89. package/dist/server.d.ts +16 -0
  90. package/dist/server.d.ts.map +1 -0
  91. package/dist/server.js +277 -0
  92. package/dist/server.js.map +1 -0
  93. package/dist/service.d.ts +129 -0
  94. package/dist/service.d.ts.map +1 -0
  95. package/dist/service.js +759 -0
  96. package/dist/service.js.map +1 -0
  97. package/dist/types.d.ts +242 -0
  98. package/dist/types.d.ts.map +1 -0
  99. package/dist/types.js +27 -0
  100. package/dist/types.js.map +1 -0
  101. package/dist/version.d.ts +10 -0
  102. package/dist/version.d.ts.map +1 -0
  103. package/dist/version.js +25 -0
  104. package/dist/version.js.map +1 -0
  105. package/package.json +74 -0
@@ -0,0 +1,129 @@
1
+ /**
2
+ * Netlist Service
3
+ *
4
+ * Query methods for Cadence and Altium netlists using absolute paths.
5
+ * All methods take an absolute path to the design FILE as input.
6
+ */
7
+ import { type ParsedNetlist, type ComponentDetails, type CircuitComponent, type AggregatedCircuitResult, type ErrorResult, type ComponentGroup, type ListComponentsResult, type ListNetsResult, type SearchComponentsResult, type SearchNetsResult, type QueryComponentResult, type CadenceInstall, type ExportNetlistResult } from "./types.js";
8
+ /**
9
+ * Load netlist from an absolute design file path.
10
+ * Delegates to the appropriate handler based on file extension.
11
+ */
12
+ export declare const loadNetlist: (designPath: string) => Promise<ParsedNetlist | ErrorResult>;
13
+ declare const MPN_MISSING_NOTE = "MPN not found in exported netlist data. Tell user to update symbol properties in library, or to point you to the BOM";
14
+ /**
15
+ * Group components by MPN for compact output.
16
+ */
17
+ declare const groupComponentsByMpn: (entries: Array<[string, ComponentDetails[string]]>, includeDns: boolean) => ComponentGroup[];
18
+ /**
19
+ * Aggregate circuit components by MPN for compact output.
20
+ */
21
+ declare const aggregateCircuitByMpn: (components: CircuitComponent[]) => AggregatedCircuitResult["components_by_mpn"];
22
+ /**
23
+ * List all designs in a directory.
24
+ *
25
+ * @param searchPath - Absolute path to search (defaults to CWD)
26
+ * @param pattern - Regex pattern to filter design names
27
+ */
28
+ export declare const listDesigns: (searchPath?: string, pattern?: string) => Promise<Array<{
29
+ name: string;
30
+ path: string;
31
+ error?: string;
32
+ }> | ErrorResult>;
33
+ /**
34
+ * List components of a specific type in a design.
35
+ *
36
+ * @param design - Absolute path to design file
37
+ * @param type - Component type prefix (e.g., "U", "R", "C")
38
+ * @param includeDns - Include DNS (Do Not Stuff) components
39
+ */
40
+ export declare const listComponents: (design: string, type: string, includeDns?: boolean) => Promise<ListComponentsResult | ErrorResult>;
41
+ /**
42
+ * List all nets within a design.
43
+ *
44
+ * @param design - Absolute path to design file
45
+ */
46
+ export declare const listNets: (design: string) => Promise<ListNetsResult | ErrorResult>;
47
+ /**
48
+ * Search nets by regex pattern.
49
+ *
50
+ * @param pattern - Regex pattern
51
+ * @param design - Absolute path to design file
52
+ */
53
+ export declare const searchNets: (pattern: string, design: string) => Promise<SearchNetsResult | ErrorResult>;
54
+ /**
55
+ * Search components by refdes pattern.
56
+ *
57
+ * @param pattern - Regex pattern
58
+ * @param design - Absolute path to design file
59
+ * @param includeDns - Include DNS components
60
+ */
61
+ export declare const searchComponentsByRefdes: (pattern: string, design: string, includeDns?: boolean) => Promise<SearchComponentsResult | ErrorResult>;
62
+ /**
63
+ * Search components by MPN pattern.
64
+ *
65
+ * @param pattern - Regex pattern
66
+ * @param design - Absolute path to design file
67
+ * @param includeDns - Include DNS components
68
+ */
69
+ export declare const searchComponentsByMpn: (pattern: string, design: string, includeDns?: boolean) => Promise<SearchComponentsResult | ErrorResult>;
70
+ /**
71
+ * Search components by description pattern.
72
+ *
73
+ * @param pattern - Regex pattern
74
+ * @param design - Absolute path to design file
75
+ * @param includeDns - Include DNS components
76
+ */
77
+ export declare const searchComponentsByDescription: (pattern: string, design: string, includeDns?: boolean) => Promise<SearchComponentsResult | ErrorResult>;
78
+ /**
79
+ * Query component details by reference designator.
80
+ *
81
+ * @param design - Absolute path to design file
82
+ * @param refdes - Component reference designator
83
+ */
84
+ export declare const queryComponent: (design: string, refdes: string) => Promise<QueryComponentResult | ErrorResult>;
85
+ /**
86
+ * Query circuit starting from a net name.
87
+ *
88
+ * @param design - Absolute path to design file
89
+ * @param netName - Net name
90
+ * @param skipTypes - Component types to skip
91
+ * @param includeDns - Include DNS components
92
+ */
93
+ export declare const queryXnetByNetName: (design: string, netName: string, skipTypes?: string[], includeDns?: boolean) => Promise<AggregatedCircuitResult | ErrorResult>;
94
+ /**
95
+ * Query circuit starting from a component pin.
96
+ *
97
+ * @param design - Absolute path to design file
98
+ * @param pinSpec - Pin specification in "REFDES.PIN" format
99
+ * @param skipTypes - Component types to skip
100
+ * @param includeDns - Include DNS components
101
+ */
102
+ export declare const queryXnetByPinName: (design: string, pinSpec: string, skipTypes?: string[], includeDns?: boolean) => Promise<AggregatedCircuitResult | ErrorResult>;
103
+ /**
104
+ * Detect installed Cadence SPB versions from the standard installation directory.
105
+ *
106
+ * @param cadenceBase - Base Cadence installation directory (default: C:/Cadence)
107
+ * @returns Array of detected Cadence installations, sorted by version descending
108
+ */
109
+ export declare const detectCadenceVersions: (cadenceBase?: string) => Promise<CadenceInstall[]>;
110
+ /**
111
+ * Get the latest installed Cadence version.
112
+ *
113
+ * @returns The latest Cadence installation, or null if none found
114
+ */
115
+ export declare const getLatestCadence: () => Promise<CadenceInstall | null>;
116
+ /**
117
+ * Export Cadence schematic netlist to Allegro PCB format.
118
+ * Uses the pstswp utility from Cadence SPB installation.
119
+ *
120
+ * @param dsnPath - Absolute path to .DSN schematic file
121
+ * @returns Export result with output directory and generated files, or error
122
+ */
123
+ export declare const exportCadenceNetlist: (dsnPath: string) => Promise<ExportNetlistResult | ErrorResult>;
124
+ /**
125
+ * Internal exports for testing purposes only.
126
+ * @internal
127
+ */
128
+ export { MPN_MISSING_NOTE, groupComponentsByMpn, aggregateCircuitByMpn };
129
+ //# sourceMappingURL=service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AA4CH,OAAO,EAIL,KAAK,aAAa,EAClB,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,KAAK,uBAAuB,EAE5B,KAAK,WAAW,EAChB,KAAK,cAAc,EACnB,KAAK,oBAAoB,EACzB,KAAK,cAAc,EACnB,KAAK,sBAAsB,EAC3B,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,EACzB,KAAK,cAAc,EACnB,KAAK,mBAAmB,EACzB,MAAM,YAAY,CAAC;AA0BpB;;;GAGG;AACH,eAAO,MAAM,WAAW,GACtB,YAAY,MAAM,KACjB,OAAO,CAAC,aAAa,GAAG,WAAW,CAmBrC,CAAC;AAMF,QAAA,MAAM,gBAAgB,yHACkG,CAAC;AAEzH;;GAEG;AACH,QAAA,MAAM,oBAAoB,GACxB,SAAS,KAAK,CAAC,CAAC,MAAM,EAAE,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,EAClD,YAAY,OAAO,KAClB,cAAc,EA4EhB,CAAC;AAEF;;GAEG;AACH,QAAA,MAAM,qBAAqB,GACzB,YAAY,gBAAgB,EAAE,KAC7B,uBAAuB,CAAC,mBAAmB,CA2J7C,CAAC;AAMF;;;;;GAKG;AACH,eAAO,MAAM,WAAW,GACtB,aAAa,MAAM,EACnB,gBAAc,KACb,OAAO,CACR,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,GAAG,WAAW,CAmBpE,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,GACzB,QAAQ,MAAM,EACd,MAAM,MAAM,EACZ,oBAAkB,KACjB,OAAO,CAAC,oBAAoB,GAAG,WAAW,CAiC5C,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,QAAQ,GACnB,QAAQ,MAAM,KACb,OAAO,CAAC,cAAc,GAAG,WAAW,CAQtC,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,UAAU,GACrB,SAAS,MAAM,EACf,QAAQ,MAAM,KACb,OAAO,CAAC,gBAAgB,GAAG,WAAW,CAyBxC,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,wBAAwB,GACnC,SAAS,MAAM,EACf,QAAQ,MAAM,EACd,oBAAkB,KACjB,OAAO,CAAC,sBAAsB,GAAG,WAAW,CA6B9C,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,qBAAqB,GAChC,SAAS,MAAM,EACf,QAAQ,MAAM,EACd,oBAAkB,KACjB,OAAO,CAAC,sBAAsB,GAAG,WAAW,CA4C9C,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,6BAA6B,GACxC,SAAS,MAAM,EACf,QAAQ,MAAM,EACd,oBAAkB,KACjB,OAAO,CAAC,sBAAsB,GAAG,WAAW,CA8C9C,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,cAAc,GACzB,QAAQ,MAAM,EACd,QAAQ,MAAM,KACb,OAAO,CAAC,oBAAoB,GAAG,WAAW,CA6C5C,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,kBAAkB,GAC7B,QAAQ,MAAM,EACd,SAAS,MAAM,EACf,YAAW,MAAM,EAAO,EACxB,oBAAkB,KACjB,OAAO,CAAC,uBAAuB,GAAG,WAAW,CA2C/C,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,kBAAkB,GAC7B,QAAQ,MAAM,EACd,SAAS,MAAM,EACf,YAAW,MAAM,EAAO,EACxB,oBAAkB,KACjB,OAAO,CAAC,uBAAuB,GAAG,WAAW,CAiF/C,CAAC;AAiBF;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,GAChC,oBAA0B,KACzB,OAAO,CAAC,cAAc,EAAE,CA4B1B,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,QAAa,OAAO,CAAC,cAAc,GAAG,IAAI,CAGtE,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,oBAAoB,GAC/B,SAAS,MAAM,KACd,OAAO,CAAC,mBAAmB,GAAG,WAAW,CA6D3C,CAAC;AAMF;;;GAGG;AACH,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,CAAC"}