circuit-json 0.0.472 → 0.0.474

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