@jlcpcb/core 0.1.0 → 0.2.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.
Files changed (114) hide show
  1. package/CHANGELOG.md +33 -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/assets/search.html +528 -0
  11. package/dist/browser/index.d.ts +8 -0
  12. package/dist/browser/index.d.ts.map +1 -0
  13. package/dist/browser/kicad-renderer.d.ts +13 -0
  14. package/dist/browser/kicad-renderer.d.ts.map +1 -0
  15. package/dist/browser/sexpr-parser.d.ts +84 -0
  16. package/dist/browser/sexpr-parser.d.ts.map +1 -0
  17. package/dist/constants/design-rules.d.ts +34 -0
  18. package/dist/constants/design-rules.d.ts.map +1 -0
  19. package/dist/constants/footprints.d.ts +134 -0
  20. package/dist/constants/footprints.d.ts.map +1 -0
  21. package/dist/constants/index.d.ts +7 -0
  22. package/dist/constants/index.d.ts.map +1 -0
  23. package/dist/constants/kicad.d.ts +67 -0
  24. package/dist/constants/kicad.d.ts.map +1 -0
  25. package/dist/converter/category-router.d.ts +47 -0
  26. package/dist/converter/category-router.d.ts.map +1 -0
  27. package/dist/converter/footprint-mapper.d.ts +40 -0
  28. package/dist/converter/footprint-mapper.d.ts.map +1 -0
  29. package/dist/converter/footprint-mapper.test.d.ts +2 -0
  30. package/dist/converter/footprint-mapper.test.d.ts.map +1 -0
  31. package/dist/converter/footprint.d.ts +116 -0
  32. package/dist/converter/footprint.d.ts.map +1 -0
  33. package/dist/converter/global-lib-table.d.ts +29 -0
  34. package/dist/converter/global-lib-table.d.ts.map +1 -0
  35. package/dist/converter/index.d.ts +12 -0
  36. package/dist/converter/index.d.ts.map +1 -0
  37. package/dist/converter/lib-table.d.ts +61 -0
  38. package/dist/converter/lib-table.d.ts.map +1 -0
  39. package/dist/converter/svg-arc.d.ts +45 -0
  40. package/dist/converter/svg-arc.d.ts.map +1 -0
  41. package/dist/converter/symbol-templates.d.ts +34 -0
  42. package/dist/converter/symbol-templates.d.ts.map +1 -0
  43. package/dist/converter/symbol.d.ts +223 -0
  44. package/dist/converter/symbol.d.ts.map +1 -0
  45. package/dist/converter/value-normalizer.d.ts +33 -0
  46. package/dist/converter/value-normalizer.d.ts.map +1 -0
  47. package/dist/http/index.d.ts +5 -0
  48. package/dist/http/index.d.ts.map +1 -0
  49. package/dist/http/routes.d.ts +12 -0
  50. package/dist/http/routes.d.ts.map +1 -0
  51. package/dist/http/server.d.ts +18 -0
  52. package/dist/http/server.d.ts.map +1 -0
  53. package/dist/index.d.ts +13 -0
  54. package/dist/index.d.ts.map +1 -0
  55. package/dist/index.js +9633 -0
  56. package/dist/parsers/easyeda-shapes.d.ts +115 -0
  57. package/dist/parsers/easyeda-shapes.d.ts.map +1 -0
  58. package/dist/parsers/http-client.d.ts +16 -0
  59. package/dist/parsers/http-client.d.ts.map +1 -0
  60. package/dist/parsers/index.d.ts +11 -0
  61. package/dist/parsers/index.d.ts.map +1 -0
  62. package/dist/parsers/utils.d.ts +17 -0
  63. package/dist/parsers/utils.d.ts.map +1 -0
  64. package/dist/services/component-service.d.ts +31 -0
  65. package/dist/services/component-service.d.ts.map +1 -0
  66. package/dist/services/fix-service.d.ts +40 -0
  67. package/dist/services/fix-service.d.ts.map +1 -0
  68. package/dist/services/index.d.ts +8 -0
  69. package/dist/services/index.d.ts.map +1 -0
  70. package/dist/services/library-service.d.ts +112 -0
  71. package/dist/services/library-service.d.ts.map +1 -0
  72. package/dist/types/component.d.ts +56 -0
  73. package/dist/types/component.d.ts.map +1 -0
  74. package/dist/types/easyeda-community.d.ts +74 -0
  75. package/dist/types/easyeda-community.d.ts.map +1 -0
  76. package/dist/types/easyeda.d.ts +326 -0
  77. package/dist/types/easyeda.d.ts.map +1 -0
  78. package/dist/types/index.d.ts +12 -0
  79. package/dist/types/index.d.ts.map +1 -0
  80. package/dist/types/jlc.d.ts +78 -0
  81. package/dist/types/jlc.d.ts.map +1 -0
  82. package/dist/types/kicad.d.ts +141 -0
  83. package/dist/types/kicad.d.ts.map +1 -0
  84. package/dist/types/mcp.d.ts +66 -0
  85. package/dist/types/mcp.d.ts.map +1 -0
  86. package/dist/types/project.d.ts +60 -0
  87. package/dist/types/project.d.ts.map +1 -0
  88. package/dist/utils/conversion.d.ts +59 -0
  89. package/dist/utils/conversion.d.ts.map +1 -0
  90. package/dist/utils/file-system.d.ts +59 -0
  91. package/dist/utils/file-system.d.ts.map +1 -0
  92. package/dist/utils/index.d.ts +8 -0
  93. package/dist/utils/index.d.ts.map +1 -0
  94. package/dist/utils/logger.d.ts +26 -0
  95. package/dist/utils/logger.d.ts.map +1 -0
  96. package/dist/utils/validation.d.ts +259 -0
  97. package/dist/utils/validation.d.ts.map +1 -0
  98. package/package.json +5 -3
  99. package/scripts/build-search-page.ts +68 -0
  100. package/src/assets/search-built.html +528 -0
  101. package/src/assets/search.html +458 -0
  102. package/src/browser/index.ts +389 -0
  103. package/src/browser/kicad-renderer.ts +813 -0
  104. package/src/browser/sexpr-parser.ts +333 -0
  105. package/src/converter/footprint-mapper.test.ts +159 -0
  106. package/src/converter/footprint-mapper.ts +42 -134
  107. package/src/converter/footprint.ts +208 -36
  108. package/src/converter/global-lib-table.ts +71 -0
  109. package/src/http/index.ts +5 -0
  110. package/src/http/routes.ts +266 -0
  111. package/src/http/server.ts +83 -0
  112. package/src/index.ts +3 -0
  113. package/src/parsers/easyeda-shapes.ts +2 -1
  114. package/src/services/library-service.ts +73 -22
@@ -0,0 +1,115 @@
1
+ /**
2
+ * Unified EasyEDA shape parser
3
+ * Parses both symbol and footprint shapes from EasyEDA format
4
+ *
5
+ * Shape format reference (from easyeda2kicad):
6
+ * - All shapes use tilde (~) as field delimiter
7
+ * - Coordinates are in 10mil units (0.254mm per unit)
8
+ * - Symbol shapes have Y-axis flipped relative to footprint
9
+ */
10
+ import type { EasyEDAPin, EasyEDASymbolRect, EasyEDASymbolCircle, EasyEDASymbolEllipse, EasyEDASymbolArc, EasyEDASymbolPolyline, EasyEDASymbolPolygon, EasyEDASymbolPath, ParsedSymbolData, EasyEDAPad, EasyEDATrack, EasyEDAHole, EasyEDACircle, EasyEDAArc, EasyEDARect, EasyEDAVia, EasyEDAText, EasyEDASolidRegion, ParsedFootprintData } from '../types/easyeda.js';
11
+ /**
12
+ * Parse EasyEDA symbol pin format
13
+ * Format: P~show~type~number~x~y~rotation~id~locked^^dotData^^pathData^^nameData^^numData^^dot^^clock
14
+ *
15
+ * Segments:
16
+ * [0] = P~show~type~number~x~y~rotation~id~locked (main settings)
17
+ * [1] = dot display data (visual dot, not inversion)
18
+ * [2] = SVG path for pin line (M x y h LENGTH or v LENGTH)
19
+ * [3] = name text data (1~x~y~rotation~name~fontSize~...)
20
+ * [4] = number text data
21
+ * [5] = inverted bubble indicator - "1" if inverted
22
+ * [6] = clock triangle indicator - non-empty if clock
23
+ */
24
+ export declare function parseSymbolPin(pinData: string): EasyEDAPin | null;
25
+ /**
26
+ * Parse symbol Rectangle shape
27
+ * Format: R~x~y~rx~ry~width~height~strokeColor~strokeWidth~strokeStyle~fillColor~id~locked
28
+ */
29
+ export declare function parseSymbolRect(data: string): EasyEDASymbolRect | null;
30
+ /**
31
+ * Parse symbol Circle shape
32
+ * Format: C~cx~cy~radius~strokeColor~strokeWidth~strokeStyle~fillColor~id~locked
33
+ */
34
+ export declare function parseSymbolCircle(data: string): EasyEDASymbolCircle | null;
35
+ /**
36
+ * Parse symbol Ellipse shape
37
+ * Format: E~cx~cy~rx~ry~strokeColor~strokeWidth~strokeStyle~fillColor~id~locked
38
+ */
39
+ export declare function parseSymbolEllipse(data: string): EasyEDASymbolEllipse | null;
40
+ /**
41
+ * Parse symbol Arc shape (SVG path format)
42
+ * Format: A~path~strokeColor~strokeWidth~strokeStyle~fillColor~id~locked
43
+ */
44
+ export declare function parseSymbolArc(data: string): EasyEDASymbolArc | null;
45
+ /**
46
+ * Parse symbol Polyline shape (open path)
47
+ * Format: PL~points~strokeColor~strokeWidth~strokeStyle~fillColor~id~locked
48
+ */
49
+ export declare function parseSymbolPolyline(data: string): EasyEDASymbolPolyline | null;
50
+ /**
51
+ * Parse symbol Polygon shape (closed filled path)
52
+ * Format: PG~points~strokeColor~strokeWidth~strokeStyle~fillColor~id~locked
53
+ */
54
+ export declare function parseSymbolPolygon(data: string): EasyEDASymbolPolygon | null;
55
+ /**
56
+ * Parse symbol SVG Path shape
57
+ * Format: PT~path~strokeColor~strokeWidth~strokeStyle~fillColor~id~locked
58
+ */
59
+ export declare function parseSymbolPath(data: string): EasyEDASymbolPath | null;
60
+ /**
61
+ * Parse PAD element - 18 fields
62
+ * Format: PAD~shape~cx~cy~width~height~layerId~net~number~holeRadius~points~rotation~id~holeLength~holePoint~isPlated~isLocked
63
+ */
64
+ export declare function parsePad(data: string): EasyEDAPad | null;
65
+ /**
66
+ * Parse TRACK element - silkscreen/fab lines
67
+ * Format: TRACK~strokeWidth~layerId~net~points~id~isLocked
68
+ */
69
+ export declare function parseTrack(data: string): EasyEDATrack | null;
70
+ /**
71
+ * Parse HOLE element - NPTH
72
+ * Format: HOLE~cx~cy~radius~id~isLocked
73
+ */
74
+ export declare function parseHole(data: string): EasyEDAHole | null;
75
+ /**
76
+ * Parse CIRCLE element (footprint)
77
+ * Format: CIRCLE~cx~cy~radius~strokeWidth~layerId~id~isLocked
78
+ */
79
+ export declare function parseCircle(data: string): EasyEDACircle | null;
80
+ /**
81
+ * Parse ARC element (footprint) with SVG path
82
+ * Format: ARC~strokeWidth~layerId~net~path~helperDots~id~isLocked
83
+ */
84
+ export declare function parseArc(data: string): EasyEDAArc | null;
85
+ /**
86
+ * Parse RECT element (footprint)
87
+ * Format: RECT~x~y~width~height~strokeWidth~id~layerId~isLocked
88
+ */
89
+ export declare function parseRect(data: string): EasyEDARect | null;
90
+ /**
91
+ * Parse VIA element
92
+ * Format: VIA~cx~cy~diameter~net~radius~id~isLocked
93
+ */
94
+ export declare function parseVia(data: string): EasyEDAVia | null;
95
+ /**
96
+ * Parse TEXT element
97
+ * Format: TEXT~type~cx~cy~strokeWidth~rotation~mirror~layerId~net~fontSize~text~textPath~isDisplayed~id~isLocked
98
+ */
99
+ export declare function parseText(data: string): EasyEDAText | null;
100
+ /**
101
+ * Parse SOLIDREGION element - filled polygon region
102
+ * Format: SOLIDREGION~layerId~~path~fillType~id~~~~
103
+ */
104
+ export declare function parseSolidRegion(data: string): EasyEDASolidRegion | null;
105
+ /**
106
+ * Parse all symbol shapes from raw shape strings
107
+ * Returns parsed data without origin - origin is added by client after parsing.
108
+ */
109
+ export declare function parseSymbolShapes(shapes: string[]): ParsedSymbolData;
110
+ /**
111
+ * Parse all footprint shapes from raw shape strings
112
+ * Returns parsed data without origin - origin is added by client after parsing.
113
+ */
114
+ export declare function parseFootprintShapes(shapes: string[]): ParsedFootprintData;
115
+ //# sourceMappingURL=easyeda-shapes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"easyeda-shapes.d.ts","sourceRoot":"","sources":["../../src/parsers/easyeda-shapes.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAEV,UAAU,EACV,iBAAiB,EACjB,mBAAmB,EACnB,oBAAoB,EACpB,gBAAgB,EAChB,qBAAqB,EACrB,oBAAoB,EACpB,iBAAiB,EACjB,gBAAgB,EAEhB,UAAU,EACV,YAAY,EACZ,WAAW,EACX,aAAa,EACb,UAAU,EACV,WAAW,EACX,UAAU,EACV,WAAW,EACX,kBAAkB,EAClB,mBAAmB,EACpB,MAAM,qBAAqB,CAAC;AAQ7B;;;;;;;;;;;;GAYG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CA2CjE;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB,GAAG,IAAI,CAiBtE;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,mBAAmB,GAAG,IAAI,CAc1E;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,oBAAoB,GAAG,IAAI,CAe5E;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB,GAAG,IAAI,CAYpE;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,qBAAqB,GAAG,IAAI,CAY9E;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,oBAAoB,GAAG,IAAI,CAY5E;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB,GAAG,IAAI,CAYtE;AAMD;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAwBxD;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI,CAc5D;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAa1D;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CAe9D;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAexD;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAgB1D;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAexD;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAuB1D;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,kBAAkB,GAAG,IAAI,CAexE;AAMD;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,gBAAgB,CAwEpE;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,mBAAmB,CAoG1E"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Shared HTTP client for EasyEDA API calls
3
+ * Used by both LCSC and Community API clients
4
+ */
5
+ export interface FetchOptions {
6
+ method?: 'GET' | 'POST';
7
+ body?: string;
8
+ contentType?: string;
9
+ binary?: boolean;
10
+ }
11
+ /**
12
+ * Fetch URL with curl fallback for reliability
13
+ * Falls back to curl when Node fetch fails (proxy issues, etc.)
14
+ */
15
+ export declare function fetchWithCurlFallback(url: string, options?: FetchOptions): Promise<string | Buffer>;
16
+ //# sourceMappingURL=http-client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http-client.d.ts","sourceRoot":"","sources":["../../src/parsers/http-client.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAOH,MAAM,WAAW,YAAY;IAC3B,MAAM,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;;GAGG;AACH,wBAAsB,qBAAqB,CACzC,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,YAAiB,GACzB,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC,CAuE1B"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Shared EasyEDA parsing utilities
3
+ *
4
+ * This module consolidates all EasyEDA parsing logic used by both
5
+ * the LCSC API client and EasyEDA Community API client.
6
+ */
7
+ export { fetchWithCurlFallback, type FetchOptions } from './http-client.js';
8
+ export { parseBool, safeParseFloat, safeParseInt } from './utils.js';
9
+ export { parseSymbolPin, parseSymbolRect, parseSymbolCircle, parseSymbolEllipse, parseSymbolArc, parseSymbolPolyline, parseSymbolPolygon, parseSymbolPath, parseSymbolShapes, } from './easyeda-shapes.js';
10
+ export { parsePad, parseTrack, parseHole, parseCircle, parseArc, parseRect, parseVia, parseText, parseFootprintShapes, } from './easyeda-shapes.js';
11
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/parsers/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,qBAAqB,EAAE,KAAK,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAG5E,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAGrE,OAAO,EACL,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,cAAc,EACd,mBAAmB,EACnB,kBAAkB,EAClB,eAAe,EACf,iBAAiB,GAClB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EACL,QAAQ,EACR,UAAU,EACV,SAAS,EACT,WAAW,EACX,QAAQ,EACR,SAAS,EACT,QAAQ,EACR,SAAS,EACT,oBAAoB,GACrB,MAAM,qBAAqB,CAAC"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Shared parsing utilities for EasyEDA data
3
+ */
4
+ /**
5
+ * Parse boolean from EasyEDA format
6
+ * Empty string = false, "0" = false, any other value = true
7
+ */
8
+ export declare function parseBool(value: string | undefined): boolean;
9
+ /**
10
+ * Safely parse float with default value
11
+ */
12
+ export declare function safeParseFloat(value: string | undefined, defaultValue?: number): number;
13
+ /**
14
+ * Safely parse int with default value
15
+ */
16
+ export declare function safeParseInt(value: string | undefined, defaultValue?: number): number;
17
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/parsers/utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;GAGG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAE5D;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,YAAY,SAAI,GAAG,MAAM,CAIlF;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,YAAY,SAAI,GAAG,MAAM,CAIhF"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Component Service
3
+ * High-level API for searching and fetching components
4
+ */
5
+ import type { ComponentSearchResult, EasyEDAComponentData, EasyEDACommunityComponent } from '../types/index.js';
6
+ export interface SearchOptions {
7
+ limit?: number;
8
+ inStock?: boolean;
9
+ basicOnly?: boolean;
10
+ source?: 'lcsc' | 'easyeda-community' | 'all';
11
+ }
12
+ export interface ComponentDetails {
13
+ lcscId: string;
14
+ name: string;
15
+ manufacturer: string;
16
+ description: string;
17
+ category: string;
18
+ package: string;
19
+ pinCount: number;
20
+ padCount: number;
21
+ has3DModel: boolean;
22
+ datasheet?: string;
23
+ }
24
+ export interface ComponentService {
25
+ search(query: string, options?: SearchOptions): Promise<ComponentSearchResult[]>;
26
+ fetch(id: string): Promise<EasyEDAComponentData | null>;
27
+ fetchCommunity(uuid: string): Promise<EasyEDACommunityComponent | null>;
28
+ getDetails(lcscId: string): Promise<ComponentDetails>;
29
+ }
30
+ export declare function createComponentService(): ComponentService;
31
+ //# sourceMappingURL=component-service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"component-service.d.ts","sourceRoot":"","sources":["../../src/services/component-service.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAKhH,MAAM,WAAW,aAAa;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,GAAG,mBAAmB,GAAG,KAAK,CAAC;CAC/C;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC,CAAC;IACjF,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAAC;IACxD,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,yBAAyB,GAAG,IAAI,CAAC,CAAC;IACxE,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;CACvD;AASD,wBAAgB,sBAAsB,IAAI,gBAAgB,CAuDzD"}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * Fix Service
3
+ * High-level API for applying pin corrections to components
4
+ */
5
+ import type { LibraryCategory } from '../converter/category-router.js';
6
+ export interface PinCorrection {
7
+ action: 'modify' | 'swap' | 'add' | 'remove';
8
+ pinNumber?: string;
9
+ newName?: string;
10
+ newType?: string;
11
+ swapWith?: string;
12
+ addPin?: {
13
+ number: string;
14
+ name: string;
15
+ type: string;
16
+ };
17
+ }
18
+ export interface FixOptions {
19
+ projectPath?: string;
20
+ force?: boolean;
21
+ }
22
+ export interface FixResult {
23
+ success: boolean;
24
+ id: string;
25
+ category: LibraryCategory;
26
+ symbolRef: string;
27
+ footprintRef: string;
28
+ correctionsApplied: number;
29
+ files: {
30
+ symbolLibrary: string;
31
+ footprint?: string;
32
+ };
33
+ }
34
+ export interface FixService {
35
+ fix(lcscId: string, corrections: {
36
+ pins?: PinCorrection[];
37
+ }, options?: FixOptions): Promise<FixResult>;
38
+ }
39
+ export declare function createFixService(): FixService;
40
+ //# sourceMappingURL=fix-service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fix-service.d.ts","sourceRoot":"","sources":["../../src/services/fix-service.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAEvE,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,QAAQ,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,CAAC;IAC7C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE;QACP,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;CACH;AAED,MAAM,WAAW,UAAU;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,OAAO,CAAC;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,eAAe,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,KAAK,EAAE;QACL,aAAa,EAAE,MAAM,CAAC;QACtB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;CACH;AAED,MAAM,WAAW,UAAU;IACzB,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE;QAAE,IAAI,CAAC,EAAE,aAAa,EAAE,CAAA;KAAE,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;CACxG;AAED,wBAAgB,gBAAgB,IAAI,UAAU,CAO7C"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * High-level services for jlc-core
3
+ * Provides a clean API for common operations
4
+ */
5
+ export { createComponentService, type ComponentService, type SearchOptions, type ComponentDetails } from './component-service.js';
6
+ export { createLibraryService, type LibraryService, type InstallOptions, type InstallResult, type InstalledComponent, type ListOptions, type LibraryStatus } from './library-service.js';
7
+ export { createFixService, type FixService, type FixOptions, type FixResult } from './fix-service.js';
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/services/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,sBAAsB,EAAE,KAAK,gBAAgB,EAAE,KAAK,aAAa,EAAE,KAAK,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAClI,OAAO,EAAE,oBAAoB,EAAE,KAAK,cAAc,EAAE,KAAK,cAAc,EAAE,KAAK,aAAa,EAAE,KAAK,kBAAkB,EAAE,KAAK,WAAW,EAAE,KAAK,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACzL,OAAO,EAAE,gBAAgB,EAAE,KAAK,UAAU,EAAE,KAAK,UAAU,EAAE,KAAK,SAAS,EAAE,MAAM,kBAAkB,CAAC"}
@@ -0,0 +1,112 @@
1
+ /**
2
+ * Library Service
3
+ * High-level API for installing components to KiCad libraries
4
+ */
5
+ import type { LibraryCategory } from '../converter/category-router.js';
6
+ export interface InstallOptions {
7
+ projectPath?: string;
8
+ include3d?: boolean;
9
+ force?: boolean;
10
+ }
11
+ export interface InstallResult {
12
+ success: boolean;
13
+ id: string;
14
+ source: 'lcsc' | 'easyeda_community';
15
+ storageMode: 'global' | 'project-local';
16
+ category?: string;
17
+ symbolName: string;
18
+ symbolRef: string;
19
+ footprintRef: string;
20
+ footprintType: 'reference' | 'generated';
21
+ datasheet?: string;
22
+ files: {
23
+ symbolLibrary: string;
24
+ footprint?: string;
25
+ model3d?: string;
26
+ };
27
+ symbolAction: 'created' | 'appended' | 'exists' | 'replaced';
28
+ validationData: ValidationData;
29
+ }
30
+ export interface ValidationData {
31
+ component: {
32
+ name: string;
33
+ description?: string;
34
+ package?: string;
35
+ manufacturer?: string;
36
+ datasheet_url?: string;
37
+ };
38
+ symbol: {
39
+ pin_count: number;
40
+ pins: Array<{
41
+ number: string;
42
+ name: string;
43
+ electrical_type?: string;
44
+ }>;
45
+ };
46
+ footprint: {
47
+ type: string;
48
+ pad_count: number;
49
+ pads?: Array<{
50
+ number: string;
51
+ shape: string;
52
+ }> | null;
53
+ is_kicad_standard: boolean;
54
+ kicad_ref: string;
55
+ };
56
+ checks: {
57
+ pin_pad_count_match: boolean;
58
+ has_power_pins: boolean;
59
+ has_ground_pins: boolean;
60
+ };
61
+ }
62
+ export interface InstalledComponent {
63
+ lcscId: string;
64
+ name: string;
65
+ category: LibraryCategory;
66
+ symbolRef: string;
67
+ footprintRef: string;
68
+ library: string;
69
+ has3dModel: boolean;
70
+ }
71
+ export interface LibraryStatus {
72
+ installed: boolean;
73
+ linked: boolean;
74
+ version: string;
75
+ componentCount: number;
76
+ paths: {
77
+ symbolsDir: string;
78
+ footprintsDir: string;
79
+ models3dDir: string;
80
+ symLibTable: string;
81
+ fpLibTable: string;
82
+ };
83
+ }
84
+ export interface ListOptions {
85
+ category?: LibraryCategory;
86
+ projectPath?: string;
87
+ }
88
+ export interface UpdateOptions {
89
+ category?: LibraryCategory;
90
+ projectPath?: string;
91
+ dryRun?: boolean;
92
+ }
93
+ export interface UpdateResult {
94
+ updated: number;
95
+ failed: number;
96
+ skipped: number;
97
+ components: Array<{
98
+ id: string;
99
+ status: 'updated' | 'failed' | 'skipped';
100
+ error?: string;
101
+ }>;
102
+ }
103
+ export interface LibraryService {
104
+ install(id: string, options?: InstallOptions): Promise<InstallResult>;
105
+ listInstalled(options?: ListOptions): Promise<InstalledComponent[]>;
106
+ update(options?: UpdateOptions): Promise<UpdateResult>;
107
+ ensureGlobalTables(): Promise<void>;
108
+ getStatus(): Promise<LibraryStatus>;
109
+ isEasyEDAInstalled(componentName: string): Promise<boolean>;
110
+ }
111
+ export declare function createLibraryService(): LibraryService;
112
+ //# sourceMappingURL=library-service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"library-service.d.ts","sourceRoot":"","sources":["../../src/services/library-service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,56 @@
1
+ /**
2
+ * Component and part types for the AI-EDA toolkit
3
+ */
4
+ export interface Component {
5
+ lcscPartNumber: string;
6
+ manufacturerPart: string;
7
+ manufacturer: string;
8
+ description: string;
9
+ category: string;
10
+ subcategory: string;
11
+ package: string;
12
+ stock: number;
13
+ price: PriceTier[];
14
+ datasheet?: string;
15
+ footprint?: FootprintRef;
16
+ symbol?: SymbolRef;
17
+ }
18
+ export interface PriceTier {
19
+ quantity: number;
20
+ price: number;
21
+ currency: string;
22
+ }
23
+ export interface FootprintRef {
24
+ source: 'easyeda' | 'kicad' | 'local';
25
+ id: string;
26
+ localPath?: string;
27
+ }
28
+ export interface SymbolRef {
29
+ source: 'easyeda' | 'kicad' | 'local';
30
+ id: string;
31
+ localPath?: string;
32
+ }
33
+ export interface ComponentSelection {
34
+ role: string;
35
+ selected?: Component;
36
+ alternatives?: Component[];
37
+ requirements: string[];
38
+ status: 'pending' | 'selected' | 'placed' | 'routed';
39
+ }
40
+ export interface ComponentSearchResult {
41
+ lcscId: string;
42
+ name: string;
43
+ manufacturer: string;
44
+ package: string;
45
+ price?: number;
46
+ stock: number;
47
+ description: string;
48
+ productUrl?: string;
49
+ datasheetPdf?: string;
50
+ category?: string;
51
+ /** JLCPCB assembly type: "basic" = no setup fee, "extended" = setup fee required */
52
+ libraryType?: 'basic' | 'extended';
53
+ /** Component specifications (e.g., "Output Voltage": "3.3V", "Output Current": "100mA") */
54
+ attributes?: Record<string, string>;
55
+ }
56
+ //# sourceMappingURL=component.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"component.d.ts","sourceRoot":"","sources":["../../src/types/component.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,SAAS;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,SAAS,EAAE,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,YAAY,CAAC;IACzB,MAAM,CAAC,EAAE,SAAS,CAAC;CACpB;AAED,MAAM,WAAW,SAAS;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,SAAS,GAAG,OAAO,GAAG,OAAO,CAAC;IACtC,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,SAAS,GAAG,OAAO,GAAG,OAAO,CAAC;IACtC,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,YAAY,CAAC,EAAE,SAAS,EAAE,CAAC;IAC3B,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,MAAM,EAAE,SAAS,GAAG,UAAU,GAAG,QAAQ,GAAG,QAAQ,CAAC;CACtD;AAED,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,oFAAoF;IACpF,WAAW,CAAC,EAAE,OAAO,GAAG,UAAU,CAAC;IACnC,2FAA2F;IAC3F,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACrC"}
@@ -0,0 +1,74 @@
1
+ /**
2
+ * Types for EasyEDA community library API
3
+ * These are for user-contributed components (not official LCSC parts)
4
+ *
5
+ * NOTE: Community components now use the same parsed structure as LCSC components.
6
+ * The only differences are community-specific metadata (owner, creator, etc.)
7
+ */
8
+ import type { EasyEDASymbolData, EasyEDAFootprintData } from './easyeda.js';
9
+ /**
10
+ * Owner information for a community component
11
+ */
12
+ export interface EasyEDACommunityOwner {
13
+ uuid: string;
14
+ username: string;
15
+ nickname: string;
16
+ avatar?: string;
17
+ team?: boolean;
18
+ }
19
+ /**
20
+ * Search result from EasyEDA community library
21
+ */
22
+ export interface EasyEDACommunitySearchResult {
23
+ uuid: string;
24
+ title: string;
25
+ thumb: string;
26
+ description: string;
27
+ tags: string[];
28
+ package: string;
29
+ packageUuid?: string;
30
+ manufacturer?: string;
31
+ owner: EasyEDACommunityOwner;
32
+ contributor?: string;
33
+ has3DModel: boolean;
34
+ docType: number;
35
+ updateTime?: number;
36
+ }
37
+ /**
38
+ * Search parameters for EasyEDA community library
39
+ */
40
+ export interface EasyEDACommunitySearchParams {
41
+ query: string;
42
+ source?: 'user' | 'lcsc' | 'easyeda' | 'all';
43
+ limit?: number;
44
+ page?: number;
45
+ }
46
+ /**
47
+ * Full component data from EasyEDA community library
48
+ * Uses the same symbol/footprint structure as EasyEDAComponentData with
49
+ * additional community-specific metadata.
50
+ */
51
+ export interface EasyEDACommunityComponent {
52
+ uuid: string;
53
+ title: string;
54
+ description: string;
55
+ tags: string[];
56
+ owner: EasyEDACommunityOwner;
57
+ creator?: EasyEDACommunityOwner;
58
+ updateTime: number;
59
+ docType: number;
60
+ verify: boolean;
61
+ symbol: EasyEDASymbolData & {
62
+ head: Record<string, unknown>;
63
+ };
64
+ footprint: EasyEDAFootprintData & {
65
+ uuid: string;
66
+ head: Record<string, unknown>;
67
+ };
68
+ model3d?: {
69
+ name: string;
70
+ uuid: string;
71
+ };
72
+ rawData: object;
73
+ }
74
+ //# sourceMappingURL=easyeda-community.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"easyeda-community.d.ts","sourceRoot":"","sources":["../../src/types/easyeda-community.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAE5E;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,4BAA4B;IAC3C,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,qBAAqB,CAAC;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,OAAO,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,4BAA4B;IAC3C,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,GAAG,KAAK,CAAC;IAC7C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;;;GAIG;AACH,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,KAAK,EAAE,qBAAqB,CAAC;IAC7B,OAAO,CAAC,EAAE,qBAAqB,CAAC;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,iBAAiB,GAAG;QAC1B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KAC/B,CAAC;IACF,SAAS,EAAE,oBAAoB,GAAG;QAChC,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KAC/B,CAAC;IACF,OAAO,CAAC,EAAE;QACR,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,OAAO,EAAE,MAAM,CAAC;CACjB"}