circuit-json 0.0.283 → 0.0.285

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
@@ -1808,6 +1808,7 @@ import { z as z81 } from "zod";
1808
1808
  var pcb_board = z81.object({
1809
1809
  type: z81.literal("pcb_board"),
1810
1810
  pcb_board_id: getZodPrefixedIdWithDefault("pcb_board"),
1811
+ pcb_panel_id: z81.string().optional(),
1811
1812
  is_subcircuit: z81.boolean().optional(),
1812
1813
  subcircuit_id: z81.string().optional(),
1813
1814
  width: length,
@@ -1820,37 +1821,48 @@ var pcb_board = z81.object({
1820
1821
  }).describe("Defines the board outline of the PCB");
1821
1822
  expectTypesMatch(true);
1822
1823
 
1823
- // src/pcb/pcb_placement_error.ts
1824
+ // src/pcb/pcb_panel.ts
1824
1825
  import { z as z82 } from "zod";
1825
- var pcb_placement_error = z82.object({
1826
- type: z82.literal("pcb_placement_error"),
1826
+ var pcb_panel = z82.object({
1827
+ type: z82.literal("pcb_panel"),
1828
+ pcb_panel_id: getZodPrefixedIdWithDefault("pcb_panel"),
1829
+ width: length,
1830
+ height: length,
1831
+ covered_with_solder_mask: z82.boolean().optional().default(true)
1832
+ }).describe("Defines a PCB panel that can contain multiple boards");
1833
+ expectTypesMatch(true);
1834
+
1835
+ // src/pcb/pcb_placement_error.ts
1836
+ import { z as z83 } from "zod";
1837
+ var pcb_placement_error = z83.object({
1838
+ type: z83.literal("pcb_placement_error"),
1827
1839
  pcb_placement_error_id: getZodPrefixedIdWithDefault("pcb_placement_error"),
1828
- error_type: z82.literal("pcb_placement_error").default("pcb_placement_error"),
1829
- message: z82.string(),
1830
- subcircuit_id: z82.string().optional()
1840
+ error_type: z83.literal("pcb_placement_error").default("pcb_placement_error"),
1841
+ message: z83.string(),
1842
+ subcircuit_id: z83.string().optional()
1831
1843
  }).describe("Defines a placement error on the PCB");
1832
1844
  expectTypesMatch(true);
1833
1845
 
1834
1846
  // src/pcb/pcb_trace_hint.ts
1835
- import { z as z83 } from "zod";
1836
- var pcb_trace_hint = z83.object({
1837
- type: z83.literal("pcb_trace_hint"),
1847
+ import { z as z84 } from "zod";
1848
+ var pcb_trace_hint = z84.object({
1849
+ type: z84.literal("pcb_trace_hint"),
1838
1850
  pcb_trace_hint_id: getZodPrefixedIdWithDefault("pcb_trace_hint"),
1839
- pcb_port_id: z83.string(),
1840
- pcb_component_id: z83.string(),
1841
- route: z83.array(route_hint_point),
1842
- subcircuit_id: z83.string().optional()
1851
+ pcb_port_id: z84.string(),
1852
+ pcb_component_id: z84.string(),
1853
+ route: z84.array(route_hint_point),
1854
+ subcircuit_id: z84.string().optional()
1843
1855
  }).describe("A hint that can be used during generation of a PCB trace");
1844
1856
  expectTypesMatch(true);
1845
1857
 
1846
1858
  // src/pcb/pcb_silkscreen_line.ts
1847
- import { z as z84 } from "zod";
1848
- var pcb_silkscreen_line = z84.object({
1849
- type: z84.literal("pcb_silkscreen_line"),
1859
+ import { z as z85 } from "zod";
1860
+ var pcb_silkscreen_line = z85.object({
1861
+ type: z85.literal("pcb_silkscreen_line"),
1850
1862
  pcb_silkscreen_line_id: getZodPrefixedIdWithDefault("pcb_silkscreen_line"),
1851
- pcb_component_id: z84.string(),
1852
- pcb_group_id: z84.string().optional(),
1853
- subcircuit_id: z84.string().optional(),
1863
+ pcb_component_id: z85.string(),
1864
+ pcb_group_id: z85.string().optional(),
1865
+ subcircuit_id: z85.string().optional(),
1854
1866
  stroke_width: distance.default("0.1mm"),
1855
1867
  x1: distance,
1856
1868
  y1: distance,
@@ -1861,32 +1873,32 @@ var pcb_silkscreen_line = z84.object({
1861
1873
  expectTypesMatch(true);
1862
1874
 
1863
1875
  // src/pcb/pcb_silkscreen_path.ts
1864
- import { z as z85 } from "zod";
1865
- var pcb_silkscreen_path = z85.object({
1866
- type: z85.literal("pcb_silkscreen_path"),
1876
+ import { z as z86 } from "zod";
1877
+ var pcb_silkscreen_path = z86.object({
1878
+ type: z86.literal("pcb_silkscreen_path"),
1867
1879
  pcb_silkscreen_path_id: getZodPrefixedIdWithDefault("pcb_silkscreen_path"),
1868
- pcb_component_id: z85.string(),
1869
- pcb_group_id: z85.string().optional(),
1870
- subcircuit_id: z85.string().optional(),
1880
+ pcb_component_id: z86.string(),
1881
+ pcb_group_id: z86.string().optional(),
1882
+ subcircuit_id: z86.string().optional(),
1871
1883
  layer: visible_layer,
1872
- route: z85.array(point),
1884
+ route: z86.array(point),
1873
1885
  stroke_width: length
1874
1886
  }).describe("Defines a silkscreen path on the PCB");
1875
1887
  expectTypesMatch(true);
1876
1888
 
1877
1889
  // src/pcb/pcb_silkscreen_text.ts
1878
- import { z as z86 } from "zod";
1879
- var pcb_silkscreen_text = z86.object({
1880
- type: z86.literal("pcb_silkscreen_text"),
1890
+ import { z as z87 } from "zod";
1891
+ var pcb_silkscreen_text = z87.object({
1892
+ type: z87.literal("pcb_silkscreen_text"),
1881
1893
  pcb_silkscreen_text_id: getZodPrefixedIdWithDefault("pcb_silkscreen_text"),
1882
- pcb_group_id: z86.string().optional(),
1883
- subcircuit_id: z86.string().optional(),
1884
- font: z86.literal("tscircuit2024").default("tscircuit2024"),
1894
+ pcb_group_id: z87.string().optional(),
1895
+ subcircuit_id: z87.string().optional(),
1896
+ font: z87.literal("tscircuit2024").default("tscircuit2024"),
1885
1897
  font_size: distance.default("0.2mm"),
1886
- pcb_component_id: z86.string(),
1887
- text: z86.string(),
1888
- is_knockout: z86.boolean().default(false).optional(),
1889
- knockout_padding: z86.object({
1898
+ pcb_component_id: z87.string(),
1899
+ text: z87.string(),
1900
+ is_knockout: z87.boolean().default(false).optional(),
1901
+ knockout_padding: z87.object({
1890
1902
  left: length,
1891
1903
  top: length,
1892
1904
  bottom: length,
@@ -1897,43 +1909,43 @@ var pcb_silkscreen_text = z86.object({
1897
1909
  bottom: "0.2mm",
1898
1910
  right: "0.2mm"
1899
1911
  }).optional(),
1900
- ccw_rotation: z86.number().optional(),
1912
+ ccw_rotation: z87.number().optional(),
1901
1913
  layer: layer_ref,
1902
- is_mirrored: z86.boolean().default(false).optional(),
1914
+ is_mirrored: z87.boolean().default(false).optional(),
1903
1915
  anchor_position: point.default({ x: 0, y: 0 }),
1904
1916
  anchor_alignment: ninePointAnchor.default("center")
1905
1917
  }).describe("Defines silkscreen text on the PCB");
1906
1918
  expectTypesMatch(true);
1907
1919
 
1908
1920
  // src/pcb/pcb_silkscreen_rect.ts
1909
- import { z as z87 } from "zod";
1910
- var pcb_silkscreen_rect = z87.object({
1911
- type: z87.literal("pcb_silkscreen_rect"),
1921
+ import { z as z88 } from "zod";
1922
+ var pcb_silkscreen_rect = z88.object({
1923
+ type: z88.literal("pcb_silkscreen_rect"),
1912
1924
  pcb_silkscreen_rect_id: getZodPrefixedIdWithDefault("pcb_silkscreen_rect"),
1913
- pcb_component_id: z87.string(),
1914
- pcb_group_id: z87.string().optional(),
1915
- subcircuit_id: z87.string().optional(),
1925
+ pcb_component_id: z88.string(),
1926
+ pcb_group_id: z88.string().optional(),
1927
+ subcircuit_id: z88.string().optional(),
1916
1928
  center: point,
1917
1929
  width: length,
1918
1930
  height: length,
1919
1931
  layer: layer_ref,
1920
1932
  stroke_width: length.default("1mm"),
1921
- is_filled: z87.boolean().default(true).optional(),
1922
- has_stroke: z87.boolean().optional(),
1923
- is_stroke_dashed: z87.boolean().optional()
1933
+ is_filled: z88.boolean().default(true).optional(),
1934
+ has_stroke: z88.boolean().optional(),
1935
+ is_stroke_dashed: z88.boolean().optional()
1924
1936
  }).describe("Defines a silkscreen rect on the PCB");
1925
1937
  expectTypesMatch(true);
1926
1938
 
1927
1939
  // src/pcb/pcb_silkscreen_circle.ts
1928
- import { z as z88 } from "zod";
1929
- var pcb_silkscreen_circle = z88.object({
1930
- type: z88.literal("pcb_silkscreen_circle"),
1940
+ import { z as z89 } from "zod";
1941
+ var pcb_silkscreen_circle = z89.object({
1942
+ type: z89.literal("pcb_silkscreen_circle"),
1931
1943
  pcb_silkscreen_circle_id: getZodPrefixedIdWithDefault(
1932
1944
  "pcb_silkscreen_circle"
1933
1945
  ),
1934
- pcb_component_id: z88.string(),
1935
- pcb_group_id: z88.string().optional(),
1936
- subcircuit_id: z88.string().optional(),
1946
+ pcb_component_id: z89.string(),
1947
+ pcb_group_id: z89.string().optional(),
1948
+ subcircuit_id: z89.string().optional(),
1937
1949
  center: point,
1938
1950
  radius: length,
1939
1951
  layer: visible_layer,
@@ -1942,13 +1954,13 @@ var pcb_silkscreen_circle = z88.object({
1942
1954
  expectTypesMatch(true);
1943
1955
 
1944
1956
  // src/pcb/pcb_silkscreen_oval.ts
1945
- import { z as z89 } from "zod";
1946
- var pcb_silkscreen_oval = z89.object({
1947
- type: z89.literal("pcb_silkscreen_oval"),
1957
+ import { z as z90 } from "zod";
1958
+ var pcb_silkscreen_oval = z90.object({
1959
+ type: z90.literal("pcb_silkscreen_oval"),
1948
1960
  pcb_silkscreen_oval_id: getZodPrefixedIdWithDefault("pcb_silkscreen_oval"),
1949
- pcb_component_id: z89.string(),
1950
- pcb_group_id: z89.string().optional(),
1951
- subcircuit_id: z89.string().optional(),
1961
+ pcb_component_id: z90.string(),
1962
+ pcb_group_id: z90.string().optional(),
1963
+ subcircuit_id: z90.string().optional(),
1952
1964
  center: point,
1953
1965
  radius_x: distance,
1954
1966
  radius_y: distance,
@@ -1957,233 +1969,233 @@ var pcb_silkscreen_oval = z89.object({
1957
1969
  expectTypesMatch(true);
1958
1970
 
1959
1971
  // src/pcb/pcb_fabrication_note_text.ts
1960
- import { z as z90 } from "zod";
1961
- var pcb_fabrication_note_text = z90.object({
1962
- type: z90.literal("pcb_fabrication_note_text"),
1972
+ import { z as z91 } from "zod";
1973
+ var pcb_fabrication_note_text = z91.object({
1974
+ type: z91.literal("pcb_fabrication_note_text"),
1963
1975
  pcb_fabrication_note_text_id: getZodPrefixedIdWithDefault(
1964
1976
  "pcb_fabrication_note_text"
1965
1977
  ),
1966
- subcircuit_id: z90.string().optional(),
1967
- pcb_group_id: z90.string().optional(),
1968
- font: z90.literal("tscircuit2024").default("tscircuit2024"),
1978
+ subcircuit_id: z91.string().optional(),
1979
+ pcb_group_id: z91.string().optional(),
1980
+ font: z91.literal("tscircuit2024").default("tscircuit2024"),
1969
1981
  font_size: distance.default("1mm"),
1970
- pcb_component_id: z90.string(),
1971
- text: z90.string(),
1982
+ pcb_component_id: z91.string(),
1983
+ text: z91.string(),
1972
1984
  layer: visible_layer,
1973
1985
  anchor_position: point.default({ x: 0, y: 0 }),
1974
- anchor_alignment: z90.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).default("center"),
1975
- color: z90.string().optional()
1986
+ anchor_alignment: z91.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).default("center"),
1987
+ color: z91.string().optional()
1976
1988
  }).describe(
1977
1989
  "Defines a fabrication note in text on the PCB, useful for leaving notes for assemblers or fabricators"
1978
1990
  );
1979
1991
  expectTypesMatch(true);
1980
1992
 
1981
1993
  // src/pcb/pcb_fabrication_note_path.ts
1982
- import { z as z91 } from "zod";
1983
- var pcb_fabrication_note_path = z91.object({
1984
- type: z91.literal("pcb_fabrication_note_path"),
1994
+ import { z as z92 } from "zod";
1995
+ var pcb_fabrication_note_path = z92.object({
1996
+ type: z92.literal("pcb_fabrication_note_path"),
1985
1997
  pcb_fabrication_note_path_id: getZodPrefixedIdWithDefault(
1986
1998
  "pcb_fabrication_note_path"
1987
1999
  ),
1988
- pcb_component_id: z91.string(),
1989
- subcircuit_id: z91.string().optional(),
2000
+ pcb_component_id: z92.string(),
2001
+ subcircuit_id: z92.string().optional(),
1990
2002
  layer: layer_ref,
1991
- route: z91.array(point),
2003
+ route: z92.array(point),
1992
2004
  stroke_width: length,
1993
- color: z91.string().optional()
2005
+ color: z92.string().optional()
1994
2006
  }).describe(
1995
2007
  "Defines a fabrication path on the PCB for fabricators or assemblers"
1996
2008
  );
1997
2009
  expectTypesMatch(true);
1998
2010
 
1999
2011
  // src/pcb/pcb_fabrication_note_rect.ts
2000
- import { z as z92 } from "zod";
2001
- var pcb_fabrication_note_rect = z92.object({
2002
- type: z92.literal("pcb_fabrication_note_rect"),
2012
+ import { z as z93 } from "zod";
2013
+ var pcb_fabrication_note_rect = z93.object({
2014
+ type: z93.literal("pcb_fabrication_note_rect"),
2003
2015
  pcb_fabrication_note_rect_id: getZodPrefixedIdWithDefault(
2004
2016
  "pcb_fabrication_note_rect"
2005
2017
  ),
2006
- pcb_component_id: z92.string(),
2007
- pcb_group_id: z92.string().optional(),
2008
- subcircuit_id: z92.string().optional(),
2018
+ pcb_component_id: z93.string(),
2019
+ pcb_group_id: z93.string().optional(),
2020
+ subcircuit_id: z93.string().optional(),
2009
2021
  center: point,
2010
2022
  width: length,
2011
2023
  height: length,
2012
2024
  layer: visible_layer,
2013
2025
  stroke_width: length.default("0.1mm"),
2014
- is_filled: z92.boolean().optional(),
2015
- has_stroke: z92.boolean().optional(),
2016
- is_stroke_dashed: z92.boolean().optional(),
2017
- color: z92.string().optional()
2026
+ is_filled: z93.boolean().optional(),
2027
+ has_stroke: z93.boolean().optional(),
2028
+ is_stroke_dashed: z93.boolean().optional(),
2029
+ color: z93.string().optional()
2018
2030
  }).describe("Defines a fabrication note rectangle on the PCB");
2019
2031
  expectTypesMatch(true);
2020
2032
 
2021
2033
  // src/pcb/pcb_fabrication_note_dimension.ts
2022
- import { z as z93 } from "zod";
2023
- var pcb_fabrication_note_dimension = z93.object({
2024
- type: z93.literal("pcb_fabrication_note_dimension"),
2034
+ import { z as z94 } from "zod";
2035
+ var pcb_fabrication_note_dimension = z94.object({
2036
+ type: z94.literal("pcb_fabrication_note_dimension"),
2025
2037
  pcb_fabrication_note_dimension_id: getZodPrefixedIdWithDefault(
2026
2038
  "pcb_fabrication_note_dimension"
2027
2039
  ),
2028
- pcb_component_id: z93.string(),
2029
- pcb_group_id: z93.string().optional(),
2030
- subcircuit_id: z93.string().optional(),
2040
+ pcb_component_id: z94.string(),
2041
+ pcb_group_id: z94.string().optional(),
2042
+ subcircuit_id: z94.string().optional(),
2031
2043
  layer: visible_layer,
2032
2044
  from: point,
2033
2045
  to: point,
2034
- text: z93.string().optional(),
2046
+ text: z94.string().optional(),
2035
2047
  offset: length.optional(),
2036
- font: z93.literal("tscircuit2024").default("tscircuit2024"),
2048
+ font: z94.literal("tscircuit2024").default("tscircuit2024"),
2037
2049
  font_size: length.default("1mm"),
2038
- color: z93.string().optional(),
2050
+ color: z94.string().optional(),
2039
2051
  arrow_size: length.default("1mm")
2040
2052
  }).describe("Defines a measurement annotation within PCB fabrication notes");
2041
2053
  expectTypesMatch(true);
2042
2054
 
2043
2055
  // src/pcb/pcb_note_text.ts
2044
- import { z as z94 } from "zod";
2045
- var pcb_note_text = z94.object({
2046
- type: z94.literal("pcb_note_text"),
2056
+ import { z as z95 } from "zod";
2057
+ var pcb_note_text = z95.object({
2058
+ type: z95.literal("pcb_note_text"),
2047
2059
  pcb_note_text_id: getZodPrefixedIdWithDefault("pcb_note_text"),
2048
- pcb_component_id: z94.string().optional(),
2049
- pcb_group_id: z94.string().optional(),
2050
- subcircuit_id: z94.string().optional(),
2051
- font: z94.literal("tscircuit2024").default("tscircuit2024"),
2060
+ pcb_component_id: z95.string().optional(),
2061
+ pcb_group_id: z95.string().optional(),
2062
+ subcircuit_id: z95.string().optional(),
2063
+ font: z95.literal("tscircuit2024").default("tscircuit2024"),
2052
2064
  font_size: distance.default("1mm"),
2053
- text: z94.string(),
2065
+ text: z95.string(),
2054
2066
  anchor_position: point.default({ x: 0, y: 0 }),
2055
- anchor_alignment: z94.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).default("center"),
2056
- color: z94.string().optional()
2067
+ anchor_alignment: z95.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).default("center"),
2068
+ color: z95.string().optional()
2057
2069
  }).describe("Defines a documentation note in text on the PCB");
2058
2070
  expectTypesMatch(true);
2059
2071
 
2060
2072
  // src/pcb/pcb_note_rect.ts
2061
- import { z as z95 } from "zod";
2062
- var pcb_note_rect = z95.object({
2063
- type: z95.literal("pcb_note_rect"),
2073
+ import { z as z96 } from "zod";
2074
+ var pcb_note_rect = z96.object({
2075
+ type: z96.literal("pcb_note_rect"),
2064
2076
  pcb_note_rect_id: getZodPrefixedIdWithDefault("pcb_note_rect"),
2065
- pcb_component_id: z95.string().optional(),
2066
- pcb_group_id: z95.string().optional(),
2067
- subcircuit_id: z95.string().optional(),
2077
+ pcb_component_id: z96.string().optional(),
2078
+ pcb_group_id: z96.string().optional(),
2079
+ subcircuit_id: z96.string().optional(),
2068
2080
  center: point,
2069
2081
  width: length,
2070
2082
  height: length,
2071
2083
  stroke_width: length.default("0.1mm"),
2072
- is_filled: z95.boolean().optional(),
2073
- has_stroke: z95.boolean().optional(),
2074
- is_stroke_dashed: z95.boolean().optional(),
2075
- color: z95.string().optional()
2084
+ is_filled: z96.boolean().optional(),
2085
+ has_stroke: z96.boolean().optional(),
2086
+ is_stroke_dashed: z96.boolean().optional(),
2087
+ color: z96.string().optional()
2076
2088
  }).describe("Defines a rectangular documentation note on the PCB");
2077
2089
  expectTypesMatch(true);
2078
2090
 
2079
2091
  // src/pcb/pcb_note_path.ts
2080
- import { z as z96 } from "zod";
2081
- var pcb_note_path = z96.object({
2082
- type: z96.literal("pcb_note_path"),
2092
+ import { z as z97 } from "zod";
2093
+ var pcb_note_path = z97.object({
2094
+ type: z97.literal("pcb_note_path"),
2083
2095
  pcb_note_path_id: getZodPrefixedIdWithDefault("pcb_note_path"),
2084
- pcb_component_id: z96.string().optional(),
2085
- pcb_group_id: z96.string().optional(),
2086
- subcircuit_id: z96.string().optional(),
2087
- route: z96.array(point),
2096
+ pcb_component_id: z97.string().optional(),
2097
+ pcb_group_id: z97.string().optional(),
2098
+ subcircuit_id: z97.string().optional(),
2099
+ route: z97.array(point),
2088
2100
  stroke_width: length.default("0.1mm"),
2089
- color: z96.string().optional()
2101
+ color: z97.string().optional()
2090
2102
  }).describe("Defines a polyline documentation note on the PCB");
2091
2103
  expectTypesMatch(true);
2092
2104
 
2093
2105
  // src/pcb/pcb_note_line.ts
2094
- import { z as z97 } from "zod";
2095
- var pcb_note_line = z97.object({
2096
- type: z97.literal("pcb_note_line"),
2106
+ import { z as z98 } from "zod";
2107
+ var pcb_note_line = z98.object({
2108
+ type: z98.literal("pcb_note_line"),
2097
2109
  pcb_note_line_id: getZodPrefixedIdWithDefault("pcb_note_line"),
2098
- pcb_component_id: z97.string().optional(),
2099
- pcb_group_id: z97.string().optional(),
2100
- subcircuit_id: z97.string().optional(),
2110
+ pcb_component_id: z98.string().optional(),
2111
+ pcb_group_id: z98.string().optional(),
2112
+ subcircuit_id: z98.string().optional(),
2101
2113
  x1: distance,
2102
2114
  y1: distance,
2103
2115
  x2: distance,
2104
2116
  y2: distance,
2105
2117
  stroke_width: distance.default("0.1mm"),
2106
- color: z97.string().optional(),
2107
- is_dashed: z97.boolean().optional()
2118
+ color: z98.string().optional(),
2119
+ is_dashed: z98.boolean().optional()
2108
2120
  }).describe("Defines a straight documentation note line on the PCB");
2109
2121
  expectTypesMatch(true);
2110
2122
 
2111
2123
  // src/pcb/pcb_note_dimension.ts
2112
- import { z as z98 } from "zod";
2113
- var pcb_note_dimension = z98.object({
2114
- type: z98.literal("pcb_note_dimension"),
2124
+ import { z as z99 } from "zod";
2125
+ var pcb_note_dimension = z99.object({
2126
+ type: z99.literal("pcb_note_dimension"),
2115
2127
  pcb_note_dimension_id: getZodPrefixedIdWithDefault("pcb_note_dimension"),
2116
- pcb_component_id: z98.string().optional(),
2117
- pcb_group_id: z98.string().optional(),
2118
- subcircuit_id: z98.string().optional(),
2128
+ pcb_component_id: z99.string().optional(),
2129
+ pcb_group_id: z99.string().optional(),
2130
+ subcircuit_id: z99.string().optional(),
2119
2131
  from: point,
2120
2132
  to: point,
2121
- text: z98.string().optional(),
2122
- font: z98.literal("tscircuit2024").default("tscircuit2024"),
2133
+ text: z99.string().optional(),
2134
+ font: z99.literal("tscircuit2024").default("tscircuit2024"),
2123
2135
  font_size: length.default("1mm"),
2124
- color: z98.string().optional(),
2136
+ color: z99.string().optional(),
2125
2137
  arrow_size: length.default("1mm")
2126
2138
  }).describe("Defines a measurement annotation within PCB documentation notes");
2127
2139
  expectTypesMatch(true);
2128
2140
 
2129
2141
  // src/pcb/pcb_footprint_overlap_error.ts
2130
- import { z as z99 } from "zod";
2131
- var pcb_footprint_overlap_error = z99.object({
2132
- type: z99.literal("pcb_footprint_overlap_error"),
2142
+ import { z as z100 } from "zod";
2143
+ var pcb_footprint_overlap_error = z100.object({
2144
+ type: z100.literal("pcb_footprint_overlap_error"),
2133
2145
  pcb_error_id: getZodPrefixedIdWithDefault("pcb_error"),
2134
- error_type: z99.literal("pcb_footprint_overlap_error").default("pcb_footprint_overlap_error"),
2135
- message: z99.string(),
2136
- pcb_smtpad_ids: z99.array(z99.string()).optional(),
2137
- pcb_plated_hole_ids: z99.array(z99.string()).optional(),
2138
- pcb_hole_ids: z99.array(z99.string()).optional(),
2139
- pcb_keepout_ids: z99.array(z99.string()).optional()
2146
+ error_type: z100.literal("pcb_footprint_overlap_error").default("pcb_footprint_overlap_error"),
2147
+ message: z100.string(),
2148
+ pcb_smtpad_ids: z100.array(z100.string()).optional(),
2149
+ pcb_plated_hole_ids: z100.array(z100.string()).optional(),
2150
+ pcb_hole_ids: z100.array(z100.string()).optional(),
2151
+ pcb_keepout_ids: z100.array(z100.string()).optional()
2140
2152
  }).describe("Error emitted when a pcb footprint overlaps with another element");
2141
2153
  expectTypesMatch(
2142
2154
  true
2143
2155
  );
2144
2156
 
2145
2157
  // src/pcb/pcb_keepout.ts
2146
- import { z as z100 } from "zod";
2147
- var pcb_keepout = z100.object({
2148
- type: z100.literal("pcb_keepout"),
2149
- shape: z100.literal("rect"),
2150
- pcb_group_id: z100.string().optional(),
2151
- subcircuit_id: z100.string().optional(),
2158
+ import { z as z101 } from "zod";
2159
+ var pcb_keepout = z101.object({
2160
+ type: z101.literal("pcb_keepout"),
2161
+ shape: z101.literal("rect"),
2162
+ pcb_group_id: z101.string().optional(),
2163
+ subcircuit_id: z101.string().optional(),
2152
2164
  center: point,
2153
2165
  width: distance,
2154
2166
  height: distance,
2155
- pcb_keepout_id: z100.string(),
2156
- layers: z100.array(z100.string()),
2167
+ pcb_keepout_id: z101.string(),
2168
+ layers: z101.array(z101.string()),
2157
2169
  // Specify layers where the keepout applies
2158
- description: z100.string().optional()
2170
+ description: z101.string().optional()
2159
2171
  // Optional description of the keepout
2160
2172
  }).or(
2161
- z100.object({
2162
- type: z100.literal("pcb_keepout"),
2163
- shape: z100.literal("circle"),
2164
- pcb_group_id: z100.string().optional(),
2165
- subcircuit_id: z100.string().optional(),
2173
+ z101.object({
2174
+ type: z101.literal("pcb_keepout"),
2175
+ shape: z101.literal("circle"),
2176
+ pcb_group_id: z101.string().optional(),
2177
+ subcircuit_id: z101.string().optional(),
2166
2178
  center: point,
2167
2179
  radius: distance,
2168
- pcb_keepout_id: z100.string(),
2169
- layers: z100.array(z100.string()),
2180
+ pcb_keepout_id: z101.string(),
2181
+ layers: z101.array(z101.string()),
2170
2182
  // Specify layers where the keepout applies
2171
- description: z100.string().optional()
2183
+ description: z101.string().optional()
2172
2184
  // Optional description of the keepout
2173
2185
  })
2174
2186
  );
2175
2187
  expectTypesMatch(true);
2176
2188
 
2177
2189
  // src/pcb/pcb_cutout.ts
2178
- import { z as z101 } from "zod";
2179
- var pcb_cutout_base = z101.object({
2180
- type: z101.literal("pcb_cutout"),
2190
+ import { z as z102 } from "zod";
2191
+ var pcb_cutout_base = z102.object({
2192
+ type: z102.literal("pcb_cutout"),
2181
2193
  pcb_cutout_id: getZodPrefixedIdWithDefault("pcb_cutout"),
2182
- pcb_group_id: z101.string().optional(),
2183
- subcircuit_id: z101.string().optional()
2194
+ pcb_group_id: z102.string().optional(),
2195
+ subcircuit_id: z102.string().optional()
2184
2196
  });
2185
2197
  var pcb_cutout_rect = pcb_cutout_base.extend({
2186
- shape: z101.literal("rect"),
2198
+ shape: z102.literal("rect"),
2187
2199
  center: point,
2188
2200
  width: length,
2189
2201
  height: length,
@@ -2191,17 +2203,17 @@ var pcb_cutout_rect = pcb_cutout_base.extend({
2191
2203
  });
2192
2204
  expectTypesMatch(true);
2193
2205
  var pcb_cutout_circle = pcb_cutout_base.extend({
2194
- shape: z101.literal("circle"),
2206
+ shape: z102.literal("circle"),
2195
2207
  center: point,
2196
2208
  radius: length
2197
2209
  });
2198
2210
  expectTypesMatch(true);
2199
2211
  var pcb_cutout_polygon = pcb_cutout_base.extend({
2200
- shape: z101.literal("polygon"),
2201
- points: z101.array(point)
2212
+ shape: z102.literal("polygon"),
2213
+ points: z102.array(point)
2202
2214
  });
2203
2215
  expectTypesMatch(true);
2204
- var pcb_cutout = z101.discriminatedUnion("shape", [
2216
+ var pcb_cutout = z102.discriminatedUnion("shape", [
2205
2217
  pcb_cutout_rect,
2206
2218
  pcb_cutout_circle,
2207
2219
  pcb_cutout_polygon
@@ -2209,119 +2221,120 @@ var pcb_cutout = z101.discriminatedUnion("shape", [
2209
2221
  expectTypesMatch(true);
2210
2222
 
2211
2223
  // src/pcb/pcb_missing_footprint_error.ts
2212
- import { z as z102 } from "zod";
2213
- var pcb_missing_footprint_error = z102.object({
2214
- type: z102.literal("pcb_missing_footprint_error"),
2224
+ import { z as z103 } from "zod";
2225
+ var pcb_missing_footprint_error = z103.object({
2226
+ type: z103.literal("pcb_missing_footprint_error"),
2215
2227
  pcb_missing_footprint_error_id: getZodPrefixedIdWithDefault(
2216
2228
  "pcb_missing_footprint_error"
2217
2229
  ),
2218
- pcb_group_id: z102.string().optional(),
2219
- subcircuit_id: z102.string().optional(),
2220
- error_type: z102.literal("pcb_missing_footprint_error").default("pcb_missing_footprint_error"),
2221
- source_component_id: z102.string(),
2222
- message: z102.string()
2230
+ pcb_group_id: z103.string().optional(),
2231
+ subcircuit_id: z103.string().optional(),
2232
+ error_type: z103.literal("pcb_missing_footprint_error").default("pcb_missing_footprint_error"),
2233
+ source_component_id: z103.string(),
2234
+ message: z103.string()
2223
2235
  }).describe("Defines a missing footprint error on the PCB");
2224
2236
  expectTypesMatch(
2225
2237
  true
2226
2238
  );
2227
2239
 
2228
2240
  // src/pcb/external_footprint_load_error.ts
2229
- import { z as z103 } from "zod";
2230
- var external_footprint_load_error = z103.object({
2231
- type: z103.literal("external_footprint_load_error"),
2241
+ import { z as z104 } from "zod";
2242
+ var external_footprint_load_error = z104.object({
2243
+ type: z104.literal("external_footprint_load_error"),
2232
2244
  external_footprint_load_error_id: getZodPrefixedIdWithDefault(
2233
2245
  "external_footprint_load_error"
2234
2246
  ),
2235
- pcb_component_id: z103.string(),
2236
- source_component_id: z103.string(),
2237
- pcb_group_id: z103.string().optional(),
2238
- subcircuit_id: z103.string().optional(),
2239
- footprinter_string: z103.string().optional(),
2240
- error_type: z103.literal("external_footprint_load_error").default("external_footprint_load_error"),
2241
- message: z103.string()
2247
+ pcb_component_id: z104.string(),
2248
+ source_component_id: z104.string(),
2249
+ pcb_group_id: z104.string().optional(),
2250
+ subcircuit_id: z104.string().optional(),
2251
+ footprinter_string: z104.string().optional(),
2252
+ error_type: z104.literal("external_footprint_load_error").default("external_footprint_load_error"),
2253
+ message: z104.string()
2242
2254
  }).describe("Defines an error when an external footprint fails to load");
2243
2255
  expectTypesMatch(true);
2244
2256
 
2245
2257
  // src/pcb/circuit_json_footprint_load_error.ts
2246
- import { z as z104 } from "zod";
2247
- var circuit_json_footprint_load_error = z104.object({
2248
- type: z104.literal("circuit_json_footprint_load_error"),
2258
+ import { z as z105 } from "zod";
2259
+ var circuit_json_footprint_load_error = z105.object({
2260
+ type: z105.literal("circuit_json_footprint_load_error"),
2249
2261
  circuit_json_footprint_load_error_id: getZodPrefixedIdWithDefault(
2250
2262
  "circuit_json_footprint_load_error"
2251
2263
  ),
2252
- pcb_component_id: z104.string(),
2253
- source_component_id: z104.string(),
2254
- pcb_group_id: z104.string().optional(),
2255
- subcircuit_id: z104.string().optional(),
2256
- error_type: z104.literal("circuit_json_footprint_load_error").default("circuit_json_footprint_load_error"),
2257
- message: z104.string(),
2258
- circuit_json: z104.array(z104.any()).optional()
2264
+ pcb_component_id: z105.string(),
2265
+ source_component_id: z105.string(),
2266
+ pcb_group_id: z105.string().optional(),
2267
+ subcircuit_id: z105.string().optional(),
2268
+ error_type: z105.literal("circuit_json_footprint_load_error").default("circuit_json_footprint_load_error"),
2269
+ message: z105.string(),
2270
+ circuit_json: z105.array(z105.any()).optional()
2259
2271
  }).describe("Defines an error when a circuit JSON footprint fails to load");
2260
2272
  expectTypesMatch(true);
2261
2273
 
2262
2274
  // src/pcb/pcb_group.ts
2263
- import { z as z105 } from "zod";
2264
- var pcb_group = z105.object({
2265
- type: z105.literal("pcb_group"),
2275
+ import { z as z106 } from "zod";
2276
+ var pcb_group = z106.object({
2277
+ type: z106.literal("pcb_group"),
2266
2278
  pcb_group_id: getZodPrefixedIdWithDefault("pcb_group"),
2267
- source_group_id: z105.string(),
2268
- is_subcircuit: z105.boolean().optional(),
2269
- subcircuit_id: z105.string().optional(),
2279
+ source_group_id: z106.string(),
2280
+ is_subcircuit: z106.boolean().optional(),
2281
+ subcircuit_id: z106.string().optional(),
2270
2282
  width: length,
2271
2283
  height: length,
2272
2284
  center: point,
2285
+ outline: z106.array(point).optional(),
2273
2286
  anchor_position: point.optional(),
2274
- anchor_alignment: z105.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).optional(),
2275
- pcb_component_ids: z105.array(z105.string()),
2276
- name: z105.string().optional(),
2277
- description: z105.string().optional(),
2278
- layout_mode: z105.string().optional(),
2279
- autorouter_configuration: z105.object({
2287
+ anchor_alignment: z106.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).optional(),
2288
+ pcb_component_ids: z106.array(z106.string()),
2289
+ name: z106.string().optional(),
2290
+ description: z106.string().optional(),
2291
+ layout_mode: z106.string().optional(),
2292
+ autorouter_configuration: z106.object({
2280
2293
  trace_clearance: length
2281
2294
  }).optional(),
2282
- autorouter_used_string: z105.string().optional()
2295
+ autorouter_used_string: z106.string().optional()
2283
2296
  }).describe("Defines a group of components on the PCB");
2284
2297
  expectTypesMatch(true);
2285
2298
 
2286
2299
  // src/pcb/pcb_autorouting_error.ts
2287
- import { z as z106 } from "zod";
2288
- var pcb_autorouting_error = z106.object({
2289
- type: z106.literal("pcb_autorouting_error"),
2300
+ import { z as z107 } from "zod";
2301
+ var pcb_autorouting_error = z107.object({
2302
+ type: z107.literal("pcb_autorouting_error"),
2290
2303
  pcb_error_id: getZodPrefixedIdWithDefault("pcb_autorouting_error"),
2291
- error_type: z106.literal("pcb_autorouting_error").default("pcb_autorouting_error"),
2292
- message: z106.string(),
2293
- subcircuit_id: z106.string().optional()
2304
+ error_type: z107.literal("pcb_autorouting_error").default("pcb_autorouting_error"),
2305
+ message: z107.string(),
2306
+ subcircuit_id: z107.string().optional()
2294
2307
  }).describe("The autorouting has failed to route a portion of the board");
2295
2308
  expectTypesMatch(true);
2296
2309
 
2297
2310
  // src/pcb/pcb_manual_edit_conflict_warning.ts
2298
- import { z as z107 } from "zod";
2299
- var pcb_manual_edit_conflict_warning = z107.object({
2300
- type: z107.literal("pcb_manual_edit_conflict_warning"),
2311
+ import { z as z108 } from "zod";
2312
+ var pcb_manual_edit_conflict_warning = z108.object({
2313
+ type: z108.literal("pcb_manual_edit_conflict_warning"),
2301
2314
  pcb_manual_edit_conflict_warning_id: getZodPrefixedIdWithDefault(
2302
2315
  "pcb_manual_edit_conflict_warning"
2303
2316
  ),
2304
- warning_type: z107.literal("pcb_manual_edit_conflict_warning").default("pcb_manual_edit_conflict_warning"),
2305
- message: z107.string(),
2306
- pcb_component_id: z107.string(),
2307
- pcb_group_id: z107.string().optional(),
2308
- subcircuit_id: z107.string().optional(),
2309
- source_component_id: z107.string()
2317
+ warning_type: z108.literal("pcb_manual_edit_conflict_warning").default("pcb_manual_edit_conflict_warning"),
2318
+ message: z108.string(),
2319
+ pcb_component_id: z108.string(),
2320
+ pcb_group_id: z108.string().optional(),
2321
+ subcircuit_id: z108.string().optional(),
2322
+ source_component_id: z108.string()
2310
2323
  }).describe(
2311
2324
  "Warning emitted when a component has both manual placement and explicit pcbX/pcbY coordinates"
2312
2325
  );
2313
2326
  expectTypesMatch(true);
2314
2327
 
2315
2328
  // src/pcb/pcb_breakout_point.ts
2316
- import { z as z108 } from "zod";
2317
- var pcb_breakout_point = z108.object({
2318
- type: z108.literal("pcb_breakout_point"),
2329
+ import { z as z109 } from "zod";
2330
+ var pcb_breakout_point = z109.object({
2331
+ type: z109.literal("pcb_breakout_point"),
2319
2332
  pcb_breakout_point_id: getZodPrefixedIdWithDefault("pcb_breakout_point"),
2320
- pcb_group_id: z108.string(),
2321
- subcircuit_id: z108.string().optional(),
2322
- source_trace_id: z108.string().optional(),
2323
- source_port_id: z108.string().optional(),
2324
- source_net_id: z108.string().optional(),
2333
+ pcb_group_id: z109.string(),
2334
+ subcircuit_id: z109.string().optional(),
2335
+ source_trace_id: z109.string().optional(),
2336
+ source_port_id: z109.string().optional(),
2337
+ source_net_id: z109.string().optional(),
2325
2338
  x: distance,
2326
2339
  y: distance
2327
2340
  }).describe(
@@ -2330,60 +2343,60 @@ var pcb_breakout_point = z108.object({
2330
2343
  expectTypesMatch(true);
2331
2344
 
2332
2345
  // src/pcb/pcb_ground_plane.ts
2333
- import { z as z109 } from "zod";
2334
- var pcb_ground_plane = z109.object({
2335
- type: z109.literal("pcb_ground_plane"),
2346
+ import { z as z110 } from "zod";
2347
+ var pcb_ground_plane = z110.object({
2348
+ type: z110.literal("pcb_ground_plane"),
2336
2349
  pcb_ground_plane_id: getZodPrefixedIdWithDefault("pcb_ground_plane"),
2337
- source_pcb_ground_plane_id: z109.string(),
2338
- source_net_id: z109.string(),
2339
- pcb_group_id: z109.string().optional(),
2340
- subcircuit_id: z109.string().optional()
2350
+ source_pcb_ground_plane_id: z110.string(),
2351
+ source_net_id: z110.string(),
2352
+ pcb_group_id: z110.string().optional(),
2353
+ subcircuit_id: z110.string().optional()
2341
2354
  }).describe("Defines a ground plane on the PCB");
2342
2355
  expectTypesMatch(true);
2343
2356
 
2344
2357
  // src/pcb/pcb_ground_plane_region.ts
2345
- import { z as z110 } from "zod";
2346
- var pcb_ground_plane_region = z110.object({
2347
- type: z110.literal("pcb_ground_plane_region"),
2358
+ import { z as z111 } from "zod";
2359
+ var pcb_ground_plane_region = z111.object({
2360
+ type: z111.literal("pcb_ground_plane_region"),
2348
2361
  pcb_ground_plane_region_id: getZodPrefixedIdWithDefault(
2349
2362
  "pcb_ground_plane_region"
2350
2363
  ),
2351
- pcb_ground_plane_id: z110.string(),
2352
- pcb_group_id: z110.string().optional(),
2353
- subcircuit_id: z110.string().optional(),
2364
+ pcb_ground_plane_id: z111.string(),
2365
+ pcb_group_id: z111.string().optional(),
2366
+ subcircuit_id: z111.string().optional(),
2354
2367
  layer: layer_ref,
2355
- points: z110.array(point)
2368
+ points: z111.array(point)
2356
2369
  }).describe("Defines a polygon region of a ground plane");
2357
2370
  expectTypesMatch(true);
2358
2371
 
2359
2372
  // src/pcb/pcb_thermal_spoke.ts
2360
- import { z as z111 } from "zod";
2361
- var pcb_thermal_spoke = z111.object({
2362
- type: z111.literal("pcb_thermal_spoke"),
2373
+ import { z as z112 } from "zod";
2374
+ var pcb_thermal_spoke = z112.object({
2375
+ type: z112.literal("pcb_thermal_spoke"),
2363
2376
  pcb_thermal_spoke_id: getZodPrefixedIdWithDefault("pcb_thermal_spoke"),
2364
- pcb_ground_plane_id: z111.string(),
2365
- shape: z111.string(),
2366
- spoke_count: z111.number(),
2377
+ pcb_ground_plane_id: z112.string(),
2378
+ shape: z112.string(),
2379
+ spoke_count: z112.number(),
2367
2380
  spoke_thickness: distance,
2368
2381
  spoke_inner_diameter: distance,
2369
2382
  spoke_outer_diameter: distance,
2370
- pcb_plated_hole_id: z111.string().optional(),
2371
- subcircuit_id: z111.string().optional()
2383
+ pcb_plated_hole_id: z112.string().optional(),
2384
+ subcircuit_id: z112.string().optional()
2372
2385
  }).describe("Pattern for connecting a ground plane to a plated hole");
2373
2386
  expectTypesMatch(true);
2374
2387
 
2375
2388
  // src/pcb/pcb_copper_pour.ts
2376
- import { z as z112 } from "zod";
2377
- var pcb_copper_pour_base = z112.object({
2378
- type: z112.literal("pcb_copper_pour"),
2389
+ import { z as z113 } from "zod";
2390
+ var pcb_copper_pour_base = z113.object({
2391
+ type: z113.literal("pcb_copper_pour"),
2379
2392
  pcb_copper_pour_id: getZodPrefixedIdWithDefault("pcb_copper_pour"),
2380
- pcb_group_id: z112.string().optional(),
2381
- subcircuit_id: z112.string().optional(),
2393
+ pcb_group_id: z113.string().optional(),
2394
+ subcircuit_id: z113.string().optional(),
2382
2395
  layer: layer_ref,
2383
- source_net_id: z112.string().optional()
2396
+ source_net_id: z113.string().optional()
2384
2397
  });
2385
2398
  var pcb_copper_pour_rect = pcb_copper_pour_base.extend({
2386
- shape: z112.literal("rect"),
2399
+ shape: z113.literal("rect"),
2387
2400
  center: point,
2388
2401
  width: length,
2389
2402
  height: length,
@@ -2391,16 +2404,16 @@ var pcb_copper_pour_rect = pcb_copper_pour_base.extend({
2391
2404
  });
2392
2405
  expectTypesMatch(true);
2393
2406
  var pcb_copper_pour_brep = pcb_copper_pour_base.extend({
2394
- shape: z112.literal("brep"),
2407
+ shape: z113.literal("brep"),
2395
2408
  brep_shape
2396
2409
  });
2397
2410
  expectTypesMatch(true);
2398
2411
  var pcb_copper_pour_polygon = pcb_copper_pour_base.extend({
2399
- shape: z112.literal("polygon"),
2400
- points: z112.array(point)
2412
+ shape: z113.literal("polygon"),
2413
+ points: z113.array(point)
2401
2414
  });
2402
2415
  expectTypesMatch(true);
2403
- var pcb_copper_pour = z112.discriminatedUnion("shape", [
2416
+ var pcb_copper_pour = z113.discriminatedUnion("shape", [
2404
2417
  pcb_copper_pour_rect,
2405
2418
  pcb_copper_pour_brep,
2406
2419
  pcb_copper_pour_polygon
@@ -2408,135 +2421,135 @@ var pcb_copper_pour = z112.discriminatedUnion("shape", [
2408
2421
  expectTypesMatch(true);
2409
2422
 
2410
2423
  // src/pcb/pcb_component_outside_board_error.ts
2411
- import { z as z113 } from "zod";
2412
- var pcb_component_outside_board_error = z113.object({
2413
- type: z113.literal("pcb_component_outside_board_error"),
2424
+ import { z as z114 } from "zod";
2425
+ var pcb_component_outside_board_error = z114.object({
2426
+ type: z114.literal("pcb_component_outside_board_error"),
2414
2427
  pcb_component_outside_board_error_id: getZodPrefixedIdWithDefault(
2415
2428
  "pcb_component_outside_board_error"
2416
2429
  ),
2417
- error_type: z113.literal("pcb_component_outside_board_error").default("pcb_component_outside_board_error"),
2418
- message: z113.string(),
2419
- pcb_component_id: z113.string(),
2420
- pcb_board_id: z113.string(),
2430
+ error_type: z114.literal("pcb_component_outside_board_error").default("pcb_component_outside_board_error"),
2431
+ message: z114.string(),
2432
+ pcb_component_id: z114.string(),
2433
+ pcb_board_id: z114.string(),
2421
2434
  component_center: point,
2422
- component_bounds: z113.object({
2423
- min_x: z113.number(),
2424
- max_x: z113.number(),
2425
- min_y: z113.number(),
2426
- max_y: z113.number()
2435
+ component_bounds: z114.object({
2436
+ min_x: z114.number(),
2437
+ max_x: z114.number(),
2438
+ min_y: z114.number(),
2439
+ max_y: z114.number()
2427
2440
  }),
2428
- subcircuit_id: z113.string().optional(),
2429
- source_component_id: z113.string().optional()
2441
+ subcircuit_id: z114.string().optional(),
2442
+ source_component_id: z114.string().optional()
2430
2443
  }).describe(
2431
2444
  "Error emitted when a PCB component is placed outside the board boundaries"
2432
2445
  );
2433
2446
  expectTypesMatch(true);
2434
2447
 
2435
2448
  // src/pcb/pcb_component_invalid_layer_error.ts
2436
- import { z as z114 } from "zod";
2437
- var pcb_component_invalid_layer_error = z114.object({
2438
- type: z114.literal("pcb_component_invalid_layer_error"),
2449
+ import { z as z115 } from "zod";
2450
+ var pcb_component_invalid_layer_error = z115.object({
2451
+ type: z115.literal("pcb_component_invalid_layer_error"),
2439
2452
  pcb_component_invalid_layer_error_id: getZodPrefixedIdWithDefault(
2440
2453
  "pcb_component_invalid_layer_error"
2441
2454
  ),
2442
- error_type: z114.literal("pcb_component_invalid_layer_error").default("pcb_component_invalid_layer_error"),
2443
- message: z114.string(),
2444
- pcb_component_id: z114.string().optional(),
2445
- source_component_id: z114.string(),
2455
+ error_type: z115.literal("pcb_component_invalid_layer_error").default("pcb_component_invalid_layer_error"),
2456
+ message: z115.string(),
2457
+ pcb_component_id: z115.string().optional(),
2458
+ source_component_id: z115.string(),
2446
2459
  layer: layer_ref,
2447
- subcircuit_id: z114.string().optional()
2460
+ subcircuit_id: z115.string().optional()
2448
2461
  }).describe(
2449
2462
  "Error emitted when a component is placed on an invalid layer (components can only be on 'top' or 'bottom' layers)"
2450
2463
  );
2451
2464
  expectTypesMatch(true);
2452
2465
 
2453
2466
  // src/pcb/pcb_via_clearance_error.ts
2454
- import { z as z115 } from "zod";
2455
- var pcb_via_clearance_error = z115.object({
2456
- type: z115.literal("pcb_via_clearance_error"),
2467
+ import { z as z116 } from "zod";
2468
+ var pcb_via_clearance_error = z116.object({
2469
+ type: z116.literal("pcb_via_clearance_error"),
2457
2470
  pcb_error_id: getZodPrefixedIdWithDefault("pcb_error"),
2458
- error_type: z115.literal("pcb_via_clearance_error").default("pcb_via_clearance_error"),
2459
- message: z115.string(),
2460
- pcb_via_ids: z115.array(z115.string()).min(2),
2471
+ error_type: z116.literal("pcb_via_clearance_error").default("pcb_via_clearance_error"),
2472
+ message: z116.string(),
2473
+ pcb_via_ids: z116.array(z116.string()).min(2),
2461
2474
  minimum_clearance: distance.optional(),
2462
2475
  actual_clearance: distance.optional(),
2463
- pcb_center: z115.object({
2464
- x: z115.number().optional(),
2465
- y: z115.number().optional()
2476
+ pcb_center: z116.object({
2477
+ x: z116.number().optional(),
2478
+ y: z116.number().optional()
2466
2479
  }).optional(),
2467
- subcircuit_id: z115.string().optional()
2480
+ subcircuit_id: z116.string().optional()
2468
2481
  }).describe("Error emitted when vias are closer than the allowed clearance");
2469
2482
  expectTypesMatch(true);
2470
2483
 
2471
2484
  // src/pcb/pcb_courtyard_rect.ts
2472
- import { z as z116 } from "zod";
2473
- var pcb_courtyard_rect = z116.object({
2474
- type: z116.literal("pcb_courtyard_rect"),
2485
+ import { z as z117 } from "zod";
2486
+ var pcb_courtyard_rect = z117.object({
2487
+ type: z117.literal("pcb_courtyard_rect"),
2475
2488
  pcb_courtyard_rect_id: getZodPrefixedIdWithDefault("pcb_courtyard_rect"),
2476
- pcb_component_id: z116.string(),
2477
- pcb_group_id: z116.string().optional(),
2478
- subcircuit_id: z116.string().optional(),
2489
+ pcb_component_id: z117.string(),
2490
+ pcb_group_id: z117.string().optional(),
2491
+ subcircuit_id: z117.string().optional(),
2479
2492
  center: point,
2480
2493
  width: length,
2481
2494
  height: length,
2482
2495
  layer: visible_layer,
2483
2496
  stroke_width: length.default("0.1mm"),
2484
- is_filled: z116.boolean().optional(),
2485
- has_stroke: z116.boolean().optional(),
2486
- is_stroke_dashed: z116.boolean().optional(),
2487
- color: z116.string().optional()
2497
+ is_filled: z117.boolean().optional(),
2498
+ has_stroke: z117.boolean().optional(),
2499
+ is_stroke_dashed: z117.boolean().optional(),
2500
+ color: z117.string().optional()
2488
2501
  }).describe("Defines a courtyard rectangle on the PCB");
2489
2502
  expectTypesMatch(true);
2490
2503
 
2491
2504
  // src/pcb/pcb_courtyard_outline.ts
2492
- import { z as z117 } from "zod";
2493
- var pcb_courtyard_outline = z117.object({
2494
- type: z117.literal("pcb_courtyard_outline"),
2505
+ import { z as z118 } from "zod";
2506
+ var pcb_courtyard_outline = z118.object({
2507
+ type: z118.literal("pcb_courtyard_outline"),
2495
2508
  pcb_courtyard_outline_id: getZodPrefixedIdWithDefault(
2496
2509
  "pcb_courtyard_outline"
2497
2510
  ),
2498
- pcb_component_id: z117.string(),
2499
- pcb_group_id: z117.string().optional(),
2500
- subcircuit_id: z117.string().optional(),
2511
+ pcb_component_id: z118.string(),
2512
+ pcb_group_id: z118.string().optional(),
2513
+ subcircuit_id: z118.string().optional(),
2501
2514
  layer: visible_layer,
2502
- outline: z117.array(point).min(2),
2515
+ outline: z118.array(point).min(2),
2503
2516
  stroke_width: length.default("0.1mm"),
2504
- is_closed: z117.boolean().optional(),
2505
- is_stroke_dashed: z117.boolean().optional(),
2506
- color: z117.string().optional()
2517
+ is_closed: z118.boolean().optional(),
2518
+ is_stroke_dashed: z118.boolean().optional(),
2519
+ color: z118.string().optional()
2507
2520
  }).describe("Defines a courtyard outline on the PCB");
2508
2521
  expectTypesMatch(true);
2509
2522
 
2510
2523
  // src/cad/cad_component.ts
2511
- import { z as z118 } from "zod";
2512
- var cad_component = z118.object({
2513
- type: z118.literal("cad_component"),
2514
- cad_component_id: z118.string(),
2515
- pcb_component_id: z118.string(),
2516
- source_component_id: z118.string(),
2524
+ import { z as z119 } from "zod";
2525
+ var cad_component = z119.object({
2526
+ type: z119.literal("cad_component"),
2527
+ cad_component_id: z119.string(),
2528
+ pcb_component_id: z119.string(),
2529
+ source_component_id: z119.string(),
2517
2530
  position: point3,
2518
2531
  rotation: point3.optional(),
2519
2532
  size: point3.optional(),
2520
2533
  layer: layer_ref.optional(),
2521
- subcircuit_id: z118.string().optional(),
2534
+ subcircuit_id: z119.string().optional(),
2522
2535
  // These are all ways to generate/load the 3d model
2523
- footprinter_string: z118.string().optional(),
2524
- model_obj_url: z118.string().optional(),
2525
- model_stl_url: z118.string().optional(),
2526
- model_3mf_url: z118.string().optional(),
2527
- model_gltf_url: z118.string().optional(),
2528
- model_glb_url: z118.string().optional(),
2529
- model_step_url: z118.string().optional(),
2530
- model_wrl_url: z118.string().optional(),
2531
- model_unit_to_mm_scale_factor: z118.number().optional(),
2532
- model_jscad: z118.any().optional()
2536
+ footprinter_string: z119.string().optional(),
2537
+ model_obj_url: z119.string().optional(),
2538
+ model_stl_url: z119.string().optional(),
2539
+ model_3mf_url: z119.string().optional(),
2540
+ model_gltf_url: z119.string().optional(),
2541
+ model_glb_url: z119.string().optional(),
2542
+ model_step_url: z119.string().optional(),
2543
+ model_wrl_url: z119.string().optional(),
2544
+ model_unit_to_mm_scale_factor: z119.number().optional(),
2545
+ model_jscad: z119.any().optional()
2533
2546
  }).describe("Defines a component on the PCB");
2534
2547
  expectTypesMatch(true);
2535
2548
 
2536
2549
  // src/simulation/simulation_voltage_source.ts
2537
- import { z as z119 } from "zod";
2538
- var wave_shape = z119.enum(["sinewave", "square", "triangle", "sawtooth"]);
2539
- var percentage = z119.union([z119.string(), z119.number()]).transform((val) => {
2550
+ import { z as z120 } from "zod";
2551
+ var wave_shape = z120.enum(["sinewave", "square", "triangle", "sawtooth"]);
2552
+ var percentage = z120.union([z120.string(), z120.number()]).transform((val) => {
2540
2553
  if (typeof val === "string") {
2541
2554
  if (val.endsWith("%")) {
2542
2555
  return parseFloat(val.slice(0, -1)) / 100;
@@ -2545,30 +2558,30 @@ var percentage = z119.union([z119.string(), z119.number()]).transform((val) => {
2545
2558
  }
2546
2559
  return val;
2547
2560
  }).pipe(
2548
- z119.number().min(0, "Duty cycle must be non-negative").max(1, "Duty cycle cannot be greater than 100%")
2561
+ z120.number().min(0, "Duty cycle must be non-negative").max(1, "Duty cycle cannot be greater than 100%")
2549
2562
  );
2550
- var simulation_dc_voltage_source = z119.object({
2551
- type: z119.literal("simulation_voltage_source"),
2563
+ var simulation_dc_voltage_source = z120.object({
2564
+ type: z120.literal("simulation_voltage_source"),
2552
2565
  simulation_voltage_source_id: getZodPrefixedIdWithDefault(
2553
2566
  "simulation_voltage_source"
2554
2567
  ),
2555
- is_dc_source: z119.literal(true).optional().default(true),
2556
- positive_source_port_id: z119.string().optional(),
2557
- negative_source_port_id: z119.string().optional(),
2558
- positive_source_net_id: z119.string().optional(),
2559
- negative_source_net_id: z119.string().optional(),
2568
+ is_dc_source: z120.literal(true).optional().default(true),
2569
+ positive_source_port_id: z120.string().optional(),
2570
+ negative_source_port_id: z120.string().optional(),
2571
+ positive_source_net_id: z120.string().optional(),
2572
+ negative_source_net_id: z120.string().optional(),
2560
2573
  voltage
2561
2574
  }).describe("Defines a DC voltage source for simulation");
2562
- var simulation_ac_voltage_source = z119.object({
2563
- type: z119.literal("simulation_voltage_source"),
2575
+ var simulation_ac_voltage_source = z120.object({
2576
+ type: z120.literal("simulation_voltage_source"),
2564
2577
  simulation_voltage_source_id: getZodPrefixedIdWithDefault(
2565
2578
  "simulation_voltage_source"
2566
2579
  ),
2567
- is_dc_source: z119.literal(false),
2568
- terminal1_source_port_id: z119.string().optional(),
2569
- terminal2_source_port_id: z119.string().optional(),
2570
- terminal1_source_net_id: z119.string().optional(),
2571
- terminal2_source_net_id: z119.string().optional(),
2580
+ is_dc_source: z120.literal(false),
2581
+ terminal1_source_port_id: z120.string().optional(),
2582
+ terminal2_source_port_id: z120.string().optional(),
2583
+ terminal1_source_net_id: z120.string().optional(),
2584
+ terminal2_source_net_id: z120.string().optional(),
2572
2585
  voltage: voltage.optional(),
2573
2586
  frequency: frequency.optional(),
2574
2587
  peak_to_peak_voltage: voltage.optional(),
@@ -2576,25 +2589,25 @@ var simulation_ac_voltage_source = z119.object({
2576
2589
  phase: rotation.optional(),
2577
2590
  duty_cycle: percentage.optional()
2578
2591
  }).describe("Defines an AC voltage source for simulation");
2579
- var simulation_voltage_source = z119.union([simulation_dc_voltage_source, simulation_ac_voltage_source]).describe("Defines a voltage source for simulation");
2592
+ var simulation_voltage_source = z120.union([simulation_dc_voltage_source, simulation_ac_voltage_source]).describe("Defines a voltage source for simulation");
2580
2593
  expectTypesMatch(true);
2581
2594
  expectTypesMatch(true);
2582
2595
  expectTypesMatch(true);
2583
2596
 
2584
2597
  // src/simulation/simulation_experiment.ts
2585
- import { z as z120 } from "zod";
2586
- var experiment_type = z120.union([
2587
- z120.literal("spice_dc_sweep"),
2588
- z120.literal("spice_dc_operating_point"),
2589
- z120.literal("spice_transient_analysis"),
2590
- z120.literal("spice_ac_analysis")
2598
+ import { z as z121 } from "zod";
2599
+ var experiment_type = z121.union([
2600
+ z121.literal("spice_dc_sweep"),
2601
+ z121.literal("spice_dc_operating_point"),
2602
+ z121.literal("spice_transient_analysis"),
2603
+ z121.literal("spice_ac_analysis")
2591
2604
  ]);
2592
- var simulation_experiment = z120.object({
2593
- type: z120.literal("simulation_experiment"),
2605
+ var simulation_experiment = z121.object({
2606
+ type: z121.literal("simulation_experiment"),
2594
2607
  simulation_experiment_id: getZodPrefixedIdWithDefault(
2595
2608
  "simulation_experiment"
2596
2609
  ),
2597
- name: z120.string(),
2610
+ name: z121.string(),
2598
2611
  experiment_type,
2599
2612
  time_per_step: duration_ms.optional(),
2600
2613
  start_time_ms: ms.optional(),
@@ -2603,48 +2616,48 @@ var simulation_experiment = z120.object({
2603
2616
  expectTypesMatch(true);
2604
2617
 
2605
2618
  // src/simulation/simulation_transient_voltage_graph.ts
2606
- import { z as z121 } from "zod";
2607
- var simulation_transient_voltage_graph = z121.object({
2608
- type: z121.literal("simulation_transient_voltage_graph"),
2619
+ import { z as z122 } from "zod";
2620
+ var simulation_transient_voltage_graph = z122.object({
2621
+ type: z122.literal("simulation_transient_voltage_graph"),
2609
2622
  simulation_transient_voltage_graph_id: getZodPrefixedIdWithDefault(
2610
2623
  "simulation_transient_voltage_graph"
2611
2624
  ),
2612
- simulation_experiment_id: z121.string(),
2613
- timestamps_ms: z121.array(z121.number()).optional(),
2614
- voltage_levels: z121.array(z121.number()),
2615
- schematic_voltage_probe_id: z121.string().optional(),
2616
- simulation_voltage_probe_id: z121.string().optional(),
2617
- subcircuit_connectivity_map_key: z121.string().optional(),
2625
+ simulation_experiment_id: z122.string(),
2626
+ timestamps_ms: z122.array(z122.number()).optional(),
2627
+ voltage_levels: z122.array(z122.number()),
2628
+ schematic_voltage_probe_id: z122.string().optional(),
2629
+ simulation_voltage_probe_id: z122.string().optional(),
2630
+ subcircuit_connectivity_map_key: z122.string().optional(),
2618
2631
  time_per_step: duration_ms,
2619
2632
  start_time_ms: ms,
2620
2633
  end_time_ms: ms,
2621
- name: z121.string().optional()
2634
+ name: z122.string().optional()
2622
2635
  }).describe("Stores voltage measurements over time for a simulation");
2623
2636
  expectTypesMatch(true);
2624
2637
 
2625
2638
  // src/simulation/simulation_switch.ts
2626
- import { z as z122 } from "zod";
2627
- var simulation_switch = z122.object({
2628
- type: z122.literal("simulation_switch"),
2639
+ import { z as z123 } from "zod";
2640
+ var simulation_switch = z123.object({
2641
+ type: z123.literal("simulation_switch"),
2629
2642
  simulation_switch_id: getZodPrefixedIdWithDefault("simulation_switch"),
2630
2643
  closes_at: ms.optional(),
2631
2644
  opens_at: ms.optional(),
2632
- starts_closed: z122.boolean().optional(),
2645
+ starts_closed: z123.boolean().optional(),
2633
2646
  switching_frequency: frequency.optional()
2634
2647
  }).describe("Defines a switch for simulation timing control");
2635
2648
  expectTypesMatch(true);
2636
2649
 
2637
2650
  // src/simulation/simulation_voltage_probe.ts
2638
- import { z as z123 } from "zod";
2639
- var simulation_voltage_probe = z123.object({
2640
- type: z123.literal("simulation_voltage_probe"),
2651
+ import { z as z124 } from "zod";
2652
+ var simulation_voltage_probe = z124.object({
2653
+ type: z124.literal("simulation_voltage_probe"),
2641
2654
  simulation_voltage_probe_id: getZodPrefixedIdWithDefault(
2642
2655
  "simulation_voltage_probe"
2643
2656
  ),
2644
- source_port_id: z123.string().optional(),
2645
- source_net_id: z123.string().optional(),
2646
- name: z123.string().optional(),
2647
- subcircuit_id: z123.string().optional()
2657
+ source_port_id: z124.string().optional(),
2658
+ source_net_id: z124.string().optional(),
2659
+ name: z124.string().optional(),
2660
+ subcircuit_id: z124.string().optional()
2648
2661
  }).describe(
2649
2662
  "Defines a voltage probe for simulation, connected to a port or a net"
2650
2663
  ).refine(
@@ -2656,8 +2669,8 @@ var simulation_voltage_probe = z123.object({
2656
2669
  expectTypesMatch(true);
2657
2670
 
2658
2671
  // src/any_circuit_element.ts
2659
- import { z as z124 } from "zod";
2660
- var any_circuit_element = z124.union([
2672
+ import { z as z125 } from "zod";
2673
+ var any_circuit_element = z125.union([
2661
2674
  source_trace,
2662
2675
  source_port,
2663
2676
  any_source_component,
@@ -2702,6 +2715,7 @@ var any_circuit_element = z124.union([
2702
2715
  pcb_smtpad,
2703
2716
  pcb_solder_paste,
2704
2717
  pcb_board,
2718
+ pcb_panel,
2705
2719
  pcb_group,
2706
2720
  pcb_trace_hint,
2707
2721
  pcb_silkscreen_line,
@@ -2827,6 +2841,7 @@ export {
2827
2841
  pcb_note_path,
2828
2842
  pcb_note_rect,
2829
2843
  pcb_note_text,
2844
+ pcb_panel,
2830
2845
  pcb_placement_error,
2831
2846
  pcb_plated_hole,
2832
2847
  pcb_port,