@intelligentelectron/pcb-lens 0.0.5 → 0.0.7

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 (37) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/README.md +2 -0
  3. package/dist/cli/commands.d.ts +5 -0
  4. package/dist/cli/commands.d.ts.map +1 -1
  5. package/dist/cli/commands.js +18 -2
  6. package/dist/cli/commands.js.map +1 -1
  7. package/dist/index.js +6 -1
  8. package/dist/index.js.map +1 -1
  9. package/dist/server.d.ts.map +1 -1
  10. package/dist/server.js +3 -0
  11. package/dist/server.js.map +1 -1
  12. package/dist/telemetry.d.ts +61 -0
  13. package/dist/telemetry.d.ts.map +1 -0
  14. package/dist/telemetry.js +184 -0
  15. package/dist/telemetry.js.map +1 -0
  16. package/dist/tools/export-cadence-board.d.ts.map +1 -1
  17. package/dist/tools/export-cadence-board.js +3 -2
  18. package/dist/tools/export-cadence-board.js.map +1 -1
  19. package/dist/tools/export-cadence-constraints.d.ts.map +1 -1
  20. package/dist/tools/export-cadence-constraints.js +3 -2
  21. package/dist/tools/export-cadence-constraints.js.map +1 -1
  22. package/dist/tools/get-design-overview.d.ts.map +1 -1
  23. package/dist/tools/get-design-overview.js +3 -2
  24. package/dist/tools/get-design-overview.js.map +1 -1
  25. package/dist/tools/lib/types.d.ts +9 -2
  26. package/dist/tools/lib/types.d.ts.map +1 -1
  27. package/dist/tools/query-components.d.ts.map +1 -1
  28. package/dist/tools/query-components.js +3 -2
  29. package/dist/tools/query-components.js.map +1 -1
  30. package/dist/tools/query-constraints.d.ts.map +1 -1
  31. package/dist/tools/query-constraints.js +3 -2
  32. package/dist/tools/query-constraints.js.map +1 -1
  33. package/dist/tools/query-net.d.ts +2 -2
  34. package/dist/tools/query-net.d.ts.map +1 -1
  35. package/dist/tools/query-net.js +112 -51
  36. package/dist/tools/query-net.js.map +1 -1
  37. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -5,6 +5,27 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [0.0.7] - 2026-02-27
9
+
10
+ ### Fixed
11
+
12
+ - `query_net` now extracts pins from `<LogicalNet>` sections instead of only `<LayerFeature>/<Set>`, which returned empty pin arrays
13
+ - `query_net` now extracts layer usage from `<PhyNetPoint>` sections, fixing empty `layersUsed` for nets without routing segments
14
+ - `query_net` now returns all nets matching the regex pattern instead of only the first match
15
+
16
+ ### Changed
17
+
18
+ - `query_net` return type changed from single `QueryNetResult` to `QueryNetsResult` wrapper with `pattern`, `units`, and `matches` array (consistent with `query_components`)
19
+ - Non-matching patterns now return `{ matches: [] }` instead of an error
20
+
21
+ ## [0.0.6] - 2026-02-27
22
+
23
+ ### Added
24
+
25
+ - Local JSONL telemetry for usage analytics (session info and tool invocations, local-only, fire-and-forget)
26
+ - `--export-telemetry` CLI flag to export telemetry data as a zip file
27
+ - API documentation in `docs/` (tool reference, response schemas, guides)
28
+
8
29
  ## [0.0.5] - 2026-02-27
9
30
 
10
31
  ### Added
@@ -62,6 +83,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
62
83
  - Release automation with CI workflows and binary compilation
63
84
  - Integration tests against IPC-2581 consortium fixtures
64
85
 
86
+ [0.0.6]: https://github.com/IntelligentElectron/pcb-lens/releases/tag/v0.0.6
65
87
  [0.0.5]: https://github.com/IntelligentElectron/pcb-lens/releases/tag/v0.0.5
66
88
  [0.0.4]: https://github.com/IntelligentElectron/pcb-lens/releases/tag/v0.0.4
67
89
  [0.0.3]: https://github.com/IntelligentElectron/pcb-lens/releases/tag/v0.0.3
package/README.md CHANGED
@@ -141,6 +141,8 @@ Then enable it in **Configure Tools** (click the tools icon in Copilot chat).
141
141
 
142
142
  ## Documentation
143
143
 
144
+ See [docs/](docs/README.md) for API documentation and response schemas.
145
+
144
146
  See [CONTRIBUTING.md](CONTRIBUTING.md) for development guidelines.
145
147
 
146
148
  ---
@@ -20,4 +20,9 @@ export declare const handleUpdateCommand: () => Promise<void>;
20
20
  * Removes the binary and PATH entries from shell rc files.
21
21
  */
22
22
  export declare const handleUninstallCommand: () => Promise<void>;
23
+ /**
24
+ * Handle --export-telemetry command.
25
+ * Exports telemetry data as a zip file in the current working directory.
26
+ */
27
+ export declare const handleExportTelemetryCommand: () => Promise<void>;
23
28
  //# sourceMappingURL=commands.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../src/cli/commands.ts"],"names":[],"mappings":"AAAA;;GAEG;AAcH;;GAEG;AACH,eAAO,MAAM,YAAY,QAAO,IAE/B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,SAAS,QAAO,IAqB5B,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,QAAa,OAAO,CAAC,IAAI,CA4CxD,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,sBAAsB,QAAa,OAAO,CAAC,IAAI,CAiC3D,CAAC"}
1
+ {"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../src/cli/commands.ts"],"names":[],"mappings":"AAAA;;GAEG;AAeH;;GAEG;AACH,eAAO,MAAM,YAAY,QAAO,IAE/B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,SAAS,QAAO,IAsB5B,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,QAAa,OAAO,CAAC,IAAI,CA4CxD,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,sBAAsB,QAAa,OAAO,CAAC,IAAI,CAiC3D,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,4BAA4B,QAAa,OAAO,CAAC,IAAI,CAQjE,CAAC"}
@@ -4,6 +4,7 @@
4
4
  import { existsSync, rmSync } from "node:fs";
5
5
  import { dirname } from "node:path";
6
6
  import { VERSION, GITHUB_REPO, BINARY_NAME } from "./version.js";
7
+ import { exportTelemetry } from "../telemetry.js";
7
8
  import { checkForUpdate, performUpdate, isNpmInstall, getCurrentExecutablePath, } from "./updater.js";
8
9
  import { confirm } from "./prompts.js";
9
10
  import { removeFromPath } from "./shell.js";
@@ -29,8 +30,9 @@ OPTIONS:
29
30
  --version, -v Print version and exit
30
31
  --help, -h Show this help message
31
32
  --update Check for and install updates
32
- --uninstall Remove binary and PATH entries
33
- --no-update Disable auto-update check on startup
33
+ --uninstall Remove binary and PATH entries
34
+ --export-telemetry Export telemetry data as a zip file
35
+ --no-update Disable auto-update check on startup
34
36
 
35
37
  MORE INFO:
36
38
  https://github.com/${GITHUB_REPO}
@@ -110,4 +112,18 @@ export const handleUninstallCommand = async () => {
110
112
  console.log("");
111
113
  console.log(`${BINARY_NAME} has been uninstalled.`);
112
114
  };
115
+ /**
116
+ * Handle --export-telemetry command.
117
+ * Exports telemetry data as a zip file in the current working directory.
118
+ */
119
+ export const handleExportTelemetryCommand = async () => {
120
+ try {
121
+ const zipPath = await exportTelemetry();
122
+ console.log(zipPath);
123
+ }
124
+ catch (error) {
125
+ console.error(error instanceof Error ? error.message : String(error));
126
+ process.exit(1);
127
+ }
128
+ };
113
129
  //# sourceMappingURL=commands.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"commands.js","sourceRoot":"","sources":["../../src/cli/commands.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"commands.js","sourceRoot":"","sources":["../../src/cli/commands.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -11,7 +11,7 @@
11
11
  * --update Check for and install updates
12
12
  * --uninstall Remove binary and PATH entries
13
13
  */
14
- import { printVersion, printHelp, handleUpdateCommand, handleUninstallCommand, } from "./cli/commands.js";
14
+ import { printVersion, printHelp, handleUpdateCommand, handleUninstallCommand, handleExportTelemetryCommand, } from "./cli/commands.js";
15
15
  import { autoUpdate, reexec } from "./cli/updater.js";
16
16
  import { runServer } from "./server.js";
17
17
  const main = async () => {
@@ -36,6 +36,11 @@ const main = async () => {
36
36
  await handleUninstallCommand();
37
37
  return;
38
38
  }
39
+ // Handle --export-telemetry
40
+ if (args.includes("--export-telemetry")) {
41
+ await handleExportTelemetryCommand();
42
+ return;
43
+ }
39
44
  // If running in a TTY (interactive terminal), show help instead of starting server
40
45
  if (process.stdin.isTTY) {
41
46
  console.log("This is an MCP server that communicates via stdio.");
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA;;;;;;;;;;;GAWG;AAEH,OAAO,EACL,YAAY,EACZ,SAAS,EACT,mBAAmB,EACnB,sBAAsB,GACvB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,MAAM,IAAI,GAAG,KAAK,IAAmB,EAAE;IACrC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAEnC,wBAAwB;IACxB,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACtD,YAAY,EAAE,CAAC;QACf,OAAO;IACT,CAAC;IAED,qBAAqB;IACrB,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACnD,SAAS,EAAE,CAAC;QACZ,OAAO;IACT,CAAC;IAED,kBAAkB;IAClB,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QAC9B,MAAM,mBAAmB,EAAE,CAAC;QAC5B,OAAO;IACT,CAAC;IAED,qBAAqB;IACrB,IAAI,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;QACjC,MAAM,sBAAsB,EAAE,CAAC;QAC/B,OAAO;IACT,CAAC;IAED,mFAAmF;IACnF,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACxB,OAAO,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAC;QAClE,OAAO,CAAC,GAAG,CAAC,2EAA2E,CAAC,CAAC;QACzF,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;QAC5C,OAAO,CAAC,GAAG,CACT,mHAAmH,CACpH,CAAC;QACF,OAAO,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC;QACtD,OAAO;IACT,CAAC;IAED,yBAAyB;IACzB,MAAM,OAAO,GAAG,MAAM,UAAU,EAAE,CAAC;IACnC,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,EAAE,CAAC;IACX,CAAC;IAED,MAAM,SAAS,EAAE,CAAC;AACpB,CAAC,CAAC;AAEF,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACrB,OAAO,CAAC,KAAK,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;IACtC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA;;;;;;;;;;;GAWG;AAEH,OAAO,EACL,YAAY,EACZ,SAAS,EACT,mBAAmB,EACnB,sBAAsB,EACtB,4BAA4B,GAC7B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,MAAM,IAAI,GAAG,KAAK,IAAmB,EAAE;IACrC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAEnC,wBAAwB;IACxB,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACtD,YAAY,EAAE,CAAC;QACf,OAAO;IACT,CAAC;IAED,qBAAqB;IACrB,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACnD,SAAS,EAAE,CAAC;QACZ,OAAO;IACT,CAAC;IAED,kBAAkB;IAClB,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QAC9B,MAAM,mBAAmB,EAAE,CAAC;QAC5B,OAAO;IACT,CAAC;IAED,qBAAqB;IACrB,IAAI,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;QACjC,MAAM,sBAAsB,EAAE,CAAC;QAC/B,OAAO;IACT,CAAC;IAED,4BAA4B;IAC5B,IAAI,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,CAAC;QACxC,MAAM,4BAA4B,EAAE,CAAC;QACrC,OAAO;IACT,CAAC;IAED,mFAAmF;IACnF,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACxB,OAAO,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAC;QAClE,OAAO,CAAC,GAAG,CAAC,2EAA2E,CAAC,CAAC;QACzF,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;QAC5C,OAAO,CAAC,GAAG,CACT,mHAAmH,CACpH,CAAC;QACF,OAAO,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC;QACtD,OAAO;IACT,CAAC;IAED,yBAAyB;IACzB,MAAM,OAAO,GAAG,MAAM,UAAU,EAAE,CAAC;IACnC,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,EAAE,CAAC;IACX,CAAC;IAED,MAAM,SAAS,EAAE,CAAC;AACpB,CAAC,CAAC;AAEF,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACrB,OAAO,CAAC,KAAK,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;IACtC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAiDpE;;GAEG;AACH,eAAO,MAAM,YAAY,QAAO,SAuB/B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,SAAS,QAAa,OAAO,CAAC,IAAI,CAI9C,CAAC"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAkDpE;;GAEG;AACH,eAAO,MAAM,YAAY,QAAO,SAuB/B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,SAAS,QAAa,OAAO,CAAC,IAAI,CAK9C,CAAC"}
package/dist/server.js CHANGED
@@ -4,9 +4,11 @@
4
4
  * Model Context Protocol server for querying IPC-2581 PCB layout files.
5
5
  * Supports any EDA tool that exports IPC-2581 XML.
6
6
  */
7
+ import crypto from "node:crypto";
7
8
  import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
8
9
  import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
9
10
  import { VERSION } from "./cli/version.js";
11
+ import { initTelemetry } from "./telemetry.js";
10
12
  import { register as registerGetDesignOverview } from "./tools/get-design-overview.js";
11
13
  import { register as registerQueryComponents } from "./tools/query-components.js";
12
14
  import { register as registerQueryNet } from "./tools/query-net.js";
@@ -75,6 +77,7 @@ export const createServer = () => {
75
77
  * Run the MCP server with stdio transport.
76
78
  */
77
79
  export const runServer = async () => {
80
+ initTelemetry(crypto.randomUUID());
78
81
  const server = createServer();
79
82
  const transport = new StdioServerTransport();
80
83
  await server.connect(transport);
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,QAAQ,IAAI,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AACvF,OAAO,EAAE,QAAQ,IAAI,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAClF,OAAO,EAAE,QAAQ,IAAI,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACpE,OAAO,EAAE,QAAQ,IAAI,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AACzF,OAAO,EAAE,QAAQ,IAAI,gCAAgC,EAAE,MAAM,uCAAuC,CAAC;AACrG,OAAO,EAAE,QAAQ,IAAI,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AAEpF,gFAAgF;AAChF,sBAAsB;AACtB,gFAAgF;AAEhF,MAAM,mBAAmB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6B3B,CAAC,IAAI,EAAE,CAAC;AAET,gFAAgF;AAChF,eAAe;AACf,gFAAgF;AAEhF;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,GAAc,EAAE;IAC1C,MAAM,MAAM,GAAG,IAAI,SAAS,CAC1B;QACE,IAAI,EAAE,qBAAqB;QAC3B,OAAO,EAAE,OAAO;KACjB,EACD;QACE,YAAY,EAAE;YACZ,KAAK,EAAE,EAAE;SACV;QACD,YAAY,EAAE,mBAAmB;KAClC,CACF,CAAC;IAEF,yBAAyB,CAAC,MAAM,CAAC,CAAC;IAClC,uBAAuB,CAAC,MAAM,CAAC,CAAC;IAChC,gBAAgB,CAAC,MAAM,CAAC,CAAC;IACzB,0BAA0B,CAAC,MAAM,CAAC,CAAC;IACnC,gCAAgC,CAAC,MAAM,CAAC,CAAC;IACzC,wBAAwB,CAAC,MAAM,CAAC,CAAC;IACjC,0FAA0F;IAE1F,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,KAAK,IAAmB,EAAE;IACjD,MAAM,MAAM,GAAG,YAAY,EAAE,CAAC;IAC9B,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AAClC,CAAC,CAAC"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,QAAQ,IAAI,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AACvF,OAAO,EAAE,QAAQ,IAAI,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAClF,OAAO,EAAE,QAAQ,IAAI,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACpE,OAAO,EAAE,QAAQ,IAAI,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AACzF,OAAO,EAAE,QAAQ,IAAI,gCAAgC,EAAE,MAAM,uCAAuC,CAAC;AACrG,OAAO,EAAE,QAAQ,IAAI,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AAEpF,gFAAgF;AAChF,sBAAsB;AACtB,gFAAgF;AAEhF,MAAM,mBAAmB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6B3B,CAAC,IAAI,EAAE,CAAC;AAET,gFAAgF;AAChF,eAAe;AACf,gFAAgF;AAEhF;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,GAAc,EAAE;IAC1C,MAAM,MAAM,GAAG,IAAI,SAAS,CAC1B;QACE,IAAI,EAAE,qBAAqB;QAC3B,OAAO,EAAE,OAAO;KACjB,EACD;QACE,YAAY,EAAE;YACZ,KAAK,EAAE,EAAE;SACV;QACD,YAAY,EAAE,mBAAmB;KAClC,CACF,CAAC;IAEF,yBAAyB,CAAC,MAAM,CAAC,CAAC;IAClC,uBAAuB,CAAC,MAAM,CAAC,CAAC;IAChC,gBAAgB,CAAC,MAAM,CAAC,CAAC;IACzB,0BAA0B,CAAC,MAAM,CAAC,CAAC;IACnC,gCAAgC,CAAC,MAAM,CAAC,CAAC;IACzC,wBAAwB,CAAC,MAAM,CAAC,CAAC;IACjC,0FAA0F;IAE1F,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,KAAK,IAAmB,EAAE;IACjD,aAAa,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;IACnC,MAAM,MAAM,GAAG,YAAY,EAAE,CAAC;IAC9B,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AAClC,CAAC,CAAC"}
@@ -0,0 +1,61 @@
1
+ /**
2
+ * Local JSONL telemetry for usage analytics.
3
+ *
4
+ * Writes session and tool-call events to a local telemetry.jsonl file.
5
+ * All writes are fire-and-forget; errors are silently caught.
6
+ */
7
+ export interface SessionEvent {
8
+ timestamp: string;
9
+ session_id: string;
10
+ version: string;
11
+ username: string;
12
+ machine: {
13
+ platform: string;
14
+ arch: string;
15
+ os_release: string;
16
+ hostname: string;
17
+ };
18
+ }
19
+ export interface ToolEvent {
20
+ timestamp: string;
21
+ session_id: string;
22
+ tool: string;
23
+ args: Record<string, unknown>;
24
+ duration_ms: number;
25
+ success: boolean;
26
+ }
27
+ /**
28
+ * Get the install directory for telemetry storage.
29
+ *
30
+ * For compiled binaries: parent of the bin/ directory containing the executable.
31
+ * For npm/dev: platform-specific fallback matching install.sh conventions.
32
+ */
33
+ export declare const getInstallDir: () => string;
34
+ export declare const getTelemetryPath: () => string;
35
+ /**
36
+ * Initialize telemetry for this session.
37
+ * Writes the one-time session event with user/machine info.
38
+ */
39
+ export declare const initTelemetry: (id: string) => void;
40
+ /**
41
+ * Log a tool invocation event.
42
+ */
43
+ export declare const logToolEvent: (partial: {
44
+ tool: string;
45
+ args: Record<string, unknown>;
46
+ duration_ms: number;
47
+ success: boolean;
48
+ }) => void;
49
+ type ToolHandler<T, R> = (args: T) => Promise<R>;
50
+ /**
51
+ * Wrap a tool handler to automatically log telemetry.
52
+ * Measures duration, detects errors in results, logs fire-and-forget.
53
+ */
54
+ export declare const withTelemetry: <T extends Record<string, unknown>, R>(toolName: string, handler: ToolHandler<T, R>) => ToolHandler<T, R>;
55
+ /**
56
+ * Export telemetry file as a zip archive in the current working directory.
57
+ * Returns the path to the created zip file.
58
+ */
59
+ export declare const exportTelemetry: () => Promise<string>;
60
+ export {};
61
+ //# sourceMappingURL=telemetry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"telemetry.d.ts","sourceRoot":"","sources":["../src/telemetry.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAYH,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE;QACP,QAAQ,EAAE,MAAM,CAAC;QACjB,IAAI,EAAE,MAAM,CAAC;QACb,UAAU,EAAE,MAAM,CAAC;QACnB,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;CACH;AAED,MAAM,WAAW,SAAS;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;CAClB;AASD;;;;;GAKG;AACH,eAAO,MAAM,aAAa,QAAO,MAkBhC,CAAC;AAEF,eAAO,MAAM,gBAAgB,QAAO,MAKnC,CAAC;AAmBF;;;GAGG;AACH,eAAO,MAAM,aAAa,GAAI,IAAI,MAAM,KAAG,IAY1C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,YAAY,GAAI,SAAS;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;CAClB,KAAG,IAUH,CAAC;AAMF,KAAK,WAAW,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;AAEjD;;;GAGG;AACH,eAAO,MAAM,aAAa,GAAI,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,EAChE,UAAU,MAAM,EAChB,SAAS,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,KACzB,WAAW,CAAC,CAAC,EAAE,CAAC,CAuBlB,CAAC;AAMF;;;GAGG;AACH,eAAO,MAAM,eAAe,QAAa,OAAO,CAAC,MAAM,CAwBtD,CAAC"}
@@ -0,0 +1,184 @@
1
+ /**
2
+ * Local JSONL telemetry for usage analytics.
3
+ *
4
+ * Writes session and tool-call events to a local telemetry.jsonl file.
5
+ * All writes are fire-and-forget; errors are silently caught.
6
+ */
7
+ import { appendFileSync, mkdirSync, existsSync, statSync } from "node:fs";
8
+ import { dirname, join } from "node:path";
9
+ import { userInfo, hostname, platform, arch, release } from "node:os";
10
+ import { execSync } from "node:child_process";
11
+ import { VERSION } from "./cli/version.js";
12
+ // =============================================================================
13
+ // Install directory resolution
14
+ // =============================================================================
15
+ const isCompiledBinary = () => !process.execPath.includes("node") && !process.execPath.includes("bun");
16
+ /**
17
+ * Get the install directory for telemetry storage.
18
+ *
19
+ * For compiled binaries: parent of the bin/ directory containing the executable.
20
+ * For npm/dev: platform-specific fallback matching install.sh conventions.
21
+ */
22
+ export const getInstallDir = () => {
23
+ if (isCompiledBinary()) {
24
+ // execPath = <install_dir>/bin/pcb-lens
25
+ return dirname(dirname(process.execPath));
26
+ }
27
+ // npm/dev fallback: platform-specific data directory
28
+ switch (process.platform) {
29
+ case "darwin":
30
+ return join(process.env.HOME ?? userInfo().homedir, "Library/Application Support/pcb-lens");
31
+ case "win32":
32
+ return join(process.env.LOCALAPPDATA ?? join(userInfo().homedir, "AppData/Local"), "pcb-lens");
33
+ default:
34
+ return join(process.env.HOME ?? userInfo().homedir, ".local/share/pcb-lens");
35
+ }
36
+ };
37
+ export const getTelemetryPath = () => {
38
+ if (process.env.PCB_LENS_TELEMETRY_PATH) {
39
+ return process.env.PCB_LENS_TELEMETRY_PATH;
40
+ }
41
+ return join(getInstallDir(), "telemetry.jsonl");
42
+ };
43
+ // =============================================================================
44
+ // Module-level state
45
+ // =============================================================================
46
+ let sessionId;
47
+ const machineInfo = {
48
+ platform: platform(),
49
+ arch: arch(),
50
+ os_release: release(),
51
+ hostname: hostname(),
52
+ };
53
+ // =============================================================================
54
+ // Core functions
55
+ // =============================================================================
56
+ /**
57
+ * Initialize telemetry for this session.
58
+ * Writes the one-time session event with user/machine info.
59
+ */
60
+ export const initTelemetry = (id) => {
61
+ sessionId = id;
62
+ const event = {
63
+ timestamp: new Date().toISOString(),
64
+ session_id: id,
65
+ version: VERSION,
66
+ username: getUserName(),
67
+ machine: machineInfo,
68
+ };
69
+ appendLine(JSON.stringify(event));
70
+ };
71
+ /**
72
+ * Log a tool invocation event.
73
+ */
74
+ export const logToolEvent = (partial) => {
75
+ if (!sessionId)
76
+ return;
77
+ const event = {
78
+ timestamp: new Date().toISOString(),
79
+ session_id: sessionId,
80
+ ...partial,
81
+ };
82
+ appendLine(JSON.stringify(event));
83
+ };
84
+ /**
85
+ * Wrap a tool handler to automatically log telemetry.
86
+ * Measures duration, detects errors in results, logs fire-and-forget.
87
+ */
88
+ export const withTelemetry = (toolName, handler) => {
89
+ return async (args) => {
90
+ const start = Date.now();
91
+ let success = true;
92
+ try {
93
+ const result = await handler(args);
94
+ // Detect error results (objects with an "error" field in the text content)
95
+ if (isErrorContent(result)) {
96
+ success = false;
97
+ }
98
+ return result;
99
+ }
100
+ catch (err) {
101
+ success = false;
102
+ throw err;
103
+ }
104
+ finally {
105
+ logToolEvent({
106
+ tool: toolName,
107
+ args: args,
108
+ duration_ms: Date.now() - start,
109
+ success,
110
+ });
111
+ }
112
+ };
113
+ };
114
+ // =============================================================================
115
+ // Export
116
+ // =============================================================================
117
+ /**
118
+ * Export telemetry file as a zip archive in the current working directory.
119
+ * Returns the path to the created zip file.
120
+ */
121
+ export const exportTelemetry = async () => {
122
+ const telemetryPath = getTelemetryPath();
123
+ if (!existsSync(telemetryPath)) {
124
+ throw new Error(`No telemetry file found at ${telemetryPath}`);
125
+ }
126
+ const stats = statSync(telemetryPath);
127
+ if (stats.size === 0) {
128
+ throw new Error("Telemetry file is empty");
129
+ }
130
+ const zipName = `telemetry-${new Date().toISOString().replace(/[:.]/g, "-")}.zip`;
131
+ const zipPath = join(process.cwd(), zipName);
132
+ if (process.platform === "win32") {
133
+ execSync(`tar -a -cf "${zipPath}" -C "${dirname(telemetryPath)}" telemetry.jsonl`, {
134
+ stdio: "pipe",
135
+ });
136
+ }
137
+ else {
138
+ execSync(`zip -j "${zipPath}" "${telemetryPath}"`, { stdio: "pipe" });
139
+ }
140
+ return zipPath;
141
+ };
142
+ // =============================================================================
143
+ // Internal helpers
144
+ // =============================================================================
145
+ let dirEnsured = false;
146
+ const appendLine = (line) => {
147
+ try {
148
+ const filePath = getTelemetryPath();
149
+ if (!dirEnsured) {
150
+ mkdirSync(dirname(filePath), { recursive: true });
151
+ dirEnsured = true;
152
+ }
153
+ appendFileSync(filePath, line + "\n");
154
+ }
155
+ catch {
156
+ // silently ignore all errors
157
+ }
158
+ };
159
+ const getUserName = () => {
160
+ try {
161
+ return userInfo().username;
162
+ }
163
+ catch {
164
+ return "unknown";
165
+ }
166
+ };
167
+ /**
168
+ * Check if a tool result contains an error by inspecting the MCP content structure.
169
+ */
170
+ const isErrorContent = (result) => {
171
+ if (typeof result !== "object" || result === null)
172
+ return false;
173
+ const r = result;
174
+ if (!Array.isArray(r.content) || r.content.length === 0)
175
+ return false;
176
+ try {
177
+ const parsed = JSON.parse(r.content[0].text ?? "");
178
+ return typeof parsed === "object" && parsed !== null && "error" in parsed;
179
+ }
180
+ catch {
181
+ return false;
182
+ }
183
+ };
184
+ //# sourceMappingURL=telemetry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"telemetry.js","sourceRoot":"","sources":["../src/telemetry.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"export-cadence-board.d.ts","sourceRoot":"","sources":["../../src/tools/export-cadence-board.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAGzE,OAAO,KAAK,EAAE,WAAW,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAQ5E,eAAO,MAAM,kBAAkB,GAC7B,SAAS,MAAM,EACf,UAAU;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,GAAG,GAAG,GAAG,CAAA;CAAE,KAClD,OAAO,CAAC,wBAAwB,GAAG,WAAW,CAqFhD,CAAC;AAEF,eAAO,MAAM,QAAQ,GAAI,QAAQ,SAAS,KAAG,IAyB5C,CAAC"}
1
+ {"version":3,"file":"export-cadence-board.d.ts","sourceRoot":"","sources":["../../src/tools/export-cadence-board.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAGzE,OAAO,KAAK,EAAE,WAAW,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAS5E,eAAO,MAAM,kBAAkB,GAC7B,SAAS,MAAM,EACf,UAAU;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,GAAG,GAAG,GAAG,CAAA;CAAE,KAClD,OAAO,CAAC,wBAAwB,GAAG,WAAW,CAqFhD,CAAC;AAEF,eAAO,MAAM,QAAQ,GAAI,QAAQ,SAAS,KAAG,IAyB5C,CAAC"}
@@ -5,6 +5,7 @@ import path from "node:path";
5
5
  import { z } from "zod";
6
6
  import { detectCadenceInstalls, requireWindows, serializeCadenceCall } from "./lib/cadence.js";
7
7
  import { formatResult } from "./shared.js";
8
+ import { withTelemetry } from "../telemetry.js";
8
9
  const execAsync = promisify(exec);
9
10
  const REV_B_FLAGS = "-f 1.03 -u MICRON -d -b -l -R -K -n -p -t -c -O -I -D -M -S -k -e";
10
11
  const REV_C_FLAGS = "-f 1.04 -u MICRON -d -b -l -R -K -G -Y -p -t -c -O -I -D -M -A -B -C -U -k -e";
@@ -100,9 +101,9 @@ export const register = (server) => {
100
101
  .optional()
101
102
  .describe('IPC-2581 revision: "B" (1.03) or "C" (1.04, default). Rev C is richest.'),
102
103
  },
103
- }, async ({ board, output, revision }) => {
104
+ }, withTelemetry("export_cadence_board", async ({ board, output, revision }) => {
104
105
  const result = await exportCadenceBoard(board, { output, revision });
105
106
  return formatResult(result);
106
- });
107
+ }));
107
108
  };
108
109
  //# sourceMappingURL=export-cadence-board.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"export-cadence-board.js","sourceRoot":"","sources":["../../src/tools/export-cadence-board.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"export-cadence-board.js","sourceRoot":"","sources":["../../src/tools/export-cadence-board.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,qBAAqB,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAE/F,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;AAElC,MAAM,WAAW,GAAG,mEAAmE,CAAC;AACxF,MAAM,WAAW,GAAG,+EAA+E,CAAC;AAEpG,MAAM,CAAC,MAAM,kBAAkB,GAAG,KAAK,EACrC,OAAe,EACf,OAAmD,EACF,EAAE;IACnD,MAAM,YAAY,GAAG,cAAc,CAAC,gBAAgB,CAAC,CAAC;IACtD,IAAI,YAAY;QAAE,OAAO,YAAY,CAAC;IAEtC,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC1C,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAChD,OAAO,EAAE,KAAK,EAAE,+BAA+B,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC;IACjF,CAAC;IACD,IAAI,CAAC;QACH,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,CAAC;QAClC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;YAChB,OAAO,EAAE,KAAK,EAAE,IAAI,WAAW,iBAAiB,EAAE,CAAC;QACrD,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,KAAK,EAAE,0BAA0B,WAAW,GAAG,EAAE,CAAC;IAC7D,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,qBAAqB,CAAC,iBAAiB,CAAC,CAAC;IAChE,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO;YACL,KAAK,EACH,6HAA6H;SAChI,CAAC;IACJ,CAAC;IACD,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAE5B,MAAM,QAAQ,GAAG,OAAO,EAAE,QAAQ,IAAI,GAAG,CAAC;IAC1C,MAAM,KAAK,GAAG,QAAQ,KAAK,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC;IAE3D,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IACzC,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IACnD,MAAM,UAAU,GAAG,OAAO,EAAE,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,OAAO,UAAU,CAAC,CAAC;IAC9E,MAAM,cAAc,GAAG,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,UAAU,MAAM,CAAC;IAEtF,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,OAAO,KAAK,KAAK,QAAQ,UAAU,MAAM,WAAW,GAAG,CAAC;IAEpF,OAAO,oBAAoB,CAAC,KAAK,IAAI,EAAE;QACrC,IAAI,CAAC;YACH,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,OAAO,EAAE;gBAClD,GAAG,EAAE,MAAM;gBACX,OAAO,EAAE,OAAO;aACjB,CAAC,CAAC;YAEH,MAAM,GAAG,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;YAErC,IAAI,GAAG,CAAC,QAAQ,CAAC,sCAAsC,CAAC,EAAE,CAAC;gBACzD,OAAO;oBACL,KAAK,EAAE,mFAAmF,GAAG,EAAE;iBAChG,CAAC;YACJ,CAAC;YAED,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,CAAC;gBACxC,OAAO;oBACL,KAAK,EAAE,8CAA8C,GAAG,EAAE;iBAC3D,CAAC;YACJ,CAAC;YAED,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,CAAC;gBAC3C,IAAI,OAAO,CAAC,IAAI,GAAG,IAAI,EAAE,CAAC;oBACxB,OAAO;wBACL,KAAK,EAAE,sCAAsC,OAAO,CAAC,IAAI,aAAa,cAAc,GAAG;qBACxF,CAAC;gBACJ,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO;oBACL,KAAK,EAAE,uDAAuD,cAAc,GAAG;iBAChF,CAAC;YACJ,CAAC;YAED,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,UAAU,EAAE,cAAc;gBAC1B,QAAQ;gBACR,cAAc,EAAE,OAAO,CAAC,OAAO;gBAC/B,GAAG,EAAE,GAAG,IAAI,SAAS;aACtB,CAAC;QACJ,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACtB,MAAM,SAAS,GAAG,GAA6D,CAAC;YAChF,MAAM,WAAW,GAAG,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;YAC3F,OAAO;gBACL,KAAK,EAAE,+BAA+B,SAAS,CAAC,OAAO,IAAI,eAAe,GAAG,WAAW,CAAC,CAAC,CAAC,UAAU,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE;aAC1H,CAAC;QACJ,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,MAAiB,EAAQ,EAAE;IAClD,MAAM,CAAC,YAAY,CACjB,sBAAsB,EACtB;QACE,WAAW,EACT,kLAAkL;QACpL,WAAW,EAAE;YACX,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;YAC/D,MAAM,EAAE,CAAC;iBACN,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CACP,iHAAiH,CAClH;YACH,QAAQ,EAAE,CAAC;iBACR,IAAI,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;iBAChB,QAAQ,EAAE;iBACV,QAAQ,CAAC,yEAAyE,CAAC;SACvF;KACF,EACD,aAAa,CAAC,sBAAsB,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE;QAC1E,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;QACrE,OAAO,YAAY,CAAC,MAAM,CAAC,CAAC;IAC9B,CAAC,CAAC,CACH,CAAC;AACJ,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"export-cadence-constraints.d.ts","sourceRoot":"","sources":["../../src/tools/export-cadence-constraints.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAGzE,OAAO,KAAK,EAAE,WAAW,EAAE,8BAA8B,EAAE,MAAM,gBAAgB,CAAC;AAKlF,eAAO,MAAM,wBAAwB,GACnC,SAAS,MAAM,EACf,UAAU;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,KAC5B,OAAO,CAAC,8BAA8B,GAAG,WAAW,CA0EtD,CAAC;AAEF,eAAO,MAAM,QAAQ,GAAI,QAAQ,SAAS,KAAG,IAmB5C,CAAC"}
1
+ {"version":3,"file":"export-cadence-constraints.d.ts","sourceRoot":"","sources":["../../src/tools/export-cadence-constraints.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAGzE,OAAO,KAAK,EAAE,WAAW,EAAE,8BAA8B,EAAE,MAAM,gBAAgB,CAAC;AAMlF,eAAO,MAAM,wBAAwB,GACnC,SAAS,MAAM,EACf,UAAU;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,KAC5B,OAAO,CAAC,8BAA8B,GAAG,WAAW,CA0EtD,CAAC;AAEF,eAAO,MAAM,QAAQ,GAAI,QAAQ,SAAS,KAAG,IAmB5C,CAAC"}
@@ -5,6 +5,7 @@ import path from "node:path";
5
5
  import { z } from "zod";
6
6
  import { detectCadenceInstalls, requireWindows, serializeCadenceCall } from "./lib/cadence.js";
7
7
  import { formatResult } from "./shared.js";
8
+ import { withTelemetry } from "../telemetry.js";
8
9
  const execAsync = promisify(exec);
9
10
  export const exportCadenceConstraints = async (brdPath, options) => {
10
11
  const windowsError = requireWindows("Cadence constraint export");
@@ -85,9 +86,9 @@ export const register = (server) => {
85
86
  .optional()
86
87
  .describe("Output .tcfx path. Defaults to <boardname>_constraints.tcfx next to the .brd"),
87
88
  },
88
- }, async ({ board, output }) => {
89
+ }, withTelemetry("export_cadence_constraints", async ({ board, output }) => {
89
90
  const result = await exportCadenceConstraints(board, { output });
90
91
  return formatResult(result);
91
- });
92
+ }));
92
93
  };
93
94
  //# sourceMappingURL=export-cadence-constraints.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"export-cadence-constraints.js","sourceRoot":"","sources":["../../src/tools/export-cadence-constraints.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"export-cadence-constraints.js","sourceRoot":"","sources":["../../src/tools/export-cadence-constraints.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"get-design-overview.d.ts","sourceRoot":"","sources":["../../src/tools/get-design-overview.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEzE,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAA0B,MAAM,gBAAgB,CAAC;AAI1F,eAAO,MAAM,iBAAiB,GAC5B,UAAU,MAAM,KACf,OAAO,CAAC,cAAc,GAAG,WAAW,CAoGtC,CAAC;AAEF,eAAO,MAAM,QAAQ,GAAI,QAAQ,SAAS,KAAG,IAe5C,CAAC"}
1
+ {"version":3,"file":"get-design-overview.d.ts","sourceRoot":"","sources":["../../src/tools/get-design-overview.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEzE,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAA0B,MAAM,gBAAgB,CAAC;AAK1F,eAAO,MAAM,iBAAiB,GAC5B,UAAU,MAAM,KACf,OAAO,CAAC,cAAc,GAAG,WAAW,CAoGtC,CAAC;AAEF,eAAO,MAAM,QAAQ,GAAI,QAAQ,SAAS,KAAG,IAe5C,CAAC"}
@@ -3,6 +3,7 @@ import path from "node:path";
3
3
  import { z } from "zod";
4
4
  import { attr, streamAllLines } from "./lib/xml-utils.js";
5
5
  import { formatResult, validateFile } from "./shared.js";
6
+ import { withTelemetry } from "../telemetry.js";
6
7
  export const getDesignOverview = async (filePath) => {
7
8
  const err = await validateFile(filePath);
8
9
  if (err)
@@ -95,9 +96,9 @@ export const register = (server) => {
95
96
  inputSchema: {
96
97
  file: z.string().describe("Path to IPC-2581 XML file"),
97
98
  },
98
- }, async ({ file }) => {
99
+ }, withTelemetry("get_design_overview", async ({ file }) => {
99
100
  const result = await getDesignOverview(file);
100
101
  return formatResult(result);
101
- });
102
+ }));
102
103
  };
103
104
  //# sourceMappingURL=get-design-overview.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"get-design-overview.js","sourceRoot":"","sources":["../../src/tools/get-design-overview.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"get-design-overview.js","sourceRoot":"","sources":["../../src/tools/get-design-overview.ts"],"names":[],"mappings":"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"}
@@ -113,11 +113,10 @@ export interface RenderNetResult {
113
113
  };
114
114
  }
115
115
  /**
116
- * Result from query_net tool.
116
+ * Per-net result from query_net tool.
117
117
  */
118
118
  export interface QueryNetResult {
119
119
  netName: string;
120
- units: string;
121
120
  pins: NetPin[];
122
121
  routing: NetRouteInfo[];
123
122
  vias: NetViaInfo[];
@@ -125,6 +124,14 @@ export interface QueryNetResult {
125
124
  totalVias: number;
126
125
  layersUsed: string[];
127
126
  }
127
+ /**
128
+ * Result from query_net tool (multi-match wrapper).
129
+ */
130
+ export interface QueryNetsResult {
131
+ pattern: string;
132
+ units: string;
133
+ matches: QueryNetResult[];
134
+ }
128
135
  /**
129
136
  * Detected Cadence SPB installation.
130
137
  */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/tools/lib/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,eAAO,MAAM,aAAa,GAAI,QAAQ,OAAO,KAAG,MAAM,IAAI,WACY,CAAC;AAEvE;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,WAAW,EAAE,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACzC;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,eAAe,EAAE,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,MAAM;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;CACb;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE;QACL,UAAU,EAAE,MAAM,CAAC;QACnB,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;QACjB,YAAY,EAAE,MAAM,CAAC;QACrB,UAAU,EAAE,MAAM,EAAE,CAAC;KACtB,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,IAAI,EAAE,UAAU,EAAE,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,GAAG,GAAG,GAAG,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,MAAM,WAAW,8BAA8B;IAC7C,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAChE,UAAU,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAClD,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC/C,YAAY,CAAC,EAAE,YAAY,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACpC;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,iBAAiB,EAAE,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACxD;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,gBAAgB,EAAE,CAAC;CAC7B"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/tools/lib/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"query-components.d.ts","sourceRoot":"","sources":["../../src/tools/query-components.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEzE,OAAO,KAAK,EAGV,WAAW,EACX,qBAAqB,EACtB,MAAM,gBAAgB,CAAC;AAIxB,eAAO,MAAM,eAAe,GAC1B,UAAU,MAAM,EAChB,SAAS,MAAM,KACd,OAAO,CAAC,qBAAqB,GAAG,WAAW,CAyH7C,CAAC;AAEF,eAAO,MAAM,QAAQ,GAAI,QAAQ,SAAS,KAAG,IAkB5C,CAAC"}
1
+ {"version":3,"file":"query-components.d.ts","sourceRoot":"","sources":["../../src/tools/query-components.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEzE,OAAO,KAAK,EAGV,WAAW,EACX,qBAAqB,EACtB,MAAM,gBAAgB,CAAC;AAKxB,eAAO,MAAM,eAAe,GAC1B,UAAU,MAAM,EAChB,SAAS,MAAM,KACd,OAAO,CAAC,qBAAqB,GAAG,WAAW,CAyH7C,CAAC;AAEF,eAAO,MAAM,QAAQ,GAAI,QAAQ,SAAS,KAAG,IAkB5C,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import { z } from "zod";
2
2
  import { attr, numAttr, streamAllLines } from "./lib/xml-utils.js";
3
3
  import { extractMicronFactor, formatResult, validateFile, validatePattern } from "./shared.js";
4
+ import { withTelemetry } from "../telemetry.js";
4
5
  export const queryComponents = async (filePath, pattern) => {
5
6
  const err = await validateFile(filePath);
6
7
  if (err)
@@ -119,9 +120,9 @@ export const register = (server) => {
119
120
  .string()
120
121
  .describe("Regex pattern for component refdes (e.g., '^U1$', '^C\\\\d+', 'R10[0-9]')"),
121
122
  },
122
- }, async ({ file, pattern }) => {
123
+ }, withTelemetry("query_components", async ({ file, pattern }) => {
123
124
  const result = await queryComponents(file, pattern);
124
125
  return formatResult(result);
125
- });
126
+ }));
126
127
  };
127
128
  //# sourceMappingURL=query-components.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"query-components.js","sourceRoot":"","sources":["../../src/tools/query-components.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"query-components.js","sourceRoot":"","sources":["../../src/tools/query-components.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"query-constraints.d.ts","sourceRoot":"","sources":["../../src/tools/query-constraints.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAGzE,OAAO,KAAK,EAEV,yBAAyB,EACzB,wBAAwB,EAGxB,WAAW,EACZ,MAAM,gBAAgB,CAAC;AA0SxB,eAAO,MAAM,gBAAgB,GAC3B,UAAU,MAAM,EAChB,UAAU,MAAM,KACf,OAAO,CAAC,yBAAyB,GAAG,wBAAwB,GAAG,WAAW,CAS5E,CAAC;AAMF,eAAO,MAAM,QAAQ,GAAI,QAAQ,SAAS,KAAG,IAqB5C,CAAC"}
1
+ {"version":3,"file":"query-constraints.d.ts","sourceRoot":"","sources":["../../src/tools/query-constraints.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAGzE,OAAO,KAAK,EAEV,yBAAyB,EACzB,wBAAwB,EAGxB,WAAW,EACZ,MAAM,gBAAgB,CAAC;AA2SxB,eAAO,MAAM,gBAAgB,GAC3B,UAAU,MAAM,EAChB,UAAU,MAAM,KACf,OAAO,CAAC,yBAAyB,GAAG,wBAAwB,GAAG,WAAW,CAS5E,CAAC;AAMF,eAAO,MAAM,QAAQ,GAAI,QAAQ,SAAS,KAAG,IAqB5C,CAAC"}
@@ -3,6 +3,7 @@ import path from "node:path";
3
3
  import { z } from "zod";
4
4
  import { attr, numAttr, streamAllLines } from "./lib/xml-utils.js";
5
5
  import { formatResult } from "./shared.js";
6
+ import { withTelemetry } from "../telemetry.js";
6
7
  // =============================================================================
7
8
  // File validation
8
9
  // =============================================================================
@@ -301,9 +302,9 @@ export const register = (server) => {
301
302
  .optional()
302
303
  .describe("Section name to query (e.g., 'PhysicalCSet', 'SpacingCSet'). Omit for overview."),
303
304
  },
304
- }, async ({ file, section }) => {
305
+ }, withTelemetry("query_constraints", async ({ file, section }) => {
305
306
  const result = await queryConstraints(file, section);
306
307
  return formatResult(result);
307
- });
308
+ }));
308
309
  };
309
310
  //# sourceMappingURL=query-constraints.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"query-constraints.js","sourceRoot":"","sources":["../../src/tools/query-constraints.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"query-constraints.js","sourceRoot":"","sources":["../../src/tools/query-constraints.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
- import type { ErrorResult, QueryNetResult } from "./lib/types.js";
3
- export declare const queryNet: (filePath: string, pattern: string) => Promise<QueryNetResult | ErrorResult>;
2
+ import type { ErrorResult, QueryNetsResult } from "./lib/types.js";
3
+ export declare const queryNet: (filePath: string, pattern: string) => Promise<QueryNetsResult | ErrorResult>;
4
4
  export declare const register: (server: McpServer) => void;
5
5
  //# sourceMappingURL=query-net.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"query-net.d.ts","sourceRoot":"","sources":["../../src/tools/query-net.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEzE,OAAO,KAAK,EAAE,WAAW,EAAoC,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAUpG,eAAO,MAAM,QAAQ,GACnB,UAAU,MAAM,EAChB,SAAS,MAAM,KACd,OAAO,CAAC,cAAc,GAAG,WAAW,CAmJtC,CAAC;AAEF,eAAO,MAAM,QAAQ,GAAI,QAAQ,SAAS,KAAG,IAkB5C,CAAC"}
1
+ {"version":3,"file":"query-net.d.ts","sourceRoot":"","sources":["../../src/tools/query-net.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEzE,OAAO,KAAK,EACV,WAAW,EAIX,eAAe,EAChB,MAAM,gBAAgB,CAAC;AAmCxB,eAAO,MAAM,QAAQ,GACnB,UAAU,MAAM,EAChB,SAAS,MAAM,KACd,OAAO,CAAC,eAAe,GAAG,WAAW,CAqMvC,CAAC;AAEF,eAAO,MAAM,QAAQ,GAAI,QAAQ,SAAS,KAAG,IAkB5C,CAAC"}
@@ -1,6 +1,21 @@
1
1
  import { z } from "zod";
2
2
  import { attr, numAttr, streamAllLines } from "./lib/xml-utils.js";
3
3
  import { buildLineDescDict, extractMicronFactor, formatResult, validateFile, validatePattern, } from "./shared.js";
4
+ import { withTelemetry } from "../telemetry.js";
5
+ const makeAccumulator = () => ({
6
+ pins: [],
7
+ pinsSeen: new Set(),
8
+ phyNetLayers: new Set(),
9
+ routeMap: new Map(),
10
+ viaMap: new Map(),
11
+ });
12
+ const addPin = (acc, refdes, pin) => {
13
+ const key = `${refdes}.${pin}`;
14
+ if (!acc.pinsSeen.has(key)) {
15
+ acc.pinsSeen.add(key);
16
+ acc.pins.push({ refdes, pin });
17
+ }
18
+ };
4
19
  export const queryNet = async (filePath, pattern) => {
5
20
  const err = await validateFile(filePath);
6
21
  if (err)
@@ -10,32 +25,79 @@ export const queryNet = async (filePath, pattern) => {
10
25
  return validation;
11
26
  const { regex } = validation;
12
27
  const factor = await extractMicronFactor(filePath);
13
- // Pass 1: Find matching net name from PhyNet section
14
- let matchedNetName = null;
28
+ // Pass 1: Discover matching nets from LogicalNet + PhyNet sections,
29
+ // extract pins from LogicalNet, extract layers from PhyNetPoint.
30
+ const accumulators = new Map();
31
+ let insideMatchedLogicalNet = false;
32
+ let insideMatchedPhyNet = false;
33
+ let currentLogicalNetName = "";
34
+ let currentPhyNetName = "";
15
35
  await streamAllLines(filePath, (line) => {
36
+ // Stop once we reach LayerFeature (Pass 3 handles that)
37
+ if (line.includes("<LayerFeature"))
38
+ return false;
39
+ // LogicalNet pin extraction
40
+ if (line.includes("<LogicalNet ")) {
41
+ const name = attr(line, "name");
42
+ if (name && regex.test(name)) {
43
+ insideMatchedLogicalNet = true;
44
+ currentLogicalNetName = name;
45
+ if (!accumulators.has(name))
46
+ accumulators.set(name, makeAccumulator());
47
+ }
48
+ else {
49
+ insideMatchedLogicalNet = false;
50
+ }
51
+ }
52
+ if (insideMatchedLogicalNet) {
53
+ if (line.includes("<PinRef ")) {
54
+ const compRef = attr(line, "componentRef");
55
+ const pin = attr(line, "pin");
56
+ if (compRef && pin) {
57
+ addPin(accumulators.get(currentLogicalNetName), compRef, pin);
58
+ }
59
+ }
60
+ if (line.includes("</LogicalNet>")) {
61
+ insideMatchedLogicalNet = false;
62
+ }
63
+ }
64
+ // PhyNet layer extraction
16
65
  if (line.includes("<PhyNet ")) {
17
66
  const name = attr(line, "name");
18
67
  if (name && regex.test(name)) {
19
- if (!matchedNetName)
20
- matchedNetName = name;
21
- return false;
68
+ insideMatchedPhyNet = true;
69
+ currentPhyNetName = name;
70
+ if (!accumulators.has(name))
71
+ accumulators.set(name, makeAccumulator());
72
+ }
73
+ else {
74
+ insideMatchedPhyNet = false;
75
+ }
76
+ }
77
+ if (insideMatchedPhyNet) {
78
+ if (line.includes("<PhyNetPoint ")) {
79
+ const layerRef = attr(line, "layerRef");
80
+ if (layerRef) {
81
+ accumulators.get(currentPhyNetName).phyNetLayers.add(layerRef);
82
+ }
83
+ }
84
+ if (line.includes("</PhyNet>")) {
85
+ insideMatchedPhyNet = false;
22
86
  }
23
87
  }
24
88
  });
25
- if (!matchedNetName) {
26
- return { error: `No net matching pattern '${pattern}' found` };
89
+ // If no nets matched, return empty matches (not an error)
90
+ if (accumulators.size === 0) {
91
+ return { pattern, units: "MICRON", matches: [] };
27
92
  }
28
- // Pass 2: Build LineDesc dictionary (for resolving trace widths)
93
+ // Pass 2: Build LineDesc dictionary
29
94
  const lineDescDict = await buildLineDescDict(filePath);
30
- // Pass 3: Single pass through LayerFeature sections.
31
- // Collect pins, routing, and vias for the matched net.
32
- const pins = [];
33
- const pinsSeen = new Set();
34
- const routeMap = new Map();
35
- const viaMap = new Map();
95
+ // Pass 3: LayerFeature routing/vias for all matched nets
96
+ const matchedNames = new Set(accumulators.keys());
36
97
  const skipLayers = new Set(["REF-route", "REF-both"]);
37
98
  let currentLayerName = "";
38
99
  let insideMatchedSet = false;
100
+ let currentSetNetName = "";
39
101
  let currentSetHasPolyline = false;
40
102
  let currentSetLineDescId;
41
103
  let currentSetInlineWidth;
@@ -46,22 +108,20 @@ export const queryNet = async (filePath, pattern) => {
46
108
  }
47
109
  if (line.includes("<Set ")) {
48
110
  const netName = attr(line, "net");
49
- insideMatchedSet = netName === matchedNetName && !skipLayers.has(currentLayerName);
111
+ insideMatchedSet = Boolean(netName && matchedNames.has(netName) && !skipLayers.has(currentLayerName));
112
+ currentSetNetName = netName ?? "";
50
113
  currentSetHasPolyline = false;
51
114
  currentSetLineDescId = undefined;
52
115
  currentSetInlineWidth = undefined;
53
116
  currentSetGeometry = attr(line, "geometry");
54
117
  }
55
118
  if (insideMatchedSet) {
119
+ const acc = accumulators.get(currentSetNetName);
56
120
  if (line.includes("<PinRef ")) {
57
121
  const compRef = attr(line, "componentRef");
58
122
  const pin = attr(line, "pin");
59
123
  if (compRef && pin) {
60
- const key = `${compRef}.${pin}`;
61
- if (!pinsSeen.has(key)) {
62
- pinsSeen.add(key);
63
- pins.push({ refdes: compRef, pin });
64
- }
124
+ addPin(acc, compRef, pin);
65
125
  }
66
126
  }
67
127
  if (line.includes("<Polyline")) {
@@ -81,15 +141,15 @@ export const queryNet = async (filePath, pattern) => {
81
141
  if (platingStatus === "VIA") {
82
142
  const diameter = numAttr(line, "diameter");
83
143
  const key = currentSetGeometry ?? `dia_${diameter ?? "unknown"}`;
84
- viaMap.set(key, (viaMap.get(key) ?? 0) + 1);
144
+ acc.viaMap.set(key, (acc.viaMap.get(key) ?? 0) + 1);
85
145
  }
86
146
  }
87
147
  if (line.includes("</Set>")) {
88
148
  if (currentSetHasPolyline && currentLayerName) {
89
- if (!routeMap.has(currentLayerName)) {
90
- routeMap.set(currentLayerName, { widths: new Set(), segments: 0 });
149
+ if (!acc.routeMap.has(currentLayerName)) {
150
+ acc.routeMap.set(currentLayerName, { widths: new Set(), segments: 0 });
91
151
  }
92
- const layerRoute = routeMap.get(currentLayerName);
152
+ const layerRoute = acc.routeMap.get(currentLayerName);
93
153
  layerRoute.segments++;
94
154
  if (currentSetLineDescId) {
95
155
  const width = lineDescDict.get(currentSetLineDescId);
@@ -105,31 +165,32 @@ export const queryNet = async (filePath, pattern) => {
105
165
  }
106
166
  }
107
167
  });
108
- const routing = [];
109
- for (const [layerName, data] of routeMap) {
110
- routing.push({
111
- layerName,
112
- traceWidths: [...data.widths].sort((a, b) => a - b),
113
- segmentCount: data.segments,
114
- });
115
- }
116
- const vias = [];
117
- for (const [padstackRef, count] of viaMap) {
118
- vias.push({ padstackRef, count });
119
- }
120
- const totalSegments = routing.reduce((sum, r) => sum + r.segmentCount, 0);
121
- const totalVias = vias.reduce((sum, v) => sum + v.count, 0);
122
- const layersUsed = routing.map((r) => r.layerName).sort();
123
- return {
124
- netName: matchedNetName,
125
- units: "MICRON",
126
- pins,
127
- routing,
128
- vias,
129
- totalSegments,
130
- totalVias,
131
- layersUsed,
132
- };
168
+ // Assemble results
169
+ const matches = [...accumulators.entries()]
170
+ .sort(([a], [b]) => a.localeCompare(b))
171
+ .map(([netName, acc]) => {
172
+ const routing = [];
173
+ for (const [layerName, data] of acc.routeMap) {
174
+ routing.push({
175
+ layerName,
176
+ traceWidths: [...data.widths].sort((a, b) => a - b),
177
+ segmentCount: data.segments,
178
+ });
179
+ }
180
+ const vias = [];
181
+ for (const [padstackRef, count] of acc.viaMap) {
182
+ vias.push({ padstackRef, count });
183
+ }
184
+ const totalSegments = routing.reduce((sum, r) => sum + r.segmentCount, 0);
185
+ const totalVias = vias.reduce((sum, v) => sum + v.count, 0);
186
+ // Merge PhyNetPoint layers with routing-derived layers
187
+ const layerSet = new Set(acc.phyNetLayers);
188
+ for (const r of routing)
189
+ layerSet.add(r.layerName);
190
+ const layersUsed = [...layerSet].sort();
191
+ return { netName, pins: acc.pins, routing, vias, totalSegments, totalVias, layersUsed };
192
+ });
193
+ return { pattern, units: "MICRON", matches };
133
194
  };
134
195
  export const register = (server) => {
135
196
  server.registerTool("query_net", {
@@ -140,9 +201,9 @@ export const register = (server) => {
140
201
  .string()
141
202
  .describe("Regex pattern for net name (e.g., '^DDR_D0$', 'CLK', '^VCC_3V3$')"),
142
203
  },
143
- }, async ({ file, pattern }) => {
204
+ }, withTelemetry("query_net", async ({ file, pattern }) => {
144
205
  const result = await queryNet(file, pattern);
145
206
  return formatResult(result);
146
- });
207
+ }));
147
208
  };
148
209
  //# sourceMappingURL=query-net.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"query-net.js","sourceRoot":"","sources":["../../src/tools/query-net.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"query-net.js","sourceRoot":"","sources":["../../src/tools/query-net.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@intelligentelectron/pcb-lens",
3
- "version": "0.0.5",
3
+ "version": "0.0.7",
4
4
  "description": "MCP server for IPC-2581 PCB layout analysis and review",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",