easyeda-mcp-pro 0.24.0 → 0.24.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.
@@ -1,12 +1,21 @@
1
1
  import { z } from 'zod';
2
2
  import { fetchComponentPins } from './schematic-helpers.js';
3
+ import { scanSheetForPinCollisions } from '../workflows/collision.js';
3
4
  const searchDeviceInputSchema = z.object({
4
- key: z.string(),
5
+ key: z
6
+ .string()
7
+ .describe('Search keyword(s), matched against device name/description in the library'),
5
8
  libraryUuid: z.string().optional(),
6
9
  classification: z.union([z.string(), z.array(z.string())]).optional(),
7
10
  symbolType: z.string().optional(),
8
11
  itemsOfPage: z.number().int().default(20),
9
12
  page: z.number().int().default(1),
13
+ minimal: z
14
+ .boolean()
15
+ .optional()
16
+ .describe('When true, return only uuid/libraryUuid/name/pin_count/symbol_type per device instead of ' +
17
+ 'the full library metadata object — use this when the goal is just picking a deviceItem ' +
18
+ 'for place_component, to avoid paying for fields you will not read.'),
10
19
  });
11
20
  const _deviceItemSchema = z
12
21
  .object({
@@ -61,6 +70,7 @@ function searchDeviceArrayLengthMetadata(item, keys) {
61
70
  }
62
71
  return undefined;
63
72
  }
73
+ const searchDeviceNameKeys = ['name', 'title', 'deviceName', 'symbolName', 'className'];
64
74
  function normalizeSearchDeviceItem(item) {
65
75
  if (!item || typeof item !== 'object' || Array.isArray(item))
66
76
  return { raw: item };
@@ -74,6 +84,23 @@ function normalizeSearchDeviceItem(item) {
74
84
  normalized.symbol_type = symbolType;
75
85
  return normalized;
76
86
  }
87
+ /** Projects a normalized device item down to just enough to pick a deviceItem for
88
+ * place_component — see the `minimal` input flag. */
89
+ function minimalSearchDeviceItem(item) {
90
+ const minimal = {};
91
+ if (typeof item.uuid === 'string')
92
+ minimal.uuid = item.uuid;
93
+ if (typeof item.libraryUuid === 'string')
94
+ minimal.libraryUuid = item.libraryUuid;
95
+ const name = searchDeviceStringMetadata(item, searchDeviceNameKeys);
96
+ if (name)
97
+ minimal.name = name;
98
+ if (item.pin_count !== undefined)
99
+ minimal.pin_count = item.pin_count;
100
+ if (item.symbol_type !== undefined)
101
+ minimal.symbol_type = item.symbol_type;
102
+ return minimal;
103
+ }
77
104
  function registerSchematicReadTools(registry, _config) {
78
105
  registry.register({
79
106
  name: 'easyeda_schematic_nets',
@@ -90,7 +117,7 @@ function registerSchematicReadTools(registry, _config) {
90
117
  idempotentHint: true,
91
118
  },
92
119
  inputSchema: z.object({
93
- projectId: z.string(),
120
+ projectId: z.string().describe('The project/schematic ID'),
94
121
  }),
95
122
  outputSchema: z.object({
96
123
  project_id: z.string(),
@@ -151,7 +178,7 @@ function registerSchematicReadTools(registry, _config) {
151
178
  idempotentHint: true,
152
179
  },
153
180
  inputSchema: z.object({
154
- projectId: z.string(),
181
+ projectId: z.string().describe('The project/schematic ID'),
155
182
  limit: z.coerce.number().int().min(1).max(500).default(100),
156
183
  offset: z.coerce.number().int().min(0).default(0),
157
184
  }),
@@ -238,7 +265,7 @@ function registerSchematicReadTools(registry, _config) {
238
265
  idempotentHint: true,
239
266
  },
240
267
  inputSchema: z.object({
241
- projectId: z.string(),
268
+ projectId: z.string().describe('The project/schematic ID'),
242
269
  limit: z.coerce.number().int().min(1).max(50).default(50),
243
270
  offset: z.coerce.number().int().min(0).default(0),
244
271
  }),
@@ -300,7 +327,7 @@ function registerSchematicReadTools(registry, _config) {
300
327
  idempotentHint: true,
301
328
  },
302
329
  inputSchema: z.object({
303
- projectId: z.string(),
330
+ projectId: z.string().describe('The project/schematic ID'),
304
331
  netName: z.string(),
305
332
  }),
306
333
  outputSchema: z.object({
@@ -352,7 +379,9 @@ function registerSchematicReadTools(registry, _config) {
352
379
  registry.register({
353
380
  name: 'easyeda_schematic_search_device',
354
381
  title: 'Search library device',
355
- description: 'Search for schematic symbols/devices in the EasyEDA library by keywords.',
382
+ description: 'Search for schematic symbols/devices in the EasyEDA library by keywords. Full results ' +
383
+ "carry the library's complete metadata object per device; pass minimal:true to get back " +
384
+ 'only uuid/libraryUuid/name/pin_count/symbol_type when that is all you need.',
356
385
  profile: 'core',
357
386
  evidence: ['official-docs'],
358
387
  risk: 'low',
@@ -379,7 +408,7 @@ function registerSchematicReadTools(registry, _config) {
379
408
  error: z.string().optional(),
380
409
  }),
381
410
  handler: async (ctx, params) => {
382
- const { key, libraryUuid, classification, symbolType, itemsOfPage, page } = searchDeviceInputSchema.parse(params);
411
+ const { key, libraryUuid, classification, symbolType, itemsOfPage, page, minimal } = searchDeviceInputSchema.parse(params);
383
412
  try {
384
413
  const result = await ctx.bridge.call('schematic.searchDevice', {
385
414
  key,
@@ -389,7 +418,8 @@ function registerSchematicReadTools(registry, _config) {
389
418
  itemsOfPage,
390
419
  page,
391
420
  });
392
- const devices = Array.isArray(result) ? result.map(normalizeSearchDeviceItem) : [];
421
+ const normalized = Array.isArray(result) ? result.map(normalizeSearchDeviceItem) : [];
422
+ const devices = minimal ? normalized.map(minimalSearchDeviceItem) : normalized;
393
423
  return {
394
424
  devices,
395
425
  total: devices.length,
@@ -645,6 +675,63 @@ function registerSchematicReadTools(registry, _config) {
645
675
  }
646
676
  },
647
677
  });
678
+ registry.register({
679
+ name: 'easyeda_schematic_check_collisions',
680
+ title: 'Check for pin-coordinate collisions across the sheet',
681
+ description: "Scan every component's real pin coordinates and report any (x,y) shared by two or more " +
682
+ 'components — a silent-short risk the native NET_COLLISION guard misses for never-wired ' +
683
+ 'pins. Run after manual placement outside easyeda_workflow_* tools (which reconcile this ' +
684
+ 'automatically).',
685
+ profile: 'core',
686
+ evidence: ['inferred'],
687
+ risk: 'low',
688
+ confirmWrite: false,
689
+ group: 'schematic',
690
+ version: '1.0.0',
691
+ annotations: {
692
+ readOnlyHint: true,
693
+ idempotentHint: true,
694
+ },
695
+ inputSchema: z.object({
696
+ projectId: z.string().describe('The project/schematic ID'),
697
+ }),
698
+ outputSchema: z.object({
699
+ project_id: z.string(),
700
+ collisions: z.array(z.object({
701
+ x: z.number(),
702
+ y: z.number(),
703
+ pins: z.array(z.object({
704
+ primitiveId: z.string(),
705
+ pinNumber: z.string(),
706
+ pinName: z.string(),
707
+ })),
708
+ })),
709
+ collision_count: z.number().int().nonnegative(),
710
+ success: z.boolean(),
711
+ error: z.string().optional(),
712
+ }),
713
+ handler: async (ctx, params) => {
714
+ const { projectId } = params;
715
+ try {
716
+ const collisions = await scanSheetForPinCollisions(ctx, projectId);
717
+ return {
718
+ project_id: projectId,
719
+ collisions,
720
+ collision_count: collisions.length,
721
+ success: true,
722
+ };
723
+ }
724
+ catch (err) {
725
+ return {
726
+ project_id: projectId,
727
+ collisions: [],
728
+ collision_count: 0,
729
+ success: false,
730
+ error: err instanceof Error ? err.message : String(err),
731
+ };
732
+ }
733
+ },
734
+ });
648
735
  registry.register({
649
736
  name: 'easyeda_schematic_validate_netlist',
650
737
  title: 'Validate netlist',
@@ -1 +1 @@
1
- {"version":3,"file":"L1_schematic_read.js","sourceRoot":"","sources":["../../src/tools/L1_schematic_read.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAE5D,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE;IACf,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,cAAc,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACrE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACjC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;IACzC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;CAClC,CAAC,CAAC;AAEH,MAAM,iBAAiB,GAAG,CAAC;KACxB,MAAM,CAAC;IACN,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;CACjB,CAAC;KACD,WAAW,EAAE,CAAC;AAIjB,MAAM,wBAAwB,GAAG;IAC/B,WAAW;IACX,UAAU;IACV,WAAW;IACX,WAAW;IACX,SAAS;IACT,QAAQ;IACR,UAAU;CACF,CAAC;AAEX,MAAM,wBAAwB,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,CAAU,CAAC;AAExF,MAAM,0BAA0B,GAAG;IACjC,aAAa;IACb,YAAY;IACZ,MAAM;IACN,YAAY;IACZ,kBAAkB;IAClB,YAAY;CACJ,CAAC;AAEX,SAAS,0BAA0B,CACjC,IAAsB,EACtB,IAAuB;IAEvB,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;QACxB,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,KAAK,CAAC;IACzE,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,0BAA0B,CACjC,IAAsB,EACtB,IAAuB;IAEvB,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;QACxB,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC;YAAE,OAAO,KAAK,CAAC;QACrF,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;YACpC,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,MAAM,IAAI,CAAC;gBAAE,OAAO,MAAM,CAAC;QAC7D,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,+BAA+B,CACtC,IAAsB,EACtB,IAAuB;IAEvB,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;QACxB,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC,MAAM,CAAC;IAChD,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,yBAAyB,CAAC,IAAa;IAC9C,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;QAAE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;IAEnF,MAAM,UAAU,GAAqB,EAAE,GAAI,IAAyB,EAAE,CAAC;IACvE,MAAM,QAAQ,GACZ,0BAA0B,CAAC,UAAU,EAAE,wBAAwB,CAAC;QAChE,+BAA+B,CAAC,UAAU,EAAE,wBAAwB,CAAC,CAAC;IACxE,IAAI,QAAQ,KAAK,SAAS;QAAE,UAAU,CAAC,SAAS,GAAG,QAAQ,CAAC;IAE5D,MAAM,UAAU,GAAG,0BAA0B,CAAC,UAAU,EAAE,0BAA0B,CAAC,CAAC;IACtF,IAAI,UAAU;QAAE,UAAU,CAAC,WAAW,GAAG,UAAU,CAAC;IAEpD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,SAAS,0BAA0B,CACjC,QAAqD,EACrD,OAAkB;IAElB,QAAQ,CAAC,QAAQ,CAAC;QAChB,IAAI,EAAE,wBAAwB;QAC9B,KAAK,EAAE,qBAAqB;QAC5B,WAAW,EAAE,6DAA6D;QAC1E,OAAO,EAAE,MAAM;QACf,QAAQ,EAAE,CAAC,eAAe,CAAC;QAC3B,IAAI,EAAE,KAAK;QACX,YAAY,EAAE,KAAK;QACnB,KAAK,EAAE,WAAW;QAClB,OAAO,EAAE,OAAO;QAChB,WAAW,EAAE;YACX,YAAY,EAAE,IAAI;YAClB,cAAc,EAAE,IAAI;SACrB;QACD,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;SACtB,CAAC;QACF,YAAY,EAAE,CAAC,CAAC,MAAM,CAAC;YACrB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;YACtB,IAAI,EAAE,CAAC,CAAC,KAAK,CACX,CAAC,CAAC,MAAM,CAAC;gBACP,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;gBACpB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;gBAC1C,KAAK,EAAE,CAAC,CAAC,KAAK,CACZ,CAAC,CAAC,MAAM,CAAC;oBACP,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE;oBACzB,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE;iBAChB,CAAC,CACH;aACF,CAAC,CACH;YACD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;YACrC,aAAa,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;SACtC,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,GAAgB,EAAE,MAAe,EAAE,EAAE;YACnD,MAAM,EAAE,SAAS,EAAE,GAAG,MAA+B,CAAC;YACtD,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,oBAAoB,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;gBAC1E,MAAM,IAAI,GAAG,MAGX,CAAC;gBACH,OAAO;oBACL,UAAU,EAAE,SAAS;oBACrB,IAAI,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;wBAC7B,QAAQ,EAAE,CAAC,CAAC,OAAO,IAAI,EAAE;wBACzB,UAAU,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,IAAI,CAAC;wBAChC,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;4BAClC,aAAa,EAAE,EAAE,CAAC,SAAS,IAAI,EAAE;4BACjC,GAAG,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE;yBAClB,CAAC,CAAC;qBACJ,CAAC,CAAC;oBACH,KAAK,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC;iBACzB,CAAC;YACJ,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO;oBACL,UAAU,EAAE,SAAS;oBACrB,IAAI,EAAE,EAAE;oBACR,KAAK,EAAE,CAAC;oBACR,aAAa,EAAE,IAAI;oBACnB,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;iBACxD,CAAC;YACJ,CAAC;QACH,CAAC;KACF,CAAC,CAAC;IAEH,QAAQ,CAAC,QAAQ,CAAC;QAChB,IAAI,EAAE,8BAA8B;QACpC,KAAK,EAAE,2BAA2B;QAClC,WAAW,EACT,yFAAyF;YACzF,2FAA2F;YAC3F,iEAAiE;QACnE,OAAO,EAAE,MAAM;QACf,QAAQ,EAAE,CAAC,eAAe,CAAC;QAC3B,IAAI,EAAE,KAAK;QACX,YAAY,EAAE,KAAK;QACnB,KAAK,EAAE,WAAW;QAClB,OAAO,EAAE,OAAO;QAChB,WAAW,EAAE;YACX,YAAY,EAAE,IAAI;YAClB,cAAc,EAAE,IAAI;SACrB;QACD,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;YACrB,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC;YAC3D,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;SAClD,CAAC;QACF,YAAY,EAAE,CAAC,CAAC,MAAM,CAAC;YACrB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;YACtB,UAAU,EAAE,CAAC,CAAC,KAAK,CACjB,CAAC,CAAC,MAAM,CAAC;gBACP,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;gBAClC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;gBACrB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;gBACjB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;gBACrB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;gBAC3B,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;gBACnC,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;gBACrC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;gBAChC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;gBACjC,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;gBACxC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;gBACjC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;gBACjC,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;gBACxB,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;gBACxB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;aAChC,CAAC,CACH;YACD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;YACrC,aAAa,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;YACrC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;SAC7B,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,GAAgB,EAAE,MAAe,EAAE,EAAE;YACnD,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,MAIpC,CAAC;YACF,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,0BAA0B,EAAE;oBAC/D,SAAS;oBACT,KAAK;oBACL,MAAM;iBACP,CAAC,CAAC;gBACH,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,MAmBrC,CAAC;gBACF,MAAM,KAAK,GAAG,KAAK,IAAI,EAAE,CAAC;gBAC1B,OAAO;oBACL,UAAU,EAAE,SAAS;oBACrB,UAAU,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;wBAC5B,WAAW,EAAE,CAAC,CAAC,WAAW;wBAC1B,SAAS,EAAE,CAAC,CAAC,SAAS,IAAI,EAAE;wBAC5B,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE;wBACpB,SAAS,EAAE,CAAC,CAAC,SAAS,IAAI,EAAE;wBAC5B,IAAI,EAAE,CAAC,CAAC,IAAI;wBACZ,YAAY,EAAE,CAAC,CAAC,YAAY;wBAC5B,cAAc,EAAE,CAAC,CAAC,cAAc;wBAChC,SAAS,EAAE,CAAC,CAAC,SAAS;wBACtB,UAAU,EAAE,CAAC,CAAC,UAAU;wBACxB,iBAAiB,EAAE,CAAC,CAAC,iBAAiB;wBACtC,UAAU,EAAE,CAAC,CAAC,UAAU;wBACxB,UAAU,EAAE,CAAC,CAAC,UAAU;wBACxB,CAAC,EAAE,CAAC,CAAC,CAAC;wBACN,CAAC,EAAE,CAAC,CAAC,CAAC;wBACN,QAAQ,EAAE,CAAC,CAAC,QAAQ;qBACrB,CAAC,CAAC;oBACH,KAAK,EAAE,WAAW,IAAI,KAAK,CAAC,MAAM;iBACnC,CAAC;YACJ,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO;oBACL,UAAU,EAAE,SAAS;oBACrB,UAAU,EAAE,EAAE;oBACd,KAAK,EAAE,CAAC;oBACR,aAAa,EAAE,IAAI;oBACnB,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;iBACxD,CAAC;YACJ,CAAC;QACH,CAAC;KACF,CAAC,CAAC;IAEH,QAAQ,CAAC,QAAQ,CAAC;QAChB,IAAI,EAAE,yBAAyB;QAC/B,KAAK,EAAE,sBAAsB;QAC7B,WAAW,EACT,uFAAuF;YACvF,iFAAiF;YACjF,oFAAoF;QACtF,OAAO,EAAE,MAAM;QACf,QAAQ,EAAE,CAAC,eAAe,CAAC;QAC3B,IAAI,EAAE,KAAK;QACX,YAAY,EAAE,KAAK;QACnB,KAAK,EAAE,WAAW;QAClB,OAAO,EAAE,OAAO;QAChB,WAAW,EAAE;YACX,YAAY,EAAE,IAAI;YAClB,cAAc,EAAE,IAAI;SACrB;QACD,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;YACrB,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;YACzD,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;SAClD,CAAC;QACF,YAAY,EAAE,CAAC,CAAC,MAAM,CAAC;YACrB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;YACtB,KAAK,EAAE,CAAC,CAAC,KAAK,CACZ,CAAC,CAAC,MAAM,CAAC;gBACP,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;gBAClC,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;gBAC5B,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;gBAC1B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;gBACvC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;gBAC3C,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;aACjC,CAAC,CACH;YACD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;YACrC,aAAa,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;YACrC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;SAC7B,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,GAAgB,EAAE,MAAe,EAAE,EAAE;YACnD,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,MAIpC,CAAC;YACF,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,qBAAqB,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;gBAC/E,MAAM,IAAI,GAAG,MAUZ,CAAC;gBACF,OAAO;oBACL,UAAU,EAAE,SAAS;oBACrB,KAAK,EAAE,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;wBACtC,WAAW,EAAE,CAAC,CAAC,WAAW;wBAC1B,IAAI,EAAE,CAAC,CAAC,IAAI;wBACZ,GAAG,EAAE,CAAC,CAAC,GAAG;wBACV,KAAK,EAAE,CAAC,CAAC,KAAK;wBACd,SAAS,EAAE,CAAC,CAAC,SAAS;wBACtB,QAAQ,EAAE,CAAC,CAAC,QAAQ;qBACrB,CAAC,CAAC;oBACH,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC;iBAC/C,CAAC;YACJ,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO;oBACL,UAAU,EAAE,SAAS;oBACrB,KAAK,EAAE,EAAE;oBACT,KAAK,EAAE,CAAC;oBACR,aAAa,EAAE,IAAI;oBACnB,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;iBACxD,CAAC;YACJ,CAAC;QACH,CAAC;KACF,CAAC,CAAC;IAEH,QAAQ,CAAC,QAAQ,CAAC;QAChB,IAAI,EAAE,8BAA8B;QACpC,KAAK,EAAE,0BAA0B;QACjC,WAAW,EACT,mGAAmG;QACrG,OAAO,EAAE,MAAM;QACf,QAAQ,EAAE,CAAC,eAAe,CAAC;QAC3B,IAAI,EAAE,KAAK;QACX,YAAY,EAAE,KAAK;QACnB,KAAK,EAAE,WAAW;QAClB,OAAO,EAAE,OAAO;QAChB,WAAW,EAAE;YACX,YAAY,EAAE,IAAI;YAClB,cAAc,EAAE,IAAI;SACrB;QACD,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;YACrB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;SACpB,CAAC;QACF,YAAY,EAAE,CAAC,CAAC,MAAM,CAAC;YACrB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;YACtB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;YACpB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;YAC1C,KAAK,EAAE,CAAC,CAAC,KAAK,CACZ,CAAC,CAAC,MAAM,CAAC;gBACP,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE;gBACzB,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE;aAChB,CAAC,CACH;YACD,aAAa,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;SACtC,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,GAAgB,EAAE,MAAe,EAAE,EAAE;YACnD,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,MAAgD,CAAC;YAChF,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,wBAAwB,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC;gBACvF,MAAM,GAAG,GAAG,MAGX,CAAC;gBACF,IAAI,CAAC,GAAG,EAAE,CAAC;oBACT,OAAO;wBACL,UAAU,EAAE,SAAS;wBACrB,QAAQ,EAAE,OAAO;wBACjB,UAAU,EAAE,CAAC;wBACb,KAAK,EAAE,EAAE;wBACT,aAAa,EAAE,IAAI;qBACpB,CAAC;gBACJ,CAAC;gBACD,OAAO;oBACL,UAAU,EAAE,SAAS;oBACrB,QAAQ,EAAE,GAAG,CAAC,OAAO,IAAI,OAAO;oBAChC,UAAU,EAAE,GAAG,CAAC,KAAK,EAAE,MAAM,IAAI,CAAC;oBAClC,KAAK,EAAE,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;wBACpC,aAAa,EAAE,EAAE,CAAC,SAAS,IAAI,EAAE;wBACjC,GAAG,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE;qBAClB,CAAC,CAAC;iBACJ,CAAC;YACJ,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO;oBACL,UAAU,EAAE,SAAS;oBACrB,QAAQ,EAAE,OAAO;oBACjB,UAAU,EAAE,CAAC;oBACb,KAAK,EAAE,EAAE;oBACT,aAAa,EAAE,IAAI;oBACnB,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;iBACxD,CAAC;YACJ,CAAC;QACH,CAAC;KACF,CAAC,CAAC;IAEH,QAAQ,CAAC,QAAQ,CAAC;QAChB,IAAI,EAAE,iCAAiC;QACvC,KAAK,EAAE,uBAAuB;QAC9B,WAAW,EAAE,0EAA0E;QACvF,OAAO,EAAE,MAAM;QACf,QAAQ,EAAE,CAAC,eAAe,CAAC;QAC3B,IAAI,EAAE,KAAK;QACX,YAAY,EAAE,KAAK;QACnB,KAAK,EAAE,WAAW;QAClB,OAAO,EAAE,OAAO;QAChB,WAAW,EAAE;YACX,YAAY,EAAE,IAAI;YAClB,cAAc,EAAE,IAAI;SACrB;QACD,WAAW,EAAE,uBAAuB;QACpC,YAAY,EAAE,CAAC,CAAC,MAAM,CAAC;YACrB,OAAO,EAAE,CAAC,CAAC,KAAK,CACd,CAAC;iBACE,MAAM,CAAC;gBACN,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE;gBACpD,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;aACnC,CAAC;iBACD,WAAW,EAAE,CACjB;YACD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;YACrC;6FACiF;YACjF,aAAa,EAAE,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,QAAQ,EAAE;YACpD,aAAa,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;YACrC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;SAC7B,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,GAAgB,EAAE,MAAe,EAAE,EAAE;YACnD,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,cAAc,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,GACvE,uBAAuB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACxC,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,wBAAwB,EAAE;oBAC7D,GAAG;oBACH,WAAW;oBACX,cAAc;oBACd,UAAU;oBACV,WAAW;oBACX,IAAI;iBACL,CAAC,CAAC;gBACH,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACnF,OAAO;oBACL,OAAO;oBACP,KAAK,EAAE,OAAO,CAAC,MAAM;oBACrB,aAAa,EAAE,eAAwB;iBACxC,CAAC;YACJ,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO;oBACL,OAAO,EAAE,EAAE;oBACX,KAAK,EAAE,CAAC;oBACR,aAAa,EAAE,IAAI;oBACnB,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;iBACxD,CAAC;YACJ,CAAC;QACH,CAAC;KACF,CAAC,CAAC;IAEH,QAAQ,CAAC,QAAQ,CAAC;QAChB,IAAI,EAAE,8BAA8B;QACpC,KAAK,EAAE,0BAA0B;QACjC,WAAW,EACT,oIAAoI;QACtI,OAAO,EAAE,MAAM;QACf,QAAQ,EAAE,CAAC,eAAe,CAAC;QAC3B,IAAI,EAAE,KAAK;QACX,YAAY,EAAE,KAAK;QACnB,KAAK,EAAE,WAAW;QAClB,OAAO,EAAE,OAAO;QAChB,WAAW,EAAE;YACX,YAAY,EAAE,IAAI;YAClB,cAAc,EAAE,IAAI;SACrB;QACD,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;SACjC,CAAC;QACF,YAAY,EAAE,CAAC,CAAC,MAAM,CAAC;YACrB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YACjC,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;YAC7B,SAAS,EAAE,CAAC;iBACT,MAAM,CAAC;gBACN,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;gBAC5B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;gBAC7B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;aAC5B,CAAC;iBACD,QAAQ,EAAE;YACb,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;YAC7B,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;YAC9B,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;YAC5B,GAAG,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;YAC3B,aAAa,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;YACrC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;SAC7B,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,GAAgB,EAAE,MAAe,EAAE,EAAE;YACnD,MAAM,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;YACzF,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,wBAAwB,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;gBAC9E,MAAM,IAAI,GACR,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;oBAC5D,CAAC,CAAE,MAAkC;oBACrC,CAAC,CAAC,EAAE,CAAC;gBACT,MAAM,OAAO,GACX,IAAI,CAAC,WAAW;oBAChB,OAAO,IAAI,CAAC,WAAW,KAAK,QAAQ;oBACpC,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC;oBAC9B,CAAC,CAAE,IAAI,CAAC,WAAuC;oBAC/C,CAAC,CAAC,IAAI,CAAC;gBACX,MAAM,UAAU,GAAG,CAAC,IAAc,EAAsB,EAAE;oBACxD,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;wBACvB,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC;wBACxC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;4BAAE,OAAO,KAAK,CAAC;wBACtE,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;4BAC9B,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;4BACpC,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;gCAAE,OAAO,MAAM,CAAC;wBAC7C,CAAC;oBACH,CAAC;oBACD,OAAO,SAAS,CAAC;gBACnB,CAAC,CAAC;gBACF,MAAM,UAAU,GAAG,CAAC,IAAc,EAAsB,EAAE;oBACxD,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;wBACvB,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC;wBACxC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE;4BAAE,OAAO,KAAK,CAAC;oBAC9D,CAAC;oBACD,OAAO,SAAS,CAAC;gBACnB,CAAC,CAAC;gBACF,OAAO;oBACL,UAAU,EAAE,SAAS;oBACrB,KAAK,EAAE,OAAO;oBACd,SAAS,EAAE;wBACT,KAAK,EAAE,UAAU,CAAC,CAAC,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,GAAG,CAAC,CAAC;wBAC5D,MAAM,EAAE,UAAU,CAAC,CAAC,QAAQ,EAAE,YAAY,EAAE,aAAa,EAAE,GAAG,CAAC,CAAC;wBAChE,IAAI,EAAE,UAAU,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;qBAChD;oBACD,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,UAAU,IAAI,IAAI,CAAC,KAAK;oBACxD,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,YAAY,IAAI,IAAI,CAAC,MAAM;oBAC7D,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAC,IAAI;oBACnD,GAAG,EAAE,MAAM;iBACZ,CAAC;YACJ,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO;oBACL,UAAU,EAAE,SAAS;oBACrB,aAAa,EAAE,IAAI;oBACnB,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;iBACxD,CAAC;YACJ,CAAC;QACH,CAAC;KACF,CAAC,CAAC;IAEH,QAAQ,CAAC,QAAQ,CAAC;QAChB,IAAI,EAAE,gCAAgC;QACtC,KAAK,EAAE,+BAA+B;QACtC,WAAW,EACT,oMAAoM;QACtM,OAAO,EAAE,MAAM;QACf,QAAQ,EAAE,CAAC,eAAe,CAAC;QAC3B,IAAI,EAAE,KAAK;QACX,YAAY,EAAE,KAAK;QACnB,KAAK,EAAE,WAAW;QAClB,OAAO,EAAE,OAAO;QAChB,WAAW,EAAE;YACX,YAAY,EAAE,IAAI;YAClB,cAAc,EAAE,IAAI;SACrB;QACD,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YAChC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YAC9B,oBAAoB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE;YAC/D,2BAA2B,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;YACxD,gBAAgB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;SACzC,CAAC;QACF,YAAY,EAAE,CAAC,CAAC,MAAM,CAAC;YACrB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YACjC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YAC/B,oBAAoB,EAAE,CAAC,CAAC,OAAO,EAAE;YACjC,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE;YAC1D,qBAAqB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;YAClD,uBAAuB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;YAC/C,iBAAiB,EAAE,CAAC,CAAC,OAAO,EAAE;YAC9B,kBAAkB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;YAC1C,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;YAC7B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;SAC7B,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,GAAgB,EAAE,MAAe,EAAE,EAAE;YACnD,MAAM,CAAC,GAAG,CAAC;iBACR,MAAM,CAAC;gBACN,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;gBAChC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;gBAC9B,oBAAoB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE;gBAC/D,2BAA2B,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;gBACxD,gBAAgB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;aACzC,CAAC;iBACD,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;YACvB,MAAM,QAAQ,GAAa,EAAE,CAAC;YAC9B,IAAI,cAAkC,CAAC;YACvC,IAAI,mBAAuC,CAAC;YAC5C,IAAI,qBAA0C,CAAC;YAC/C,IAAI,mBAAmB,GAAG,KAAK,CAAC;YAChC,IAAI,gBAAgB,GAAG,KAAK,CAAC;YAC7B,IAAI,iBAA0B,CAAC;YAE/B,IAAI,CAAC;gBACH,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,0BAA0B,EAAE;oBACnE,SAAS,EAAE,CAAC,CAAC,SAAS;oBACtB,KAAK,EAAE,GAAG;oBACV,MAAM,EAAE,CAAC;iBACV,CAAC,CAAC;gBACH,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;oBAC9B,mBAAmB,GAAG,IAAI,CAAC;oBAC3B,cAAc,GAAG,UAAU,CAAC,MAAM,CAAC;oBACnC,IAAI,CAAC,CAAC,oBAAoB,KAAK,SAAS,EAAE,CAAC;wBACzC,mBAAmB,GAAG,cAAc,GAAG,CAAC,CAAC,oBAAoB,CAAC;wBAC9D,IAAI,CAAC,CAAC,2BAA2B,KAAK,SAAS,EAAE,CAAC;4BAChD,qBAAqB,GAAG,mBAAmB,KAAK,CAAC,CAAC,2BAA2B,CAAC;4BAC9E,IAAI,CAAC,qBAAqB,EAAE,CAAC;gCAC3B,QAAQ,CAAC,IAAI,CACX,kCAAkC,CAAC,CAAC,2BAA2B,SAAS,mBAAmB,GAAG,CAC/F,CAAC;4BACJ,CAAC;wBACH,CAAC;oBACH,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,QAAQ,CAAC,IAAI,CAAC,oDAAoD,CAAC,CAAC;gBACtE,CAAC;YACH,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,QAAQ,CAAC,IAAI,CACX,oCAAoC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CACvF,CAAC;YACJ,CAAC;YAED,IAAI,CAAC;gBACH,iBAAiB,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,2BAA2B,EAAE;oBACrE,SAAS,EAAE,CAAC,CAAC,SAAS;oBACtB,OAAO,EAAE,CAAC,CAAC,OAAO;oBAClB,gBAAgB,EAAE,CAAC,CAAC,gBAAgB,IAAI,KAAK;iBAC9C,CAAC,CAAC;gBACH,gBAAgB,GAAG,IAAI,CAAC;YAC1B,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,QAAQ,CAAC,IAAI,CACX,mCAAmC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CACtF,CAAC;YACJ,CAAC;YAED,OAAO;gBACL,UAAU,EAAE,CAAC,CAAC,SAAS;gBACvB,QAAQ,EAAE,CAAC,CAAC,OAAO;gBACnB,oBAAoB,EAAE,mBAAmB;gBACzC,eAAe,EAAE,cAAc;gBAC/B,qBAAqB,EAAE,mBAAmB;gBAC1C,uBAAuB,EAAE,qBAAqB;gBAC9C,iBAAiB,EAAE,gBAAgB;gBACnC,kBAAkB,EAAE,iBAAiB;gBACrC,QAAQ;aACT,CAAC;QACJ,CAAC;KACF,CAAC,CAAC;IACH,QAAQ,CAAC,QAAQ,CAAC;QAChB,IAAI,EAAE,kCAAkC;QACxC,KAAK,EAAE,oBAAoB;QAC3B,WAAW,EACT,0FAA0F;YAC1F,uFAAuF;YACvF,4FAA4F;QAC9F,OAAO,EAAE,MAAM;QACf,QAAQ,EAAE,CAAC,eAAe,EAAE,eAAe,CAAC;QAC5C,IAAI,EAAE,KAAK;QACX,YAAY,EAAE,KAAK;QACnB,KAAK,EAAE,WAAW;QAClB,OAAO,EAAE,OAAO;QAChB,WAAW,EAAE;YACX,YAAY,EAAE,IAAI;YAClB,cAAc,EAAE,IAAI;SACrB;QACD,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;SACxB,CAAC;QACF,YAAY,EAAE,CAAC,CAAC,MAAM,CAAC;YACrB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;YACvB,IAAI,EAAE,CAAC,CAAC,KAAK,CACX,CAAC,CAAC,MAAM,CAAC;gBACP,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;gBACrB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;gBACnB,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE;gBACb,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE;gBACb,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;gBACpB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;gBACrB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;aAC/B,CAAC,CACH;YACD,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE;YACpB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;SAC7B,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,GAAgB,EAAE,MAAe,EAAE,EAAE;YACnD,MAAM,EAAE,WAAW,EAAE,GAAG,MAAiC,CAAC;YAC1D,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,MAAM,kBAAkB,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;gBACxD,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;YAC9C,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO;oBACL,WAAW;oBACX,IAAI,EAAE,EAAE;oBACR,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;iBACxD,CAAC;YACJ,CAAC;QACH,CAAC;KACF,CAAC,CAAC;IAEH,QAAQ,CAAC,QAAQ,CAAC;QAChB,IAAI,EAAE,oCAAoC;QAC1C,KAAK,EAAE,kBAAkB;QACzB,WAAW,EACT,4FAA4F;YAC5F,uFAAuF;YACvF,yFAAyF;QAC3F,OAAO,EAAE,MAAM;QACf,QAAQ,EAAE,CAAC,UAAU,CAAC;QACtB,IAAI,EAAE,KAAK;QACX,YAAY,EAAE,KAAK;QACnB,KAAK,EAAE,WAAW;QAClB,OAAO,EAAE,OAAO;QAChB,WAAW,EAAE;YACX,YAAY,EAAE,IAAI;YAClB,cAAc,EAAE,IAAI;SACrB;QACD,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;YAC1D,gBAAgB,EAAE,CAAC;iBAChB,OAAO,EAAE;iBACT,OAAO,CAAC,KAAK,CAAC;iBACd,QAAQ,CAAC,wEAAwE,CAAC;SACtF,CAAC;QACF,YAAY,EAAE,CAAC,CAAC,MAAM,CAAC;YACrB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;YACtB,OAAO,EAAE,CAAC,CAAC,KAAK,CACd,CAAC,CAAC,MAAM,CAAC;gBACP,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;gBACpB,cAAc,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;gBACnC,cAAc,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;gBACnC,YAAY,EAAE,CAAC,CAAC,OAAO,EAAE;aAC1B,CAAC,CACH;YACD,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;YAC1C,aAAa,EAAE,CAAC,CAAC,KAAK,CACpB,CAAC,CAAC,MAAM,CAAC;gBACP,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;gBACvB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;gBACjC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;aACtB,CAAC,CACH;YACD,qBAAqB,EAAE,CAAC;iBACrB,KAAK,CACJ,CAAC,CAAC,MAAM,CAAC;gBACP,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;gBAClB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;aAC/B,CAAC,CACH;iBACA,QAAQ,EAAE;YACb,UAAU,EAAE,CAAC;iBACV,MAAM,CAAC;gBACN,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;gBAC3C,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;gBAC7C,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE;aACpB,CAAC;iBACD,QAAQ,EAAE;YACb,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE;YAClB,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;YAC7B,aAAa,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;YACrC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;SAC7B,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,GAAgB,EAAE,MAAe,EAAE,EAAE;YACnD,MAAM,EAAE,SAAS,EAAE,gBAAgB,EAAE,GAAG,MAGvC,CAAC;YACF,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,2BAA2B,EAAE;oBAChE,SAAS;oBACT,gBAAgB;iBACjB,CAAC,CAAC;gBACH,MAAM,IAAI,GAAG,MAWZ,CAAC;gBACF,MAAM,eAAe,GAAG,IAAI,CAAC,SAAS,EAAE,MAAM,IAAI,IAAI,CAAC;gBACvD,OAAO;oBACL,UAAU,EAAE,SAAS;oBACrB,OAAO,EAAE,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;wBACrC,QAAQ,EAAE,CAAC,CAAC,OAAO,IAAI,EAAE;wBACzB,cAAc,EAAE,CAAC,CAAC,IAAI,IAAI,EAAE;wBAC5B,cAAc,EAAE,CAAC,CAAC,IAAI,IAAI,EAAE;wBAC5B,YAAY,EAAE,CAAC,CAAC,UAAU,IAAI,KAAK;qBACpC,CAAC,CAAC;oBACH,UAAU,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,IAAI,CAAC;oBAClC,aAAa,EAAE,CAAC,IAAI,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;wBACpD,WAAW,EAAE,EAAE,CAAC,WAAW,IAAI,EAAE;wBACjC,UAAU,EAAE,EAAE,CAAC,UAAU;wBACzB,SAAS,EAAE,EAAE,CAAC,SAAS,IAAI,EAAE;qBAC9B,CAAC,CAAC;oBACH,qBAAqB,EAAE,IAAI,CAAC,mBAAmB;wBAC7C,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;4BACnC,MAAM,EAAE,CAAC,CAAC,MAAM,IAAI,EAAE;4BACtB,OAAO,EAAE,CAAC,CAAC,OAAO;yBACnB,CAAC,CAAC;wBACL,CAAC,CAAC,SAAS;oBACb,UAAU,EAAE,IAAI,CAAC,SAAS;wBACxB,CAAC,CAAC;4BACE,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,IAAI,CAAC;4BAC3C,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY,IAAI,CAAC;4BAC/C,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,IAAI,KAAK;yBACvC;wBACH,CAAC,CAAC,SAAS;oBACb,sEAAsE;oBACtE,oEAAoE;oBACpE,sCAAsC;oBACtC,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,MAAM,KAAK,CAAC,IAAI,eAAe;oBACrD,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,EAAE;iBAC9B,CAAC;YACJ,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO;oBACL,UAAU,EAAE,SAAS;oBACrB,OAAO,EAAE,EAAE;oBACX,UAAU,EAAE,CAAC;oBACb,aAAa,EAAE,EAAE;oBACjB,KAAK,EAAE,KAAK;oBACZ,QAAQ,EAAE,EAAE;oBACZ,aAAa,EAAE,IAAI;oBACnB,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;iBACxD,CAAC;YACJ,CAAC;QACH,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AAED,OAAO,EAAE,0BAA0B,EAAE,CAAC"}
1
+ {"version":3,"file":"L1_schematic_read.js","sourceRoot":"","sources":["../../src/tools/L1_schematic_read.ts"],"names":[],"mappings":"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"}
@@ -72,12 +72,48 @@ async function readSchematicComponentsForVerification(ctx) {
72
72
  limit: 500,
73
73
  offset: 0,
74
74
  });
75
- return Array.isArray(result) ? result : undefined;
75
+ // The bridge returns { total, items }, not a bare array — accept both
76
+ // shapes defensively (a bare-array response previously made this always
77
+ // return undefined, silently disabling the collision guard and the
78
+ // before/after component-count diff in verifyAfterWrite).
79
+ if (Array.isArray(result))
80
+ return result;
81
+ if (result && Array.isArray(result.items))
82
+ return result.items;
83
+ return undefined;
76
84
  }
77
85
  catch {
78
86
  return undefined;
79
87
  }
80
88
  }
89
+ /** Loose match for "was this placement attempted right before the bridge call failed" —
90
+ * used only to decide whether a timeout/error is worth reconciling against real state. */
91
+ function looksLikeTimeoutOrUnconfirmed(err) {
92
+ if (!(err instanceof Error))
93
+ return false;
94
+ return /timed out|timeout/i.test(err.message);
95
+ }
96
+ /**
97
+ * After a placeComponent call errors (typically a timeout), check whether the
98
+ * write actually landed anyway before reporting failure — the EasyEDA-side
99
+ * operation can complete after the bridge's own timeout fires, and blindly
100
+ * reporting failure invites the caller to retry, creating a duplicate
101
+ * component under a second designator (see easyeda-workflow skill's
102
+ * "known write-safety caveats"). Matches on device identity + placement
103
+ * coordinates within `collisionRadius` against the current component list.
104
+ */
105
+ function findMatchingPlacedComponent(components, deviceItem, x, y, toleranceRadius) {
106
+ for (const component of components ?? []) {
107
+ if (component.deviceUuid !== deviceItem.uuid)
108
+ continue;
109
+ const point = schematicWriteComponentPoint(component);
110
+ if (!point)
111
+ continue;
112
+ if (Math.hypot(point.x - x, point.y - y) <= toleranceRadius)
113
+ return component;
114
+ }
115
+ return undefined;
116
+ }
81
117
  const placeComponentInputSchema = z.object({
82
118
  deviceItem: deviceItemSchema,
83
119
  x: z.number(),
@@ -91,7 +127,9 @@ const placeComponentInputSchema = z.object({
91
127
  verifyAfterWrite: z.boolean().optional(),
92
128
  checkPlacementCollision: z.boolean().optional(),
93
129
  collisionRadius: z.number().positive().optional(),
94
- confirmWrite: z.literal(true),
130
+ confirmWrite: z
131
+ .literal(true)
132
+ .describe('Must be the literal boolean true (not the string "true") to allow this write.'),
95
133
  });
96
134
  const addWireInputSchema = z.object({
97
135
  points: z.array(z.object({
@@ -102,7 +140,9 @@ const addWireInputSchema = z.object({
102
140
  color: z.string().optional(),
103
141
  lineWidth: z.number().optional(),
104
142
  lineType: z.string().optional(),
105
- confirmWrite: z.literal(true),
143
+ confirmWrite: z
144
+ .literal(true)
145
+ .describe('Must be the literal boolean true (not the string "true") to allow this write.'),
106
146
  });
107
147
  const addTextInputSchema = z.object({
108
148
  x: z.number(),
@@ -116,7 +156,9 @@ const addTextInputSchema = z.object({
116
156
  italic: z.boolean().optional(),
117
157
  underline: z.boolean().optional(),
118
158
  alignMode: z.number().int().min(0).max(8).optional(),
119
- confirmWrite: z.literal(true),
159
+ confirmWrite: z
160
+ .literal(true)
161
+ .describe('Must be the literal boolean true (not the string "true") to allow this write.'),
120
162
  });
121
163
  const addRectangleInputSchema = z.object({
122
164
  x: z.number().describe('Top-left X coordinate'),
@@ -130,7 +172,9 @@ const addRectangleInputSchema = z.object({
130
172
  lineWidth: z.number().positive().optional(),
131
173
  lineType: z.number().int().nonnegative().optional(),
132
174
  fillStyle: z.string().optional(),
133
- confirmWrite: z.literal(true),
175
+ confirmWrite: z
176
+ .literal(true)
177
+ .describe('Must be the literal boolean true (not the string "true") to allow this write.'),
134
178
  });
135
179
  const addCircleInputSchema = z.object({
136
180
  centerX: z.number(),
@@ -141,7 +185,9 @@ const addCircleInputSchema = z.object({
141
185
  lineWidth: z.number().positive().optional(),
142
186
  lineType: z.number().int().nonnegative().optional(),
143
187
  fillStyle: z.string().optional(),
144
- confirmWrite: z.literal(true),
188
+ confirmWrite: z
189
+ .literal(true)
190
+ .describe('Must be the literal boolean true (not the string "true") to allow this write.'),
145
191
  });
146
192
  const addPolygonInputSchema = z.object({
147
193
  points: z.array(z.object({ x: z.number(), y: z.number() })).min(3),
@@ -149,25 +195,31 @@ const addPolygonInputSchema = z.object({
149
195
  fillColor: z.string().optional().describe('Fill color, hex string, or "none" for unfilled'),
150
196
  lineWidth: z.number().positive().optional(),
151
197
  lineType: z.number().int().nonnegative().optional(),
152
- confirmWrite: z.literal(true),
198
+ confirmWrite: z
199
+ .literal(true)
200
+ .describe('Must be the literal boolean true (not the string "true") to allow this write.'),
153
201
  });
154
202
  const deletePrimitiveInputSchema = z.object({
155
203
  primitiveIds: z.array(z.string()),
156
- confirmWrite: z.literal(true),
204
+ confirmWrite: z
205
+ .literal(true)
206
+ .describe('Must be the literal boolean true (not the string "true") to allow this write.'),
157
207
  });
158
208
  const modifyPrimitiveInputSchema = z.object({
159
209
  primitiveId: z.string(),
160
210
  property: z.record(z.string(), z.unknown()),
161
- confirmWrite: z.literal(true),
211
+ confirmWrite: z
212
+ .literal(true)
213
+ .describe('Must be the literal boolean true (not the string "true") to allow this write.'),
162
214
  });
163
215
  function registerSchematicWriteTools(registry, _config) {
164
216
  registry.register({
165
217
  name: 'easyeda_schematic_place_component',
166
218
  title: 'Place schematic component',
167
- description: 'Place a library component/device on the active schematic sheet. The bridge auto-assigns ' +
168
- 'the next free designator ("R?" → "R1", "R2", …); check the returned designator. If ' +
169
- 'annotation fails, fix the placeholder via modify_primitive — the netlist keys nodes by ' +
170
- 'designator, so duplicate "R?" merge into one node.',
219
+ description: 'Place a library component/device on the active schematic sheet. Auto-assigns the next ' +
220
+ 'free designator ("R?" → "R1") — check the returned value, duplicate "R?" merge into one ' +
221
+ 'node. On a timeout error, auto-reconciles against the sheet before reporting failure (see ' +
222
+ 'reconciled/unconfirmed) — do not blindly retry.',
171
223
  profile: 'core',
172
224
  evidence: ['official-docs'],
173
225
  risk: 'medium',
@@ -185,6 +237,13 @@ function registerSchematicWriteTools(registry, _config) {
185
237
  dry_run: z.boolean().optional(),
186
238
  placement_guard: z.unknown().optional(),
187
239
  verification: z.unknown().optional(),
240
+ /** True when a bridge error (typically a timeout) was reconciled by finding a matching
241
+ * component already on the sheet — the placement likely succeeded despite the error. */
242
+ reconciled: z.boolean().optional(),
243
+ /** True when an error looked like a timeout but no matching component was found on
244
+ * re-check — genuinely unknown whether the write landed; do not assume either way. */
245
+ unconfirmed: z.boolean().optional(),
246
+ warning: z.string().optional(),
188
247
  error: z.string().optional(),
189
248
  }),
190
249
  handler: async (ctx, params) => {
@@ -254,6 +313,29 @@ function registerSchematicWriteTools(registry, _config) {
254
313
  };
255
314
  }
256
315
  catch (err) {
316
+ if (looksLikeTimeoutOrUnconfirmed(err)) {
317
+ const afterComponents = await readSchematicComponentsForVerification(ctx);
318
+ const match = findMatchingPlacedComponent(afterComponents, p.deviceItem, p.x, p.y, p.collisionRadius ?? 25);
319
+ if (match) {
320
+ return {
321
+ success: true,
322
+ component: match,
323
+ reconciled: true,
324
+ warning: `Bridge call errored ("${err instanceof Error ? err.message : String(err)}") but ` +
325
+ `a matching component (primitiveId "${String(match.primitiveId ?? '')}") was found ` +
326
+ 'on the sheet afterward — the placement likely succeeded despite the error. Do not retry this placement.',
327
+ };
328
+ }
329
+ return {
330
+ success: false,
331
+ unconfirmed: true,
332
+ error: err instanceof Error ? err.message : String(err),
333
+ warning: 'This looks like a timeout, not a confirmed failure. No matching component was ' +
334
+ 'found on re-check, but the write may still be landing. Verify with ' +
335
+ 'schematic_components/schematic_nets before retrying — retrying an unconfirmed ' +
336
+ 'placement risks creating a duplicate.',
337
+ };
338
+ }
257
339
  return {
258
340
  success: false,
259
341
  error: err instanceof Error ? err.message : String(err),
@@ -582,7 +664,9 @@ function registerSchematicWriteTools(registry, _config) {
582
664
  .optional()
583
665
  .describe('Power-flag identification. When set, places an EasyEDA power/ground flag symbol of this type. ' +
584
666
  'When omitted, places a generic named net label instead.'),
585
- confirmWrite: z.literal(true),
667
+ confirmWrite: z
668
+ .literal(true)
669
+ .describe('Must be the literal boolean true (not the string "true") to allow this write.'),
586
670
  }),
587
671
  outputSchema: z.object({
588
672
  success: z.boolean(),
@@ -648,7 +732,9 @@ function registerSchematicWriteTools(registry, _config) {
648
732
  .optional()
649
733
  .describe('Electrical type of the port'),
650
734
  rotation: z.number().optional().describe('Rotation in degrees (0, 90, 180, 270)'),
651
- confirmWrite: z.literal(true),
735
+ confirmWrite: z
736
+ .literal(true)
737
+ .describe('Must be the literal boolean true (not the string "true") to allow this write.'),
652
738
  }),
653
739
  outputSchema: z.object({
654
740
  success: z.boolean(),
@@ -719,7 +805,9 @@ function registerSchematicWriteTools(registry, _config) {
719
805
  .positive()
720
806
  .optional()
721
807
  .describe('Length of the wire stub drawn outward from the pin. Defaults to 10.'),
722
- confirmWrite: z.literal(true),
808
+ confirmWrite: z
809
+ .literal(true)
810
+ .describe('Must be the literal boolean true (not the string "true") to allow this write.'),
723
811
  }),
724
812
  outputSchema: z.object({
725
813
  success: z.boolean(),
@@ -799,7 +887,9 @@ function registerSchematicWriteTools(registry, _config) {
799
887
  .positive()
800
888
  .optional()
801
889
  .describe('Length of the wire stub drawn outward from each pin. Defaults to 10.'),
802
- confirmWrite: z.literal(true),
890
+ confirmWrite: z
891
+ .literal(true)
892
+ .describe('Must be the literal boolean true (not the string "true") to allow this write.'),
803
893
  }),
804
894
  outputSchema: z.object({
805
895
  success: z.boolean(),
@@ -873,7 +963,9 @@ function registerSchematicWriteTools(registry, _config) {
873
963
  },
874
964
  inputSchema: z.object({
875
965
  projectId: z.string().describe('The project/schematic ID to save'),
876
- confirmWrite: z.literal(true),
966
+ confirmWrite: z
967
+ .literal(true)
968
+ .describe('Must be the literal boolean true (not the string "true") to allow this write.'),
877
969
  }),
878
970
  outputSchema: z.object({
879
971
  success: z.boolean(),
@@ -926,7 +1018,9 @@ function registerSchematicWriteTools(registry, _config) {
926
1018
  }))
927
1019
  .describe('Map of title block field name to the sub-fields to change, e.g. { "Company": { "value": "ACME", "showValue": true } }'),
928
1020
  showTitleBlock: z.boolean().optional().describe('Show/hide the whole title block'),
929
- confirmWrite: z.literal(true),
1021
+ confirmWrite: z
1022
+ .literal(true)
1023
+ .describe('Must be the literal boolean true (not the string "true") to allow this write.'),
930
1024
  }),
931
1025
  outputSchema: z.object({
932
1026
  success: z.boolean(),
@@ -967,7 +1061,9 @@ function registerSchematicWriteTools(registry, _config) {
967
1061
  },
968
1062
  inputSchema: z.object({
969
1063
  projectId: z.string().optional(),
970
- confirmWrite: z.literal(true),
1064
+ confirmWrite: z
1065
+ .literal(true)
1066
+ .describe('Must be the literal boolean true (not the string "true") to allow this write.'),
971
1067
  }),
972
1068
  outputSchema: z.object({
973
1069
  success: z.boolean(),