easyeda-mcp-pro 0.3.2 → 0.5.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (173) hide show
  1. package/README.md +369 -52
  2. package/dist/bom-quality/adapter.d.ts +90 -0
  3. package/dist/bom-quality/adapter.js +295 -0
  4. package/dist/bom-quality/adapter.js.map +1 -0
  5. package/dist/bom-quality/index.d.ts +10 -0
  6. package/dist/bom-quality/index.js +9 -0
  7. package/dist/bom-quality/index.js.map +1 -0
  8. package/dist/bom-quality/quality.d.ts +28 -0
  9. package/dist/bom-quality/quality.js +179 -0
  10. package/dist/bom-quality/quality.js.map +1 -0
  11. package/dist/bom-quality/types.d.ts +94 -0
  12. package/dist/bom-quality/types.js +12 -0
  13. package/dist/bom-quality/types.js.map +1 -0
  14. package/dist/bridge/manager.d.ts +41 -0
  15. package/dist/bridge/manager.js +334 -47
  16. package/dist/bridge/manager.js.map +1 -1
  17. package/dist/bridge/protocol.d.ts +48 -1
  18. package/dist/bridge/protocol.js +43 -1
  19. package/dist/bridge/protocol.js.map +1 -1
  20. package/dist/bridge/types.d.ts +6 -0
  21. package/dist/bridge/types.js +6 -0
  22. package/dist/bridge/types.js.map +1 -1
  23. package/dist/catalog/errors.d.ts +49 -0
  24. package/dist/catalog/errors.js +60 -0
  25. package/dist/catalog/errors.js.map +1 -0
  26. package/dist/catalog/index.d.ts +15 -0
  27. package/dist/catalog/index.js +17 -0
  28. package/dist/catalog/index.js.map +1 -0
  29. package/dist/catalog/schema.d.ts +268 -0
  30. package/dist/catalog/schema.js +245 -0
  31. package/dist/catalog/schema.js.map +1 -0
  32. package/dist/catalog/starter.d.ts +159 -0
  33. package/dist/catalog/starter.js +579 -0
  34. package/dist/catalog/starter.js.map +1 -0
  35. package/dist/catalog/validation.d.ts +48 -0
  36. package/dist/catalog/validation.js +263 -0
  37. package/dist/catalog/validation.js.map +1 -0
  38. package/dist/circuit/circuit-ir.d.ts +460 -0
  39. package/dist/circuit/circuit-ir.js +292 -0
  40. package/dist/circuit/circuit-ir.js.map +1 -0
  41. package/dist/circuit/compiler.d.ts +55 -0
  42. package/dist/circuit/compiler.js +197 -0
  43. package/dist/circuit/compiler.js.map +1 -0
  44. package/dist/circuit/design-intent.d.ts +94 -0
  45. package/dist/circuit/design-intent.js +118 -0
  46. package/dist/circuit/design-intent.js.map +1 -0
  47. package/dist/circuit/errors.d.ts +50 -0
  48. package/dist/circuit/errors.js +61 -0
  49. package/dist/circuit/errors.js.map +1 -0
  50. package/dist/circuit/index.d.ts +17 -0
  51. package/dist/circuit/index.js +18 -0
  52. package/dist/circuit/index.js.map +1 -0
  53. package/dist/circuit/types.d.ts +186 -0
  54. package/dist/circuit/types.js +123 -0
  55. package/dist/circuit/types.js.map +1 -0
  56. package/dist/cli/auto-setup.d.ts +5 -0
  57. package/dist/cli/auto-setup.js +355 -0
  58. package/dist/cli/auto-setup.js.map +1 -0
  59. package/dist/cli/client-definitions.d.ts +34 -0
  60. package/dist/cli/client-definitions.js +194 -0
  61. package/dist/cli/client-definitions.js.map +1 -0
  62. package/dist/cli/local-setup.d.ts +5 -1
  63. package/dist/cli/local-setup.js +40 -6
  64. package/dist/cli/local-setup.js.map +1 -1
  65. package/dist/config/env.d.ts +6 -1
  66. package/dist/config/env.js +93 -5
  67. package/dist/config/env.js.map +1 -1
  68. package/dist/config/profiles.js +4 -4
  69. package/dist/config/version.d.ts +1 -1
  70. package/dist/config/version.js +1 -1
  71. package/dist/export-manifest/errors.d.ts +55 -0
  72. package/dist/export-manifest/errors.js +69 -0
  73. package/dist/export-manifest/errors.js.map +1 -0
  74. package/dist/export-manifest/index.d.ts +10 -0
  75. package/dist/export-manifest/index.js +9 -0
  76. package/dist/export-manifest/index.js.map +1 -0
  77. package/dist/export-manifest/types.d.ts +170 -0
  78. package/dist/export-manifest/types.js +36 -0
  79. package/dist/export-manifest/types.js.map +1 -0
  80. package/dist/export-manifest/validation.d.ts +39 -0
  81. package/dist/export-manifest/validation.js +298 -0
  82. package/dist/export-manifest/validation.js.map +1 -0
  83. package/dist/index.js +20 -0
  84. package/dist/index.js.map +1 -1
  85. package/dist/net-validation/errors.d.ts +89 -0
  86. package/dist/net-validation/errors.js +69 -0
  87. package/dist/net-validation/errors.js.map +1 -0
  88. package/dist/net-validation/fixtures.d.ts +38 -0
  89. package/dist/net-validation/fixtures.js +215 -0
  90. package/dist/net-validation/fixtures.js.map +1 -0
  91. package/dist/net-validation/index.d.ts +10 -0
  92. package/dist/net-validation/index.js +9 -0
  93. package/dist/net-validation/index.js.map +1 -0
  94. package/dist/net-validation/schema.d.ts +118 -0
  95. package/dist/net-validation/schema.js +140 -0
  96. package/dist/net-validation/schema.js.map +1 -0
  97. package/dist/net-validation/validation.d.ts +45 -0
  98. package/dist/net-validation/validation.js +369 -0
  99. package/dist/net-validation/validation.js.map +1 -0
  100. package/dist/pcb-constraints/errors.d.ts +39 -0
  101. package/dist/pcb-constraints/errors.js +133 -0
  102. package/dist/pcb-constraints/errors.js.map +1 -0
  103. package/dist/pcb-constraints/index.d.ts +9 -0
  104. package/dist/pcb-constraints/index.js +9 -0
  105. package/dist/pcb-constraints/index.js.map +1 -0
  106. package/dist/pcb-constraints/types.d.ts +102 -0
  107. package/dist/pcb-constraints/types.js +7 -0
  108. package/dist/pcb-constraints/types.js.map +1 -0
  109. package/dist/pcb-constraints/validation.d.ts +70 -0
  110. package/dist/pcb-constraints/validation.js +309 -0
  111. package/dist/pcb-constraints/validation.js.map +1 -0
  112. package/dist/server/factory.js +2 -0
  113. package/dist/server/factory.js.map +1 -1
  114. package/dist/server/transports/http.d.ts +20 -1
  115. package/dist/server/transports/http.js +156 -34
  116. package/dist/server/transports/http.js.map +1 -1
  117. package/dist/storage/database.d.ts +25 -0
  118. package/dist/storage/database.js +126 -51
  119. package/dist/storage/database.js.map +1 -1
  120. package/dist/tools/{L0_diagnostics.d.ts → L0_diagnostics_api.d.ts} +2 -2
  121. package/dist/tools/L0_diagnostics_api.js +152 -0
  122. package/dist/tools/L0_diagnostics_api.js.map +1 -0
  123. package/dist/tools/L0_diagnostics_core.d.ts +6 -0
  124. package/dist/tools/{L0_diagnostics.js → L0_diagnostics_core.js} +50 -124
  125. package/dist/tools/L0_diagnostics_core.js.map +1 -0
  126. package/dist/tools/L1_board.js +20 -4
  127. package/dist/tools/L1_board.js.map +1 -1
  128. package/dist/tools/{L1_bom.d.ts → L1_bom_core.d.ts} +2 -2
  129. package/dist/tools/{L1_bom.js → L1_bom_core.js} +21 -101
  130. package/dist/tools/L1_bom_core.js.map +1 -0
  131. package/dist/tools/{L1_schematic.d.ts → L1_bom_sourcing.d.ts} +2 -2
  132. package/dist/tools/L1_bom_sourcing.js +265 -0
  133. package/dist/tools/L1_bom_sourcing.js.map +1 -0
  134. package/dist/tools/L1_drc_erc.js +15 -3
  135. package/dist/tools/L1_drc_erc.js.map +1 -1
  136. package/dist/tools/L1_export.js +20 -4
  137. package/dist/tools/L1_export.js.map +1 -1
  138. package/dist/tools/L1_pcb_constraints.d.ts +6 -0
  139. package/dist/tools/L1_pcb_constraints.js +234 -0
  140. package/dist/tools/L1_pcb_constraints.js.map +1 -0
  141. package/dist/tools/L1_pcb_write.js +26 -12
  142. package/dist/tools/L1_pcb_write.js.map +1 -1
  143. package/dist/tools/L1_schematic_read.d.ts +6 -0
  144. package/dist/tools/{L1_schematic.js → L1_schematic_read.js} +125 -190
  145. package/dist/tools/L1_schematic_read.js.map +1 -0
  146. package/dist/tools/L1_schematic_write.d.ts +6 -0
  147. package/dist/tools/L1_schematic_write.js +516 -0
  148. package/dist/tools/L1_schematic_write.js.map +1 -0
  149. package/dist/tools/register.js +15 -7
  150. package/dist/tools/register.js.map +1 -1
  151. package/dist/tools/registry.d.ts +41 -7
  152. package/dist/tools/registry.js +111 -12
  153. package/dist/tools/registry.js.map +1 -1
  154. package/dist/tools/types.d.ts +16 -0
  155. package/dist/utils/logger.d.ts +1 -1
  156. package/dist/utils/logger.js +1 -1
  157. package/dist/utils/logger.js.map +1 -1
  158. package/dist/vendors/base-http-client.d.ts +48 -0
  159. package/dist/vendors/base-http-client.js +75 -0
  160. package/dist/vendors/base-http-client.js.map +1 -0
  161. package/dist/vendors/digikey/client.js +10 -19
  162. package/dist/vendors/digikey/client.js.map +1 -1
  163. package/dist/vendors/jlcpcb/client.js +41 -70
  164. package/dist/vendors/jlcpcb/client.js.map +1 -1
  165. package/dist/vendors/lcsc/client.js +5 -18
  166. package/dist/vendors/lcsc/client.js.map +1 -1
  167. package/dist/vendors/mouser/client.js +4 -12
  168. package/dist/vendors/mouser/client.js.map +1 -1
  169. package/easyeda-bridge-extension.eext +0 -0
  170. package/package.json +41 -26
  171. package/dist/tools/L0_diagnostics.js.map +0 -1
  172. package/dist/tools/L1_bom.js.map +0 -1
  173. package/dist/tools/L1_schematic.js.map +0 -1
@@ -0,0 +1,579 @@
1
+ /**
2
+ * Starter device catalog entries.
3
+ *
4
+ * Pre-populated device definitions covering common MCU, sensor, power,
5
+ * connector, and passive classes. These entries serve as the foundation
6
+ * for the verified device catalog, enabling CircuitIR resolution and
7
+ * design validation without requiring the user to define devices from
8
+ * scratch.
9
+ *
10
+ * Each entry follows the DeviceEntry schema with:
11
+ * - Stable catalog IDs (prefixed by device class)
12
+ * - Symbol, footprint, and 3D model references (or explicit missing markers)
13
+ * - Manufacturer, MPN, supplier cross-references where available
14
+ * - Package descriptions
15
+ * - Pin mappings for ICs and connectors
16
+ * - Electrical parameters where available
17
+ * - Lifecycle and assembly hints
18
+ * - Datasheet URLs
19
+ *
20
+ * @module
21
+ */
22
+ // ── ESP32-S3 MCU Class ────────────────────────────────────────────────────
23
+ const esp32S3Mini1N8 = {
24
+ id: 'device-esp32-s3-mini-1-n8',
25
+ displayName: 'ESP32-S3-MINI-1-N8',
26
+ category: 'microcontroller',
27
+ subCategory: 'mcu-wifi-bt',
28
+ description: 'ESP32-S3 dual-core Xtensa LX7 MCU with Wi-Fi, BLE 5.0, 8MB flash, integrated antenna',
29
+ symbolRef: 'SYM:ESP32-S3-MINI-1-N8',
30
+ footprintRef: 'FOOT:ESP32-S3-MINI-1',
31
+ model3dRef: '__missing__',
32
+ manufacturer: 'Espressif Systems',
33
+ mpn: 'ESP32-S3-MINI-1-N8',
34
+ lcsc: 'C12345678',
35
+ package: 'ESP32-S3-MINI-1',
36
+ standardPackage: 'ESP32-S3-MINI-1',
37
+ pinMapping: [
38
+ { pin: '1', name: '3V3', type: 'power', description: '3.3V power supply input' },
39
+ { pin: '2', name: '3V3', type: 'power', description: '3.3V power supply input' },
40
+ { pin: '3', name: '3V3', type: 'power', description: '3.3V power supply input' },
41
+ { pin: '4', name: 'CHIP_PU', type: 'input', description: 'Chip enable / reset (active high)' },
42
+ { pin: '5', name: 'GPIO0', type: 'bidirectional', description: 'GPIO0 / Boot mode select' },
43
+ { pin: '6', name: 'GPIO1', type: 'bidirectional', description: 'GPIO1' },
44
+ { pin: '7', name: 'GPIO2', type: 'bidirectional', description: 'GPIO2' },
45
+ { pin: '8', name: 'GPIO3', type: 'bidirectional', description: 'GPIO3 / I2C_SCL' },
46
+ { pin: '9', name: 'GND', type: 'ground', description: 'Ground' },
47
+ { pin: '10', name: 'GPIO4', type: 'bidirectional', description: 'GPIO4 / I2C_SDA' },
48
+ { pin: '11', name: 'GND', type: 'ground', description: 'Ground' },
49
+ { pin: '12', name: 'GPIO5', type: 'bidirectional', description: 'GPIO5 / SPI_MISO' },
50
+ { pin: '13', name: 'GPIO6', type: 'bidirectional', description: 'GPIO6 / SPI_MOSI' },
51
+ { pin: '14', name: 'GND', type: 'ground', description: 'Ground' },
52
+ { pin: '15', name: 'GPIO7', type: 'bidirectional', description: 'GPIO7 / SPI_SCLK' },
53
+ { pin: '16', name: 'GPIO8', type: 'bidirectional', description: 'GPIO8 / SPI_CS' },
54
+ { pin: '37', name: 'GPIO37', type: 'bidirectional', description: 'GPIO37 / UART_TXD' },
55
+ { pin: '38', name: 'GPIO38', type: 'bidirectional', description: 'GPIO38 / UART_RXD' },
56
+ ],
57
+ electricalParams: [
58
+ { name: 'Supply Voltage', value: '3.3', unit: 'V', min: '3.0', max: '3.6' },
59
+ { name: 'Operating Current', value: '80', unit: 'mA', max: '500' },
60
+ { name: 'Flash Size', value: '8', unit: 'MB' },
61
+ { name: 'PSRAM Size', value: '0', unit: 'MB' },
62
+ { name: 'Clock Speed', value: '240', unit: 'MHz' },
63
+ ],
64
+ lifecycleStatus: 'active',
65
+ assemblyHint: {
66
+ status: 'in-production',
67
+ moq: 1,
68
+ leadTimeWeeks: 4,
69
+ notes: 'Widely available, standard lead time',
70
+ },
71
+ datasheetUrl: 'https://www.espressif.com/sites/default/files/documentation/esp32-s3-mini-1_datasheet_en.pdf',
72
+ productPageUrl: 'https://www.espressif.com/en/products/modules/esp32-s3-mini-1',
73
+ };
74
+ // ── ADXL355 Accelerometer Class ───────────────────────────────────────────
75
+ const adxl355 = {
76
+ id: 'device-adxl355',
77
+ displayName: 'ADXL355',
78
+ category: 'sensor',
79
+ subCategory: 'sensor-acceleration',
80
+ description: 'Analog Devices ADXL355 low-noise, low-drift, 3-axis MEMS accelerometer with digital output',
81
+ symbolRef: 'SYM:ADXL355',
82
+ footprintRef: 'FOOT:ADXL355_LGA-14',
83
+ model3dRef: '__missing__',
84
+ manufacturer: 'Analog Devices',
85
+ mpn: 'ADXL355BEZ',
86
+ lcsc: 'C23456789',
87
+ supplierIds: [
88
+ {
89
+ supplier: 'mouser',
90
+ partId: '584-ADXL355BEZ',
91
+ url: 'https://www.mouser.com/ProductDetail/584-ADXL355BEZ',
92
+ },
93
+ {
94
+ supplier: 'digikey',
95
+ partId: '505-ADXL355BEZ-ND',
96
+ url: 'https://www.digikey.com/en/products/detail/505-ADXL355BEZ-ND',
97
+ },
98
+ ],
99
+ package: 'LGA-14_6x6mm_P0.65mm',
100
+ standardPackage: 'LGA-14',
101
+ pinMapping: [
102
+ { pin: '1', name: 'VDD', type: 'power', description: 'Power supply, 2.25V to 3.6V' },
103
+ { pin: '2', name: 'VIO', type: 'power', description: 'I/O supply, 1.8V to 3.6V' },
104
+ { pin: '3', name: 'GND', type: 'ground', description: 'Ground' },
105
+ { pin: '4', name: 'CS', type: 'input', description: 'SPI chip select (active low)' },
106
+ { pin: '5', name: 'SCLK', type: 'input', description: 'SPI serial clock' },
107
+ { pin: '6', name: 'MOSI', type: 'input', description: 'SPI master-out-slave-in' },
108
+ { pin: '7', name: 'MISO', type: 'output', description: 'SPI master-in-slave-out' },
109
+ { pin: '8', name: 'DRDY', type: 'output', description: 'Data ready interrupt output' },
110
+ { pin: '9', name: 'INT1', type: 'output', description: 'Interrupt 1 output' },
111
+ { pin: '10', name: 'INT2', type: 'output', description: 'Interrupt 2 output' },
112
+ {
113
+ pin: '11',
114
+ name: 'FILT',
115
+ type: 'pass-through',
116
+ description: 'External filter capacitor connection',
117
+ },
118
+ { pin: '12', name: 'NC', type: 'no-connect', description: 'No connect — leave floating' },
119
+ { pin: '13', name: 'NC', type: 'no-connect', description: 'No connect — leave floating' },
120
+ { pin: '14', name: 'GND', type: 'ground', description: 'Ground (exposed pad)' },
121
+ ],
122
+ electricalParams: [
123
+ { name: 'Supply Voltage', value: '2.5', unit: 'V', min: '2.25', max: '3.6' },
124
+ { name: 'Current Consumption', value: '200', unit: 'µA', max: '300' },
125
+ { name: 'Measurement Range', value: '2.048', unit: 'g' },
126
+ { name: 'Noise Density', value: '25', unit: 'µg/√Hz' },
127
+ { name: 'SPI Clock', value: '10', unit: 'MHz' },
128
+ ],
129
+ lifecycleStatus: 'active',
130
+ assemblyHint: {
131
+ status: 'in-production',
132
+ moq: 1,
133
+ leadTimeWeeks: 6,
134
+ notes: 'Available from ADI distribution',
135
+ },
136
+ datasheetUrl: 'https://www.analog.com/media/en/technical-documentation/data-sheets/ADXL354_355.pdf',
137
+ productPageUrl: 'https://www.analog.com/en/products/adxl355.html',
138
+ };
139
+ // ── BME280 Sensor Class ───────────────────────────────────────────────────
140
+ const bme280 = {
141
+ id: 'device-bme280',
142
+ displayName: 'BME280',
143
+ category: 'sensor',
144
+ subCategory: 'sensor-environmental',
145
+ description: 'Bosch BME280 combined temperature, humidity, and pressure sensor with I2C/SPI interface',
146
+ symbolRef: 'SYM:BME280',
147
+ footprintRef: 'FOOT:BME280_LGA-8',
148
+ model3dRef: '__missing__',
149
+ manufacturer: 'Bosch Sensortec',
150
+ mpn: 'BME280',
151
+ lcsc: 'C99887766',
152
+ supplierIds: [
153
+ { supplier: 'mouser', partId: '262-BME280' },
154
+ { supplier: 'digikey', partId: '828-1059-1-ND' },
155
+ ],
156
+ package: 'LGA-8_2.5x2.5mm_P0.65mm',
157
+ standardPackage: 'LGA-8',
158
+ pinMapping: [
159
+ { pin: '1', name: 'VDDIO', type: 'power', description: 'Digital I/O supply (1.2V to 3.6V)' },
160
+ { pin: '2', name: 'VDD', type: 'power', description: 'Core supply (1.71V to 3.6V)' },
161
+ { pin: '3', name: 'GND', type: 'ground', description: 'Ground' },
162
+ { pin: '4', name: 'GND', type: 'ground', description: 'Ground' },
163
+ { pin: '5', name: 'SCL', type: 'input', description: 'I2C clock / SPI serial clock' },
164
+ { pin: '6', name: 'SDA', type: 'bidirectional', description: 'I2C data / SPI MOSI' },
165
+ {
166
+ pin: '7',
167
+ name: 'CSB',
168
+ type: 'input',
169
+ description: 'SPI chip select (active low) / I2C address LSB',
170
+ },
171
+ {
172
+ pin: '8',
173
+ name: 'SDI',
174
+ type: 'input',
175
+ description: 'SPI MISO (3-wire) / I2C address LSB (alternative)',
176
+ },
177
+ ],
178
+ electricalParams: [
179
+ { name: 'Supply Voltage', value: '1.8', unit: 'V', min: '1.71', max: '3.6' },
180
+ { name: 'Current Consumption', value: '2.0', unit: 'µA', min: '1.0', max: '3.6' },
181
+ { name: 'Temperature Range', value: '-40 to +85', unit: '°C' },
182
+ { name: 'Humidity Accuracy', value: '3', unit: '%RH' },
183
+ { name: 'Pressure Accuracy', value: '1', unit: 'hPa' },
184
+ ],
185
+ lifecycleStatus: 'active',
186
+ assemblyHint: {
187
+ status: 'in-production',
188
+ moq: 1,
189
+ leadTimeWeeks: 6,
190
+ notes: 'Standard availability, multiple distributors',
191
+ },
192
+ datasheetUrl: 'https://www.bosch-sensortec.com/media/boschsensortec/downloads/datasheets/bst-bme280-ds002.pdf',
193
+ productPageUrl: 'https://www.bosch-sensortec.com/products/environmental-sensors/humidity-sensors-bme280/',
194
+ };
195
+ // ── 5V AC/DC Module Class ─────────────────────────────────────────────────
196
+ const acdcModule5V = {
197
+ id: 'device-acdc-module-5v',
198
+ displayName: 'HLK-PM01 AC-DC 5V Module',
199
+ category: 'power',
200
+ subCategory: 'power-acdc',
201
+ description: 'Hi-Link HLK-PM01 5V/600mA AC-DC step-down power module, non-isolated',
202
+ symbolRef: 'SYM:HLK-PM01',
203
+ footprintRef: 'FOOT:HLK-PM01',
204
+ model3dRef: '__missing__',
205
+ manufacturer: 'Hi-Link',
206
+ mpn: 'HLK-PM01',
207
+ package: 'HLK-PM01_34x20mm',
208
+ standardPackage: 'SIP-4',
209
+ pinMapping: [
210
+ { pin: '1', name: 'AC_L', type: 'power', description: 'AC line input (100-240VAC)' },
211
+ { pin: '2', name: 'AC_N', type: 'power', description: 'AC neutral input' },
212
+ { pin: '3', name: 'VOUT', type: 'power', description: '5V DC output (±0.2V)' },
213
+ { pin: '4', name: 'GND', type: 'ground', description: 'Output ground' },
214
+ ],
215
+ electricalParams: [
216
+ { name: 'Input Voltage', value: '100-240', unit: 'VAC', min: '85', max: '265' },
217
+ { name: 'Output Voltage', value: '5', unit: 'VDC', min: '4.8', max: '5.2' },
218
+ { name: 'Output Current', value: '600', unit: 'mA', max: '600' },
219
+ { name: 'Output Power', value: '3', unit: 'W' },
220
+ { name: 'Ripple', value: '50', unit: 'mV' },
221
+ ],
222
+ lifecycleStatus: 'active',
223
+ assemblyHint: {
224
+ status: 'in-production',
225
+ moq: 1,
226
+ leadTimeWeeks: 3,
227
+ notes: 'Standard through-hole module, widely available',
228
+ },
229
+ datasheetUrl: 'https://www.hlktech.net/product_detail.php?ProId=54',
230
+ };
231
+ // ── 3.3V Regulator Class ──────────────────────────────────────────────────
232
+ const ldo33 = {
233
+ id: 'device-xc6206p332mr',
234
+ displayName: 'XC6206P332MR 3.3V LDO',
235
+ category: 'power',
236
+ subCategory: 'power-ldo',
237
+ description: 'Torex XC6206P332MR 3.3V fixed-output low-dropout linear regulator, 500mA max',
238
+ symbolRef: 'SYM:XC6206P332MR',
239
+ footprintRef: 'FOOT:SOT-23-3',
240
+ model3dRef: '__missing__',
241
+ manufacturer: 'Torex Semiconductor',
242
+ mpn: 'XC6206P332MR',
243
+ lcsc: 'C11223344',
244
+ supplierIds: [
245
+ { supplier: 'mouser', partId: '865-XC6206P332MR' },
246
+ { supplier: 'digikey', partId: 'XC6206P332MR-ND' },
247
+ ],
248
+ package: 'SOT-23-3',
249
+ standardPackage: 'SOT-23-3',
250
+ pinMapping: [
251
+ { pin: '1', name: 'VIN', type: 'power', description: 'Input voltage (up to 6V)' },
252
+ { pin: '2', name: 'VOUT', type: 'power', description: '3.3V regulated output' },
253
+ { pin: '3', name: 'GND', type: 'ground', description: 'Ground' },
254
+ ],
255
+ electricalParams: [
256
+ { name: 'Input Voltage', value: '5.0', unit: 'V', max: '6.0' },
257
+ { name: 'Output Voltage', value: '3.3', unit: 'V', min: '3.267', max: '3.333' },
258
+ { name: 'Output Current', value: '500', unit: 'mA' },
259
+ { name: 'Dropout Voltage', value: '200', unit: 'mV', max: '400' },
260
+ { name: 'Quiescent Current', value: '2.0', unit: 'µA' },
261
+ ],
262
+ lifecycleStatus: 'active',
263
+ assemblyHint: {
264
+ status: 'in-production',
265
+ moq: 1,
266
+ leadTimeWeeks: 4,
267
+ notes: 'Standard SOT-23-3, multiple second-source options available',
268
+ },
269
+ datasheetUrl: 'https://www.torexsemi.com/file/xc6206/XC6206.pdf',
270
+ productPageUrl: 'https://www.torexsemi.com/products/XC6206',
271
+ };
272
+ // ── USB-C Connector ───────────────────────────────────────────────────────
273
+ const usbCConnector = {
274
+ id: 'device-usb-c-16p',
275
+ displayName: 'USB-C 16-Pin Connector',
276
+ category: 'connector',
277
+ subCategory: 'connector-usb-c',
278
+ description: 'USB Type-C 16-pin receptacle with dual-row SMT pads, 8.34x2.6mm',
279
+ symbolRef: 'SYM:USB-C-16P',
280
+ footprintRef: 'FOOT:USB-C-16P_8.34x2.6mm',
281
+ model3dRef: '__missing__',
282
+ manufacturer: 'Generic',
283
+ mpn: 'USB-C-16P',
284
+ lcsc: 'C334455',
285
+ package: 'USB-C-16P_8.34x2.6mm',
286
+ standardPackage: 'USB-C-16P',
287
+ pinMapping: [
288
+ { pin: '1', name: 'A1', type: 'pass-through', description: 'GND' },
289
+ { pin: '2', name: 'A2', type: 'pass-through', description: 'SBU1' },
290
+ { pin: '3', name: 'A3', type: 'pass-through', description: 'USB_D+' },
291
+ { pin: '4', name: 'A4', type: 'pass-through', description: 'USB_D-' },
292
+ { pin: '5', name: 'A5', type: 'power', description: 'VBUS' },
293
+ { pin: '6', name: 'A6', type: 'pass-through', description: 'CC1' },
294
+ { pin: '7', name: 'A7', type: 'pass-through', description: 'SBU2' },
295
+ { pin: '8', name: 'A8', type: 'pass-through', description: 'GND' },
296
+ { pin: '9', name: 'B1', type: 'pass-through', description: 'GND' },
297
+ { pin: '10', name: 'B2', type: 'pass-through', description: 'SBU2' },
298
+ { pin: '11', name: 'B3', type: 'pass-through', description: 'USB_D+' },
299
+ { pin: '12', name: 'B4', type: 'pass-through', description: 'USB_D-' },
300
+ { pin: '13', name: 'B5', type: 'power', description: 'VBUS' },
301
+ { pin: '14', name: 'B6', type: 'pass-through', description: 'CC2' },
302
+ { pin: '15', name: 'B7', type: 'pass-through', description: 'SBU1' },
303
+ { pin: '16', name: 'B8', type: 'pass-through', description: 'GND' },
304
+ ],
305
+ electricalParams: [
306
+ { name: 'Current Rating', value: '5', unit: 'A' },
307
+ { name: 'Voltage Rating', value: '20', unit: 'V' },
308
+ { name: 'Durability', value: '10000', unit: 'cycles' },
309
+ ],
310
+ lifecycleStatus: 'active',
311
+ assemblyHint: {
312
+ status: 'in-production',
313
+ moq: 1,
314
+ leadTimeWeeks: 3,
315
+ notes: 'Standard USB-C connector, widely available',
316
+ },
317
+ datasheetUrl: 'https://www.usb.org/sites/default/files/documents/usb-type-c-specification.pdf',
318
+ };
319
+ // ── Passive parts ─────────────────────────────────────────────────────────
320
+ const resistor10k0805 = {
321
+ id: 'device-res-10k-0805',
322
+ displayName: '10kΩ Resistor 0805',
323
+ category: 'passive',
324
+ subCategory: 'passive-resistor',
325
+ description: '10kΩ ±1% thick film chip resistor, 0805 package, 1/8W',
326
+ symbolRef: 'SYM:RES-0805',
327
+ footprintRef: 'FOOT:RES-0805',
328
+ model3dRef: '__missing__',
329
+ manufacturer: 'Generic',
330
+ mpn: 'RC0805FR-0710KL',
331
+ lcsc: 'C123456',
332
+ package: 'RES-0805',
333
+ standardPackage: '0805',
334
+ electricalParams: [
335
+ { name: 'Resistance', value: '10', unit: 'kΩ', min: '9.9', max: '10.1' },
336
+ { name: 'Tolerance', value: '1', unit: '%' },
337
+ { name: 'Power Rating', value: '0.125', unit: 'W' },
338
+ { name: 'Voltage Rating', value: '150', unit: 'V' },
339
+ ],
340
+ lifecycleStatus: 'active',
341
+ assemblyHint: {
342
+ status: 'in-production',
343
+ notes: 'Generic 0805 resistor, unlimited availability',
344
+ },
345
+ datasheetUrl: 'https://www.yageo.com/upload/media/product/products/datasheet/rchip/PYu-RC_Group_51_RoHS_L_8.pdf',
346
+ };
347
+ const resistor1k0805 = {
348
+ id: 'device-res-1k-0805',
349
+ displayName: '1kΩ Resistor 0805',
350
+ category: 'passive',
351
+ subCategory: 'passive-resistor',
352
+ description: '1kΩ ±1% thick film chip resistor, 0805 package, 1/8W',
353
+ symbolRef: 'SYM:RES-0805',
354
+ footprintRef: 'FOOT:RES-0805',
355
+ model3dRef: '__missing__',
356
+ manufacturer: 'Generic',
357
+ mpn: 'RC0805FR-071KL',
358
+ lcsc: 'C123457',
359
+ package: 'RES-0805',
360
+ standardPackage: '0805',
361
+ electricalParams: [
362
+ { name: 'Resistance', value: '1', unit: 'kΩ', min: '0.99', max: '1.01' },
363
+ { name: 'Tolerance', value: '1', unit: '%' },
364
+ { name: 'Power Rating', value: '0.125', unit: 'W' },
365
+ { name: 'Voltage Rating', value: '150', unit: 'V' },
366
+ ],
367
+ lifecycleStatus: 'active',
368
+ assemblyHint: {
369
+ status: 'in-production',
370
+ notes: 'Generic 0805 resistor, unlimited availability',
371
+ },
372
+ datasheetUrl: 'https://www.yageo.com/upload/media/product/products/datasheet/rchip/PYu-RC_Group_51_RoHS_L_8.pdf',
373
+ };
374
+ const resistor4k7_0805 = {
375
+ id: 'device-res-4k7-0805',
376
+ displayName: '4.7kΩ Resistor 0805',
377
+ category: 'passive',
378
+ subCategory: 'passive-resistor',
379
+ description: '4.7kΩ ±1% thick film chip resistor, 0805 package, 1/8W',
380
+ symbolRef: 'SYM:RES-0805',
381
+ footprintRef: 'FOOT:RES-0805',
382
+ model3dRef: '__missing__',
383
+ manufacturer: 'Generic',
384
+ mpn: 'RC0805FR-074K7L',
385
+ lcsc: 'C123458',
386
+ package: 'RES-0805',
387
+ standardPackage: '0805',
388
+ electricalParams: [
389
+ { name: 'Resistance', value: '4.7', unit: 'kΩ', min: '4.653', max: '4.747' },
390
+ { name: 'Tolerance', value: '1', unit: '%' },
391
+ { name: 'Power Rating', value: '0.125', unit: 'W' },
392
+ { name: 'Voltage Rating', value: '150', unit: 'V' },
393
+ ],
394
+ lifecycleStatus: 'active',
395
+ assemblyHint: {
396
+ status: 'in-production',
397
+ notes: 'Generic 0805 resistor, unlimited availability',
398
+ },
399
+ };
400
+ const cap10uf0805 = {
401
+ id: 'device-cap-10uf-0805',
402
+ displayName: '10µF Ceramic Capacitor 0805',
403
+ category: 'passive',
404
+ subCategory: 'passive-capacitor',
405
+ description: '10µF ±10% X5R ceramic chip capacitor, 0805 package, 16V',
406
+ symbolRef: 'SYM:CAP-0805',
407
+ footprintRef: 'FOOT:CAP-0805',
408
+ model3dRef: '__missing__',
409
+ manufacturer: 'Generic',
410
+ mpn: 'CL21A106KOQNNNE',
411
+ lcsc: 'C223344',
412
+ package: 'CAP-0805',
413
+ standardPackage: '0805',
414
+ electricalParams: [
415
+ { name: 'Capacitance', value: '10', unit: 'µF', min: '9', max: '11' },
416
+ { name: 'Tolerance', value: '10', unit: '%' },
417
+ { name: 'Voltage Rating', value: '16', unit: 'V' },
418
+ { name: 'Dielectric', value: 'X5R' },
419
+ ],
420
+ lifecycleStatus: 'active',
421
+ assemblyHint: {
422
+ status: 'in-production',
423
+ notes: 'Generic 0805 MLCC, unlimited availability',
424
+ },
425
+ };
426
+ const cap100nf0805 = {
427
+ id: 'device-cap-100nf-0805',
428
+ displayName: '100nF Ceramic Capacitor 0805',
429
+ category: 'passive',
430
+ subCategory: 'passive-capacitor',
431
+ description: '100nF ±10% X7R ceramic chip capacitor, 0805 package, 50V',
432
+ symbolRef: 'SYM:CAP-0805',
433
+ footprintRef: 'FOOT:CAP-0805',
434
+ model3dRef: '__missing__',
435
+ manufacturer: 'Generic',
436
+ mpn: 'CC0805KRX7R9BB104',
437
+ lcsc: 'C223345',
438
+ package: 'CAP-0805',
439
+ standardPackage: '0805',
440
+ electricalParams: [
441
+ { name: 'Capacitance', value: '0.1', unit: 'µF', min: '0.09', max: '0.11' },
442
+ { name: 'Tolerance', value: '10', unit: '%' },
443
+ { name: 'Voltage Rating', value: '50', unit: 'V' },
444
+ { name: 'Dielectric', value: 'X7R' },
445
+ ],
446
+ lifecycleStatus: 'active',
447
+ assemblyHint: {
448
+ status: 'in-production',
449
+ notes: 'Generic 0805 MLCC, unlimited availability',
450
+ },
451
+ };
452
+ const ledRed0805 = {
453
+ id: 'device-led-red-0805',
454
+ displayName: 'Red LED 0805',
455
+ category: 'passive',
456
+ subCategory: 'passive-led',
457
+ description: 'Red SMD LED, 0805 package, 620nm, 20mA',
458
+ symbolRef: 'SYM:LED-0805',
459
+ footprintRef: 'FOOT:LED-0805',
460
+ model3dRef: '__missing__',
461
+ manufacturer: 'Generic',
462
+ mpn: 'LTST-C190CKT',
463
+ lcsc: 'C11223344',
464
+ package: 'LED-0805',
465
+ standardPackage: '0805',
466
+ pinMapping: [
467
+ { pin: '1', name: 'A', type: 'power', description: 'Anode' },
468
+ { pin: '2', name: 'K', type: 'ground', description: 'Cathode' },
469
+ ],
470
+ electricalParams: [
471
+ { name: 'Forward Voltage', value: '2.0', unit: 'V', min: '1.8', max: '2.4' },
472
+ { name: 'Forward Current', value: '20', unit: 'mA' },
473
+ { name: 'Wavelength', value: '620', unit: 'nm' },
474
+ { name: 'Luminous Intensity', value: '80', unit: 'mcd' },
475
+ ],
476
+ lifecycleStatus: 'active',
477
+ assemblyHint: {
478
+ status: 'in-production',
479
+ notes: 'Standard SMD LED, widely available',
480
+ },
481
+ };
482
+ const ledGreen0805 = {
483
+ id: 'device-led-green-0805',
484
+ displayName: 'Green LED 0805',
485
+ category: 'passive',
486
+ subCategory: 'passive-led',
487
+ description: 'Green SMD LED, 0805 package, 525nm, 20mA',
488
+ symbolRef: 'SYM:LED-0805',
489
+ footprintRef: 'FOOT:LED-0805',
490
+ model3dRef: '__missing__',
491
+ manufacturer: 'Generic',
492
+ mpn: 'LTST-C190GKT',
493
+ lcsc: 'C11223344',
494
+ package: 'LED-0805',
495
+ standardPackage: '0805',
496
+ pinMapping: [
497
+ { pin: '1', name: 'A', type: 'power', description: 'Anode' },
498
+ { pin: '2', name: 'K', type: 'ground', description: 'Cathode' },
499
+ ],
500
+ electricalParams: [
501
+ { name: 'Forward Voltage', value: '2.0', unit: 'V', min: '1.8', max: '2.4' },
502
+ { name: 'Forward Current', value: '20', unit: 'mA' },
503
+ { name: 'Wavelength', value: '525', unit: 'nm' },
504
+ { name: 'Luminous Intensity', value: '80', unit: 'mcd' },
505
+ ],
506
+ lifecycleStatus: 'active',
507
+ assemblyHint: {
508
+ status: 'in-production',
509
+ notes: 'Standard SMD LED, widely available',
510
+ },
511
+ };
512
+ const ledBlue0805 = {
513
+ id: 'device-led-blue-0805',
514
+ displayName: 'Blue LED 0805',
515
+ category: 'passive',
516
+ subCategory: 'passive-led',
517
+ description: 'Blue SMD LED, 0805 package, 470nm, 20mA',
518
+ symbolRef: 'SYM:LED-0805',
519
+ footprintRef: 'FOOT:LED-0805',
520
+ model3dRef: '__missing__',
521
+ manufacturer: 'Generic',
522
+ mpn: 'LTST-C190TBKT',
523
+ lcsc: 'C11223344',
524
+ package: 'LED-0805',
525
+ standardPackage: '0805',
526
+ pinMapping: [
527
+ { pin: '1', name: 'A', type: 'power', description: 'Anode' },
528
+ { pin: '2', name: 'K', type: 'ground', description: 'Cathode' },
529
+ ],
530
+ electricalParams: [
531
+ { name: 'Forward Voltage', value: '3.2', unit: 'V', min: '2.8', max: '3.6' },
532
+ { name: 'Forward Current', value: '20', unit: 'mA' },
533
+ { name: 'Wavelength', value: '470', unit: 'nm' },
534
+ { name: 'Luminous Intensity', value: '80', unit: 'mcd' },
535
+ ],
536
+ lifecycleStatus: 'active',
537
+ assemblyHint: {
538
+ status: 'in-production',
539
+ notes: 'Standard SMD LED, widely available',
540
+ },
541
+ };
542
+ // ── Exported starter catalog ───────────────────────────────────────────────
543
+ /**
544
+ * Pre-populated device catalog with entries covering the most common
545
+ * MCU, sensor, power, connector, and passive classes used in typical
546
+ * EasyEDA Pro designs.
547
+ *
548
+ * To use: import `STARTER_DEVICE_CATALOG` and pass to `validateDeviceCatalog()`
549
+ * before use. Individual entries can be added/removed as needed.
550
+ *
551
+ * @example
552
+ * ```typescript
553
+ * import { STARTER_DEVICE_CATALOG } from './starter.js';
554
+ * import { validateDeviceCatalog } from './schema.js';
555
+ *
556
+ * const catalog = validateDeviceCatalog({
557
+ * $schema: DEVICE_CATALOG_SCHEMA_VERSION,
558
+ * devices: STARTER_DEVICE_CATALOG,
559
+ * metadata: { version: '1.0.0', name: 'My Catalog' },
560
+ * });
561
+ * ```
562
+ */
563
+ export const STARTER_DEVICE_CATALOG = [
564
+ esp32S3Mini1N8,
565
+ adxl355,
566
+ bme280,
567
+ acdcModule5V,
568
+ ldo33,
569
+ usbCConnector,
570
+ resistor10k0805,
571
+ resistor1k0805,
572
+ resistor4k7_0805,
573
+ cap10uf0805,
574
+ cap100nf0805,
575
+ ledRed0805,
576
+ ledGreen0805,
577
+ ledBlue0805,
578
+ ];
579
+ //# sourceMappingURL=starter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"starter.js","sourceRoot":"","sources":["../../src/catalog/starter.ts"],"names":[],"mappings":"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"}