circuit-json 0.0.294 → 0.0.296

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.
package/dist/index.mjs CHANGED
@@ -664,7 +664,8 @@ var source_port = z36.object({
664
664
  port_hints: z36.array(z36.string()).optional(),
665
665
  name: z36.string(),
666
666
  source_port_id: z36.string(),
667
- source_component_id: z36.string(),
667
+ source_component_id: z36.string().optional(),
668
+ source_group_id: z36.string().optional(),
668
669
  subcircuit_id: z36.string().optional(),
669
670
  subcircuit_connectivity_map_key: z36.string().optional()
670
671
  });
@@ -1203,76 +1204,88 @@ var schematic_table_cell = z64.object({
1203
1204
  }).describe("Defines a cell within a schematic_table");
1204
1205
  expectTypesMatch(true);
1205
1206
 
1206
- // src/pcb/properties/brep.ts
1207
+ // src/schematic/schematic_sheet.ts
1207
1208
  import { z as z65 } from "zod";
1208
- var point_with_bulge = z65.object({
1209
+ var schematic_sheet = z65.object({
1210
+ type: z65.literal("schematic_sheet"),
1211
+ schematic_sheet_id: getZodPrefixedIdWithDefault("schematic_sheet"),
1212
+ name: z65.string().optional(),
1213
+ subcircuit_id: z65.string().optional()
1214
+ }).describe(
1215
+ "Defines a schematic sheet or page that components can be placed on"
1216
+ );
1217
+ expectTypesMatch(true);
1218
+
1219
+ // src/pcb/properties/brep.ts
1220
+ import { z as z66 } from "zod";
1221
+ var point_with_bulge = z66.object({
1209
1222
  x: distance,
1210
1223
  y: distance,
1211
- bulge: z65.number().optional()
1224
+ bulge: z66.number().optional()
1212
1225
  });
1213
1226
  expectTypesMatch(true);
1214
- var ring = z65.object({
1215
- vertices: z65.array(point_with_bulge)
1227
+ var ring = z66.object({
1228
+ vertices: z66.array(point_with_bulge)
1216
1229
  });
1217
1230
  expectTypesMatch(true);
1218
- var brep_shape = z65.object({
1231
+ var brep_shape = z66.object({
1219
1232
  outer_ring: ring,
1220
- inner_rings: z65.array(ring).default([])
1233
+ inner_rings: z66.array(ring).default([])
1221
1234
  });
1222
1235
  expectTypesMatch(true);
1223
1236
 
1224
1237
  // src/pcb/properties/pcb_route_hints.ts
1225
- import { z as z66 } from "zod";
1226
- var pcb_route_hint = z66.object({
1238
+ import { z as z67 } from "zod";
1239
+ var pcb_route_hint = z67.object({
1227
1240
  x: distance,
1228
1241
  y: distance,
1229
- via: z66.boolean().optional(),
1242
+ via: z67.boolean().optional(),
1230
1243
  via_to_layer: layer_ref.optional()
1231
1244
  });
1232
- var pcb_route_hints = z66.array(pcb_route_hint);
1245
+ var pcb_route_hints = z67.array(pcb_route_hint);
1233
1246
  expectTypesMatch(true);
1234
1247
  expectTypesMatch(true);
1235
1248
 
1236
1249
  // src/pcb/properties/route_hint_point.ts
1237
- import { z as z67 } from "zod";
1238
- var route_hint_point = z67.object({
1250
+ import { z as z68 } from "zod";
1251
+ var route_hint_point = z68.object({
1239
1252
  x: distance,
1240
1253
  y: distance,
1241
- via: z67.boolean().optional(),
1254
+ via: z68.boolean().optional(),
1242
1255
  to_layer: layer_ref.optional(),
1243
1256
  trace_width: distance.optional()
1244
1257
  });
1245
1258
  expectTypesMatch(true);
1246
1259
 
1247
1260
  // src/pcb/pcb_component.ts
1248
- import { z as z68 } from "zod";
1249
- var pcb_component = z68.object({
1250
- type: z68.literal("pcb_component"),
1261
+ import { z as z69 } from "zod";
1262
+ var pcb_component = z69.object({
1263
+ type: z69.literal("pcb_component"),
1251
1264
  pcb_component_id: getZodPrefixedIdWithDefault("pcb_component"),
1252
- source_component_id: z68.string(),
1265
+ source_component_id: z69.string(),
1253
1266
  center: point,
1254
1267
  layer: layer_ref,
1255
1268
  rotation,
1256
1269
  width: length,
1257
1270
  height: length,
1258
- do_not_place: z68.boolean().optional(),
1259
- subcircuit_id: z68.string().optional(),
1260
- pcb_group_id: z68.string().optional(),
1261
- obstructs_within_bounds: z68.boolean().default(true).describe(
1271
+ do_not_place: z69.boolean().optional(),
1272
+ subcircuit_id: z69.string().optional(),
1273
+ pcb_group_id: z69.string().optional(),
1274
+ obstructs_within_bounds: z69.boolean().default(true).describe(
1262
1275
  "Does this component take up all the space within its bounds on a layer. This is generally true except for when separated pin headers are being represented by a single component (in which case, chips can be placed between the pin headers) or for tall modules where chips fit underneath"
1263
1276
  )
1264
1277
  }).describe("Defines a component on the PCB");
1265
1278
  expectTypesMatch(true);
1266
1279
 
1267
1280
  // src/pcb/pcb_hole.ts
1268
- import { z as z69 } from "zod";
1269
- var pcb_hole_circle_or_square = z69.object({
1270
- type: z69.literal("pcb_hole"),
1281
+ import { z as z70 } from "zod";
1282
+ var pcb_hole_circle_or_square = z70.object({
1283
+ type: z70.literal("pcb_hole"),
1271
1284
  pcb_hole_id: getZodPrefixedIdWithDefault("pcb_hole"),
1272
- pcb_group_id: z69.string().optional(),
1273
- subcircuit_id: z69.string().optional(),
1274
- hole_shape: z69.enum(["circle", "square"]),
1275
- hole_diameter: z69.number(),
1285
+ pcb_group_id: z70.string().optional(),
1286
+ subcircuit_id: z70.string().optional(),
1287
+ hole_shape: z70.enum(["circle", "square"]),
1288
+ hole_diameter: z70.number(),
1276
1289
  x: distance,
1277
1290
  y: distance
1278
1291
  });
@@ -1280,14 +1293,14 @@ var pcb_hole_circle_or_square_shape = pcb_hole_circle_or_square.describe(
1280
1293
  "Defines a circular or square hole on the PCB"
1281
1294
  );
1282
1295
  expectTypesMatch(true);
1283
- var pcb_hole_oval = z69.object({
1284
- type: z69.literal("pcb_hole"),
1296
+ var pcb_hole_oval = z70.object({
1297
+ type: z70.literal("pcb_hole"),
1285
1298
  pcb_hole_id: getZodPrefixedIdWithDefault("pcb_hole"),
1286
- pcb_group_id: z69.string().optional(),
1287
- subcircuit_id: z69.string().optional(),
1288
- hole_shape: z69.literal("oval"),
1289
- hole_width: z69.number(),
1290
- hole_height: z69.number(),
1299
+ pcb_group_id: z70.string().optional(),
1300
+ subcircuit_id: z70.string().optional(),
1301
+ hole_shape: z70.literal("oval"),
1302
+ hole_width: z70.number(),
1303
+ hole_height: z70.number(),
1291
1304
  x: distance,
1292
1305
  y: distance
1293
1306
  });
@@ -1295,14 +1308,14 @@ var pcb_hole_oval_shape = pcb_hole_oval.describe(
1295
1308
  "Defines an oval hole on the PCB"
1296
1309
  );
1297
1310
  expectTypesMatch(true);
1298
- var pcb_hole_pill = z69.object({
1299
- type: z69.literal("pcb_hole"),
1311
+ var pcb_hole_pill = z70.object({
1312
+ type: z70.literal("pcb_hole"),
1300
1313
  pcb_hole_id: getZodPrefixedIdWithDefault("pcb_hole"),
1301
- pcb_group_id: z69.string().optional(),
1302
- subcircuit_id: z69.string().optional(),
1303
- hole_shape: z69.literal("pill"),
1304
- hole_width: z69.number(),
1305
- hole_height: z69.number(),
1314
+ pcb_group_id: z70.string().optional(),
1315
+ subcircuit_id: z70.string().optional(),
1316
+ hole_shape: z70.literal("pill"),
1317
+ hole_width: z70.number(),
1318
+ hole_height: z70.number(),
1306
1319
  x: distance,
1307
1320
  y: distance
1308
1321
  });
@@ -1310,14 +1323,14 @@ var pcb_hole_pill_shape = pcb_hole_pill.describe(
1310
1323
  "Defines a pill-shaped hole on the PCB"
1311
1324
  );
1312
1325
  expectTypesMatch(true);
1313
- var pcb_hole_rotated_pill = z69.object({
1314
- type: z69.literal("pcb_hole"),
1326
+ var pcb_hole_rotated_pill = z70.object({
1327
+ type: z70.literal("pcb_hole"),
1315
1328
  pcb_hole_id: getZodPrefixedIdWithDefault("pcb_hole"),
1316
- pcb_group_id: z69.string().optional(),
1317
- subcircuit_id: z69.string().optional(),
1318
- hole_shape: z69.literal("rotated_pill"),
1319
- hole_width: z69.number(),
1320
- hole_height: z69.number(),
1329
+ pcb_group_id: z70.string().optional(),
1330
+ subcircuit_id: z70.string().optional(),
1331
+ hole_shape: z70.literal("rotated_pill"),
1332
+ hole_width: z70.number(),
1333
+ hole_height: z70.number(),
1321
1334
  x: distance,
1322
1335
  y: distance,
1323
1336
  ccw_rotation: rotation
@@ -1329,108 +1342,108 @@ expectTypesMatch(true);
1329
1342
  var pcb_hole = pcb_hole_circle_or_square.or(pcb_hole_oval).or(pcb_hole_pill).or(pcb_hole_rotated_pill);
1330
1343
 
1331
1344
  // src/pcb/pcb_plated_hole.ts
1332
- import { z as z70 } from "zod";
1333
- var pcb_plated_hole_circle = z70.object({
1334
- type: z70.literal("pcb_plated_hole"),
1335
- shape: z70.literal("circle"),
1336
- pcb_group_id: z70.string().optional(),
1337
- subcircuit_id: z70.string().optional(),
1338
- outer_diameter: z70.number(),
1339
- hole_diameter: z70.number(),
1345
+ import { z as z71 } from "zod";
1346
+ var pcb_plated_hole_circle = z71.object({
1347
+ type: z71.literal("pcb_plated_hole"),
1348
+ shape: z71.literal("circle"),
1349
+ pcb_group_id: z71.string().optional(),
1350
+ subcircuit_id: z71.string().optional(),
1351
+ outer_diameter: z71.number(),
1352
+ hole_diameter: z71.number(),
1340
1353
  x: distance,
1341
1354
  y: distance,
1342
- layers: z70.array(layer_ref),
1343
- port_hints: z70.array(z70.string()).optional(),
1344
- pcb_component_id: z70.string().optional(),
1345
- pcb_port_id: z70.string().optional(),
1355
+ layers: z71.array(layer_ref),
1356
+ port_hints: z71.array(z71.string()).optional(),
1357
+ pcb_component_id: z71.string().optional(),
1358
+ pcb_port_id: z71.string().optional(),
1346
1359
  pcb_plated_hole_id: getZodPrefixedIdWithDefault("pcb_plated_hole")
1347
1360
  });
1348
- var pcb_plated_hole_oval = z70.object({
1349
- type: z70.literal("pcb_plated_hole"),
1350
- shape: z70.enum(["oval", "pill"]),
1351
- pcb_group_id: z70.string().optional(),
1352
- subcircuit_id: z70.string().optional(),
1353
- outer_width: z70.number(),
1354
- outer_height: z70.number(),
1355
- hole_width: z70.number(),
1356
- hole_height: z70.number(),
1361
+ var pcb_plated_hole_oval = z71.object({
1362
+ type: z71.literal("pcb_plated_hole"),
1363
+ shape: z71.enum(["oval", "pill"]),
1364
+ pcb_group_id: z71.string().optional(),
1365
+ subcircuit_id: z71.string().optional(),
1366
+ outer_width: z71.number(),
1367
+ outer_height: z71.number(),
1368
+ hole_width: z71.number(),
1369
+ hole_height: z71.number(),
1357
1370
  x: distance,
1358
1371
  y: distance,
1359
1372
  ccw_rotation: rotation,
1360
- layers: z70.array(layer_ref),
1361
- port_hints: z70.array(z70.string()).optional(),
1362
- pcb_component_id: z70.string().optional(),
1363
- pcb_port_id: z70.string().optional(),
1373
+ layers: z71.array(layer_ref),
1374
+ port_hints: z71.array(z71.string()).optional(),
1375
+ pcb_component_id: z71.string().optional(),
1376
+ pcb_port_id: z71.string().optional(),
1364
1377
  pcb_plated_hole_id: getZodPrefixedIdWithDefault("pcb_plated_hole")
1365
1378
  });
1366
- var pcb_circular_hole_with_rect_pad = z70.object({
1367
- type: z70.literal("pcb_plated_hole"),
1368
- shape: z70.literal("circular_hole_with_rect_pad"),
1369
- pcb_group_id: z70.string().optional(),
1370
- subcircuit_id: z70.string().optional(),
1371
- hole_shape: z70.literal("circle"),
1372
- pad_shape: z70.literal("rect"),
1373
- hole_diameter: z70.number(),
1374
- rect_pad_width: z70.number(),
1375
- rect_pad_height: z70.number(),
1376
- rect_border_radius: z70.number().optional(),
1379
+ var pcb_circular_hole_with_rect_pad = z71.object({
1380
+ type: z71.literal("pcb_plated_hole"),
1381
+ shape: z71.literal("circular_hole_with_rect_pad"),
1382
+ pcb_group_id: z71.string().optional(),
1383
+ subcircuit_id: z71.string().optional(),
1384
+ hole_shape: z71.literal("circle"),
1385
+ pad_shape: z71.literal("rect"),
1386
+ hole_diameter: z71.number(),
1387
+ rect_pad_width: z71.number(),
1388
+ rect_pad_height: z71.number(),
1389
+ rect_border_radius: z71.number().optional(),
1377
1390
  hole_offset_x: distance.default(0),
1378
1391
  hole_offset_y: distance.default(0),
1379
1392
  x: distance,
1380
1393
  y: distance,
1381
- layers: z70.array(layer_ref),
1382
- port_hints: z70.array(z70.string()).optional(),
1383
- pcb_component_id: z70.string().optional(),
1384
- pcb_port_id: z70.string().optional(),
1394
+ layers: z71.array(layer_ref),
1395
+ port_hints: z71.array(z71.string()).optional(),
1396
+ pcb_component_id: z71.string().optional(),
1397
+ pcb_port_id: z71.string().optional(),
1385
1398
  pcb_plated_hole_id: getZodPrefixedIdWithDefault("pcb_plated_hole")
1386
1399
  });
1387
- var pcb_pill_hole_with_rect_pad = z70.object({
1388
- type: z70.literal("pcb_plated_hole"),
1389
- shape: z70.literal("pill_hole_with_rect_pad"),
1390
- pcb_group_id: z70.string().optional(),
1391
- subcircuit_id: z70.string().optional(),
1392
- hole_shape: z70.literal("pill"),
1393
- pad_shape: z70.literal("rect"),
1394
- hole_width: z70.number(),
1395
- hole_height: z70.number(),
1396
- rect_pad_width: z70.number(),
1397
- rect_pad_height: z70.number(),
1398
- rect_border_radius: z70.number().optional(),
1400
+ var pcb_pill_hole_with_rect_pad = z71.object({
1401
+ type: z71.literal("pcb_plated_hole"),
1402
+ shape: z71.literal("pill_hole_with_rect_pad"),
1403
+ pcb_group_id: z71.string().optional(),
1404
+ subcircuit_id: z71.string().optional(),
1405
+ hole_shape: z71.literal("pill"),
1406
+ pad_shape: z71.literal("rect"),
1407
+ hole_width: z71.number(),
1408
+ hole_height: z71.number(),
1409
+ rect_pad_width: z71.number(),
1410
+ rect_pad_height: z71.number(),
1411
+ rect_border_radius: z71.number().optional(),
1399
1412
  hole_offset_x: distance.default(0),
1400
1413
  hole_offset_y: distance.default(0),
1401
1414
  x: distance,
1402
1415
  y: distance,
1403
- layers: z70.array(layer_ref),
1404
- port_hints: z70.array(z70.string()).optional(),
1405
- pcb_component_id: z70.string().optional(),
1406
- pcb_port_id: z70.string().optional(),
1416
+ layers: z71.array(layer_ref),
1417
+ port_hints: z71.array(z71.string()).optional(),
1418
+ pcb_component_id: z71.string().optional(),
1419
+ pcb_port_id: z71.string().optional(),
1407
1420
  pcb_plated_hole_id: getZodPrefixedIdWithDefault("pcb_plated_hole")
1408
1421
  });
1409
- var pcb_rotated_pill_hole_with_rect_pad = z70.object({
1410
- type: z70.literal("pcb_plated_hole"),
1411
- shape: z70.literal("rotated_pill_hole_with_rect_pad"),
1412
- pcb_group_id: z70.string().optional(),
1413
- subcircuit_id: z70.string().optional(),
1414
- hole_shape: z70.literal("rotated_pill"),
1415
- pad_shape: z70.literal("rect"),
1416
- hole_width: z70.number(),
1417
- hole_height: z70.number(),
1422
+ var pcb_rotated_pill_hole_with_rect_pad = z71.object({
1423
+ type: z71.literal("pcb_plated_hole"),
1424
+ shape: z71.literal("rotated_pill_hole_with_rect_pad"),
1425
+ pcb_group_id: z71.string().optional(),
1426
+ subcircuit_id: z71.string().optional(),
1427
+ hole_shape: z71.literal("rotated_pill"),
1428
+ pad_shape: z71.literal("rect"),
1429
+ hole_width: z71.number(),
1430
+ hole_height: z71.number(),
1418
1431
  hole_ccw_rotation: rotation,
1419
- rect_pad_width: z70.number(),
1420
- rect_pad_height: z70.number(),
1421
- rect_border_radius: z70.number().optional(),
1432
+ rect_pad_width: z71.number(),
1433
+ rect_pad_height: z71.number(),
1434
+ rect_border_radius: z71.number().optional(),
1422
1435
  rect_ccw_rotation: rotation,
1423
1436
  hole_offset_x: distance.default(0),
1424
1437
  hole_offset_y: distance.default(0),
1425
1438
  x: distance,
1426
1439
  y: distance,
1427
- layers: z70.array(layer_ref),
1428
- port_hints: z70.array(z70.string()).optional(),
1429
- pcb_component_id: z70.string().optional(),
1430
- pcb_port_id: z70.string().optional(),
1440
+ layers: z71.array(layer_ref),
1441
+ port_hints: z71.array(z71.string()).optional(),
1442
+ pcb_component_id: z71.string().optional(),
1443
+ pcb_port_id: z71.string().optional(),
1431
1444
  pcb_plated_hole_id: getZodPrefixedIdWithDefault("pcb_plated_hole")
1432
1445
  });
1433
- var pcb_plated_hole = z70.union([
1446
+ var pcb_plated_hole = z71.union([
1434
1447
  pcb_plated_hole_circle,
1435
1448
  pcb_plated_hole_oval,
1436
1449
  pcb_circular_hole_with_rect_pad,
@@ -1446,124 +1459,124 @@ expectTypesMatch(true);
1446
1459
  expectTypesMatch(true);
1447
1460
 
1448
1461
  // src/pcb/pcb_port.ts
1449
- import { z as z71 } from "zod";
1450
- var pcb_port = z71.object({
1451
- type: z71.literal("pcb_port"),
1462
+ import { z as z72 } from "zod";
1463
+ var pcb_port = z72.object({
1464
+ type: z72.literal("pcb_port"),
1452
1465
  pcb_port_id: getZodPrefixedIdWithDefault("pcb_port"),
1453
- pcb_group_id: z71.string().optional(),
1454
- subcircuit_id: z71.string().optional(),
1455
- source_port_id: z71.string(),
1456
- pcb_component_id: z71.string(),
1466
+ pcb_group_id: z72.string().optional(),
1467
+ subcircuit_id: z72.string().optional(),
1468
+ source_port_id: z72.string(),
1469
+ pcb_component_id: z72.string().optional(),
1457
1470
  x: distance,
1458
1471
  y: distance,
1459
- layers: z71.array(layer_ref),
1460
- is_board_pinout: z71.boolean().optional()
1472
+ layers: z72.array(layer_ref),
1473
+ is_board_pinout: z72.boolean().optional()
1461
1474
  }).describe("Defines a port on the PCB");
1462
1475
  expectTypesMatch(true);
1463
1476
 
1464
1477
  // src/pcb/pcb_smtpad.ts
1465
- import { z as z72 } from "zod";
1466
- var pcb_smtpad_circle = z72.object({
1467
- type: z72.literal("pcb_smtpad"),
1468
- shape: z72.literal("circle"),
1478
+ import { z as z73 } from "zod";
1479
+ var pcb_smtpad_circle = z73.object({
1480
+ type: z73.literal("pcb_smtpad"),
1481
+ shape: z73.literal("circle"),
1469
1482
  pcb_smtpad_id: getZodPrefixedIdWithDefault("pcb_smtpad"),
1470
- pcb_group_id: z72.string().optional(),
1471
- subcircuit_id: z72.string().optional(),
1483
+ pcb_group_id: z73.string().optional(),
1484
+ subcircuit_id: z73.string().optional(),
1472
1485
  x: distance,
1473
1486
  y: distance,
1474
- radius: z72.number(),
1487
+ radius: z73.number(),
1475
1488
  layer: layer_ref,
1476
- port_hints: z72.array(z72.string()).optional(),
1477
- pcb_component_id: z72.string().optional(),
1478
- pcb_port_id: z72.string().optional(),
1479
- is_covered_with_solder_mask: z72.boolean().optional()
1489
+ port_hints: z73.array(z73.string()).optional(),
1490
+ pcb_component_id: z73.string().optional(),
1491
+ pcb_port_id: z73.string().optional(),
1492
+ is_covered_with_solder_mask: z73.boolean().optional()
1480
1493
  });
1481
- var pcb_smtpad_rect = z72.object({
1482
- type: z72.literal("pcb_smtpad"),
1483
- shape: z72.literal("rect"),
1494
+ var pcb_smtpad_rect = z73.object({
1495
+ type: z73.literal("pcb_smtpad"),
1496
+ shape: z73.literal("rect"),
1484
1497
  pcb_smtpad_id: getZodPrefixedIdWithDefault("pcb_smtpad"),
1485
- pcb_group_id: z72.string().optional(),
1486
- subcircuit_id: z72.string().optional(),
1498
+ pcb_group_id: z73.string().optional(),
1499
+ subcircuit_id: z73.string().optional(),
1487
1500
  x: distance,
1488
1501
  y: distance,
1489
- width: z72.number(),
1490
- height: z72.number(),
1491
- rect_border_radius: z72.number().optional(),
1492
- corner_radius: z72.number().optional(),
1502
+ width: z73.number(),
1503
+ height: z73.number(),
1504
+ rect_border_radius: z73.number().optional(),
1505
+ corner_radius: z73.number().optional(),
1493
1506
  layer: layer_ref,
1494
- port_hints: z72.array(z72.string()).optional(),
1495
- pcb_component_id: z72.string().optional(),
1496
- pcb_port_id: z72.string().optional(),
1497
- is_covered_with_solder_mask: z72.boolean().optional()
1507
+ port_hints: z73.array(z73.string()).optional(),
1508
+ pcb_component_id: z73.string().optional(),
1509
+ pcb_port_id: z73.string().optional(),
1510
+ is_covered_with_solder_mask: z73.boolean().optional()
1498
1511
  });
1499
- var pcb_smtpad_rotated_rect = z72.object({
1500
- type: z72.literal("pcb_smtpad"),
1501
- shape: z72.literal("rotated_rect"),
1512
+ var pcb_smtpad_rotated_rect = z73.object({
1513
+ type: z73.literal("pcb_smtpad"),
1514
+ shape: z73.literal("rotated_rect"),
1502
1515
  pcb_smtpad_id: getZodPrefixedIdWithDefault("pcb_smtpad"),
1503
- pcb_group_id: z72.string().optional(),
1504
- subcircuit_id: z72.string().optional(),
1516
+ pcb_group_id: z73.string().optional(),
1517
+ subcircuit_id: z73.string().optional(),
1505
1518
  x: distance,
1506
1519
  y: distance,
1507
- width: z72.number(),
1508
- height: z72.number(),
1509
- rect_border_radius: z72.number().optional(),
1510
- corner_radius: z72.number().optional(),
1520
+ width: z73.number(),
1521
+ height: z73.number(),
1522
+ rect_border_radius: z73.number().optional(),
1523
+ corner_radius: z73.number().optional(),
1511
1524
  ccw_rotation: rotation,
1512
1525
  layer: layer_ref,
1513
- port_hints: z72.array(z72.string()).optional(),
1514
- pcb_component_id: z72.string().optional(),
1515
- pcb_port_id: z72.string().optional(),
1516
- is_covered_with_solder_mask: z72.boolean().optional()
1526
+ port_hints: z73.array(z73.string()).optional(),
1527
+ pcb_component_id: z73.string().optional(),
1528
+ pcb_port_id: z73.string().optional(),
1529
+ is_covered_with_solder_mask: z73.boolean().optional()
1517
1530
  });
1518
- var pcb_smtpad_pill = z72.object({
1519
- type: z72.literal("pcb_smtpad"),
1520
- shape: z72.literal("pill"),
1531
+ var pcb_smtpad_pill = z73.object({
1532
+ type: z73.literal("pcb_smtpad"),
1533
+ shape: z73.literal("pill"),
1521
1534
  pcb_smtpad_id: getZodPrefixedIdWithDefault("pcb_smtpad"),
1522
- pcb_group_id: z72.string().optional(),
1523
- subcircuit_id: z72.string().optional(),
1535
+ pcb_group_id: z73.string().optional(),
1536
+ subcircuit_id: z73.string().optional(),
1524
1537
  x: distance,
1525
1538
  y: distance,
1526
- width: z72.number(),
1527
- height: z72.number(),
1528
- radius: z72.number(),
1539
+ width: z73.number(),
1540
+ height: z73.number(),
1541
+ radius: z73.number(),
1529
1542
  layer: layer_ref,
1530
- port_hints: z72.array(z72.string()).optional(),
1531
- pcb_component_id: z72.string().optional(),
1532
- pcb_port_id: z72.string().optional(),
1533
- is_covered_with_solder_mask: z72.boolean().optional()
1543
+ port_hints: z73.array(z73.string()).optional(),
1544
+ pcb_component_id: z73.string().optional(),
1545
+ pcb_port_id: z73.string().optional(),
1546
+ is_covered_with_solder_mask: z73.boolean().optional()
1534
1547
  });
1535
- var pcb_smtpad_rotated_pill = z72.object({
1536
- type: z72.literal("pcb_smtpad"),
1537
- shape: z72.literal("rotated_pill"),
1548
+ var pcb_smtpad_rotated_pill = z73.object({
1549
+ type: z73.literal("pcb_smtpad"),
1550
+ shape: z73.literal("rotated_pill"),
1538
1551
  pcb_smtpad_id: getZodPrefixedIdWithDefault("pcb_smtpad"),
1539
- pcb_group_id: z72.string().optional(),
1540
- subcircuit_id: z72.string().optional(),
1552
+ pcb_group_id: z73.string().optional(),
1553
+ subcircuit_id: z73.string().optional(),
1541
1554
  x: distance,
1542
1555
  y: distance,
1543
- width: z72.number(),
1544
- height: z72.number(),
1545
- radius: z72.number(),
1556
+ width: z73.number(),
1557
+ height: z73.number(),
1558
+ radius: z73.number(),
1546
1559
  ccw_rotation: rotation,
1547
1560
  layer: layer_ref,
1548
- port_hints: z72.array(z72.string()).optional(),
1549
- pcb_component_id: z72.string().optional(),
1550
- pcb_port_id: z72.string().optional(),
1551
- is_covered_with_solder_mask: z72.boolean().optional()
1561
+ port_hints: z73.array(z73.string()).optional(),
1562
+ pcb_component_id: z73.string().optional(),
1563
+ pcb_port_id: z73.string().optional(),
1564
+ is_covered_with_solder_mask: z73.boolean().optional()
1552
1565
  });
1553
- var pcb_smtpad_polygon = z72.object({
1554
- type: z72.literal("pcb_smtpad"),
1555
- shape: z72.literal("polygon"),
1566
+ var pcb_smtpad_polygon = z73.object({
1567
+ type: z73.literal("pcb_smtpad"),
1568
+ shape: z73.literal("polygon"),
1556
1569
  pcb_smtpad_id: getZodPrefixedIdWithDefault("pcb_smtpad"),
1557
- pcb_group_id: z72.string().optional(),
1558
- subcircuit_id: z72.string().optional(),
1559
- points: z72.array(point),
1570
+ pcb_group_id: z73.string().optional(),
1571
+ subcircuit_id: z73.string().optional(),
1572
+ points: z73.array(point),
1560
1573
  layer: layer_ref,
1561
- port_hints: z72.array(z72.string()).optional(),
1562
- pcb_component_id: z72.string().optional(),
1563
- pcb_port_id: z72.string().optional(),
1564
- is_covered_with_solder_mask: z72.boolean().optional()
1574
+ port_hints: z73.array(z73.string()).optional(),
1575
+ pcb_component_id: z73.string().optional(),
1576
+ pcb_port_id: z73.string().optional(),
1577
+ is_covered_with_solder_mask: z73.boolean().optional()
1565
1578
  });
1566
- var pcb_smtpad = z72.discriminatedUnion("shape", [
1579
+ var pcb_smtpad = z73.discriminatedUnion("shape", [
1567
1580
  pcb_smtpad_circle,
1568
1581
  pcb_smtpad_rect,
1569
1582
  pcb_smtpad_rotated_rect,
@@ -1579,79 +1592,79 @@ expectTypesMatch(true);
1579
1592
  expectTypesMatch(true);
1580
1593
 
1581
1594
  // src/pcb/pcb_solder_paste.ts
1582
- import { z as z73 } from "zod";
1583
- var pcb_solder_paste_circle = z73.object({
1584
- type: z73.literal("pcb_solder_paste"),
1585
- shape: z73.literal("circle"),
1595
+ import { z as z74 } from "zod";
1596
+ var pcb_solder_paste_circle = z74.object({
1597
+ type: z74.literal("pcb_solder_paste"),
1598
+ shape: z74.literal("circle"),
1586
1599
  pcb_solder_paste_id: getZodPrefixedIdWithDefault("pcb_solder_paste"),
1587
- pcb_group_id: z73.string().optional(),
1588
- subcircuit_id: z73.string().optional(),
1600
+ pcb_group_id: z74.string().optional(),
1601
+ subcircuit_id: z74.string().optional(),
1589
1602
  x: distance,
1590
1603
  y: distance,
1591
- radius: z73.number(),
1604
+ radius: z74.number(),
1592
1605
  layer: layer_ref,
1593
- pcb_component_id: z73.string().optional(),
1594
- pcb_smtpad_id: z73.string().optional()
1606
+ pcb_component_id: z74.string().optional(),
1607
+ pcb_smtpad_id: z74.string().optional()
1595
1608
  });
1596
- var pcb_solder_paste_rect = z73.object({
1597
- type: z73.literal("pcb_solder_paste"),
1598
- shape: z73.literal("rect"),
1609
+ var pcb_solder_paste_rect = z74.object({
1610
+ type: z74.literal("pcb_solder_paste"),
1611
+ shape: z74.literal("rect"),
1599
1612
  pcb_solder_paste_id: getZodPrefixedIdWithDefault("pcb_solder_paste"),
1600
- pcb_group_id: z73.string().optional(),
1601
- subcircuit_id: z73.string().optional(),
1613
+ pcb_group_id: z74.string().optional(),
1614
+ subcircuit_id: z74.string().optional(),
1602
1615
  x: distance,
1603
1616
  y: distance,
1604
- width: z73.number(),
1605
- height: z73.number(),
1617
+ width: z74.number(),
1618
+ height: z74.number(),
1606
1619
  layer: layer_ref,
1607
- pcb_component_id: z73.string().optional(),
1608
- pcb_smtpad_id: z73.string().optional()
1620
+ pcb_component_id: z74.string().optional(),
1621
+ pcb_smtpad_id: z74.string().optional()
1609
1622
  });
1610
- var pcb_solder_paste_pill = z73.object({
1611
- type: z73.literal("pcb_solder_paste"),
1612
- shape: z73.literal("pill"),
1623
+ var pcb_solder_paste_pill = z74.object({
1624
+ type: z74.literal("pcb_solder_paste"),
1625
+ shape: z74.literal("pill"),
1613
1626
  pcb_solder_paste_id: getZodPrefixedIdWithDefault("pcb_solder_paste"),
1614
- pcb_group_id: z73.string().optional(),
1615
- subcircuit_id: z73.string().optional(),
1627
+ pcb_group_id: z74.string().optional(),
1628
+ subcircuit_id: z74.string().optional(),
1616
1629
  x: distance,
1617
1630
  y: distance,
1618
- width: z73.number(),
1619
- height: z73.number(),
1620
- radius: z73.number(),
1631
+ width: z74.number(),
1632
+ height: z74.number(),
1633
+ radius: z74.number(),
1621
1634
  layer: layer_ref,
1622
- pcb_component_id: z73.string().optional(),
1623
- pcb_smtpad_id: z73.string().optional()
1635
+ pcb_component_id: z74.string().optional(),
1636
+ pcb_smtpad_id: z74.string().optional()
1624
1637
  });
1625
- var pcb_solder_paste_rotated_rect = z73.object({
1626
- type: z73.literal("pcb_solder_paste"),
1627
- shape: z73.literal("rotated_rect"),
1638
+ var pcb_solder_paste_rotated_rect = z74.object({
1639
+ type: z74.literal("pcb_solder_paste"),
1640
+ shape: z74.literal("rotated_rect"),
1628
1641
  pcb_solder_paste_id: getZodPrefixedIdWithDefault("pcb_solder_paste"),
1629
- pcb_group_id: z73.string().optional(),
1630
- subcircuit_id: z73.string().optional(),
1642
+ pcb_group_id: z74.string().optional(),
1643
+ subcircuit_id: z74.string().optional(),
1631
1644
  x: distance,
1632
1645
  y: distance,
1633
- width: z73.number(),
1634
- height: z73.number(),
1646
+ width: z74.number(),
1647
+ height: z74.number(),
1635
1648
  ccw_rotation: distance,
1636
1649
  layer: layer_ref,
1637
- pcb_component_id: z73.string().optional(),
1638
- pcb_smtpad_id: z73.string().optional()
1650
+ pcb_component_id: z74.string().optional(),
1651
+ pcb_smtpad_id: z74.string().optional()
1639
1652
  });
1640
- var pcb_solder_paste_oval = z73.object({
1641
- type: z73.literal("pcb_solder_paste"),
1642
- shape: z73.literal("oval"),
1653
+ var pcb_solder_paste_oval = z74.object({
1654
+ type: z74.literal("pcb_solder_paste"),
1655
+ shape: z74.literal("oval"),
1643
1656
  pcb_solder_paste_id: getZodPrefixedIdWithDefault("pcb_solder_paste"),
1644
- pcb_group_id: z73.string().optional(),
1645
- subcircuit_id: z73.string().optional(),
1657
+ pcb_group_id: z74.string().optional(),
1658
+ subcircuit_id: z74.string().optional(),
1646
1659
  x: distance,
1647
1660
  y: distance,
1648
- width: z73.number(),
1649
- height: z73.number(),
1661
+ width: z74.number(),
1662
+ height: z74.number(),
1650
1663
  layer: layer_ref,
1651
- pcb_component_id: z73.string().optional(),
1652
- pcb_smtpad_id: z73.string().optional()
1664
+ pcb_component_id: z74.string().optional(),
1665
+ pcb_smtpad_id: z74.string().optional()
1653
1666
  });
1654
- var pcb_solder_paste = z73.union([
1667
+ var pcb_solder_paste = z74.union([
1655
1668
  pcb_solder_paste_circle,
1656
1669
  pcb_solder_paste_rect,
1657
1670
  pcb_solder_paste_pill,
@@ -1667,145 +1680,145 @@ expectTypesMatch(
1667
1680
  expectTypesMatch(true);
1668
1681
 
1669
1682
  // src/pcb/pcb_text.ts
1670
- import { z as z74 } from "zod";
1671
- var pcb_text = z74.object({
1672
- type: z74.literal("pcb_text"),
1683
+ import { z as z75 } from "zod";
1684
+ var pcb_text = z75.object({
1685
+ type: z75.literal("pcb_text"),
1673
1686
  pcb_text_id: getZodPrefixedIdWithDefault("pcb_text"),
1674
- pcb_group_id: z74.string().optional(),
1675
- subcircuit_id: z74.string().optional(),
1676
- text: z74.string(),
1687
+ pcb_group_id: z75.string().optional(),
1688
+ subcircuit_id: z75.string().optional(),
1689
+ text: z75.string(),
1677
1690
  center: point,
1678
1691
  layer: layer_ref,
1679
1692
  width: length,
1680
1693
  height: length,
1681
- lines: z74.number(),
1694
+ lines: z75.number(),
1682
1695
  // @ts-ignore
1683
- align: z74.enum(["bottom-left"])
1696
+ align: z75.enum(["bottom-left"])
1684
1697
  }).describe("Defines text on the PCB");
1685
1698
  expectTypesMatch(true);
1686
1699
 
1687
1700
  // src/pcb/pcb_trace.ts
1688
- import { z as z75 } from "zod";
1689
- var pcb_trace_route_point_wire = z75.object({
1690
- route_type: z75.literal("wire"),
1701
+ import { z as z76 } from "zod";
1702
+ var pcb_trace_route_point_wire = z76.object({
1703
+ route_type: z76.literal("wire"),
1691
1704
  x: distance,
1692
1705
  y: distance,
1693
1706
  width: distance,
1694
- start_pcb_port_id: z75.string().optional(),
1695
- end_pcb_port_id: z75.string().optional(),
1707
+ start_pcb_port_id: z76.string().optional(),
1708
+ end_pcb_port_id: z76.string().optional(),
1696
1709
  layer: layer_ref
1697
1710
  });
1698
- var pcb_trace_route_point_via = z75.object({
1699
- route_type: z75.literal("via"),
1711
+ var pcb_trace_route_point_via = z76.object({
1712
+ route_type: z76.literal("via"),
1700
1713
  x: distance,
1701
1714
  y: distance,
1702
1715
  hole_diameter: distance.optional(),
1703
1716
  outer_diameter: distance.optional(),
1704
- from_layer: z75.string(),
1705
- to_layer: z75.string()
1717
+ from_layer: z76.string(),
1718
+ to_layer: z76.string()
1706
1719
  });
1707
- var pcb_trace_route_point = z75.union([
1720
+ var pcb_trace_route_point = z76.union([
1708
1721
  pcb_trace_route_point_wire,
1709
1722
  pcb_trace_route_point_via
1710
1723
  ]);
1711
- var pcb_trace = z75.object({
1712
- type: z75.literal("pcb_trace"),
1713
- source_trace_id: z75.string().optional(),
1714
- pcb_component_id: z75.string().optional(),
1724
+ var pcb_trace = z76.object({
1725
+ type: z76.literal("pcb_trace"),
1726
+ source_trace_id: z76.string().optional(),
1727
+ pcb_component_id: z76.string().optional(),
1715
1728
  pcb_trace_id: getZodPrefixedIdWithDefault("pcb_trace"),
1716
- pcb_group_id: z75.string().optional(),
1717
- subcircuit_id: z75.string().optional(),
1718
- route_thickness_mode: z75.enum(["constant", "interpolated"]).default("constant").optional(),
1719
- route_order_index: z75.number().optional(),
1720
- should_round_corners: z75.boolean().optional(),
1721
- trace_length: z75.number().optional(),
1722
- highlight_color: z75.string().optional(),
1723
- route: z75.array(pcb_trace_route_point)
1729
+ pcb_group_id: z76.string().optional(),
1730
+ subcircuit_id: z76.string().optional(),
1731
+ route_thickness_mode: z76.enum(["constant", "interpolated"]).default("constant").optional(),
1732
+ route_order_index: z76.number().optional(),
1733
+ should_round_corners: z76.boolean().optional(),
1734
+ trace_length: z76.number().optional(),
1735
+ highlight_color: z76.string().optional(),
1736
+ route: z76.array(pcb_trace_route_point)
1724
1737
  }).describe("Defines a trace on the PCB");
1725
1738
  expectTypesMatch(true);
1726
1739
  expectTypesMatch(true);
1727
1740
 
1728
1741
  // src/pcb/pcb_trace_error.ts
1729
- import { z as z76 } from "zod";
1730
- var pcb_trace_error = z76.object({
1731
- type: z76.literal("pcb_trace_error"),
1742
+ import { z as z77 } from "zod";
1743
+ var pcb_trace_error = z77.object({
1744
+ type: z77.literal("pcb_trace_error"),
1732
1745
  pcb_trace_error_id: getZodPrefixedIdWithDefault("pcb_trace_error"),
1733
- error_type: z76.literal("pcb_trace_error").default("pcb_trace_error"),
1734
- message: z76.string(),
1746
+ error_type: z77.literal("pcb_trace_error").default("pcb_trace_error"),
1747
+ message: z77.string(),
1735
1748
  center: point.optional(),
1736
- pcb_trace_id: z76.string(),
1737
- source_trace_id: z76.string(),
1738
- pcb_component_ids: z76.array(z76.string()),
1739
- pcb_port_ids: z76.array(z76.string()),
1740
- subcircuit_id: z76.string().optional()
1749
+ pcb_trace_id: z77.string(),
1750
+ source_trace_id: z77.string(),
1751
+ pcb_component_ids: z77.array(z77.string()),
1752
+ pcb_port_ids: z77.array(z77.string()),
1753
+ subcircuit_id: z77.string().optional()
1741
1754
  }).describe("Defines a trace error on the PCB");
1742
1755
  expectTypesMatch(true);
1743
1756
 
1744
1757
  // src/pcb/pcb_trace_missing_error.ts
1745
- import { z as z77 } from "zod";
1746
- var pcb_trace_missing_error = z77.object({
1747
- type: z77.literal("pcb_trace_missing_error"),
1758
+ import { z as z78 } from "zod";
1759
+ var pcb_trace_missing_error = z78.object({
1760
+ type: z78.literal("pcb_trace_missing_error"),
1748
1761
  pcb_trace_missing_error_id: getZodPrefixedIdWithDefault(
1749
1762
  "pcb_trace_missing_error"
1750
1763
  ),
1751
- error_type: z77.literal("pcb_trace_missing_error").default("pcb_trace_missing_error"),
1752
- message: z77.string(),
1764
+ error_type: z78.literal("pcb_trace_missing_error").default("pcb_trace_missing_error"),
1765
+ message: z78.string(),
1753
1766
  center: point.optional(),
1754
- source_trace_id: z77.string(),
1755
- pcb_component_ids: z77.array(z77.string()),
1756
- pcb_port_ids: z77.array(z77.string()),
1757
- subcircuit_id: z77.string().optional()
1767
+ source_trace_id: z78.string(),
1768
+ pcb_component_ids: z78.array(z78.string()),
1769
+ pcb_port_ids: z78.array(z78.string()),
1770
+ subcircuit_id: z78.string().optional()
1758
1771
  }).describe(
1759
1772
  "Defines an error when a source trace has no corresponding PCB trace"
1760
1773
  );
1761
1774
  expectTypesMatch(true);
1762
1775
 
1763
1776
  // src/pcb/pcb_port_not_matched_error.ts
1764
- import { z as z78 } from "zod";
1765
- var pcb_port_not_matched_error = z78.object({
1766
- type: z78.literal("pcb_port_not_matched_error"),
1777
+ import { z as z79 } from "zod";
1778
+ var pcb_port_not_matched_error = z79.object({
1779
+ type: z79.literal("pcb_port_not_matched_error"),
1767
1780
  pcb_error_id: getZodPrefixedIdWithDefault("pcb_error"),
1768
- error_type: z78.literal("pcb_port_not_matched_error").default("pcb_port_not_matched_error"),
1769
- message: z78.string(),
1770
- pcb_component_ids: z78.array(z78.string()),
1771
- subcircuit_id: z78.string().optional()
1781
+ error_type: z79.literal("pcb_port_not_matched_error").default("pcb_port_not_matched_error"),
1782
+ message: z79.string(),
1783
+ pcb_component_ids: z79.array(z79.string()),
1784
+ subcircuit_id: z79.string().optional()
1772
1785
  }).describe("Defines a trace error on the PCB where a port is not matched");
1773
1786
  expectTypesMatch(true);
1774
1787
 
1775
1788
  // src/pcb/pcb_port_not_connected_error.ts
1776
- import { z as z79 } from "zod";
1777
- var pcb_port_not_connected_error = z79.object({
1778
- type: z79.literal("pcb_port_not_connected_error"),
1789
+ import { z as z80 } from "zod";
1790
+ var pcb_port_not_connected_error = z80.object({
1791
+ type: z80.literal("pcb_port_not_connected_error"),
1779
1792
  pcb_port_not_connected_error_id: getZodPrefixedIdWithDefault(
1780
1793
  "pcb_port_not_connected_error"
1781
1794
  ),
1782
- error_type: z79.literal("pcb_port_not_connected_error").default("pcb_port_not_connected_error"),
1783
- message: z79.string(),
1784
- pcb_port_ids: z79.array(z79.string()),
1785
- pcb_component_ids: z79.array(z79.string()),
1786
- subcircuit_id: z79.string().optional()
1795
+ error_type: z80.literal("pcb_port_not_connected_error").default("pcb_port_not_connected_error"),
1796
+ message: z80.string(),
1797
+ pcb_port_ids: z80.array(z80.string()),
1798
+ pcb_component_ids: z80.array(z80.string()),
1799
+ subcircuit_id: z80.string().optional()
1787
1800
  }).describe("Defines an error when a pcb port is not connected to any trace");
1788
1801
  expectTypesMatch(
1789
1802
  true
1790
1803
  );
1791
1804
 
1792
1805
  // src/pcb/pcb_net.ts
1793
- import { z as z80 } from "zod";
1794
- var pcb_net = z80.object({
1795
- type: z80.literal("pcb_net"),
1806
+ import { z as z81 } from "zod";
1807
+ var pcb_net = z81.object({
1808
+ type: z81.literal("pcb_net"),
1796
1809
  pcb_net_id: getZodPrefixedIdWithDefault("pcb_net"),
1797
- source_net_id: z80.string().optional(),
1798
- highlight_color: z80.string().optional()
1810
+ source_net_id: z81.string().optional(),
1811
+ highlight_color: z81.string().optional()
1799
1812
  }).describe("Defines a net on the PCB");
1800
1813
  expectTypesMatch(true);
1801
1814
 
1802
1815
  // src/pcb/pcb_via.ts
1803
- import { z as z81 } from "zod";
1804
- var pcb_via = z81.object({
1805
- type: z81.literal("pcb_via"),
1816
+ import { z as z82 } from "zod";
1817
+ var pcb_via = z82.object({
1818
+ type: z82.literal("pcb_via"),
1806
1819
  pcb_via_id: getZodPrefixedIdWithDefault("pcb_via"),
1807
- pcb_group_id: z81.string().optional(),
1808
- subcircuit_id: z81.string().optional(),
1820
+ pcb_group_id: z82.string().optional(),
1821
+ subcircuit_id: z82.string().optional(),
1809
1822
  x: distance,
1810
1823
  y: distance,
1811
1824
  outer_diameter: distance.default("0.6mm"),
@@ -1814,71 +1827,71 @@ var pcb_via = z81.object({
1814
1827
  from_layer: layer_ref.optional(),
1815
1828
  /** @deprecated */
1816
1829
  to_layer: layer_ref.optional(),
1817
- layers: z81.array(layer_ref),
1818
- pcb_trace_id: z81.string().optional()
1830
+ layers: z82.array(layer_ref),
1831
+ pcb_trace_id: z82.string().optional()
1819
1832
  }).describe("Defines a via on the PCB");
1820
1833
  expectTypesMatch(true);
1821
1834
 
1822
1835
  // src/pcb/pcb_board.ts
1823
- import { z as z82 } from "zod";
1824
- var pcb_board = z82.object({
1825
- type: z82.literal("pcb_board"),
1836
+ import { z as z83 } from "zod";
1837
+ var pcb_board = z83.object({
1838
+ type: z83.literal("pcb_board"),
1826
1839
  pcb_board_id: getZodPrefixedIdWithDefault("pcb_board"),
1827
- pcb_panel_id: z82.string().optional(),
1828
- is_subcircuit: z82.boolean().optional(),
1829
- subcircuit_id: z82.string().optional(),
1840
+ pcb_panel_id: z83.string().optional(),
1841
+ is_subcircuit: z83.boolean().optional(),
1842
+ subcircuit_id: z83.string().optional(),
1830
1843
  width: length,
1831
1844
  height: length,
1832
1845
  center: point,
1833
1846
  thickness: length.optional().default(1.4),
1834
- num_layers: z82.number().optional().default(4),
1835
- outline: z82.array(point).optional(),
1836
- material: z82.enum(["fr4", "fr1"]).default("fr4")
1847
+ num_layers: z83.number().optional().default(4),
1848
+ outline: z83.array(point).optional(),
1849
+ material: z83.enum(["fr4", "fr1"]).default("fr4")
1837
1850
  }).describe("Defines the board outline of the PCB");
1838
1851
  expectTypesMatch(true);
1839
1852
 
1840
1853
  // src/pcb/pcb_panel.ts
1841
- import { z as z83 } from "zod";
1842
- var pcb_panel = z83.object({
1843
- type: z83.literal("pcb_panel"),
1854
+ import { z as z84 } from "zod";
1855
+ var pcb_panel = z84.object({
1856
+ type: z84.literal("pcb_panel"),
1844
1857
  pcb_panel_id: getZodPrefixedIdWithDefault("pcb_panel"),
1845
1858
  width: length,
1846
1859
  height: length,
1847
- covered_with_solder_mask: z83.boolean().optional().default(true)
1860
+ covered_with_solder_mask: z84.boolean().optional().default(true)
1848
1861
  }).describe("Defines a PCB panel that can contain multiple boards");
1849
1862
  expectTypesMatch(true);
1850
1863
 
1851
1864
  // src/pcb/pcb_placement_error.ts
1852
- import { z as z84 } from "zod";
1853
- var pcb_placement_error = z84.object({
1854
- type: z84.literal("pcb_placement_error"),
1865
+ import { z as z85 } from "zod";
1866
+ var pcb_placement_error = z85.object({
1867
+ type: z85.literal("pcb_placement_error"),
1855
1868
  pcb_placement_error_id: getZodPrefixedIdWithDefault("pcb_placement_error"),
1856
- error_type: z84.literal("pcb_placement_error").default("pcb_placement_error"),
1857
- message: z84.string(),
1858
- subcircuit_id: z84.string().optional()
1869
+ error_type: z85.literal("pcb_placement_error").default("pcb_placement_error"),
1870
+ message: z85.string(),
1871
+ subcircuit_id: z85.string().optional()
1859
1872
  }).describe("Defines a placement error on the PCB");
1860
1873
  expectTypesMatch(true);
1861
1874
 
1862
1875
  // src/pcb/pcb_trace_hint.ts
1863
- import { z as z85 } from "zod";
1864
- var pcb_trace_hint = z85.object({
1865
- type: z85.literal("pcb_trace_hint"),
1876
+ import { z as z86 } from "zod";
1877
+ var pcb_trace_hint = z86.object({
1878
+ type: z86.literal("pcb_trace_hint"),
1866
1879
  pcb_trace_hint_id: getZodPrefixedIdWithDefault("pcb_trace_hint"),
1867
- pcb_port_id: z85.string(),
1868
- pcb_component_id: z85.string(),
1869
- route: z85.array(route_hint_point),
1870
- subcircuit_id: z85.string().optional()
1880
+ pcb_port_id: z86.string(),
1881
+ pcb_component_id: z86.string(),
1882
+ route: z86.array(route_hint_point),
1883
+ subcircuit_id: z86.string().optional()
1871
1884
  }).describe("A hint that can be used during generation of a PCB trace");
1872
1885
  expectTypesMatch(true);
1873
1886
 
1874
1887
  // src/pcb/pcb_silkscreen_line.ts
1875
- import { z as z86 } from "zod";
1876
- var pcb_silkscreen_line = z86.object({
1877
- type: z86.literal("pcb_silkscreen_line"),
1888
+ import { z as z87 } from "zod";
1889
+ var pcb_silkscreen_line = z87.object({
1890
+ type: z87.literal("pcb_silkscreen_line"),
1878
1891
  pcb_silkscreen_line_id: getZodPrefixedIdWithDefault("pcb_silkscreen_line"),
1879
- pcb_component_id: z86.string(),
1880
- pcb_group_id: z86.string().optional(),
1881
- subcircuit_id: z86.string().optional(),
1892
+ pcb_component_id: z87.string(),
1893
+ pcb_group_id: z87.string().optional(),
1894
+ subcircuit_id: z87.string().optional(),
1882
1895
  stroke_width: distance.default("0.1mm"),
1883
1896
  x1: distance,
1884
1897
  y1: distance,
@@ -1889,32 +1902,32 @@ var pcb_silkscreen_line = z86.object({
1889
1902
  expectTypesMatch(true);
1890
1903
 
1891
1904
  // src/pcb/pcb_silkscreen_path.ts
1892
- import { z as z87 } from "zod";
1893
- var pcb_silkscreen_path = z87.object({
1894
- type: z87.literal("pcb_silkscreen_path"),
1905
+ import { z as z88 } from "zod";
1906
+ var pcb_silkscreen_path = z88.object({
1907
+ type: z88.literal("pcb_silkscreen_path"),
1895
1908
  pcb_silkscreen_path_id: getZodPrefixedIdWithDefault("pcb_silkscreen_path"),
1896
- pcb_component_id: z87.string(),
1897
- pcb_group_id: z87.string().optional(),
1898
- subcircuit_id: z87.string().optional(),
1909
+ pcb_component_id: z88.string(),
1910
+ pcb_group_id: z88.string().optional(),
1911
+ subcircuit_id: z88.string().optional(),
1899
1912
  layer: visible_layer,
1900
- route: z87.array(point),
1913
+ route: z88.array(point),
1901
1914
  stroke_width: length
1902
1915
  }).describe("Defines a silkscreen path on the PCB");
1903
1916
  expectTypesMatch(true);
1904
1917
 
1905
1918
  // src/pcb/pcb_silkscreen_text.ts
1906
- import { z as z88 } from "zod";
1907
- var pcb_silkscreen_text = z88.object({
1908
- type: z88.literal("pcb_silkscreen_text"),
1919
+ import { z as z89 } from "zod";
1920
+ var pcb_silkscreen_text = z89.object({
1921
+ type: z89.literal("pcb_silkscreen_text"),
1909
1922
  pcb_silkscreen_text_id: getZodPrefixedIdWithDefault("pcb_silkscreen_text"),
1910
- pcb_group_id: z88.string().optional(),
1911
- subcircuit_id: z88.string().optional(),
1912
- font: z88.literal("tscircuit2024").default("tscircuit2024"),
1923
+ pcb_group_id: z89.string().optional(),
1924
+ subcircuit_id: z89.string().optional(),
1925
+ font: z89.literal("tscircuit2024").default("tscircuit2024"),
1913
1926
  font_size: distance.default("0.2mm"),
1914
- pcb_component_id: z88.string(),
1915
- text: z88.string(),
1916
- is_knockout: z88.boolean().default(false).optional(),
1917
- knockout_padding: z88.object({
1927
+ pcb_component_id: z89.string(),
1928
+ text: z89.string(),
1929
+ is_knockout: z89.boolean().default(false).optional(),
1930
+ knockout_padding: z89.object({
1918
1931
  left: length,
1919
1932
  top: length,
1920
1933
  bottom: length,
@@ -1925,27 +1938,27 @@ var pcb_silkscreen_text = z88.object({
1925
1938
  bottom: "0.2mm",
1926
1939
  right: "0.2mm"
1927
1940
  }).optional(),
1928
- ccw_rotation: z88.number().optional(),
1941
+ ccw_rotation: z89.number().optional(),
1929
1942
  layer: layer_ref,
1930
- is_mirrored: z88.boolean().default(false).optional(),
1943
+ is_mirrored: z89.boolean().default(false).optional(),
1931
1944
  anchor_position: point.default({ x: 0, y: 0 }),
1932
1945
  anchor_alignment: ninePointAnchor.default("center")
1933
1946
  }).describe("Defines silkscreen text on the PCB");
1934
1947
  expectTypesMatch(true);
1935
1948
 
1936
1949
  // src/pcb/pcb_copper_text.ts
1937
- import { z as z89 } from "zod";
1938
- var pcb_copper_text = z89.object({
1939
- type: z89.literal("pcb_copper_text"),
1950
+ import { z as z90 } from "zod";
1951
+ var pcb_copper_text = z90.object({
1952
+ type: z90.literal("pcb_copper_text"),
1940
1953
  pcb_copper_text_id: getZodPrefixedIdWithDefault("pcb_copper_text"),
1941
- pcb_group_id: z89.string().optional(),
1942
- subcircuit_id: z89.string().optional(),
1943
- font: z89.literal("tscircuit2024").default("tscircuit2024"),
1954
+ pcb_group_id: z90.string().optional(),
1955
+ subcircuit_id: z90.string().optional(),
1956
+ font: z90.literal("tscircuit2024").default("tscircuit2024"),
1944
1957
  font_size: distance.default("0.2mm"),
1945
- pcb_component_id: z89.string(),
1946
- text: z89.string(),
1947
- is_knockout: z89.boolean().default(false).optional(),
1948
- knockout_padding: z89.object({
1958
+ pcb_component_id: z90.string(),
1959
+ text: z90.string(),
1960
+ is_knockout: z90.boolean().default(false).optional(),
1961
+ knockout_padding: z90.object({
1949
1962
  left: length,
1950
1963
  top: length,
1951
1964
  bottom: length,
@@ -1956,43 +1969,43 @@ var pcb_copper_text = z89.object({
1956
1969
  bottom: "0.2mm",
1957
1970
  right: "0.2mm"
1958
1971
  }).optional(),
1959
- ccw_rotation: z89.number().optional(),
1972
+ ccw_rotation: z90.number().optional(),
1960
1973
  layer: layer_ref,
1961
- is_mirrored: z89.boolean().default(false).optional(),
1974
+ is_mirrored: z90.boolean().default(false).optional(),
1962
1975
  anchor_position: point.default({ x: 0, y: 0 }),
1963
1976
  anchor_alignment: ninePointAnchor.default("center")
1964
1977
  }).describe("Defines copper text on the PCB");
1965
1978
  expectTypesMatch(true);
1966
1979
 
1967
1980
  // src/pcb/pcb_silkscreen_rect.ts
1968
- import { z as z90 } from "zod";
1969
- var pcb_silkscreen_rect = z90.object({
1970
- type: z90.literal("pcb_silkscreen_rect"),
1981
+ import { z as z91 } from "zod";
1982
+ var pcb_silkscreen_rect = z91.object({
1983
+ type: z91.literal("pcb_silkscreen_rect"),
1971
1984
  pcb_silkscreen_rect_id: getZodPrefixedIdWithDefault("pcb_silkscreen_rect"),
1972
- pcb_component_id: z90.string(),
1973
- pcb_group_id: z90.string().optional(),
1974
- subcircuit_id: z90.string().optional(),
1985
+ pcb_component_id: z91.string(),
1986
+ pcb_group_id: z91.string().optional(),
1987
+ subcircuit_id: z91.string().optional(),
1975
1988
  center: point,
1976
1989
  width: length,
1977
1990
  height: length,
1978
1991
  layer: layer_ref,
1979
1992
  stroke_width: length.default("1mm"),
1980
- is_filled: z90.boolean().default(true).optional(),
1981
- has_stroke: z90.boolean().optional(),
1982
- is_stroke_dashed: z90.boolean().optional()
1993
+ is_filled: z91.boolean().default(true).optional(),
1994
+ has_stroke: z91.boolean().optional(),
1995
+ is_stroke_dashed: z91.boolean().optional()
1983
1996
  }).describe("Defines a silkscreen rect on the PCB");
1984
1997
  expectTypesMatch(true);
1985
1998
 
1986
1999
  // src/pcb/pcb_silkscreen_circle.ts
1987
- import { z as z91 } from "zod";
1988
- var pcb_silkscreen_circle = z91.object({
1989
- type: z91.literal("pcb_silkscreen_circle"),
2000
+ import { z as z92 } from "zod";
2001
+ var pcb_silkscreen_circle = z92.object({
2002
+ type: z92.literal("pcb_silkscreen_circle"),
1990
2003
  pcb_silkscreen_circle_id: getZodPrefixedIdWithDefault(
1991
2004
  "pcb_silkscreen_circle"
1992
2005
  ),
1993
- pcb_component_id: z91.string(),
1994
- pcb_group_id: z91.string().optional(),
1995
- subcircuit_id: z91.string().optional(),
2006
+ pcb_component_id: z92.string(),
2007
+ pcb_group_id: z92.string().optional(),
2008
+ subcircuit_id: z92.string().optional(),
1996
2009
  center: point,
1997
2010
  radius: length,
1998
2011
  layer: visible_layer,
@@ -2001,13 +2014,13 @@ var pcb_silkscreen_circle = z91.object({
2001
2014
  expectTypesMatch(true);
2002
2015
 
2003
2016
  // src/pcb/pcb_silkscreen_oval.ts
2004
- import { z as z92 } from "zod";
2005
- var pcb_silkscreen_oval = z92.object({
2006
- type: z92.literal("pcb_silkscreen_oval"),
2017
+ import { z as z93 } from "zod";
2018
+ var pcb_silkscreen_oval = z93.object({
2019
+ type: z93.literal("pcb_silkscreen_oval"),
2007
2020
  pcb_silkscreen_oval_id: getZodPrefixedIdWithDefault("pcb_silkscreen_oval"),
2008
- pcb_component_id: z92.string(),
2009
- pcb_group_id: z92.string().optional(),
2010
- subcircuit_id: z92.string().optional(),
2021
+ pcb_component_id: z93.string(),
2022
+ pcb_group_id: z93.string().optional(),
2023
+ subcircuit_id: z93.string().optional(),
2011
2024
  center: point,
2012
2025
  radius_x: distance,
2013
2026
  radius_y: distance,
@@ -2016,253 +2029,253 @@ var pcb_silkscreen_oval = z92.object({
2016
2029
  expectTypesMatch(true);
2017
2030
 
2018
2031
  // src/pcb/pcb_fabrication_note_text.ts
2019
- import { z as z93 } from "zod";
2020
- var pcb_fabrication_note_text = z93.object({
2021
- type: z93.literal("pcb_fabrication_note_text"),
2032
+ import { z as z94 } from "zod";
2033
+ var pcb_fabrication_note_text = z94.object({
2034
+ type: z94.literal("pcb_fabrication_note_text"),
2022
2035
  pcb_fabrication_note_text_id: getZodPrefixedIdWithDefault(
2023
2036
  "pcb_fabrication_note_text"
2024
2037
  ),
2025
- subcircuit_id: z93.string().optional(),
2026
- pcb_group_id: z93.string().optional(),
2027
- font: z93.literal("tscircuit2024").default("tscircuit2024"),
2038
+ subcircuit_id: z94.string().optional(),
2039
+ pcb_group_id: z94.string().optional(),
2040
+ font: z94.literal("tscircuit2024").default("tscircuit2024"),
2028
2041
  font_size: distance.default("1mm"),
2029
- pcb_component_id: z93.string(),
2030
- text: z93.string(),
2042
+ pcb_component_id: z94.string(),
2043
+ text: z94.string(),
2031
2044
  layer: visible_layer,
2032
2045
  anchor_position: point.default({ x: 0, y: 0 }),
2033
- anchor_alignment: z93.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).default("center"),
2034
- color: z93.string().optional()
2046
+ anchor_alignment: z94.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).default("center"),
2047
+ color: z94.string().optional()
2035
2048
  }).describe(
2036
2049
  "Defines a fabrication note in text on the PCB, useful for leaving notes for assemblers or fabricators"
2037
2050
  );
2038
2051
  expectTypesMatch(true);
2039
2052
 
2040
2053
  // src/pcb/pcb_fabrication_note_path.ts
2041
- import { z as z94 } from "zod";
2042
- var pcb_fabrication_note_path = z94.object({
2043
- type: z94.literal("pcb_fabrication_note_path"),
2054
+ import { z as z95 } from "zod";
2055
+ var pcb_fabrication_note_path = z95.object({
2056
+ type: z95.literal("pcb_fabrication_note_path"),
2044
2057
  pcb_fabrication_note_path_id: getZodPrefixedIdWithDefault(
2045
2058
  "pcb_fabrication_note_path"
2046
2059
  ),
2047
- pcb_component_id: z94.string(),
2048
- subcircuit_id: z94.string().optional(),
2060
+ pcb_component_id: z95.string(),
2061
+ subcircuit_id: z95.string().optional(),
2049
2062
  layer: layer_ref,
2050
- route: z94.array(point),
2063
+ route: z95.array(point),
2051
2064
  stroke_width: length,
2052
- color: z94.string().optional()
2065
+ color: z95.string().optional()
2053
2066
  }).describe(
2054
2067
  "Defines a fabrication path on the PCB for fabricators or assemblers"
2055
2068
  );
2056
2069
  expectTypesMatch(true);
2057
2070
 
2058
2071
  // src/pcb/pcb_fabrication_note_rect.ts
2059
- import { z as z95 } from "zod";
2060
- var pcb_fabrication_note_rect = z95.object({
2061
- type: z95.literal("pcb_fabrication_note_rect"),
2072
+ import { z as z96 } from "zod";
2073
+ var pcb_fabrication_note_rect = z96.object({
2074
+ type: z96.literal("pcb_fabrication_note_rect"),
2062
2075
  pcb_fabrication_note_rect_id: getZodPrefixedIdWithDefault(
2063
2076
  "pcb_fabrication_note_rect"
2064
2077
  ),
2065
- pcb_component_id: z95.string(),
2066
- pcb_group_id: z95.string().optional(),
2067
- subcircuit_id: z95.string().optional(),
2078
+ pcb_component_id: z96.string(),
2079
+ pcb_group_id: z96.string().optional(),
2080
+ subcircuit_id: z96.string().optional(),
2068
2081
  center: point,
2069
2082
  width: length,
2070
2083
  height: length,
2071
2084
  layer: visible_layer,
2072
2085
  stroke_width: length.default("0.1mm"),
2073
- is_filled: z95.boolean().optional(),
2074
- has_stroke: z95.boolean().optional(),
2075
- is_stroke_dashed: z95.boolean().optional(),
2076
- color: z95.string().optional()
2086
+ is_filled: z96.boolean().optional(),
2087
+ has_stroke: z96.boolean().optional(),
2088
+ is_stroke_dashed: z96.boolean().optional(),
2089
+ color: z96.string().optional()
2077
2090
  }).describe("Defines a fabrication note rectangle on the PCB");
2078
2091
  expectTypesMatch(true);
2079
2092
 
2080
2093
  // src/pcb/pcb_fabrication_note_dimension.ts
2081
- import { z as z96 } from "zod";
2082
- var pcb_fabrication_note_dimension = z96.object({
2083
- type: z96.literal("pcb_fabrication_note_dimension"),
2094
+ import { z as z97 } from "zod";
2095
+ var pcb_fabrication_note_dimension = z97.object({
2096
+ type: z97.literal("pcb_fabrication_note_dimension"),
2084
2097
  pcb_fabrication_note_dimension_id: getZodPrefixedIdWithDefault(
2085
2098
  "pcb_fabrication_note_dimension"
2086
2099
  ),
2087
- pcb_component_id: z96.string(),
2088
- pcb_group_id: z96.string().optional(),
2089
- subcircuit_id: z96.string().optional(),
2100
+ pcb_component_id: z97.string(),
2101
+ pcb_group_id: z97.string().optional(),
2102
+ subcircuit_id: z97.string().optional(),
2090
2103
  layer: visible_layer,
2091
2104
  from: point,
2092
2105
  to: point,
2093
- text: z96.string().optional(),
2094
- text_ccw_rotation: z96.number().optional(),
2106
+ text: z97.string().optional(),
2107
+ text_ccw_rotation: z97.number().optional(),
2095
2108
  offset: length.optional(),
2096
2109
  offset_distance: length.optional(),
2097
- offset_direction: z96.object({
2098
- x: z96.number(),
2099
- y: z96.number()
2110
+ offset_direction: z97.object({
2111
+ x: z97.number(),
2112
+ y: z97.number()
2100
2113
  }).optional(),
2101
- font: z96.literal("tscircuit2024").default("tscircuit2024"),
2114
+ font: z97.literal("tscircuit2024").default("tscircuit2024"),
2102
2115
  font_size: length.default("1mm"),
2103
- color: z96.string().optional(),
2116
+ color: z97.string().optional(),
2104
2117
  arrow_size: length.default("1mm")
2105
2118
  }).describe("Defines a measurement annotation within PCB fabrication notes");
2106
2119
  expectTypesMatch(true);
2107
2120
 
2108
2121
  // src/pcb/pcb_note_text.ts
2109
- import { z as z97 } from "zod";
2110
- var pcb_note_text = z97.object({
2111
- type: z97.literal("pcb_note_text"),
2112
- pcb_note_text_id: getZodPrefixedIdWithDefault("pcb_note_text"),
2113
- pcb_component_id: z97.string().optional(),
2114
- pcb_group_id: z97.string().optional(),
2115
- subcircuit_id: z97.string().optional(),
2116
- name: z97.string().optional(),
2117
- font: z97.literal("tscircuit2024").default("tscircuit2024"),
2118
- font_size: distance.default("1mm"),
2119
- text: z97.string().optional(),
2120
- anchor_position: point.default({ x: 0, y: 0 }),
2121
- anchor_alignment: z97.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).default("center"),
2122
- color: z97.string().optional()
2123
- }).describe("Defines a documentation note in text on the PCB");
2124
- expectTypesMatch(true);
2125
-
2126
- // src/pcb/pcb_note_rect.ts
2127
2122
  import { z as z98 } from "zod";
2128
- var pcb_note_rect = z98.object({
2129
- type: z98.literal("pcb_note_rect"),
2130
- pcb_note_rect_id: getZodPrefixedIdWithDefault("pcb_note_rect"),
2123
+ var pcb_note_text = z98.object({
2124
+ type: z98.literal("pcb_note_text"),
2125
+ pcb_note_text_id: getZodPrefixedIdWithDefault("pcb_note_text"),
2131
2126
  pcb_component_id: z98.string().optional(),
2132
2127
  pcb_group_id: z98.string().optional(),
2133
2128
  subcircuit_id: z98.string().optional(),
2134
2129
  name: z98.string().optional(),
2130
+ font: z98.literal("tscircuit2024").default("tscircuit2024"),
2131
+ font_size: distance.default("1mm"),
2135
2132
  text: z98.string().optional(),
2136
- center: point,
2137
- width: length,
2138
- height: length,
2139
- stroke_width: length.default("0.1mm"),
2140
- is_filled: z98.boolean().optional(),
2141
- has_stroke: z98.boolean().optional(),
2142
- is_stroke_dashed: z98.boolean().optional(),
2133
+ anchor_position: point.default({ x: 0, y: 0 }),
2134
+ anchor_alignment: z98.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).default("center"),
2143
2135
  color: z98.string().optional()
2144
- }).describe("Defines a rectangular documentation note on the PCB");
2136
+ }).describe("Defines a documentation note in text on the PCB");
2145
2137
  expectTypesMatch(true);
2146
2138
 
2147
- // src/pcb/pcb_note_path.ts
2139
+ // src/pcb/pcb_note_rect.ts
2148
2140
  import { z as z99 } from "zod";
2149
- var pcb_note_path = z99.object({
2150
- type: z99.literal("pcb_note_path"),
2151
- pcb_note_path_id: getZodPrefixedIdWithDefault("pcb_note_path"),
2141
+ var pcb_note_rect = z99.object({
2142
+ type: z99.literal("pcb_note_rect"),
2143
+ pcb_note_rect_id: getZodPrefixedIdWithDefault("pcb_note_rect"),
2152
2144
  pcb_component_id: z99.string().optional(),
2153
2145
  pcb_group_id: z99.string().optional(),
2154
2146
  subcircuit_id: z99.string().optional(),
2155
2147
  name: z99.string().optional(),
2156
2148
  text: z99.string().optional(),
2157
- route: z99.array(point),
2149
+ center: point,
2150
+ width: length,
2151
+ height: length,
2158
2152
  stroke_width: length.default("0.1mm"),
2153
+ is_filled: z99.boolean().optional(),
2154
+ has_stroke: z99.boolean().optional(),
2155
+ is_stroke_dashed: z99.boolean().optional(),
2159
2156
  color: z99.string().optional()
2160
- }).describe("Defines a polyline documentation note on the PCB");
2157
+ }).describe("Defines a rectangular documentation note on the PCB");
2161
2158
  expectTypesMatch(true);
2162
2159
 
2163
- // src/pcb/pcb_note_line.ts
2160
+ // src/pcb/pcb_note_path.ts
2164
2161
  import { z as z100 } from "zod";
2165
- var pcb_note_line = z100.object({
2166
- type: z100.literal("pcb_note_line"),
2167
- pcb_note_line_id: getZodPrefixedIdWithDefault("pcb_note_line"),
2162
+ var pcb_note_path = z100.object({
2163
+ type: z100.literal("pcb_note_path"),
2164
+ pcb_note_path_id: getZodPrefixedIdWithDefault("pcb_note_path"),
2168
2165
  pcb_component_id: z100.string().optional(),
2169
2166
  pcb_group_id: z100.string().optional(),
2170
2167
  subcircuit_id: z100.string().optional(),
2171
2168
  name: z100.string().optional(),
2172
2169
  text: z100.string().optional(),
2170
+ route: z100.array(point),
2171
+ stroke_width: length.default("0.1mm"),
2172
+ color: z100.string().optional()
2173
+ }).describe("Defines a polyline documentation note on the PCB");
2174
+ expectTypesMatch(true);
2175
+
2176
+ // src/pcb/pcb_note_line.ts
2177
+ import { z as z101 } from "zod";
2178
+ var pcb_note_line = z101.object({
2179
+ type: z101.literal("pcb_note_line"),
2180
+ pcb_note_line_id: getZodPrefixedIdWithDefault("pcb_note_line"),
2181
+ pcb_component_id: z101.string().optional(),
2182
+ pcb_group_id: z101.string().optional(),
2183
+ subcircuit_id: z101.string().optional(),
2184
+ name: z101.string().optional(),
2185
+ text: z101.string().optional(),
2173
2186
  x1: distance,
2174
2187
  y1: distance,
2175
2188
  x2: distance,
2176
2189
  y2: distance,
2177
2190
  stroke_width: distance.default("0.1mm"),
2178
- color: z100.string().optional(),
2179
- is_dashed: z100.boolean().optional()
2191
+ color: z101.string().optional(),
2192
+ is_dashed: z101.boolean().optional()
2180
2193
  }).describe("Defines a straight documentation note line on the PCB");
2181
2194
  expectTypesMatch(true);
2182
2195
 
2183
2196
  // src/pcb/pcb_note_dimension.ts
2184
- import { z as z101 } from "zod";
2185
- var pcb_note_dimension = z101.object({
2186
- type: z101.literal("pcb_note_dimension"),
2197
+ import { z as z102 } from "zod";
2198
+ var pcb_note_dimension = z102.object({
2199
+ type: z102.literal("pcb_note_dimension"),
2187
2200
  pcb_note_dimension_id: getZodPrefixedIdWithDefault("pcb_note_dimension"),
2188
- pcb_component_id: z101.string().optional(),
2189
- pcb_group_id: z101.string().optional(),
2190
- subcircuit_id: z101.string().optional(),
2191
- name: z101.string().optional(),
2201
+ pcb_component_id: z102.string().optional(),
2202
+ pcb_group_id: z102.string().optional(),
2203
+ subcircuit_id: z102.string().optional(),
2204
+ name: z102.string().optional(),
2192
2205
  from: point,
2193
2206
  to: point,
2194
- text: z101.string().optional(),
2195
- text_ccw_rotation: z101.number().optional(),
2207
+ text: z102.string().optional(),
2208
+ text_ccw_rotation: z102.number().optional(),
2196
2209
  offset_distance: length.optional(),
2197
- offset_direction: z101.object({
2198
- x: z101.number(),
2199
- y: z101.number()
2210
+ offset_direction: z102.object({
2211
+ x: z102.number(),
2212
+ y: z102.number()
2200
2213
  }).optional(),
2201
- font: z101.literal("tscircuit2024").default("tscircuit2024"),
2214
+ font: z102.literal("tscircuit2024").default("tscircuit2024"),
2202
2215
  font_size: length.default("1mm"),
2203
- color: z101.string().optional(),
2216
+ color: z102.string().optional(),
2204
2217
  arrow_size: length.default("1mm")
2205
2218
  }).describe("Defines a measurement annotation within PCB documentation notes");
2206
2219
  expectTypesMatch(true);
2207
2220
 
2208
2221
  // src/pcb/pcb_footprint_overlap_error.ts
2209
- import { z as z102 } from "zod";
2210
- var pcb_footprint_overlap_error = z102.object({
2211
- type: z102.literal("pcb_footprint_overlap_error"),
2222
+ import { z as z103 } from "zod";
2223
+ var pcb_footprint_overlap_error = z103.object({
2224
+ type: z103.literal("pcb_footprint_overlap_error"),
2212
2225
  pcb_error_id: getZodPrefixedIdWithDefault("pcb_error"),
2213
- error_type: z102.literal("pcb_footprint_overlap_error").default("pcb_footprint_overlap_error"),
2214
- message: z102.string(),
2215
- pcb_smtpad_ids: z102.array(z102.string()).optional(),
2216
- pcb_plated_hole_ids: z102.array(z102.string()).optional(),
2217
- pcb_hole_ids: z102.array(z102.string()).optional(),
2218
- pcb_keepout_ids: z102.array(z102.string()).optional()
2226
+ error_type: z103.literal("pcb_footprint_overlap_error").default("pcb_footprint_overlap_error"),
2227
+ message: z103.string(),
2228
+ pcb_smtpad_ids: z103.array(z103.string()).optional(),
2229
+ pcb_plated_hole_ids: z103.array(z103.string()).optional(),
2230
+ pcb_hole_ids: z103.array(z103.string()).optional(),
2231
+ pcb_keepout_ids: z103.array(z103.string()).optional()
2219
2232
  }).describe("Error emitted when a pcb footprint overlaps with another element");
2220
2233
  expectTypesMatch(
2221
2234
  true
2222
2235
  );
2223
2236
 
2224
2237
  // src/pcb/pcb_keepout.ts
2225
- import { z as z103 } from "zod";
2226
- var pcb_keepout = z103.object({
2227
- type: z103.literal("pcb_keepout"),
2228
- shape: z103.literal("rect"),
2229
- pcb_group_id: z103.string().optional(),
2230
- subcircuit_id: z103.string().optional(),
2238
+ import { z as z104 } from "zod";
2239
+ var pcb_keepout = z104.object({
2240
+ type: z104.literal("pcb_keepout"),
2241
+ shape: z104.literal("rect"),
2242
+ pcb_group_id: z104.string().optional(),
2243
+ subcircuit_id: z104.string().optional(),
2231
2244
  center: point,
2232
2245
  width: distance,
2233
2246
  height: distance,
2234
- pcb_keepout_id: z103.string(),
2235
- layers: z103.array(z103.string()),
2247
+ pcb_keepout_id: z104.string(),
2248
+ layers: z104.array(z104.string()),
2236
2249
  // Specify layers where the keepout applies
2237
- description: z103.string().optional()
2250
+ description: z104.string().optional()
2238
2251
  // Optional description of the keepout
2239
2252
  }).or(
2240
- z103.object({
2241
- type: z103.literal("pcb_keepout"),
2242
- shape: z103.literal("circle"),
2243
- pcb_group_id: z103.string().optional(),
2244
- subcircuit_id: z103.string().optional(),
2253
+ z104.object({
2254
+ type: z104.literal("pcb_keepout"),
2255
+ shape: z104.literal("circle"),
2256
+ pcb_group_id: z104.string().optional(),
2257
+ subcircuit_id: z104.string().optional(),
2245
2258
  center: point,
2246
2259
  radius: distance,
2247
- pcb_keepout_id: z103.string(),
2248
- layers: z103.array(z103.string()),
2260
+ pcb_keepout_id: z104.string(),
2261
+ layers: z104.array(z104.string()),
2249
2262
  // Specify layers where the keepout applies
2250
- description: z103.string().optional()
2263
+ description: z104.string().optional()
2251
2264
  // Optional description of the keepout
2252
2265
  })
2253
2266
  );
2254
2267
  expectTypesMatch(true);
2255
2268
 
2256
2269
  // src/pcb/pcb_cutout.ts
2257
- import { z as z104 } from "zod";
2258
- var pcb_cutout_base = z104.object({
2259
- type: z104.literal("pcb_cutout"),
2270
+ import { z as z105 } from "zod";
2271
+ var pcb_cutout_base = z105.object({
2272
+ type: z105.literal("pcb_cutout"),
2260
2273
  pcb_cutout_id: getZodPrefixedIdWithDefault("pcb_cutout"),
2261
- pcb_group_id: z104.string().optional(),
2262
- subcircuit_id: z104.string().optional()
2274
+ pcb_group_id: z105.string().optional(),
2275
+ subcircuit_id: z105.string().optional()
2263
2276
  });
2264
2277
  var pcb_cutout_rect = pcb_cutout_base.extend({
2265
- shape: z104.literal("rect"),
2278
+ shape: z105.literal("rect"),
2266
2279
  center: point,
2267
2280
  width: length,
2268
2281
  height: length,
@@ -2270,17 +2283,17 @@ var pcb_cutout_rect = pcb_cutout_base.extend({
2270
2283
  });
2271
2284
  expectTypesMatch(true);
2272
2285
  var pcb_cutout_circle = pcb_cutout_base.extend({
2273
- shape: z104.literal("circle"),
2286
+ shape: z105.literal("circle"),
2274
2287
  center: point,
2275
2288
  radius: length
2276
2289
  });
2277
2290
  expectTypesMatch(true);
2278
2291
  var pcb_cutout_polygon = pcb_cutout_base.extend({
2279
- shape: z104.literal("polygon"),
2280
- points: z104.array(point)
2292
+ shape: z105.literal("polygon"),
2293
+ points: z105.array(point)
2281
2294
  });
2282
2295
  expectTypesMatch(true);
2283
- var pcb_cutout = z104.discriminatedUnion("shape", [
2296
+ var pcb_cutout = z105.discriminatedUnion("shape", [
2284
2297
  pcb_cutout_rect,
2285
2298
  pcb_cutout_circle,
2286
2299
  pcb_cutout_polygon
@@ -2288,120 +2301,120 @@ var pcb_cutout = z104.discriminatedUnion("shape", [
2288
2301
  expectTypesMatch(true);
2289
2302
 
2290
2303
  // src/pcb/pcb_missing_footprint_error.ts
2291
- import { z as z105 } from "zod";
2292
- var pcb_missing_footprint_error = z105.object({
2293
- type: z105.literal("pcb_missing_footprint_error"),
2304
+ import { z as z106 } from "zod";
2305
+ var pcb_missing_footprint_error = z106.object({
2306
+ type: z106.literal("pcb_missing_footprint_error"),
2294
2307
  pcb_missing_footprint_error_id: getZodPrefixedIdWithDefault(
2295
2308
  "pcb_missing_footprint_error"
2296
2309
  ),
2297
- pcb_group_id: z105.string().optional(),
2298
- subcircuit_id: z105.string().optional(),
2299
- error_type: z105.literal("pcb_missing_footprint_error").default("pcb_missing_footprint_error"),
2300
- source_component_id: z105.string(),
2301
- message: z105.string()
2310
+ pcb_group_id: z106.string().optional(),
2311
+ subcircuit_id: z106.string().optional(),
2312
+ error_type: z106.literal("pcb_missing_footprint_error").default("pcb_missing_footprint_error"),
2313
+ source_component_id: z106.string(),
2314
+ message: z106.string()
2302
2315
  }).describe("Defines a missing footprint error on the PCB");
2303
2316
  expectTypesMatch(
2304
2317
  true
2305
2318
  );
2306
2319
 
2307
2320
  // src/pcb/external_footprint_load_error.ts
2308
- import { z as z106 } from "zod";
2309
- var external_footprint_load_error = z106.object({
2310
- type: z106.literal("external_footprint_load_error"),
2321
+ import { z as z107 } from "zod";
2322
+ var external_footprint_load_error = z107.object({
2323
+ type: z107.literal("external_footprint_load_error"),
2311
2324
  external_footprint_load_error_id: getZodPrefixedIdWithDefault(
2312
2325
  "external_footprint_load_error"
2313
2326
  ),
2314
- pcb_component_id: z106.string(),
2315
- source_component_id: z106.string(),
2316
- pcb_group_id: z106.string().optional(),
2317
- subcircuit_id: z106.string().optional(),
2318
- footprinter_string: z106.string().optional(),
2319
- error_type: z106.literal("external_footprint_load_error").default("external_footprint_load_error"),
2320
- message: z106.string()
2327
+ pcb_component_id: z107.string(),
2328
+ source_component_id: z107.string(),
2329
+ pcb_group_id: z107.string().optional(),
2330
+ subcircuit_id: z107.string().optional(),
2331
+ footprinter_string: z107.string().optional(),
2332
+ error_type: z107.literal("external_footprint_load_error").default("external_footprint_load_error"),
2333
+ message: z107.string()
2321
2334
  }).describe("Defines an error when an external footprint fails to load");
2322
2335
  expectTypesMatch(true);
2323
2336
 
2324
2337
  // src/pcb/circuit_json_footprint_load_error.ts
2325
- import { z as z107 } from "zod";
2326
- var circuit_json_footprint_load_error = z107.object({
2327
- type: z107.literal("circuit_json_footprint_load_error"),
2338
+ import { z as z108 } from "zod";
2339
+ var circuit_json_footprint_load_error = z108.object({
2340
+ type: z108.literal("circuit_json_footprint_load_error"),
2328
2341
  circuit_json_footprint_load_error_id: getZodPrefixedIdWithDefault(
2329
2342
  "circuit_json_footprint_load_error"
2330
2343
  ),
2331
- pcb_component_id: z107.string(),
2332
- source_component_id: z107.string(),
2333
- pcb_group_id: z107.string().optional(),
2334
- subcircuit_id: z107.string().optional(),
2335
- error_type: z107.literal("circuit_json_footprint_load_error").default("circuit_json_footprint_load_error"),
2336
- message: z107.string(),
2337
- circuit_json: z107.array(z107.any()).optional()
2344
+ pcb_component_id: z108.string(),
2345
+ source_component_id: z108.string(),
2346
+ pcb_group_id: z108.string().optional(),
2347
+ subcircuit_id: z108.string().optional(),
2348
+ error_type: z108.literal("circuit_json_footprint_load_error").default("circuit_json_footprint_load_error"),
2349
+ message: z108.string(),
2350
+ circuit_json: z108.array(z108.any()).optional()
2338
2351
  }).describe("Defines an error when a circuit JSON footprint fails to load");
2339
2352
  expectTypesMatch(true);
2340
2353
 
2341
2354
  // src/pcb/pcb_group.ts
2342
- import { z as z108 } from "zod";
2343
- var pcb_group = z108.object({
2344
- type: z108.literal("pcb_group"),
2355
+ import { z as z109 } from "zod";
2356
+ var pcb_group = z109.object({
2357
+ type: z109.literal("pcb_group"),
2345
2358
  pcb_group_id: getZodPrefixedIdWithDefault("pcb_group"),
2346
- source_group_id: z108.string(),
2347
- is_subcircuit: z108.boolean().optional(),
2348
- subcircuit_id: z108.string().optional(),
2359
+ source_group_id: z109.string(),
2360
+ is_subcircuit: z109.boolean().optional(),
2361
+ subcircuit_id: z109.string().optional(),
2349
2362
  width: length.optional(),
2350
2363
  height: length.optional(),
2351
2364
  center: point,
2352
- outline: z108.array(point).optional(),
2365
+ outline: z109.array(point).optional(),
2353
2366
  anchor_position: point.optional(),
2354
- anchor_alignment: z108.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).optional(),
2355
- pcb_component_ids: z108.array(z108.string()),
2356
- name: z108.string().optional(),
2357
- description: z108.string().optional(),
2358
- layout_mode: z108.string().optional(),
2359
- autorouter_configuration: z108.object({
2367
+ anchor_alignment: z109.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).optional(),
2368
+ pcb_component_ids: z109.array(z109.string()),
2369
+ name: z109.string().optional(),
2370
+ description: z109.string().optional(),
2371
+ layout_mode: z109.string().optional(),
2372
+ autorouter_configuration: z109.object({
2360
2373
  trace_clearance: length
2361
2374
  }).optional(),
2362
- autorouter_used_string: z108.string().optional()
2375
+ autorouter_used_string: z109.string().optional()
2363
2376
  }).describe("Defines a group of components on the PCB");
2364
2377
  expectTypesMatch(true);
2365
2378
 
2366
2379
  // src/pcb/pcb_autorouting_error.ts
2367
- import { z as z109 } from "zod";
2368
- var pcb_autorouting_error = z109.object({
2369
- type: z109.literal("pcb_autorouting_error"),
2380
+ import { z as z110 } from "zod";
2381
+ var pcb_autorouting_error = z110.object({
2382
+ type: z110.literal("pcb_autorouting_error"),
2370
2383
  pcb_error_id: getZodPrefixedIdWithDefault("pcb_autorouting_error"),
2371
- error_type: z109.literal("pcb_autorouting_error").default("pcb_autorouting_error"),
2372
- message: z109.string(),
2373
- subcircuit_id: z109.string().optional()
2384
+ error_type: z110.literal("pcb_autorouting_error").default("pcb_autorouting_error"),
2385
+ message: z110.string(),
2386
+ subcircuit_id: z110.string().optional()
2374
2387
  }).describe("The autorouting has failed to route a portion of the board");
2375
2388
  expectTypesMatch(true);
2376
2389
 
2377
2390
  // src/pcb/pcb_manual_edit_conflict_warning.ts
2378
- import { z as z110 } from "zod";
2379
- var pcb_manual_edit_conflict_warning = z110.object({
2380
- type: z110.literal("pcb_manual_edit_conflict_warning"),
2391
+ import { z as z111 } from "zod";
2392
+ var pcb_manual_edit_conflict_warning = z111.object({
2393
+ type: z111.literal("pcb_manual_edit_conflict_warning"),
2381
2394
  pcb_manual_edit_conflict_warning_id: getZodPrefixedIdWithDefault(
2382
2395
  "pcb_manual_edit_conflict_warning"
2383
2396
  ),
2384
- warning_type: z110.literal("pcb_manual_edit_conflict_warning").default("pcb_manual_edit_conflict_warning"),
2385
- message: z110.string(),
2386
- pcb_component_id: z110.string(),
2387
- pcb_group_id: z110.string().optional(),
2388
- subcircuit_id: z110.string().optional(),
2389
- source_component_id: z110.string()
2397
+ warning_type: z111.literal("pcb_manual_edit_conflict_warning").default("pcb_manual_edit_conflict_warning"),
2398
+ message: z111.string(),
2399
+ pcb_component_id: z111.string(),
2400
+ pcb_group_id: z111.string().optional(),
2401
+ subcircuit_id: z111.string().optional(),
2402
+ source_component_id: z111.string()
2390
2403
  }).describe(
2391
2404
  "Warning emitted when a component has both manual placement and explicit pcbX/pcbY coordinates"
2392
2405
  );
2393
2406
  expectTypesMatch(true);
2394
2407
 
2395
2408
  // src/pcb/pcb_breakout_point.ts
2396
- import { z as z111 } from "zod";
2397
- var pcb_breakout_point = z111.object({
2398
- type: z111.literal("pcb_breakout_point"),
2409
+ import { z as z112 } from "zod";
2410
+ var pcb_breakout_point = z112.object({
2411
+ type: z112.literal("pcb_breakout_point"),
2399
2412
  pcb_breakout_point_id: getZodPrefixedIdWithDefault("pcb_breakout_point"),
2400
- pcb_group_id: z111.string(),
2401
- subcircuit_id: z111.string().optional(),
2402
- source_trace_id: z111.string().optional(),
2403
- source_port_id: z111.string().optional(),
2404
- source_net_id: z111.string().optional(),
2413
+ pcb_group_id: z112.string(),
2414
+ subcircuit_id: z112.string().optional(),
2415
+ source_trace_id: z112.string().optional(),
2416
+ source_port_id: z112.string().optional(),
2417
+ source_net_id: z112.string().optional(),
2405
2418
  x: distance,
2406
2419
  y: distance
2407
2420
  }).describe(
@@ -2410,60 +2423,60 @@ var pcb_breakout_point = z111.object({
2410
2423
  expectTypesMatch(true);
2411
2424
 
2412
2425
  // src/pcb/pcb_ground_plane.ts
2413
- import { z as z112 } from "zod";
2414
- var pcb_ground_plane = z112.object({
2415
- type: z112.literal("pcb_ground_plane"),
2426
+ import { z as z113 } from "zod";
2427
+ var pcb_ground_plane = z113.object({
2428
+ type: z113.literal("pcb_ground_plane"),
2416
2429
  pcb_ground_plane_id: getZodPrefixedIdWithDefault("pcb_ground_plane"),
2417
- source_pcb_ground_plane_id: z112.string(),
2418
- source_net_id: z112.string(),
2419
- pcb_group_id: z112.string().optional(),
2420
- subcircuit_id: z112.string().optional()
2430
+ source_pcb_ground_plane_id: z113.string(),
2431
+ source_net_id: z113.string(),
2432
+ pcb_group_id: z113.string().optional(),
2433
+ subcircuit_id: z113.string().optional()
2421
2434
  }).describe("Defines a ground plane on the PCB");
2422
2435
  expectTypesMatch(true);
2423
2436
 
2424
2437
  // src/pcb/pcb_ground_plane_region.ts
2425
- import { z as z113 } from "zod";
2426
- var pcb_ground_plane_region = z113.object({
2427
- type: z113.literal("pcb_ground_plane_region"),
2438
+ import { z as z114 } from "zod";
2439
+ var pcb_ground_plane_region = z114.object({
2440
+ type: z114.literal("pcb_ground_plane_region"),
2428
2441
  pcb_ground_plane_region_id: getZodPrefixedIdWithDefault(
2429
2442
  "pcb_ground_plane_region"
2430
2443
  ),
2431
- pcb_ground_plane_id: z113.string(),
2432
- pcb_group_id: z113.string().optional(),
2433
- subcircuit_id: z113.string().optional(),
2444
+ pcb_ground_plane_id: z114.string(),
2445
+ pcb_group_id: z114.string().optional(),
2446
+ subcircuit_id: z114.string().optional(),
2434
2447
  layer: layer_ref,
2435
- points: z113.array(point)
2448
+ points: z114.array(point)
2436
2449
  }).describe("Defines a polygon region of a ground plane");
2437
2450
  expectTypesMatch(true);
2438
2451
 
2439
2452
  // src/pcb/pcb_thermal_spoke.ts
2440
- import { z as z114 } from "zod";
2441
- var pcb_thermal_spoke = z114.object({
2442
- type: z114.literal("pcb_thermal_spoke"),
2453
+ import { z as z115 } from "zod";
2454
+ var pcb_thermal_spoke = z115.object({
2455
+ type: z115.literal("pcb_thermal_spoke"),
2443
2456
  pcb_thermal_spoke_id: getZodPrefixedIdWithDefault("pcb_thermal_spoke"),
2444
- pcb_ground_plane_id: z114.string(),
2445
- shape: z114.string(),
2446
- spoke_count: z114.number(),
2457
+ pcb_ground_plane_id: z115.string(),
2458
+ shape: z115.string(),
2459
+ spoke_count: z115.number(),
2447
2460
  spoke_thickness: distance,
2448
2461
  spoke_inner_diameter: distance,
2449
2462
  spoke_outer_diameter: distance,
2450
- pcb_plated_hole_id: z114.string().optional(),
2451
- subcircuit_id: z114.string().optional()
2463
+ pcb_plated_hole_id: z115.string().optional(),
2464
+ subcircuit_id: z115.string().optional()
2452
2465
  }).describe("Pattern for connecting a ground plane to a plated hole");
2453
2466
  expectTypesMatch(true);
2454
2467
 
2455
2468
  // src/pcb/pcb_copper_pour.ts
2456
- import { z as z115 } from "zod";
2457
- var pcb_copper_pour_base = z115.object({
2458
- type: z115.literal("pcb_copper_pour"),
2469
+ import { z as z116 } from "zod";
2470
+ var pcb_copper_pour_base = z116.object({
2471
+ type: z116.literal("pcb_copper_pour"),
2459
2472
  pcb_copper_pour_id: getZodPrefixedIdWithDefault("pcb_copper_pour"),
2460
- pcb_group_id: z115.string().optional(),
2461
- subcircuit_id: z115.string().optional(),
2473
+ pcb_group_id: z116.string().optional(),
2474
+ subcircuit_id: z116.string().optional(),
2462
2475
  layer: layer_ref,
2463
- source_net_id: z115.string().optional()
2476
+ source_net_id: z116.string().optional()
2464
2477
  });
2465
2478
  var pcb_copper_pour_rect = pcb_copper_pour_base.extend({
2466
- shape: z115.literal("rect"),
2479
+ shape: z116.literal("rect"),
2467
2480
  center: point,
2468
2481
  width: length,
2469
2482
  height: length,
@@ -2471,16 +2484,16 @@ var pcb_copper_pour_rect = pcb_copper_pour_base.extend({
2471
2484
  });
2472
2485
  expectTypesMatch(true);
2473
2486
  var pcb_copper_pour_brep = pcb_copper_pour_base.extend({
2474
- shape: z115.literal("brep"),
2487
+ shape: z116.literal("brep"),
2475
2488
  brep_shape
2476
2489
  });
2477
2490
  expectTypesMatch(true);
2478
2491
  var pcb_copper_pour_polygon = pcb_copper_pour_base.extend({
2479
- shape: z115.literal("polygon"),
2480
- points: z115.array(point)
2492
+ shape: z116.literal("polygon"),
2493
+ points: z116.array(point)
2481
2494
  });
2482
2495
  expectTypesMatch(true);
2483
- var pcb_copper_pour = z115.discriminatedUnion("shape", [
2496
+ var pcb_copper_pour = z116.discriminatedUnion("shape", [
2484
2497
  pcb_copper_pour_rect,
2485
2498
  pcb_copper_pour_brep,
2486
2499
  pcb_copper_pour_polygon
@@ -2488,147 +2501,147 @@ var pcb_copper_pour = z115.discriminatedUnion("shape", [
2488
2501
  expectTypesMatch(true);
2489
2502
 
2490
2503
  // src/pcb/pcb_component_outside_board_error.ts
2491
- import { z as z116 } from "zod";
2492
- var pcb_component_outside_board_error = z116.object({
2493
- type: z116.literal("pcb_component_outside_board_error"),
2504
+ import { z as z117 } from "zod";
2505
+ var pcb_component_outside_board_error = z117.object({
2506
+ type: z117.literal("pcb_component_outside_board_error"),
2494
2507
  pcb_component_outside_board_error_id: getZodPrefixedIdWithDefault(
2495
2508
  "pcb_component_outside_board_error"
2496
2509
  ),
2497
- error_type: z116.literal("pcb_component_outside_board_error").default("pcb_component_outside_board_error"),
2498
- message: z116.string(),
2499
- pcb_component_id: z116.string(),
2500
- pcb_board_id: z116.string(),
2510
+ error_type: z117.literal("pcb_component_outside_board_error").default("pcb_component_outside_board_error"),
2511
+ message: z117.string(),
2512
+ pcb_component_id: z117.string(),
2513
+ pcb_board_id: z117.string(),
2501
2514
  component_center: point,
2502
- component_bounds: z116.object({
2503
- min_x: z116.number(),
2504
- max_x: z116.number(),
2505
- min_y: z116.number(),
2506
- max_y: z116.number()
2515
+ component_bounds: z117.object({
2516
+ min_x: z117.number(),
2517
+ max_x: z117.number(),
2518
+ min_y: z117.number(),
2519
+ max_y: z117.number()
2507
2520
  }),
2508
- subcircuit_id: z116.string().optional(),
2509
- source_component_id: z116.string().optional()
2521
+ subcircuit_id: z117.string().optional(),
2522
+ source_component_id: z117.string().optional()
2510
2523
  }).describe(
2511
2524
  "Error emitted when a PCB component is placed outside the board boundaries"
2512
2525
  );
2513
2526
  expectTypesMatch(true);
2514
2527
 
2515
2528
  // src/pcb/pcb_component_invalid_layer_error.ts
2516
- import { z as z117 } from "zod";
2517
- var pcb_component_invalid_layer_error = z117.object({
2518
- type: z117.literal("pcb_component_invalid_layer_error"),
2529
+ import { z as z118 } from "zod";
2530
+ var pcb_component_invalid_layer_error = z118.object({
2531
+ type: z118.literal("pcb_component_invalid_layer_error"),
2519
2532
  pcb_component_invalid_layer_error_id: getZodPrefixedIdWithDefault(
2520
2533
  "pcb_component_invalid_layer_error"
2521
2534
  ),
2522
- error_type: z117.literal("pcb_component_invalid_layer_error").default("pcb_component_invalid_layer_error"),
2523
- message: z117.string(),
2524
- pcb_component_id: z117.string().optional(),
2525
- source_component_id: z117.string(),
2535
+ error_type: z118.literal("pcb_component_invalid_layer_error").default("pcb_component_invalid_layer_error"),
2536
+ message: z118.string(),
2537
+ pcb_component_id: z118.string().optional(),
2538
+ source_component_id: z118.string(),
2526
2539
  layer: layer_ref,
2527
- subcircuit_id: z117.string().optional()
2540
+ subcircuit_id: z118.string().optional()
2528
2541
  }).describe(
2529
2542
  "Error emitted when a component is placed on an invalid layer (components can only be on 'top' or 'bottom' layers)"
2530
2543
  );
2531
2544
  expectTypesMatch(true);
2532
2545
 
2533
2546
  // src/pcb/pcb_via_clearance_error.ts
2534
- import { z as z118 } from "zod";
2535
- var pcb_via_clearance_error = z118.object({
2536
- type: z118.literal("pcb_via_clearance_error"),
2547
+ import { z as z119 } from "zod";
2548
+ var pcb_via_clearance_error = z119.object({
2549
+ type: z119.literal("pcb_via_clearance_error"),
2537
2550
  pcb_error_id: getZodPrefixedIdWithDefault("pcb_error"),
2538
- error_type: z118.literal("pcb_via_clearance_error").default("pcb_via_clearance_error"),
2539
- message: z118.string(),
2540
- pcb_via_ids: z118.array(z118.string()).min(2),
2551
+ error_type: z119.literal("pcb_via_clearance_error").default("pcb_via_clearance_error"),
2552
+ message: z119.string(),
2553
+ pcb_via_ids: z119.array(z119.string()).min(2),
2541
2554
  minimum_clearance: distance.optional(),
2542
2555
  actual_clearance: distance.optional(),
2543
- pcb_center: z118.object({
2544
- x: z118.number().optional(),
2545
- y: z118.number().optional()
2556
+ pcb_center: z119.object({
2557
+ x: z119.number().optional(),
2558
+ y: z119.number().optional()
2546
2559
  }).optional(),
2547
- subcircuit_id: z118.string().optional()
2560
+ subcircuit_id: z119.string().optional()
2548
2561
  }).describe("Error emitted when vias are closer than the allowed clearance");
2549
2562
  expectTypesMatch(true);
2550
2563
 
2551
2564
  // src/pcb/pcb_courtyard_rect.ts
2552
- import { z as z119 } from "zod";
2553
- var pcb_courtyard_rect = z119.object({
2554
- type: z119.literal("pcb_courtyard_rect"),
2565
+ import { z as z120 } from "zod";
2566
+ var pcb_courtyard_rect = z120.object({
2567
+ type: z120.literal("pcb_courtyard_rect"),
2555
2568
  pcb_courtyard_rect_id: getZodPrefixedIdWithDefault("pcb_courtyard_rect"),
2556
- pcb_component_id: z119.string(),
2557
- pcb_group_id: z119.string().optional(),
2558
- subcircuit_id: z119.string().optional(),
2569
+ pcb_component_id: z120.string(),
2570
+ pcb_group_id: z120.string().optional(),
2571
+ subcircuit_id: z120.string().optional(),
2559
2572
  center: point,
2560
2573
  width: length,
2561
2574
  height: length,
2562
2575
  layer: visible_layer,
2563
- color: z119.string().optional()
2576
+ color: z120.string().optional()
2564
2577
  }).describe("Defines a courtyard rectangle on the PCB");
2565
2578
  expectTypesMatch(true);
2566
2579
 
2567
2580
  // src/pcb/pcb_courtyard_outline.ts
2568
- import { z as z120 } from "zod";
2569
- var pcb_courtyard_outline = z120.object({
2570
- type: z120.literal("pcb_courtyard_outline"),
2581
+ import { z as z121 } from "zod";
2582
+ var pcb_courtyard_outline = z121.object({
2583
+ type: z121.literal("pcb_courtyard_outline"),
2571
2584
  pcb_courtyard_outline_id: getZodPrefixedIdWithDefault(
2572
2585
  "pcb_courtyard_outline"
2573
2586
  ),
2574
- pcb_component_id: z120.string(),
2575
- pcb_group_id: z120.string().optional(),
2576
- subcircuit_id: z120.string().optional(),
2587
+ pcb_component_id: z121.string(),
2588
+ pcb_group_id: z121.string().optional(),
2589
+ subcircuit_id: z121.string().optional(),
2577
2590
  layer: visible_layer,
2578
- outline: z120.array(point).min(2),
2591
+ outline: z121.array(point).min(2),
2579
2592
  stroke_width: length.default("0.1mm"),
2580
- is_closed: z120.boolean().optional(),
2581
- is_stroke_dashed: z120.boolean().optional(),
2582
- color: z120.string().optional()
2593
+ is_closed: z121.boolean().optional(),
2594
+ is_stroke_dashed: z121.boolean().optional(),
2595
+ color: z121.string().optional()
2583
2596
  }).describe("Defines a courtyard outline on the PCB");
2584
2597
  expectTypesMatch(true);
2585
2598
 
2586
2599
  // src/pcb/pcb_courtyard_polygon.ts
2587
- import { z as z121 } from "zod";
2588
- var pcb_courtyard_polygon = z121.object({
2589
- type: z121.literal("pcb_courtyard_polygon"),
2600
+ import { z as z122 } from "zod";
2601
+ var pcb_courtyard_polygon = z122.object({
2602
+ type: z122.literal("pcb_courtyard_polygon"),
2590
2603
  pcb_courtyard_polygon_id: getZodPrefixedIdWithDefault(
2591
2604
  "pcb_courtyard_polygon"
2592
2605
  ),
2593
- pcb_component_id: z121.string(),
2594
- pcb_group_id: z121.string().optional(),
2595
- subcircuit_id: z121.string().optional(),
2606
+ pcb_component_id: z122.string(),
2607
+ pcb_group_id: z122.string().optional(),
2608
+ subcircuit_id: z122.string().optional(),
2596
2609
  layer: visible_layer,
2597
- points: z121.array(point).min(3),
2598
- color: z121.string().optional()
2610
+ points: z122.array(point).min(3),
2611
+ color: z122.string().optional()
2599
2612
  }).describe("Defines a courtyard polygon on the PCB");
2600
2613
  expectTypesMatch(true);
2601
2614
 
2602
2615
  // src/cad/cad_component.ts
2603
- import { z as z122 } from "zod";
2604
- var cad_component = z122.object({
2605
- type: z122.literal("cad_component"),
2606
- cad_component_id: z122.string(),
2607
- pcb_component_id: z122.string(),
2608
- source_component_id: z122.string(),
2616
+ import { z as z123 } from "zod";
2617
+ var cad_component = z123.object({
2618
+ type: z123.literal("cad_component"),
2619
+ cad_component_id: z123.string(),
2620
+ pcb_component_id: z123.string(),
2621
+ source_component_id: z123.string(),
2609
2622
  position: point3,
2610
2623
  rotation: point3.optional(),
2611
2624
  size: point3.optional(),
2612
2625
  layer: layer_ref.optional(),
2613
- subcircuit_id: z122.string().optional(),
2626
+ subcircuit_id: z123.string().optional(),
2614
2627
  // These are all ways to generate/load the 3d model
2615
- footprinter_string: z122.string().optional(),
2616
- model_obj_url: z122.string().optional(),
2617
- model_stl_url: z122.string().optional(),
2618
- model_3mf_url: z122.string().optional(),
2619
- model_gltf_url: z122.string().optional(),
2620
- model_glb_url: z122.string().optional(),
2621
- model_step_url: z122.string().optional(),
2622
- model_wrl_url: z122.string().optional(),
2623
- model_unit_to_mm_scale_factor: z122.number().optional(),
2624
- model_jscad: z122.any().optional()
2628
+ footprinter_string: z123.string().optional(),
2629
+ model_obj_url: z123.string().optional(),
2630
+ model_stl_url: z123.string().optional(),
2631
+ model_3mf_url: z123.string().optional(),
2632
+ model_gltf_url: z123.string().optional(),
2633
+ model_glb_url: z123.string().optional(),
2634
+ model_step_url: z123.string().optional(),
2635
+ model_wrl_url: z123.string().optional(),
2636
+ model_unit_to_mm_scale_factor: z123.number().optional(),
2637
+ model_jscad: z123.any().optional()
2625
2638
  }).describe("Defines a component on the PCB");
2626
2639
  expectTypesMatch(true);
2627
2640
 
2628
2641
  // src/simulation/simulation_voltage_source.ts
2629
- import { z as z123 } from "zod";
2630
- var wave_shape = z123.enum(["sinewave", "square", "triangle", "sawtooth"]);
2631
- var percentage = z123.union([z123.string(), z123.number()]).transform((val) => {
2642
+ import { z as z124 } from "zod";
2643
+ var wave_shape = z124.enum(["sinewave", "square", "triangle", "sawtooth"]);
2644
+ var percentage = z124.union([z124.string(), z124.number()]).transform((val) => {
2632
2645
  if (typeof val === "string") {
2633
2646
  if (val.endsWith("%")) {
2634
2647
  return parseFloat(val.slice(0, -1)) / 100;
@@ -2637,30 +2650,30 @@ var percentage = z123.union([z123.string(), z123.number()]).transform((val) => {
2637
2650
  }
2638
2651
  return val;
2639
2652
  }).pipe(
2640
- z123.number().min(0, "Duty cycle must be non-negative").max(1, "Duty cycle cannot be greater than 100%")
2653
+ z124.number().min(0, "Duty cycle must be non-negative").max(1, "Duty cycle cannot be greater than 100%")
2641
2654
  );
2642
- var simulation_dc_voltage_source = z123.object({
2643
- type: z123.literal("simulation_voltage_source"),
2655
+ var simulation_dc_voltage_source = z124.object({
2656
+ type: z124.literal("simulation_voltage_source"),
2644
2657
  simulation_voltage_source_id: getZodPrefixedIdWithDefault(
2645
2658
  "simulation_voltage_source"
2646
2659
  ),
2647
- is_dc_source: z123.literal(true).optional().default(true),
2648
- positive_source_port_id: z123.string().optional(),
2649
- negative_source_port_id: z123.string().optional(),
2650
- positive_source_net_id: z123.string().optional(),
2651
- negative_source_net_id: z123.string().optional(),
2660
+ is_dc_source: z124.literal(true).optional().default(true),
2661
+ positive_source_port_id: z124.string().optional(),
2662
+ negative_source_port_id: z124.string().optional(),
2663
+ positive_source_net_id: z124.string().optional(),
2664
+ negative_source_net_id: z124.string().optional(),
2652
2665
  voltage
2653
2666
  }).describe("Defines a DC voltage source for simulation");
2654
- var simulation_ac_voltage_source = z123.object({
2655
- type: z123.literal("simulation_voltage_source"),
2667
+ var simulation_ac_voltage_source = z124.object({
2668
+ type: z124.literal("simulation_voltage_source"),
2656
2669
  simulation_voltage_source_id: getZodPrefixedIdWithDefault(
2657
2670
  "simulation_voltage_source"
2658
2671
  ),
2659
- is_dc_source: z123.literal(false),
2660
- terminal1_source_port_id: z123.string().optional(),
2661
- terminal2_source_port_id: z123.string().optional(),
2662
- terminal1_source_net_id: z123.string().optional(),
2663
- terminal2_source_net_id: z123.string().optional(),
2672
+ is_dc_source: z124.literal(false),
2673
+ terminal1_source_port_id: z124.string().optional(),
2674
+ terminal2_source_port_id: z124.string().optional(),
2675
+ terminal1_source_net_id: z124.string().optional(),
2676
+ terminal2_source_net_id: z124.string().optional(),
2664
2677
  voltage: voltage.optional(),
2665
2678
  frequency: frequency.optional(),
2666
2679
  peak_to_peak_voltage: voltage.optional(),
@@ -2668,25 +2681,25 @@ var simulation_ac_voltage_source = z123.object({
2668
2681
  phase: rotation.optional(),
2669
2682
  duty_cycle: percentage.optional()
2670
2683
  }).describe("Defines an AC voltage source for simulation");
2671
- var simulation_voltage_source = z123.union([simulation_dc_voltage_source, simulation_ac_voltage_source]).describe("Defines a voltage source for simulation");
2684
+ var simulation_voltage_source = z124.union([simulation_dc_voltage_source, simulation_ac_voltage_source]).describe("Defines a voltage source for simulation");
2672
2685
  expectTypesMatch(true);
2673
2686
  expectTypesMatch(true);
2674
2687
  expectTypesMatch(true);
2675
2688
 
2676
2689
  // src/simulation/simulation_experiment.ts
2677
- import { z as z124 } from "zod";
2678
- var experiment_type = z124.union([
2679
- z124.literal("spice_dc_sweep"),
2680
- z124.literal("spice_dc_operating_point"),
2681
- z124.literal("spice_transient_analysis"),
2682
- z124.literal("spice_ac_analysis")
2690
+ import { z as z125 } from "zod";
2691
+ var experiment_type = z125.union([
2692
+ z125.literal("spice_dc_sweep"),
2693
+ z125.literal("spice_dc_operating_point"),
2694
+ z125.literal("spice_transient_analysis"),
2695
+ z125.literal("spice_ac_analysis")
2683
2696
  ]);
2684
- var simulation_experiment = z124.object({
2685
- type: z124.literal("simulation_experiment"),
2697
+ var simulation_experiment = z125.object({
2698
+ type: z125.literal("simulation_experiment"),
2686
2699
  simulation_experiment_id: getZodPrefixedIdWithDefault(
2687
2700
  "simulation_experiment"
2688
2701
  ),
2689
- name: z124.string(),
2702
+ name: z125.string(),
2690
2703
  experiment_type,
2691
2704
  time_per_step: duration_ms.optional(),
2692
2705
  start_time_ms: ms.optional(),
@@ -2695,49 +2708,49 @@ var simulation_experiment = z124.object({
2695
2708
  expectTypesMatch(true);
2696
2709
 
2697
2710
  // src/simulation/simulation_transient_voltage_graph.ts
2698
- import { z as z125 } from "zod";
2699
- var simulation_transient_voltage_graph = z125.object({
2700
- type: z125.literal("simulation_transient_voltage_graph"),
2711
+ import { z as z126 } from "zod";
2712
+ var simulation_transient_voltage_graph = z126.object({
2713
+ type: z126.literal("simulation_transient_voltage_graph"),
2701
2714
  simulation_transient_voltage_graph_id: getZodPrefixedIdWithDefault(
2702
2715
  "simulation_transient_voltage_graph"
2703
2716
  ),
2704
- simulation_experiment_id: z125.string(),
2705
- timestamps_ms: z125.array(z125.number()).optional(),
2706
- voltage_levels: z125.array(z125.number()),
2707
- schematic_voltage_probe_id: z125.string().optional(),
2708
- simulation_voltage_probe_id: z125.string().optional(),
2709
- subcircuit_connectivity_map_key: z125.string().optional(),
2717
+ simulation_experiment_id: z126.string(),
2718
+ timestamps_ms: z126.array(z126.number()).optional(),
2719
+ voltage_levels: z126.array(z126.number()),
2720
+ schematic_voltage_probe_id: z126.string().optional(),
2721
+ simulation_voltage_probe_id: z126.string().optional(),
2722
+ subcircuit_connectivity_map_key: z126.string().optional(),
2710
2723
  time_per_step: duration_ms,
2711
2724
  start_time_ms: ms,
2712
2725
  end_time_ms: ms,
2713
- name: z125.string().optional()
2726
+ name: z126.string().optional()
2714
2727
  }).describe("Stores voltage measurements over time for a simulation");
2715
2728
  expectTypesMatch(true);
2716
2729
 
2717
2730
  // src/simulation/simulation_switch.ts
2718
- import { z as z126 } from "zod";
2719
- var simulation_switch = z126.object({
2720
- type: z126.literal("simulation_switch"),
2731
+ import { z as z127 } from "zod";
2732
+ var simulation_switch = z127.object({
2733
+ type: z127.literal("simulation_switch"),
2721
2734
  simulation_switch_id: getZodPrefixedIdWithDefault("simulation_switch"),
2722
- source_component_id: z126.string().optional(),
2735
+ source_component_id: z127.string().optional(),
2723
2736
  closes_at: ms.optional(),
2724
2737
  opens_at: ms.optional(),
2725
- starts_closed: z126.boolean().optional(),
2738
+ starts_closed: z127.boolean().optional(),
2726
2739
  switching_frequency: frequency.optional()
2727
2740
  }).describe("Defines a switch for simulation timing control");
2728
2741
  expectTypesMatch(true);
2729
2742
 
2730
2743
  // src/simulation/simulation_voltage_probe.ts
2731
- import { z as z127 } from "zod";
2732
- var simulation_voltage_probe = z127.object({
2733
- type: z127.literal("simulation_voltage_probe"),
2744
+ import { z as z128 } from "zod";
2745
+ var simulation_voltage_probe = z128.object({
2746
+ type: z128.literal("simulation_voltage_probe"),
2734
2747
  simulation_voltage_probe_id: getZodPrefixedIdWithDefault(
2735
2748
  "simulation_voltage_probe"
2736
2749
  ),
2737
- source_port_id: z127.string().optional(),
2738
- source_net_id: z127.string().optional(),
2739
- name: z127.string().optional(),
2740
- subcircuit_id: z127.string().optional()
2750
+ source_port_id: z128.string().optional(),
2751
+ source_net_id: z128.string().optional(),
2752
+ name: z128.string().optional(),
2753
+ subcircuit_id: z128.string().optional()
2741
2754
  }).describe(
2742
2755
  "Defines a voltage probe for simulation, connected to a port or a net"
2743
2756
  ).refine(
@@ -2749,8 +2762,8 @@ var simulation_voltage_probe = z127.object({
2749
2762
  expectTypesMatch(true);
2750
2763
 
2751
2764
  // src/any_circuit_element.ts
2752
- import { z as z128 } from "zod";
2753
- var any_circuit_element = z128.union([
2765
+ import { z as z129 } from "zod";
2766
+ var any_circuit_element = z129.union([
2754
2767
  source_trace,
2755
2768
  source_port,
2756
2769
  any_source_component,
@@ -2851,6 +2864,7 @@ var any_circuit_element = z128.union([
2851
2864
  schematic_voltage_probe,
2852
2865
  schematic_manual_edit_conflict_warning,
2853
2866
  schematic_group,
2867
+ schematic_sheet,
2854
2868
  schematic_table,
2855
2869
  schematic_table_cell,
2856
2870
  cad_component,
@@ -2985,6 +2999,7 @@ export {
2985
2999
  schematic_pin_styles,
2986
3000
  schematic_port,
2987
3001
  schematic_rect,
3002
+ schematic_sheet,
2988
3003
  schematic_table,
2989
3004
  schematic_table_cell,
2990
3005
  schematic_text,