@jlcpcb/core 0.1.0 → 0.1.1

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 (88) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/dist/api/easyeda-community.d.ts +36 -0
  3. package/dist/api/easyeda-community.d.ts.map +1 -0
  4. package/dist/api/easyeda.d.ts +23 -0
  5. package/dist/api/easyeda.d.ts.map +1 -0
  6. package/dist/api/index.d.ts +7 -0
  7. package/dist/api/index.d.ts.map +1 -0
  8. package/dist/api/jlc.d.ts +41 -0
  9. package/dist/api/jlc.d.ts.map +1 -0
  10. package/dist/constants/design-rules.d.ts +34 -0
  11. package/dist/constants/design-rules.d.ts.map +1 -0
  12. package/dist/constants/footprints.d.ts +134 -0
  13. package/dist/constants/footprints.d.ts.map +1 -0
  14. package/dist/constants/index.d.ts +7 -0
  15. package/dist/constants/index.d.ts.map +1 -0
  16. package/dist/constants/kicad.d.ts +67 -0
  17. package/dist/constants/kicad.d.ts.map +1 -0
  18. package/dist/converter/category-router.d.ts +47 -0
  19. package/dist/converter/category-router.d.ts.map +1 -0
  20. package/dist/converter/footprint-mapper.d.ts +40 -0
  21. package/dist/converter/footprint-mapper.d.ts.map +1 -0
  22. package/dist/converter/footprint-mapper.test.d.ts +2 -0
  23. package/dist/converter/footprint-mapper.test.d.ts.map +1 -0
  24. package/dist/converter/footprint.d.ts +106 -0
  25. package/dist/converter/footprint.d.ts.map +1 -0
  26. package/dist/converter/global-lib-table.d.ts +29 -0
  27. package/dist/converter/global-lib-table.d.ts.map +1 -0
  28. package/dist/converter/index.d.ts +12 -0
  29. package/dist/converter/index.d.ts.map +1 -0
  30. package/dist/converter/lib-table.d.ts +61 -0
  31. package/dist/converter/lib-table.d.ts.map +1 -0
  32. package/dist/converter/svg-arc.d.ts +45 -0
  33. package/dist/converter/svg-arc.d.ts.map +1 -0
  34. package/dist/converter/symbol-templates.d.ts +34 -0
  35. package/dist/converter/symbol-templates.d.ts.map +1 -0
  36. package/dist/converter/symbol.d.ts +223 -0
  37. package/dist/converter/symbol.d.ts.map +1 -0
  38. package/dist/converter/value-normalizer.d.ts +33 -0
  39. package/dist/converter/value-normalizer.d.ts.map +1 -0
  40. package/dist/index.d.ts +12 -0
  41. package/dist/index.d.ts.map +1 -0
  42. package/dist/index.js +9198 -0
  43. package/dist/parsers/easyeda-shapes.d.ts +115 -0
  44. package/dist/parsers/easyeda-shapes.d.ts.map +1 -0
  45. package/dist/parsers/http-client.d.ts +16 -0
  46. package/dist/parsers/http-client.d.ts.map +1 -0
  47. package/dist/parsers/index.d.ts +11 -0
  48. package/dist/parsers/index.d.ts.map +1 -0
  49. package/dist/parsers/utils.d.ts +17 -0
  50. package/dist/parsers/utils.d.ts.map +1 -0
  51. package/dist/services/component-service.d.ts +31 -0
  52. package/dist/services/component-service.d.ts.map +1 -0
  53. package/dist/services/fix-service.d.ts +40 -0
  54. package/dist/services/fix-service.d.ts.map +1 -0
  55. package/dist/services/index.d.ts +8 -0
  56. package/dist/services/index.d.ts.map +1 -0
  57. package/dist/services/library-service.d.ts +111 -0
  58. package/dist/services/library-service.d.ts.map +1 -0
  59. package/dist/types/component.d.ts +56 -0
  60. package/dist/types/component.d.ts.map +1 -0
  61. package/dist/types/easyeda-community.d.ts +74 -0
  62. package/dist/types/easyeda-community.d.ts.map +1 -0
  63. package/dist/types/easyeda.d.ts +326 -0
  64. package/dist/types/easyeda.d.ts.map +1 -0
  65. package/dist/types/index.d.ts +12 -0
  66. package/dist/types/index.d.ts.map +1 -0
  67. package/dist/types/jlc.d.ts +78 -0
  68. package/dist/types/jlc.d.ts.map +1 -0
  69. package/dist/types/kicad.d.ts +141 -0
  70. package/dist/types/kicad.d.ts.map +1 -0
  71. package/dist/types/mcp.d.ts +66 -0
  72. package/dist/types/mcp.d.ts.map +1 -0
  73. package/dist/types/project.d.ts +60 -0
  74. package/dist/types/project.d.ts.map +1 -0
  75. package/dist/utils/conversion.d.ts +59 -0
  76. package/dist/utils/conversion.d.ts.map +1 -0
  77. package/dist/utils/file-system.d.ts +59 -0
  78. package/dist/utils/file-system.d.ts.map +1 -0
  79. package/dist/utils/index.d.ts +8 -0
  80. package/dist/utils/index.d.ts.map +1 -0
  81. package/dist/utils/logger.d.ts +26 -0
  82. package/dist/utils/logger.d.ts.map +1 -0
  83. package/dist/utils/validation.d.ts +259 -0
  84. package/dist/utils/validation.d.ts.map +1 -0
  85. package/package.json +1 -1
  86. package/src/converter/footprint-mapper.test.ts +159 -0
  87. package/src/converter/footprint-mapper.ts +42 -134
  88. package/src/converter/footprint.ts +24 -9
@@ -0,0 +1,326 @@
1
+ /**
2
+ * EasyEDA format types for component data from LCSC/EasyEDA API
3
+ *
4
+ * Based on easyeda2kicad.py analysis - supports all footprint shape types
5
+ */
6
+ export interface EasyEDAComponent {
7
+ uuid: string;
8
+ lcsc: string;
9
+ title: string;
10
+ description: string;
11
+ symbol: EasyEDASymbol;
12
+ footprint: EasyEDAFootprint;
13
+ attributes: Record<string, string>;
14
+ }
15
+ export interface EasyEDASymbol {
16
+ docType: string;
17
+ head: EasyEDAHead;
18
+ canvas: string;
19
+ shape: string[];
20
+ }
21
+ export interface EasyEDAFootprint {
22
+ docType: string;
23
+ head: EasyEDAHead;
24
+ canvas: string;
25
+ shape: string[];
26
+ }
27
+ export interface EasyEDAHead {
28
+ x: string;
29
+ y: string;
30
+ c_para?: Record<string, string>;
31
+ [key: string]: unknown;
32
+ }
33
+ export interface EasyEDAPin {
34
+ number: string;
35
+ name: string;
36
+ electricalType: string;
37
+ x: number;
38
+ y: number;
39
+ rotation: number;
40
+ hasDot: boolean;
41
+ hasClock: boolean;
42
+ pinLength: number;
43
+ }
44
+ /**
45
+ * Symbol Rectangle - body outlines, IC bodies
46
+ * Format: R~x~y~rx~ry~width~height~strokeColor~strokeWidth~strokeStyle~fillColor~id~locked
47
+ */
48
+ export interface EasyEDASymbolRect {
49
+ x: number;
50
+ y: number;
51
+ width: number;
52
+ height: number;
53
+ strokeWidth: number;
54
+ strokeColor: string;
55
+ fillColor: string;
56
+ rx: number;
57
+ ry: number;
58
+ }
59
+ /**
60
+ * Symbol Circle
61
+ * Format: C~cx~cy~radius~strokeColor~strokeWidth~strokeStyle~fillColor~id~locked
62
+ */
63
+ export interface EasyEDASymbolCircle {
64
+ cx: number;
65
+ cy: number;
66
+ radius: number;
67
+ strokeWidth: number;
68
+ strokeColor: string;
69
+ fillColor: string;
70
+ }
71
+ /**
72
+ * Symbol Ellipse
73
+ * Format: E~cx~cy~rx~ry~strokeColor~strokeWidth~strokeStyle~fillColor~id~locked
74
+ */
75
+ export interface EasyEDASymbolEllipse {
76
+ cx: number;
77
+ cy: number;
78
+ radiusX: number;
79
+ radiusY: number;
80
+ strokeWidth: number;
81
+ strokeColor: string;
82
+ fillColor: string;
83
+ }
84
+ /**
85
+ * Symbol Arc with SVG path
86
+ * Format: A~path~strokeColor~strokeWidth~strokeStyle~fillColor~id~locked
87
+ */
88
+ export interface EasyEDASymbolArc {
89
+ path: string;
90
+ strokeWidth: number;
91
+ strokeColor: string;
92
+ fillColor: string;
93
+ }
94
+ /**
95
+ * Symbol Polyline - open path
96
+ * Format: PL~points~strokeColor~strokeWidth~strokeStyle~fillColor~id~locked
97
+ */
98
+ export interface EasyEDASymbolPolyline {
99
+ points: string;
100
+ strokeWidth: number;
101
+ strokeColor: string;
102
+ fillColor: string;
103
+ }
104
+ /**
105
+ * Symbol Polygon - closed filled path
106
+ * Format: PG~points~strokeColor~strokeWidth~strokeStyle~fillColor~id~locked
107
+ */
108
+ export interface EasyEDASymbolPolygon {
109
+ points: string;
110
+ strokeWidth: number;
111
+ strokeColor: string;
112
+ fillColor: string;
113
+ }
114
+ /**
115
+ * Symbol Path - SVG path commands
116
+ * Format: PT~path~strokeColor~strokeWidth~strokeStyle~fillColor~id~locked
117
+ */
118
+ export interface EasyEDASymbolPath {
119
+ path: string;
120
+ strokeWidth: number;
121
+ strokeColor: string;
122
+ fillColor: string;
123
+ }
124
+ /**
125
+ * Complete symbol data with all shape types
126
+ */
127
+ export interface EasyEDASymbolData {
128
+ pins: EasyEDAPin[];
129
+ rectangles: EasyEDASymbolRect[];
130
+ circles: EasyEDASymbolCircle[];
131
+ ellipses: EasyEDASymbolEllipse[];
132
+ arcs: EasyEDASymbolArc[];
133
+ polylines: EasyEDASymbolPolyline[];
134
+ polygons: EasyEDASymbolPolygon[];
135
+ paths: EasyEDASymbolPath[];
136
+ origin: {
137
+ x: number;
138
+ y: number;
139
+ };
140
+ }
141
+ /** Parsed symbol data before origin is added */
142
+ export type ParsedSymbolData = Omit<EasyEDASymbolData, 'origin'>;
143
+ /**
144
+ * PAD element - 18 fields
145
+ * Format: PAD~shape~cx~cy~width~height~layerId~net~number~holeRadius~points~rotation~id~holeLength~holePoint~isPlated~isLocked
146
+ */
147
+ export interface EasyEDAPad {
148
+ shape: string;
149
+ centerX: number;
150
+ centerY: number;
151
+ width: number;
152
+ height: number;
153
+ layerId: number;
154
+ net: string;
155
+ number: string;
156
+ holeRadius: number;
157
+ points: string;
158
+ rotation: number;
159
+ id: string;
160
+ holeLength: number;
161
+ holePoint: string;
162
+ isPlated: boolean;
163
+ isLocked: boolean;
164
+ }
165
+ /**
166
+ * TRACK element - silkscreen/fab lines
167
+ * Format: TRACK~strokeWidth~layerId~net~points~id~isLocked
168
+ */
169
+ export interface EasyEDATrack {
170
+ strokeWidth: number;
171
+ layerId: number;
172
+ net: string;
173
+ points: string;
174
+ id: string;
175
+ isLocked: boolean;
176
+ }
177
+ /**
178
+ * HOLE element - non-plated through hole (NPTH)
179
+ * Format: HOLE~cx~cy~radius~id~isLocked
180
+ */
181
+ export interface EasyEDAHole {
182
+ centerX: number;
183
+ centerY: number;
184
+ radius: number;
185
+ id: string;
186
+ isLocked: boolean;
187
+ }
188
+ /**
189
+ * CIRCLE element - circular graphics
190
+ * Format: CIRCLE~cx~cy~radius~strokeWidth~layerId~id~isLocked
191
+ */
192
+ export interface EasyEDACircle {
193
+ cx: number;
194
+ cy: number;
195
+ radius: number;
196
+ strokeWidth: number;
197
+ layerId: number;
198
+ id: string;
199
+ isLocked: boolean;
200
+ }
201
+ /**
202
+ * ARC element - arc graphics with SVG path
203
+ * Format: ARC~strokeWidth~layerId~net~path~helperDots~id~isLocked
204
+ */
205
+ export interface EasyEDAArc {
206
+ strokeWidth: number;
207
+ layerId: number;
208
+ net: string;
209
+ path: string;
210
+ helperDots: string;
211
+ id: string;
212
+ isLocked: boolean;
213
+ }
214
+ /**
215
+ * RECT element - rectangle graphics
216
+ * Format: RECT~x~y~width~height~strokeWidth~id~layerId~isLocked
217
+ */
218
+ export interface EasyEDARect {
219
+ x: number;
220
+ y: number;
221
+ width: number;
222
+ height: number;
223
+ strokeWidth: number;
224
+ id: string;
225
+ layerId: number;
226
+ isLocked: boolean;
227
+ }
228
+ /**
229
+ * VIA element - through-hole via
230
+ * Format: VIA~cx~cy~diameter~net~radius~id~isLocked
231
+ */
232
+ export interface EasyEDAVia {
233
+ centerX: number;
234
+ centerY: number;
235
+ diameter: number;
236
+ net: string;
237
+ radius: number;
238
+ id: string;
239
+ isLocked: boolean;
240
+ }
241
+ /**
242
+ * TEXT element - text graphics
243
+ * Format: TEXT~type~cx~cy~strokeWidth~rotation~mirror~layerId~net~fontSize~text~textPath~isDisplayed~id~isLocked
244
+ */
245
+ export interface EasyEDAText {
246
+ type: string;
247
+ centerX: number;
248
+ centerY: number;
249
+ strokeWidth: number;
250
+ rotation: number;
251
+ mirror: string;
252
+ layerId: number;
253
+ net: string;
254
+ fontSize: number;
255
+ text: string;
256
+ textPath: string;
257
+ isDisplayed: boolean;
258
+ id: string;
259
+ isLocked: boolean;
260
+ }
261
+ /**
262
+ * SOLIDREGION element - filled polygon region
263
+ * Format: SOLIDREGION~layerId~~path~fillType~id~~~~
264
+ * Used for copper fills, solder paste regions, and documentation shapes
265
+ */
266
+ export interface EasyEDASolidRegion {
267
+ layerId: number;
268
+ path: string;
269
+ fillType: string;
270
+ id: string;
271
+ }
272
+ /**
273
+ * Complete footprint data with all shape types
274
+ */
275
+ export interface EasyEDAFootprintData {
276
+ name: string;
277
+ type: 'smd' | 'tht';
278
+ pads: EasyEDAPad[];
279
+ tracks: EasyEDATrack[];
280
+ holes: EasyEDAHole[];
281
+ circles: EasyEDACircle[];
282
+ arcs: EasyEDAArc[];
283
+ rects: EasyEDARect[];
284
+ texts: EasyEDAText[];
285
+ vias: EasyEDAVia[];
286
+ solidRegions: EasyEDASolidRegion[];
287
+ origin: {
288
+ x: number;
289
+ y: number;
290
+ };
291
+ model3d?: {
292
+ name: string;
293
+ uuid: string;
294
+ };
295
+ }
296
+ /** Parsed footprint data before origin is added */
297
+ export type ParsedFootprintData = Omit<EasyEDAFootprintData, 'origin'>;
298
+ export interface EasyEDAComponentData {
299
+ info: {
300
+ name: string;
301
+ prefix: string;
302
+ package?: string;
303
+ manufacturer?: string;
304
+ datasheet?: string;
305
+ datasheetPdf?: string;
306
+ lcscId?: string;
307
+ jlcId?: string;
308
+ description?: string;
309
+ category?: string;
310
+ attributes?: Record<string, string>;
311
+ stock?: number;
312
+ price?: number;
313
+ minOrderQty?: number;
314
+ process?: 'SMT' | 'THT';
315
+ partClass?: string;
316
+ partNumber?: string;
317
+ };
318
+ symbol: EasyEDASymbolData;
319
+ footprint: EasyEDAFootprintData;
320
+ model3d?: {
321
+ name: string;
322
+ uuid: string;
323
+ };
324
+ rawData: object;
325
+ }
326
+ //# sourceMappingURL=easyeda.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"easyeda.d.ts","sourceRoot":"","sources":["../../src/types/easyeda.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * ai-eda-common types
3
+ * Shared types for the AI-EDA toolkit
4
+ */
5
+ export * from './component.js';
6
+ export * from './kicad.js';
7
+ export * from './easyeda.js';
8
+ export * from './easyeda-community.js';
9
+ export * from './jlc.js';
10
+ export * from './project.js';
11
+ export * from './mcp.js';
12
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,wBAAwB,CAAC;AACvC,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC"}
@@ -0,0 +1,78 @@
1
+ /**
2
+ * JLC/LCSC API response types
3
+ * Note: Interface names keep "LCSC" prefix as they represent LCSC part number formats
4
+ */
5
+ export interface LCSCSearchResponse {
6
+ code: number;
7
+ result: {
8
+ productList: LCSCProduct[];
9
+ totalCount: number;
10
+ pageNumber: number;
11
+ pageSize: number;
12
+ };
13
+ }
14
+ export interface LCSCProduct {
15
+ productCode: string;
16
+ productModel: string;
17
+ brandNameEn: string;
18
+ encapStandard: string;
19
+ productPriceList: LCSCPriceItem[];
20
+ stockNumber: number;
21
+ productIntroEn: string;
22
+ productImages: string[];
23
+ productUrl: string;
24
+ datasheet?: string;
25
+ }
26
+ export interface LCSCPriceItem {
27
+ ladder: number;
28
+ productPrice: number;
29
+ currencySymbol: string;
30
+ }
31
+ export interface LCSCComponentResponse {
32
+ code: number;
33
+ result: {
34
+ dataStr: {
35
+ head: {
36
+ x: string;
37
+ y: string;
38
+ c_para: Record<string, string>;
39
+ };
40
+ shape: string[];
41
+ };
42
+ packageDetail: {
43
+ dataStr: {
44
+ head: {
45
+ x: string;
46
+ y: string;
47
+ c_para: Record<string, string>;
48
+ };
49
+ shape: string[];
50
+ };
51
+ title: string;
52
+ };
53
+ lcsc: {
54
+ number: string;
55
+ url: string;
56
+ };
57
+ SMT: boolean;
58
+ };
59
+ }
60
+ export interface LCSCSearchOptions {
61
+ category?: string;
62
+ inStock?: boolean;
63
+ basicOnly?: boolean;
64
+ limit?: number;
65
+ page?: number;
66
+ }
67
+ export interface LCSCStockInfo {
68
+ lcscPartNumber: string;
69
+ stock: number;
70
+ priceBreaks: PriceBreak[];
71
+ minimumOrder: number;
72
+ }
73
+ export interface PriceBreak {
74
+ quantity: number;
75
+ unitPrice: number;
76
+ currency: string;
77
+ }
78
+ //# sourceMappingURL=jlc.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jlc.d.ts","sourceRoot":"","sources":["../../src/types/jlc.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE;QACN,WAAW,EAAE,WAAW,EAAE,CAAC;QAC3B,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,MAAM,CAAC;QACnB,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;CACH;AAED,MAAM,WAAW,WAAW;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,aAAa,EAAE,CAAC;IAClC,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE;QACN,OAAO,EAAE;YACP,IAAI,EAAE;gBACJ,CAAC,EAAE,MAAM,CAAC;gBACV,CAAC,EAAE,MAAM,CAAC;gBACV,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;aAChC,CAAC;YACF,KAAK,EAAE,MAAM,EAAE,CAAC;SACjB,CAAC;QACF,aAAa,EAAE;YACb,OAAO,EAAE;gBACP,IAAI,EAAE;oBACJ,CAAC,EAAE,MAAM,CAAC;oBACV,CAAC,EAAE,MAAM,CAAC;oBACV,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;iBAChC,CAAC;gBACF,KAAK,EAAE,MAAM,EAAE,CAAC;aACjB,CAAC;YACF,KAAK,EAAE,MAAM,CAAC;SACf,CAAC;QACF,IAAI,EAAE;YACJ,MAAM,EAAE,MAAM,CAAC;YACf,GAAG,EAAE,MAAM,CAAC;SACb,CAAC;QACF,GAAG,EAAE,OAAO,CAAC;KACd,CAAC;CACH;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,aAAa;IAC5B,cAAc,EAAE,MAAM,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;CAClB"}
@@ -0,0 +1,141 @@
1
+ /**
2
+ * KiCad-specific types for schematic and PCB manipulation
3
+ */
4
+ export interface PinDefinition {
5
+ number: string;
6
+ name: string;
7
+ electricalType: 'input' | 'output' | 'bidirectional' | 'power_in' | 'power_out' | 'passive' | 'unspecified' | 'open_collector' | 'open_emitter' | 'no_connect';
8
+ x: number;
9
+ y: number;
10
+ rotation: number;
11
+ length: number;
12
+ }
13
+ export interface PadDefinition {
14
+ number: string;
15
+ type: 'thru_hole' | 'smd' | 'connect' | 'np_thru_hole';
16
+ shape: 'circle' | 'rect' | 'oval' | 'trapezoid' | 'roundrect' | 'custom';
17
+ x: number;
18
+ y: number;
19
+ width: number;
20
+ height: number;
21
+ drill?: number;
22
+ layers: string[];
23
+ }
24
+ export interface BoundingBox {
25
+ x: number;
26
+ y: number;
27
+ width: number;
28
+ height: number;
29
+ }
30
+ export interface KiCadSymbol {
31
+ name: string;
32
+ library: string;
33
+ pins: PinDefinition[];
34
+ properties: Record<string, string>;
35
+ }
36
+ export interface KiCadFootprint {
37
+ name: string;
38
+ library: string;
39
+ pads: PadDefinition[];
40
+ layers: string[];
41
+ courtyard: BoundingBox;
42
+ properties: Record<string, string>;
43
+ }
44
+ export interface SchematicComponent {
45
+ reference: string;
46
+ value: string;
47
+ symbol: string;
48
+ footprint: string;
49
+ position: {
50
+ x: number;
51
+ y: number;
52
+ };
53
+ rotation: number;
54
+ properties: Record<string, string>;
55
+ }
56
+ export interface Wire {
57
+ startX: number;
58
+ startY: number;
59
+ endX: number;
60
+ endY: number;
61
+ }
62
+ export interface NetLabel {
63
+ name: string;
64
+ x: number;
65
+ y: number;
66
+ rotation: number;
67
+ }
68
+ export interface SchematicSheet {
69
+ name: string;
70
+ filename: string;
71
+ position: {
72
+ x: number;
73
+ y: number;
74
+ };
75
+ }
76
+ export interface KiCadSchematic {
77
+ version: string;
78
+ components: SchematicComponent[];
79
+ wires: Wire[];
80
+ labels: NetLabel[];
81
+ sheets: SchematicSheet[];
82
+ }
83
+ export interface KiCadPCB {
84
+ version: string;
85
+ layers: PCBLayer[];
86
+ components: PCBComponent[];
87
+ traces: Trace[];
88
+ vias: Via[];
89
+ zones: Zone[];
90
+ boardOutline: BoardOutline;
91
+ }
92
+ export interface PCBLayer {
93
+ number: number;
94
+ name: string;
95
+ type: 'signal' | 'power' | 'mixed' | 'user';
96
+ }
97
+ export interface PCBComponent {
98
+ reference: string;
99
+ footprint: string;
100
+ position: {
101
+ x: number;
102
+ y: number;
103
+ };
104
+ rotation: number;
105
+ layer: 'F.Cu' | 'B.Cu';
106
+ }
107
+ export interface Trace {
108
+ net: string;
109
+ width: number;
110
+ layer: string;
111
+ points: {
112
+ x: number;
113
+ y: number;
114
+ }[];
115
+ }
116
+ export interface Via {
117
+ net: string;
118
+ position: {
119
+ x: number;
120
+ y: number;
121
+ };
122
+ size: number;
123
+ drill: number;
124
+ layers: [string, string];
125
+ }
126
+ export interface Zone {
127
+ net: string;
128
+ layer: string;
129
+ priority: number;
130
+ outline: {
131
+ x: number;
132
+ y: number;
133
+ }[];
134
+ }
135
+ export interface BoardOutline {
136
+ points: {
137
+ x: number;
138
+ y: number;
139
+ }[];
140
+ }
141
+ //# sourceMappingURL=kicad.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kicad.d.ts","sourceRoot":"","sources":["../../src/types/kicad.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,66 @@
1
+ /**
2
+ * MCP protocol types for AI-EDA tools
3
+ */
4
+ export interface MCPToolResult {
5
+ content: MCPContent[];
6
+ isError?: boolean;
7
+ }
8
+ export interface MCPContent {
9
+ type: 'text' | 'image' | 'resource';
10
+ text?: string;
11
+ data?: string;
12
+ mimeType?: string;
13
+ }
14
+ export interface MCPToolDefinition {
15
+ name: string;
16
+ description: string;
17
+ inputSchema: {
18
+ type: 'object';
19
+ properties: Record<string, MCPPropertySchema>;
20
+ required?: string[];
21
+ };
22
+ }
23
+ export interface MCPPropertySchema {
24
+ type: 'string' | 'number' | 'boolean' | 'array' | 'object';
25
+ description?: string;
26
+ enum?: string[];
27
+ items?: MCPPropertySchema;
28
+ default?: unknown;
29
+ }
30
+ export interface MCPServerInfo {
31
+ name: string;
32
+ version: string;
33
+ capabilities: {
34
+ tools?: boolean;
35
+ resources?: boolean;
36
+ prompts?: boolean;
37
+ };
38
+ }
39
+ export interface ComponentSearchParams {
40
+ query: string;
41
+ category?: string;
42
+ inStock?: boolean;
43
+ limit?: number;
44
+ }
45
+ export interface LibraryFetchParams {
46
+ lcscPartNumber: string;
47
+ outputDir?: string;
48
+ include3D?: boolean;
49
+ }
50
+ export interface DatasheetDownloadParams {
51
+ lcscPartNumber: string;
52
+ outputPath?: string;
53
+ }
54
+ export interface SchematicParams {
55
+ projectPath: string;
56
+ sheetName?: string;
57
+ }
58
+ export interface PCBParams {
59
+ projectPath: string;
60
+ }
61
+ export interface ExportParams {
62
+ projectPath: string;
63
+ format: 'jlcpcb' | 'pcbway' | 'oshpark' | 'generic';
64
+ outputDir?: string;
65
+ }
66
+ //# sourceMappingURL=mcp.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../../src/types/mcp.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,UAAU,CAAC;IACpC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ,CAAC;QACf,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;QAC9C,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;KACrB,CAAC;CACH;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,OAAO,GAAG,QAAQ,CAAC;IAC3D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,KAAK,CAAC,EAAE,iBAAiB,CAAC;IAC1B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE;QACZ,KAAK,CAAC,EAAE,OAAO,CAAC;QAChB,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,OAAO,CAAC,EAAE,OAAO,CAAC;KACnB,CAAC;CACH;AAGD,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,kBAAkB;IACjC,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,uBAAuB;IACtC,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,eAAe;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,SAAS;IACxB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,YAAY;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAC;IACpD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB"}