easyeda-mcp-pro 0.29.1 → 0.31.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -10,28 +10,28 @@ export const PROFILE_DEFINITIONS = {
10
10
  name: 'pro',
11
11
  label: 'Pro',
12
12
  description: 'Adds pick-and-place, PDF, netlist export, compound transactional workflow tools, autorouting, route-context export, and offline SPICE verification for manufacturing workflows',
13
- approxToolCount: '79',
13
+ approxToolCount: '80',
14
14
  isDefault: false,
15
15
  },
16
16
  full: {
17
17
  name: 'full',
18
18
  label: 'Full',
19
19
  description: 'Adds controlled documented EasyEDA API method calls and CircuitIR-driven floorplanning for full runtime control without raw JavaScript execution',
20
- approxToolCount: '91',
20
+ approxToolCount: '92',
21
21
  isDefault: false,
22
22
  },
23
23
  dev: {
24
24
  name: 'dev',
25
25
  label: 'Dev',
26
26
  description: 'Adds diagnostics probes for bridge methods and live component runtime shape inspection',
27
- approxToolCount: '96',
27
+ approxToolCount: '97',
28
28
  isDefault: false,
29
29
  },
30
30
  experimental: {
31
31
  name: 'experimental',
32
32
  label: 'Experimental',
33
33
  description: 'MCP Apps, Tasks, AI action plans',
34
- approxToolCount: '96',
34
+ approxToolCount: '97',
35
35
  isDefault: false,
36
36
  },
37
37
  };
@@ -1 +1 @@
1
- export declare const SERVER_VERSION = "0.29.1";
1
+ export declare const SERVER_VERSION = "0.31.0";
@@ -1,2 +1,2 @@
1
- export const SERVER_VERSION = '0.29.1'; // x-release-please-version
1
+ export const SERVER_VERSION = '0.31.0'; // x-release-please-version
2
2
  //# sourceMappingURL=version.js.map
@@ -3,6 +3,7 @@ import { planWorkflowBlock } from '../workflows/planner.js';
3
3
  import { reconcilePlacementCollisions } from '../workflows/collision.js';
4
4
  import { classifyPostWriteQa, collectNativeRuleRunsForPostWriteQa, } from '../workflows/schematic-post-write-qa.js';
5
5
  import { buildNe555AstableTemplate } from '../workflows/ne555-astable-template.js';
6
+ import { buildRp2040ServoModuleScaffold } from '../workflows/rp2040-servo-module-scaffold.js';
6
7
  import { computeSectionBounds, findOverlappingRectangles, checkAgainstPageFrame, } from '../workflows/section-layout.js';
7
8
  import { lookupDecouplingGuidance } from '../design-rules/decoupling.js';
8
9
  import { buildSpiceDeck } from '../simulation/netlist.js';
@@ -42,6 +43,13 @@ const netPortInputSchema = z.object({
42
43
  rotation: z.number().optional(),
43
44
  });
44
45
  const pointSchema = z.object({ x: z.number(), y: z.number() });
46
+ const wireInputSchema = z.object({
47
+ ref: z.string().optional(),
48
+ role: z.string().min(1),
49
+ netName: z.string().min(1).optional(),
50
+ points: z.array(pointSchema).min(2),
51
+ lineWidth: z.number().positive().optional(),
52
+ });
45
53
  /** Fields every `easyeda_workflow_*` tool accepts, regardless of its own domain-specific input. */
46
54
  const workflowIdentitySchema = z.object({
47
55
  projectId: z.string().min(1),
@@ -132,7 +140,8 @@ async function applySingleOperation(ctx, op, refToPrimitiveId) {
132
140
  if (op.kind === 'placeComponent' && primitiveId) {
133
141
  refToPrimitiveId.set(op.ref, primitiveId);
134
142
  }
135
- const createsNewPrimitive = (op.kind === 'placeComponent' || op.kind === 'createNetPort') && Boolean(primitiveId);
143
+ const createsNewPrimitive = (op.kind === 'placeComponent' || op.kind === 'createNetPort' || op.kind === 'addWire') &&
144
+ Boolean(primitiveId);
136
145
  return {
137
146
  outcome: { method: op.method, ref: operationRef(op), success: true, primitiveId },
138
147
  newPrimitiveId: createsNewPrimitive ? primitiveId : undefined,
@@ -324,6 +333,7 @@ const ne555InputSchema = z.object({
324
333
  preferredRegion: schematicRegionPreferenceSchema.default('upper-left'),
325
334
  margin: z.number().positive().optional(),
326
335
  createNetPorts: z.boolean().default(false),
336
+ createWireStubs: z.boolean().default(true),
327
337
  refs: ne555RefsSchema,
328
338
  nets: ne555NetsSchema,
329
339
  values: ne555ValuesSchema,
@@ -359,6 +369,58 @@ const postWriteQaOutputSchema = z.object({
359
369
  issues: z.array(z.record(z.string(), z.unknown())),
360
370
  summary: z.string(),
361
371
  });
372
+ const rp2040ServoDevicesSchema = z.object({
373
+ resistor0402: deviceItemSchema,
374
+ capacitor0402: deviceItemSchema,
375
+ capacitor0603: deviceItemSchema,
376
+ capacitorPolarized: deviceItemSchema,
377
+ rp2040: deviceItemSchema,
378
+ drv8244: deviceItemSchema,
379
+ w25q16: deviceItemSchema,
380
+ txs0102: deviceItemSchema,
381
+ regulator3v3: deviceItemSchema,
382
+ usbC: deviceItemSchema,
383
+ ws2812b: deviceItemSchema,
384
+ conn01x10: deviceItemSchema,
385
+ conn01x06: deviceItemSchema,
386
+ conn01x03: deviceItemSchema,
387
+ crystal: deviceItemSchema,
388
+ switchSmd: deviceItemSchema,
389
+ fuse: deviceItemSchema,
390
+ diode: deviceItemSchema,
391
+ });
392
+ const rp2040ServoInputSchema = z.object({
393
+ projectId: z.string().min(1),
394
+ mode: z.enum(['preview', 'apply']).default('preview'),
395
+ devices: rp2040ServoDevicesSchema,
396
+ anchor: pointSchema.optional(),
397
+ preferredRegion: schematicRegionPreferenceSchema.default('upper-left'),
398
+ margin: z.number().positive().optional(),
399
+ confirmWrite: z.boolean().optional(),
400
+ });
401
+ const rp2040ServoOutputSchema = workflowOutputSchema.extend({
402
+ safe_region: safeRegionOutputSchema,
403
+ scaffold: z.object({
404
+ blocks: z.array(z.object({
405
+ id: z.string(),
406
+ title: z.string(),
407
+ origin: pointSchema,
408
+ size: z.object({ width: z.number(), height: z.number() }),
409
+ refs: z.array(z.string()),
410
+ })),
411
+ bom: z.object({
412
+ expectedRefs: z.array(z.string()),
413
+ referenceCount: z.number().int().nonnegative(),
414
+ symbolGroups: z.array(z.object({
415
+ symbol: z.string(),
416
+ refs: z.array(z.string()),
417
+ count: z.number().int().nonnegative(),
418
+ })),
419
+ }),
420
+ warnings: z.array(z.string()),
421
+ notes: z.array(z.string()),
422
+ }),
423
+ });
362
424
  const ne555OutputSchema = workflowOutputSchema.extend({
363
425
  safe_region: safeRegionOutputSchema,
364
426
  design: z.object({
@@ -516,6 +578,81 @@ async function runWorkflow(ctx, input, transactionPrefix, confirmWrite, extraIss
516
578
  };
517
579
  }
518
580
  function registerWorkflowTools(registry, _config) {
581
+ registry.register({
582
+ name: 'easyeda_workflow_rp2040_servo_module',
583
+ title: 'Plan or apply an RP2040 servo-module complex schematic scaffold',
584
+ description: 'Create a deterministic functional-block scaffold for the RP2040 servo-module reference design. ' +
585
+ 'This first milestone places BOM components by block and returns explicit missing-netlist warnings; ' +
586
+ 'it does not infer exact pin-to-net wiring from screenshot+BOM alone (confirmWrite required).',
587
+ profile: 'pro',
588
+ evidence: ['inferred', 'runtime-probe'],
589
+ risk: 'medium',
590
+ confirmWrite: true,
591
+ group: 'workflows',
592
+ version: '1.0.0',
593
+ annotations: {
594
+ readOnlyHint: false,
595
+ destructiveHint: false,
596
+ idempotentHint: false,
597
+ },
598
+ inputSchema: rp2040ServoInputSchema,
599
+ outputSchema: rp2040ServoOutputSchema,
600
+ handler: async (ctx, params) => {
601
+ const p = rp2040ServoInputSchema.parse(params ?? {});
602
+ let sheetInfo;
603
+ try {
604
+ sheetInfo = await ctx.bridge.call('schematic.getSheetInfo', { projectId: p.projectId });
605
+ }
606
+ catch {
607
+ sheetInfo = undefined;
608
+ }
609
+ const scaffold = buildRp2040ServoModuleScaffold({ ...p, sheetInfo });
610
+ const result = (await runWorkflow(ctx, scaffold.workflowInput, 'wf_rp2040_servo_module', p.confirmWrite, (plan) => {
611
+ for (const warning of scaffold.safeRegion.warnings) {
612
+ pushIssue(plan, {
613
+ code: 'WORKFLOW_SAFE_REGION',
614
+ severity: 'warning',
615
+ message: warning,
616
+ remediationHint: 'Review the returned safe_region bounds and choose a larger sheet or explicit anchor if needed.',
617
+ });
618
+ }
619
+ for (const issue of scaffold.safeRegion.issues) {
620
+ pushIssue(plan, {
621
+ code: 'WORKFLOW_SAFE_REGION',
622
+ severity: 'error',
623
+ message: `${issue.code}: ${issue.message}`,
624
+ remediationHint: 'Reduce scaffold size, choose another preferredRegion, or provide an explicit anchor.',
625
+ });
626
+ }
627
+ for (const warning of scaffold.warnings) {
628
+ pushIssue(plan, {
629
+ code: 'WORKFLOW_EMPTY_PIN_CONNECTIONS',
630
+ severity: 'warning',
631
+ message: warning,
632
+ remediationHint: 'Add block-level netlist workflows before treating apply output as an electrically complete schematic.',
633
+ });
634
+ }
635
+ }));
636
+ return {
637
+ ...result,
638
+ scaffold: {
639
+ blocks: scaffold.blocks,
640
+ bom: scaffold.bom,
641
+ warnings: scaffold.warnings,
642
+ notes: scaffold.notes,
643
+ },
644
+ safe_region: {
645
+ blocked: scaffold.safeRegion.blocked,
646
+ preferred_region: scaffold.safeRegion.preferredRegion,
647
+ sheet: scaffold.safeRegion.sheet,
648
+ bounds: scaffold.safeRegion.bounds,
649
+ anchor: scaffold.workflowInput.anchor,
650
+ warnings: scaffold.safeRegion.warnings,
651
+ issues: scaffold.safeRegion.issues,
652
+ },
653
+ };
654
+ },
655
+ });
519
656
  registry.register({
520
657
  name: 'easyeda_workflow_ne555_astable',
521
658
  title: 'Plan or apply a professional NE555 astable LED flasher template',
@@ -770,6 +907,7 @@ function registerWorkflowTools(registry, _config) {
770
907
  existingComponents: z.array(existingComponentInputSchema).default([]),
771
908
  netPorts: z.array(netPortInputSchema).default([]),
772
909
  netPortAnchor: pointSchema.optional(),
910
+ wires: z.array(wireInputSchema).default([]),
773
911
  confirmWrite: z.boolean().optional(),
774
912
  }),
775
913
  outputSchema: workflowOutputSchema,
@@ -784,6 +922,7 @@ function registerWorkflowTools(registry, _config) {
784
922
  existingComponents: p.existingComponents,
785
923
  netPorts: p.netPorts,
786
924
  netPortAnchor: p.netPortAnchor,
925
+ wires: p.wires,
787
926
  };
788
927
  return runWorkflow(ctx, input, 'wf_place_block', p.confirmWrite);
789
928
  },
@@ -1 +1 @@
1
- {"version":3,"file":"L2_workflows.js","sourceRoot":"","sources":["../../src/tools/L2_workflows.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"L2_workflows.js","sourceRoot":"","sources":["../../src/tools/L2_workflows.ts"],"names":[],"mappings":"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"}
@@ -76,6 +76,7 @@ export interface Ne555AstableTemplateInput {
76
76
  preferredRegion?: SchematicRegionPreference;
77
77
  margin?: number;
78
78
  createNetPorts?: boolean;
79
+ createWireStubs?: boolean;
79
80
  refs?: Partial<Ne555AstableRefs>;
80
81
  nets?: Partial<Ne555AstableNets>;
81
82
  values?: Partial<Ne555AstableValues>;
@@ -1,4 +1,5 @@
1
1
  import { planSafeSchematicRegion, } from './schematic-safe-region.js';
2
+ import { buildNe555VisibleWireStubs } from './ne555-wire-stubs.js';
2
3
  export const NE555_ASTABLE_CONTENT = {
3
4
  width: 620,
4
5
  height: 360,
@@ -184,12 +185,14 @@ export function buildNe555AstableTemplate(input) {
184
185
  ],
185
186
  },
186
187
  ];
188
+ const wires = input.createWireStubs === false ? [] : buildNe555VisibleWireStubs(anchor, refs, nets);
187
189
  const workflowInput = {
188
190
  projectId: input.projectId,
189
191
  mode: input.mode ?? 'preview',
190
192
  anchor,
191
193
  spacing: 70,
192
194
  components,
195
+ wires,
193
196
  netPortAnchor: input.createNetPorts ? { x: anchor.x, y: anchor.y - 20 } : undefined,
194
197
  netPorts: input.createNetPorts
195
198
  ? [
@@ -216,6 +219,7 @@ export function buildNe555AstableTemplate(input) {
216
219
  'Pin 2 TRIG and pin 6 THRESH are tied to the timing node; pin 7 DISCH is between R1 and R2.',
217
220
  'Pin 4 RESET is tied to VCC; pin 5 CTRL is bypassed to GND; C3 is a local VCC/GND decoupling capacitor.',
218
221
  'Detached external netports are disabled by default; local pin-to-net labels avoid disconnected netport DRC info.',
222
+ 'Visible wire stubs are drawn from each known pin by default so the generated schematic reads less like isolated net labels.',
219
223
  'Use post-write QA with circuit policy after apply; duplicate net names, free wire-only nets, disconnected netports, and floating pins are blocking failures.',
220
224
  ],
221
225
  };
@@ -1 +1 @@
1
- {"version":3,"file":"ne555-astable-template.js","sourceRoot":"","sources":["../../src/workflows/ne555-astable-template.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ne555-astable-template.js","sourceRoot":"","sources":["../../src/workflows/ne555-astable-template.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import type { WorkflowWireInput } from './types.js';
2
+ import type { Ne555AstableNets, Ne555AstableRefs } from './ne555-astable-template.js';
3
+ export declare function buildNe555VisibleWireStubs(anchor: {
4
+ x: number;
5
+ y: number;
6
+ }, refs: Ne555AstableRefs, nets: Ne555AstableNets): WorkflowWireInput[];
@@ -0,0 +1,38 @@
1
+ function horizontalStub(role, netName, x, y, direction, length = 18) {
2
+ const endX = direction === 'left' ? x - length : x + length;
3
+ return {
4
+ role,
5
+ netName,
6
+ points: [
7
+ { x, y },
8
+ { x: endX, y },
9
+ ],
10
+ lineWidth: 1,
11
+ };
12
+ }
13
+ export function buildNe555VisibleWireStubs(anchor, refs, nets) {
14
+ const at = (dx, dy) => ({ x: anchor.x + dx, y: anchor.y + dy });
15
+ const wires = [];
16
+ const u1 = at(280, -150);
17
+ wires.push(horizontalStub(`${refs.timer}-pin1-gnd-stub`, nets.gnd, u1.x - 55, u1.y + 15, 'left'));
18
+ wires.push(horizontalStub(`${refs.timer}-pin2-trig-stub`, nets.timing, u1.x - 55, u1.y + 5, 'left'));
19
+ wires.push(horizontalStub(`${refs.timer}-pin3-out-stub`, nets.output, u1.x - 55, u1.y - 5, 'left'));
20
+ wires.push(horizontalStub(`${refs.timer}-pin4-reset-stub`, nets.vcc, u1.x - 55, u1.y - 15, 'left'));
21
+ wires.push(horizontalStub(`${refs.timer}-pin5-ctrl-stub`, nets.control, u1.x + 55, u1.y - 15, 'right'));
22
+ wires.push(horizontalStub(`${refs.timer}-pin6-thresh-stub`, nets.timing, u1.x + 55, u1.y - 5, 'right'));
23
+ wires.push(horizontalStub(`${refs.timer}-pin7-disch-stub`, nets.discharge, u1.x + 55, u1.y + 5, 'right'));
24
+ wires.push(horizontalStub(`${refs.timer}-pin8-vcc-stub`, nets.vcc, u1.x + 55, u1.y + 15, 'right'));
25
+ const twoPin = (ref, center, leftNet, rightNet) => {
26
+ wires.push(horizontalStub(`${ref}-pin1-stub`, leftNet, center.x - 20, center.y, 'left'));
27
+ wires.push(horizontalStub(`${ref}-pin2-stub`, rightNet, center.x + 20, center.y, 'right'));
28
+ };
29
+ twoPin(refs.r1, at(120, -70), nets.vcc, nets.discharge);
30
+ twoPin(refs.r2, at(120, -155), nets.discharge, nets.timing);
31
+ twoPin(refs.cTiming, at(120, -250), nets.timing, nets.gnd);
32
+ twoPin(refs.cCtrl, at(390, -245), nets.control, nets.gnd);
33
+ twoPin(refs.cDecouple, at(390, -65), nets.vcc, nets.gnd);
34
+ twoPin(refs.rLed, at(470, -150), nets.output, nets.ledAnode);
35
+ twoPin(refs.led, at(560, -150), nets.ledAnode, nets.gnd);
36
+ return wires;
37
+ }
38
+ //# sourceMappingURL=ne555-wire-stubs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ne555-wire-stubs.js","sourceRoot":"","sources":["../../src/workflows/ne555-wire-stubs.ts"],"names":[],"mappings":"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"}
@@ -56,20 +56,21 @@ function validateWorkflowInputs(components, existingComponents, netPorts) {
56
56
  }
57
57
  return issues;
58
58
  }
59
- function workflowPlanSummary(blocked, issues, mode, components, existingComponents, netPorts, operations) {
59
+ function workflowPlanSummary(blocked, issues, mode, components, existingComponents, netPorts, wires, operations) {
60
60
  if (blocked) {
61
61
  const errorCount = issues.filter((entry) => entry.severity === 'error').length;
62
62
  return `Blocked: ${errorCount} error(s) found before planning operations.`;
63
63
  }
64
64
  const verb = mode === 'apply' ? 'Applying' : 'Planned';
65
- return (`${verb} ${components.length} new component(s), ${existingComponents.length} ` +
66
- `existing-component wiring, and ${netPorts.length} net port(s) across ${operations.length} operation(s).`);
65
+ return (`${verb} ${components.length} new component(s), ${existingComponents.length} existing-component wiring, ` +
66
+ `${netPorts.length} net port(s), and ${wires.length} wire(s) across ${operations.length} operation(s).`);
67
67
  }
68
68
  export function planWorkflowBlock(input, transactionPrefix) {
69
69
  const mode = input.mode ?? 'preview';
70
70
  const components = input.components ?? [];
71
71
  const existingComponents = input.existingComponents ?? [];
72
72
  const netPorts = input.netPorts ?? [];
73
+ const wires = input.wires ?? [];
73
74
  const spacing = input.spacing ?? 10;
74
75
  const issues = validateWorkflowInputs(components, existingComponents, netPorts);
75
76
  const blocked = issues.some((entry) => entry.severity === 'error');
@@ -154,15 +155,30 @@ export function planWorkflowBlock(input, transactionPrefix) {
154
155
  },
155
156
  });
156
157
  });
158
+ for (const wire of wires) {
159
+ operations.push({
160
+ kind: 'addWire',
161
+ ref: wire.ref,
162
+ role: wire.role,
163
+ netName: wire.netName,
164
+ method: 'schematic.addWire',
165
+ params: {
166
+ projectId: input.projectId,
167
+ points: wire.points,
168
+ netName: wire.netName,
169
+ lineWidth: wire.lineWidth,
170
+ },
171
+ });
172
+ }
157
173
  const rollbackNotes = [
158
- 'Newly-placed components (and any net ports created in this transaction) are deleted on rollback.',
174
+ 'Newly-created primitives (placed components, net ports, and wires created in this transaction) are deleted on rollback.',
159
175
  ];
160
176
  if (existingComponents.some((component) => component.pinConnections.length > 0)) {
161
177
  rollbackNotes.push('Pin-to-net connections applied to pre-existing components cannot be rolled back automatically ' +
162
178
  '(the bridge protocol has no disconnect-pin primitive) — if apply fails after such a connection ' +
163
179
  'was already made, that connection remains and must be reviewed/undone manually.');
164
180
  }
165
- const summary = workflowPlanSummary(blocked, issues, mode, components, existingComponents, netPorts, operations);
181
+ const summary = workflowPlanSummary(blocked, issues, mode, components, existingComponents, netPorts, wires, operations);
166
182
  return {
167
183
  projectId: input.projectId,
168
184
  transactionId: txId(transactionPrefix, { input }),
@@ -1 +1 @@
1
- {"version":3,"file":"planner.js","sourceRoot":"","sources":["../../src/workflows/planner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"planner.js","sourceRoot":"","sources":["../../src/workflows/planner.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,65 @@
1
+ import { planSafeSchematicRegion, type SchematicRegionPreference } from './schematic-safe-region.js';
2
+ import type { WorkflowBlockInput, WorkflowDeviceItem } from './types.js';
3
+ export type ServoModuleBlockId = 'power_usb' | 'rp2040_core' | 'decoupling' | 'motor_driver' | 'leds' | 'connectors' | 'level_shifter';
4
+ export interface ServoModuleBlockPlan {
5
+ id: ServoModuleBlockId;
6
+ title: string;
7
+ origin: {
8
+ x: number;
9
+ y: number;
10
+ };
11
+ size: {
12
+ width: number;
13
+ height: number;
14
+ };
15
+ refs: string[];
16
+ }
17
+ export interface Rp2040ServoModuleDevices {
18
+ resistor0402: WorkflowDeviceItem;
19
+ capacitor0402: WorkflowDeviceItem;
20
+ capacitor0603: WorkflowDeviceItem;
21
+ capacitorPolarized: WorkflowDeviceItem;
22
+ rp2040: WorkflowDeviceItem;
23
+ drv8244: WorkflowDeviceItem;
24
+ w25q16: WorkflowDeviceItem;
25
+ txs0102: WorkflowDeviceItem;
26
+ regulator3v3: WorkflowDeviceItem;
27
+ usbC: WorkflowDeviceItem;
28
+ ws2812b: WorkflowDeviceItem;
29
+ conn01x10: WorkflowDeviceItem;
30
+ conn01x06: WorkflowDeviceItem;
31
+ conn01x03: WorkflowDeviceItem;
32
+ crystal: WorkflowDeviceItem;
33
+ switchSmd: WorkflowDeviceItem;
34
+ fuse: WorkflowDeviceItem;
35
+ diode: WorkflowDeviceItem;
36
+ }
37
+ export interface Rp2040ServoModuleInput {
38
+ projectId: string;
39
+ mode?: 'preview' | 'apply';
40
+ devices: Rp2040ServoModuleDevices;
41
+ sheetInfo?: unknown;
42
+ anchor?: {
43
+ x: number;
44
+ y: number;
45
+ };
46
+ preferredRegion?: SchematicRegionPreference;
47
+ margin?: number;
48
+ }
49
+ export interface Rp2040ServoModulePlan {
50
+ workflowInput: WorkflowBlockInput;
51
+ safeRegion: ReturnType<typeof planSafeSchematicRegion>;
52
+ blocks: ServoModuleBlockPlan[];
53
+ bom: {
54
+ expectedRefs: string[];
55
+ referenceCount: number;
56
+ symbolGroups: Array<{
57
+ symbol: string;
58
+ refs: string[];
59
+ count: number;
60
+ }>;
61
+ };
62
+ warnings: string[];
63
+ notes: string[];
64
+ }
65
+ export declare function buildRp2040ServoModuleScaffold(input: Rp2040ServoModuleInput): Rp2040ServoModulePlan;
@@ -0,0 +1,280 @@
1
+ import { planSafeSchematicRegion, } from './schematic-safe-region.js';
2
+ const CONTENT = { width: 1260, height: 760 };
3
+ const BLOCK_DEFS = [
4
+ {
5
+ id: 'power_usb',
6
+ title: 'power and usb',
7
+ offset: { dx: 0, dy: -40 },
8
+ size: { width: 390, height: 290 },
9
+ refs: ['P1', 'FH1', 'D1', 'U2', 'C5', 'C7', 'C9', 'C10', 'R1', 'R2', 'R3', 'R4'],
10
+ },
11
+ {
12
+ id: 'rp2040_core',
13
+ title: 'rp2040 and reqs',
14
+ offset: { dx: 440, dy: -40 },
15
+ size: { width: 500, height: 460 },
16
+ refs: ['U3', 'U1', 'X1', 'SW1', 'SW2', 'R5', 'R6', 'R7', 'R8', 'R9', 'C1', 'C2', 'C3', 'C4'],
17
+ },
18
+ {
19
+ id: 'decoupling',
20
+ title: 'decoupling and rails',
21
+ offset: { dx: 955, dy: -40 },
22
+ size: { width: 305, height: 270 },
23
+ refs: ['C6', 'C8', 'C11', 'C12', 'C13', 'C14', 'C15', 'C16', 'C19', 'C20', 'C21', 'C22'],
24
+ },
25
+ {
26
+ id: 'motor_driver',
27
+ title: 'motor driver',
28
+ offset: { dx: 0, dy: -385 },
29
+ size: { width: 390, height: 210 },
30
+ refs: ['U4', 'R10', 'R11', 'R12', 'C17', 'C18'],
31
+ },
32
+ {
33
+ id: 'level_shifter',
34
+ title: 'level shifter',
35
+ offset: { dx: 520, dy: -535 },
36
+ size: { width: 210, height: 160 },
37
+ refs: ['U5'],
38
+ },
39
+ {
40
+ id: 'leds',
41
+ title: 'LEDs',
42
+ offset: { dx: 440, dy: -625 },
43
+ size: { width: 430, height: 135 },
44
+ refs: ['LED1', 'LED2', 'LED3', 'LED4'],
45
+ },
46
+ {
47
+ id: 'connectors',
48
+ title: 'connectors',
49
+ offset: { dx: 0, dy: -720 },
50
+ size: { width: 900, height: 160 },
51
+ refs: ['J1', 'J2', 'J3', 'J4'],
52
+ },
53
+ ];
54
+ const SYMBOL_GROUPS = [
55
+ {
56
+ symbol: 'symbols_R',
57
+ refs: [
58
+ 'R1',
59
+ 'R2',
60
+ 'R3',
61
+ 'R4',
62
+ 'R5',
63
+ 'R6',
64
+ 'R7',
65
+ 'R8',
66
+ 'R9',
67
+ 'R10',
68
+ 'R11',
69
+ 'R12',
70
+ 'R13',
71
+ 'R14',
72
+ 'R15',
73
+ ],
74
+ },
75
+ {
76
+ symbol: 'symbols_C',
77
+ refs: [
78
+ 'C1',
79
+ 'C2',
80
+ 'C3',
81
+ 'C4',
82
+ 'C5',
83
+ 'C6',
84
+ 'C8',
85
+ 'C9',
86
+ 'C10',
87
+ 'C11',
88
+ 'C12',
89
+ 'C13',
90
+ 'C14',
91
+ 'C15',
92
+ 'C16',
93
+ 'C17',
94
+ 'C18',
95
+ 'C19',
96
+ 'C20',
97
+ 'C21',
98
+ 'C22',
99
+ ],
100
+ },
101
+ { symbol: 'symbols_C_Polarized', refs: ['C7'] },
102
+ { symbol: 'symbols_DRV8244SQRYJRQ1', refs: ['U4'] },
103
+ { symbol: 'symbols_WS2812B-2020', refs: ['LED1', 'LED2', 'LED3', 'LED4'] },
104
+ { symbol: 'symbols_W25Q16JVSS', refs: ['U1'] },
105
+ { symbol: 'symbols_RP2040', refs: ['U3'] },
106
+ { symbol: 'symbols_TXS0102DCU', refs: ['U5'] },
107
+ { symbol: 'symbols_USB_C_Plug_USB2.0', refs: ['P1'] },
108
+ { symbol: 'symbols_ME6211A33M3G-N', refs: ['U2'] },
109
+ { symbol: 'symbols_ABM8-272-T3_C20625731', refs: ['X1'] },
110
+ { symbol: 'symbols_TS-1088-AR02016', refs: ['SW1', 'SW2'] },
111
+ { symbol: 'symbols_Conn_01x10', refs: ['J1', 'J2'] },
112
+ { symbol: 'symbols_Conn_01x06', refs: ['J4'] },
113
+ { symbol: 'symbols_Conn_01x03', refs: ['J3'] },
114
+ { symbol: 'symbols_01550900M', refs: ['FH1'] },
115
+ { symbol: 'symbols_MBR1020VL', refs: ['D1'] },
116
+ ];
117
+ function devFor(ref, devices) {
118
+ if (ref.startsWith('R'))
119
+ return devices.resistor0402;
120
+ if (ref === 'C7')
121
+ return devices.capacitorPolarized;
122
+ if (['C5', 'C9'].includes(ref))
123
+ return devices.capacitor0603;
124
+ if (ref.startsWith('C'))
125
+ return devices.capacitor0402;
126
+ if (ref === 'U3')
127
+ return devices.rp2040;
128
+ if (ref === 'U4')
129
+ return devices.drv8244;
130
+ if (ref === 'U1')
131
+ return devices.w25q16;
132
+ if (ref === 'U5')
133
+ return devices.txs0102;
134
+ if (ref === 'U2')
135
+ return devices.regulator3v3;
136
+ if (ref === 'P1')
137
+ return devices.usbC;
138
+ if (ref.startsWith('LED'))
139
+ return devices.ws2812b;
140
+ if (ref === 'J1' || ref === 'J2')
141
+ return devices.conn01x10;
142
+ if (ref === 'J4')
143
+ return devices.conn01x06;
144
+ if (ref === 'J3')
145
+ return devices.conn01x03;
146
+ if (ref === 'X1')
147
+ return devices.crystal;
148
+ if (ref === 'SW1' || ref === 'SW2')
149
+ return devices.switchSmd;
150
+ if (ref === 'FH1')
151
+ return devices.fuse;
152
+ if (ref === 'D1')
153
+ return devices.diode;
154
+ return devices.resistor0402;
155
+ }
156
+ const REF_OFFSETS = {
157
+ P1: { dx: 90, dy: -170 },
158
+ FH1: { dx: 45, dy: -260 },
159
+ D1: { dx: 235, dy: -110 },
160
+ U2: { dx: 270, dy: -125 },
161
+ R1: { dx: 40, dy: -60, rotation: 180 },
162
+ R2: { dx: 45, dy: -105, rotation: 180 },
163
+ R3: { dx: 160, dy: -60, rotation: 180 },
164
+ R4: { dx: 160, dy: -105, rotation: 180 },
165
+ C5: { dx: 315, dy: -70 },
166
+ C7: { dx: 170, dy: -200 },
167
+ C9: { dx: 270, dy: -185 },
168
+ C10: { dx: 340, dy: -185 },
169
+ U3: { dx: 720, dy: -220 },
170
+ U1: { dx: 565, dy: -170 },
171
+ X1: { dx: 565, dy: -330 },
172
+ SW1: { dx: 610, dy: -250 },
173
+ SW2: { dx: 800, dy: -85 },
174
+ R5: { dx: 540, dy: -250, rotation: 270 },
175
+ R6: { dx: 505, dy: -85, rotation: 180 },
176
+ R7: { dx: 630, dy: -335 },
177
+ R8: { dx: 640, dy: -150, rotation: 180 },
178
+ R9: { dx: 675, dy: -150, rotation: 180 },
179
+ C1: { dx: 455, dy: -270 },
180
+ C2: { dx: 540, dy: -390 },
181
+ C3: { dx: 490, dy: -275 },
182
+ C4: { dx: 645, dy: -390 },
183
+ C6: { dx: 980, dy: -115 },
184
+ C8: { dx: 1110, dy: -225 },
185
+ C11: { dx: 965, dy: -35 },
186
+ C12: { dx: 990, dy: -185 },
187
+ C13: { dx: 1030, dy: -185 },
188
+ C14: { dx: 1070, dy: -205 },
189
+ C15: { dx: 1060, dy: -35 },
190
+ C16: { dx: 1055, dy: -80 },
191
+ C19: { dx: 1145, dy: -35 },
192
+ C20: { dx: 1155, dy: -120 },
193
+ C21: { dx: 1195, dy: -165 },
194
+ C22: { dx: 1235, dy: -35 },
195
+ R13: { dx: 1125, dy: -145 },
196
+ R14: { dx: 960, dy: -145 },
197
+ R15: { dx: 960, dy: -185 },
198
+ U4: { dx: 220, dy: -485 },
199
+ R10: { dx: 155, dy: -485, rotation: 90 },
200
+ R11: { dx: 255, dy: -485, rotation: 90 },
201
+ R12: { dx: 45, dy: -505 },
202
+ C17: { dx: 45, dy: -545 },
203
+ C18: { dx: 110, dy: -545 },
204
+ U5: { dx: 590, dy: -545 },
205
+ LED1: { dx: 450, dy: -675 },
206
+ LED2: { dx: 550, dy: -675 },
207
+ LED3: { dx: 650, dy: -675 },
208
+ LED4: { dx: 750, dy: -675 },
209
+ J1: { dx: 95, dy: -790 },
210
+ J2: { dx: 340, dy: -790 },
211
+ J3: { dx: 540, dy: -815 },
212
+ J4: { dx: 700, dy: -790 },
213
+ };
214
+ function expectedRefs() {
215
+ return [...new Set(SYMBOL_GROUPS.flatMap((group) => [...group.refs]))].sort((a, b) => a.localeCompare(b, 'en'));
216
+ }
217
+ function buildBlocks(anchor) {
218
+ return BLOCK_DEFS.map((block) => ({
219
+ id: block.id,
220
+ title: block.title,
221
+ size: block.size,
222
+ refs: block.refs,
223
+ origin: { x: anchor.x + block.offset.dx, y: anchor.y + block.offset.dy },
224
+ }));
225
+ }
226
+ export function buildRp2040ServoModuleScaffold(input) {
227
+ const safeRegion = planSafeSchematicRegion({
228
+ sheetInfo: input.sheetInfo,
229
+ contentWidth: CONTENT.width,
230
+ contentHeight: CONTENT.height,
231
+ preferredRegion: input.preferredRegion ?? 'upper-left',
232
+ margin: input.margin,
233
+ });
234
+ const anchor = input.anchor ?? safeRegion.anchor;
235
+ const refs = expectedRefs();
236
+ const components = refs.map((ref) => {
237
+ const offset = REF_OFFSETS[ref] ?? { dx: 0, dy: 0 };
238
+ return {
239
+ ref,
240
+ role: `servo-module:${ref}`,
241
+ deviceItem: devFor(ref, input.devices),
242
+ placementOffset: { dx: offset.dx, dy: offset.dy },
243
+ rotation: offset.rotation,
244
+ pinConnections: [],
245
+ };
246
+ });
247
+ const workflowInput = {
248
+ projectId: input.projectId,
249
+ mode: input.mode ?? 'preview',
250
+ anchor,
251
+ spacing: 50,
252
+ components,
253
+ netPorts: [],
254
+ wires: [],
255
+ };
256
+ return {
257
+ workflowInput,
258
+ safeRegion,
259
+ blocks: buildBlocks(anchor),
260
+ bom: {
261
+ expectedRefs: refs,
262
+ referenceCount: refs.length,
263
+ symbolGroups: SYMBOL_GROUPS.map((group) => ({
264
+ symbol: group.symbol,
265
+ refs: [...group.refs],
266
+ count: group.refs.length,
267
+ })),
268
+ },
269
+ warnings: [
270
+ 'This scaffold intentionally places BOM blocks only; exact pin-to-net wiring is not inferred from screenshot+BOM.',
271
+ 'Use follow-up block workflows for power/USB, RP2040 core, motor driver, LEDs, connectors, and level shifter netlists.',
272
+ 'Apply mode will place components without electrical connectivity, so ERC warnings are expected until block netlists are added.',
273
+ ],
274
+ notes: [
275
+ 'Functional blocks mirror the user-provided servo-module reference: power and usb, rp2040 and reqs, motor driver, LEDs, connectors, decoupling, and level shifter.',
276
+ 'Detached netports are disabled by default; future netlist milestones should add visible wiring per block.',
277
+ ],
278
+ };
279
+ }
280
+ //# sourceMappingURL=rp2040-servo-module-scaffold.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rp2040-servo-module-scaffold.js","sourceRoot":"","sources":["../../src/workflows/rp2040-servo-module-scaffold.ts"],"names":[],"mappings":"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"}
@@ -18,6 +18,10 @@ const DEFAULT_A4_LANDSCAPE = {
18
18
  height: 841,
19
19
  unit: 'easyeda-coordinate',
20
20
  };
21
+ const TITLE_BLOCK_PAGE_SIZES = {
22
+ A4: { width: 1189, height: 841 },
23
+ A3: { width: 1682, height: 1189 },
24
+ };
21
25
  const DEFAULT_MARGIN = 80;
22
26
  const REGION_ROWS = {
23
27
  'upper-left': 'upper',
@@ -67,6 +71,18 @@ function readString(record, keys) {
67
71
  }
68
72
  return undefined;
69
73
  }
74
+ function readTitleBlockPageSize(root, currentOrRoot) {
75
+ const titleBlock = readRecord(currentOrRoot.titleBlockData ?? root.titleBlockData);
76
+ const sizeRecord = readRecord(titleBlock.Size);
77
+ const sizeValue = String(sizeRecord.value ?? '')
78
+ .replace(/[^A-Za-z0-9]/g, '')
79
+ .toUpperCase();
80
+ if (sizeValue === 'A3')
81
+ return TITLE_BLOCK_PAGE_SIZES.A3;
82
+ if (sizeValue === 'A4')
83
+ return TITLE_BLOCK_PAGE_SIZES.A4;
84
+ return undefined;
85
+ }
70
86
  export function inferSchematicSheetGeometry(sheetInfo) {
71
87
  const root = readRecord(sheetInfo);
72
88
  const current = readRecord(root.currentPage);
@@ -85,6 +101,16 @@ export function inferSchematicSheetGeometry(sheetInfo) {
85
101
  if (width !== undefined && height !== undefined) {
86
102
  return { width, height, unit, origin: 'bottom-left', source: 'sheet-info' };
87
103
  }
104
+ const titleBlockSize = readTitleBlockPageSize(root, currentOrRoot);
105
+ if (titleBlockSize !== undefined) {
106
+ return {
107
+ width: titleBlockSize.width,
108
+ height: titleBlockSize.height,
109
+ unit,
110
+ origin: 'bottom-left',
111
+ source: 'sheet-info',
112
+ };
113
+ }
88
114
  return {
89
115
  width: DEFAULT_A4_LANDSCAPE.width,
90
116
  height: DEFAULT_A4_LANDSCAPE.height,
@@ -1 +1 @@
1
- {"version":3,"file":"schematic-safe-region.js","sourceRoot":"","sources":["../../src/workflows/schematic-safe-region.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schematic-safe-region.js","sourceRoot":"","sources":["../../src/workflows/schematic-safe-region.ts"],"names":[],"mappings":"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"}
@@ -48,6 +48,16 @@ export interface WorkflowNetPortInput {
48
48
  portType?: 'input' | 'output' | 'bidirectional' | 'triState' | 'passive';
49
49
  rotation?: number;
50
50
  }
51
+ export interface WorkflowWireInput {
52
+ ref?: string;
53
+ role: string;
54
+ netName?: string;
55
+ points: Array<{
56
+ x: number;
57
+ y: number;
58
+ }>;
59
+ lineWidth?: number;
60
+ }
51
61
  export interface WorkflowBlockInput {
52
62
  projectId: string;
53
63
  mode?: WorkflowExecutionMode;
@@ -65,6 +75,7 @@ export interface WorkflowBlockInput {
65
75
  x: number;
66
76
  y: number;
67
77
  };
78
+ wires?: WorkflowWireInput[];
68
79
  }
69
80
  export type WorkflowOperation = {
70
81
  kind: 'placeComponent';
@@ -83,6 +94,13 @@ export type WorkflowOperation = {
83
94
  netName: string;
84
95
  method: 'schematic.createNetPort';
85
96
  params: Record<string, unknown>;
97
+ } | {
98
+ kind: 'addWire';
99
+ ref?: string;
100
+ role: string;
101
+ netName?: string;
102
+ method: 'schematic.addWire';
103
+ params: Record<string, unknown>;
86
104
  };
87
105
  export interface WorkflowPlannedComponent {
88
106
  ref: string;
Binary file
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "easyeda-mcp-pro",
3
- "version": "0.29.1",
3
+ "version": "0.31.0",
4
4
  "mcpName": "io.github.oaslananka/easyeda-mcp-pro",
5
5
  "description": "MCP server for EasyEDA Pro: PCB inspection, BOM, exports, and hardware review.",
6
6
  "keywords": [