circuit-json 0.0.466 → 0.0.468

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