circuit-json 0.0.452 → 0.0.453

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
@@ -1529,124 +1529,145 @@ var schematic_component_overlap_warning = z90.object({
1529
1529
  );
1530
1530
  expectTypesMatch(true);
1531
1531
 
1532
- // src/schematic/schematic_group.ts
1532
+ // src/schematic/schematic_element_outside_sheet_warning.ts
1533
1533
  import { z as z91 } from "zod";
1534
- var schematic_group = z91.object({
1535
- type: z91.literal("schematic_group"),
1534
+ var schematic_element_outside_sheet_warning = z91.object({
1535
+ type: z91.literal("schematic_element_outside_sheet_warning"),
1536
+ schematic_element_outside_sheet_warning_id: getZodPrefixedIdWithDefault(
1537
+ "schematic_element_outside_sheet_warning"
1538
+ ),
1539
+ warning_type: z91.literal("schematic_element_outside_sheet_warning").default("schematic_element_outside_sheet_warning"),
1540
+ message: z91.string(),
1541
+ schematic_sheet_id: z91.string(),
1542
+ schematic_element_type: z91.enum([
1543
+ "schematic_component",
1544
+ "schematic_net_label",
1545
+ "schematic_trace"
1546
+ ]),
1547
+ schematic_element_id: z91.string()
1548
+ }).describe(
1549
+ "Warning emitted when a schematic component, net label, or trace extends outside its schematic sheet"
1550
+ );
1551
+ expectTypesMatch(true);
1552
+
1553
+ // src/schematic/schematic_group.ts
1554
+ import { z as z92 } from "zod";
1555
+ var schematic_group = z92.object({
1556
+ type: z92.literal("schematic_group"),
1536
1557
  schematic_group_id: getZodPrefixedIdWithDefault("schematic_group"),
1537
- schematic_sheet_id: z91.string().optional(),
1538
- source_group_id: z91.string(),
1539
- is_subcircuit: z91.boolean().optional(),
1540
- subcircuit_id: z91.string().optional(),
1558
+ schematic_sheet_id: z92.string().optional(),
1559
+ source_group_id: z92.string(),
1560
+ is_subcircuit: z92.boolean().optional(),
1561
+ subcircuit_id: z92.string().optional(),
1541
1562
  width: length,
1542
1563
  height: length,
1543
1564
  center: point,
1544
- schematic_component_ids: z91.array(z91.string()),
1545
- show_as_schematic_box: z91.boolean().optional(),
1546
- name: z91.string().optional(),
1547
- description: z91.string().optional()
1565
+ schematic_component_ids: z92.array(z92.string()),
1566
+ show_as_schematic_box: z92.boolean().optional(),
1567
+ name: z92.string().optional(),
1568
+ description: z92.string().optional()
1548
1569
  }).describe("Defines a group of components on the schematic");
1549
1570
  expectTypesMatch(true);
1550
1571
 
1551
1572
  // src/schematic/schematic_table.ts
1552
- import { z as z92 } from "zod";
1553
- var schematic_table = z92.object({
1554
- type: z92.literal("schematic_table"),
1573
+ import { z as z93 } from "zod";
1574
+ var schematic_table = z93.object({
1575
+ type: z93.literal("schematic_table"),
1555
1576
  schematic_table_id: getZodPrefixedIdWithDefault("schematic_table"),
1556
- schematic_sheet_id: z92.string().optional(),
1577
+ schematic_sheet_id: z93.string().optional(),
1557
1578
  anchor_position: point,
1558
- column_widths: z92.array(distance),
1559
- row_heights: z92.array(distance),
1579
+ column_widths: z93.array(distance),
1580
+ row_heights: z93.array(distance),
1560
1581
  cell_padding: distance.optional(),
1561
1582
  border_width: distance.optional(),
1562
- subcircuit_id: z92.string().optional(),
1563
- schematic_component_id: z92.string().optional(),
1583
+ subcircuit_id: z93.string().optional(),
1584
+ schematic_component_id: z93.string().optional(),
1564
1585
  anchor: ninePointAnchor.optional()
1565
1586
  }).describe("Defines a table on the schematic");
1566
1587
  expectTypesMatch(true);
1567
1588
 
1568
1589
  // src/schematic/schematic_table_cell.ts
1569
- import { z as z93 } from "zod";
1570
- var schematic_table_cell = z93.object({
1571
- type: z93.literal("schematic_table_cell"),
1590
+ import { z as z94 } from "zod";
1591
+ var schematic_table_cell = z94.object({
1592
+ type: z94.literal("schematic_table_cell"),
1572
1593
  schematic_table_cell_id: getZodPrefixedIdWithDefault(
1573
1594
  "schematic_table_cell"
1574
1595
  ),
1575
- schematic_sheet_id: z93.string().optional(),
1576
- schematic_table_id: z93.string(),
1577
- start_row_index: z93.number(),
1578
- end_row_index: z93.number(),
1579
- start_column_index: z93.number(),
1580
- end_column_index: z93.number(),
1581
- text: z93.string().optional(),
1596
+ schematic_sheet_id: z94.string().optional(),
1597
+ schematic_table_id: z94.string(),
1598
+ start_row_index: z94.number(),
1599
+ end_row_index: z94.number(),
1600
+ start_column_index: z94.number(),
1601
+ end_column_index: z94.number(),
1602
+ text: z94.string().optional(),
1582
1603
  center: point,
1583
1604
  width: distance,
1584
1605
  height: distance,
1585
- horizontal_align: z93.enum(["left", "center", "right"]).optional(),
1586
- vertical_align: z93.enum(["top", "middle", "bottom"]).optional(),
1606
+ horizontal_align: z94.enum(["left", "center", "right"]).optional(),
1607
+ vertical_align: z94.enum(["top", "middle", "bottom"]).optional(),
1587
1608
  font_size: distance.optional(),
1588
- subcircuit_id: z93.string().optional()
1609
+ subcircuit_id: z94.string().optional()
1589
1610
  }).describe("Defines a cell within a schematic_table");
1590
1611
  expectTypesMatch(true);
1591
1612
 
1592
1613
  // src/schematic/schematic_sheet.ts
1593
- import { z as z94 } from "zod";
1594
- var schematic_sheet = z94.object({
1595
- type: z94.literal("schematic_sheet"),
1614
+ import { z as z95 } from "zod";
1615
+ var schematic_sheet = z95.object({
1616
+ type: z95.literal("schematic_sheet"),
1596
1617
  schematic_sheet_id: getZodPrefixedIdWithDefault("schematic_sheet"),
1597
- name: z94.string().optional(),
1598
- sheet_index: z94.number().optional(),
1599
- subcircuit_id: z94.string().optional(),
1600
- outline_color: z94.string().optional()
1618
+ name: z95.string().optional(),
1619
+ sheet_index: z95.number().optional(),
1620
+ subcircuit_id: z95.string().optional(),
1621
+ outline_color: z95.string().optional()
1601
1622
  }).describe(
1602
1623
  "Defines a schematic sheet or page that components can be placed on"
1603
1624
  );
1604
1625
  expectTypesMatch(true);
1605
1626
 
1606
1627
  // src/pcb/properties/brep.ts
1607
- import { z as z95 } from "zod";
1608
- var point_with_bulge = z95.object({
1628
+ import { z as z96 } from "zod";
1629
+ var point_with_bulge = z96.object({
1609
1630
  x: distance,
1610
1631
  y: distance,
1611
- bulge: z95.number().optional()
1632
+ bulge: z96.number().optional()
1612
1633
  });
1613
1634
  expectTypesMatch(true);
1614
- var ring = z95.object({
1615
- vertices: z95.array(point_with_bulge)
1635
+ var ring = z96.object({
1636
+ vertices: z96.array(point_with_bulge)
1616
1637
  });
1617
1638
  expectTypesMatch(true);
1618
- var brep_shape = z95.object({
1639
+ var brep_shape = z96.object({
1619
1640
  outer_ring: ring,
1620
- inner_rings: z95.array(ring).default([])
1641
+ inner_rings: z96.array(ring).default([])
1621
1642
  });
1622
1643
  expectTypesMatch(true);
1623
1644
 
1624
1645
  // src/pcb/properties/pcb_route_hints.ts
1625
- import { z as z96 } from "zod";
1626
- var pcb_route_hint = z96.object({
1646
+ import { z as z97 } from "zod";
1647
+ var pcb_route_hint = z97.object({
1627
1648
  x: distance,
1628
1649
  y: distance,
1629
- via: z96.boolean().optional(),
1650
+ via: z97.boolean().optional(),
1630
1651
  via_to_layer: layer_ref.optional()
1631
1652
  });
1632
- var pcb_route_hints = z96.array(pcb_route_hint);
1653
+ var pcb_route_hints = z97.array(pcb_route_hint);
1633
1654
  expectTypesMatch(true);
1634
1655
  expectTypesMatch(true);
1635
1656
 
1636
1657
  // src/pcb/properties/route_hint_point.ts
1637
- import { z as z97 } from "zod";
1638
- var route_hint_point = z97.object({
1658
+ import { z as z98 } from "zod";
1659
+ var route_hint_point = z98.object({
1639
1660
  x: distance,
1640
1661
  y: distance,
1641
- via: z97.boolean().optional(),
1662
+ via: z98.boolean().optional(),
1642
1663
  to_layer: layer_ref.optional(),
1643
1664
  trace_width: distance.optional()
1644
1665
  });
1645
1666
  expectTypesMatch(true);
1646
1667
 
1647
1668
  // src/pcb/properties/manufacturing_drc_properties.ts
1648
- import { z as z98 } from "zod";
1649
- var manufacturing_drc_properties = z98.object({
1669
+ import { z as z99 } from "zod";
1670
+ var manufacturing_drc_properties = z99.object({
1650
1671
  min_trace_width: length.optional(),
1651
1672
  min_board_edge_clearance: length.optional(),
1652
1673
  min_via_hole_edge_to_via_hole_edge_clearance: length.optional(),
@@ -1661,27 +1682,27 @@ var manufacturing_drc_properties = z98.object({
1661
1682
  });
1662
1683
 
1663
1684
  // src/pcb/pcb_component.ts
1664
- import { z as z99 } from "zod";
1665
- var pcb_component = z99.object({
1666
- type: z99.literal("pcb_component"),
1685
+ import { z as z100 } from "zod";
1686
+ var pcb_component = z100.object({
1687
+ type: z100.literal("pcb_component"),
1667
1688
  pcb_component_id: getZodPrefixedIdWithDefault("pcb_component"),
1668
- source_component_id: z99.string(),
1689
+ source_component_id: z100.string(),
1669
1690
  center: point,
1670
1691
  layer: layer_ref,
1671
1692
  rotation,
1672
- display_offset_x: z99.string().optional().describe(
1693
+ display_offset_x: z100.string().optional().describe(
1673
1694
  "How to display the x offset for this part, usually corresponding with how the user specified it"
1674
1695
  ),
1675
- display_offset_y: z99.string().optional().describe(
1696
+ display_offset_y: z100.string().optional().describe(
1676
1697
  "How to display the y offset for this part, usually corresponding with how the user specified it"
1677
1698
  ),
1678
1699
  width: length,
1679
1700
  height: length,
1680
- do_not_place: z99.boolean().optional(),
1681
- is_allowed_to_be_off_board: z99.boolean().optional(),
1682
- subcircuit_id: z99.string().optional(),
1683
- pcb_group_id: z99.string().optional(),
1684
- position_mode: z99.enum([
1701
+ do_not_place: z100.boolean().optional(),
1702
+ is_allowed_to_be_off_board: z100.boolean().optional(),
1703
+ subcircuit_id: z100.string().optional(),
1704
+ pcb_group_id: z100.string().optional(),
1705
+ position_mode: z100.enum([
1685
1706
  "packed",
1686
1707
  "relative_to_group_anchor",
1687
1708
  "relative_to_another_component",
@@ -1689,129 +1710,129 @@ var pcb_component = z99.object({
1689
1710
  ]).optional(),
1690
1711
  anchor_position: point.optional(),
1691
1712
  anchor_alignment: ninePointAnchor.optional(),
1692
- positioned_relative_to_pcb_group_id: z99.string().optional(),
1693
- positioned_relative_to_pcb_board_id: z99.string().optional(),
1713
+ positioned_relative_to_pcb_group_id: z100.string().optional(),
1714
+ positioned_relative_to_pcb_board_id: z100.string().optional(),
1694
1715
  cable_insertion_center: point.optional(),
1695
- insertion_direction: z99.enum([
1716
+ insertion_direction: z100.enum([
1696
1717
  "from_above",
1697
1718
  "from_left",
1698
1719
  "from_right",
1699
1720
  "from_front",
1700
1721
  "from_back"
1701
1722
  ]).optional(),
1702
- metadata: z99.object({
1723
+ metadata: z100.object({
1703
1724
  kicad_footprint: kicadFootprintMetadata.optional()
1704
1725
  }).optional(),
1705
- obstructs_within_bounds: z99.boolean().default(true).describe(
1726
+ obstructs_within_bounds: z100.boolean().default(true).describe(
1706
1727
  "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"
1707
1728
  )
1708
1729
  }).describe("Defines a component on the PCB");
1709
1730
  expectTypesMatch(true);
1710
1731
 
1711
1732
  // src/pcb/pcb_hole.ts
1712
- import { z as z100 } from "zod";
1713
- var pcb_hole_circle = z100.object({
1714
- type: z100.literal("pcb_hole"),
1733
+ import { z as z101 } from "zod";
1734
+ var pcb_hole_circle = z101.object({
1735
+ type: z101.literal("pcb_hole"),
1715
1736
  pcb_hole_id: getZodPrefixedIdWithDefault("pcb_hole"),
1716
- pcb_group_id: z100.string().optional(),
1717
- subcircuit_id: z100.string().optional(),
1718
- pcb_component_id: z100.string().optional(),
1719
- hole_shape: z100.literal("circle"),
1720
- hole_diameter: z100.number(),
1737
+ pcb_group_id: z101.string().optional(),
1738
+ subcircuit_id: z101.string().optional(),
1739
+ pcb_component_id: z101.string().optional(),
1740
+ hole_shape: z101.literal("circle"),
1741
+ hole_diameter: z101.number(),
1721
1742
  x: distance,
1722
1743
  y: distance,
1723
- is_covered_with_solder_mask: z100.boolean().optional(),
1724
- soldermask_margin: z100.number().optional()
1744
+ is_covered_with_solder_mask: z101.boolean().optional(),
1745
+ soldermask_margin: z101.number().optional()
1725
1746
  });
1726
1747
  var pcb_hole_circle_shape = pcb_hole_circle.describe(
1727
1748
  "Defines a circular hole on the PCB"
1728
1749
  );
1729
1750
  expectTypesMatch(true);
1730
- var pcb_hole_rect = z100.object({
1731
- type: z100.literal("pcb_hole"),
1751
+ var pcb_hole_rect = z101.object({
1752
+ type: z101.literal("pcb_hole"),
1732
1753
  pcb_hole_id: getZodPrefixedIdWithDefault("pcb_hole"),
1733
- pcb_group_id: z100.string().optional(),
1734
- subcircuit_id: z100.string().optional(),
1735
- pcb_component_id: z100.string().optional(),
1736
- hole_shape: z100.literal("rect"),
1737
- hole_width: z100.number(),
1738
- hole_height: z100.number(),
1754
+ pcb_group_id: z101.string().optional(),
1755
+ subcircuit_id: z101.string().optional(),
1756
+ pcb_component_id: z101.string().optional(),
1757
+ hole_shape: z101.literal("rect"),
1758
+ hole_width: z101.number(),
1759
+ hole_height: z101.number(),
1739
1760
  x: distance,
1740
1761
  y: distance,
1741
- is_covered_with_solder_mask: z100.boolean().optional(),
1742
- soldermask_margin: z100.number().optional()
1762
+ is_covered_with_solder_mask: z101.boolean().optional(),
1763
+ soldermask_margin: z101.number().optional()
1743
1764
  });
1744
1765
  var pcb_hole_rect_shape = pcb_hole_rect.describe(
1745
1766
  "Defines a rectangular (square-capable) hole on the PCB. Use equal width/height for square."
1746
1767
  );
1747
1768
  expectTypesMatch(true);
1748
- var pcb_hole_circle_or_square = z100.object({
1749
- type: z100.literal("pcb_hole"),
1769
+ var pcb_hole_circle_or_square = z101.object({
1770
+ type: z101.literal("pcb_hole"),
1750
1771
  pcb_hole_id: getZodPrefixedIdWithDefault("pcb_hole"),
1751
- pcb_group_id: z100.string().optional(),
1752
- subcircuit_id: z100.string().optional(),
1753
- pcb_component_id: z100.string().optional(),
1754
- hole_shape: z100.enum(["circle", "square"]),
1755
- hole_diameter: z100.number(),
1772
+ pcb_group_id: z101.string().optional(),
1773
+ subcircuit_id: z101.string().optional(),
1774
+ pcb_component_id: z101.string().optional(),
1775
+ hole_shape: z101.enum(["circle", "square"]),
1776
+ hole_diameter: z101.number(),
1756
1777
  x: distance,
1757
1778
  y: distance,
1758
- is_covered_with_solder_mask: z100.boolean().optional(),
1759
- soldermask_margin: z100.number().optional()
1779
+ is_covered_with_solder_mask: z101.boolean().optional(),
1780
+ soldermask_margin: z101.number().optional()
1760
1781
  });
1761
1782
  var pcb_hole_circle_or_square_shape = pcb_hole_circle_or_square.describe(
1762
1783
  "Defines a circular or square hole on the PCB"
1763
1784
  );
1764
1785
  expectTypesMatch(true);
1765
- var pcb_hole_oval = z100.object({
1766
- type: z100.literal("pcb_hole"),
1786
+ var pcb_hole_oval = z101.object({
1787
+ type: z101.literal("pcb_hole"),
1767
1788
  pcb_hole_id: getZodPrefixedIdWithDefault("pcb_hole"),
1768
- pcb_group_id: z100.string().optional(),
1769
- subcircuit_id: z100.string().optional(),
1770
- pcb_component_id: z100.string().optional(),
1771
- hole_shape: z100.literal("oval"),
1772
- hole_width: z100.number(),
1773
- hole_height: z100.number(),
1789
+ pcb_group_id: z101.string().optional(),
1790
+ subcircuit_id: z101.string().optional(),
1791
+ pcb_component_id: z101.string().optional(),
1792
+ hole_shape: z101.literal("oval"),
1793
+ hole_width: z101.number(),
1794
+ hole_height: z101.number(),
1774
1795
  x: distance,
1775
1796
  y: distance,
1776
- is_covered_with_solder_mask: z100.boolean().optional(),
1777
- soldermask_margin: z100.number().optional()
1797
+ is_covered_with_solder_mask: z101.boolean().optional(),
1798
+ soldermask_margin: z101.number().optional()
1778
1799
  });
1779
1800
  var pcb_hole_oval_shape = pcb_hole_oval.describe(
1780
1801
  "Defines an oval hole on the PCB"
1781
1802
  );
1782
1803
  expectTypesMatch(true);
1783
- var pcb_hole_pill = z100.object({
1784
- type: z100.literal("pcb_hole"),
1804
+ var pcb_hole_pill = z101.object({
1805
+ type: z101.literal("pcb_hole"),
1785
1806
  pcb_hole_id: getZodPrefixedIdWithDefault("pcb_hole"),
1786
- pcb_group_id: z100.string().optional(),
1787
- subcircuit_id: z100.string().optional(),
1788
- pcb_component_id: z100.string().optional(),
1789
- hole_shape: z100.literal("pill"),
1790
- hole_width: z100.number(),
1791
- hole_height: z100.number(),
1807
+ pcb_group_id: z101.string().optional(),
1808
+ subcircuit_id: z101.string().optional(),
1809
+ pcb_component_id: z101.string().optional(),
1810
+ hole_shape: z101.literal("pill"),
1811
+ hole_width: z101.number(),
1812
+ hole_height: z101.number(),
1792
1813
  x: distance,
1793
1814
  y: distance,
1794
- is_covered_with_solder_mask: z100.boolean().optional(),
1795
- soldermask_margin: z100.number().optional()
1815
+ is_covered_with_solder_mask: z101.boolean().optional(),
1816
+ soldermask_margin: z101.number().optional()
1796
1817
  });
1797
1818
  var pcb_hole_pill_shape = pcb_hole_pill.describe(
1798
1819
  "Defines a pill-shaped hole on the PCB"
1799
1820
  );
1800
1821
  expectTypesMatch(true);
1801
- var pcb_hole_rotated_pill = z100.object({
1802
- type: z100.literal("pcb_hole"),
1822
+ var pcb_hole_rotated_pill = z101.object({
1823
+ type: z101.literal("pcb_hole"),
1803
1824
  pcb_hole_id: getZodPrefixedIdWithDefault("pcb_hole"),
1804
- pcb_group_id: z100.string().optional(),
1805
- subcircuit_id: z100.string().optional(),
1806
- pcb_component_id: z100.string().optional(),
1807
- hole_shape: z100.literal("rotated_pill"),
1808
- hole_width: z100.number(),
1809
- hole_height: z100.number(),
1825
+ pcb_group_id: z101.string().optional(),
1826
+ subcircuit_id: z101.string().optional(),
1827
+ pcb_component_id: z101.string().optional(),
1828
+ hole_shape: z101.literal("rotated_pill"),
1829
+ hole_width: z101.number(),
1830
+ hole_height: z101.number(),
1810
1831
  x: distance,
1811
1832
  y: distance,
1812
1833
  ccw_rotation: rotation,
1813
- is_covered_with_solder_mask: z100.boolean().optional(),
1814
- soldermask_margin: z100.number().optional()
1834
+ is_covered_with_solder_mask: z101.boolean().optional(),
1835
+ soldermask_margin: z101.number().optional()
1815
1836
  });
1816
1837
  var pcb_hole_rotated_pill_shape = pcb_hole_rotated_pill.describe(
1817
1838
  "Defines a rotated pill-shaped hole on the PCB"
@@ -1820,147 +1841,147 @@ expectTypesMatch(true);
1820
1841
  var pcb_hole = pcb_hole_circle_or_square.or(pcb_hole_oval).or(pcb_hole_pill).or(pcb_hole_rotated_pill).or(pcb_hole_circle).or(pcb_hole_rect);
1821
1842
 
1822
1843
  // src/pcb/pcb_plated_hole.ts
1823
- import { z as z101 } from "zod";
1824
- var pcb_plated_hole_circle = z101.object({
1825
- type: z101.literal("pcb_plated_hole"),
1826
- shape: z101.literal("circle"),
1827
- pcb_group_id: z101.string().optional(),
1828
- subcircuit_id: z101.string().optional(),
1829
- outer_diameter: z101.number(),
1830
- hole_diameter: z101.number(),
1831
- is_covered_with_solder_mask: z101.boolean().optional(),
1844
+ import { z as z102 } from "zod";
1845
+ var pcb_plated_hole_circle = z102.object({
1846
+ type: z102.literal("pcb_plated_hole"),
1847
+ shape: z102.literal("circle"),
1848
+ pcb_group_id: z102.string().optional(),
1849
+ subcircuit_id: z102.string().optional(),
1850
+ outer_diameter: z102.number(),
1851
+ hole_diameter: z102.number(),
1852
+ is_covered_with_solder_mask: z102.boolean().optional(),
1832
1853
  x: distance,
1833
1854
  y: distance,
1834
- layers: z101.array(layer_ref),
1835
- port_hints: z101.array(z101.string()).optional(),
1836
- pcb_component_id: z101.string().optional(),
1837
- pcb_port_id: z101.string().optional(),
1855
+ layers: z102.array(layer_ref),
1856
+ port_hints: z102.array(z102.string()).optional(),
1857
+ pcb_component_id: z102.string().optional(),
1858
+ pcb_port_id: z102.string().optional(),
1838
1859
  pcb_plated_hole_id: getZodPrefixedIdWithDefault("pcb_plated_hole"),
1839
- soldermask_margin: z101.number().optional()
1860
+ soldermask_margin: z102.number().optional()
1840
1861
  });
1841
- var pcb_plated_hole_oval = z101.object({
1842
- type: z101.literal("pcb_plated_hole"),
1843
- shape: z101.enum(["oval", "pill"]),
1844
- pcb_group_id: z101.string().optional(),
1845
- subcircuit_id: z101.string().optional(),
1846
- outer_width: z101.number(),
1847
- outer_height: z101.number(),
1848
- hole_width: z101.number(),
1849
- hole_height: z101.number(),
1850
- is_covered_with_solder_mask: z101.boolean().optional(),
1862
+ var pcb_plated_hole_oval = z102.object({
1863
+ type: z102.literal("pcb_plated_hole"),
1864
+ shape: z102.enum(["oval", "pill"]),
1865
+ pcb_group_id: z102.string().optional(),
1866
+ subcircuit_id: z102.string().optional(),
1867
+ outer_width: z102.number(),
1868
+ outer_height: z102.number(),
1869
+ hole_width: z102.number(),
1870
+ hole_height: z102.number(),
1871
+ is_covered_with_solder_mask: z102.boolean().optional(),
1851
1872
  x: distance,
1852
1873
  y: distance,
1853
1874
  ccw_rotation: rotation,
1854
- layers: z101.array(layer_ref),
1855
- port_hints: z101.array(z101.string()).optional(),
1856
- pcb_component_id: z101.string().optional(),
1857
- pcb_port_id: z101.string().optional(),
1875
+ layers: z102.array(layer_ref),
1876
+ port_hints: z102.array(z102.string()).optional(),
1877
+ pcb_component_id: z102.string().optional(),
1878
+ pcb_port_id: z102.string().optional(),
1858
1879
  pcb_plated_hole_id: getZodPrefixedIdWithDefault("pcb_plated_hole"),
1859
- soldermask_margin: z101.number().optional()
1880
+ soldermask_margin: z102.number().optional()
1860
1881
  });
1861
- var pcb_circular_hole_with_rect_pad = z101.object({
1862
- type: z101.literal("pcb_plated_hole"),
1863
- shape: z101.literal("circular_hole_with_rect_pad"),
1864
- pcb_group_id: z101.string().optional(),
1865
- subcircuit_id: z101.string().optional(),
1866
- hole_shape: z101.literal("circle"),
1867
- pad_shape: z101.literal("rect"),
1868
- hole_diameter: z101.number(),
1869
- rect_pad_width: z101.number(),
1870
- rect_pad_height: z101.number(),
1871
- rect_border_radius: z101.number().optional(),
1882
+ var pcb_circular_hole_with_rect_pad = z102.object({
1883
+ type: z102.literal("pcb_plated_hole"),
1884
+ shape: z102.literal("circular_hole_with_rect_pad"),
1885
+ pcb_group_id: z102.string().optional(),
1886
+ subcircuit_id: z102.string().optional(),
1887
+ hole_shape: z102.literal("circle"),
1888
+ pad_shape: z102.literal("rect"),
1889
+ hole_diameter: z102.number(),
1890
+ rect_pad_width: z102.number(),
1891
+ rect_pad_height: z102.number(),
1892
+ rect_border_radius: z102.number().optional(),
1872
1893
  hole_offset_x: distance.default(0),
1873
1894
  hole_offset_y: distance.default(0),
1874
- is_covered_with_solder_mask: z101.boolean().optional(),
1895
+ is_covered_with_solder_mask: z102.boolean().optional(),
1875
1896
  x: distance,
1876
1897
  y: distance,
1877
- layers: z101.array(layer_ref),
1878
- port_hints: z101.array(z101.string()).optional(),
1879
- pcb_component_id: z101.string().optional(),
1880
- pcb_port_id: z101.string().optional(),
1898
+ layers: z102.array(layer_ref),
1899
+ port_hints: z102.array(z102.string()).optional(),
1900
+ pcb_component_id: z102.string().optional(),
1901
+ pcb_port_id: z102.string().optional(),
1881
1902
  pcb_plated_hole_id: getZodPrefixedIdWithDefault("pcb_plated_hole"),
1882
- soldermask_margin: z101.number().optional(),
1903
+ soldermask_margin: z102.number().optional(),
1883
1904
  rect_ccw_rotation: rotation.optional()
1884
1905
  });
1885
- var pcb_pill_hole_with_rect_pad = z101.object({
1886
- type: z101.literal("pcb_plated_hole"),
1887
- shape: z101.literal("pill_hole_with_rect_pad"),
1888
- pcb_group_id: z101.string().optional(),
1889
- subcircuit_id: z101.string().optional(),
1890
- hole_shape: z101.literal("pill"),
1891
- pad_shape: z101.literal("rect"),
1892
- hole_width: z101.number(),
1893
- hole_height: z101.number(),
1894
- rect_pad_width: z101.number(),
1895
- rect_pad_height: z101.number(),
1896
- rect_border_radius: z101.number().optional(),
1906
+ var pcb_pill_hole_with_rect_pad = z102.object({
1907
+ type: z102.literal("pcb_plated_hole"),
1908
+ shape: z102.literal("pill_hole_with_rect_pad"),
1909
+ pcb_group_id: z102.string().optional(),
1910
+ subcircuit_id: z102.string().optional(),
1911
+ hole_shape: z102.literal("pill"),
1912
+ pad_shape: z102.literal("rect"),
1913
+ hole_width: z102.number(),
1914
+ hole_height: z102.number(),
1915
+ rect_pad_width: z102.number(),
1916
+ rect_pad_height: z102.number(),
1917
+ rect_border_radius: z102.number().optional(),
1897
1918
  hole_offset_x: distance.default(0),
1898
1919
  hole_offset_y: distance.default(0),
1899
- is_covered_with_solder_mask: z101.boolean().optional(),
1920
+ is_covered_with_solder_mask: z102.boolean().optional(),
1900
1921
  x: distance,
1901
1922
  y: distance,
1902
- layers: z101.array(layer_ref),
1903
- port_hints: z101.array(z101.string()).optional(),
1904
- pcb_component_id: z101.string().optional(),
1905
- pcb_port_id: z101.string().optional(),
1923
+ layers: z102.array(layer_ref),
1924
+ port_hints: z102.array(z102.string()).optional(),
1925
+ pcb_component_id: z102.string().optional(),
1926
+ pcb_port_id: z102.string().optional(),
1906
1927
  pcb_plated_hole_id: getZodPrefixedIdWithDefault("pcb_plated_hole"),
1907
- soldermask_margin: z101.number().optional()
1928
+ soldermask_margin: z102.number().optional()
1908
1929
  });
1909
- var pcb_rotated_pill_hole_with_rect_pad = z101.object({
1910
- type: z101.literal("pcb_plated_hole"),
1911
- shape: z101.literal("rotated_pill_hole_with_rect_pad"),
1912
- pcb_group_id: z101.string().optional(),
1913
- subcircuit_id: z101.string().optional(),
1914
- hole_shape: z101.literal("rotated_pill"),
1915
- pad_shape: z101.literal("rect"),
1916
- hole_width: z101.number(),
1917
- hole_height: z101.number(),
1930
+ var pcb_rotated_pill_hole_with_rect_pad = z102.object({
1931
+ type: z102.literal("pcb_plated_hole"),
1932
+ shape: z102.literal("rotated_pill_hole_with_rect_pad"),
1933
+ pcb_group_id: z102.string().optional(),
1934
+ subcircuit_id: z102.string().optional(),
1935
+ hole_shape: z102.literal("rotated_pill"),
1936
+ pad_shape: z102.literal("rect"),
1937
+ hole_width: z102.number(),
1938
+ hole_height: z102.number(),
1918
1939
  hole_ccw_rotation: rotation,
1919
- rect_pad_width: z101.number(),
1920
- rect_pad_height: z101.number(),
1921
- rect_border_radius: z101.number().optional(),
1940
+ rect_pad_width: z102.number(),
1941
+ rect_pad_height: z102.number(),
1942
+ rect_border_radius: z102.number().optional(),
1922
1943
  rect_ccw_rotation: rotation,
1923
1944
  hole_offset_x: distance.default(0),
1924
1945
  hole_offset_y: distance.default(0),
1925
- is_covered_with_solder_mask: z101.boolean().optional(),
1946
+ is_covered_with_solder_mask: z102.boolean().optional(),
1926
1947
  x: distance,
1927
1948
  y: distance,
1928
- layers: z101.array(layer_ref),
1929
- port_hints: z101.array(z101.string()).optional(),
1930
- pcb_component_id: z101.string().optional(),
1931
- pcb_port_id: z101.string().optional(),
1949
+ layers: z102.array(layer_ref),
1950
+ port_hints: z102.array(z102.string()).optional(),
1951
+ pcb_component_id: z102.string().optional(),
1952
+ pcb_port_id: z102.string().optional(),
1932
1953
  pcb_plated_hole_id: getZodPrefixedIdWithDefault("pcb_plated_hole"),
1933
- soldermask_margin: z101.number().optional()
1954
+ soldermask_margin: z102.number().optional()
1934
1955
  });
1935
- var pcb_hole_with_polygon_pad = z101.object({
1936
- type: z101.literal("pcb_plated_hole"),
1937
- shape: z101.literal("hole_with_polygon_pad"),
1938
- pcb_group_id: z101.string().optional(),
1939
- subcircuit_id: z101.string().optional(),
1940
- hole_shape: z101.enum(["circle", "oval", "pill", "rotated_pill"]),
1941
- hole_diameter: z101.number().optional(),
1942
- hole_width: z101.number().optional(),
1943
- hole_height: z101.number().optional(),
1944
- pad_outline: z101.array(
1945
- z101.object({
1956
+ var pcb_hole_with_polygon_pad = z102.object({
1957
+ type: z102.literal("pcb_plated_hole"),
1958
+ shape: z102.literal("hole_with_polygon_pad"),
1959
+ pcb_group_id: z102.string().optional(),
1960
+ subcircuit_id: z102.string().optional(),
1961
+ hole_shape: z102.enum(["circle", "oval", "pill", "rotated_pill"]),
1962
+ hole_diameter: z102.number().optional(),
1963
+ hole_width: z102.number().optional(),
1964
+ hole_height: z102.number().optional(),
1965
+ pad_outline: z102.array(
1966
+ z102.object({
1946
1967
  x: distance,
1947
1968
  y: distance
1948
1969
  })
1949
1970
  ).min(3),
1950
1971
  hole_offset_x: distance.default(0),
1951
1972
  hole_offset_y: distance.default(0),
1952
- is_covered_with_solder_mask: z101.boolean().optional(),
1973
+ is_covered_with_solder_mask: z102.boolean().optional(),
1953
1974
  x: distance,
1954
1975
  y: distance,
1955
- layers: z101.array(layer_ref),
1956
- port_hints: z101.array(z101.string()).optional(),
1957
- pcb_component_id: z101.string().optional(),
1958
- pcb_port_id: z101.string().optional(),
1976
+ layers: z102.array(layer_ref),
1977
+ port_hints: z102.array(z102.string()).optional(),
1978
+ pcb_component_id: z102.string().optional(),
1979
+ pcb_port_id: z102.string().optional(),
1959
1980
  pcb_plated_hole_id: getZodPrefixedIdWithDefault("pcb_plated_hole"),
1960
- soldermask_margin: z101.number().optional(),
1981
+ soldermask_margin: z102.number().optional(),
1961
1982
  ccw_rotation: rotation.optional()
1962
1983
  });
1963
- var pcb_plated_hole = z101.union([
1984
+ var pcb_plated_hole = z102.union([
1964
1985
  pcb_plated_hole_circle,
1965
1986
  pcb_plated_hole_oval,
1966
1987
  pcb_circular_hole_with_rect_pad,
@@ -1978,138 +1999,138 @@ expectTypesMatch(true);
1978
1999
  expectTypesMatch(true);
1979
2000
 
1980
2001
  // src/pcb/pcb_port.ts
1981
- import { z as z102 } from "zod";
1982
- var pcb_port = z102.object({
1983
- type: z102.literal("pcb_port"),
2002
+ import { z as z103 } from "zod";
2003
+ var pcb_port = z103.object({
2004
+ type: z103.literal("pcb_port"),
1984
2005
  pcb_port_id: getZodPrefixedIdWithDefault("pcb_port"),
1985
- pcb_group_id: z102.string().optional(),
1986
- subcircuit_id: z102.string().optional(),
1987
- source_port_id: z102.string(),
1988
- pcb_component_id: z102.string().optional(),
2006
+ pcb_group_id: z103.string().optional(),
2007
+ subcircuit_id: z103.string().optional(),
2008
+ source_port_id: z103.string(),
2009
+ pcb_component_id: z103.string().optional(),
1989
2010
  x: distance,
1990
2011
  y: distance,
1991
- layers: z102.array(layer_ref),
1992
- is_board_pinout: z102.boolean().optional()
2012
+ layers: z103.array(layer_ref),
2013
+ is_board_pinout: z103.boolean().optional()
1993
2014
  }).describe("Defines a port on the PCB");
1994
2015
  expectTypesMatch(true);
1995
2016
 
1996
2017
  // src/pcb/pcb_smtpad.ts
1997
- import { z as z103 } from "zod";
1998
- var pcb_smtpad_circle = z103.object({
1999
- type: z103.literal("pcb_smtpad"),
2000
- shape: z103.literal("circle"),
2018
+ import { z as z104 } from "zod";
2019
+ var pcb_smtpad_circle = z104.object({
2020
+ type: z104.literal("pcb_smtpad"),
2021
+ shape: z104.literal("circle"),
2001
2022
  pcb_smtpad_id: getZodPrefixedIdWithDefault("pcb_smtpad"),
2002
- pcb_group_id: z103.string().optional(),
2003
- subcircuit_id: z103.string().optional(),
2023
+ pcb_group_id: z104.string().optional(),
2024
+ subcircuit_id: z104.string().optional(),
2004
2025
  x: distance,
2005
2026
  y: distance,
2006
- radius: z103.number(),
2027
+ radius: z104.number(),
2007
2028
  layer: layer_ref,
2008
- port_hints: z103.array(z103.string()).optional(),
2009
- pcb_component_id: z103.string().optional(),
2010
- pcb_port_id: z103.string().optional(),
2011
- is_covered_with_solder_mask: z103.boolean().optional(),
2012
- soldermask_margin: z103.number().optional()
2029
+ port_hints: z104.array(z104.string()).optional(),
2030
+ pcb_component_id: z104.string().optional(),
2031
+ pcb_port_id: z104.string().optional(),
2032
+ is_covered_with_solder_mask: z104.boolean().optional(),
2033
+ soldermask_margin: z104.number().optional()
2013
2034
  });
2014
- var pcb_smtpad_rect = z103.object({
2015
- type: z103.literal("pcb_smtpad"),
2016
- shape: z103.literal("rect"),
2035
+ var pcb_smtpad_rect = z104.object({
2036
+ type: z104.literal("pcb_smtpad"),
2037
+ shape: z104.literal("rect"),
2017
2038
  pcb_smtpad_id: getZodPrefixedIdWithDefault("pcb_smtpad"),
2018
- pcb_group_id: z103.string().optional(),
2019
- subcircuit_id: z103.string().optional(),
2039
+ pcb_group_id: z104.string().optional(),
2040
+ subcircuit_id: z104.string().optional(),
2020
2041
  x: distance,
2021
2042
  y: distance,
2022
- width: z103.number(),
2023
- height: z103.number(),
2024
- rect_border_radius: z103.number().optional(),
2025
- corner_radius: z103.number().optional(),
2043
+ width: z104.number(),
2044
+ height: z104.number(),
2045
+ rect_border_radius: z104.number().optional(),
2046
+ corner_radius: z104.number().optional(),
2026
2047
  layer: layer_ref,
2027
- port_hints: z103.array(z103.string()).optional(),
2028
- pcb_component_id: z103.string().optional(),
2029
- pcb_port_id: z103.string().optional(),
2030
- is_covered_with_solder_mask: z103.boolean().optional(),
2031
- soldermask_margin: z103.number().optional(),
2032
- soldermask_margin_left: z103.number().optional(),
2033
- soldermask_margin_top: z103.number().optional(),
2034
- soldermask_margin_right: z103.number().optional(),
2035
- soldermask_margin_bottom: z103.number().optional()
2048
+ port_hints: z104.array(z104.string()).optional(),
2049
+ pcb_component_id: z104.string().optional(),
2050
+ pcb_port_id: z104.string().optional(),
2051
+ is_covered_with_solder_mask: z104.boolean().optional(),
2052
+ soldermask_margin: z104.number().optional(),
2053
+ soldermask_margin_left: z104.number().optional(),
2054
+ soldermask_margin_top: z104.number().optional(),
2055
+ soldermask_margin_right: z104.number().optional(),
2056
+ soldermask_margin_bottom: z104.number().optional()
2036
2057
  });
2037
- var pcb_smtpad_rotated_rect = z103.object({
2038
- type: z103.literal("pcb_smtpad"),
2039
- shape: z103.literal("rotated_rect"),
2058
+ var pcb_smtpad_rotated_rect = z104.object({
2059
+ type: z104.literal("pcb_smtpad"),
2060
+ shape: z104.literal("rotated_rect"),
2040
2061
  pcb_smtpad_id: getZodPrefixedIdWithDefault("pcb_smtpad"),
2041
- pcb_group_id: z103.string().optional(),
2042
- subcircuit_id: z103.string().optional(),
2062
+ pcb_group_id: z104.string().optional(),
2063
+ subcircuit_id: z104.string().optional(),
2043
2064
  x: distance,
2044
2065
  y: distance,
2045
- width: z103.number(),
2046
- height: z103.number(),
2047
- rect_border_radius: z103.number().optional(),
2048
- corner_radius: z103.number().optional(),
2066
+ width: z104.number(),
2067
+ height: z104.number(),
2068
+ rect_border_radius: z104.number().optional(),
2069
+ corner_radius: z104.number().optional(),
2049
2070
  ccw_rotation: rotation,
2050
2071
  layer: layer_ref,
2051
- port_hints: z103.array(z103.string()).optional(),
2052
- pcb_component_id: z103.string().optional(),
2053
- pcb_port_id: z103.string().optional(),
2054
- is_covered_with_solder_mask: z103.boolean().optional(),
2055
- soldermask_margin: z103.number().optional(),
2056
- soldermask_margin_left: z103.number().optional(),
2057
- soldermask_margin_top: z103.number().optional(),
2058
- soldermask_margin_right: z103.number().optional(),
2059
- soldermask_margin_bottom: z103.number().optional()
2072
+ port_hints: z104.array(z104.string()).optional(),
2073
+ pcb_component_id: z104.string().optional(),
2074
+ pcb_port_id: z104.string().optional(),
2075
+ is_covered_with_solder_mask: z104.boolean().optional(),
2076
+ soldermask_margin: z104.number().optional(),
2077
+ soldermask_margin_left: z104.number().optional(),
2078
+ soldermask_margin_top: z104.number().optional(),
2079
+ soldermask_margin_right: z104.number().optional(),
2080
+ soldermask_margin_bottom: z104.number().optional()
2060
2081
  });
2061
- var pcb_smtpad_pill = z103.object({
2062
- type: z103.literal("pcb_smtpad"),
2063
- shape: z103.literal("pill"),
2082
+ var pcb_smtpad_pill = z104.object({
2083
+ type: z104.literal("pcb_smtpad"),
2084
+ shape: z104.literal("pill"),
2064
2085
  pcb_smtpad_id: getZodPrefixedIdWithDefault("pcb_smtpad"),
2065
- pcb_group_id: z103.string().optional(),
2066
- subcircuit_id: z103.string().optional(),
2086
+ pcb_group_id: z104.string().optional(),
2087
+ subcircuit_id: z104.string().optional(),
2067
2088
  x: distance,
2068
2089
  y: distance,
2069
- width: z103.number(),
2070
- height: z103.number(),
2071
- radius: z103.number(),
2090
+ width: z104.number(),
2091
+ height: z104.number(),
2092
+ radius: z104.number(),
2072
2093
  layer: layer_ref,
2073
- port_hints: z103.array(z103.string()).optional(),
2074
- pcb_component_id: z103.string().optional(),
2075
- pcb_port_id: z103.string().optional(),
2076
- is_covered_with_solder_mask: z103.boolean().optional(),
2077
- soldermask_margin: z103.number().optional()
2094
+ port_hints: z104.array(z104.string()).optional(),
2095
+ pcb_component_id: z104.string().optional(),
2096
+ pcb_port_id: z104.string().optional(),
2097
+ is_covered_with_solder_mask: z104.boolean().optional(),
2098
+ soldermask_margin: z104.number().optional()
2078
2099
  });
2079
- var pcb_smtpad_rotated_pill = z103.object({
2080
- type: z103.literal("pcb_smtpad"),
2081
- shape: z103.literal("rotated_pill"),
2100
+ var pcb_smtpad_rotated_pill = z104.object({
2101
+ type: z104.literal("pcb_smtpad"),
2102
+ shape: z104.literal("rotated_pill"),
2082
2103
  pcb_smtpad_id: getZodPrefixedIdWithDefault("pcb_smtpad"),
2083
- pcb_group_id: z103.string().optional(),
2084
- subcircuit_id: z103.string().optional(),
2104
+ pcb_group_id: z104.string().optional(),
2105
+ subcircuit_id: z104.string().optional(),
2085
2106
  x: distance,
2086
2107
  y: distance,
2087
- width: z103.number(),
2088
- height: z103.number(),
2089
- radius: z103.number(),
2108
+ width: z104.number(),
2109
+ height: z104.number(),
2110
+ radius: z104.number(),
2090
2111
  ccw_rotation: rotation,
2091
2112
  layer: layer_ref,
2092
- port_hints: z103.array(z103.string()).optional(),
2093
- pcb_component_id: z103.string().optional(),
2094
- pcb_port_id: z103.string().optional(),
2095
- is_covered_with_solder_mask: z103.boolean().optional(),
2096
- soldermask_margin: z103.number().optional()
2113
+ port_hints: z104.array(z104.string()).optional(),
2114
+ pcb_component_id: z104.string().optional(),
2115
+ pcb_port_id: z104.string().optional(),
2116
+ is_covered_with_solder_mask: z104.boolean().optional(),
2117
+ soldermask_margin: z104.number().optional()
2097
2118
  });
2098
- var pcb_smtpad_polygon = z103.object({
2099
- type: z103.literal("pcb_smtpad"),
2100
- shape: z103.literal("polygon"),
2119
+ var pcb_smtpad_polygon = z104.object({
2120
+ type: z104.literal("pcb_smtpad"),
2121
+ shape: z104.literal("polygon"),
2101
2122
  pcb_smtpad_id: getZodPrefixedIdWithDefault("pcb_smtpad"),
2102
- pcb_group_id: z103.string().optional(),
2103
- subcircuit_id: z103.string().optional(),
2104
- points: z103.array(point),
2123
+ pcb_group_id: z104.string().optional(),
2124
+ subcircuit_id: z104.string().optional(),
2125
+ points: z104.array(point),
2105
2126
  layer: layer_ref,
2106
- port_hints: z103.array(z103.string()).optional(),
2107
- pcb_component_id: z103.string().optional(),
2108
- pcb_port_id: z103.string().optional(),
2109
- is_covered_with_solder_mask: z103.boolean().optional(),
2110
- soldermask_margin: z103.number().optional()
2127
+ port_hints: z104.array(z104.string()).optional(),
2128
+ pcb_component_id: z104.string().optional(),
2129
+ pcb_port_id: z104.string().optional(),
2130
+ is_covered_with_solder_mask: z104.boolean().optional(),
2131
+ soldermask_margin: z104.number().optional()
2111
2132
  });
2112
- var pcb_smtpad = z103.discriminatedUnion("shape", [
2133
+ var pcb_smtpad = z104.discriminatedUnion("shape", [
2113
2134
  pcb_smtpad_circle,
2114
2135
  pcb_smtpad_rect,
2115
2136
  pcb_smtpad_rotated_rect,
@@ -2125,79 +2146,79 @@ expectTypesMatch(true);
2125
2146
  expectTypesMatch(true);
2126
2147
 
2127
2148
  // src/pcb/pcb_solder_paste.ts
2128
- import { z as z104 } from "zod";
2129
- var pcb_solder_paste_circle = z104.object({
2130
- type: z104.literal("pcb_solder_paste"),
2131
- shape: z104.literal("circle"),
2149
+ import { z as z105 } from "zod";
2150
+ var pcb_solder_paste_circle = z105.object({
2151
+ type: z105.literal("pcb_solder_paste"),
2152
+ shape: z105.literal("circle"),
2132
2153
  pcb_solder_paste_id: getZodPrefixedIdWithDefault("pcb_solder_paste"),
2133
- pcb_group_id: z104.string().optional(),
2134
- subcircuit_id: z104.string().optional(),
2154
+ pcb_group_id: z105.string().optional(),
2155
+ subcircuit_id: z105.string().optional(),
2135
2156
  x: distance,
2136
2157
  y: distance,
2137
- radius: z104.number(),
2158
+ radius: z105.number(),
2138
2159
  layer: layer_ref,
2139
- pcb_component_id: z104.string().optional(),
2140
- pcb_smtpad_id: z104.string().optional()
2160
+ pcb_component_id: z105.string().optional(),
2161
+ pcb_smtpad_id: z105.string().optional()
2141
2162
  });
2142
- var pcb_solder_paste_rect = z104.object({
2143
- type: z104.literal("pcb_solder_paste"),
2144
- shape: z104.literal("rect"),
2163
+ var pcb_solder_paste_rect = z105.object({
2164
+ type: z105.literal("pcb_solder_paste"),
2165
+ shape: z105.literal("rect"),
2145
2166
  pcb_solder_paste_id: getZodPrefixedIdWithDefault("pcb_solder_paste"),
2146
- pcb_group_id: z104.string().optional(),
2147
- subcircuit_id: z104.string().optional(),
2167
+ pcb_group_id: z105.string().optional(),
2168
+ subcircuit_id: z105.string().optional(),
2148
2169
  x: distance,
2149
2170
  y: distance,
2150
- width: z104.number(),
2151
- height: z104.number(),
2171
+ width: z105.number(),
2172
+ height: z105.number(),
2152
2173
  layer: layer_ref,
2153
- pcb_component_id: z104.string().optional(),
2154
- pcb_smtpad_id: z104.string().optional()
2174
+ pcb_component_id: z105.string().optional(),
2175
+ pcb_smtpad_id: z105.string().optional()
2155
2176
  });
2156
- var pcb_solder_paste_pill = z104.object({
2157
- type: z104.literal("pcb_solder_paste"),
2158
- shape: z104.literal("pill"),
2177
+ var pcb_solder_paste_pill = z105.object({
2178
+ type: z105.literal("pcb_solder_paste"),
2179
+ shape: z105.literal("pill"),
2159
2180
  pcb_solder_paste_id: getZodPrefixedIdWithDefault("pcb_solder_paste"),
2160
- pcb_group_id: z104.string().optional(),
2161
- subcircuit_id: z104.string().optional(),
2181
+ pcb_group_id: z105.string().optional(),
2182
+ subcircuit_id: z105.string().optional(),
2162
2183
  x: distance,
2163
2184
  y: distance,
2164
- width: z104.number(),
2165
- height: z104.number(),
2166
- radius: z104.number(),
2185
+ width: z105.number(),
2186
+ height: z105.number(),
2187
+ radius: z105.number(),
2167
2188
  layer: layer_ref,
2168
- pcb_component_id: z104.string().optional(),
2169
- pcb_smtpad_id: z104.string().optional()
2189
+ pcb_component_id: z105.string().optional(),
2190
+ pcb_smtpad_id: z105.string().optional()
2170
2191
  });
2171
- var pcb_solder_paste_rotated_rect = z104.object({
2172
- type: z104.literal("pcb_solder_paste"),
2173
- shape: z104.literal("rotated_rect"),
2192
+ var pcb_solder_paste_rotated_rect = z105.object({
2193
+ type: z105.literal("pcb_solder_paste"),
2194
+ shape: z105.literal("rotated_rect"),
2174
2195
  pcb_solder_paste_id: getZodPrefixedIdWithDefault("pcb_solder_paste"),
2175
- pcb_group_id: z104.string().optional(),
2176
- subcircuit_id: z104.string().optional(),
2196
+ pcb_group_id: z105.string().optional(),
2197
+ subcircuit_id: z105.string().optional(),
2177
2198
  x: distance,
2178
2199
  y: distance,
2179
- width: z104.number(),
2180
- height: z104.number(),
2200
+ width: z105.number(),
2201
+ height: z105.number(),
2181
2202
  ccw_rotation: distance,
2182
2203
  layer: layer_ref,
2183
- pcb_component_id: z104.string().optional(),
2184
- pcb_smtpad_id: z104.string().optional()
2204
+ pcb_component_id: z105.string().optional(),
2205
+ pcb_smtpad_id: z105.string().optional()
2185
2206
  });
2186
- var pcb_solder_paste_oval = z104.object({
2187
- type: z104.literal("pcb_solder_paste"),
2188
- shape: z104.literal("oval"),
2207
+ var pcb_solder_paste_oval = z105.object({
2208
+ type: z105.literal("pcb_solder_paste"),
2209
+ shape: z105.literal("oval"),
2189
2210
  pcb_solder_paste_id: getZodPrefixedIdWithDefault("pcb_solder_paste"),
2190
- pcb_group_id: z104.string().optional(),
2191
- subcircuit_id: z104.string().optional(),
2211
+ pcb_group_id: z105.string().optional(),
2212
+ subcircuit_id: z105.string().optional(),
2192
2213
  x: distance,
2193
2214
  y: distance,
2194
- width: z104.number(),
2195
- height: z104.number(),
2215
+ width: z105.number(),
2216
+ height: z105.number(),
2196
2217
  layer: layer_ref,
2197
- pcb_component_id: z104.string().optional(),
2198
- pcb_smtpad_id: z104.string().optional()
2218
+ pcb_component_id: z105.string().optional(),
2219
+ pcb_smtpad_id: z105.string().optional()
2199
2220
  });
2200
- var pcb_solder_paste = z104.union([
2221
+ var pcb_solder_paste = z105.union([
2201
2222
  pcb_solder_paste_circle,
2202
2223
  pcb_solder_paste_rect,
2203
2224
  pcb_solder_paste_pill,
@@ -2213,193 +2234,193 @@ expectTypesMatch(
2213
2234
  expectTypesMatch(true);
2214
2235
 
2215
2236
  // src/pcb/pcb_text.ts
2216
- import { z as z105 } from "zod";
2217
- var pcb_text = z105.object({
2218
- type: z105.literal("pcb_text"),
2237
+ import { z as z106 } from "zod";
2238
+ var pcb_text = z106.object({
2239
+ type: z106.literal("pcb_text"),
2219
2240
  pcb_text_id: getZodPrefixedIdWithDefault("pcb_text"),
2220
- pcb_group_id: z105.string().optional(),
2221
- subcircuit_id: z105.string().optional(),
2222
- text: z105.string(),
2241
+ pcb_group_id: z106.string().optional(),
2242
+ subcircuit_id: z106.string().optional(),
2243
+ text: z106.string(),
2223
2244
  center: point,
2224
2245
  layer: layer_ref,
2225
2246
  width: length,
2226
2247
  height: length,
2227
- lines: z105.number(),
2248
+ lines: z106.number(),
2228
2249
  // @ts-ignore
2229
- align: z105.enum(["bottom-left"])
2250
+ align: z106.enum(["bottom-left"])
2230
2251
  }).describe("Defines text on the PCB");
2231
2252
  expectTypesMatch(true);
2232
2253
 
2233
2254
  // src/pcb/pcb_trace.ts
2234
- import { z as z106 } from "zod";
2235
- var pcb_trace_route_point_wire = z106.object({
2236
- route_type: z106.literal("wire"),
2255
+ import { z as z107 } from "zod";
2256
+ var pcb_trace_route_point_wire = z107.object({
2257
+ route_type: z107.literal("wire"),
2237
2258
  x: distance,
2238
2259
  y: distance,
2239
2260
  width: distance,
2240
- copper_pour_id: z106.string().optional(),
2241
- is_inside_copper_pour: z106.boolean().optional(),
2242
- start_pcb_port_id: z106.string().optional(),
2243
- end_pcb_port_id: z106.string().optional(),
2261
+ copper_pour_id: z107.string().optional(),
2262
+ is_inside_copper_pour: z107.boolean().optional(),
2263
+ start_pcb_port_id: z107.string().optional(),
2264
+ end_pcb_port_id: z107.string().optional(),
2244
2265
  layer: layer_ref
2245
2266
  });
2246
- var pcb_trace_route_point_via = z106.object({
2247
- route_type: z106.literal("via"),
2267
+ var pcb_trace_route_point_via = z107.object({
2268
+ route_type: z107.literal("via"),
2248
2269
  x: distance,
2249
2270
  y: distance,
2250
- copper_pour_id: z106.string().optional(),
2251
- is_inside_copper_pour: z106.boolean().optional(),
2271
+ copper_pour_id: z107.string().optional(),
2272
+ is_inside_copper_pour: z107.boolean().optional(),
2252
2273
  hole_diameter: distance.optional(),
2253
2274
  outer_diameter: distance.optional(),
2254
2275
  from_layer: layer_ref,
2255
2276
  to_layer: layer_ref
2256
2277
  });
2257
- var pcb_trace_route_point_through_pad = z106.object({
2258
- route_type: z106.literal("through_pad"),
2278
+ var pcb_trace_route_point_through_pad = z107.object({
2279
+ route_type: z107.literal("through_pad"),
2259
2280
  start: point,
2260
2281
  end: point,
2261
2282
  width: distance,
2262
2283
  start_layer: layer_ref,
2263
2284
  end_layer: layer_ref,
2264
- pcb_smtpad_id: z106.string().optional(),
2265
- pcb_plated_hole_id: z106.string().optional()
2285
+ pcb_smtpad_id: z107.string().optional(),
2286
+ pcb_plated_hole_id: z107.string().optional()
2266
2287
  });
2267
- var pcb_trace_route_point = z106.union([
2288
+ var pcb_trace_route_point = z107.union([
2268
2289
  pcb_trace_route_point_wire,
2269
2290
  pcb_trace_route_point_via,
2270
2291
  pcb_trace_route_point_through_pad
2271
2292
  ]);
2272
- var pcb_trace = z106.object({
2273
- type: z106.literal("pcb_trace"),
2274
- source_trace_id: z106.string().optional(),
2275
- pcb_component_id: z106.string().optional(),
2293
+ var pcb_trace = z107.object({
2294
+ type: z107.literal("pcb_trace"),
2295
+ source_trace_id: z107.string().optional(),
2296
+ pcb_component_id: z107.string().optional(),
2276
2297
  pcb_trace_id: getZodPrefixedIdWithDefault("pcb_trace"),
2277
- pcb_group_id: z106.string().optional(),
2278
- subcircuit_id: z106.string().optional(),
2279
- route_thickness_mode: z106.enum(["constant", "interpolated"]).default("constant").optional(),
2280
- route_order_index: z106.number().optional(),
2281
- should_round_corners: z106.boolean().optional(),
2282
- trace_length: z106.number().optional(),
2283
- highlight_color: z106.string().optional(),
2284
- route: z106.array(pcb_trace_route_point)
2298
+ pcb_group_id: z107.string().optional(),
2299
+ subcircuit_id: z107.string().optional(),
2300
+ route_thickness_mode: z107.enum(["constant", "interpolated"]).default("constant").optional(),
2301
+ route_order_index: z107.number().optional(),
2302
+ should_round_corners: z107.boolean().optional(),
2303
+ trace_length: z107.number().optional(),
2304
+ highlight_color: z107.string().optional(),
2305
+ route: z107.array(pcb_trace_route_point)
2285
2306
  }).describe("Defines a trace on the PCB");
2286
2307
  expectTypesMatch(true);
2287
2308
  expectTypesMatch(true);
2288
2309
 
2289
2310
  // src/pcb/pcb_trace_warning.ts
2290
- import { z as z107 } from "zod";
2291
- var pcb_trace_warning = z107.object({
2292
- type: z107.literal("pcb_trace_warning"),
2311
+ import { z as z108 } from "zod";
2312
+ var pcb_trace_warning = z108.object({
2313
+ type: z108.literal("pcb_trace_warning"),
2293
2314
  pcb_trace_warning_id: getZodPrefixedIdWithDefault("pcb_trace_warning"),
2294
- warning_type: z107.literal("pcb_trace_warning").default("pcb_trace_warning"),
2295
- message: z107.string(),
2315
+ warning_type: z108.literal("pcb_trace_warning").default("pcb_trace_warning"),
2316
+ message: z108.string(),
2296
2317
  center: point.optional(),
2297
- pcb_trace_id: z107.string(),
2298
- source_trace_id: z107.string(),
2299
- pcb_component_ids: z107.array(z107.string()),
2300
- pcb_port_ids: z107.array(z107.string()),
2301
- subcircuit_id: z107.string().optional()
2318
+ pcb_trace_id: z108.string(),
2319
+ source_trace_id: z108.string(),
2320
+ pcb_component_ids: z108.array(z108.string()),
2321
+ pcb_port_ids: z108.array(z108.string()),
2322
+ subcircuit_id: z108.string().optional()
2302
2323
  }).describe("Defines a trace warning on the PCB");
2303
2324
  expectTypesMatch(true);
2304
2325
 
2305
2326
  // src/pcb/pcb_trace_too_long_warning.ts
2306
- import { z as z108 } from "zod";
2307
- var pcb_trace_too_long_warning = z108.object({
2308
- type: z108.literal("pcb_trace_too_long_warning"),
2327
+ import { z as z109 } from "zod";
2328
+ var pcb_trace_too_long_warning = z109.object({
2329
+ type: z109.literal("pcb_trace_too_long_warning"),
2309
2330
  pcb_trace_too_long_warning_id: getZodPrefixedIdWithDefault(
2310
2331
  "pcb_trace_too_long_warning"
2311
2332
  ),
2312
- warning_type: z108.literal("pcb_trace_too_long_warning").default("pcb_trace_too_long_warning"),
2313
- message: z108.string(),
2314
- pcb_trace_id: z108.string(),
2315
- source_net_id: z108.string().optional(),
2316
- source_trace_id: z108.string().optional(),
2333
+ warning_type: z109.literal("pcb_trace_too_long_warning").default("pcb_trace_too_long_warning"),
2334
+ message: z109.string(),
2335
+ pcb_trace_id: z109.string(),
2336
+ source_net_id: z109.string().optional(),
2337
+ source_trace_id: z109.string().optional(),
2317
2338
  actual_trace_length: distance,
2318
2339
  maximum_trace_length: distance,
2319
- subcircuit_id: z108.string().optional()
2340
+ subcircuit_id: z109.string().optional()
2320
2341
  }).describe(
2321
2342
  "Warning emitted when a PCB trace is longer than its maximum allowed length"
2322
2343
  );
2323
2344
  expectTypesMatch(true);
2324
2345
 
2325
2346
  // src/pcb/pcb_trace_error.ts
2326
- import { z as z109 } from "zod";
2347
+ import { z as z110 } from "zod";
2327
2348
  var pcb_trace_error = base_circuit_json_error.extend({
2328
- type: z109.literal("pcb_trace_error"),
2349
+ type: z110.literal("pcb_trace_error"),
2329
2350
  pcb_trace_error_id: getZodPrefixedIdWithDefault("pcb_trace_error"),
2330
- error_type: z109.literal("pcb_trace_error").default("pcb_trace_error"),
2351
+ error_type: z110.literal("pcb_trace_error").default("pcb_trace_error"),
2331
2352
  center: point.optional(),
2332
- pcb_trace_id: z109.string(),
2333
- source_trace_id: z109.string(),
2334
- pcb_component_ids: z109.array(z109.string()),
2335
- pcb_port_ids: z109.array(z109.string()),
2336
- subcircuit_id: z109.string().optional()
2353
+ pcb_trace_id: z110.string(),
2354
+ source_trace_id: z110.string(),
2355
+ pcb_component_ids: z110.array(z110.string()),
2356
+ pcb_port_ids: z110.array(z110.string()),
2357
+ subcircuit_id: z110.string().optional()
2337
2358
  }).describe("Defines a trace error on the PCB");
2338
2359
  expectTypesMatch(true);
2339
2360
 
2340
2361
  // src/pcb/pcb_trace_missing_error.ts
2341
- import { z as z110 } from "zod";
2362
+ import { z as z111 } from "zod";
2342
2363
  var pcb_trace_missing_error = base_circuit_json_error.extend({
2343
- type: z110.literal("pcb_trace_missing_error"),
2364
+ type: z111.literal("pcb_trace_missing_error"),
2344
2365
  pcb_trace_missing_error_id: getZodPrefixedIdWithDefault(
2345
2366
  "pcb_trace_missing_error"
2346
2367
  ),
2347
- error_type: z110.literal("pcb_trace_missing_error").default("pcb_trace_missing_error"),
2368
+ error_type: z111.literal("pcb_trace_missing_error").default("pcb_trace_missing_error"),
2348
2369
  center: point.optional(),
2349
- source_trace_id: z110.string(),
2350
- pcb_component_ids: z110.array(z110.string()),
2351
- pcb_port_ids: z110.array(z110.string()),
2352
- subcircuit_id: z110.string().optional()
2370
+ source_trace_id: z111.string(),
2371
+ pcb_component_ids: z111.array(z111.string()),
2372
+ pcb_port_ids: z111.array(z111.string()),
2373
+ subcircuit_id: z111.string().optional()
2353
2374
  }).describe(
2354
2375
  "Defines an error when a source trace has no corresponding PCB trace"
2355
2376
  );
2356
2377
  expectTypesMatch(true);
2357
2378
 
2358
2379
  // src/pcb/pcb_port_not_matched_error.ts
2359
- import { z as z111 } from "zod";
2380
+ import { z as z112 } from "zod";
2360
2381
  var pcb_port_not_matched_error = base_circuit_json_error.extend({
2361
- type: z111.literal("pcb_port_not_matched_error"),
2382
+ type: z112.literal("pcb_port_not_matched_error"),
2362
2383
  pcb_error_id: getZodPrefixedIdWithDefault("pcb_error"),
2363
- error_type: z111.literal("pcb_port_not_matched_error").default("pcb_port_not_matched_error"),
2364
- pcb_component_ids: z111.array(z111.string()),
2365
- subcircuit_id: z111.string().optional()
2384
+ error_type: z112.literal("pcb_port_not_matched_error").default("pcb_port_not_matched_error"),
2385
+ pcb_component_ids: z112.array(z112.string()),
2386
+ subcircuit_id: z112.string().optional()
2366
2387
  }).describe("Defines a trace error on the PCB where a port is not matched");
2367
2388
  expectTypesMatch(true);
2368
2389
 
2369
2390
  // src/pcb/pcb_port_not_connected_error.ts
2370
- import { z as z112 } from "zod";
2391
+ import { z as z113 } from "zod";
2371
2392
  var pcb_port_not_connected_error = base_circuit_json_error.extend({
2372
- type: z112.literal("pcb_port_not_connected_error"),
2393
+ type: z113.literal("pcb_port_not_connected_error"),
2373
2394
  pcb_port_not_connected_error_id: getZodPrefixedIdWithDefault(
2374
2395
  "pcb_port_not_connected_error"
2375
2396
  ),
2376
- error_type: z112.literal("pcb_port_not_connected_error").default("pcb_port_not_connected_error"),
2377
- pcb_port_ids: z112.array(z112.string()),
2378
- pcb_component_ids: z112.array(z112.string()),
2379
- subcircuit_id: z112.string().optional()
2397
+ error_type: z113.literal("pcb_port_not_connected_error").default("pcb_port_not_connected_error"),
2398
+ pcb_port_ids: z113.array(z113.string()),
2399
+ pcb_component_ids: z113.array(z113.string()),
2400
+ subcircuit_id: z113.string().optional()
2380
2401
  }).describe("Defines an error when a pcb port is not connected to any trace");
2381
2402
  expectTypesMatch(
2382
2403
  true
2383
2404
  );
2384
2405
 
2385
2406
  // src/pcb/pcb_net.ts
2386
- import { z as z113 } from "zod";
2387
- var pcb_net = z113.object({
2388
- type: z113.literal("pcb_net"),
2407
+ import { z as z114 } from "zod";
2408
+ var pcb_net = z114.object({
2409
+ type: z114.literal("pcb_net"),
2389
2410
  pcb_net_id: getZodPrefixedIdWithDefault("pcb_net"),
2390
- source_net_id: z113.string().optional(),
2391
- highlight_color: z113.string().optional()
2411
+ source_net_id: z114.string().optional(),
2412
+ highlight_color: z114.string().optional()
2392
2413
  }).describe("Defines a net on the PCB");
2393
2414
  expectTypesMatch(true);
2394
2415
 
2395
2416
  // src/pcb/pcb_via.ts
2396
- import { z as z114 } from "zod";
2397
- var pcb_via = z114.object({
2398
- type: z114.literal("pcb_via"),
2417
+ import { z as z115 } from "zod";
2418
+ var pcb_via = z115.object({
2419
+ type: z115.literal("pcb_via"),
2399
2420
  pcb_via_id: getZodPrefixedIdWithDefault("pcb_via"),
2400
- pcb_group_id: z114.string().optional(),
2401
- subcircuit_id: z114.string().optional(),
2402
- subcircuit_connectivity_map_key: z114.string().optional(),
2421
+ pcb_group_id: z115.string().optional(),
2422
+ subcircuit_id: z115.string().optional(),
2423
+ subcircuit_connectivity_map_key: z115.string().optional(),
2403
2424
  x: distance,
2404
2425
  y: distance,
2405
2426
  outer_diameter: distance.default("0.6mm"),
@@ -2408,103 +2429,103 @@ var pcb_via = z114.object({
2408
2429
  from_layer: layer_ref.optional(),
2409
2430
  /** @deprecated */
2410
2431
  to_layer: layer_ref.optional(),
2411
- layers: z114.array(layer_ref),
2412
- pcb_trace_id: z114.string().optional(),
2413
- net_is_assignable: z114.boolean().optional(),
2414
- net_assigned: z114.boolean().optional(),
2415
- is_tented: z114.boolean().optional()
2432
+ layers: z115.array(layer_ref),
2433
+ pcb_trace_id: z115.string().optional(),
2434
+ net_is_assignable: z115.boolean().optional(),
2435
+ net_assigned: z115.boolean().optional(),
2436
+ is_tented: z115.boolean().optional()
2416
2437
  }).describe("Defines a via on the PCB");
2417
2438
  expectTypesMatch(true);
2418
2439
 
2419
2440
  // src/pcb/pcb_board.ts
2420
- import { z as z115 } from "zod";
2421
- var pcb_board = z115.object({
2422
- type: z115.literal("pcb_board"),
2441
+ import { z as z116 } from "zod";
2442
+ var pcb_board = z116.object({
2443
+ type: z116.literal("pcb_board"),
2423
2444
  pcb_board_id: getZodPrefixedIdWithDefault("pcb_board"),
2424
- pcb_panel_id: z115.string().optional(),
2425
- carrier_pcb_board_id: z115.string().optional(),
2426
- is_subcircuit: z115.boolean().optional(),
2427
- subcircuit_id: z115.string().optional(),
2428
- is_mounted_to_carrier_board: z115.boolean().optional(),
2445
+ pcb_panel_id: z116.string().optional(),
2446
+ carrier_pcb_board_id: z116.string().optional(),
2447
+ is_subcircuit: z116.boolean().optional(),
2448
+ subcircuit_id: z116.string().optional(),
2449
+ is_mounted_to_carrier_board: z116.boolean().optional(),
2429
2450
  width: length.optional(),
2430
2451
  height: length.optional(),
2431
2452
  center: point,
2432
- display_offset_x: z115.string().optional().describe(
2453
+ display_offset_x: z116.string().optional().describe(
2433
2454
  "How to display the x offset for this board, usually corresponding with how the user specified it"
2434
2455
  ),
2435
- display_offset_y: z115.string().optional().describe(
2456
+ display_offset_y: z116.string().optional().describe(
2436
2457
  "How to display the y offset for this board, usually corresponding with how the user specified it"
2437
2458
  ),
2438
2459
  thickness: length.optional().default(1.4),
2439
- num_layers: z115.number().optional().default(4),
2440
- outline: z115.array(point).optional(),
2441
- shape: z115.enum(["rect", "polygon"]).optional(),
2442
- material: z115.enum(["fr4", "fr1"]).default("fr4"),
2443
- solder_mask_color: z115.string().optional(),
2444
- silkscreen_color: z115.string().optional(),
2460
+ num_layers: z116.number().optional().default(4),
2461
+ outline: z116.array(point).optional(),
2462
+ shape: z116.enum(["rect", "polygon"]).optional(),
2463
+ material: z116.enum(["fr4", "fr1"]).default("fr4"),
2464
+ solder_mask_color: z116.string().optional(),
2465
+ silkscreen_color: z116.string().optional(),
2445
2466
  anchor_position: point.optional(),
2446
2467
  anchor_alignment: ninePointAnchor.optional(),
2447
- position_mode: z115.enum(["relative_to_panel_anchor", "none"]).optional()
2468
+ position_mode: z116.enum(["relative_to_panel_anchor", "none"]).optional()
2448
2469
  }).merge(manufacturing_drc_properties).describe("Defines the board outline of the PCB");
2449
2470
  expectTypesMatch(true);
2450
2471
 
2451
2472
  // src/pcb/pcb_panel.ts
2452
- import { z as z116 } from "zod";
2453
- var pcb_panel = z116.object({
2454
- type: z116.literal("pcb_panel"),
2473
+ import { z as z117 } from "zod";
2474
+ var pcb_panel = z117.object({
2475
+ type: z117.literal("pcb_panel"),
2455
2476
  pcb_panel_id: getZodPrefixedIdWithDefault("pcb_panel"),
2456
2477
  width: length,
2457
2478
  height: length,
2458
2479
  center: point,
2459
2480
  thickness: length.optional().default(1.4),
2460
- covered_with_solder_mask: z116.boolean().optional().default(true)
2481
+ covered_with_solder_mask: z117.boolean().optional().default(true)
2461
2482
  }).describe("Defines a PCB panel that can contain multiple boards");
2462
2483
  expectTypesMatch(true);
2463
2484
 
2464
2485
  // src/pcb/pcb_placement_error.ts
2465
- import { z as z117 } from "zod";
2486
+ import { z as z118 } from "zod";
2466
2487
  var pcb_placement_error = base_circuit_json_error.extend({
2467
- type: z117.literal("pcb_placement_error"),
2488
+ type: z118.literal("pcb_placement_error"),
2468
2489
  pcb_placement_error_id: getZodPrefixedIdWithDefault("pcb_placement_error"),
2469
- error_type: z117.literal("pcb_placement_error").default("pcb_placement_error"),
2470
- subcircuit_id: z117.string().optional()
2490
+ error_type: z118.literal("pcb_placement_error").default("pcb_placement_error"),
2491
+ subcircuit_id: z118.string().optional()
2471
2492
  }).describe("Defines a placement error on the PCB");
2472
2493
  expectTypesMatch(true);
2473
2494
 
2474
2495
  // src/pcb/pcb_panelization_placement_error.ts
2475
- import { z as z118 } from "zod";
2496
+ import { z as z119 } from "zod";
2476
2497
  var pcb_panelization_placement_error = base_circuit_json_error.extend({
2477
- type: z118.literal("pcb_panelization_placement_error"),
2498
+ type: z119.literal("pcb_panelization_placement_error"),
2478
2499
  pcb_panelization_placement_error_id: getZodPrefixedIdWithDefault(
2479
2500
  "pcb_panelization_placement_error"
2480
2501
  ),
2481
- error_type: z118.literal("pcb_panelization_placement_error").default("pcb_panelization_placement_error"),
2482
- pcb_panel_id: z118.string().optional(),
2483
- pcb_board_id: z118.string().optional(),
2484
- subcircuit_id: z118.string().optional()
2502
+ error_type: z119.literal("pcb_panelization_placement_error").default("pcb_panelization_placement_error"),
2503
+ pcb_panel_id: z119.string().optional(),
2504
+ pcb_board_id: z119.string().optional(),
2505
+ subcircuit_id: z119.string().optional()
2485
2506
  }).describe("Defines a panelization placement error on the PCB");
2486
2507
  expectTypesMatch(true);
2487
2508
 
2488
2509
  // src/pcb/pcb_trace_hint.ts
2489
- import { z as z119 } from "zod";
2490
- var pcb_trace_hint = z119.object({
2491
- type: z119.literal("pcb_trace_hint"),
2510
+ import { z as z120 } from "zod";
2511
+ var pcb_trace_hint = z120.object({
2512
+ type: z120.literal("pcb_trace_hint"),
2492
2513
  pcb_trace_hint_id: getZodPrefixedIdWithDefault("pcb_trace_hint"),
2493
- pcb_port_id: z119.string(),
2494
- pcb_component_id: z119.string(),
2495
- route: z119.array(route_hint_point),
2496
- subcircuit_id: z119.string().optional()
2514
+ pcb_port_id: z120.string(),
2515
+ pcb_component_id: z120.string(),
2516
+ route: z120.array(route_hint_point),
2517
+ subcircuit_id: z120.string().optional()
2497
2518
  }).describe("A hint that can be used during generation of a PCB trace");
2498
2519
  expectTypesMatch(true);
2499
2520
 
2500
2521
  // src/pcb/pcb_silkscreen_line.ts
2501
- import { z as z120 } from "zod";
2502
- var pcb_silkscreen_line = z120.object({
2503
- type: z120.literal("pcb_silkscreen_line"),
2522
+ import { z as z121 } from "zod";
2523
+ var pcb_silkscreen_line = z121.object({
2524
+ type: z121.literal("pcb_silkscreen_line"),
2504
2525
  pcb_silkscreen_line_id: getZodPrefixedIdWithDefault("pcb_silkscreen_line"),
2505
- pcb_component_id: z120.string(),
2506
- pcb_group_id: z120.string().optional(),
2507
- subcircuit_id: z120.string().optional(),
2526
+ pcb_component_id: z121.string(),
2527
+ pcb_group_id: z121.string().optional(),
2528
+ subcircuit_id: z121.string().optional(),
2508
2529
  stroke_width: distance.default("0.1mm"),
2509
2530
  x1: distance,
2510
2531
  y1: distance,
@@ -2515,32 +2536,32 @@ var pcb_silkscreen_line = z120.object({
2515
2536
  expectTypesMatch(true);
2516
2537
 
2517
2538
  // src/pcb/pcb_silkscreen_path.ts
2518
- import { z as z121 } from "zod";
2519
- var pcb_silkscreen_path = z121.object({
2520
- type: z121.literal("pcb_silkscreen_path"),
2539
+ import { z as z122 } from "zod";
2540
+ var pcb_silkscreen_path = z122.object({
2541
+ type: z122.literal("pcb_silkscreen_path"),
2521
2542
  pcb_silkscreen_path_id: getZodPrefixedIdWithDefault("pcb_silkscreen_path"),
2522
- pcb_component_id: z121.string(),
2523
- pcb_group_id: z121.string().optional(),
2524
- subcircuit_id: z121.string().optional(),
2543
+ pcb_component_id: z122.string(),
2544
+ pcb_group_id: z122.string().optional(),
2545
+ subcircuit_id: z122.string().optional(),
2525
2546
  layer: visible_layer,
2526
- route: z121.array(point),
2547
+ route: z122.array(point),
2527
2548
  stroke_width: length
2528
2549
  }).describe("Defines a silkscreen path on the PCB");
2529
2550
  expectTypesMatch(true);
2530
2551
 
2531
2552
  // src/pcb/pcb_silkscreen_text.ts
2532
- import { z as z122 } from "zod";
2533
- var pcb_silkscreen_text = z122.object({
2534
- type: z122.literal("pcb_silkscreen_text"),
2553
+ import { z as z123 } from "zod";
2554
+ var pcb_silkscreen_text = z123.object({
2555
+ type: z123.literal("pcb_silkscreen_text"),
2535
2556
  pcb_silkscreen_text_id: getZodPrefixedIdWithDefault("pcb_silkscreen_text"),
2536
- pcb_group_id: z122.string().optional(),
2537
- subcircuit_id: z122.string().optional(),
2538
- font: z122.literal("tscircuit2024").default("tscircuit2024"),
2557
+ pcb_group_id: z123.string().optional(),
2558
+ subcircuit_id: z123.string().optional(),
2559
+ font: z123.literal("tscircuit2024").default("tscircuit2024"),
2539
2560
  font_size: distance.default("0.2mm"),
2540
- pcb_component_id: z122.string(),
2541
- text: z122.string(),
2542
- is_knockout: z122.boolean().default(false).optional(),
2543
- knockout_padding: z122.object({
2561
+ pcb_component_id: z123.string(),
2562
+ text: z123.string(),
2563
+ is_knockout: z123.boolean().default(false).optional(),
2564
+ knockout_padding: z123.object({
2544
2565
  left: length,
2545
2566
  top: length,
2546
2567
  bottom: length,
@@ -2551,27 +2572,27 @@ var pcb_silkscreen_text = z122.object({
2551
2572
  bottom: "0.2mm",
2552
2573
  right: "0.2mm"
2553
2574
  }).optional(),
2554
- ccw_rotation: z122.number().optional(),
2575
+ ccw_rotation: z123.number().optional(),
2555
2576
  layer: layer_ref,
2556
- is_mirrored: z122.boolean().default(false).optional(),
2577
+ is_mirrored: z123.boolean().default(false).optional(),
2557
2578
  anchor_position: point.default({ x: 0, y: 0 }),
2558
2579
  anchor_alignment: ninePointAnchor.default("center")
2559
2580
  }).describe("Defines silkscreen text on the PCB");
2560
2581
  expectTypesMatch(true);
2561
2582
 
2562
2583
  // src/pcb/pcb_copper_text.ts
2563
- import { z as z123 } from "zod";
2564
- var pcb_copper_text = z123.object({
2565
- type: z123.literal("pcb_copper_text"),
2584
+ import { z as z124 } from "zod";
2585
+ var pcb_copper_text = z124.object({
2586
+ type: z124.literal("pcb_copper_text"),
2566
2587
  pcb_copper_text_id: getZodPrefixedIdWithDefault("pcb_copper_text"),
2567
- pcb_group_id: z123.string().optional(),
2568
- subcircuit_id: z123.string().optional(),
2569
- font: z123.literal("tscircuit2024").default("tscircuit2024"),
2588
+ pcb_group_id: z124.string().optional(),
2589
+ subcircuit_id: z124.string().optional(),
2590
+ font: z124.literal("tscircuit2024").default("tscircuit2024"),
2570
2591
  font_size: distance.default("0.2mm"),
2571
- pcb_component_id: z123.string(),
2572
- text: z123.string(),
2573
- is_knockout: z123.boolean().default(false).optional(),
2574
- knockout_padding: z123.object({
2592
+ pcb_component_id: z124.string(),
2593
+ text: z124.string(),
2594
+ is_knockout: z124.boolean().default(false).optional(),
2595
+ knockout_padding: z124.object({
2575
2596
  left: length,
2576
2597
  top: length,
2577
2598
  bottom: length,
@@ -2582,61 +2603,61 @@ var pcb_copper_text = z123.object({
2582
2603
  bottom: "0.2mm",
2583
2604
  right: "0.2mm"
2584
2605
  }).optional(),
2585
- ccw_rotation: z123.number().optional(),
2606
+ ccw_rotation: z124.number().optional(),
2586
2607
  layer: layer_ref,
2587
- is_mirrored: z123.boolean().default(false).optional(),
2608
+ is_mirrored: z124.boolean().default(false).optional(),
2588
2609
  anchor_position: point.default({ x: 0, y: 0 }),
2589
2610
  anchor_alignment: ninePointAnchor.default("center")
2590
2611
  }).describe("Defines copper text on the PCB");
2591
2612
  expectTypesMatch(true);
2592
2613
 
2593
2614
  // src/pcb/pcb_silkscreen_rect.ts
2594
- import { z as z124 } from "zod";
2595
- var pcb_silkscreen_rect = z124.object({
2596
- type: z124.literal("pcb_silkscreen_rect"),
2615
+ import { z as z125 } from "zod";
2616
+ var pcb_silkscreen_rect = z125.object({
2617
+ type: z125.literal("pcb_silkscreen_rect"),
2597
2618
  pcb_silkscreen_rect_id: getZodPrefixedIdWithDefault("pcb_silkscreen_rect"),
2598
- pcb_component_id: z124.string(),
2599
- pcb_group_id: z124.string().optional(),
2600
- subcircuit_id: z124.string().optional(),
2619
+ pcb_component_id: z125.string(),
2620
+ pcb_group_id: z125.string().optional(),
2621
+ subcircuit_id: z125.string().optional(),
2601
2622
  center: point,
2602
2623
  width: length,
2603
2624
  height: length,
2604
2625
  layer: layer_ref,
2605
2626
  stroke_width: length.default("1mm"),
2606
2627
  corner_radius: length.optional(),
2607
- is_filled: z124.boolean().default(true).optional(),
2608
- has_stroke: z124.boolean().optional(),
2609
- is_stroke_dashed: z124.boolean().optional(),
2610
- ccw_rotation: z124.number().optional()
2628
+ is_filled: z125.boolean().default(true).optional(),
2629
+ has_stroke: z125.boolean().optional(),
2630
+ is_stroke_dashed: z125.boolean().optional(),
2631
+ ccw_rotation: z125.number().optional()
2611
2632
  }).describe("Defines a silkscreen rect on the PCB");
2612
2633
  expectTypesMatch(true);
2613
2634
 
2614
2635
  // src/pcb/pcb_silkscreen_circle.ts
2615
- import { z as z125 } from "zod";
2616
- var pcb_silkscreen_circle = z125.object({
2617
- type: z125.literal("pcb_silkscreen_circle"),
2636
+ import { z as z126 } from "zod";
2637
+ var pcb_silkscreen_circle = z126.object({
2638
+ type: z126.literal("pcb_silkscreen_circle"),
2618
2639
  pcb_silkscreen_circle_id: getZodPrefixedIdWithDefault(
2619
2640
  "pcb_silkscreen_circle"
2620
2641
  ),
2621
- pcb_component_id: z125.string(),
2622
- pcb_group_id: z125.string().optional(),
2623
- subcircuit_id: z125.string().optional(),
2642
+ pcb_component_id: z126.string(),
2643
+ pcb_group_id: z126.string().optional(),
2644
+ subcircuit_id: z126.string().optional(),
2624
2645
  center: point,
2625
2646
  radius: length,
2626
2647
  layer: visible_layer,
2627
2648
  stroke_width: length.default("1mm"),
2628
- is_filled: z125.boolean().optional()
2649
+ is_filled: z126.boolean().optional()
2629
2650
  }).describe("Defines a silkscreen circle on the PCB");
2630
2651
  expectTypesMatch(true);
2631
2652
 
2632
2653
  // src/pcb/pcb_silkscreen_oval.ts
2633
- import { z as z126 } from "zod";
2634
- var pcb_silkscreen_oval = z126.object({
2635
- type: z126.literal("pcb_silkscreen_oval"),
2654
+ import { z as z127 } from "zod";
2655
+ var pcb_silkscreen_oval = z127.object({
2656
+ type: z127.literal("pcb_silkscreen_oval"),
2636
2657
  pcb_silkscreen_oval_id: getZodPrefixedIdWithDefault("pcb_silkscreen_oval"),
2637
- pcb_component_id: z126.string(),
2638
- pcb_group_id: z126.string().optional(),
2639
- subcircuit_id: z126.string().optional(),
2658
+ pcb_component_id: z127.string(),
2659
+ pcb_group_id: z127.string().optional(),
2660
+ subcircuit_id: z127.string().optional(),
2640
2661
  center: point,
2641
2662
  radius_x: distance,
2642
2663
  radius_y: distance,
@@ -2646,265 +2667,265 @@ var pcb_silkscreen_oval = z126.object({
2646
2667
  expectTypesMatch(true);
2647
2668
 
2648
2669
  // src/pcb/pcb_silkscreen_graphic.ts
2649
- import { z as z127 } from "zod";
2650
- var pcb_silkscreen_graphic_base = z127.object({
2651
- type: z127.literal("pcb_silkscreen_graphic"),
2670
+ import { z as z128 } from "zod";
2671
+ var pcb_silkscreen_graphic_base = z128.object({
2672
+ type: z128.literal("pcb_silkscreen_graphic"),
2652
2673
  pcb_silkscreen_graphic_id: getZodPrefixedIdWithDefault(
2653
2674
  "pcb_silkscreen_graphic"
2654
2675
  ),
2655
- pcb_component_id: z127.string(),
2656
- pcb_group_id: z127.string().optional(),
2657
- subcircuit_id: z127.string().optional(),
2676
+ pcb_component_id: z128.string(),
2677
+ pcb_group_id: z128.string().optional(),
2678
+ subcircuit_id: z128.string().optional(),
2658
2679
  layer: visible_layer,
2659
2680
  image_asset: asset.optional()
2660
2681
  });
2661
2682
  var pcb_silkscreen_graphic_brep = pcb_silkscreen_graphic_base.extend({
2662
- shape: z127.literal("brep"),
2683
+ shape: z128.literal("brep"),
2663
2684
  brep_shape
2664
2685
  }).describe("Defines a BRep silkscreen graphic on the PCB");
2665
2686
  expectTypesMatch(
2666
2687
  true
2667
2688
  );
2668
- var pcb_silkscreen_graphic = z127.discriminatedUnion("shape", [pcb_silkscreen_graphic_brep]).describe("Defines a silkscreen graphic on the PCB");
2689
+ var pcb_silkscreen_graphic = z128.discriminatedUnion("shape", [pcb_silkscreen_graphic_brep]).describe("Defines a silkscreen graphic on the PCB");
2669
2690
  expectTypesMatch(true);
2670
2691
 
2671
2692
  // src/pcb/pcb_silkscreen_pill.ts
2672
- import { z as z128 } from "zod";
2673
- var pcb_silkscreen_pill = z128.object({
2674
- type: z128.literal("pcb_silkscreen_pill"),
2693
+ import { z as z129 } from "zod";
2694
+ var pcb_silkscreen_pill = z129.object({
2695
+ type: z129.literal("pcb_silkscreen_pill"),
2675
2696
  pcb_silkscreen_pill_id: getZodPrefixedIdWithDefault("pcb_silkscreen_pill"),
2676
- pcb_component_id: z128.string(),
2677
- pcb_group_id: z128.string().optional(),
2678
- subcircuit_id: z128.string().optional(),
2697
+ pcb_component_id: z129.string(),
2698
+ pcb_group_id: z129.string().optional(),
2699
+ subcircuit_id: z129.string().optional(),
2679
2700
  center: point,
2680
2701
  width: length,
2681
2702
  height: length,
2682
2703
  layer: layer_ref,
2683
- ccw_rotation: z128.number().optional()
2704
+ ccw_rotation: z129.number().optional()
2684
2705
  }).describe("Defines a silkscreen pill on the PCB");
2685
2706
  expectTypesMatch(true);
2686
2707
 
2687
2708
  // src/pcb/pcb_fabrication_note_text.ts
2688
- import { z as z129 } from "zod";
2689
- var pcb_fabrication_note_text = z129.object({
2690
- type: z129.literal("pcb_fabrication_note_text"),
2709
+ import { z as z130 } from "zod";
2710
+ var pcb_fabrication_note_text = z130.object({
2711
+ type: z130.literal("pcb_fabrication_note_text"),
2691
2712
  pcb_fabrication_note_text_id: getZodPrefixedIdWithDefault(
2692
2713
  "pcb_fabrication_note_text"
2693
2714
  ),
2694
- subcircuit_id: z129.string().optional(),
2695
- pcb_group_id: z129.string().optional(),
2696
- font: z129.literal("tscircuit2024").default("tscircuit2024"),
2715
+ subcircuit_id: z130.string().optional(),
2716
+ pcb_group_id: z130.string().optional(),
2717
+ font: z130.literal("tscircuit2024").default("tscircuit2024"),
2697
2718
  font_size: distance.default("1mm"),
2698
- pcb_component_id: z129.string(),
2699
- text: z129.string(),
2700
- ccw_rotation: z129.number().optional(),
2719
+ pcb_component_id: z130.string(),
2720
+ text: z130.string(),
2721
+ ccw_rotation: z130.number().optional(),
2701
2722
  layer: visible_layer,
2702
2723
  anchor_position: point.default({ x: 0, y: 0 }),
2703
- anchor_alignment: z129.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).default("center"),
2704
- color: z129.string().optional()
2724
+ anchor_alignment: z130.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).default("center"),
2725
+ color: z130.string().optional()
2705
2726
  }).describe(
2706
2727
  "Defines a fabrication note in text on the PCB, useful for leaving notes for assemblers or fabricators"
2707
2728
  );
2708
2729
  expectTypesMatch(true);
2709
2730
 
2710
2731
  // src/pcb/pcb_fabrication_note_path.ts
2711
- import { z as z130 } from "zod";
2712
- var pcb_fabrication_note_path = z130.object({
2713
- type: z130.literal("pcb_fabrication_note_path"),
2732
+ import { z as z131 } from "zod";
2733
+ var pcb_fabrication_note_path = z131.object({
2734
+ type: z131.literal("pcb_fabrication_note_path"),
2714
2735
  pcb_fabrication_note_path_id: getZodPrefixedIdWithDefault(
2715
2736
  "pcb_fabrication_note_path"
2716
2737
  ),
2717
- pcb_component_id: z130.string(),
2718
- subcircuit_id: z130.string().optional(),
2738
+ pcb_component_id: z131.string(),
2739
+ subcircuit_id: z131.string().optional(),
2719
2740
  layer: layer_ref,
2720
- route: z130.array(point),
2741
+ route: z131.array(point),
2721
2742
  stroke_width: length,
2722
- color: z130.string().optional()
2743
+ color: z131.string().optional()
2723
2744
  }).describe(
2724
2745
  "Defines a fabrication path on the PCB for fabricators or assemblers"
2725
2746
  );
2726
2747
  expectTypesMatch(true);
2727
2748
 
2728
2749
  // src/pcb/pcb_fabrication_note_rect.ts
2729
- import { z as z131 } from "zod";
2730
- var pcb_fabrication_note_rect = z131.object({
2731
- type: z131.literal("pcb_fabrication_note_rect"),
2750
+ import { z as z132 } from "zod";
2751
+ var pcb_fabrication_note_rect = z132.object({
2752
+ type: z132.literal("pcb_fabrication_note_rect"),
2732
2753
  pcb_fabrication_note_rect_id: getZodPrefixedIdWithDefault(
2733
2754
  "pcb_fabrication_note_rect"
2734
2755
  ),
2735
- pcb_component_id: z131.string(),
2736
- pcb_group_id: z131.string().optional(),
2737
- subcircuit_id: z131.string().optional(),
2756
+ pcb_component_id: z132.string(),
2757
+ pcb_group_id: z132.string().optional(),
2758
+ subcircuit_id: z132.string().optional(),
2738
2759
  center: point,
2739
2760
  width: length,
2740
2761
  height: length,
2741
2762
  layer: visible_layer,
2742
2763
  stroke_width: length.default("0.1mm"),
2743
2764
  corner_radius: length.optional(),
2744
- is_filled: z131.boolean().optional(),
2745
- has_stroke: z131.boolean().optional(),
2746
- is_stroke_dashed: z131.boolean().optional(),
2747
- color: z131.string().optional()
2765
+ is_filled: z132.boolean().optional(),
2766
+ has_stroke: z132.boolean().optional(),
2767
+ is_stroke_dashed: z132.boolean().optional(),
2768
+ color: z132.string().optional()
2748
2769
  }).describe("Defines a fabrication note rectangle on the PCB");
2749
2770
  expectTypesMatch(true);
2750
2771
 
2751
2772
  // src/pcb/pcb_fabrication_note_dimension.ts
2752
- import { z as z132 } from "zod";
2753
- var pcb_fabrication_note_dimension = z132.object({
2754
- type: z132.literal("pcb_fabrication_note_dimension"),
2773
+ import { z as z133 } from "zod";
2774
+ var pcb_fabrication_note_dimension = z133.object({
2775
+ type: z133.literal("pcb_fabrication_note_dimension"),
2755
2776
  pcb_fabrication_note_dimension_id: getZodPrefixedIdWithDefault(
2756
2777
  "pcb_fabrication_note_dimension"
2757
2778
  ),
2758
- pcb_component_id: z132.string(),
2759
- pcb_group_id: z132.string().optional(),
2760
- subcircuit_id: z132.string().optional(),
2779
+ pcb_component_id: z133.string(),
2780
+ pcb_group_id: z133.string().optional(),
2781
+ subcircuit_id: z133.string().optional(),
2761
2782
  layer: visible_layer,
2762
2783
  from: point,
2763
2784
  to: point,
2764
- text: z132.string().optional(),
2765
- text_ccw_rotation: z132.number().optional(),
2785
+ text: z133.string().optional(),
2786
+ text_ccw_rotation: z133.number().optional(),
2766
2787
  offset: length.optional(),
2767
2788
  offset_distance: length.optional(),
2768
- offset_direction: z132.object({
2769
- x: z132.number(),
2770
- y: z132.number()
2789
+ offset_direction: z133.object({
2790
+ x: z133.number(),
2791
+ y: z133.number()
2771
2792
  }).optional(),
2772
- font: z132.literal("tscircuit2024").default("tscircuit2024"),
2793
+ font: z133.literal("tscircuit2024").default("tscircuit2024"),
2773
2794
  font_size: length.default("1mm"),
2774
- color: z132.string().optional(),
2795
+ color: z133.string().optional(),
2775
2796
  arrow_size: length.default("1mm")
2776
2797
  }).describe("Defines a measurement annotation within PCB fabrication notes");
2777
2798
  expectTypesMatch(true);
2778
2799
 
2779
2800
  // src/pcb/pcb_note_text.ts
2780
- import { z as z133 } from "zod";
2781
- var pcb_note_text = z133.object({
2782
- type: z133.literal("pcb_note_text"),
2801
+ import { z as z134 } from "zod";
2802
+ var pcb_note_text = z134.object({
2803
+ type: z134.literal("pcb_note_text"),
2783
2804
  pcb_note_text_id: getZodPrefixedIdWithDefault("pcb_note_text"),
2784
- pcb_component_id: z133.string().optional(),
2785
- pcb_group_id: z133.string().optional(),
2786
- subcircuit_id: z133.string().optional(),
2787
- name: z133.string().optional(),
2788
- font: z133.literal("tscircuit2024").default("tscircuit2024"),
2805
+ pcb_component_id: z134.string().optional(),
2806
+ pcb_group_id: z134.string().optional(),
2807
+ subcircuit_id: z134.string().optional(),
2808
+ name: z134.string().optional(),
2809
+ font: z134.literal("tscircuit2024").default("tscircuit2024"),
2789
2810
  font_size: distance.default("1mm"),
2790
- text: z133.string().optional(),
2811
+ text: z134.string().optional(),
2791
2812
  anchor_position: point.default({ x: 0, y: 0 }),
2792
- anchor_alignment: z133.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).default("center"),
2813
+ anchor_alignment: z134.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).default("center"),
2793
2814
  layer: visible_layer.default("top"),
2794
- is_mirrored_from_top_view: z133.boolean().optional(),
2795
- color: z133.string().optional()
2815
+ is_mirrored_from_top_view: z134.boolean().optional(),
2816
+ color: z134.string().optional()
2796
2817
  }).describe("Defines a documentation note in text on the PCB");
2797
2818
  expectTypesMatch(true);
2798
2819
 
2799
2820
  // src/pcb/pcb_note_rect.ts
2800
- import { z as z134 } from "zod";
2801
- var pcb_note_rect = z134.object({
2802
- type: z134.literal("pcb_note_rect"),
2821
+ import { z as z135 } from "zod";
2822
+ var pcb_note_rect = z135.object({
2823
+ type: z135.literal("pcb_note_rect"),
2803
2824
  pcb_note_rect_id: getZodPrefixedIdWithDefault("pcb_note_rect"),
2804
- pcb_component_id: z134.string().optional(),
2805
- pcb_group_id: z134.string().optional(),
2806
- subcircuit_id: z134.string().optional(),
2807
- name: z134.string().optional(),
2808
- text: z134.string().optional(),
2825
+ pcb_component_id: z135.string().optional(),
2826
+ pcb_group_id: z135.string().optional(),
2827
+ subcircuit_id: z135.string().optional(),
2828
+ name: z135.string().optional(),
2829
+ text: z135.string().optional(),
2809
2830
  center: point,
2810
2831
  width: length,
2811
2832
  height: length,
2812
2833
  layer: visible_layer.default("top"),
2813
2834
  stroke_width: length.default("0.1mm"),
2814
2835
  corner_radius: length.optional(),
2815
- is_filled: z134.boolean().optional(),
2816
- has_stroke: z134.boolean().optional(),
2817
- is_stroke_dashed: z134.boolean().optional(),
2818
- color: z134.string().optional()
2836
+ is_filled: z135.boolean().optional(),
2837
+ has_stroke: z135.boolean().optional(),
2838
+ is_stroke_dashed: z135.boolean().optional(),
2839
+ color: z135.string().optional()
2819
2840
  }).describe("Defines a rectangular documentation note on the PCB");
2820
2841
  expectTypesMatch(true);
2821
2842
 
2822
2843
  // src/pcb/pcb_note_path.ts
2823
- import { z as z135 } from "zod";
2824
- var pcb_note_path = z135.object({
2825
- type: z135.literal("pcb_note_path"),
2844
+ import { z as z136 } from "zod";
2845
+ var pcb_note_path = z136.object({
2846
+ type: z136.literal("pcb_note_path"),
2826
2847
  pcb_note_path_id: getZodPrefixedIdWithDefault("pcb_note_path"),
2827
- pcb_component_id: z135.string().optional(),
2828
- pcb_group_id: z135.string().optional(),
2829
- subcircuit_id: z135.string().optional(),
2830
- name: z135.string().optional(),
2831
- text: z135.string().optional(),
2832
- route: z135.array(point),
2848
+ pcb_component_id: z136.string().optional(),
2849
+ pcb_group_id: z136.string().optional(),
2850
+ subcircuit_id: z136.string().optional(),
2851
+ name: z136.string().optional(),
2852
+ text: z136.string().optional(),
2853
+ route: z136.array(point),
2833
2854
  layer: visible_layer.default("top"),
2834
2855
  stroke_width: length.default("0.1mm"),
2835
- color: z135.string().optional()
2856
+ color: z136.string().optional()
2836
2857
  }).describe("Defines a polyline documentation note on the PCB");
2837
2858
  expectTypesMatch(true);
2838
2859
 
2839
2860
  // src/pcb/pcb_note_line.ts
2840
- import { z as z136 } from "zod";
2841
- var pcb_note_line = z136.object({
2842
- type: z136.literal("pcb_note_line"),
2861
+ import { z as z137 } from "zod";
2862
+ var pcb_note_line = z137.object({
2863
+ type: z137.literal("pcb_note_line"),
2843
2864
  pcb_note_line_id: getZodPrefixedIdWithDefault("pcb_note_line"),
2844
- pcb_component_id: z136.string().optional(),
2845
- pcb_group_id: z136.string().optional(),
2846
- subcircuit_id: z136.string().optional(),
2847
- name: z136.string().optional(),
2848
- text: z136.string().optional(),
2865
+ pcb_component_id: z137.string().optional(),
2866
+ pcb_group_id: z137.string().optional(),
2867
+ subcircuit_id: z137.string().optional(),
2868
+ name: z137.string().optional(),
2869
+ text: z137.string().optional(),
2849
2870
  x1: distance,
2850
2871
  y1: distance,
2851
2872
  x2: distance,
2852
2873
  y2: distance,
2853
2874
  layer: visible_layer.default("top"),
2854
2875
  stroke_width: distance.default("0.1mm"),
2855
- color: z136.string().optional(),
2856
- is_dashed: z136.boolean().optional()
2876
+ color: z137.string().optional(),
2877
+ is_dashed: z137.boolean().optional()
2857
2878
  }).describe("Defines a straight documentation note line on the PCB");
2858
2879
  expectTypesMatch(true);
2859
2880
 
2860
2881
  // src/pcb/pcb_note_dimension.ts
2861
- import { z as z137 } from "zod";
2862
- var pcb_note_dimension = z137.object({
2863
- type: z137.literal("pcb_note_dimension"),
2882
+ import { z as z138 } from "zod";
2883
+ var pcb_note_dimension = z138.object({
2884
+ type: z138.literal("pcb_note_dimension"),
2864
2885
  pcb_note_dimension_id: getZodPrefixedIdWithDefault("pcb_note_dimension"),
2865
- pcb_component_id: z137.string().optional(),
2866
- pcb_group_id: z137.string().optional(),
2867
- subcircuit_id: z137.string().optional(),
2868
- name: z137.string().optional(),
2886
+ pcb_component_id: z138.string().optional(),
2887
+ pcb_group_id: z138.string().optional(),
2888
+ subcircuit_id: z138.string().optional(),
2889
+ name: z138.string().optional(),
2869
2890
  from: point,
2870
2891
  to: point,
2871
- text: z137.string().optional(),
2872
- text_ccw_rotation: z137.number().optional(),
2892
+ text: z138.string().optional(),
2893
+ text_ccw_rotation: z138.number().optional(),
2873
2894
  offset_distance: length.optional(),
2874
- offset_direction: z137.object({
2875
- x: z137.number(),
2876
- y: z137.number()
2895
+ offset_direction: z138.object({
2896
+ x: z138.number(),
2897
+ y: z138.number()
2877
2898
  }).optional(),
2878
- font: z137.literal("tscircuit2024").default("tscircuit2024"),
2899
+ font: z138.literal("tscircuit2024").default("tscircuit2024"),
2879
2900
  font_size: length.default("1mm"),
2880
2901
  layer: visible_layer.default("top"),
2881
- color: z137.string().optional(),
2902
+ color: z138.string().optional(),
2882
2903
  arrow_size: length.default("1mm")
2883
2904
  }).describe("Defines a measurement annotation within PCB documentation notes");
2884
2905
  expectTypesMatch(true);
2885
2906
 
2886
2907
  // src/pcb/pcb_footprint_overlap_error.ts
2887
- import { z as z138 } from "zod";
2908
+ import { z as z139 } from "zod";
2888
2909
  var pcb_footprint_overlap_error = base_circuit_json_error.extend({
2889
- type: z138.literal("pcb_footprint_overlap_error"),
2910
+ type: z139.literal("pcb_footprint_overlap_error"),
2890
2911
  pcb_error_id: getZodPrefixedIdWithDefault("pcb_error"),
2891
- error_type: z138.literal("pcb_footprint_overlap_error").default("pcb_footprint_overlap_error"),
2892
- pcb_smtpad_ids: z138.array(z138.string()).optional(),
2893
- pcb_plated_hole_ids: z138.array(z138.string()).optional(),
2894
- pcb_hole_ids: z138.array(z138.string()).optional(),
2895
- pcb_keepout_ids: z138.array(z138.string()).optional()
2912
+ error_type: z139.literal("pcb_footprint_overlap_error").default("pcb_footprint_overlap_error"),
2913
+ pcb_smtpad_ids: z139.array(z139.string()).optional(),
2914
+ pcb_plated_hole_ids: z139.array(z139.string()).optional(),
2915
+ pcb_hole_ids: z139.array(z139.string()).optional(),
2916
+ pcb_keepout_ids: z139.array(z139.string()).optional()
2896
2917
  }).describe("Error emitted when a pcb footprint overlaps with another element");
2897
2918
  expectTypesMatch(
2898
2919
  true
2899
2920
  );
2900
2921
 
2901
2922
  // src/pcb/pcb_courtyard_overlap_error.ts
2902
- import { z as z139 } from "zod";
2923
+ import { z as z140 } from "zod";
2903
2924
  var pcb_courtyard_overlap_error = base_circuit_json_error.extend({
2904
- type: z139.literal("pcb_courtyard_overlap_error"),
2925
+ type: z140.literal("pcb_courtyard_overlap_error"),
2905
2926
  pcb_error_id: getZodPrefixedIdWithDefault("pcb_error"),
2906
- error_type: z139.literal("pcb_courtyard_overlap_error").default("pcb_courtyard_overlap_error"),
2907
- pcb_component_ids: z139.tuple([z139.string(), z139.string()])
2927
+ error_type: z140.literal("pcb_courtyard_overlap_error").default("pcb_courtyard_overlap_error"),
2928
+ pcb_component_ids: z140.tuple([z140.string(), z140.string()])
2908
2929
  }).describe(
2909
2930
  "Error emitted when the courtyard (CrtYd) of one PCB component overlaps with the courtyard of another"
2910
2931
  );
@@ -2913,49 +2934,49 @@ expectTypesMatch(
2913
2934
  );
2914
2935
 
2915
2936
  // src/pcb/pcb_keepout.ts
2916
- import { z as z140 } from "zod";
2917
- var pcb_keepout = z140.object({
2918
- type: z140.literal("pcb_keepout"),
2919
- shape: z140.literal("rect"),
2920
- pcb_group_id: z140.string().optional(),
2921
- subcircuit_id: z140.string().optional(),
2937
+ import { z as z141 } from "zod";
2938
+ var pcb_keepout = z141.object({
2939
+ type: z141.literal("pcb_keepout"),
2940
+ shape: z141.literal("rect"),
2941
+ pcb_group_id: z141.string().optional(),
2942
+ subcircuit_id: z141.string().optional(),
2922
2943
  center: point,
2923
2944
  width: distance,
2924
2945
  height: distance,
2925
- pcb_keepout_id: z140.string(),
2926
- layers: z140.array(z140.string()),
2946
+ pcb_keepout_id: z141.string(),
2947
+ layers: z141.array(z141.string()),
2927
2948
  // Specify layers where the keepout applies
2928
- description: z140.string().optional()
2949
+ description: z141.string().optional()
2929
2950
  // Optional description of the keepout
2930
2951
  }).or(
2931
- z140.object({
2932
- type: z140.literal("pcb_keepout"),
2933
- shape: z140.literal("circle"),
2934
- pcb_group_id: z140.string().optional(),
2935
- subcircuit_id: z140.string().optional(),
2952
+ z141.object({
2953
+ type: z141.literal("pcb_keepout"),
2954
+ shape: z141.literal("circle"),
2955
+ pcb_group_id: z141.string().optional(),
2956
+ subcircuit_id: z141.string().optional(),
2936
2957
  center: point,
2937
2958
  radius: distance,
2938
- pcb_keepout_id: z140.string(),
2939
- layers: z140.array(z140.string()),
2959
+ pcb_keepout_id: z141.string(),
2960
+ layers: z141.array(z141.string()),
2940
2961
  // Specify layers where the keepout applies
2941
- description: z140.string().optional()
2962
+ description: z141.string().optional()
2942
2963
  // Optional description of the keepout
2943
2964
  })
2944
2965
  );
2945
2966
  expectTypesMatch(true);
2946
2967
 
2947
2968
  // src/pcb/pcb_cutout.ts
2948
- import { z as z141 } from "zod";
2949
- var pcb_cutout_base = z141.object({
2950
- type: z141.literal("pcb_cutout"),
2969
+ import { z as z142 } from "zod";
2970
+ var pcb_cutout_base = z142.object({
2971
+ type: z142.literal("pcb_cutout"),
2951
2972
  pcb_cutout_id: getZodPrefixedIdWithDefault("pcb_cutout"),
2952
- pcb_group_id: z141.string().optional(),
2953
- subcircuit_id: z141.string().optional(),
2954
- pcb_board_id: z141.string().optional(),
2955
- pcb_panel_id: z141.string().optional()
2973
+ pcb_group_id: z142.string().optional(),
2974
+ subcircuit_id: z142.string().optional(),
2975
+ pcb_board_id: z142.string().optional(),
2976
+ pcb_panel_id: z142.string().optional()
2956
2977
  });
2957
2978
  var pcb_cutout_rect = pcb_cutout_base.extend({
2958
- shape: z141.literal("rect"),
2979
+ shape: z142.literal("rect"),
2959
2980
  center: point,
2960
2981
  width: length,
2961
2982
  height: length,
@@ -2964,26 +2985,26 @@ var pcb_cutout_rect = pcb_cutout_base.extend({
2964
2985
  });
2965
2986
  expectTypesMatch(true);
2966
2987
  var pcb_cutout_circle = pcb_cutout_base.extend({
2967
- shape: z141.literal("circle"),
2988
+ shape: z142.literal("circle"),
2968
2989
  center: point,
2969
2990
  radius: length
2970
2991
  });
2971
2992
  expectTypesMatch(true);
2972
2993
  var pcb_cutout_polygon = pcb_cutout_base.extend({
2973
- shape: z141.literal("polygon"),
2974
- points: z141.array(point)
2994
+ shape: z142.literal("polygon"),
2995
+ points: z142.array(point)
2975
2996
  });
2976
2997
  expectTypesMatch(true);
2977
2998
  var pcb_cutout_path = pcb_cutout_base.extend({
2978
- shape: z141.literal("path"),
2979
- route: z141.array(point),
2999
+ shape: z142.literal("path"),
3000
+ route: z142.array(point),
2980
3001
  slot_width: length,
2981
3002
  slot_length: length.optional(),
2982
3003
  space_between_slots: length.optional(),
2983
3004
  slot_corner_radius: length.optional()
2984
3005
  });
2985
3006
  expectTypesMatch(true);
2986
- var pcb_cutout = z141.discriminatedUnion("shape", [
3007
+ var pcb_cutout = z142.discriminatedUnion("shape", [
2987
3008
  pcb_cutout_rect,
2988
3009
  pcb_cutout_circle,
2989
3010
  pcb_cutout_polygon,
@@ -2992,169 +3013,169 @@ var pcb_cutout = z141.discriminatedUnion("shape", [
2992
3013
  expectTypesMatch(true);
2993
3014
 
2994
3015
  // src/pcb/pcb_missing_footprint_error.ts
2995
- import { z as z142 } from "zod";
3016
+ import { z as z143 } from "zod";
2996
3017
  var pcb_missing_footprint_error = base_circuit_json_error.extend({
2997
- type: z142.literal("pcb_missing_footprint_error"),
3018
+ type: z143.literal("pcb_missing_footprint_error"),
2998
3019
  pcb_missing_footprint_error_id: getZodPrefixedIdWithDefault(
2999
3020
  "pcb_missing_footprint_error"
3000
3021
  ),
3001
- pcb_group_id: z142.string().optional(),
3002
- subcircuit_id: z142.string().optional(),
3003
- error_type: z142.literal("pcb_missing_footprint_error").default("pcb_missing_footprint_error"),
3004
- source_component_id: z142.string()
3022
+ pcb_group_id: z143.string().optional(),
3023
+ subcircuit_id: z143.string().optional(),
3024
+ error_type: z143.literal("pcb_missing_footprint_error").default("pcb_missing_footprint_error"),
3025
+ source_component_id: z143.string()
3005
3026
  }).describe("Defines a missing footprint error on the PCB");
3006
3027
  expectTypesMatch(
3007
3028
  true
3008
3029
  );
3009
3030
 
3010
3031
  // src/pcb/external_footprint_load_error.ts
3011
- import { z as z143 } from "zod";
3032
+ import { z as z144 } from "zod";
3012
3033
  var external_footprint_load_error = base_circuit_json_error.extend({
3013
- type: z143.literal("external_footprint_load_error"),
3034
+ type: z144.literal("external_footprint_load_error"),
3014
3035
  external_footprint_load_error_id: getZodPrefixedIdWithDefault(
3015
3036
  "external_footprint_load_error"
3016
3037
  ),
3017
- pcb_component_id: z143.string(),
3018
- source_component_id: z143.string(),
3019
- pcb_group_id: z143.string().optional(),
3020
- subcircuit_id: z143.string().optional(),
3021
- footprinter_string: z143.string().optional(),
3022
- error_type: z143.literal("external_footprint_load_error").default("external_footprint_load_error")
3038
+ pcb_component_id: z144.string(),
3039
+ source_component_id: z144.string(),
3040
+ pcb_group_id: z144.string().optional(),
3041
+ subcircuit_id: z144.string().optional(),
3042
+ footprinter_string: z144.string().optional(),
3043
+ error_type: z144.literal("external_footprint_load_error").default("external_footprint_load_error")
3023
3044
  }).describe("Defines an error when an external footprint fails to load");
3024
3045
  expectTypesMatch(true);
3025
3046
 
3026
3047
  // src/pcb/circuit_json_footprint_load_error.ts
3027
- import { z as z144 } from "zod";
3048
+ import { z as z145 } from "zod";
3028
3049
  var circuit_json_footprint_load_error = base_circuit_json_error.extend({
3029
- type: z144.literal("circuit_json_footprint_load_error"),
3050
+ type: z145.literal("circuit_json_footprint_load_error"),
3030
3051
  circuit_json_footprint_load_error_id: getZodPrefixedIdWithDefault(
3031
3052
  "circuit_json_footprint_load_error"
3032
3053
  ),
3033
- pcb_component_id: z144.string(),
3034
- source_component_id: z144.string(),
3035
- pcb_group_id: z144.string().optional(),
3036
- subcircuit_id: z144.string().optional(),
3037
- error_type: z144.literal("circuit_json_footprint_load_error").default("circuit_json_footprint_load_error"),
3038
- circuit_json: z144.array(z144.any()).optional()
3054
+ pcb_component_id: z145.string(),
3055
+ source_component_id: z145.string(),
3056
+ pcb_group_id: z145.string().optional(),
3057
+ subcircuit_id: z145.string().optional(),
3058
+ error_type: z145.literal("circuit_json_footprint_load_error").default("circuit_json_footprint_load_error"),
3059
+ circuit_json: z145.array(z145.any()).optional()
3039
3060
  }).describe("Defines an error when a circuit JSON footprint fails to load");
3040
3061
  expectTypesMatch(true);
3041
3062
 
3042
3063
  // src/pcb/pcb_group.ts
3043
- import { z as z145 } from "zod";
3044
- var pcb_group = z145.object({
3045
- type: z145.literal("pcb_group"),
3064
+ import { z as z146 } from "zod";
3065
+ var pcb_group = z146.object({
3066
+ type: z146.literal("pcb_group"),
3046
3067
  pcb_group_id: getZodPrefixedIdWithDefault("pcb_group"),
3047
- source_group_id: z145.string(),
3048
- is_subcircuit: z145.boolean().optional(),
3049
- subcircuit_id: z145.string().optional(),
3068
+ source_group_id: z146.string(),
3069
+ is_subcircuit: z146.boolean().optional(),
3070
+ subcircuit_id: z146.string().optional(),
3050
3071
  width: length.optional(),
3051
3072
  height: length.optional(),
3052
3073
  center: point,
3053
- display_offset_x: z145.string().optional().describe(
3074
+ display_offset_x: z146.string().optional().describe(
3054
3075
  "How to display the x offset for this group, usually corresponding with how the user specified it"
3055
3076
  ),
3056
- display_offset_y: z145.string().optional().describe(
3077
+ display_offset_y: z146.string().optional().describe(
3057
3078
  "How to display the y offset for this group, usually corresponding with how the user specified it"
3058
3079
  ),
3059
- outline: z145.array(point).optional(),
3080
+ outline: z146.array(point).optional(),
3060
3081
  anchor_position: point.optional(),
3061
3082
  anchor_alignment: ninePointAnchor.default("center"),
3062
- position_mode: z145.enum(["packed", "relative_to_group_anchor", "none"]).optional(),
3063
- positioned_relative_to_pcb_group_id: z145.string().optional(),
3064
- positioned_relative_to_pcb_board_id: z145.string().optional(),
3065
- pcb_component_ids: z145.array(z145.string()),
3066
- child_layout_mode: z145.enum(["packed", "none"]).optional(),
3067
- name: z145.string().optional(),
3068
- description: z145.string().optional(),
3069
- layout_mode: z145.string().optional(),
3070
- autorouter_configuration: z145.object({
3083
+ position_mode: z146.enum(["packed", "relative_to_group_anchor", "none"]).optional(),
3084
+ positioned_relative_to_pcb_group_id: z146.string().optional(),
3085
+ positioned_relative_to_pcb_board_id: z146.string().optional(),
3086
+ pcb_component_ids: z146.array(z146.string()),
3087
+ child_layout_mode: z146.enum(["packed", "none"]).optional(),
3088
+ name: z146.string().optional(),
3089
+ description: z146.string().optional(),
3090
+ layout_mode: z146.string().optional(),
3091
+ autorouter_configuration: z146.object({
3071
3092
  trace_clearance: length
3072
3093
  }).optional(),
3073
- autorouter_used_string: z145.string().optional()
3094
+ autorouter_used_string: z146.string().optional()
3074
3095
  }).describe("Defines a group of components on the PCB");
3075
3096
  expectTypesMatch(true);
3076
3097
 
3077
3098
  // src/pcb/pcb_autorouting_error.ts
3078
- import { z as z146 } from "zod";
3099
+ import { z as z147 } from "zod";
3079
3100
  var pcb_autorouting_error = base_circuit_json_error.extend({
3080
- type: z146.literal("pcb_autorouting_error"),
3101
+ type: z147.literal("pcb_autorouting_error"),
3081
3102
  pcb_error_id: getZodPrefixedIdWithDefault("pcb_autorouting_error"),
3082
- error_type: z146.literal("pcb_autorouting_error").default("pcb_autorouting_error"),
3083
- subcircuit_id: z146.string().optional()
3103
+ error_type: z147.literal("pcb_autorouting_error").default("pcb_autorouting_error"),
3104
+ subcircuit_id: z147.string().optional()
3084
3105
  }).describe("The autorouting has failed to route a portion of the board");
3085
3106
  expectTypesMatch(true);
3086
3107
 
3087
3108
  // src/pcb/pcb_manual_edit_conflict_warning.ts
3088
- import { z as z147 } from "zod";
3089
- var pcb_manual_edit_conflict_warning = z147.object({
3090
- type: z147.literal("pcb_manual_edit_conflict_warning"),
3109
+ import { z as z148 } from "zod";
3110
+ var pcb_manual_edit_conflict_warning = z148.object({
3111
+ type: z148.literal("pcb_manual_edit_conflict_warning"),
3091
3112
  pcb_manual_edit_conflict_warning_id: getZodPrefixedIdWithDefault(
3092
3113
  "pcb_manual_edit_conflict_warning"
3093
3114
  ),
3094
- warning_type: z147.literal("pcb_manual_edit_conflict_warning").default("pcb_manual_edit_conflict_warning"),
3095
- message: z147.string(),
3096
- pcb_component_id: z147.string(),
3097
- pcb_group_id: z147.string().optional(),
3098
- subcircuit_id: z147.string().optional(),
3099
- source_component_id: z147.string()
3115
+ warning_type: z148.literal("pcb_manual_edit_conflict_warning").default("pcb_manual_edit_conflict_warning"),
3116
+ message: z148.string(),
3117
+ pcb_component_id: z148.string(),
3118
+ pcb_group_id: z148.string().optional(),
3119
+ subcircuit_id: z148.string().optional(),
3120
+ source_component_id: z148.string()
3100
3121
  }).describe(
3101
3122
  "Warning emitted when a component has both manual placement and explicit pcbX/pcbY coordinates"
3102
3123
  );
3103
3124
  expectTypesMatch(true);
3104
3125
 
3105
3126
  // src/pcb/pcb_connector_not_in_accessible_orientation_warning.ts
3106
- import { z as z148 } from "zod";
3107
- var connectorOrientationDirection = z148.enum(["x-", "x+", "y+", "y-"]);
3108
- var pcb_connector_not_in_accessible_orientation_warning = z148.object({
3109
- type: z148.literal("pcb_connector_not_in_accessible_orientation_warning"),
3127
+ import { z as z149 } from "zod";
3128
+ var connectorOrientationDirection = z149.enum(["x-", "x+", "y+", "y-"]);
3129
+ var pcb_connector_not_in_accessible_orientation_warning = z149.object({
3130
+ type: z149.literal("pcb_connector_not_in_accessible_orientation_warning"),
3110
3131
  pcb_connector_not_in_accessible_orientation_warning_id: getZodPrefixedIdWithDefault(
3111
3132
  "pcb_connector_not_in_accessible_orientation_warning"
3112
3133
  ),
3113
- warning_type: z148.literal("pcb_connector_not_in_accessible_orientation_warning").default("pcb_connector_not_in_accessible_orientation_warning"),
3114
- message: z148.string(),
3115
- pcb_component_id: z148.string(),
3116
- source_component_id: z148.string().optional(),
3117
- pcb_board_id: z148.string().optional(),
3134
+ warning_type: z149.literal("pcb_connector_not_in_accessible_orientation_warning").default("pcb_connector_not_in_accessible_orientation_warning"),
3135
+ message: z149.string(),
3136
+ pcb_component_id: z149.string(),
3137
+ source_component_id: z149.string().optional(),
3138
+ pcb_board_id: z149.string().optional(),
3118
3139
  facing_direction: connectorOrientationDirection,
3119
3140
  recommended_facing_direction: connectorOrientationDirection,
3120
- subcircuit_id: z148.string().optional()
3141
+ subcircuit_id: z149.string().optional()
3121
3142
  }).describe(
3122
3143
  "Warning emitted when a connector PCB component is facing inward toward the board and should be reoriented to an outward-facing direction"
3123
3144
  );
3124
3145
  expectTypesMatch(true);
3125
3146
 
3126
3147
  // src/pcb/supplier_footprint_mismatch_warning.ts
3127
- import { z as z149 } from "zod";
3128
- var supplier_footprint_mismatch_warning = z149.object({
3129
- type: z149.literal("supplier_footprint_mismatch_warning"),
3148
+ import { z as z150 } from "zod";
3149
+ var supplier_footprint_mismatch_warning = z150.object({
3150
+ type: z150.literal("supplier_footprint_mismatch_warning"),
3130
3151
  supplier_footprint_mismatch_warning_id: getZodPrefixedIdWithDefault(
3131
3152
  "supplier_footprint_mismatch_warning"
3132
3153
  ),
3133
- warning_type: z149.literal("supplier_footprint_mismatch_warning").default("supplier_footprint_mismatch_warning"),
3134
- message: z149.string(),
3135
- source_component_id: z149.string(),
3136
- pcb_component_id: z149.string().optional(),
3137
- pcb_group_id: z149.string().optional(),
3138
- subcircuit_id: z149.string().optional(),
3154
+ warning_type: z150.literal("supplier_footprint_mismatch_warning").default("supplier_footprint_mismatch_warning"),
3155
+ message: z150.string(),
3156
+ source_component_id: z150.string(),
3157
+ pcb_component_id: z150.string().optional(),
3158
+ pcb_group_id: z150.string().optional(),
3159
+ subcircuit_id: z150.string().optional(),
3139
3160
  supplier_name: supplier_name.optional(),
3140
- supplier_part_number: z149.string().optional(),
3141
- supplier_footprint_url: z149.string().optional(),
3142
- footprint_copper_intersection_over_union: z149.number()
3161
+ supplier_part_number: z150.string().optional(),
3162
+ supplier_footprint_url: z150.string().optional(),
3163
+ footprint_copper_intersection_over_union: z150.number()
3143
3164
  }).describe(
3144
3165
  "Warning emitted when a supplier part footprint does not match the expected footprint"
3145
3166
  );
3146
3167
  expectTypesMatch(true);
3147
3168
 
3148
3169
  // src/pcb/pcb_breakout_point.ts
3149
- import { z as z150 } from "zod";
3150
- var pcb_breakout_point = z150.object({
3151
- type: z150.literal("pcb_breakout_point"),
3170
+ import { z as z151 } from "zod";
3171
+ var pcb_breakout_point = z151.object({
3172
+ type: z151.literal("pcb_breakout_point"),
3152
3173
  pcb_breakout_point_id: getZodPrefixedIdWithDefault("pcb_breakout_point"),
3153
- pcb_group_id: z150.string(),
3154
- subcircuit_id: z150.string().optional(),
3155
- source_trace_id: z150.string().optional(),
3156
- source_port_id: z150.string().optional(),
3157
- source_net_id: z150.string().optional(),
3174
+ pcb_group_id: z151.string(),
3175
+ subcircuit_id: z151.string().optional(),
3176
+ source_trace_id: z151.string().optional(),
3177
+ source_port_id: z151.string().optional(),
3178
+ source_net_id: z151.string().optional(),
3158
3179
  x: distance,
3159
3180
  y: distance
3160
3181
  }).describe(
@@ -3163,61 +3184,61 @@ var pcb_breakout_point = z150.object({
3163
3184
  expectTypesMatch(true);
3164
3185
 
3165
3186
  // src/pcb/pcb_ground_plane.ts
3166
- import { z as z151 } from "zod";
3167
- var pcb_ground_plane = z151.object({
3168
- type: z151.literal("pcb_ground_plane"),
3187
+ import { z as z152 } from "zod";
3188
+ var pcb_ground_plane = z152.object({
3189
+ type: z152.literal("pcb_ground_plane"),
3169
3190
  pcb_ground_plane_id: getZodPrefixedIdWithDefault("pcb_ground_plane"),
3170
- source_pcb_ground_plane_id: z151.string(),
3171
- source_net_id: z151.string(),
3172
- pcb_group_id: z151.string().optional(),
3173
- subcircuit_id: z151.string().optional()
3191
+ source_pcb_ground_plane_id: z152.string(),
3192
+ source_net_id: z152.string(),
3193
+ pcb_group_id: z152.string().optional(),
3194
+ subcircuit_id: z152.string().optional()
3174
3195
  }).describe("Defines a ground plane on the PCB");
3175
3196
  expectTypesMatch(true);
3176
3197
 
3177
3198
  // src/pcb/pcb_ground_plane_region.ts
3178
- import { z as z152 } from "zod";
3179
- var pcb_ground_plane_region = z152.object({
3180
- type: z152.literal("pcb_ground_plane_region"),
3199
+ import { z as z153 } from "zod";
3200
+ var pcb_ground_plane_region = z153.object({
3201
+ type: z153.literal("pcb_ground_plane_region"),
3181
3202
  pcb_ground_plane_region_id: getZodPrefixedIdWithDefault(
3182
3203
  "pcb_ground_plane_region"
3183
3204
  ),
3184
- pcb_ground_plane_id: z152.string(),
3185
- pcb_group_id: z152.string().optional(),
3186
- subcircuit_id: z152.string().optional(),
3205
+ pcb_ground_plane_id: z153.string(),
3206
+ pcb_group_id: z153.string().optional(),
3207
+ subcircuit_id: z153.string().optional(),
3187
3208
  layer: layer_ref,
3188
- points: z152.array(point)
3209
+ points: z153.array(point)
3189
3210
  }).describe("Defines a polygon region of a ground plane");
3190
3211
  expectTypesMatch(true);
3191
3212
 
3192
3213
  // src/pcb/pcb_thermal_spoke.ts
3193
- import { z as z153 } from "zod";
3194
- var pcb_thermal_spoke = z153.object({
3195
- type: z153.literal("pcb_thermal_spoke"),
3214
+ import { z as z154 } from "zod";
3215
+ var pcb_thermal_spoke = z154.object({
3216
+ type: z154.literal("pcb_thermal_spoke"),
3196
3217
  pcb_thermal_spoke_id: getZodPrefixedIdWithDefault("pcb_thermal_spoke"),
3197
- pcb_ground_plane_id: z153.string(),
3198
- shape: z153.string(),
3199
- spoke_count: z153.number(),
3218
+ pcb_ground_plane_id: z154.string(),
3219
+ shape: z154.string(),
3220
+ spoke_count: z154.number(),
3200
3221
  spoke_thickness: distance,
3201
3222
  spoke_inner_diameter: distance,
3202
3223
  spoke_outer_diameter: distance,
3203
- pcb_plated_hole_id: z153.string().optional(),
3204
- subcircuit_id: z153.string().optional()
3224
+ pcb_plated_hole_id: z154.string().optional(),
3225
+ subcircuit_id: z154.string().optional()
3205
3226
  }).describe("Pattern for connecting a ground plane to a plated hole");
3206
3227
  expectTypesMatch(true);
3207
3228
 
3208
3229
  // src/pcb/pcb_copper_pour.ts
3209
- import { z as z154 } from "zod";
3210
- var pcb_copper_pour_base = z154.object({
3211
- type: z154.literal("pcb_copper_pour"),
3230
+ import { z as z155 } from "zod";
3231
+ var pcb_copper_pour_base = z155.object({
3232
+ type: z155.literal("pcb_copper_pour"),
3212
3233
  pcb_copper_pour_id: getZodPrefixedIdWithDefault("pcb_copper_pour"),
3213
- pcb_group_id: z154.string().optional(),
3214
- subcircuit_id: z154.string().optional(),
3234
+ pcb_group_id: z155.string().optional(),
3235
+ subcircuit_id: z155.string().optional(),
3215
3236
  layer: layer_ref,
3216
- source_net_id: z154.string().optional(),
3217
- covered_with_solder_mask: z154.boolean().optional().default(true)
3237
+ source_net_id: z155.string().optional(),
3238
+ covered_with_solder_mask: z155.boolean().optional().default(true)
3218
3239
  });
3219
3240
  var pcb_copper_pour_rect = pcb_copper_pour_base.extend({
3220
- shape: z154.literal("rect"),
3241
+ shape: z155.literal("rect"),
3221
3242
  center: point,
3222
3243
  width: length,
3223
3244
  height: length,
@@ -3225,16 +3246,16 @@ var pcb_copper_pour_rect = pcb_copper_pour_base.extend({
3225
3246
  });
3226
3247
  expectTypesMatch(true);
3227
3248
  var pcb_copper_pour_brep = pcb_copper_pour_base.extend({
3228
- shape: z154.literal("brep"),
3249
+ shape: z155.literal("brep"),
3229
3250
  brep_shape
3230
3251
  });
3231
3252
  expectTypesMatch(true);
3232
3253
  var pcb_copper_pour_polygon = pcb_copper_pour_base.extend({
3233
- shape: z154.literal("polygon"),
3234
- points: z154.array(point)
3254
+ shape: z155.literal("polygon"),
3255
+ points: z155.array(point)
3235
3256
  });
3236
3257
  expectTypesMatch(true);
3237
- var pcb_copper_pour = z154.discriminatedUnion("shape", [
3258
+ var pcb_copper_pour = z155.discriminatedUnion("shape", [
3238
3259
  pcb_copper_pour_rect,
3239
3260
  pcb_copper_pour_brep,
3240
3261
  pcb_copper_pour_polygon
@@ -3242,99 +3263,99 @@ var pcb_copper_pour = z154.discriminatedUnion("shape", [
3242
3263
  expectTypesMatch(true);
3243
3264
 
3244
3265
  // src/pcb/pcb_component_outside_board_error.ts
3245
- import { z as z155 } from "zod";
3266
+ import { z as z156 } from "zod";
3246
3267
  var pcb_component_outside_board_error = base_circuit_json_error.extend({
3247
- type: z155.literal("pcb_component_outside_board_error"),
3268
+ type: z156.literal("pcb_component_outside_board_error"),
3248
3269
  pcb_component_outside_board_error_id: getZodPrefixedIdWithDefault(
3249
3270
  "pcb_component_outside_board_error"
3250
3271
  ),
3251
- error_type: z155.literal("pcb_component_outside_board_error").default("pcb_component_outside_board_error"),
3252
- pcb_component_id: z155.string(),
3253
- pcb_board_id: z155.string(),
3272
+ error_type: z156.literal("pcb_component_outside_board_error").default("pcb_component_outside_board_error"),
3273
+ pcb_component_id: z156.string(),
3274
+ pcb_board_id: z156.string(),
3254
3275
  component_center: point,
3255
- component_bounds: z155.object({
3256
- min_x: z155.number(),
3257
- max_x: z155.number(),
3258
- min_y: z155.number(),
3259
- max_y: z155.number()
3276
+ component_bounds: z156.object({
3277
+ min_x: z156.number(),
3278
+ max_x: z156.number(),
3279
+ min_y: z156.number(),
3280
+ max_y: z156.number()
3260
3281
  }),
3261
- subcircuit_id: z155.string().optional(),
3262
- source_component_id: z155.string().optional()
3282
+ subcircuit_id: z156.string().optional(),
3283
+ source_component_id: z156.string().optional()
3263
3284
  }).describe(
3264
3285
  "Error emitted when a PCB component is placed outside the board boundaries"
3265
3286
  );
3266
3287
  expectTypesMatch(true);
3267
3288
 
3268
3289
  // src/pcb/pcb_component_not_on_board_edge_error.ts
3269
- import { z as z156 } from "zod";
3290
+ import { z as z157 } from "zod";
3270
3291
  var pcb_component_not_on_board_edge_error = base_circuit_json_error.extend({
3271
- type: z156.literal("pcb_component_not_on_board_edge_error"),
3292
+ type: z157.literal("pcb_component_not_on_board_edge_error"),
3272
3293
  pcb_component_not_on_board_edge_error_id: getZodPrefixedIdWithDefault(
3273
3294
  "pcb_component_not_on_board_edge_error"
3274
3295
  ),
3275
- error_type: z156.literal("pcb_component_not_on_board_edge_error").default("pcb_component_not_on_board_edge_error"),
3276
- pcb_component_id: z156.string(),
3277
- pcb_board_id: z156.string(),
3296
+ error_type: z157.literal("pcb_component_not_on_board_edge_error").default("pcb_component_not_on_board_edge_error"),
3297
+ pcb_component_id: z157.string(),
3298
+ pcb_board_id: z157.string(),
3278
3299
  component_center: point,
3279
- pad_to_nearest_board_edge_distance: z156.number(),
3280
- source_component_id: z156.string().optional(),
3281
- subcircuit_id: z156.string().optional()
3300
+ pad_to_nearest_board_edge_distance: z157.number(),
3301
+ source_component_id: z157.string().optional(),
3302
+ subcircuit_id: z157.string().optional()
3282
3303
  }).describe(
3283
3304
  "Error emitted when a component that must be placed on the board edge is centered away from the edge"
3284
3305
  );
3285
3306
  expectTypesMatch(true);
3286
3307
 
3287
3308
  // src/pcb/pcb_component_invalid_layer_error.ts
3288
- import { z as z157 } from "zod";
3309
+ import { z as z158 } from "zod";
3289
3310
  var pcb_component_invalid_layer_error = base_circuit_json_error.extend({
3290
- type: z157.literal("pcb_component_invalid_layer_error"),
3311
+ type: z158.literal("pcb_component_invalid_layer_error"),
3291
3312
  pcb_component_invalid_layer_error_id: getZodPrefixedIdWithDefault(
3292
3313
  "pcb_component_invalid_layer_error"
3293
3314
  ),
3294
- error_type: z157.literal("pcb_component_invalid_layer_error").default("pcb_component_invalid_layer_error"),
3295
- pcb_component_id: z157.string().optional(),
3296
- source_component_id: z157.string(),
3315
+ error_type: z158.literal("pcb_component_invalid_layer_error").default("pcb_component_invalid_layer_error"),
3316
+ pcb_component_id: z158.string().optional(),
3317
+ source_component_id: z158.string(),
3297
3318
  layer: layer_ref,
3298
- subcircuit_id: z157.string().optional()
3319
+ subcircuit_id: z158.string().optional()
3299
3320
  }).describe(
3300
3321
  "Error emitted when a component is placed on an invalid layer (components can only be on 'top' or 'bottom' layers)"
3301
3322
  );
3302
3323
  expectTypesMatch(true);
3303
3324
 
3304
3325
  // src/pcb/pcb_via_clearance_error.ts
3305
- import { z as z158 } from "zod";
3326
+ import { z as z159 } from "zod";
3306
3327
  var pcb_via_clearance_error = base_circuit_json_error.extend({
3307
- type: z158.literal("pcb_via_clearance_error"),
3328
+ type: z159.literal("pcb_via_clearance_error"),
3308
3329
  pcb_error_id: getZodPrefixedIdWithDefault("pcb_error"),
3309
- error_type: z158.literal("pcb_via_clearance_error").default("pcb_via_clearance_error"),
3310
- pcb_via_ids: z158.array(z158.string()).min(2),
3330
+ error_type: z159.literal("pcb_via_clearance_error").default("pcb_via_clearance_error"),
3331
+ pcb_via_ids: z159.array(z159.string()).min(2),
3311
3332
  minimum_clearance: distance.optional(),
3312
3333
  actual_clearance: distance.optional(),
3313
- pcb_center: z158.object({
3314
- x: z158.number().optional(),
3315
- y: z158.number().optional()
3334
+ pcb_center: z159.object({
3335
+ x: z159.number().optional(),
3336
+ y: z159.number().optional()
3316
3337
  }).optional(),
3317
- subcircuit_id: z158.string().optional()
3338
+ subcircuit_id: z159.string().optional()
3318
3339
  }).describe("Error emitted when vias are closer than the allowed clearance");
3319
3340
  expectTypesMatch(true);
3320
3341
 
3321
3342
  // src/pcb/pcb_via_trace_clearance_error.ts
3322
- import { z as z159 } from "zod";
3343
+ import { z as z160 } from "zod";
3323
3344
  var pcb_via_trace_clearance_error = base_circuit_json_error.extend({
3324
- type: z159.literal("pcb_via_trace_clearance_error"),
3345
+ type: z160.literal("pcb_via_trace_clearance_error"),
3325
3346
  pcb_via_trace_clearance_error_id: getZodPrefixedIdWithDefault(
3326
3347
  "pcb_via_trace_clearance_error"
3327
3348
  ),
3328
- error_type: z159.literal("pcb_via_trace_clearance_error").default("pcb_via_trace_clearance_error"),
3329
- pcb_via_id: z159.string(),
3330
- pcb_trace_id: z159.string(),
3349
+ error_type: z160.literal("pcb_via_trace_clearance_error").default("pcb_via_trace_clearance_error"),
3350
+ pcb_via_id: z160.string(),
3351
+ pcb_trace_id: z160.string(),
3331
3352
  minimum_clearance: distance.optional(),
3332
3353
  actual_clearance: distance.optional(),
3333
- center: z159.object({
3334
- x: z159.number().optional(),
3335
- y: z159.number().optional()
3354
+ center: z160.object({
3355
+ x: z160.number().optional(),
3356
+ y: z160.number().optional()
3336
3357
  }).optional(),
3337
- subcircuit_id: z159.string().optional()
3358
+ subcircuit_id: z160.string().optional()
3338
3359
  }).describe(
3339
3360
  "Error emitted when a via and trace are closer than the allowed clearance"
3340
3361
  );
@@ -3343,41 +3364,41 @@ expectTypesMatch(
3343
3364
  );
3344
3365
 
3345
3366
  // src/pcb/pcb_pad_pad_clearance_error.ts
3346
- import { z as z160 } from "zod";
3367
+ import { z as z161 } from "zod";
3347
3368
  var pcb_pad_pad_clearance_error = base_circuit_json_error.extend({
3348
- type: z160.literal("pcb_pad_pad_clearance_error"),
3369
+ type: z161.literal("pcb_pad_pad_clearance_error"),
3349
3370
  pcb_pad_pad_clearance_error_id: getZodPrefixedIdWithDefault(
3350
3371
  "pcb_pad_pad_clearance_error"
3351
3372
  ),
3352
- error_type: z160.literal("pcb_pad_pad_clearance_error").default("pcb_pad_pad_clearance_error"),
3353
- pcb_pad_ids: z160.array(z160.string()).min(2),
3373
+ error_type: z161.literal("pcb_pad_pad_clearance_error").default("pcb_pad_pad_clearance_error"),
3374
+ pcb_pad_ids: z161.array(z161.string()).min(2),
3354
3375
  minimum_clearance: distance.optional(),
3355
3376
  actual_clearance: distance.optional(),
3356
- center: z160.object({
3357
- x: z160.number().optional(),
3358
- y: z160.number().optional()
3377
+ center: z161.object({
3378
+ x: z161.number().optional(),
3379
+ y: z161.number().optional()
3359
3380
  }).optional(),
3360
- subcircuit_id: z160.string().optional()
3381
+ subcircuit_id: z161.string().optional()
3361
3382
  }).describe("Error emitted when pads are closer than the allowed clearance");
3362
3383
  expectTypesMatch(true);
3363
3384
 
3364
3385
  // src/pcb/pcb_pad_trace_clearance_error.ts
3365
- import { z as z161 } from "zod";
3386
+ import { z as z162 } from "zod";
3366
3387
  var pcb_pad_trace_clearance_error = base_circuit_json_error.extend({
3367
- type: z161.literal("pcb_pad_trace_clearance_error"),
3388
+ type: z162.literal("pcb_pad_trace_clearance_error"),
3368
3389
  pcb_pad_trace_clearance_error_id: getZodPrefixedIdWithDefault(
3369
3390
  "pcb_pad_trace_clearance_error"
3370
3391
  ),
3371
- error_type: z161.literal("pcb_pad_trace_clearance_error").default("pcb_pad_trace_clearance_error"),
3372
- pcb_pad_id: z161.string(),
3373
- pcb_trace_id: z161.string(),
3392
+ error_type: z162.literal("pcb_pad_trace_clearance_error").default("pcb_pad_trace_clearance_error"),
3393
+ pcb_pad_id: z162.string(),
3394
+ pcb_trace_id: z162.string(),
3374
3395
  minimum_clearance: distance.optional(),
3375
3396
  actual_clearance: distance.optional(),
3376
- center: z161.object({
3377
- x: z161.number().optional(),
3378
- y: z161.number().optional()
3397
+ center: z162.object({
3398
+ x: z162.number().optional(),
3399
+ y: z162.number().optional()
3379
3400
  }).optional(),
3380
- subcircuit_id: z161.string().optional()
3401
+ subcircuit_id: z162.string().optional()
3381
3402
  }).describe(
3382
3403
  "Error emitted when a pad and trace are closer than allowed clearance"
3383
3404
  );
@@ -3386,89 +3407,89 @@ expectTypesMatch(
3386
3407
  );
3387
3408
 
3388
3409
  // src/pcb/pcb_courtyard_rect.ts
3389
- import { z as z162 } from "zod";
3390
- var pcb_courtyard_rect = z162.object({
3391
- type: z162.literal("pcb_courtyard_rect"),
3410
+ import { z as z163 } from "zod";
3411
+ var pcb_courtyard_rect = z163.object({
3412
+ type: z163.literal("pcb_courtyard_rect"),
3392
3413
  pcb_courtyard_rect_id: getZodPrefixedIdWithDefault("pcb_courtyard_rect"),
3393
- pcb_component_id: z162.string(),
3394
- pcb_group_id: z162.string().optional(),
3395
- subcircuit_id: z162.string().optional(),
3414
+ pcb_component_id: z163.string(),
3415
+ pcb_group_id: z163.string().optional(),
3416
+ subcircuit_id: z163.string().optional(),
3396
3417
  center: point,
3397
3418
  width: length,
3398
3419
  height: length,
3399
3420
  layer: visible_layer,
3400
3421
  ccw_rotation: rotation.optional(),
3401
- color: z162.string().optional()
3422
+ color: z163.string().optional()
3402
3423
  }).describe("Defines a courtyard rectangle on the PCB");
3403
3424
  expectTypesMatch(true);
3404
3425
 
3405
3426
  // src/pcb/pcb_courtyard_outline.ts
3406
- import { z as z163 } from "zod";
3407
- var pcb_courtyard_outline = z163.object({
3408
- type: z163.literal("pcb_courtyard_outline"),
3427
+ import { z as z164 } from "zod";
3428
+ var pcb_courtyard_outline = z164.object({
3429
+ type: z164.literal("pcb_courtyard_outline"),
3409
3430
  pcb_courtyard_outline_id: getZodPrefixedIdWithDefault(
3410
3431
  "pcb_courtyard_outline"
3411
3432
  ),
3412
- pcb_component_id: z163.string(),
3413
- pcb_group_id: z163.string().optional(),
3414
- subcircuit_id: z163.string().optional(),
3433
+ pcb_component_id: z164.string(),
3434
+ pcb_group_id: z164.string().optional(),
3435
+ subcircuit_id: z164.string().optional(),
3415
3436
  layer: visible_layer,
3416
- outline: z163.array(point).min(2)
3437
+ outline: z164.array(point).min(2)
3417
3438
  }).describe("Defines a courtyard outline on the PCB");
3418
3439
  expectTypesMatch(true);
3419
3440
 
3420
3441
  // src/pcb/pcb_courtyard_polygon.ts
3421
- import { z as z164 } from "zod";
3422
- var pcb_courtyard_polygon = z164.object({
3423
- type: z164.literal("pcb_courtyard_polygon"),
3442
+ import { z as z165 } from "zod";
3443
+ var pcb_courtyard_polygon = z165.object({
3444
+ type: z165.literal("pcb_courtyard_polygon"),
3424
3445
  pcb_courtyard_polygon_id: getZodPrefixedIdWithDefault(
3425
3446
  "pcb_courtyard_polygon"
3426
3447
  ),
3427
- pcb_component_id: z164.string(),
3428
- pcb_group_id: z164.string().optional(),
3429
- subcircuit_id: z164.string().optional(),
3448
+ pcb_component_id: z165.string(),
3449
+ pcb_group_id: z165.string().optional(),
3450
+ subcircuit_id: z165.string().optional(),
3430
3451
  layer: visible_layer,
3431
- points: z164.array(point).min(3),
3432
- color: z164.string().optional()
3452
+ points: z165.array(point).min(3),
3453
+ color: z165.string().optional()
3433
3454
  }).describe("Defines a courtyard polygon on the PCB");
3434
3455
  expectTypesMatch(true);
3435
3456
 
3436
3457
  // src/pcb/pcb_courtyard_circle.ts
3437
- import { z as z165 } from "zod";
3438
- var pcb_courtyard_circle = z165.object({
3439
- type: z165.literal("pcb_courtyard_circle"),
3458
+ import { z as z166 } from "zod";
3459
+ var pcb_courtyard_circle = z166.object({
3460
+ type: z166.literal("pcb_courtyard_circle"),
3440
3461
  pcb_courtyard_circle_id: getZodPrefixedIdWithDefault(
3441
3462
  "pcb_courtyard_circle"
3442
3463
  ),
3443
- pcb_component_id: z165.string(),
3444
- pcb_group_id: z165.string().optional(),
3445
- subcircuit_id: z165.string().optional(),
3464
+ pcb_component_id: z166.string(),
3465
+ pcb_group_id: z166.string().optional(),
3466
+ subcircuit_id: z166.string().optional(),
3446
3467
  center: point,
3447
3468
  radius: length,
3448
3469
  layer: visible_layer,
3449
- color: z165.string().optional()
3470
+ color: z166.string().optional()
3450
3471
  }).describe("Defines a courtyard circle on the PCB");
3451
3472
  expectTypesMatch(true);
3452
3473
 
3453
3474
  // src/pcb/pcb_courtyard_pill.ts
3454
- import { z as z166 } from "zod";
3455
- var pcb_courtyard_pill = z166.object({
3456
- type: z166.literal("pcb_courtyard_pill"),
3475
+ import { z as z167 } from "zod";
3476
+ var pcb_courtyard_pill = z167.object({
3477
+ type: z167.literal("pcb_courtyard_pill"),
3457
3478
  pcb_courtyard_pill_id: getZodPrefixedIdWithDefault("pcb_courtyard_pill"),
3458
- pcb_component_id: z166.string(),
3459
- pcb_group_id: z166.string().optional(),
3460
- subcircuit_id: z166.string().optional(),
3479
+ pcb_component_id: z167.string(),
3480
+ pcb_group_id: z167.string().optional(),
3481
+ subcircuit_id: z167.string().optional(),
3461
3482
  center: point,
3462
3483
  width: length,
3463
3484
  height: length,
3464
3485
  radius: length,
3465
3486
  layer: visible_layer,
3466
- color: z166.string().optional()
3487
+ color: z167.string().optional()
3467
3488
  }).describe("Defines a courtyard pill on the PCB");
3468
3489
  expectTypesMatch(true);
3469
3490
 
3470
3491
  // src/cad/cad_component.ts
3471
- import { z as z167 } from "zod";
3492
+ import { z as z168 } from "zod";
3472
3493
 
3473
3494
  // src/cad/cad_model_conventions.ts
3474
3495
  var cad_model_formats = [
@@ -3499,49 +3520,49 @@ var cadModelDefaultDirectionMap = {
3499
3520
  };
3500
3521
 
3501
3522
  // src/cad/cad_component.ts
3502
- var cad_component = z167.object({
3503
- type: z167.literal("cad_component"),
3504
- cad_component_id: z167.string(),
3505
- pcb_component_id: z167.string(),
3506
- source_component_id: z167.string(),
3523
+ var cad_component = z168.object({
3524
+ type: z168.literal("cad_component"),
3525
+ cad_component_id: z168.string(),
3526
+ pcb_component_id: z168.string(),
3527
+ source_component_id: z168.string(),
3507
3528
  position: point3,
3508
3529
  rotation: point3.optional(),
3509
3530
  size: point3.optional(),
3510
3531
  layer: layer_ref.optional(),
3511
- subcircuit_id: z167.string().optional(),
3532
+ subcircuit_id: z168.string().optional(),
3512
3533
  // These are all ways to generate/load the 3d model
3513
- footprinter_string: z167.string().optional(),
3514
- model_obj_url: z167.string().optional(),
3515
- model_stl_url: z167.string().optional(),
3516
- model_3mf_url: z167.string().optional(),
3517
- model_gltf_url: z167.string().optional(),
3518
- model_glb_url: z167.string().optional(),
3519
- model_step_url: z167.string().optional(),
3520
- model_wrl_url: z167.string().optional(),
3534
+ footprinter_string: z168.string().optional(),
3535
+ model_obj_url: z168.string().optional(),
3536
+ model_stl_url: z168.string().optional(),
3537
+ model_3mf_url: z168.string().optional(),
3538
+ model_gltf_url: z168.string().optional(),
3539
+ model_glb_url: z168.string().optional(),
3540
+ model_step_url: z168.string().optional(),
3541
+ model_wrl_url: z168.string().optional(),
3521
3542
  model_asset: asset.optional(),
3522
- model_unit_to_mm_scale_factor: z167.number().optional(),
3523
- model_board_normal_direction: z167.enum(cad_model_axis_directions).optional().describe(
3543
+ model_unit_to_mm_scale_factor: z168.number().optional(),
3544
+ model_board_normal_direction: z168.enum(cad_model_axis_directions).optional().describe(
3524
3545
  `The direction in the model's coordinate space that is considered "up" or "coming out of the board surface"`
3525
3546
  ),
3526
3547
  model_origin_position: point3.optional(),
3527
- model_origin_alignment: z167.enum([
3548
+ model_origin_alignment: z168.enum([
3528
3549
  "unknown",
3529
3550
  "center",
3530
3551
  "center_of_component_on_board_surface",
3531
3552
  "bottom_center_of_component"
3532
3553
  ]).optional(),
3533
- model_object_fit: z167.enum(["contain_within_bounds", "fill_bounds"]).optional().default("contain_within_bounds"),
3534
- model_jscad: z167.any().optional(),
3535
- show_as_translucent_model: z167.boolean().optional(),
3536
- show_as_bounding_box: z167.boolean().optional(),
3537
- anchor_alignment: z167.enum(["center", "center_of_component_on_board_surface"]).optional().default("center")
3554
+ model_object_fit: z168.enum(["contain_within_bounds", "fill_bounds"]).optional().default("contain_within_bounds"),
3555
+ model_jscad: z168.any().optional(),
3556
+ show_as_translucent_model: z168.boolean().optional(),
3557
+ show_as_bounding_box: z168.boolean().optional(),
3558
+ anchor_alignment: z168.enum(["center", "center_of_component_on_board_surface"]).optional().default("center")
3538
3559
  }).describe("Defines a component on the PCB");
3539
3560
  expectTypesMatch(true);
3540
3561
 
3541
3562
  // src/simulation/simulation_voltage_source.ts
3542
- import { z as z168 } from "zod";
3543
- var wave_shape = z168.enum(["sinewave", "square", "triangle", "sawtooth"]);
3544
- var percentage = z168.union([z168.string(), z168.number()]).transform((val) => {
3563
+ import { z as z169 } from "zod";
3564
+ var wave_shape = z169.enum(["sinewave", "square", "triangle", "sawtooth"]);
3565
+ var percentage = z169.union([z169.string(), z169.number()]).transform((val) => {
3545
3566
  if (typeof val === "string") {
3546
3567
  if (val.endsWith("%")) {
3547
3568
  return parseFloat(val.slice(0, -1)) / 100;
@@ -3550,30 +3571,30 @@ var percentage = z168.union([z168.string(), z168.number()]).transform((val) => {
3550
3571
  }
3551
3572
  return val;
3552
3573
  }).pipe(
3553
- z168.number().min(0, "Duty cycle must be non-negative").max(1, "Duty cycle cannot be greater than 100%")
3574
+ z169.number().min(0, "Duty cycle must be non-negative").max(1, "Duty cycle cannot be greater than 100%")
3554
3575
  );
3555
- var simulation_dc_voltage_source = z168.object({
3556
- type: z168.literal("simulation_voltage_source"),
3576
+ var simulation_dc_voltage_source = z169.object({
3577
+ type: z169.literal("simulation_voltage_source"),
3557
3578
  simulation_voltage_source_id: getZodPrefixedIdWithDefault(
3558
3579
  "simulation_voltage_source"
3559
3580
  ),
3560
- is_dc_source: z168.literal(true).optional().default(true),
3561
- positive_source_port_id: z168.string().optional(),
3562
- negative_source_port_id: z168.string().optional(),
3563
- positive_source_net_id: z168.string().optional(),
3564
- negative_source_net_id: z168.string().optional(),
3581
+ is_dc_source: z169.literal(true).optional().default(true),
3582
+ positive_source_port_id: z169.string().optional(),
3583
+ negative_source_port_id: z169.string().optional(),
3584
+ positive_source_net_id: z169.string().optional(),
3585
+ negative_source_net_id: z169.string().optional(),
3565
3586
  voltage
3566
3587
  }).describe("Defines a DC voltage source for simulation");
3567
- var simulation_ac_voltage_source = z168.object({
3568
- type: z168.literal("simulation_voltage_source"),
3588
+ var simulation_ac_voltage_source = z169.object({
3589
+ type: z169.literal("simulation_voltage_source"),
3569
3590
  simulation_voltage_source_id: getZodPrefixedIdWithDefault(
3570
3591
  "simulation_voltage_source"
3571
3592
  ),
3572
- is_dc_source: z168.literal(false),
3573
- terminal1_source_port_id: z168.string().optional(),
3574
- terminal2_source_port_id: z168.string().optional(),
3575
- terminal1_source_net_id: z168.string().optional(),
3576
- terminal2_source_net_id: z168.string().optional(),
3593
+ is_dc_source: z169.literal(false),
3594
+ terminal1_source_port_id: z169.string().optional(),
3595
+ terminal2_source_port_id: z169.string().optional(),
3596
+ terminal1_source_net_id: z169.string().optional(),
3597
+ terminal2_source_net_id: z169.string().optional(),
3577
3598
  voltage: voltage.optional(),
3578
3599
  frequency: frequency.optional(),
3579
3600
  peak_to_peak_voltage: voltage.optional(),
@@ -3586,14 +3607,14 @@ var simulation_ac_voltage_source = z168.object({
3586
3607
  pulse_width: ms.optional(),
3587
3608
  period: ms.optional()
3588
3609
  }).describe("Defines an AC voltage source for simulation");
3589
- var simulation_voltage_source = z168.union([simulation_dc_voltage_source, simulation_ac_voltage_source]).describe("Defines a voltage source for simulation");
3610
+ var simulation_voltage_source = z169.union([simulation_dc_voltage_source, simulation_ac_voltage_source]).describe("Defines a voltage source for simulation");
3590
3611
  expectTypesMatch(true);
3591
3612
  expectTypesMatch(true);
3592
3613
  expectTypesMatch(true);
3593
3614
 
3594
3615
  // src/simulation/simulation_current_source.ts
3595
- import { z as z169 } from "zod";
3596
- var percentage2 = z169.union([z169.string(), z169.number()]).transform((val) => {
3616
+ import { z as z170 } from "zod";
3617
+ var percentage2 = z170.union([z170.string(), z170.number()]).transform((val) => {
3597
3618
  if (typeof val === "string") {
3598
3619
  if (val.endsWith("%")) {
3599
3620
  return parseFloat(val.slice(0, -1)) / 100;
@@ -3602,30 +3623,30 @@ var percentage2 = z169.union([z169.string(), z169.number()]).transform((val) =>
3602
3623
  }
3603
3624
  return val;
3604
3625
  }).pipe(
3605
- z169.number().min(0, "Duty cycle must be non-negative").max(1, "Duty cycle cannot be greater than 100%")
3626
+ z170.number().min(0, "Duty cycle must be non-negative").max(1, "Duty cycle cannot be greater than 100%")
3606
3627
  );
3607
- var simulation_dc_current_source = z169.object({
3608
- type: z169.literal("simulation_current_source"),
3628
+ var simulation_dc_current_source = z170.object({
3629
+ type: z170.literal("simulation_current_source"),
3609
3630
  simulation_current_source_id: getZodPrefixedIdWithDefault(
3610
3631
  "simulation_current_source"
3611
3632
  ),
3612
- is_dc_source: z169.literal(true).optional().default(true),
3613
- positive_source_port_id: z169.string().optional(),
3614
- negative_source_port_id: z169.string().optional(),
3615
- positive_source_net_id: z169.string().optional(),
3616
- negative_source_net_id: z169.string().optional(),
3633
+ is_dc_source: z170.literal(true).optional().default(true),
3634
+ positive_source_port_id: z170.string().optional(),
3635
+ negative_source_port_id: z170.string().optional(),
3636
+ positive_source_net_id: z170.string().optional(),
3637
+ negative_source_net_id: z170.string().optional(),
3617
3638
  current
3618
3639
  }).describe("Defines a DC current source for simulation");
3619
- var simulation_ac_current_source = z169.object({
3620
- type: z169.literal("simulation_current_source"),
3640
+ var simulation_ac_current_source = z170.object({
3641
+ type: z170.literal("simulation_current_source"),
3621
3642
  simulation_current_source_id: getZodPrefixedIdWithDefault(
3622
3643
  "simulation_current_source"
3623
3644
  ),
3624
- is_dc_source: z169.literal(false),
3625
- terminal1_source_port_id: z169.string().optional(),
3626
- terminal2_source_port_id: z169.string().optional(),
3627
- terminal1_source_net_id: z169.string().optional(),
3628
- terminal2_source_net_id: z169.string().optional(),
3645
+ is_dc_source: z170.literal(false),
3646
+ terminal1_source_port_id: z170.string().optional(),
3647
+ terminal2_source_port_id: z170.string().optional(),
3648
+ terminal1_source_net_id: z170.string().optional(),
3649
+ terminal2_source_net_id: z170.string().optional(),
3629
3650
  current: current.optional(),
3630
3651
  frequency: frequency.optional(),
3631
3652
  peak_to_peak_current: current.optional(),
@@ -3633,31 +3654,31 @@ var simulation_ac_current_source = z169.object({
3633
3654
  phase: rotation.optional(),
3634
3655
  duty_cycle: percentage2.optional()
3635
3656
  }).describe("Defines an AC current source for simulation");
3636
- var simulation_current_source = z169.union([simulation_dc_current_source, simulation_ac_current_source]).describe("Defines a current source for simulation");
3657
+ var simulation_current_source = z170.union([simulation_dc_current_source, simulation_ac_current_source]).describe("Defines a current source for simulation");
3637
3658
  expectTypesMatch(true);
3638
3659
  expectTypesMatch(true);
3639
3660
  expectTypesMatch(true);
3640
3661
 
3641
3662
  // src/simulation/simulation_experiment.ts
3642
- import { z as z170 } from "zod";
3643
- var experiment_type = z170.union([
3644
- z170.literal("spice_dc_sweep"),
3645
- z170.literal("spice_dc_operating_point"),
3646
- z170.literal("spice_transient_analysis"),
3647
- z170.literal("spice_ac_analysis")
3663
+ import { z as z171 } from "zod";
3664
+ var experiment_type = z171.union([
3665
+ z171.literal("spice_dc_sweep"),
3666
+ z171.literal("spice_dc_operating_point"),
3667
+ z171.literal("spice_transient_analysis"),
3668
+ z171.literal("spice_ac_analysis")
3648
3669
  ]);
3649
- var spice_simulation_options = z170.object({
3650
- method: z170.enum(["trap", "gear"]).optional(),
3651
- reltol: z170.union([z170.number(), z170.string()]).optional(),
3652
- abstol: z170.union([z170.number(), z170.string()]).optional(),
3653
- vntol: z170.union([z170.number(), z170.string()]).optional()
3670
+ var spice_simulation_options = z171.object({
3671
+ method: z171.enum(["trap", "gear"]).optional(),
3672
+ reltol: z171.union([z171.number(), z171.string()]).optional(),
3673
+ abstol: z171.union([z171.number(), z171.string()]).optional(),
3674
+ vntol: z171.union([z171.number(), z171.string()]).optional()
3654
3675
  }).describe("SPICE solver options for a simulation experiment");
3655
- var simulation_experiment = z170.object({
3656
- type: z170.literal("simulation_experiment"),
3676
+ var simulation_experiment = z171.object({
3677
+ type: z171.literal("simulation_experiment"),
3657
3678
  simulation_experiment_id: getZodPrefixedIdWithDefault(
3658
3679
  "simulation_experiment"
3659
3680
  ),
3660
- name: z170.string(),
3681
+ name: z171.string(),
3661
3682
  experiment_type,
3662
3683
  time_per_step: duration_ms.optional(),
3663
3684
  start_time_ms: ms.optional(),
@@ -3667,73 +3688,73 @@ var simulation_experiment = z170.object({
3667
3688
  expectTypesMatch(true);
3668
3689
 
3669
3690
  // src/simulation/simulation_transient_voltage_graph.ts
3670
- import { z as z171 } from "zod";
3671
- var simulation_transient_voltage_graph = z171.object({
3672
- type: z171.literal("simulation_transient_voltage_graph"),
3691
+ import { z as z172 } from "zod";
3692
+ var simulation_transient_voltage_graph = z172.object({
3693
+ type: z172.literal("simulation_transient_voltage_graph"),
3673
3694
  simulation_transient_voltage_graph_id: getZodPrefixedIdWithDefault(
3674
3695
  "simulation_transient_voltage_graph"
3675
3696
  ),
3676
- simulation_experiment_id: z171.string(),
3677
- timestamps_ms: z171.array(z171.number()).optional(),
3678
- voltage_levels: z171.array(z171.number()),
3679
- source_component_id: z171.string().optional(),
3680
- subcircuit_connectivity_map_key: z171.string().optional(),
3697
+ simulation_experiment_id: z172.string(),
3698
+ timestamps_ms: z172.array(z172.number()).optional(),
3699
+ voltage_levels: z172.array(z172.number()),
3700
+ source_component_id: z172.string().optional(),
3701
+ subcircuit_connectivity_map_key: z172.string().optional(),
3681
3702
  time_per_step: duration_ms,
3682
3703
  start_time_ms: ms,
3683
3704
  end_time_ms: ms,
3684
- name: z171.string().optional(),
3685
- color: z171.string().optional()
3705
+ name: z172.string().optional(),
3706
+ color: z172.string().optional()
3686
3707
  }).describe("Stores voltage measurements over time for a simulation");
3687
3708
  expectTypesMatch(true);
3688
3709
 
3689
3710
  // src/simulation/simulation_transient_current_graph.ts
3690
- import { z as z172 } from "zod";
3691
- var simulation_transient_current_graph = z172.object({
3692
- type: z172.literal("simulation_transient_current_graph"),
3711
+ import { z as z173 } from "zod";
3712
+ var simulation_transient_current_graph = z173.object({
3713
+ type: z173.literal("simulation_transient_current_graph"),
3693
3714
  simulation_transient_current_graph_id: getZodPrefixedIdWithDefault(
3694
3715
  "simulation_transient_current_graph"
3695
3716
  ),
3696
- simulation_experiment_id: z172.string(),
3697
- timestamps_ms: z172.array(z172.number()).optional(),
3698
- current_levels: z172.array(z172.number()),
3699
- source_component_id: z172.string().optional(),
3700
- subcircuit_connectivity_map_key: z172.string().optional(),
3717
+ simulation_experiment_id: z173.string(),
3718
+ timestamps_ms: z173.array(z173.number()).optional(),
3719
+ current_levels: z173.array(z173.number()),
3720
+ source_component_id: z173.string().optional(),
3721
+ subcircuit_connectivity_map_key: z173.string().optional(),
3701
3722
  time_per_step: duration_ms,
3702
3723
  start_time_ms: ms,
3703
3724
  end_time_ms: ms,
3704
- name: z172.string().optional(),
3705
- color: z172.string().optional()
3725
+ name: z173.string().optional(),
3726
+ color: z173.string().optional()
3706
3727
  }).describe("Stores current measurements over time for a simulation");
3707
3728
  expectTypesMatch(true);
3708
3729
 
3709
3730
  // src/simulation/simulation_switch.ts
3710
- import { z as z173 } from "zod";
3711
- var simulation_switch = z173.object({
3712
- type: z173.literal("simulation_switch"),
3731
+ import { z as z174 } from "zod";
3732
+ var simulation_switch = z174.object({
3733
+ type: z174.literal("simulation_switch"),
3713
3734
  simulation_switch_id: getZodPrefixedIdWithDefault("simulation_switch"),
3714
- source_component_id: z173.string().optional(),
3735
+ source_component_id: z174.string().optional(),
3715
3736
  closes_at: ms.optional(),
3716
3737
  opens_at: ms.optional(),
3717
- starts_closed: z173.boolean().optional(),
3738
+ starts_closed: z174.boolean().optional(),
3718
3739
  switching_frequency: frequency.optional()
3719
3740
  }).describe("Defines a switch for simulation timing control");
3720
3741
  expectTypesMatch(true);
3721
3742
 
3722
3743
  // src/simulation/simulation_voltage_probe.ts
3723
- import { z as z174 } from "zod";
3724
- var simulation_voltage_probe = z174.object({
3725
- type: z174.literal("simulation_voltage_probe"),
3744
+ import { z as z175 } from "zod";
3745
+ var simulation_voltage_probe = z175.object({
3746
+ type: z175.literal("simulation_voltage_probe"),
3726
3747
  simulation_voltage_probe_id: getZodPrefixedIdWithDefault(
3727
3748
  "simulation_voltage_probe"
3728
3749
  ),
3729
- source_component_id: z174.string().optional(),
3730
- name: z174.string().optional(),
3731
- signal_input_source_port_id: z174.string().optional(),
3732
- signal_input_source_net_id: z174.string().optional(),
3733
- reference_input_source_port_id: z174.string().optional(),
3734
- reference_input_source_net_id: z174.string().optional(),
3735
- subcircuit_id: z174.string().optional(),
3736
- color: z174.string().optional()
3750
+ source_component_id: z175.string().optional(),
3751
+ name: z175.string().optional(),
3752
+ signal_input_source_port_id: z175.string().optional(),
3753
+ signal_input_source_net_id: z175.string().optional(),
3754
+ reference_input_source_port_id: z175.string().optional(),
3755
+ reference_input_source_net_id: z175.string().optional(),
3756
+ subcircuit_id: z175.string().optional(),
3757
+ color: z175.string().optional()
3737
3758
  }).describe(
3738
3759
  "Defines a voltage probe for simulation. If a reference input is not provided, it measures against ground. If a reference input is provided, it measures the differential voltage between two points."
3739
3760
  ).superRefine((data, ctx) => {
@@ -3743,20 +3764,20 @@ var simulation_voltage_probe = z174.object({
3743
3764
  const has_nets = !!data.signal_input_source_net_id || !!data.reference_input_source_net_id;
3744
3765
  if (has_ports && has_nets) {
3745
3766
  ctx.addIssue({
3746
- code: z174.ZodIssueCode.custom,
3767
+ code: z175.ZodIssueCode.custom,
3747
3768
  message: "Cannot mix port and net connections in a differential probe."
3748
3769
  });
3749
3770
  } else if (has_ports) {
3750
3771
  if (!data.signal_input_source_port_id || !data.reference_input_source_port_id) {
3751
3772
  ctx.addIssue({
3752
- code: z174.ZodIssueCode.custom,
3773
+ code: z175.ZodIssueCode.custom,
3753
3774
  message: "Differential port probe requires both signal_input_source_port_id and reference_input_source_port_id."
3754
3775
  });
3755
3776
  }
3756
3777
  } else if (has_nets) {
3757
3778
  if (!data.signal_input_source_net_id || !data.reference_input_source_net_id) {
3758
3779
  ctx.addIssue({
3759
- code: z174.ZodIssueCode.custom,
3780
+ code: z175.ZodIssueCode.custom,
3760
3781
  message: "Differential net probe requires both signal_input_source_net_id and reference_input_source_net_id."
3761
3782
  });
3762
3783
  }
@@ -3764,7 +3785,7 @@ var simulation_voltage_probe = z174.object({
3764
3785
  } else {
3765
3786
  if (!!data.signal_input_source_port_id === !!data.signal_input_source_net_id) {
3766
3787
  ctx.addIssue({
3767
- code: z174.ZodIssueCode.custom,
3788
+ code: z175.ZodIssueCode.custom,
3768
3789
  message: "A voltage probe must have exactly one of signal_input_source_port_id or signal_input_source_net_id."
3769
3790
  });
3770
3791
  }
@@ -3773,20 +3794,20 @@ var simulation_voltage_probe = z174.object({
3773
3794
  expectTypesMatch(true);
3774
3795
 
3775
3796
  // src/simulation/simulation_current_probe.ts
3776
- import { z as z175 } from "zod";
3777
- var simulation_current_probe = z175.object({
3778
- type: z175.literal("simulation_current_probe"),
3797
+ import { z as z176 } from "zod";
3798
+ var simulation_current_probe = z176.object({
3799
+ type: z176.literal("simulation_current_probe"),
3779
3800
  simulation_current_probe_id: getZodPrefixedIdWithDefault(
3780
3801
  "simulation_current_probe"
3781
3802
  ),
3782
- source_component_id: z175.string().optional(),
3783
- name: z175.string().optional(),
3784
- positive_source_port_id: z175.string().optional(),
3785
- negative_source_port_id: z175.string().optional(),
3786
- positive_source_net_id: z175.string().optional(),
3787
- negative_source_net_id: z175.string().optional(),
3788
- subcircuit_id: z175.string().optional(),
3789
- color: z175.string().optional()
3803
+ source_component_id: z176.string().optional(),
3804
+ name: z176.string().optional(),
3805
+ positive_source_port_id: z176.string().optional(),
3806
+ negative_source_port_id: z176.string().optional(),
3807
+ positive_source_net_id: z176.string().optional(),
3808
+ negative_source_net_id: z176.string().optional(),
3809
+ subcircuit_id: z176.string().optional(),
3810
+ color: z176.string().optional()
3790
3811
  }).describe(
3791
3812
  "Defines a current probe for simulation. It measures current flowing from the positive endpoint to the negative endpoint."
3792
3813
  ).superRefine((data, ctx) => {
@@ -3798,7 +3819,7 @@ var simulation_current_probe = z175.object({
3798
3819
  const hasNets = hasPositiveNet || hasNegativeNet;
3799
3820
  if (hasPorts && hasNets) {
3800
3821
  ctx.addIssue({
3801
- code: z175.ZodIssueCode.custom,
3822
+ code: z176.ZodIssueCode.custom,
3802
3823
  message: "Cannot mix port and net connections in a current probe."
3803
3824
  });
3804
3825
  return;
@@ -3806,7 +3827,7 @@ var simulation_current_probe = z175.object({
3806
3827
  if (hasPorts) {
3807
3828
  if (!hasPositivePort || !hasNegativePort) {
3808
3829
  ctx.addIssue({
3809
- code: z175.ZodIssueCode.custom,
3830
+ code: z176.ZodIssueCode.custom,
3810
3831
  message: "Current probe using source ports requires both positive_source_port_id and negative_source_port_id."
3811
3832
  });
3812
3833
  }
@@ -3815,79 +3836,79 @@ var simulation_current_probe = z175.object({
3815
3836
  if (hasNets) {
3816
3837
  if (!hasPositiveNet || !hasNegativeNet) {
3817
3838
  ctx.addIssue({
3818
- code: z175.ZodIssueCode.custom,
3839
+ code: z176.ZodIssueCode.custom,
3819
3840
  message: "Current probe using source nets requires both positive_source_net_id and negative_source_net_id."
3820
3841
  });
3821
3842
  }
3822
3843
  return;
3823
3844
  }
3824
3845
  ctx.addIssue({
3825
- code: z175.ZodIssueCode.custom,
3846
+ code: z176.ZodIssueCode.custom,
3826
3847
  message: "A current probe must have either positive/negative source port ids or positive/negative source net ids."
3827
3848
  });
3828
3849
  });
3829
3850
  expectTypesMatch(true);
3830
3851
 
3831
3852
  // src/simulation/simulation_unknown_experiment_error.ts
3832
- import { z as z176 } from "zod";
3853
+ import { z as z177 } from "zod";
3833
3854
  var simulation_unknown_experiment_error = base_circuit_json_error.extend({
3834
- type: z176.literal("simulation_unknown_experiment_error"),
3855
+ type: z177.literal("simulation_unknown_experiment_error"),
3835
3856
  simulation_unknown_experiment_error_id: getZodPrefixedIdWithDefault(
3836
3857
  "simulation_unknown_experiment_error"
3837
3858
  ),
3838
- error_type: z176.literal("simulation_unknown_experiment_error").default("simulation_unknown_experiment_error"),
3839
- simulation_experiment_id: z176.string().optional(),
3840
- subcircuit_id: z176.string().optional()
3859
+ error_type: z177.literal("simulation_unknown_experiment_error").default("simulation_unknown_experiment_error"),
3860
+ simulation_experiment_id: z177.string().optional(),
3861
+ subcircuit_id: z177.string().optional()
3841
3862
  }).describe("An unknown error occurred during the simulation experiment.");
3842
3863
  expectTypesMatch(true);
3843
3864
 
3844
3865
  // src/simulation/simulation_op_amp.ts
3845
- import { z as z177 } from "zod";
3846
- var simulation_op_amp = z177.object({
3847
- type: z177.literal("simulation_op_amp"),
3866
+ import { z as z178 } from "zod";
3867
+ var simulation_op_amp = z178.object({
3868
+ type: z178.literal("simulation_op_amp"),
3848
3869
  simulation_op_amp_id: getZodPrefixedIdWithDefault("simulation_op_amp"),
3849
- source_component_id: z177.string().optional(),
3850
- inverting_input_source_port_id: z177.string(),
3851
- non_inverting_input_source_port_id: z177.string(),
3852
- output_source_port_id: z177.string(),
3853
- positive_supply_source_port_id: z177.string(),
3854
- negative_supply_source_port_id: z177.string()
3870
+ source_component_id: z178.string().optional(),
3871
+ inverting_input_source_port_id: z178.string(),
3872
+ non_inverting_input_source_port_id: z178.string(),
3873
+ output_source_port_id: z178.string(),
3874
+ positive_supply_source_port_id: z178.string(),
3875
+ negative_supply_source_port_id: z178.string()
3855
3876
  }).describe("Defines a simple ideal operational amplifier for simulation");
3856
3877
  expectTypesMatch(true);
3857
3878
 
3858
3879
  // src/simulation/simulation_spice_subcircuit.ts
3859
- import { z as z178 } from "zod";
3860
- var simulation_spice_subcircuit = z178.object({
3861
- type: z178.literal("simulation_spice_subcircuit"),
3880
+ import { z as z179 } from "zod";
3881
+ var simulation_spice_subcircuit = z179.object({
3882
+ type: z179.literal("simulation_spice_subcircuit"),
3862
3883
  simulation_spice_subcircuit_id: getZodPrefixedIdWithDefault(
3863
3884
  "simulation_spice_subcircuit"
3864
3885
  ),
3865
- source_component_id: z178.string(),
3866
- spice_pin_to_source_port_map: z178.record(z178.string(), z178.string()),
3867
- subcircuit_source: z178.string()
3886
+ source_component_id: z179.string(),
3887
+ spice_pin_to_source_port_map: z179.record(z179.string(), z179.string()),
3888
+ subcircuit_source: z179.string()
3868
3889
  }).describe("Defines a custom SPICE subcircuit model for simulation");
3869
3890
  expectTypesMatch(
3870
3891
  true
3871
3892
  );
3872
3893
 
3873
3894
  // src/simulation/simulation_oscilloscope_trace.ts
3874
- import { z as z179 } from "zod";
3895
+ import { z as z180 } from "zod";
3875
3896
  var hasValue = (value) => value !== void 0;
3876
- var simulation_oscilloscope_trace = z179.object({
3877
- type: z179.literal("simulation_oscilloscope_trace"),
3897
+ var simulation_oscilloscope_trace = z180.object({
3898
+ type: z180.literal("simulation_oscilloscope_trace"),
3878
3899
  simulation_oscilloscope_trace_id: getZodPrefixedIdWithDefault(
3879
3900
  "simulation_oscilloscope_trace"
3880
3901
  ),
3881
- simulation_transient_voltage_graph_id: z179.string().optional(),
3882
- simulation_transient_current_graph_id: z179.string().optional(),
3883
- simulation_voltage_probe_id: z179.string().optional(),
3884
- simulation_current_probe_id: z179.string().optional(),
3885
- display_name: z179.string().optional(),
3886
- color: z179.string().optional(),
3887
- display_center_value: z179.number().optional(),
3888
- display_center_offset_divs: z179.number().optional(),
3889
- volts_per_div: z179.number().positive().optional(),
3890
- amps_per_div: z179.number().positive().optional()
3902
+ simulation_transient_voltage_graph_id: z180.string().optional(),
3903
+ simulation_transient_current_graph_id: z180.string().optional(),
3904
+ simulation_voltage_probe_id: z180.string().optional(),
3905
+ simulation_current_probe_id: z180.string().optional(),
3906
+ display_name: z180.string().optional(),
3907
+ color: z180.string().optional(),
3908
+ display_center_value: z180.number().optional(),
3909
+ display_center_offset_divs: z180.number().optional(),
3910
+ volts_per_div: z180.number().positive().optional(),
3911
+ amps_per_div: z180.number().positive().optional()
3891
3912
  }).describe(
3892
3913
  "Defines how a simulation measurement is rendered as an oscilloscope-style trace."
3893
3914
  ).superRefine((data, ctx) => {
@@ -3901,19 +3922,19 @@ var simulation_oscilloscope_trace = z179.object({
3901
3922
  ].filter(hasValue).length;
3902
3923
  if (voltageReferences + currentReferences !== 1) {
3903
3924
  ctx.addIssue({
3904
- code: z179.ZodIssueCode.custom,
3925
+ code: z180.ZodIssueCode.custom,
3905
3926
  message: "An oscilloscope trace must reference exactly one voltage graph, current graph, voltage probe, or current probe."
3906
3927
  });
3907
3928
  }
3908
3929
  if (voltageReferences > 0 && data.amps_per_div !== void 0) {
3909
3930
  ctx.addIssue({
3910
- code: z179.ZodIssueCode.custom,
3931
+ code: z180.ZodIssueCode.custom,
3911
3932
  message: "Voltage oscilloscope traces must use volts_per_div, not amps_per_div."
3912
3933
  });
3913
3934
  }
3914
3935
  if (currentReferences > 0 && data.volts_per_div !== void 0) {
3915
3936
  ctx.addIssue({
3916
- code: z179.ZodIssueCode.custom,
3937
+ code: z180.ZodIssueCode.custom,
3917
3938
  message: "Current oscilloscope traces must use amps_per_div, not volts_per_div."
3918
3939
  });
3919
3940
  }
@@ -3921,8 +3942,8 @@ var simulation_oscilloscope_trace = z179.object({
3921
3942
  expectTypesMatch(true);
3922
3943
 
3923
3944
  // src/any_circuit_element.ts
3924
- import { z as z180 } from "zod";
3925
- var any_circuit_element = z180.union([
3945
+ import { z as z181 } from "zod";
3946
+ var any_circuit_element = z181.union([
3926
3947
  source_trace,
3927
3948
  source_port,
3928
3949
  source_component_internal_connection,
@@ -4052,6 +4073,7 @@ var any_circuit_element = z180.union([
4052
4073
  schematic_voltage_probe,
4053
4074
  schematic_manual_edit_conflict_warning,
4054
4075
  schematic_component_overlap_warning,
4076
+ schematic_element_outside_sheet_warning,
4055
4077
  schematic_group,
4056
4078
  schematic_sheet,
4057
4079
  schematic_table,
@@ -4227,6 +4249,7 @@ export {
4227
4249
  schematic_debug_object_base,
4228
4250
  schematic_debug_point,
4229
4251
  schematic_debug_rect,
4252
+ schematic_element_outside_sheet_warning,
4230
4253
  schematic_error,
4231
4254
  schematic_group,
4232
4255
  schematic_layout_error,