circuit-json 0.0.465 → 0.0.467

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