circuit-json 0.0.227 → 0.0.228

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
@@ -1495,25 +1495,44 @@ var pcb_trace_error = z66.object({
1495
1495
  }).describe("Defines a trace error on the PCB");
1496
1496
  expectTypesMatch(true);
1497
1497
 
1498
- // src/pcb/pcb_port_not_matched_error.ts
1498
+ // src/pcb/pcb_trace_missing_error.ts
1499
1499
  import { z as z67 } from "zod";
1500
- var pcb_port_not_matched_error = z67.object({
1501
- type: z67.literal("pcb_port_not_matched_error"),
1502
- pcb_error_id: getZodPrefixedIdWithDefault("pcb_error"),
1503
- error_type: z67.literal("pcb_port_not_matched_error").default("pcb_port_not_matched_error"),
1500
+ var pcb_trace_missing_error = z67.object({
1501
+ type: z67.literal("pcb_trace_missing_error"),
1502
+ pcb_trace_missing_error_id: getZodPrefixedIdWithDefault(
1503
+ "pcb_trace_missing_error"
1504
+ ),
1505
+ error_type: z67.literal("pcb_trace_missing_error").default("pcb_trace_missing_error"),
1504
1506
  message: z67.string(),
1507
+ center: point.optional(),
1508
+ source_trace_id: z67.string(),
1505
1509
  pcb_component_ids: z67.array(z67.string()),
1510
+ pcb_port_ids: z67.array(z67.string()),
1506
1511
  subcircuit_id: z67.string().optional()
1512
+ }).describe(
1513
+ "Defines an error when a source trace has no corresponding PCB trace"
1514
+ );
1515
+ expectTypesMatch(true);
1516
+
1517
+ // src/pcb/pcb_port_not_matched_error.ts
1518
+ import { z as z68 } from "zod";
1519
+ var pcb_port_not_matched_error = z68.object({
1520
+ type: z68.literal("pcb_port_not_matched_error"),
1521
+ pcb_error_id: getZodPrefixedIdWithDefault("pcb_error"),
1522
+ error_type: z68.literal("pcb_port_not_matched_error").default("pcb_port_not_matched_error"),
1523
+ message: z68.string(),
1524
+ pcb_component_ids: z68.array(z68.string()),
1525
+ subcircuit_id: z68.string().optional()
1507
1526
  }).describe("Defines a trace error on the PCB where a port is not matched");
1508
1527
  expectTypesMatch(true);
1509
1528
 
1510
1529
  // src/pcb/pcb_via.ts
1511
- import { z as z68 } from "zod";
1512
- var pcb_via = z68.object({
1513
- type: z68.literal("pcb_via"),
1530
+ import { z as z69 } from "zod";
1531
+ var pcb_via = z69.object({
1532
+ type: z69.literal("pcb_via"),
1514
1533
  pcb_via_id: getZodPrefixedIdWithDefault("pcb_via"),
1515
- pcb_group_id: z68.string().optional(),
1516
- subcircuit_id: z68.string().optional(),
1534
+ pcb_group_id: z69.string().optional(),
1535
+ subcircuit_id: z69.string().optional(),
1517
1536
  x: distance,
1518
1537
  y: distance,
1519
1538
  outer_diameter: distance.default("0.6mm"),
@@ -1522,59 +1541,59 @@ var pcb_via = z68.object({
1522
1541
  from_layer: layer_ref.optional(),
1523
1542
  /** @deprecated */
1524
1543
  to_layer: layer_ref.optional(),
1525
- layers: z68.array(layer_ref),
1526
- pcb_trace_id: z68.string().optional()
1544
+ layers: z69.array(layer_ref),
1545
+ pcb_trace_id: z69.string().optional()
1527
1546
  }).describe("Defines a via on the PCB");
1528
1547
  expectTypesMatch(true);
1529
1548
 
1530
1549
  // src/pcb/pcb_board.ts
1531
- import { z as z69 } from "zod";
1532
- var pcb_board = z69.object({
1533
- type: z69.literal("pcb_board"),
1550
+ import { z as z70 } from "zod";
1551
+ var pcb_board = z70.object({
1552
+ type: z70.literal("pcb_board"),
1534
1553
  pcb_board_id: getZodPrefixedIdWithDefault("pcb_board"),
1535
- is_subcircuit: z69.boolean().optional(),
1536
- subcircuit_id: z69.string().optional(),
1554
+ is_subcircuit: z70.boolean().optional(),
1555
+ subcircuit_id: z70.string().optional(),
1537
1556
  width: length,
1538
1557
  height: length,
1539
1558
  center: point,
1540
1559
  thickness: length.optional().default(1.4),
1541
- num_layers: z69.number().optional().default(4),
1542
- outline: z69.array(point).optional(),
1543
- material: z69.enum(["fr4", "fr1"]).default("fr4")
1560
+ num_layers: z70.number().optional().default(4),
1561
+ outline: z70.array(point).optional(),
1562
+ material: z70.enum(["fr4", "fr1"]).default("fr4")
1544
1563
  }).describe("Defines the board outline of the PCB");
1545
1564
  expectTypesMatch(true);
1546
1565
 
1547
1566
  // src/pcb/pcb_placement_error.ts
1548
- import { z as z70 } from "zod";
1549
- var pcb_placement_error = z70.object({
1550
- type: z70.literal("pcb_placement_error"),
1567
+ import { z as z71 } from "zod";
1568
+ var pcb_placement_error = z71.object({
1569
+ type: z71.literal("pcb_placement_error"),
1551
1570
  pcb_placement_error_id: getZodPrefixedIdWithDefault("pcb_placement_error"),
1552
- error_type: z70.literal("pcb_placement_error").default("pcb_placement_error"),
1553
- message: z70.string(),
1554
- subcircuit_id: z70.string().optional()
1571
+ error_type: z71.literal("pcb_placement_error").default("pcb_placement_error"),
1572
+ message: z71.string(),
1573
+ subcircuit_id: z71.string().optional()
1555
1574
  }).describe("Defines a placement error on the PCB");
1556
1575
  expectTypesMatch(true);
1557
1576
 
1558
1577
  // src/pcb/pcb_trace_hint.ts
1559
- import { z as z71 } from "zod";
1560
- var pcb_trace_hint = z71.object({
1561
- type: z71.literal("pcb_trace_hint"),
1578
+ import { z as z72 } from "zod";
1579
+ var pcb_trace_hint = z72.object({
1580
+ type: z72.literal("pcb_trace_hint"),
1562
1581
  pcb_trace_hint_id: getZodPrefixedIdWithDefault("pcb_trace_hint"),
1563
- pcb_port_id: z71.string(),
1564
- pcb_component_id: z71.string(),
1565
- route: z71.array(route_hint_point),
1566
- subcircuit_id: z71.string().optional()
1582
+ pcb_port_id: z72.string(),
1583
+ pcb_component_id: z72.string(),
1584
+ route: z72.array(route_hint_point),
1585
+ subcircuit_id: z72.string().optional()
1567
1586
  }).describe("A hint that can be used during generation of a PCB trace");
1568
1587
  expectTypesMatch(true);
1569
1588
 
1570
1589
  // src/pcb/pcb_silkscreen_line.ts
1571
- import { z as z72 } from "zod";
1572
- var pcb_silkscreen_line = z72.object({
1573
- type: z72.literal("pcb_silkscreen_line"),
1590
+ import { z as z73 } from "zod";
1591
+ var pcb_silkscreen_line = z73.object({
1592
+ type: z73.literal("pcb_silkscreen_line"),
1574
1593
  pcb_silkscreen_line_id: getZodPrefixedIdWithDefault("pcb_silkscreen_line"),
1575
- pcb_component_id: z72.string(),
1576
- pcb_group_id: z72.string().optional(),
1577
- subcircuit_id: z72.string().optional(),
1594
+ pcb_component_id: z73.string(),
1595
+ pcb_group_id: z73.string().optional(),
1596
+ subcircuit_id: z73.string().optional(),
1578
1597
  stroke_width: distance.default("0.1mm"),
1579
1598
  x1: distance,
1580
1599
  y1: distance,
@@ -1585,67 +1604,67 @@ var pcb_silkscreen_line = z72.object({
1585
1604
  expectTypesMatch(true);
1586
1605
 
1587
1606
  // src/pcb/pcb_silkscreen_path.ts
1588
- import { z as z73 } from "zod";
1589
- var pcb_silkscreen_path = z73.object({
1590
- type: z73.literal("pcb_silkscreen_path"),
1607
+ import { z as z74 } from "zod";
1608
+ var pcb_silkscreen_path = z74.object({
1609
+ type: z74.literal("pcb_silkscreen_path"),
1591
1610
  pcb_silkscreen_path_id: getZodPrefixedIdWithDefault("pcb_silkscreen_path"),
1592
- pcb_component_id: z73.string(),
1593
- pcb_group_id: z73.string().optional(),
1594
- subcircuit_id: z73.string().optional(),
1611
+ pcb_component_id: z74.string(),
1612
+ pcb_group_id: z74.string().optional(),
1613
+ subcircuit_id: z74.string().optional(),
1595
1614
  layer: visible_layer,
1596
- route: z73.array(point),
1615
+ route: z74.array(point),
1597
1616
  stroke_width: length
1598
1617
  }).describe("Defines a silkscreen path on the PCB");
1599
1618
  expectTypesMatch(true);
1600
1619
 
1601
1620
  // src/pcb/pcb_silkscreen_text.ts
1602
- import { z as z74 } from "zod";
1603
- var pcb_silkscreen_text = z74.object({
1604
- type: z74.literal("pcb_silkscreen_text"),
1621
+ import { z as z75 } from "zod";
1622
+ var pcb_silkscreen_text = z75.object({
1623
+ type: z75.literal("pcb_silkscreen_text"),
1605
1624
  pcb_silkscreen_text_id: getZodPrefixedIdWithDefault("pcb_silkscreen_text"),
1606
- pcb_group_id: z74.string().optional(),
1607
- subcircuit_id: z74.string().optional(),
1608
- font: z74.literal("tscircuit2024").default("tscircuit2024"),
1625
+ pcb_group_id: z75.string().optional(),
1626
+ subcircuit_id: z75.string().optional(),
1627
+ font: z75.literal("tscircuit2024").default("tscircuit2024"),
1609
1628
  font_size: distance.default("0.2mm"),
1610
- pcb_component_id: z74.string(),
1611
- text: z74.string(),
1612
- ccw_rotation: z74.number().optional(),
1629
+ pcb_component_id: z75.string(),
1630
+ text: z75.string(),
1631
+ ccw_rotation: z75.number().optional(),
1613
1632
  layer: layer_ref,
1614
- is_mirrored: z74.boolean().default(false).optional(),
1633
+ is_mirrored: z75.boolean().default(false).optional(),
1615
1634
  anchor_position: point.default({ x: 0, y: 0 }),
1616
1635
  anchor_alignment: ninePointAnchor.default("center")
1617
1636
  }).describe("Defines silkscreen text on the PCB");
1618
1637
  expectTypesMatch(true);
1619
1638
 
1620
1639
  // src/pcb/pcb_silkscreen_rect.ts
1621
- import { z as z75 } from "zod";
1622
- var pcb_silkscreen_rect = z75.object({
1623
- type: z75.literal("pcb_silkscreen_rect"),
1640
+ import { z as z76 } from "zod";
1641
+ var pcb_silkscreen_rect = z76.object({
1642
+ type: z76.literal("pcb_silkscreen_rect"),
1624
1643
  pcb_silkscreen_rect_id: getZodPrefixedIdWithDefault("pcb_silkscreen_rect"),
1625
- pcb_component_id: z75.string(),
1626
- pcb_group_id: z75.string().optional(),
1627
- subcircuit_id: z75.string().optional(),
1644
+ pcb_component_id: z76.string(),
1645
+ pcb_group_id: z76.string().optional(),
1646
+ subcircuit_id: z76.string().optional(),
1628
1647
  center: point,
1629
1648
  width: length,
1630
1649
  height: length,
1631
1650
  layer: layer_ref,
1632
1651
  stroke_width: length.default("1mm"),
1633
- is_filled: z75.boolean().default(true).optional(),
1634
- has_stroke: z75.boolean().optional(),
1635
- is_stroke_dashed: z75.boolean().optional()
1652
+ is_filled: z76.boolean().default(true).optional(),
1653
+ has_stroke: z76.boolean().optional(),
1654
+ is_stroke_dashed: z76.boolean().optional()
1636
1655
  }).describe("Defines a silkscreen rect on the PCB");
1637
1656
  expectTypesMatch(true);
1638
1657
 
1639
1658
  // src/pcb/pcb_silkscreen_circle.ts
1640
- import { z as z76 } from "zod";
1641
- var pcb_silkscreen_circle = z76.object({
1642
- type: z76.literal("pcb_silkscreen_circle"),
1659
+ import { z as z77 } from "zod";
1660
+ var pcb_silkscreen_circle = z77.object({
1661
+ type: z77.literal("pcb_silkscreen_circle"),
1643
1662
  pcb_silkscreen_circle_id: getZodPrefixedIdWithDefault(
1644
1663
  "pcb_silkscreen_circle"
1645
1664
  ),
1646
- pcb_component_id: z76.string(),
1647
- pcb_group_id: z76.string().optional(),
1648
- subcircuit_id: z76.string().optional(),
1665
+ pcb_component_id: z77.string(),
1666
+ pcb_group_id: z77.string().optional(),
1667
+ subcircuit_id: z77.string().optional(),
1649
1668
  center: point,
1650
1669
  radius: length,
1651
1670
  layer: visible_layer,
@@ -1654,13 +1673,13 @@ var pcb_silkscreen_circle = z76.object({
1654
1673
  expectTypesMatch(true);
1655
1674
 
1656
1675
  // src/pcb/pcb_silkscreen_oval.ts
1657
- import { z as z77 } from "zod";
1658
- var pcb_silkscreen_oval = z77.object({
1659
- type: z77.literal("pcb_silkscreen_oval"),
1676
+ import { z as z78 } from "zod";
1677
+ var pcb_silkscreen_oval = z78.object({
1678
+ type: z78.literal("pcb_silkscreen_oval"),
1660
1679
  pcb_silkscreen_oval_id: getZodPrefixedIdWithDefault("pcb_silkscreen_oval"),
1661
- pcb_component_id: z77.string(),
1662
- pcb_group_id: z77.string().optional(),
1663
- subcircuit_id: z77.string().optional(),
1680
+ pcb_component_id: z78.string(),
1681
+ pcb_group_id: z78.string().optional(),
1682
+ subcircuit_id: z78.string().optional(),
1664
1683
  center: point,
1665
1684
  radius_x: distance,
1666
1685
  radius_y: distance,
@@ -1669,103 +1688,103 @@ var pcb_silkscreen_oval = z77.object({
1669
1688
  expectTypesMatch(true);
1670
1689
 
1671
1690
  // src/pcb/pcb_fabrication_note_text.ts
1672
- import { z as z78 } from "zod";
1673
- var pcb_fabrication_note_text = z78.object({
1674
- type: z78.literal("pcb_fabrication_note_text"),
1691
+ import { z as z79 } from "zod";
1692
+ var pcb_fabrication_note_text = z79.object({
1693
+ type: z79.literal("pcb_fabrication_note_text"),
1675
1694
  pcb_fabrication_note_text_id: getZodPrefixedIdWithDefault(
1676
1695
  "pcb_fabrication_note_text"
1677
1696
  ),
1678
- subcircuit_id: z78.string().optional(),
1679
- pcb_group_id: z78.string().optional(),
1680
- font: z78.literal("tscircuit2024").default("tscircuit2024"),
1697
+ subcircuit_id: z79.string().optional(),
1698
+ pcb_group_id: z79.string().optional(),
1699
+ font: z79.literal("tscircuit2024").default("tscircuit2024"),
1681
1700
  font_size: distance.default("1mm"),
1682
- pcb_component_id: z78.string(),
1683
- text: z78.string(),
1701
+ pcb_component_id: z79.string(),
1702
+ text: z79.string(),
1684
1703
  layer: visible_layer,
1685
1704
  anchor_position: point.default({ x: 0, y: 0 }),
1686
- anchor_alignment: z78.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).default("center"),
1687
- color: z78.string().optional()
1705
+ anchor_alignment: z79.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).default("center"),
1706
+ color: z79.string().optional()
1688
1707
  }).describe(
1689
1708
  "Defines a fabrication note in text on the PCB, useful for leaving notes for assemblers or fabricators"
1690
1709
  );
1691
1710
  expectTypesMatch(true);
1692
1711
 
1693
1712
  // src/pcb/pcb_fabrication_note_path.ts
1694
- import { z as z79 } from "zod";
1695
- var pcb_fabrication_note_path = z79.object({
1696
- type: z79.literal("pcb_fabrication_note_path"),
1713
+ import { z as z80 } from "zod";
1714
+ var pcb_fabrication_note_path = z80.object({
1715
+ type: z80.literal("pcb_fabrication_note_path"),
1697
1716
  pcb_fabrication_note_path_id: getZodPrefixedIdWithDefault(
1698
1717
  "pcb_fabrication_note_path"
1699
1718
  ),
1700
- pcb_component_id: z79.string(),
1701
- subcircuit_id: z79.string().optional(),
1719
+ pcb_component_id: z80.string(),
1720
+ subcircuit_id: z80.string().optional(),
1702
1721
  layer: layer_ref,
1703
- route: z79.array(point),
1722
+ route: z80.array(point),
1704
1723
  stroke_width: length,
1705
- color: z79.string().optional()
1724
+ color: z80.string().optional()
1706
1725
  }).describe(
1707
1726
  "Defines a fabrication path on the PCB for fabricators or assemblers"
1708
1727
  );
1709
1728
  expectTypesMatch(true);
1710
1729
 
1711
1730
  // src/pcb/pcb_footprint_overlap_error.ts
1712
- import { z as z80 } from "zod";
1713
- var pcb_footprint_overlap_error = z80.object({
1714
- type: z80.literal("pcb_footprint_overlap_error"),
1731
+ import { z as z81 } from "zod";
1732
+ var pcb_footprint_overlap_error = z81.object({
1733
+ type: z81.literal("pcb_footprint_overlap_error"),
1715
1734
  pcb_error_id: getZodPrefixedIdWithDefault("pcb_error"),
1716
- error_type: z80.literal("pcb_footprint_overlap_error").default("pcb_footprint_overlap_error"),
1717
- message: z80.string(),
1718
- pcb_smtpad_ids: z80.array(z80.string()).optional(),
1719
- pcb_plated_hole_ids: z80.array(z80.string()).optional(),
1720
- pcb_hole_ids: z80.array(z80.string()).optional(),
1721
- pcb_keepout_ids: z80.array(z80.string()).optional()
1735
+ error_type: z81.literal("pcb_footprint_overlap_error").default("pcb_footprint_overlap_error"),
1736
+ message: z81.string(),
1737
+ pcb_smtpad_ids: z81.array(z81.string()).optional(),
1738
+ pcb_plated_hole_ids: z81.array(z81.string()).optional(),
1739
+ pcb_hole_ids: z81.array(z81.string()).optional(),
1740
+ pcb_keepout_ids: z81.array(z81.string()).optional()
1722
1741
  }).describe("Error emitted when a pcb footprint overlaps with another element");
1723
1742
  expectTypesMatch(
1724
1743
  true
1725
1744
  );
1726
1745
 
1727
1746
  // src/pcb/pcb_keepout.ts
1728
- import { z as z81 } from "zod";
1729
- var pcb_keepout = z81.object({
1730
- type: z81.literal("pcb_keepout"),
1731
- shape: z81.literal("rect"),
1732
- pcb_group_id: z81.string().optional(),
1733
- subcircuit_id: z81.string().optional(),
1747
+ import { z as z82 } from "zod";
1748
+ var pcb_keepout = z82.object({
1749
+ type: z82.literal("pcb_keepout"),
1750
+ shape: z82.literal("rect"),
1751
+ pcb_group_id: z82.string().optional(),
1752
+ subcircuit_id: z82.string().optional(),
1734
1753
  center: point,
1735
1754
  width: distance,
1736
1755
  height: distance,
1737
- pcb_keepout_id: z81.string(),
1738
- layers: z81.array(z81.string()),
1756
+ pcb_keepout_id: z82.string(),
1757
+ layers: z82.array(z82.string()),
1739
1758
  // Specify layers where the keepout applies
1740
- description: z81.string().optional()
1759
+ description: z82.string().optional()
1741
1760
  // Optional description of the keepout
1742
1761
  }).or(
1743
- z81.object({
1744
- type: z81.literal("pcb_keepout"),
1745
- shape: z81.literal("circle"),
1746
- pcb_group_id: z81.string().optional(),
1747
- subcircuit_id: z81.string().optional(),
1762
+ z82.object({
1763
+ type: z82.literal("pcb_keepout"),
1764
+ shape: z82.literal("circle"),
1765
+ pcb_group_id: z82.string().optional(),
1766
+ subcircuit_id: z82.string().optional(),
1748
1767
  center: point,
1749
1768
  radius: distance,
1750
- pcb_keepout_id: z81.string(),
1751
- layers: z81.array(z81.string()),
1769
+ pcb_keepout_id: z82.string(),
1770
+ layers: z82.array(z82.string()),
1752
1771
  // Specify layers where the keepout applies
1753
- description: z81.string().optional()
1772
+ description: z82.string().optional()
1754
1773
  // Optional description of the keepout
1755
1774
  })
1756
1775
  );
1757
1776
  expectTypesMatch(true);
1758
1777
 
1759
1778
  // src/pcb/pcb_cutout.ts
1760
- import { z as z82 } from "zod";
1761
- var pcb_cutout_base = z82.object({
1762
- type: z82.literal("pcb_cutout"),
1779
+ import { z as z83 } from "zod";
1780
+ var pcb_cutout_base = z83.object({
1781
+ type: z83.literal("pcb_cutout"),
1763
1782
  pcb_cutout_id: getZodPrefixedIdWithDefault("pcb_cutout"),
1764
- pcb_group_id: z82.string().optional(),
1765
- subcircuit_id: z82.string().optional()
1783
+ pcb_group_id: z83.string().optional(),
1784
+ subcircuit_id: z83.string().optional()
1766
1785
  });
1767
1786
  var pcb_cutout_rect = pcb_cutout_base.extend({
1768
- shape: z82.literal("rect"),
1787
+ shape: z83.literal("rect"),
1769
1788
  center: point,
1770
1789
  width: length,
1771
1790
  height: length,
@@ -1773,17 +1792,17 @@ var pcb_cutout_rect = pcb_cutout_base.extend({
1773
1792
  });
1774
1793
  expectTypesMatch(true);
1775
1794
  var pcb_cutout_circle = pcb_cutout_base.extend({
1776
- shape: z82.literal("circle"),
1795
+ shape: z83.literal("circle"),
1777
1796
  center: point,
1778
1797
  radius: length
1779
1798
  });
1780
1799
  expectTypesMatch(true);
1781
1800
  var pcb_cutout_polygon = pcb_cutout_base.extend({
1782
- shape: z82.literal("polygon"),
1783
- points: z82.array(point)
1801
+ shape: z83.literal("polygon"),
1802
+ points: z83.array(point)
1784
1803
  });
1785
1804
  expectTypesMatch(true);
1786
- var pcb_cutout = z82.discriminatedUnion("shape", [
1805
+ var pcb_cutout = z83.discriminatedUnion("shape", [
1787
1806
  pcb_cutout_rect,
1788
1807
  pcb_cutout_circle,
1789
1808
  pcb_cutout_polygon
@@ -1791,83 +1810,83 @@ var pcb_cutout = z82.discriminatedUnion("shape", [
1791
1810
  expectTypesMatch(true);
1792
1811
 
1793
1812
  // src/pcb/pcb_missing_footprint_error.ts
1794
- import { z as z83 } from "zod";
1795
- var pcb_missing_footprint_error = z83.object({
1796
- type: z83.literal("pcb_missing_footprint_error"),
1813
+ import { z as z84 } from "zod";
1814
+ var pcb_missing_footprint_error = z84.object({
1815
+ type: z84.literal("pcb_missing_footprint_error"),
1797
1816
  pcb_missing_footprint_error_id: getZodPrefixedIdWithDefault(
1798
1817
  "pcb_missing_footprint_error"
1799
1818
  ),
1800
- pcb_group_id: z83.string().optional(),
1801
- subcircuit_id: z83.string().optional(),
1802
- error_type: z83.literal("pcb_missing_footprint_error").default("pcb_missing_footprint_error"),
1803
- source_component_id: z83.string(),
1804
- message: z83.string()
1819
+ pcb_group_id: z84.string().optional(),
1820
+ subcircuit_id: z84.string().optional(),
1821
+ error_type: z84.literal("pcb_missing_footprint_error").default("pcb_missing_footprint_error"),
1822
+ source_component_id: z84.string(),
1823
+ message: z84.string()
1805
1824
  }).describe("Defines a missing footprint error on the PCB");
1806
1825
  expectTypesMatch(
1807
1826
  true
1808
1827
  );
1809
1828
 
1810
1829
  // src/pcb/pcb_group.ts
1811
- import { z as z84 } from "zod";
1812
- var pcb_group = z84.object({
1813
- type: z84.literal("pcb_group"),
1830
+ import { z as z85 } from "zod";
1831
+ var pcb_group = z85.object({
1832
+ type: z85.literal("pcb_group"),
1814
1833
  pcb_group_id: getZodPrefixedIdWithDefault("pcb_group"),
1815
- source_group_id: z84.string(),
1816
- is_subcircuit: z84.boolean().optional(),
1817
- subcircuit_id: z84.string().optional(),
1834
+ source_group_id: z85.string(),
1835
+ is_subcircuit: z85.boolean().optional(),
1836
+ subcircuit_id: z85.string().optional(),
1818
1837
  width: length,
1819
1838
  height: length,
1820
1839
  center: point,
1821
- pcb_component_ids: z84.array(z84.string()),
1822
- name: z84.string().optional(),
1823
- description: z84.string().optional(),
1824
- layout_mode: z84.string().optional(),
1825
- autorouter_configuration: z84.object({
1840
+ pcb_component_ids: z85.array(z85.string()),
1841
+ name: z85.string().optional(),
1842
+ description: z85.string().optional(),
1843
+ layout_mode: z85.string().optional(),
1844
+ autorouter_configuration: z85.object({
1826
1845
  trace_clearance: length
1827
1846
  }).optional(),
1828
- autorouter_used_string: z84.string().optional()
1847
+ autorouter_used_string: z85.string().optional()
1829
1848
  }).describe("Defines a group of components on the PCB");
1830
1849
  expectTypesMatch(true);
1831
1850
 
1832
1851
  // src/pcb/pcb_autorouting_error.ts
1833
- import { z as z85 } from "zod";
1834
- var pcb_autorouting_error = z85.object({
1835
- type: z85.literal("pcb_autorouting_error"),
1852
+ import { z as z86 } from "zod";
1853
+ var pcb_autorouting_error = z86.object({
1854
+ type: z86.literal("pcb_autorouting_error"),
1836
1855
  pcb_error_id: getZodPrefixedIdWithDefault("pcb_autorouting_error"),
1837
- error_type: z85.literal("pcb_autorouting_error").default("pcb_autorouting_error"),
1838
- message: z85.string(),
1839
- subcircuit_id: z85.string().optional()
1856
+ error_type: z86.literal("pcb_autorouting_error").default("pcb_autorouting_error"),
1857
+ message: z86.string(),
1858
+ subcircuit_id: z86.string().optional()
1840
1859
  }).describe("The autorouting has failed to route a portion of the board");
1841
1860
  expectTypesMatch(true);
1842
1861
 
1843
1862
  // src/pcb/pcb_manual_edit_conflict_warning.ts
1844
- import { z as z86 } from "zod";
1845
- var pcb_manual_edit_conflict_warning = z86.object({
1846
- type: z86.literal("pcb_manual_edit_conflict_warning"),
1863
+ import { z as z87 } from "zod";
1864
+ var pcb_manual_edit_conflict_warning = z87.object({
1865
+ type: z87.literal("pcb_manual_edit_conflict_warning"),
1847
1866
  pcb_manual_edit_conflict_warning_id: getZodPrefixedIdWithDefault(
1848
1867
  "pcb_manual_edit_conflict_warning"
1849
1868
  ),
1850
- warning_type: z86.literal("pcb_manual_edit_conflict_warning").default("pcb_manual_edit_conflict_warning"),
1851
- message: z86.string(),
1852
- pcb_component_id: z86.string(),
1853
- pcb_group_id: z86.string().optional(),
1854
- subcircuit_id: z86.string().optional(),
1855
- source_component_id: z86.string()
1869
+ warning_type: z87.literal("pcb_manual_edit_conflict_warning").default("pcb_manual_edit_conflict_warning"),
1870
+ message: z87.string(),
1871
+ pcb_component_id: z87.string(),
1872
+ pcb_group_id: z87.string().optional(),
1873
+ subcircuit_id: z87.string().optional(),
1874
+ source_component_id: z87.string()
1856
1875
  }).describe(
1857
1876
  "Warning emitted when a component has both manual placement and explicit pcbX/pcbY coordinates"
1858
1877
  );
1859
1878
  expectTypesMatch(true);
1860
1879
 
1861
1880
  // src/pcb/pcb_breakout_point.ts
1862
- import { z as z87 } from "zod";
1863
- var pcb_breakout_point = z87.object({
1864
- type: z87.literal("pcb_breakout_point"),
1881
+ import { z as z88 } from "zod";
1882
+ var pcb_breakout_point = z88.object({
1883
+ type: z88.literal("pcb_breakout_point"),
1865
1884
  pcb_breakout_point_id: getZodPrefixedIdWithDefault("pcb_breakout_point"),
1866
- pcb_group_id: z87.string(),
1867
- subcircuit_id: z87.string().optional(),
1868
- source_trace_id: z87.string().optional(),
1869
- source_port_id: z87.string().optional(),
1870
- source_net_id: z87.string().optional(),
1885
+ pcb_group_id: z88.string(),
1886
+ subcircuit_id: z88.string().optional(),
1887
+ source_trace_id: z88.string().optional(),
1888
+ source_port_id: z88.string().optional(),
1889
+ source_net_id: z88.string().optional(),
1871
1890
  x: distance,
1872
1891
  y: distance
1873
1892
  }).describe(
@@ -1876,87 +1895,87 @@ var pcb_breakout_point = z87.object({
1876
1895
  expectTypesMatch(true);
1877
1896
 
1878
1897
  // src/pcb/pcb_ground_plane.ts
1879
- import { z as z88 } from "zod";
1880
- var pcb_ground_plane = z88.object({
1881
- type: z88.literal("pcb_ground_plane"),
1898
+ import { z as z89 } from "zod";
1899
+ var pcb_ground_plane = z89.object({
1900
+ type: z89.literal("pcb_ground_plane"),
1882
1901
  pcb_ground_plane_id: getZodPrefixedIdWithDefault("pcb_ground_plane"),
1883
- source_pcb_ground_plane_id: z88.string(),
1884
- source_net_id: z88.string(),
1885
- pcb_group_id: z88.string().optional(),
1886
- subcircuit_id: z88.string().optional()
1902
+ source_pcb_ground_plane_id: z89.string(),
1903
+ source_net_id: z89.string(),
1904
+ pcb_group_id: z89.string().optional(),
1905
+ subcircuit_id: z89.string().optional()
1887
1906
  }).describe("Defines a ground plane on the PCB");
1888
1907
  expectTypesMatch(true);
1889
1908
 
1890
1909
  // src/pcb/pcb_ground_plane_region.ts
1891
- import { z as z89 } from "zod";
1892
- var pcb_ground_plane_region = z89.object({
1893
- type: z89.literal("pcb_ground_plane_region"),
1910
+ import { z as z90 } from "zod";
1911
+ var pcb_ground_plane_region = z90.object({
1912
+ type: z90.literal("pcb_ground_plane_region"),
1894
1913
  pcb_ground_plane_region_id: getZodPrefixedIdWithDefault(
1895
1914
  "pcb_ground_plane_region"
1896
1915
  ),
1897
- pcb_ground_plane_id: z89.string(),
1898
- pcb_group_id: z89.string().optional(),
1899
- subcircuit_id: z89.string().optional(),
1916
+ pcb_ground_plane_id: z90.string(),
1917
+ pcb_group_id: z90.string().optional(),
1918
+ subcircuit_id: z90.string().optional(),
1900
1919
  layer: layer_ref,
1901
- points: z89.array(point)
1920
+ points: z90.array(point)
1902
1921
  }).describe("Defines a polygon region of a ground plane");
1903
1922
  expectTypesMatch(true);
1904
1923
 
1905
1924
  // src/pcb/pcb_thermal_spoke.ts
1906
- import { z as z90 } from "zod";
1907
- var pcb_thermal_spoke = z90.object({
1908
- type: z90.literal("pcb_thermal_spoke"),
1925
+ import { z as z91 } from "zod";
1926
+ var pcb_thermal_spoke = z91.object({
1927
+ type: z91.literal("pcb_thermal_spoke"),
1909
1928
  pcb_thermal_spoke_id: getZodPrefixedIdWithDefault("pcb_thermal_spoke"),
1910
- pcb_ground_plane_id: z90.string(),
1911
- shape: z90.string(),
1912
- spoke_count: z90.number(),
1929
+ pcb_ground_plane_id: z91.string(),
1930
+ shape: z91.string(),
1931
+ spoke_count: z91.number(),
1913
1932
  spoke_thickness: distance,
1914
1933
  spoke_inner_diameter: distance,
1915
1934
  spoke_outer_diameter: distance,
1916
- pcb_plated_hole_id: z90.string().optional(),
1917
- subcircuit_id: z90.string().optional()
1935
+ pcb_plated_hole_id: z91.string().optional(),
1936
+ subcircuit_id: z91.string().optional()
1918
1937
  }).describe("Pattern for connecting a ground plane to a plated hole");
1919
1938
  expectTypesMatch(true);
1920
1939
 
1921
1940
  // src/cad/cad_component.ts
1922
- import { z as z91 } from "zod";
1923
- var cad_component = z91.object({
1924
- type: z91.literal("cad_component"),
1925
- cad_component_id: z91.string(),
1926
- pcb_component_id: z91.string(),
1927
- source_component_id: z91.string(),
1941
+ import { z as z92 } from "zod";
1942
+ var cad_component = z92.object({
1943
+ type: z92.literal("cad_component"),
1944
+ cad_component_id: z92.string(),
1945
+ pcb_component_id: z92.string(),
1946
+ source_component_id: z92.string(),
1928
1947
  position: point3,
1929
1948
  rotation: point3.optional(),
1930
1949
  size: point3.optional(),
1931
1950
  layer: layer_ref.optional(),
1932
- subcircuit_id: z91.string().optional(),
1951
+ subcircuit_id: z92.string().optional(),
1933
1952
  // These are all ways to generate/load the 3d model
1934
- footprinter_string: z91.string().optional(),
1935
- model_obj_url: z91.string().optional(),
1936
- model_stl_url: z91.string().optional(),
1937
- model_3mf_url: z91.string().optional(),
1938
- model_jscad: z91.any().optional()
1953
+ footprinter_string: z92.string().optional(),
1954
+ model_obj_url: z92.string().optional(),
1955
+ model_stl_url: z92.string().optional(),
1956
+ model_3mf_url: z92.string().optional(),
1957
+ model_jscad: z92.any().optional()
1939
1958
  }).describe("Defines a component on the PCB");
1940
1959
  expectTypesMatch(true);
1941
1960
 
1942
1961
  // src/simulation/simulation_voltage_source.ts
1943
- import { z as z92 } from "zod";
1944
- var simulation_voltage_source = z92.object({
1945
- type: z92.literal("simulation_voltage_source"),
1962
+ import { z as z93 } from "zod";
1963
+ var simulation_voltage_source = z93.object({
1964
+ type: z93.literal("simulation_voltage_source"),
1946
1965
  simulation_voltage_source_id: getZodPrefixedIdWithDefault(
1947
1966
  "simulation_voltage_source"
1948
1967
  ),
1949
- positive_source_port_id: z92.string(),
1950
- negative_source_port_id: z92.string(),
1951
- positive_source_net_id: z92.string(),
1952
- negative_source_net_id: z92.string(),
1968
+ positive_source_port_id: z93.string(),
1969
+ negative_source_port_id: z93.string(),
1970
+ positive_source_net_id: z93.string(),
1971
+ negative_source_net_id: z93.string(),
1953
1972
  voltage
1954
1973
  }).describe("Defines a voltage source for simulation");
1955
1974
  expectTypesMatch(true);
1956
1975
 
1957
1976
  // src/any_circuit_element.ts
1958
- import { z as z93 } from "zod";
1959
- var any_circuit_element = z93.union([
1977
+ import { z as z94 } from "zod";
1978
+ var any_circuit_element = z94.union([
1960
1979
  source_trace,
1961
1980
  source_port,
1962
1981
  any_source_component,
@@ -2003,6 +2022,7 @@ var any_circuit_element = z93.union([
2003
2022
  pcb_silkscreen_circle,
2004
2023
  pcb_silkscreen_oval,
2005
2024
  pcb_trace_error,
2025
+ pcb_trace_missing_error,
2006
2026
  pcb_placement_error,
2007
2027
  pcb_port_not_matched_error,
2008
2028
  pcb_fabrication_note_path,
@@ -2093,6 +2113,7 @@ export {
2093
2113
  pcb_trace,
2094
2114
  pcb_trace_error,
2095
2115
  pcb_trace_hint,
2116
+ pcb_trace_missing_error,
2096
2117
  pcb_trace_route_point,
2097
2118
  pcb_trace_route_point_via,
2098
2119
  pcb_trace_route_point_wire,