easyeda-mcp-pro 0.4.0 → 0.5.2

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 (171) hide show
  1. package/README.md +68 -24
  2. package/dist/bom-quality/adapter.d.ts +90 -0
  3. package/dist/bom-quality/adapter.js +295 -0
  4. package/dist/bom-quality/adapter.js.map +1 -0
  5. package/dist/bom-quality/index.d.ts +10 -0
  6. package/dist/bom-quality/index.js +9 -0
  7. package/dist/bom-quality/index.js.map +1 -0
  8. package/dist/bom-quality/quality.d.ts +28 -0
  9. package/dist/bom-quality/quality.js +179 -0
  10. package/dist/bom-quality/quality.js.map +1 -0
  11. package/dist/bom-quality/types.d.ts +94 -0
  12. package/dist/bom-quality/types.js +12 -0
  13. package/dist/bom-quality/types.js.map +1 -0
  14. package/dist/bridge/manager.d.ts +41 -0
  15. package/dist/bridge/manager.js +333 -51
  16. package/dist/bridge/manager.js.map +1 -1
  17. package/dist/bridge/protocol.d.ts +47 -1
  18. package/dist/bridge/protocol.js +42 -1
  19. package/dist/bridge/protocol.js.map +1 -1
  20. package/dist/bridge/types.d.ts +6 -0
  21. package/dist/bridge/types.js +6 -0
  22. package/dist/bridge/types.js.map +1 -1
  23. package/dist/catalog/errors.d.ts +49 -0
  24. package/dist/catalog/errors.js +60 -0
  25. package/dist/catalog/errors.js.map +1 -0
  26. package/dist/catalog/index.d.ts +15 -0
  27. package/dist/catalog/index.js +17 -0
  28. package/dist/catalog/index.js.map +1 -0
  29. package/dist/catalog/schema.d.ts +268 -0
  30. package/dist/catalog/schema.js +245 -0
  31. package/dist/catalog/schema.js.map +1 -0
  32. package/dist/catalog/starter.d.ts +159 -0
  33. package/dist/catalog/starter.js +579 -0
  34. package/dist/catalog/starter.js.map +1 -0
  35. package/dist/catalog/validation.d.ts +48 -0
  36. package/dist/catalog/validation.js +263 -0
  37. package/dist/catalog/validation.js.map +1 -0
  38. package/dist/circuit/circuit-ir.d.ts +460 -0
  39. package/dist/circuit/circuit-ir.js +292 -0
  40. package/dist/circuit/circuit-ir.js.map +1 -0
  41. package/dist/circuit/compiler.d.ts +55 -0
  42. package/dist/circuit/compiler.js +197 -0
  43. package/dist/circuit/compiler.js.map +1 -0
  44. package/dist/circuit/design-intent.d.ts +94 -0
  45. package/dist/circuit/design-intent.js +118 -0
  46. package/dist/circuit/design-intent.js.map +1 -0
  47. package/dist/circuit/errors.d.ts +50 -0
  48. package/dist/circuit/errors.js +61 -0
  49. package/dist/circuit/errors.js.map +1 -0
  50. package/dist/circuit/index.d.ts +17 -0
  51. package/dist/circuit/index.js +18 -0
  52. package/dist/circuit/index.js.map +1 -0
  53. package/dist/circuit/types.d.ts +186 -0
  54. package/dist/circuit/types.js +123 -0
  55. package/dist/circuit/types.js.map +1 -0
  56. package/dist/cli/auto-setup.d.ts +1 -8
  57. package/dist/cli/auto-setup.js +10 -178
  58. package/dist/cli/auto-setup.js.map +1 -1
  59. package/dist/cli/client-definitions.d.ts +34 -0
  60. package/dist/cli/client-definitions.js +194 -0
  61. package/dist/cli/client-definitions.js.map +1 -0
  62. package/dist/cli/local-setup.js +2 -2
  63. package/dist/cli/local-setup.js.map +1 -1
  64. package/dist/config/env.d.ts +6 -1
  65. package/dist/config/env.js +93 -5
  66. package/dist/config/env.js.map +1 -1
  67. package/dist/config/version.d.ts +1 -1
  68. package/dist/config/version.js +1 -1
  69. package/dist/export-manifest/errors.d.ts +55 -0
  70. package/dist/export-manifest/errors.js +69 -0
  71. package/dist/export-manifest/errors.js.map +1 -0
  72. package/dist/export-manifest/index.d.ts +10 -0
  73. package/dist/export-manifest/index.js +9 -0
  74. package/dist/export-manifest/index.js.map +1 -0
  75. package/dist/export-manifest/types.d.ts +170 -0
  76. package/dist/export-manifest/types.js +36 -0
  77. package/dist/export-manifest/types.js.map +1 -0
  78. package/dist/export-manifest/validation.d.ts +39 -0
  79. package/dist/export-manifest/validation.js +298 -0
  80. package/dist/export-manifest/validation.js.map +1 -0
  81. package/dist/index.js +7 -0
  82. package/dist/index.js.map +1 -1
  83. package/dist/net-validation/errors.d.ts +89 -0
  84. package/dist/net-validation/errors.js +69 -0
  85. package/dist/net-validation/errors.js.map +1 -0
  86. package/dist/net-validation/fixtures.d.ts +38 -0
  87. package/dist/net-validation/fixtures.js +215 -0
  88. package/dist/net-validation/fixtures.js.map +1 -0
  89. package/dist/net-validation/index.d.ts +10 -0
  90. package/dist/net-validation/index.js +9 -0
  91. package/dist/net-validation/index.js.map +1 -0
  92. package/dist/net-validation/schema.d.ts +118 -0
  93. package/dist/net-validation/schema.js +140 -0
  94. package/dist/net-validation/schema.js.map +1 -0
  95. package/dist/net-validation/validation.d.ts +45 -0
  96. package/dist/net-validation/validation.js +369 -0
  97. package/dist/net-validation/validation.js.map +1 -0
  98. package/dist/pcb-constraints/errors.d.ts +39 -0
  99. package/dist/pcb-constraints/errors.js +133 -0
  100. package/dist/pcb-constraints/errors.js.map +1 -0
  101. package/dist/pcb-constraints/index.d.ts +9 -0
  102. package/dist/pcb-constraints/index.js +9 -0
  103. package/dist/pcb-constraints/index.js.map +1 -0
  104. package/dist/pcb-constraints/types.d.ts +102 -0
  105. package/dist/pcb-constraints/types.js +7 -0
  106. package/dist/pcb-constraints/types.js.map +1 -0
  107. package/dist/pcb-constraints/validation.d.ts +70 -0
  108. package/dist/pcb-constraints/validation.js +309 -0
  109. package/dist/pcb-constraints/validation.js.map +1 -0
  110. package/dist/server/factory.js +2 -0
  111. package/dist/server/factory.js.map +1 -1
  112. package/dist/server/transports/http.d.ts +20 -1
  113. package/dist/server/transports/http.js +156 -34
  114. package/dist/server/transports/http.js.map +1 -1
  115. package/dist/storage/database.d.ts +25 -0
  116. package/dist/storage/database.js +126 -51
  117. package/dist/storage/database.js.map +1 -1
  118. package/dist/tools/{L0_diagnostics.d.ts → L0_diagnostics_api.d.ts} +2 -2
  119. package/dist/tools/L0_diagnostics_api.js +152 -0
  120. package/dist/tools/L0_diagnostics_api.js.map +1 -0
  121. package/dist/tools/L0_diagnostics_core.d.ts +6 -0
  122. package/dist/tools/{L0_diagnostics.js → L0_diagnostics_core.js} +50 -124
  123. package/dist/tools/L0_diagnostics_core.js.map +1 -0
  124. package/dist/tools/L1_board.js +20 -4
  125. package/dist/tools/L1_board.js.map +1 -1
  126. package/dist/tools/{L1_bom.d.ts → L1_bom_core.d.ts} +2 -2
  127. package/dist/tools/{L1_bom.js → L1_bom_core.js} +21 -101
  128. package/dist/tools/L1_bom_core.js.map +1 -0
  129. package/dist/tools/{L1_schematic.d.ts → L1_bom_sourcing.d.ts} +2 -2
  130. package/dist/tools/L1_bom_sourcing.js +265 -0
  131. package/dist/tools/L1_bom_sourcing.js.map +1 -0
  132. package/dist/tools/L1_drc_erc.js +15 -3
  133. package/dist/tools/L1_drc_erc.js.map +1 -1
  134. package/dist/tools/L1_export.js +20 -4
  135. package/dist/tools/L1_export.js.map +1 -1
  136. package/dist/tools/L1_pcb_constraints.d.ts +6 -0
  137. package/dist/tools/L1_pcb_constraints.js +234 -0
  138. package/dist/tools/L1_pcb_constraints.js.map +1 -0
  139. package/dist/tools/L1_pcb_write.js +26 -12
  140. package/dist/tools/L1_pcb_write.js.map +1 -1
  141. package/dist/tools/L1_schematic_read.d.ts +6 -0
  142. package/dist/tools/{L1_schematic.js → L1_schematic_read.js} +125 -194
  143. package/dist/tools/L1_schematic_read.js.map +1 -0
  144. package/dist/tools/L1_schematic_write.d.ts +6 -0
  145. package/dist/tools/L1_schematic_write.js +516 -0
  146. package/dist/tools/L1_schematic_write.js.map +1 -0
  147. package/dist/tools/register.js +15 -7
  148. package/dist/tools/register.js.map +1 -1
  149. package/dist/tools/registry.d.ts +41 -7
  150. package/dist/tools/registry.js +95 -25
  151. package/dist/tools/registry.js.map +1 -1
  152. package/dist/tools/types.d.ts +16 -0
  153. package/dist/utils/logger.d.ts +1 -1
  154. package/dist/utils/logger.js +1 -1
  155. package/dist/utils/logger.js.map +1 -1
  156. package/dist/vendors/base-http-client.d.ts +48 -0
  157. package/dist/vendors/base-http-client.js +75 -0
  158. package/dist/vendors/base-http-client.js.map +1 -0
  159. package/dist/vendors/digikey/client.js +10 -19
  160. package/dist/vendors/digikey/client.js.map +1 -1
  161. package/dist/vendors/jlcpcb/client.js +41 -70
  162. package/dist/vendors/jlcpcb/client.js.map +1 -1
  163. package/dist/vendors/lcsc/client.js +5 -18
  164. package/dist/vendors/lcsc/client.js.map +1 -1
  165. package/dist/vendors/mouser/client.js +4 -12
  166. package/dist/vendors/mouser/client.js.map +1 -1
  167. package/easyeda-bridge-extension.eext +0 -0
  168. package/package.json +11 -10
  169. package/dist/tools/L0_diagnostics.js.map +0 -1
  170. package/dist/tools/L1_bom.js.map +0 -1
  171. package/dist/tools/L1_schematic.js.map +0 -1
@@ -7,44 +7,13 @@ const searchDeviceInputSchema = z.object({
7
7
  itemsOfPage: z.number().int().default(20),
8
8
  page: z.number().int().default(1),
9
9
  });
10
- const deviceItemSchema = z
10
+ const _deviceItemSchema = z
11
11
  .object({
12
12
  libraryUuid: z.string(),
13
13
  uuid: z.string(),
14
14
  })
15
15
  .passthrough();
16
- const placeComponentInputSchema = z.object({
17
- deviceItem: deviceItemSchema,
18
- x: z.number(),
19
- y: z.number(),
20
- subPartName: z.string().optional(),
21
- rotation: z.number().optional(),
22
- mirror: z.boolean().optional(),
23
- addIntoBom: z.boolean().optional(),
24
- addIntoPcb: z.boolean().optional(),
25
- confirmWrite: z.literal(true),
26
- });
27
- const addWireInputSchema = z.object({
28
- points: z.array(z.object({
29
- x: z.number(),
30
- y: z.number(),
31
- })),
32
- netName: z.string().optional(),
33
- color: z.string().optional(),
34
- lineWidth: z.number().optional(),
35
- lineType: z.string().optional(),
36
- confirmWrite: z.literal(true),
37
- });
38
- const deletePrimitiveInputSchema = z.object({
39
- primitiveIds: z.array(z.string()),
40
- confirmWrite: z.literal(true),
41
- });
42
- const modifyPrimitiveInputSchema = z.object({
43
- primitiveId: z.string(),
44
- property: z.record(z.string(), z.unknown()),
45
- confirmWrite: z.literal(true),
46
- });
47
- function registerSchematicTools(registry, _config) {
16
+ function registerSchematicReadTools(registry, _config) {
48
17
  registry.register({
49
18
  name: 'easyeda_schematic_nets',
50
19
  title: 'List schematic nets',
@@ -52,6 +21,9 @@ function registerSchematicTools(registry, _config) {
52
21
  profile: 'core',
53
22
  evidence: ['official-docs'],
54
23
  risk: 'low',
24
+ confirmWrite: false,
25
+ group: 'schematic',
26
+ version: '1.0.0',
55
27
  annotations: {
56
28
  readOnlyHint: true,
57
29
  idempotentHint: true,
@@ -90,12 +62,13 @@ function registerSchematicTools(registry, _config) {
90
62
  total: nets?.length ?? 0,
91
63
  };
92
64
  }
93
- catch {
65
+ catch (err) {
94
66
  return {
95
67
  project_id: projectId,
96
68
  nets: [],
97
69
  total: 0,
98
70
  not_available: true,
71
+ error: err instanceof Error ? err.message : String(err),
99
72
  };
100
73
  }
101
74
  },
@@ -107,6 +80,9 @@ function registerSchematicTools(registry, _config) {
107
80
  profile: 'core',
108
81
  evidence: ['official-docs'],
109
82
  risk: 'low',
83
+ confirmWrite: false,
84
+ group: 'schematic',
85
+ version: '1.0.0',
110
86
  annotations: {
111
87
  readOnlyHint: true,
112
88
  idempotentHint: true,
@@ -170,6 +146,9 @@ function registerSchematicTools(registry, _config) {
170
146
  profile: 'core',
171
147
  evidence: ['official-docs'],
172
148
  risk: 'low',
149
+ confirmWrite: false,
150
+ group: 'schematic',
151
+ version: '1.0.0',
173
152
  annotations: {
174
153
  readOnlyHint: true,
175
154
  idempotentHint: true,
@@ -212,13 +191,14 @@ function registerSchematicTools(registry, _config) {
212
191
  })),
213
192
  };
214
193
  }
215
- catch {
194
+ catch (err) {
216
195
  return {
217
196
  project_id: projectId,
218
197
  net_name: netName,
219
198
  node_count: 0,
220
199
  nodes: [],
221
200
  not_available: true,
201
+ error: err instanceof Error ? err.message : String(err),
222
202
  };
223
203
  }
224
204
  },
@@ -230,6 +210,9 @@ function registerSchematicTools(registry, _config) {
230
210
  profile: 'core',
231
211
  evidence: ['official-docs'],
232
212
  risk: 'low',
213
+ confirmWrite: false,
214
+ group: 'schematic',
215
+ version: '1.0.0',
233
216
  annotations: {
234
217
  readOnlyHint: true,
235
218
  idempotentHint: true,
@@ -269,151 +252,64 @@ function registerSchematicTools(registry, _config) {
269
252
  },
270
253
  });
271
254
  registry.register({
272
- name: 'easyeda_schematic_place_component',
273
- title: 'Place schematic component',
274
- description: 'Place a library component/device on the active schematic sheet.',
255
+ name: 'easyeda_schematic_component_pins',
256
+ title: 'Get component pins',
257
+ description: 'Get exact pin numbers, names, and coordinates for a schematic component by its primitive ID.',
275
258
  profile: 'core',
276
- evidence: ['official-docs'],
277
- risk: 'medium',
259
+ evidence: ['official-docs', 'runtime-probe'],
260
+ risk: 'low',
261
+ confirmWrite: false,
262
+ group: 'schematic',
263
+ version: '1.0.0',
278
264
  annotations: {
279
- readOnlyHint: false,
280
- idempotentHint: false,
265
+ readOnlyHint: true,
266
+ idempotentHint: true,
281
267
  },
282
- inputSchema: placeComponentInputSchema,
283
- outputSchema: z.object({
284
- success: z.boolean(),
285
- component: z.unknown().optional(),
286
- error: z.string().optional(),
268
+ inputSchema: z.object({
269
+ primitiveId: z.string(),
287
270
  }),
288
- handler: async (ctx, params) => {
289
- const p = placeComponentInputSchema.parse(params);
290
- try {
291
- const result = await ctx.bridge.call('schematic.placeComponent', {
292
- deviceItem: p.deviceItem,
293
- x: p.x,
294
- y: p.y,
295
- subPartName: p.subPartName,
296
- rotation: p.rotation,
297
- mirror: p.mirror,
298
- addIntoBom: p.addIntoBom,
299
- addIntoPcb: p.addIntoPcb,
300
- });
301
- return {
302
- success: true,
303
- component: result,
304
- };
305
- }
306
- catch (err) {
307
- return {
308
- success: false,
309
- error: err instanceof Error ? err.message : String(err),
310
- };
311
- }
312
- },
313
- });
314
- registry.register({
315
- name: 'easyeda_schematic_add_wire',
316
- title: 'Add schematic wire',
317
- description: 'Add a wire segment connecting schematic coordinates/pins.',
318
- profile: 'core',
319
- evidence: ['official-docs'],
320
- risk: 'medium',
321
- annotations: {
322
- readOnlyHint: false,
323
- idempotentHint: false,
324
- },
325
- inputSchema: addWireInputSchema,
326
271
  outputSchema: z.object({
272
+ primitiveId: z.string(),
273
+ pins: z.array(z.object({
274
+ pinNumber: z.string(),
275
+ pinName: z.string(),
276
+ x: z.number(),
277
+ y: z.number(),
278
+ rotation: z.number(),
279
+ pinLength: z.number(),
280
+ })),
327
281
  success: z.boolean(),
328
- wire: z.unknown().optional(),
329
282
  error: z.string().optional(),
330
283
  }),
331
284
  handler: async (ctx, params) => {
332
- const p = addWireInputSchema.parse(params);
285
+ const { primitiveId } = params;
333
286
  try {
334
- const result = await ctx.bridge.call('schematic.addWire', {
335
- points: p.points,
336
- netName: p.netName,
337
- color: p.color,
338
- lineWidth: p.lineWidth,
339
- lineType: p.lineType,
287
+ const result = await ctx.bridge.call('api.call', {
288
+ path: 'SCH_PrimitiveComponent.getAllPinsByPrimitiveId',
289
+ args: [primitiveId],
340
290
  });
291
+ const resultObj = result;
292
+ const pins = Array.isArray(resultObj?.result) ? resultObj.result : [];
341
293
  return {
342
- success: true,
343
- wire: result,
344
- };
345
- }
346
- catch (err) {
347
- return {
348
- success: false,
349
- error: err instanceof Error ? err.message : String(err),
350
- };
351
- }
352
- },
353
- });
354
- registry.register({
355
- name: 'easyeda_schematic_delete_primitive',
356
- title: 'Delete schematic primitives',
357
- description: 'Delete components, wires, or other drawing objects from the schematic by their primitive UUIDs.',
358
- profile: 'core',
359
- evidence: ['official-docs'],
360
- risk: 'medium',
361
- annotations: {
362
- readOnlyHint: false,
363
- idempotentHint: false,
364
- },
365
- inputSchema: deletePrimitiveInputSchema,
366
- outputSchema: z.object({
367
- success: z.boolean(),
368
- error: z.string().optional(),
369
- }),
370
- handler: async (ctx, params) => {
371
- const { primitiveIds } = deletePrimitiveInputSchema.parse(params);
372
- try {
373
- await ctx.bridge.call('schematic.deletePrimitive', { primitiveIds });
374
- return {
375
- success: true,
376
- };
377
- }
378
- catch (err) {
379
- return {
380
- success: false,
381
- error: err instanceof Error ? err.message : String(err),
382
- };
383
- }
384
- },
385
- });
386
- registry.register({
387
- name: 'easyeda_schematic_modify_primitive',
388
- title: 'Modify schematic primitive',
389
- description: 'Modify properties (value, reference, attributes, etc.) of a schematic component/object.',
390
- profile: 'core',
391
- evidence: ['official-docs'],
392
- risk: 'medium',
393
- annotations: {
394
- readOnlyHint: false,
395
- idempotentHint: false,
396
- },
397
- inputSchema: modifyPrimitiveInputSchema,
398
- outputSchema: z.object({
399
- success: z.boolean(),
400
- result: z.unknown().optional(),
401
- error: z.string().optional(),
402
- }),
403
- handler: async (ctx, params) => {
404
- const { primitiveId, property } = modifyPrimitiveInputSchema.parse(params);
405
- try {
406
- const result = await ctx.bridge.call('schematic.modifyPrimitive', {
407
294
  primitiveId,
408
- property,
409
- });
410
- return {
295
+ pins: pins.map((p) => {
296
+ const state = p.state;
297
+ return {
298
+ pinNumber: p.pinNumber !== undefined ? String(p.pinNumber) : String(state?.PinNumber ?? ''),
299
+ pinName: p.pinName !== undefined ? String(p.pinName) : String(state?.PinName ?? ''),
300
+ x: p.x !== undefined ? Number(p.x) : Number(state?.X ?? 0),
301
+ y: p.y !== undefined ? Number(p.y) : Number(state?.Y ?? 0),
302
+ rotation: p.rotation !== undefined ? Number(p.rotation) : Number(state?.Rotation ?? 0),
303
+ pinLength: p.pinLength !== undefined ? Number(p.pinLength) : Number(state?.PinLength ?? 0),
304
+ };
305
+ }),
411
306
  success: true,
412
- result,
413
307
  };
414
308
  }
415
309
  catch (err) {
416
310
  return {
311
+ primitiveId,
312
+ pins: [],
417
313
  success: false,
418
314
  error: err instanceof Error ? err.message : String(err),
419
315
  };
@@ -421,63 +317,98 @@ function registerSchematicTools(registry, _config) {
421
317
  },
422
318
  });
423
319
  registry.register({
424
- name: 'easyeda_schematic_component_pins',
425
- title: 'Get component pins',
426
- description: 'Get exact pin numbers, names, and coordinates for a schematic component by its primitive ID.',
320
+ name: 'easyeda_schematic_validate_netlist',
321
+ title: 'Validate netlist',
322
+ description: 'Validate the EasyEDA Pro schematic netlist for connectivity issues. ' +
323
+ 'Reports net names, connected component references and pins, floating pins, ' +
324
+ 'graphical wires without netlist connectivity, and mismatches between visual wires ' +
325
+ 'and actual SCH_Net/SCH_Netlist entries. This is a read-only diagnostic tool.',
427
326
  profile: 'core',
428
- evidence: ['official-docs', 'runtime-probe'],
327
+ evidence: ['inferred'],
429
328
  risk: 'low',
329
+ confirmWrite: false,
330
+ group: 'schematic',
331
+ version: '1.0.0',
430
332
  annotations: {
431
333
  readOnlyHint: true,
432
334
  idempotentHint: true,
433
335
  },
434
336
  inputSchema: z.object({
435
- primitiveId: z.string(),
337
+ projectId: z.string().describe('The project/schematic ID'),
338
+ includeWireCheck: z
339
+ .boolean()
340
+ .default(false)
341
+ .describe('When true, also check for graphical wires without netlist connectivity'),
436
342
  }),
437
343
  outputSchema: z.object({
438
- primitiveId: z.string(),
439
- pins: z.array(z.object({
344
+ project_id: z.string(),
345
+ netlist: z.array(z.object({
346
+ net_name: z.string(),
347
+ connected_refs: z.array(z.string()),
348
+ connected_pins: z.array(z.string()),
349
+ has_net_flag: z.boolean(),
350
+ })),
351
+ total_nets: z.number().int().nonnegative(),
352
+ floating_pins: z.array(z.object({
353
+ primitiveId: z.string(),
440
354
  pinNumber: z.string(),
441
- pinName: z.string(),
442
- x: z.number(),
443
- y: z.number(),
444
- rotation: z.number(),
445
- pinLength: z.number(),
446
355
  })),
447
- success: z.boolean(),
356
+ wires_without_netlist: z
357
+ .array(z.object({
358
+ wireId: z.string(),
359
+ netName: z.string().optional(),
360
+ }))
361
+ .optional(),
362
+ valid: z.boolean(),
363
+ warnings: z.array(z.string()),
364
+ not_available: z.boolean().optional(),
448
365
  error: z.string().optional(),
449
366
  }),
450
367
  handler: async (ctx, params) => {
451
- const { primitiveId } = params;
368
+ const { projectId, includeWireCheck } = params;
452
369
  try {
453
- const result = await ctx.bridge.call('api.call', {
454
- path: 'SCH_PrimitiveComponent.getAllPinsByPrimitiveId',
455
- args: [primitiveId],
370
+ const result = await ctx.bridge.call('schematic.validateNetlist', {
371
+ projectId,
372
+ includeWireCheck,
456
373
  });
457
- const pins = Array.isArray(result?.result) ? result.result : [];
374
+ const data = result;
458
375
  return {
459
- primitiveId,
460
- pins: pins.map((p) => ({
461
- pinNumber: p.pinNumber !== undefined ? String(p.pinNumber) : String(p.state?.PinNumber ?? ''),
462
- pinName: p.pinName !== undefined ? String(p.pinName) : String(p.state?.PinName ?? ''),
463
- x: p.x !== undefined ? Number(p.x) : Number(p.state?.X ?? 0),
464
- y: p.y !== undefined ? Number(p.y) : Number(p.state?.Y ?? 0),
465
- rotation: p.rotation !== undefined ? Number(p.rotation) : Number(p.state?.Rotation ?? 0),
466
- pinLength: p.pinLength !== undefined ? Number(p.pinLength) : Number(p.state?.PinLength ?? 0),
376
+ project_id: projectId,
377
+ netlist: (data.nets ?? []).map((n) => ({
378
+ net_name: n.netName ?? '',
379
+ connected_refs: n.refs ?? [],
380
+ connected_pins: n.pins ?? [],
381
+ has_net_flag: n.hasNetFlag ?? false,
467
382
  })),
468
- success: true,
383
+ total_nets: data.nets?.length ?? 0,
384
+ floating_pins: (data.floatingPins ?? []).map((fp) => ({
385
+ primitiveId: fp.primitiveId ?? '',
386
+ pinNumber: fp.pinNumber ?? '',
387
+ })),
388
+ wires_without_netlist: data.wiresWithoutNetlist
389
+ ? data.wiresWithoutNetlist.map((w) => ({
390
+ wireId: w.wireId ?? '',
391
+ netName: w.netName,
392
+ }))
393
+ : undefined,
394
+ valid: data.warnings?.length === 0,
395
+ warnings: data.warnings ?? [],
469
396
  };
470
397
  }
471
398
  catch (err) {
472
399
  return {
473
- primitiveId,
474
- pins: [],
475
- success: false,
400
+ project_id: projectId,
401
+ netlist: [],
402
+ total_nets: 0,
403
+ floating_pins: [],
404
+ valid: false,
405
+ warnings: [],
406
+ not_available: true,
476
407
  error: err instanceof Error ? err.message : String(err),
477
408
  };
478
409
  }
479
410
  },
480
411
  });
481
412
  }
482
- export { registerSchematicTools };
483
- //# sourceMappingURL=L1_schematic.js.map
413
+ export { registerSchematicReadTools };
414
+ //# sourceMappingURL=L1_schematic_read.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"L1_schematic_read.js","sourceRoot":"","sources":["../../src/tools/L1_schematic_read.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import { type ToolDefinition } from './types.js';
2
+ import { type EnvConfig } from '../config/env.js';
3
+ declare function registerSchematicWriteTools(registry: {
4
+ register: (def: ToolDefinition) => void;
5
+ }, _config: EnvConfig): void;
6
+ export { registerSchematicWriteTools };