circuit-json 0.0.318 → 0.0.320

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
@@ -790,223 +790,240 @@ var source_manually_placed_via = z44.object({
790
790
  }).describe("Defines a via that is manually placed in the source domain");
791
791
  expectTypesMatch(true);
792
792
 
793
- // src/source/unknown_error_finding_part.ts
793
+ // src/source/source_pin_must_be_connected_error.ts
794
794
  import { z as z45 } from "zod";
795
- var unknown_error_finding_part = z45.object({
796
- type: z45.literal("unknown_error_finding_part"),
797
- unknown_error_finding_part_id: getZodPrefixedIdWithDefault(
798
- "unknown_error_finding_part"
795
+ var source_pin_must_be_connected_error = z45.object({
796
+ type: z45.literal("source_pin_must_be_connected_error"),
797
+ source_pin_must_be_connected_error_id: getZodPrefixedIdWithDefault(
798
+ "source_pin_must_be_connected_error"
799
799
  ),
800
- error_type: z45.literal("unknown_error_finding_part").default("unknown_error_finding_part"),
800
+ error_type: z45.literal("source_pin_must_be_connected_error").default("source_pin_must_be_connected_error"),
801
801
  message: z45.string(),
802
- source_component_id: z45.string().optional(),
802
+ source_component_id: z45.string(),
803
+ source_port_id: z45.string(),
803
804
  subcircuit_id: z45.string().optional()
805
+ }).describe(
806
+ "Error emitted when a pin with mustBeConnected attribute is not connected to any trace"
807
+ );
808
+ expectTypesMatch(true);
809
+
810
+ // src/source/unknown_error_finding_part.ts
811
+ import { z as z46 } from "zod";
812
+ var unknown_error_finding_part = z46.object({
813
+ type: z46.literal("unknown_error_finding_part"),
814
+ unknown_error_finding_part_id: getZodPrefixedIdWithDefault(
815
+ "unknown_error_finding_part"
816
+ ),
817
+ error_type: z46.literal("unknown_error_finding_part").default("unknown_error_finding_part"),
818
+ message: z46.string(),
819
+ source_component_id: z46.string().optional(),
820
+ subcircuit_id: z46.string().optional()
804
821
  }).describe(
805
822
  "Error emitted when an unexpected error occurs while finding a part"
806
823
  );
807
824
  expectTypesMatch(true);
808
825
 
809
826
  // src/schematic/schematic_box.ts
810
- import { z as z46 } from "zod";
811
- var schematic_box = z46.object({
812
- type: z46.literal("schematic_box"),
813
- schematic_component_id: z46.string().optional(),
827
+ import { z as z47 } from "zod";
828
+ var schematic_box = z47.object({
829
+ type: z47.literal("schematic_box"),
830
+ schematic_component_id: z47.string().optional(),
814
831
  width: distance,
815
832
  height: distance,
816
- is_dashed: z46.boolean().default(false),
833
+ is_dashed: z47.boolean().default(false),
817
834
  x: distance,
818
835
  y: distance,
819
- subcircuit_id: z46.string().optional()
836
+ subcircuit_id: z47.string().optional()
820
837
  }).describe("Draws a box on the schematic");
821
838
  expectTypesMatch(true);
822
839
 
823
840
  // src/schematic/schematic_path.ts
824
- import { z as z47 } from "zod";
825
- var schematic_path = z47.object({
826
- type: z47.literal("schematic_path"),
827
- schematic_component_id: z47.string(),
828
- fill_color: z47.enum(["red", "blue"]).optional(),
829
- is_filled: z47.boolean().optional(),
830
- points: z47.array(point),
831
- subcircuit_id: z47.string().optional()
841
+ import { z as z48 } from "zod";
842
+ var schematic_path = z48.object({
843
+ type: z48.literal("schematic_path"),
844
+ schematic_component_id: z48.string(),
845
+ fill_color: z48.enum(["red", "blue"]).optional(),
846
+ is_filled: z48.boolean().optional(),
847
+ points: z48.array(point),
848
+ subcircuit_id: z48.string().optional()
832
849
  });
833
850
  expectTypesMatch(true);
834
851
 
835
852
  // src/schematic/schematic_component.ts
836
- import { z as z48 } from "zod";
837
- var schematic_pin_styles = z48.record(
838
- z48.object({
853
+ import { z as z49 } from "zod";
854
+ var schematic_pin_styles = z49.record(
855
+ z49.object({
839
856
  left_margin: length.optional(),
840
857
  right_margin: length.optional(),
841
858
  top_margin: length.optional(),
842
859
  bottom_margin: length.optional()
843
860
  })
844
861
  );
845
- var schematic_component_port_arrangement_by_size = z48.object({
846
- left_size: z48.number(),
847
- right_size: z48.number(),
848
- top_size: z48.number().optional(),
849
- bottom_size: z48.number().optional()
862
+ var schematic_component_port_arrangement_by_size = z49.object({
863
+ left_size: z49.number(),
864
+ right_size: z49.number(),
865
+ top_size: z49.number().optional(),
866
+ bottom_size: z49.number().optional()
850
867
  });
851
868
  expectTypesMatch(true);
852
- var schematic_component_port_arrangement_by_sides = z48.object({
853
- left_side: z48.object({
854
- pins: z48.array(z48.number()),
869
+ var schematic_component_port_arrangement_by_sides = z49.object({
870
+ left_side: z49.object({
871
+ pins: z49.array(z49.number()),
855
872
  // @ts-ignore
856
- direction: z48.enum(["top-to-bottom", "bottom-to-top"]).optional()
873
+ direction: z49.enum(["top-to-bottom", "bottom-to-top"]).optional()
857
874
  }).optional(),
858
- right_side: z48.object({
859
- pins: z48.array(z48.number()),
875
+ right_side: z49.object({
876
+ pins: z49.array(z49.number()),
860
877
  // @ts-ignore
861
- direction: z48.enum(["top-to-bottom", "bottom-to-top"]).optional()
878
+ direction: z49.enum(["top-to-bottom", "bottom-to-top"]).optional()
862
879
  }).optional(),
863
- top_side: z48.object({
864
- pins: z48.array(z48.number()),
880
+ top_side: z49.object({
881
+ pins: z49.array(z49.number()),
865
882
  // @ts-ignore
866
- direction: z48.enum(["left-to-right", "right-to-left"]).optional()
883
+ direction: z49.enum(["left-to-right", "right-to-left"]).optional()
867
884
  }).optional(),
868
- bottom_side: z48.object({
869
- pins: z48.array(z48.number()),
885
+ bottom_side: z49.object({
886
+ pins: z49.array(z49.number()),
870
887
  // @ts-ignore
871
- direction: z48.enum(["left-to-right", "right-to-left"]).optional()
888
+ direction: z49.enum(["left-to-right", "right-to-left"]).optional()
872
889
  }).optional()
873
890
  });
874
891
  expectTypesMatch(true);
875
- var port_arrangement = z48.union([
892
+ var port_arrangement = z49.union([
876
893
  schematic_component_port_arrangement_by_size,
877
894
  schematic_component_port_arrangement_by_sides
878
895
  ]);
879
- var schematic_component = z48.object({
880
- type: z48.literal("schematic_component"),
896
+ var schematic_component = z49.object({
897
+ type: z49.literal("schematic_component"),
881
898
  size,
882
899
  center: point,
883
- source_component_id: z48.string().optional(),
884
- schematic_component_id: z48.string(),
900
+ source_component_id: z49.string().optional(),
901
+ schematic_component_id: z49.string(),
885
902
  pin_spacing: length.optional(),
886
903
  pin_styles: schematic_pin_styles.optional(),
887
904
  box_width: length.optional(),
888
- symbol_name: z48.string().optional(),
905
+ symbol_name: z49.string().optional(),
889
906
  port_arrangement: port_arrangement.optional(),
890
- port_labels: z48.record(z48.string()).optional(),
891
- symbol_display_value: z48.string().optional(),
892
- subcircuit_id: z48.string().optional(),
893
- schematic_group_id: z48.string().optional(),
894
- is_schematic_group: z48.boolean().optional(),
895
- source_group_id: z48.string().optional(),
896
- is_box_with_pins: z48.boolean().optional().default(true)
907
+ port_labels: z49.record(z49.string()).optional(),
908
+ symbol_display_value: z49.string().optional(),
909
+ subcircuit_id: z49.string().optional(),
910
+ schematic_group_id: z49.string().optional(),
911
+ is_schematic_group: z49.boolean().optional(),
912
+ source_group_id: z49.string().optional(),
913
+ is_box_with_pins: z49.boolean().optional().default(true)
897
914
  });
898
915
  expectTypesMatch(true);
899
916
 
900
917
  // src/schematic/schematic_line.ts
901
- import { z as z49 } from "zod";
902
- var schematic_line = z49.object({
903
- type: z49.literal("schematic_line"),
918
+ import { z as z50 } from "zod";
919
+ var schematic_line = z50.object({
920
+ type: z50.literal("schematic_line"),
904
921
  schematic_line_id: getZodPrefixedIdWithDefault("schematic_line"),
905
- schematic_component_id: z49.string(),
922
+ schematic_component_id: z50.string(),
906
923
  x1: distance,
907
924
  y1: distance,
908
925
  x2: distance,
909
926
  y2: distance,
910
927
  stroke_width: distance.nullable().optional(),
911
- color: z49.string().default("#000000"),
912
- is_dashed: z49.boolean().default(false),
913
- subcircuit_id: z49.string().optional()
928
+ color: z50.string().default("#000000"),
929
+ is_dashed: z50.boolean().default(false),
930
+ subcircuit_id: z50.string().optional()
914
931
  }).describe("Draws a styled line on the schematic");
915
932
  expectTypesMatch(true);
916
933
 
917
934
  // src/schematic/schematic_rect.ts
918
- import { z as z50 } from "zod";
919
- var schematic_rect = z50.object({
920
- type: z50.literal("schematic_rect"),
935
+ import { z as z51 } from "zod";
936
+ var schematic_rect = z51.object({
937
+ type: z51.literal("schematic_rect"),
921
938
  schematic_rect_id: getZodPrefixedIdWithDefault("schematic_rect"),
922
- schematic_component_id: z50.string(),
939
+ schematic_component_id: z51.string(),
923
940
  center: point,
924
941
  width: distance,
925
942
  height: distance,
926
943
  rotation: rotation.default(0),
927
944
  stroke_width: distance.nullable().optional(),
928
- color: z50.string().default("#000000"),
929
- is_filled: z50.boolean().default(false),
930
- fill_color: z50.string().optional(),
931
- is_dashed: z50.boolean().default(false),
932
- subcircuit_id: z50.string().optional()
945
+ color: z51.string().default("#000000"),
946
+ is_filled: z51.boolean().default(false),
947
+ fill_color: z51.string().optional(),
948
+ is_dashed: z51.boolean().default(false),
949
+ subcircuit_id: z51.string().optional()
933
950
  }).describe("Draws a styled rectangle on the schematic");
934
951
  expectTypesMatch(true);
935
952
 
936
953
  // src/schematic/schematic_circle.ts
937
- import { z as z51 } from "zod";
938
- var schematic_circle = z51.object({
939
- type: z51.literal("schematic_circle"),
954
+ import { z as z52 } from "zod";
955
+ var schematic_circle = z52.object({
956
+ type: z52.literal("schematic_circle"),
940
957
  schematic_circle_id: getZodPrefixedIdWithDefault("schematic_circle"),
941
- schematic_component_id: z51.string(),
958
+ schematic_component_id: z52.string(),
942
959
  center: point,
943
960
  radius: distance,
944
961
  stroke_width: distance.nullable().optional(),
945
- color: z51.string().default("#000000"),
946
- is_filled: z51.boolean().default(false),
947
- fill_color: z51.string().optional(),
948
- is_dashed: z51.boolean().default(false),
949
- subcircuit_id: z51.string().optional()
962
+ color: z52.string().default("#000000"),
963
+ is_filled: z52.boolean().default(false),
964
+ fill_color: z52.string().optional(),
965
+ is_dashed: z52.boolean().default(false),
966
+ subcircuit_id: z52.string().optional()
950
967
  }).describe("Draws a styled circle on the schematic");
951
968
  expectTypesMatch(true);
952
969
 
953
970
  // src/schematic/schematic_arc.ts
954
- import { z as z52 } from "zod";
955
- var schematic_arc = z52.object({
956
- type: z52.literal("schematic_arc"),
971
+ import { z as z53 } from "zod";
972
+ var schematic_arc = z53.object({
973
+ type: z53.literal("schematic_arc"),
957
974
  schematic_arc_id: getZodPrefixedIdWithDefault("schematic_arc"),
958
- schematic_component_id: z52.string(),
975
+ schematic_component_id: z53.string(),
959
976
  center: point,
960
977
  radius: distance,
961
978
  start_angle_degrees: rotation,
962
979
  end_angle_degrees: rotation,
963
- direction: z52.enum(["clockwise", "counterclockwise"]).default("counterclockwise"),
980
+ direction: z53.enum(["clockwise", "counterclockwise"]).default("counterclockwise"),
964
981
  stroke_width: distance.nullable().optional(),
965
- color: z52.string().default("#000000"),
966
- is_dashed: z52.boolean().default(false),
967
- subcircuit_id: z52.string().optional()
982
+ color: z53.string().default("#000000"),
983
+ is_dashed: z53.boolean().default(false),
984
+ subcircuit_id: z53.string().optional()
968
985
  }).describe("Draws a styled arc on the schematic");
969
986
  expectTypesMatch(true);
970
987
 
971
988
  // src/schematic/schematic_trace.ts
972
- import { z as z53 } from "zod";
973
- var schematic_trace = z53.object({
974
- type: z53.literal("schematic_trace"),
975
- schematic_trace_id: z53.string(),
976
- source_trace_id: z53.string().optional(),
977
- junctions: z53.array(
978
- z53.object({
979
- x: z53.number(),
980
- y: z53.number()
989
+ import { z as z54 } from "zod";
990
+ var schematic_trace = z54.object({
991
+ type: z54.literal("schematic_trace"),
992
+ schematic_trace_id: z54.string(),
993
+ source_trace_id: z54.string().optional(),
994
+ junctions: z54.array(
995
+ z54.object({
996
+ x: z54.number(),
997
+ y: z54.number()
981
998
  })
982
999
  ),
983
- edges: z53.array(
984
- z53.object({
985
- from: z53.object({
986
- x: z53.number(),
987
- y: z53.number()
1000
+ edges: z54.array(
1001
+ z54.object({
1002
+ from: z54.object({
1003
+ x: z54.number(),
1004
+ y: z54.number()
988
1005
  }),
989
- to: z53.object({
990
- x: z53.number(),
991
- y: z53.number()
1006
+ to: z54.object({
1007
+ x: z54.number(),
1008
+ y: z54.number()
992
1009
  }),
993
- is_crossing: z53.boolean().optional(),
994
- from_schematic_port_id: z53.string().optional(),
995
- to_schematic_port_id: z53.string().optional()
1010
+ is_crossing: z54.boolean().optional(),
1011
+ from_schematic_port_id: z54.string().optional(),
1012
+ to_schematic_port_id: z54.string().optional()
996
1013
  })
997
1014
  ),
998
- subcircuit_id: z53.string().optional(),
1015
+ subcircuit_id: z54.string().optional(),
999
1016
  // TODO: make required in a future release
1000
- subcircuit_connectivity_map_key: z53.string().optional()
1017
+ subcircuit_connectivity_map_key: z54.string().optional()
1001
1018
  });
1002
1019
  expectTypesMatch(true);
1003
1020
 
1004
1021
  // src/schematic/schematic_text.ts
1005
- import { z as z55 } from "zod";
1022
+ import { z as z56 } from "zod";
1006
1023
 
1007
1024
  // src/common/FivePointAnchor.ts
1008
- import { z as z54 } from "zod";
1009
- var fivePointAnchor = z54.enum([
1025
+ import { z as z55 } from "zod";
1026
+ var fivePointAnchor = z55.enum([
1010
1027
  "center",
1011
1028
  "left",
1012
1029
  "right",
@@ -1016,111 +1033,111 @@ var fivePointAnchor = z54.enum([
1016
1033
  expectTypesMatch(true);
1017
1034
 
1018
1035
  // src/schematic/schematic_text.ts
1019
- var schematic_text = z55.object({
1020
- type: z55.literal("schematic_text"),
1021
- schematic_component_id: z55.string().optional(),
1022
- schematic_text_id: z55.string(),
1023
- text: z55.string(),
1024
- font_size: z55.number().default(0.18),
1025
- position: z55.object({
1036
+ var schematic_text = z56.object({
1037
+ type: z56.literal("schematic_text"),
1038
+ schematic_component_id: z56.string().optional(),
1039
+ schematic_text_id: z56.string(),
1040
+ text: z56.string(),
1041
+ font_size: z56.number().default(0.18),
1042
+ position: z56.object({
1026
1043
  x: distance,
1027
1044
  y: distance
1028
1045
  }),
1029
- rotation: z55.number().default(0),
1030
- anchor: z55.union([fivePointAnchor.describe("legacy"), ninePointAnchor]).default("center"),
1031
- color: z55.string().default("#000000"),
1032
- subcircuit_id: z55.string().optional()
1046
+ rotation: z56.number().default(0),
1047
+ anchor: z56.union([fivePointAnchor.describe("legacy"), ninePointAnchor]).default("center"),
1048
+ color: z56.string().default("#000000"),
1049
+ subcircuit_id: z56.string().optional()
1033
1050
  });
1034
1051
  expectTypesMatch(true);
1035
1052
 
1036
1053
  // src/schematic/schematic_port.ts
1037
- import { z as z56 } from "zod";
1038
- var schematic_port = z56.object({
1039
- type: z56.literal("schematic_port"),
1040
- schematic_port_id: z56.string(),
1041
- source_port_id: z56.string(),
1042
- schematic_component_id: z56.string().optional(),
1054
+ import { z as z57 } from "zod";
1055
+ var schematic_port = z57.object({
1056
+ type: z57.literal("schematic_port"),
1057
+ schematic_port_id: z57.string(),
1058
+ source_port_id: z57.string(),
1059
+ schematic_component_id: z57.string().optional(),
1043
1060
  center: point,
1044
- facing_direction: z56.enum(["up", "down", "left", "right"]).optional(),
1045
- distance_from_component_edge: z56.number().optional(),
1046
- side_of_component: z56.enum(["top", "bottom", "left", "right"]).optional(),
1047
- true_ccw_index: z56.number().optional(),
1048
- pin_number: z56.number().optional(),
1049
- display_pin_label: z56.string().optional(),
1050
- subcircuit_id: z56.string().optional(),
1051
- is_connected: z56.boolean().optional(),
1052
- has_input_arrow: z56.boolean().optional(),
1053
- has_output_arrow: z56.boolean().optional()
1061
+ facing_direction: z57.enum(["up", "down", "left", "right"]).optional(),
1062
+ distance_from_component_edge: z57.number().optional(),
1063
+ side_of_component: z57.enum(["top", "bottom", "left", "right"]).optional(),
1064
+ true_ccw_index: z57.number().optional(),
1065
+ pin_number: z57.number().optional(),
1066
+ display_pin_label: z57.string().optional(),
1067
+ subcircuit_id: z57.string().optional(),
1068
+ is_connected: z57.boolean().optional(),
1069
+ has_input_arrow: z57.boolean().optional(),
1070
+ has_output_arrow: z57.boolean().optional()
1054
1071
  }).describe("Defines a port on a schematic component");
1055
1072
  expectTypesMatch(true);
1056
1073
 
1057
1074
  // src/schematic/schematic_net_label.ts
1058
- import { z as z57 } from "zod";
1059
- var schematic_net_label = z57.object({
1060
- type: z57.literal("schematic_net_label"),
1075
+ import { z as z58 } from "zod";
1076
+ var schematic_net_label = z58.object({
1077
+ type: z58.literal("schematic_net_label"),
1061
1078
  schematic_net_label_id: getZodPrefixedIdWithDefault("schematic_net_label"),
1062
- schematic_trace_id: z57.string().optional(),
1063
- source_trace_id: z57.string().optional(),
1064
- source_net_id: z57.string(),
1079
+ schematic_trace_id: z58.string().optional(),
1080
+ source_trace_id: z58.string().optional(),
1081
+ source_net_id: z58.string(),
1065
1082
  center: point,
1066
1083
  anchor_position: point.optional(),
1067
- anchor_side: z57.enum(["top", "bottom", "left", "right"]),
1068
- text: z57.string(),
1069
- symbol_name: z57.string().optional(),
1070
- is_movable: z57.boolean().optional(),
1071
- subcircuit_id: z57.string().optional()
1084
+ anchor_side: z58.enum(["top", "bottom", "left", "right"]),
1085
+ text: z58.string(),
1086
+ symbol_name: z58.string().optional(),
1087
+ is_movable: z58.boolean().optional(),
1088
+ subcircuit_id: z58.string().optional()
1072
1089
  });
1073
1090
  expectTypesMatch(true);
1074
1091
 
1075
1092
  // src/schematic/schematic_error.ts
1076
- import { z as z58 } from "zod";
1077
- var schematic_error = z58.object({
1078
- type: z58.literal("schematic_error"),
1079
- schematic_error_id: z58.string(),
1093
+ import { z as z59 } from "zod";
1094
+ var schematic_error = z59.object({
1095
+ type: z59.literal("schematic_error"),
1096
+ schematic_error_id: z59.string(),
1080
1097
  // eventually each error type should be broken out into a dir of files
1081
- error_type: z58.literal("schematic_port_not_found").default("schematic_port_not_found"),
1082
- message: z58.string(),
1083
- subcircuit_id: z58.string().optional()
1098
+ error_type: z59.literal("schematic_port_not_found").default("schematic_port_not_found"),
1099
+ message: z59.string(),
1100
+ subcircuit_id: z59.string().optional()
1084
1101
  }).describe("Defines a schematic error on the schematic");
1085
1102
  expectTypesMatch(true);
1086
1103
 
1087
1104
  // src/schematic/schematic_layout_error.ts
1088
- import { z as z59 } from "zod";
1089
- var schematic_layout_error = z59.object({
1090
- type: z59.literal("schematic_layout_error"),
1105
+ import { z as z60 } from "zod";
1106
+ var schematic_layout_error = z60.object({
1107
+ type: z60.literal("schematic_layout_error"),
1091
1108
  schematic_layout_error_id: getZodPrefixedIdWithDefault(
1092
1109
  "schematic_layout_error"
1093
1110
  ),
1094
- error_type: z59.literal("schematic_layout_error").default("schematic_layout_error"),
1095
- message: z59.string(),
1096
- source_group_id: z59.string(),
1097
- schematic_group_id: z59.string(),
1098
- subcircuit_id: z59.string().optional()
1111
+ error_type: z60.literal("schematic_layout_error").default("schematic_layout_error"),
1112
+ message: z60.string(),
1113
+ source_group_id: z60.string(),
1114
+ schematic_group_id: z60.string(),
1115
+ subcircuit_id: z60.string().optional()
1099
1116
  }).describe("Error emitted when schematic layout fails for a group");
1100
1117
  expectTypesMatch(true);
1101
1118
 
1102
1119
  // src/schematic/schematic_debug_object.ts
1103
- import { z as z60 } from "zod";
1104
- var schematic_debug_object_base = z60.object({
1105
- type: z60.literal("schematic_debug_object"),
1106
- label: z60.string().optional(),
1107
- subcircuit_id: z60.string().optional()
1120
+ import { z as z61 } from "zod";
1121
+ var schematic_debug_object_base = z61.object({
1122
+ type: z61.literal("schematic_debug_object"),
1123
+ label: z61.string().optional(),
1124
+ subcircuit_id: z61.string().optional()
1108
1125
  });
1109
1126
  var schematic_debug_rect = schematic_debug_object_base.extend({
1110
- shape: z60.literal("rect"),
1127
+ shape: z61.literal("rect"),
1111
1128
  center: point,
1112
1129
  size
1113
1130
  });
1114
1131
  var schematic_debug_line = schematic_debug_object_base.extend({
1115
- shape: z60.literal("line"),
1132
+ shape: z61.literal("line"),
1116
1133
  start: point,
1117
1134
  end: point
1118
1135
  });
1119
1136
  var schematic_debug_point = schematic_debug_object_base.extend({
1120
- shape: z60.literal("point"),
1137
+ shape: z61.literal("point"),
1121
1138
  center: point
1122
1139
  });
1123
- var schematic_debug_object = z60.discriminatedUnion("shape", [
1140
+ var schematic_debug_object = z61.discriminatedUnion("shape", [
1124
1141
  schematic_debug_rect,
1125
1142
  schematic_debug_line,
1126
1143
  schematic_debug_point
@@ -1128,268 +1145,268 @@ var schematic_debug_object = z60.discriminatedUnion("shape", [
1128
1145
  expectTypesMatch(true);
1129
1146
 
1130
1147
  // src/schematic/schematic_voltage_probe.ts
1131
- import { z as z61 } from "zod";
1132
- var schematic_voltage_probe = z61.object({
1133
- type: z61.literal("schematic_voltage_probe"),
1134
- schematic_voltage_probe_id: z61.string(),
1135
- source_component_id: z61.string().optional(),
1136
- name: z61.string().optional(),
1148
+ import { z as z62 } from "zod";
1149
+ var schematic_voltage_probe = z62.object({
1150
+ type: z62.literal("schematic_voltage_probe"),
1151
+ schematic_voltage_probe_id: z62.string(),
1152
+ source_component_id: z62.string().optional(),
1153
+ name: z62.string().optional(),
1137
1154
  position: point,
1138
- schematic_trace_id: z61.string(),
1155
+ schematic_trace_id: z62.string(),
1139
1156
  voltage: voltage.optional(),
1140
- subcircuit_id: z61.string().optional(),
1141
- color: z61.string().optional()
1157
+ subcircuit_id: z62.string().optional(),
1158
+ color: z62.string().optional()
1142
1159
  }).describe("Defines a voltage probe measurement point on a schematic trace");
1143
1160
  expectTypesMatch(true);
1144
1161
 
1145
1162
  // src/schematic/schematic_manual_edit_conflict_warning.ts
1146
- import { z as z62 } from "zod";
1147
- var schematic_manual_edit_conflict_warning = z62.object({
1148
- type: z62.literal("schematic_manual_edit_conflict_warning"),
1163
+ import { z as z63 } from "zod";
1164
+ var schematic_manual_edit_conflict_warning = z63.object({
1165
+ type: z63.literal("schematic_manual_edit_conflict_warning"),
1149
1166
  schematic_manual_edit_conflict_warning_id: getZodPrefixedIdWithDefault(
1150
1167
  "schematic_manual_edit_conflict_warning"
1151
1168
  ),
1152
- warning_type: z62.literal("schematic_manual_edit_conflict_warning").default("schematic_manual_edit_conflict_warning"),
1153
- message: z62.string(),
1154
- schematic_component_id: z62.string(),
1155
- schematic_group_id: z62.string().optional(),
1156
- subcircuit_id: z62.string().optional(),
1157
- source_component_id: z62.string()
1169
+ warning_type: z63.literal("schematic_manual_edit_conflict_warning").default("schematic_manual_edit_conflict_warning"),
1170
+ message: z63.string(),
1171
+ schematic_component_id: z63.string(),
1172
+ schematic_group_id: z63.string().optional(),
1173
+ subcircuit_id: z63.string().optional(),
1174
+ source_component_id: z63.string()
1158
1175
  }).describe(
1159
1176
  "Warning emitted when a component has both manual placement and explicit schX/schY coordinates"
1160
1177
  );
1161
1178
  expectTypesMatch(true);
1162
1179
 
1163
1180
  // src/schematic/schematic_group.ts
1164
- import { z as z63 } from "zod";
1165
- var schematic_group = z63.object({
1166
- type: z63.literal("schematic_group"),
1181
+ import { z as z64 } from "zod";
1182
+ var schematic_group = z64.object({
1183
+ type: z64.literal("schematic_group"),
1167
1184
  schematic_group_id: getZodPrefixedIdWithDefault("schematic_group"),
1168
- source_group_id: z63.string(),
1169
- is_subcircuit: z63.boolean().optional(),
1170
- subcircuit_id: z63.string().optional(),
1185
+ source_group_id: z64.string(),
1186
+ is_subcircuit: z64.boolean().optional(),
1187
+ subcircuit_id: z64.string().optional(),
1171
1188
  width: length,
1172
1189
  height: length,
1173
1190
  center: point,
1174
- schematic_component_ids: z63.array(z63.string()),
1175
- show_as_schematic_box: z63.boolean().optional(),
1176
- name: z63.string().optional(),
1177
- description: z63.string().optional()
1191
+ schematic_component_ids: z64.array(z64.string()),
1192
+ show_as_schematic_box: z64.boolean().optional(),
1193
+ name: z64.string().optional(),
1194
+ description: z64.string().optional()
1178
1195
  }).describe("Defines a group of components on the schematic");
1179
1196
  expectTypesMatch(true);
1180
1197
 
1181
1198
  // src/schematic/schematic_table.ts
1182
- import { z as z64 } from "zod";
1183
- var schematic_table = z64.object({
1184
- type: z64.literal("schematic_table"),
1199
+ import { z as z65 } from "zod";
1200
+ var schematic_table = z65.object({
1201
+ type: z65.literal("schematic_table"),
1185
1202
  schematic_table_id: getZodPrefixedIdWithDefault("schematic_table"),
1186
1203
  anchor_position: point,
1187
- column_widths: z64.array(distance),
1188
- row_heights: z64.array(distance),
1204
+ column_widths: z65.array(distance),
1205
+ row_heights: z65.array(distance),
1189
1206
  cell_padding: distance.optional(),
1190
1207
  border_width: distance.optional(),
1191
- subcircuit_id: z64.string().optional(),
1192
- schematic_component_id: z64.string().optional(),
1208
+ subcircuit_id: z65.string().optional(),
1209
+ schematic_component_id: z65.string().optional(),
1193
1210
  anchor: ninePointAnchor.optional()
1194
1211
  }).describe("Defines a table on the schematic");
1195
1212
  expectTypesMatch(true);
1196
1213
 
1197
1214
  // src/schematic/schematic_table_cell.ts
1198
- import { z as z65 } from "zod";
1199
- var schematic_table_cell = z65.object({
1200
- type: z65.literal("schematic_table_cell"),
1215
+ import { z as z66 } from "zod";
1216
+ var schematic_table_cell = z66.object({
1217
+ type: z66.literal("schematic_table_cell"),
1201
1218
  schematic_table_cell_id: getZodPrefixedIdWithDefault(
1202
1219
  "schematic_table_cell"
1203
1220
  ),
1204
- schematic_table_id: z65.string(),
1205
- start_row_index: z65.number(),
1206
- end_row_index: z65.number(),
1207
- start_column_index: z65.number(),
1208
- end_column_index: z65.number(),
1209
- text: z65.string().optional(),
1221
+ schematic_table_id: z66.string(),
1222
+ start_row_index: z66.number(),
1223
+ end_row_index: z66.number(),
1224
+ start_column_index: z66.number(),
1225
+ end_column_index: z66.number(),
1226
+ text: z66.string().optional(),
1210
1227
  center: point,
1211
1228
  width: distance,
1212
1229
  height: distance,
1213
- horizontal_align: z65.enum(["left", "center", "right"]).optional(),
1214
- vertical_align: z65.enum(["top", "middle", "bottom"]).optional(),
1230
+ horizontal_align: z66.enum(["left", "center", "right"]).optional(),
1231
+ vertical_align: z66.enum(["top", "middle", "bottom"]).optional(),
1215
1232
  font_size: distance.optional(),
1216
- subcircuit_id: z65.string().optional()
1233
+ subcircuit_id: z66.string().optional()
1217
1234
  }).describe("Defines a cell within a schematic_table");
1218
1235
  expectTypesMatch(true);
1219
1236
 
1220
1237
  // src/schematic/schematic_sheet.ts
1221
- import { z as z66 } from "zod";
1222
- var schematic_sheet = z66.object({
1223
- type: z66.literal("schematic_sheet"),
1238
+ import { z as z67 } from "zod";
1239
+ var schematic_sheet = z67.object({
1240
+ type: z67.literal("schematic_sheet"),
1224
1241
  schematic_sheet_id: getZodPrefixedIdWithDefault("schematic_sheet"),
1225
- name: z66.string().optional(),
1226
- subcircuit_id: z66.string().optional()
1242
+ name: z67.string().optional(),
1243
+ subcircuit_id: z67.string().optional()
1227
1244
  }).describe(
1228
1245
  "Defines a schematic sheet or page that components can be placed on"
1229
1246
  );
1230
1247
  expectTypesMatch(true);
1231
1248
 
1232
1249
  // src/pcb/properties/brep.ts
1233
- import { z as z67 } from "zod";
1234
- var point_with_bulge = z67.object({
1250
+ import { z as z68 } from "zod";
1251
+ var point_with_bulge = z68.object({
1235
1252
  x: distance,
1236
1253
  y: distance,
1237
- bulge: z67.number().optional()
1254
+ bulge: z68.number().optional()
1238
1255
  });
1239
1256
  expectTypesMatch(true);
1240
- var ring = z67.object({
1241
- vertices: z67.array(point_with_bulge)
1257
+ var ring = z68.object({
1258
+ vertices: z68.array(point_with_bulge)
1242
1259
  });
1243
1260
  expectTypesMatch(true);
1244
- var brep_shape = z67.object({
1261
+ var brep_shape = z68.object({
1245
1262
  outer_ring: ring,
1246
- inner_rings: z67.array(ring).default([])
1263
+ inner_rings: z68.array(ring).default([])
1247
1264
  });
1248
1265
  expectTypesMatch(true);
1249
1266
 
1250
1267
  // src/pcb/properties/pcb_route_hints.ts
1251
- import { z as z68 } from "zod";
1252
- var pcb_route_hint = z68.object({
1268
+ import { z as z69 } from "zod";
1269
+ var pcb_route_hint = z69.object({
1253
1270
  x: distance,
1254
1271
  y: distance,
1255
- via: z68.boolean().optional(),
1272
+ via: z69.boolean().optional(),
1256
1273
  via_to_layer: layer_ref.optional()
1257
1274
  });
1258
- var pcb_route_hints = z68.array(pcb_route_hint);
1275
+ var pcb_route_hints = z69.array(pcb_route_hint);
1259
1276
  expectTypesMatch(true);
1260
1277
  expectTypesMatch(true);
1261
1278
 
1262
1279
  // src/pcb/properties/route_hint_point.ts
1263
- import { z as z69 } from "zod";
1264
- var route_hint_point = z69.object({
1280
+ import { z as z70 } from "zod";
1281
+ var route_hint_point = z70.object({
1265
1282
  x: distance,
1266
1283
  y: distance,
1267
- via: z69.boolean().optional(),
1284
+ via: z70.boolean().optional(),
1268
1285
  to_layer: layer_ref.optional(),
1269
1286
  trace_width: distance.optional()
1270
1287
  });
1271
1288
  expectTypesMatch(true);
1272
1289
 
1273
1290
  // src/pcb/pcb_component.ts
1274
- import { z as z70 } from "zod";
1275
- var pcb_component = z70.object({
1276
- type: z70.literal("pcb_component"),
1291
+ import { z as z71 } from "zod";
1292
+ var pcb_component = z71.object({
1293
+ type: z71.literal("pcb_component"),
1277
1294
  pcb_component_id: getZodPrefixedIdWithDefault("pcb_component"),
1278
- source_component_id: z70.string(),
1295
+ source_component_id: z71.string(),
1279
1296
  center: point,
1280
1297
  layer: layer_ref,
1281
1298
  rotation,
1282
1299
  width: length,
1283
1300
  height: length,
1284
- do_not_place: z70.boolean().optional(),
1285
- subcircuit_id: z70.string().optional(),
1286
- pcb_group_id: z70.string().optional(),
1287
- position_mode: z70.enum(["packed", "relative_to_group_anchor", "none"]).optional(),
1288
- positioned_relative_to_pcb_group_id: z70.string().optional(),
1289
- obstructs_within_bounds: z70.boolean().default(true).describe(
1301
+ do_not_place: z71.boolean().optional(),
1302
+ subcircuit_id: z71.string().optional(),
1303
+ pcb_group_id: z71.string().optional(),
1304
+ position_mode: z71.enum(["packed", "relative_to_group_anchor", "none"]).optional(),
1305
+ positioned_relative_to_pcb_group_id: z71.string().optional(),
1306
+ obstructs_within_bounds: z71.boolean().default(true).describe(
1290
1307
  "Does this component take up all the space within its bounds on a layer. This is generally true except for when separated pin headers are being represented by a single component (in which case, chips can be placed between the pin headers) or for tall modules where chips fit underneath"
1291
1308
  )
1292
1309
  }).describe("Defines a component on the PCB");
1293
1310
  expectTypesMatch(true);
1294
1311
 
1295
1312
  // src/pcb/pcb_hole.ts
1296
- import { z as z71 } from "zod";
1297
- var pcb_hole_circle = z71.object({
1298
- type: z71.literal("pcb_hole"),
1313
+ import { z as z72 } from "zod";
1314
+ var pcb_hole_circle = z72.object({
1315
+ type: z72.literal("pcb_hole"),
1299
1316
  pcb_hole_id: getZodPrefixedIdWithDefault("pcb_hole"),
1300
- pcb_group_id: z71.string().optional(),
1301
- subcircuit_id: z71.string().optional(),
1302
- hole_shape: z71.literal("circle"),
1303
- hole_diameter: z71.number(),
1317
+ pcb_group_id: z72.string().optional(),
1318
+ subcircuit_id: z72.string().optional(),
1319
+ hole_shape: z72.literal("circle"),
1320
+ hole_diameter: z72.number(),
1304
1321
  x: distance,
1305
1322
  y: distance,
1306
- is_covered_with_solder_mask: z71.boolean().optional(),
1307
- soldermask_margin: z71.number().optional()
1323
+ is_covered_with_solder_mask: z72.boolean().optional(),
1324
+ soldermask_margin: z72.number().optional()
1308
1325
  });
1309
1326
  var pcb_hole_circle_shape = pcb_hole_circle.describe(
1310
1327
  "Defines a circular hole on the PCB"
1311
1328
  );
1312
1329
  expectTypesMatch(true);
1313
- var pcb_hole_rect = z71.object({
1314
- type: z71.literal("pcb_hole"),
1330
+ var pcb_hole_rect = z72.object({
1331
+ type: z72.literal("pcb_hole"),
1315
1332
  pcb_hole_id: getZodPrefixedIdWithDefault("pcb_hole"),
1316
- pcb_group_id: z71.string().optional(),
1317
- subcircuit_id: z71.string().optional(),
1318
- hole_shape: z71.literal("rect"),
1319
- hole_width: z71.number(),
1320
- hole_height: z71.number(),
1333
+ pcb_group_id: z72.string().optional(),
1334
+ subcircuit_id: z72.string().optional(),
1335
+ hole_shape: z72.literal("rect"),
1336
+ hole_width: z72.number(),
1337
+ hole_height: z72.number(),
1321
1338
  x: distance,
1322
1339
  y: distance,
1323
- is_covered_with_solder_mask: z71.boolean().optional(),
1324
- soldermask_margin: z71.number().optional()
1340
+ is_covered_with_solder_mask: z72.boolean().optional(),
1341
+ soldermask_margin: z72.number().optional()
1325
1342
  });
1326
1343
  var pcb_hole_rect_shape = pcb_hole_rect.describe(
1327
1344
  "Defines a rectangular (square-capable) hole on the PCB. Use equal width/height for square."
1328
1345
  );
1329
1346
  expectTypesMatch(true);
1330
- var pcb_hole_circle_or_square = z71.object({
1331
- type: z71.literal("pcb_hole"),
1347
+ var pcb_hole_circle_or_square = z72.object({
1348
+ type: z72.literal("pcb_hole"),
1332
1349
  pcb_hole_id: getZodPrefixedIdWithDefault("pcb_hole"),
1333
- pcb_group_id: z71.string().optional(),
1334
- subcircuit_id: z71.string().optional(),
1335
- hole_shape: z71.enum(["circle", "square"]),
1336
- hole_diameter: z71.number(),
1350
+ pcb_group_id: z72.string().optional(),
1351
+ subcircuit_id: z72.string().optional(),
1352
+ hole_shape: z72.enum(["circle", "square"]),
1353
+ hole_diameter: z72.number(),
1337
1354
  x: distance,
1338
1355
  y: distance,
1339
- is_covered_with_solder_mask: z71.boolean().optional(),
1340
- soldermask_margin: z71.number().optional()
1356
+ is_covered_with_solder_mask: z72.boolean().optional(),
1357
+ soldermask_margin: z72.number().optional()
1341
1358
  });
1342
1359
  var pcb_hole_circle_or_square_shape = pcb_hole_circle_or_square.describe(
1343
1360
  "Defines a circular or square hole on the PCB"
1344
1361
  );
1345
1362
  expectTypesMatch(true);
1346
- var pcb_hole_oval = z71.object({
1347
- type: z71.literal("pcb_hole"),
1363
+ var pcb_hole_oval = z72.object({
1364
+ type: z72.literal("pcb_hole"),
1348
1365
  pcb_hole_id: getZodPrefixedIdWithDefault("pcb_hole"),
1349
- pcb_group_id: z71.string().optional(),
1350
- subcircuit_id: z71.string().optional(),
1351
- hole_shape: z71.literal("oval"),
1352
- hole_width: z71.number(),
1353
- hole_height: z71.number(),
1366
+ pcb_group_id: z72.string().optional(),
1367
+ subcircuit_id: z72.string().optional(),
1368
+ hole_shape: z72.literal("oval"),
1369
+ hole_width: z72.number(),
1370
+ hole_height: z72.number(),
1354
1371
  x: distance,
1355
1372
  y: distance,
1356
- is_covered_with_solder_mask: z71.boolean().optional(),
1357
- soldermask_margin: z71.number().optional()
1373
+ is_covered_with_solder_mask: z72.boolean().optional(),
1374
+ soldermask_margin: z72.number().optional()
1358
1375
  });
1359
1376
  var pcb_hole_oval_shape = pcb_hole_oval.describe(
1360
1377
  "Defines an oval hole on the PCB"
1361
1378
  );
1362
1379
  expectTypesMatch(true);
1363
- var pcb_hole_pill = z71.object({
1364
- type: z71.literal("pcb_hole"),
1380
+ var pcb_hole_pill = z72.object({
1381
+ type: z72.literal("pcb_hole"),
1365
1382
  pcb_hole_id: getZodPrefixedIdWithDefault("pcb_hole"),
1366
- pcb_group_id: z71.string().optional(),
1367
- subcircuit_id: z71.string().optional(),
1368
- hole_shape: z71.literal("pill"),
1369
- hole_width: z71.number(),
1370
- hole_height: z71.number(),
1383
+ pcb_group_id: z72.string().optional(),
1384
+ subcircuit_id: z72.string().optional(),
1385
+ hole_shape: z72.literal("pill"),
1386
+ hole_width: z72.number(),
1387
+ hole_height: z72.number(),
1371
1388
  x: distance,
1372
1389
  y: distance,
1373
- is_covered_with_solder_mask: z71.boolean().optional(),
1374
- soldermask_margin: z71.number().optional()
1390
+ is_covered_with_solder_mask: z72.boolean().optional(),
1391
+ soldermask_margin: z72.number().optional()
1375
1392
  });
1376
1393
  var pcb_hole_pill_shape = pcb_hole_pill.describe(
1377
1394
  "Defines a pill-shaped hole on the PCB"
1378
1395
  );
1379
1396
  expectTypesMatch(true);
1380
- var pcb_hole_rotated_pill = z71.object({
1381
- type: z71.literal("pcb_hole"),
1397
+ var pcb_hole_rotated_pill = z72.object({
1398
+ type: z72.literal("pcb_hole"),
1382
1399
  pcb_hole_id: getZodPrefixedIdWithDefault("pcb_hole"),
1383
- pcb_group_id: z71.string().optional(),
1384
- subcircuit_id: z71.string().optional(),
1385
- hole_shape: z71.literal("rotated_pill"),
1386
- hole_width: z71.number(),
1387
- hole_height: z71.number(),
1400
+ pcb_group_id: z72.string().optional(),
1401
+ subcircuit_id: z72.string().optional(),
1402
+ hole_shape: z72.literal("rotated_pill"),
1403
+ hole_width: z72.number(),
1404
+ hole_height: z72.number(),
1388
1405
  x: distance,
1389
1406
  y: distance,
1390
1407
  ccw_rotation: rotation,
1391
- is_covered_with_solder_mask: z71.boolean().optional(),
1392
- soldermask_margin: z71.number().optional()
1408
+ is_covered_with_solder_mask: z72.boolean().optional(),
1409
+ soldermask_margin: z72.number().optional()
1393
1410
  });
1394
1411
  var pcb_hole_rotated_pill_shape = pcb_hole_rotated_pill.describe(
1395
1412
  "Defines a rotated pill-shaped hole on the PCB"
@@ -1398,144 +1415,145 @@ expectTypesMatch(true);
1398
1415
  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);
1399
1416
 
1400
1417
  // src/pcb/pcb_plated_hole.ts
1401
- import { z as z72 } from "zod";
1402
- var pcb_plated_hole_circle = z72.object({
1403
- type: z72.literal("pcb_plated_hole"),
1404
- shape: z72.literal("circle"),
1405
- pcb_group_id: z72.string().optional(),
1406
- subcircuit_id: z72.string().optional(),
1407
- outer_diameter: z72.number(),
1408
- hole_diameter: z72.number(),
1418
+ import { z as z73 } from "zod";
1419
+ var pcb_plated_hole_circle = z73.object({
1420
+ type: z73.literal("pcb_plated_hole"),
1421
+ shape: z73.literal("circle"),
1422
+ pcb_group_id: z73.string().optional(),
1423
+ subcircuit_id: z73.string().optional(),
1424
+ outer_diameter: z73.number(),
1425
+ hole_diameter: z73.number(),
1409
1426
  x: distance,
1410
1427
  y: distance,
1411
- layers: z72.array(layer_ref),
1412
- port_hints: z72.array(z72.string()).optional(),
1413
- pcb_component_id: z72.string().optional(),
1414
- pcb_port_id: z72.string().optional(),
1428
+ layers: z73.array(layer_ref),
1429
+ port_hints: z73.array(z73.string()).optional(),
1430
+ pcb_component_id: z73.string().optional(),
1431
+ pcb_port_id: z73.string().optional(),
1415
1432
  pcb_plated_hole_id: getZodPrefixedIdWithDefault("pcb_plated_hole"),
1416
- soldermask_margin: z72.number().optional()
1433
+ soldermask_margin: z73.number().optional(),
1434
+ is_covered_with_solder_mask: z73.boolean().optional()
1417
1435
  });
1418
- var pcb_plated_hole_oval = z72.object({
1419
- type: z72.literal("pcb_plated_hole"),
1420
- shape: z72.enum(["oval", "pill"]),
1421
- pcb_group_id: z72.string().optional(),
1422
- subcircuit_id: z72.string().optional(),
1423
- outer_width: z72.number(),
1424
- outer_height: z72.number(),
1425
- hole_width: z72.number(),
1426
- hole_height: z72.number(),
1427
- is_covered_with_solder_mask: z72.boolean().optional(),
1436
+ var pcb_plated_hole_oval = z73.object({
1437
+ type: z73.literal("pcb_plated_hole"),
1438
+ shape: z73.enum(["oval", "pill"]),
1439
+ pcb_group_id: z73.string().optional(),
1440
+ subcircuit_id: z73.string().optional(),
1441
+ outer_width: z73.number(),
1442
+ outer_height: z73.number(),
1443
+ hole_width: z73.number(),
1444
+ hole_height: z73.number(),
1445
+ is_covered_with_solder_mask: z73.boolean().optional(),
1428
1446
  x: distance,
1429
1447
  y: distance,
1430
1448
  ccw_rotation: rotation,
1431
- layers: z72.array(layer_ref),
1432
- port_hints: z72.array(z72.string()).optional(),
1433
- pcb_component_id: z72.string().optional(),
1434
- pcb_port_id: z72.string().optional(),
1449
+ layers: z73.array(layer_ref),
1450
+ port_hints: z73.array(z73.string()).optional(),
1451
+ pcb_component_id: z73.string().optional(),
1452
+ pcb_port_id: z73.string().optional(),
1435
1453
  pcb_plated_hole_id: getZodPrefixedIdWithDefault("pcb_plated_hole"),
1436
- soldermask_margin: z72.number().optional()
1454
+ soldermask_margin: z73.number().optional()
1437
1455
  });
1438
- var pcb_circular_hole_with_rect_pad = z72.object({
1439
- type: z72.literal("pcb_plated_hole"),
1440
- shape: z72.literal("circular_hole_with_rect_pad"),
1441
- pcb_group_id: z72.string().optional(),
1442
- subcircuit_id: z72.string().optional(),
1443
- hole_shape: z72.literal("circle"),
1444
- pad_shape: z72.literal("rect"),
1445
- hole_diameter: z72.number(),
1446
- rect_pad_width: z72.number(),
1447
- rect_pad_height: z72.number(),
1448
- rect_border_radius: z72.number().optional(),
1456
+ var pcb_circular_hole_with_rect_pad = z73.object({
1457
+ type: z73.literal("pcb_plated_hole"),
1458
+ shape: z73.literal("circular_hole_with_rect_pad"),
1459
+ pcb_group_id: z73.string().optional(),
1460
+ subcircuit_id: z73.string().optional(),
1461
+ hole_shape: z73.literal("circle"),
1462
+ pad_shape: z73.literal("rect"),
1463
+ hole_diameter: z73.number(),
1464
+ rect_pad_width: z73.number(),
1465
+ rect_pad_height: z73.number(),
1466
+ rect_border_radius: z73.number().optional(),
1449
1467
  hole_offset_x: distance.default(0),
1450
1468
  hole_offset_y: distance.default(0),
1451
- is_covered_with_solder_mask: z72.boolean().optional(),
1469
+ is_covered_with_solder_mask: z73.boolean().optional(),
1452
1470
  x: distance,
1453
1471
  y: distance,
1454
- layers: z72.array(layer_ref),
1455
- port_hints: z72.array(z72.string()).optional(),
1456
- pcb_component_id: z72.string().optional(),
1457
- pcb_port_id: z72.string().optional(),
1472
+ layers: z73.array(layer_ref),
1473
+ port_hints: z73.array(z73.string()).optional(),
1474
+ pcb_component_id: z73.string().optional(),
1475
+ pcb_port_id: z73.string().optional(),
1458
1476
  pcb_plated_hole_id: getZodPrefixedIdWithDefault("pcb_plated_hole"),
1459
- soldermask_margin: z72.number().optional()
1477
+ soldermask_margin: z73.number().optional()
1460
1478
  });
1461
- var pcb_pill_hole_with_rect_pad = z72.object({
1462
- type: z72.literal("pcb_plated_hole"),
1463
- shape: z72.literal("pill_hole_with_rect_pad"),
1464
- pcb_group_id: z72.string().optional(),
1465
- subcircuit_id: z72.string().optional(),
1466
- hole_shape: z72.literal("pill"),
1467
- pad_shape: z72.literal("rect"),
1468
- hole_width: z72.number(),
1469
- hole_height: z72.number(),
1470
- rect_pad_width: z72.number(),
1471
- rect_pad_height: z72.number(),
1472
- rect_border_radius: z72.number().optional(),
1479
+ var pcb_pill_hole_with_rect_pad = z73.object({
1480
+ type: z73.literal("pcb_plated_hole"),
1481
+ shape: z73.literal("pill_hole_with_rect_pad"),
1482
+ pcb_group_id: z73.string().optional(),
1483
+ subcircuit_id: z73.string().optional(),
1484
+ hole_shape: z73.literal("pill"),
1485
+ pad_shape: z73.literal("rect"),
1486
+ hole_width: z73.number(),
1487
+ hole_height: z73.number(),
1488
+ rect_pad_width: z73.number(),
1489
+ rect_pad_height: z73.number(),
1490
+ rect_border_radius: z73.number().optional(),
1473
1491
  hole_offset_x: distance.default(0),
1474
1492
  hole_offset_y: distance.default(0),
1475
- is_covered_with_solder_mask: z72.boolean().optional(),
1493
+ is_covered_with_solder_mask: z73.boolean().optional(),
1476
1494
  x: distance,
1477
1495
  y: distance,
1478
- layers: z72.array(layer_ref),
1479
- port_hints: z72.array(z72.string()).optional(),
1480
- pcb_component_id: z72.string().optional(),
1481
- pcb_port_id: z72.string().optional(),
1496
+ layers: z73.array(layer_ref),
1497
+ port_hints: z73.array(z73.string()).optional(),
1498
+ pcb_component_id: z73.string().optional(),
1499
+ pcb_port_id: z73.string().optional(),
1482
1500
  pcb_plated_hole_id: getZodPrefixedIdWithDefault("pcb_plated_hole"),
1483
- soldermask_margin: z72.number().optional()
1501
+ soldermask_margin: z73.number().optional()
1484
1502
  });
1485
- var pcb_rotated_pill_hole_with_rect_pad = z72.object({
1486
- type: z72.literal("pcb_plated_hole"),
1487
- shape: z72.literal("rotated_pill_hole_with_rect_pad"),
1488
- pcb_group_id: z72.string().optional(),
1489
- subcircuit_id: z72.string().optional(),
1490
- hole_shape: z72.literal("rotated_pill"),
1491
- pad_shape: z72.literal("rect"),
1492
- hole_width: z72.number(),
1493
- hole_height: z72.number(),
1503
+ var pcb_rotated_pill_hole_with_rect_pad = z73.object({
1504
+ type: z73.literal("pcb_plated_hole"),
1505
+ shape: z73.literal("rotated_pill_hole_with_rect_pad"),
1506
+ pcb_group_id: z73.string().optional(),
1507
+ subcircuit_id: z73.string().optional(),
1508
+ hole_shape: z73.literal("rotated_pill"),
1509
+ pad_shape: z73.literal("rect"),
1510
+ hole_width: z73.number(),
1511
+ hole_height: z73.number(),
1494
1512
  hole_ccw_rotation: rotation,
1495
- rect_pad_width: z72.number(),
1496
- rect_pad_height: z72.number(),
1497
- rect_border_radius: z72.number().optional(),
1513
+ rect_pad_width: z73.number(),
1514
+ rect_pad_height: z73.number(),
1515
+ rect_border_radius: z73.number().optional(),
1498
1516
  rect_ccw_rotation: rotation,
1499
1517
  hole_offset_x: distance.default(0),
1500
1518
  hole_offset_y: distance.default(0),
1501
- is_covered_with_solder_mask: z72.boolean().optional(),
1519
+ is_covered_with_solder_mask: z73.boolean().optional(),
1502
1520
  x: distance,
1503
1521
  y: distance,
1504
- layers: z72.array(layer_ref),
1505
- port_hints: z72.array(z72.string()).optional(),
1506
- pcb_component_id: z72.string().optional(),
1507
- pcb_port_id: z72.string().optional(),
1522
+ layers: z73.array(layer_ref),
1523
+ port_hints: z73.array(z73.string()).optional(),
1524
+ pcb_component_id: z73.string().optional(),
1525
+ pcb_port_id: z73.string().optional(),
1508
1526
  pcb_plated_hole_id: getZodPrefixedIdWithDefault("pcb_plated_hole"),
1509
- soldermask_margin: z72.number().optional()
1527
+ soldermask_margin: z73.number().optional()
1510
1528
  });
1511
- var pcb_hole_with_polygon_pad = z72.object({
1512
- type: z72.literal("pcb_plated_hole"),
1513
- shape: z72.literal("hole_with_polygon_pad"),
1514
- pcb_group_id: z72.string().optional(),
1515
- subcircuit_id: z72.string().optional(),
1516
- hole_shape: z72.enum(["circle", "oval", "pill", "rotated_pill"]),
1517
- hole_diameter: z72.number().optional(),
1518
- hole_width: z72.number().optional(),
1519
- hole_height: z72.number().optional(),
1520
- pad_outline: z72.array(
1521
- z72.object({
1529
+ var pcb_hole_with_polygon_pad = z73.object({
1530
+ type: z73.literal("pcb_plated_hole"),
1531
+ shape: z73.literal("hole_with_polygon_pad"),
1532
+ pcb_group_id: z73.string().optional(),
1533
+ subcircuit_id: z73.string().optional(),
1534
+ hole_shape: z73.enum(["circle", "oval", "pill", "rotated_pill"]),
1535
+ hole_diameter: z73.number().optional(),
1536
+ hole_width: z73.number().optional(),
1537
+ hole_height: z73.number().optional(),
1538
+ pad_outline: z73.array(
1539
+ z73.object({
1522
1540
  x: distance,
1523
1541
  y: distance
1524
1542
  })
1525
1543
  ).min(3),
1526
1544
  hole_offset_x: distance.default(0),
1527
1545
  hole_offset_y: distance.default(0),
1528
- is_covered_with_solder_mask: z72.boolean().optional(),
1546
+ is_covered_with_solder_mask: z73.boolean().optional(),
1529
1547
  x: distance,
1530
1548
  y: distance,
1531
- layers: z72.array(layer_ref),
1532
- port_hints: z72.array(z72.string()).optional(),
1533
- pcb_component_id: z72.string().optional(),
1534
- pcb_port_id: z72.string().optional(),
1549
+ layers: z73.array(layer_ref),
1550
+ port_hints: z73.array(z73.string()).optional(),
1551
+ pcb_component_id: z73.string().optional(),
1552
+ pcb_port_id: z73.string().optional(),
1535
1553
  pcb_plated_hole_id: getZodPrefixedIdWithDefault("pcb_plated_hole"),
1536
- soldermask_margin: z72.number().optional()
1554
+ soldermask_margin: z73.number().optional()
1537
1555
  });
1538
- var pcb_plated_hole = z72.union([
1556
+ var pcb_plated_hole = z73.union([
1539
1557
  pcb_plated_hole_circle,
1540
1558
  pcb_plated_hole_oval,
1541
1559
  pcb_circular_hole_with_rect_pad,
@@ -1553,130 +1571,130 @@ expectTypesMatch(true);
1553
1571
  expectTypesMatch(true);
1554
1572
 
1555
1573
  // src/pcb/pcb_port.ts
1556
- import { z as z73 } from "zod";
1557
- var pcb_port = z73.object({
1558
- type: z73.literal("pcb_port"),
1574
+ import { z as z74 } from "zod";
1575
+ var pcb_port = z74.object({
1576
+ type: z74.literal("pcb_port"),
1559
1577
  pcb_port_id: getZodPrefixedIdWithDefault("pcb_port"),
1560
- pcb_group_id: z73.string().optional(),
1561
- subcircuit_id: z73.string().optional(),
1562
- source_port_id: z73.string(),
1563
- pcb_component_id: z73.string().optional(),
1578
+ pcb_group_id: z74.string().optional(),
1579
+ subcircuit_id: z74.string().optional(),
1580
+ source_port_id: z74.string(),
1581
+ pcb_component_id: z74.string().optional(),
1564
1582
  x: distance,
1565
1583
  y: distance,
1566
- layers: z73.array(layer_ref),
1567
- is_board_pinout: z73.boolean().optional()
1584
+ layers: z74.array(layer_ref),
1585
+ is_board_pinout: z74.boolean().optional()
1568
1586
  }).describe("Defines a port on the PCB");
1569
1587
  expectTypesMatch(true);
1570
1588
 
1571
1589
  // src/pcb/pcb_smtpad.ts
1572
- import { z as z74 } from "zod";
1573
- var pcb_smtpad_circle = z74.object({
1574
- type: z74.literal("pcb_smtpad"),
1575
- shape: z74.literal("circle"),
1590
+ import { z as z75 } from "zod";
1591
+ var pcb_smtpad_circle = z75.object({
1592
+ type: z75.literal("pcb_smtpad"),
1593
+ shape: z75.literal("circle"),
1576
1594
  pcb_smtpad_id: getZodPrefixedIdWithDefault("pcb_smtpad"),
1577
- pcb_group_id: z74.string().optional(),
1578
- subcircuit_id: z74.string().optional(),
1595
+ pcb_group_id: z75.string().optional(),
1596
+ subcircuit_id: z75.string().optional(),
1579
1597
  x: distance,
1580
1598
  y: distance,
1581
- radius: z74.number(),
1599
+ radius: z75.number(),
1582
1600
  layer: layer_ref,
1583
- port_hints: z74.array(z74.string()).optional(),
1584
- pcb_component_id: z74.string().optional(),
1585
- pcb_port_id: z74.string().optional(),
1586
- is_covered_with_solder_mask: z74.boolean().optional(),
1587
- soldermask_margin: z74.number().optional()
1601
+ port_hints: z75.array(z75.string()).optional(),
1602
+ pcb_component_id: z75.string().optional(),
1603
+ pcb_port_id: z75.string().optional(),
1604
+ is_covered_with_solder_mask: z75.boolean().optional(),
1605
+ soldermask_margin: z75.number().optional()
1588
1606
  });
1589
- var pcb_smtpad_rect = z74.object({
1590
- type: z74.literal("pcb_smtpad"),
1591
- shape: z74.literal("rect"),
1607
+ var pcb_smtpad_rect = z75.object({
1608
+ type: z75.literal("pcb_smtpad"),
1609
+ shape: z75.literal("rect"),
1592
1610
  pcb_smtpad_id: getZodPrefixedIdWithDefault("pcb_smtpad"),
1593
- pcb_group_id: z74.string().optional(),
1594
- subcircuit_id: z74.string().optional(),
1611
+ pcb_group_id: z75.string().optional(),
1612
+ subcircuit_id: z75.string().optional(),
1595
1613
  x: distance,
1596
1614
  y: distance,
1597
- width: z74.number(),
1598
- height: z74.number(),
1599
- rect_border_radius: z74.number().optional(),
1600
- corner_radius: z74.number().optional(),
1615
+ width: z75.number(),
1616
+ height: z75.number(),
1617
+ rect_border_radius: z75.number().optional(),
1618
+ corner_radius: z75.number().optional(),
1601
1619
  layer: layer_ref,
1602
- port_hints: z74.array(z74.string()).optional(),
1603
- pcb_component_id: z74.string().optional(),
1604
- pcb_port_id: z74.string().optional(),
1605
- is_covered_with_solder_mask: z74.boolean().optional(),
1606
- soldermask_margin: z74.number().optional()
1620
+ port_hints: z75.array(z75.string()).optional(),
1621
+ pcb_component_id: z75.string().optional(),
1622
+ pcb_port_id: z75.string().optional(),
1623
+ is_covered_with_solder_mask: z75.boolean().optional(),
1624
+ soldermask_margin: z75.number().optional()
1607
1625
  });
1608
- var pcb_smtpad_rotated_rect = z74.object({
1609
- type: z74.literal("pcb_smtpad"),
1610
- shape: z74.literal("rotated_rect"),
1626
+ var pcb_smtpad_rotated_rect = z75.object({
1627
+ type: z75.literal("pcb_smtpad"),
1628
+ shape: z75.literal("rotated_rect"),
1611
1629
  pcb_smtpad_id: getZodPrefixedIdWithDefault("pcb_smtpad"),
1612
- pcb_group_id: z74.string().optional(),
1613
- subcircuit_id: z74.string().optional(),
1630
+ pcb_group_id: z75.string().optional(),
1631
+ subcircuit_id: z75.string().optional(),
1614
1632
  x: distance,
1615
1633
  y: distance,
1616
- width: z74.number(),
1617
- height: z74.number(),
1618
- rect_border_radius: z74.number().optional(),
1619
- corner_radius: z74.number().optional(),
1634
+ width: z75.number(),
1635
+ height: z75.number(),
1636
+ rect_border_radius: z75.number().optional(),
1637
+ corner_radius: z75.number().optional(),
1620
1638
  ccw_rotation: rotation,
1621
1639
  layer: layer_ref,
1622
- port_hints: z74.array(z74.string()).optional(),
1623
- pcb_component_id: z74.string().optional(),
1624
- pcb_port_id: z74.string().optional(),
1625
- is_covered_with_solder_mask: z74.boolean().optional(),
1626
- soldermask_margin: z74.number().optional()
1640
+ port_hints: z75.array(z75.string()).optional(),
1641
+ pcb_component_id: z75.string().optional(),
1642
+ pcb_port_id: z75.string().optional(),
1643
+ is_covered_with_solder_mask: z75.boolean().optional(),
1644
+ soldermask_margin: z75.number().optional()
1627
1645
  });
1628
- var pcb_smtpad_pill = z74.object({
1629
- type: z74.literal("pcb_smtpad"),
1630
- shape: z74.literal("pill"),
1646
+ var pcb_smtpad_pill = z75.object({
1647
+ type: z75.literal("pcb_smtpad"),
1648
+ shape: z75.literal("pill"),
1631
1649
  pcb_smtpad_id: getZodPrefixedIdWithDefault("pcb_smtpad"),
1632
- pcb_group_id: z74.string().optional(),
1633
- subcircuit_id: z74.string().optional(),
1650
+ pcb_group_id: z75.string().optional(),
1651
+ subcircuit_id: z75.string().optional(),
1634
1652
  x: distance,
1635
1653
  y: distance,
1636
- width: z74.number(),
1637
- height: z74.number(),
1638
- radius: z74.number(),
1654
+ width: z75.number(),
1655
+ height: z75.number(),
1656
+ radius: z75.number(),
1639
1657
  layer: layer_ref,
1640
- port_hints: z74.array(z74.string()).optional(),
1641
- pcb_component_id: z74.string().optional(),
1642
- pcb_port_id: z74.string().optional(),
1643
- is_covered_with_solder_mask: z74.boolean().optional(),
1644
- soldermask_margin: z74.number().optional()
1658
+ port_hints: z75.array(z75.string()).optional(),
1659
+ pcb_component_id: z75.string().optional(),
1660
+ pcb_port_id: z75.string().optional(),
1661
+ is_covered_with_solder_mask: z75.boolean().optional(),
1662
+ soldermask_margin: z75.number().optional()
1645
1663
  });
1646
- var pcb_smtpad_rotated_pill = z74.object({
1647
- type: z74.literal("pcb_smtpad"),
1648
- shape: z74.literal("rotated_pill"),
1664
+ var pcb_smtpad_rotated_pill = z75.object({
1665
+ type: z75.literal("pcb_smtpad"),
1666
+ shape: z75.literal("rotated_pill"),
1649
1667
  pcb_smtpad_id: getZodPrefixedIdWithDefault("pcb_smtpad"),
1650
- pcb_group_id: z74.string().optional(),
1651
- subcircuit_id: z74.string().optional(),
1668
+ pcb_group_id: z75.string().optional(),
1669
+ subcircuit_id: z75.string().optional(),
1652
1670
  x: distance,
1653
1671
  y: distance,
1654
- width: z74.number(),
1655
- height: z74.number(),
1656
- radius: z74.number(),
1672
+ width: z75.number(),
1673
+ height: z75.number(),
1674
+ radius: z75.number(),
1657
1675
  ccw_rotation: rotation,
1658
1676
  layer: layer_ref,
1659
- port_hints: z74.array(z74.string()).optional(),
1660
- pcb_component_id: z74.string().optional(),
1661
- pcb_port_id: z74.string().optional(),
1662
- is_covered_with_solder_mask: z74.boolean().optional(),
1663
- soldermask_margin: z74.number().optional()
1677
+ port_hints: z75.array(z75.string()).optional(),
1678
+ pcb_component_id: z75.string().optional(),
1679
+ pcb_port_id: z75.string().optional(),
1680
+ is_covered_with_solder_mask: z75.boolean().optional(),
1681
+ soldermask_margin: z75.number().optional()
1664
1682
  });
1665
- var pcb_smtpad_polygon = z74.object({
1666
- type: z74.literal("pcb_smtpad"),
1667
- shape: z74.literal("polygon"),
1683
+ var pcb_smtpad_polygon = z75.object({
1684
+ type: z75.literal("pcb_smtpad"),
1685
+ shape: z75.literal("polygon"),
1668
1686
  pcb_smtpad_id: getZodPrefixedIdWithDefault("pcb_smtpad"),
1669
- pcb_group_id: z74.string().optional(),
1670
- subcircuit_id: z74.string().optional(),
1671
- points: z74.array(point),
1687
+ pcb_group_id: z75.string().optional(),
1688
+ subcircuit_id: z75.string().optional(),
1689
+ points: z75.array(point),
1672
1690
  layer: layer_ref,
1673
- port_hints: z74.array(z74.string()).optional(),
1674
- pcb_component_id: z74.string().optional(),
1675
- pcb_port_id: z74.string().optional(),
1676
- is_covered_with_solder_mask: z74.boolean().optional(),
1677
- soldermask_margin: z74.number().optional()
1691
+ port_hints: z75.array(z75.string()).optional(),
1692
+ pcb_component_id: z75.string().optional(),
1693
+ pcb_port_id: z75.string().optional(),
1694
+ is_covered_with_solder_mask: z75.boolean().optional(),
1695
+ soldermask_margin: z75.number().optional()
1678
1696
  });
1679
- var pcb_smtpad = z74.discriminatedUnion("shape", [
1697
+ var pcb_smtpad = z75.discriminatedUnion("shape", [
1680
1698
  pcb_smtpad_circle,
1681
1699
  pcb_smtpad_rect,
1682
1700
  pcb_smtpad_rotated_rect,
@@ -1692,79 +1710,79 @@ expectTypesMatch(true);
1692
1710
  expectTypesMatch(true);
1693
1711
 
1694
1712
  // src/pcb/pcb_solder_paste.ts
1695
- import { z as z75 } from "zod";
1696
- var pcb_solder_paste_circle = z75.object({
1697
- type: z75.literal("pcb_solder_paste"),
1698
- shape: z75.literal("circle"),
1713
+ import { z as z76 } from "zod";
1714
+ var pcb_solder_paste_circle = z76.object({
1715
+ type: z76.literal("pcb_solder_paste"),
1716
+ shape: z76.literal("circle"),
1699
1717
  pcb_solder_paste_id: getZodPrefixedIdWithDefault("pcb_solder_paste"),
1700
- pcb_group_id: z75.string().optional(),
1701
- subcircuit_id: z75.string().optional(),
1718
+ pcb_group_id: z76.string().optional(),
1719
+ subcircuit_id: z76.string().optional(),
1702
1720
  x: distance,
1703
1721
  y: distance,
1704
- radius: z75.number(),
1722
+ radius: z76.number(),
1705
1723
  layer: layer_ref,
1706
- pcb_component_id: z75.string().optional(),
1707
- pcb_smtpad_id: z75.string().optional()
1724
+ pcb_component_id: z76.string().optional(),
1725
+ pcb_smtpad_id: z76.string().optional()
1708
1726
  });
1709
- var pcb_solder_paste_rect = z75.object({
1710
- type: z75.literal("pcb_solder_paste"),
1711
- shape: z75.literal("rect"),
1727
+ var pcb_solder_paste_rect = z76.object({
1728
+ type: z76.literal("pcb_solder_paste"),
1729
+ shape: z76.literal("rect"),
1712
1730
  pcb_solder_paste_id: getZodPrefixedIdWithDefault("pcb_solder_paste"),
1713
- pcb_group_id: z75.string().optional(),
1714
- subcircuit_id: z75.string().optional(),
1731
+ pcb_group_id: z76.string().optional(),
1732
+ subcircuit_id: z76.string().optional(),
1715
1733
  x: distance,
1716
1734
  y: distance,
1717
- width: z75.number(),
1718
- height: z75.number(),
1735
+ width: z76.number(),
1736
+ height: z76.number(),
1719
1737
  layer: layer_ref,
1720
- pcb_component_id: z75.string().optional(),
1721
- pcb_smtpad_id: z75.string().optional()
1738
+ pcb_component_id: z76.string().optional(),
1739
+ pcb_smtpad_id: z76.string().optional()
1722
1740
  });
1723
- var pcb_solder_paste_pill = z75.object({
1724
- type: z75.literal("pcb_solder_paste"),
1725
- shape: z75.literal("pill"),
1741
+ var pcb_solder_paste_pill = z76.object({
1742
+ type: z76.literal("pcb_solder_paste"),
1743
+ shape: z76.literal("pill"),
1726
1744
  pcb_solder_paste_id: getZodPrefixedIdWithDefault("pcb_solder_paste"),
1727
- pcb_group_id: z75.string().optional(),
1728
- subcircuit_id: z75.string().optional(),
1745
+ pcb_group_id: z76.string().optional(),
1746
+ subcircuit_id: z76.string().optional(),
1729
1747
  x: distance,
1730
1748
  y: distance,
1731
- width: z75.number(),
1732
- height: z75.number(),
1733
- radius: z75.number(),
1749
+ width: z76.number(),
1750
+ height: z76.number(),
1751
+ radius: z76.number(),
1734
1752
  layer: layer_ref,
1735
- pcb_component_id: z75.string().optional(),
1736
- pcb_smtpad_id: z75.string().optional()
1753
+ pcb_component_id: z76.string().optional(),
1754
+ pcb_smtpad_id: z76.string().optional()
1737
1755
  });
1738
- var pcb_solder_paste_rotated_rect = z75.object({
1739
- type: z75.literal("pcb_solder_paste"),
1740
- shape: z75.literal("rotated_rect"),
1756
+ var pcb_solder_paste_rotated_rect = z76.object({
1757
+ type: z76.literal("pcb_solder_paste"),
1758
+ shape: z76.literal("rotated_rect"),
1741
1759
  pcb_solder_paste_id: getZodPrefixedIdWithDefault("pcb_solder_paste"),
1742
- pcb_group_id: z75.string().optional(),
1743
- subcircuit_id: z75.string().optional(),
1760
+ pcb_group_id: z76.string().optional(),
1761
+ subcircuit_id: z76.string().optional(),
1744
1762
  x: distance,
1745
1763
  y: distance,
1746
- width: z75.number(),
1747
- height: z75.number(),
1764
+ width: z76.number(),
1765
+ height: z76.number(),
1748
1766
  ccw_rotation: distance,
1749
1767
  layer: layer_ref,
1750
- pcb_component_id: z75.string().optional(),
1751
- pcb_smtpad_id: z75.string().optional()
1768
+ pcb_component_id: z76.string().optional(),
1769
+ pcb_smtpad_id: z76.string().optional()
1752
1770
  });
1753
- var pcb_solder_paste_oval = z75.object({
1754
- type: z75.literal("pcb_solder_paste"),
1755
- shape: z75.literal("oval"),
1771
+ var pcb_solder_paste_oval = z76.object({
1772
+ type: z76.literal("pcb_solder_paste"),
1773
+ shape: z76.literal("oval"),
1756
1774
  pcb_solder_paste_id: getZodPrefixedIdWithDefault("pcb_solder_paste"),
1757
- pcb_group_id: z75.string().optional(),
1758
- subcircuit_id: z75.string().optional(),
1775
+ pcb_group_id: z76.string().optional(),
1776
+ subcircuit_id: z76.string().optional(),
1759
1777
  x: distance,
1760
1778
  y: distance,
1761
- width: z75.number(),
1762
- height: z75.number(),
1779
+ width: z76.number(),
1780
+ height: z76.number(),
1763
1781
  layer: layer_ref,
1764
- pcb_component_id: z75.string().optional(),
1765
- pcb_smtpad_id: z75.string().optional()
1782
+ pcb_component_id: z76.string().optional(),
1783
+ pcb_smtpad_id: z76.string().optional()
1766
1784
  });
1767
- var pcb_solder_paste = z75.union([
1785
+ var pcb_solder_paste = z76.union([
1768
1786
  pcb_solder_paste_circle,
1769
1787
  pcb_solder_paste_rect,
1770
1788
  pcb_solder_paste_pill,
@@ -1780,146 +1798,146 @@ expectTypesMatch(
1780
1798
  expectTypesMatch(true);
1781
1799
 
1782
1800
  // src/pcb/pcb_text.ts
1783
- import { z as z76 } from "zod";
1784
- var pcb_text = z76.object({
1785
- type: z76.literal("pcb_text"),
1801
+ import { z as z77 } from "zod";
1802
+ var pcb_text = z77.object({
1803
+ type: z77.literal("pcb_text"),
1786
1804
  pcb_text_id: getZodPrefixedIdWithDefault("pcb_text"),
1787
- pcb_group_id: z76.string().optional(),
1788
- subcircuit_id: z76.string().optional(),
1789
- text: z76.string(),
1805
+ pcb_group_id: z77.string().optional(),
1806
+ subcircuit_id: z77.string().optional(),
1807
+ text: z77.string(),
1790
1808
  center: point,
1791
1809
  layer: layer_ref,
1792
1810
  width: length,
1793
1811
  height: length,
1794
- lines: z76.number(),
1812
+ lines: z77.number(),
1795
1813
  // @ts-ignore
1796
- align: z76.enum(["bottom-left"])
1814
+ align: z77.enum(["bottom-left"])
1797
1815
  }).describe("Defines text on the PCB");
1798
1816
  expectTypesMatch(true);
1799
1817
 
1800
1818
  // src/pcb/pcb_trace.ts
1801
- import { z as z77 } from "zod";
1802
- var pcb_trace_route_point_wire = z77.object({
1803
- route_type: z77.literal("wire"),
1819
+ import { z as z78 } from "zod";
1820
+ var pcb_trace_route_point_wire = z78.object({
1821
+ route_type: z78.literal("wire"),
1804
1822
  x: distance,
1805
1823
  y: distance,
1806
1824
  width: distance,
1807
- start_pcb_port_id: z77.string().optional(),
1808
- end_pcb_port_id: z77.string().optional(),
1825
+ start_pcb_port_id: z78.string().optional(),
1826
+ end_pcb_port_id: z78.string().optional(),
1809
1827
  layer: layer_ref
1810
1828
  });
1811
- var pcb_trace_route_point_via = z77.object({
1812
- route_type: z77.literal("via"),
1829
+ var pcb_trace_route_point_via = z78.object({
1830
+ route_type: z78.literal("via"),
1813
1831
  x: distance,
1814
1832
  y: distance,
1815
1833
  hole_diameter: distance.optional(),
1816
1834
  outer_diameter: distance.optional(),
1817
- from_layer: z77.string(),
1818
- to_layer: z77.string()
1835
+ from_layer: z78.string(),
1836
+ to_layer: z78.string()
1819
1837
  });
1820
- var pcb_trace_route_point = z77.union([
1838
+ var pcb_trace_route_point = z78.union([
1821
1839
  pcb_trace_route_point_wire,
1822
1840
  pcb_trace_route_point_via
1823
1841
  ]);
1824
- var pcb_trace = z77.object({
1825
- type: z77.literal("pcb_trace"),
1826
- source_trace_id: z77.string().optional(),
1827
- pcb_component_id: z77.string().optional(),
1842
+ var pcb_trace = z78.object({
1843
+ type: z78.literal("pcb_trace"),
1844
+ source_trace_id: z78.string().optional(),
1845
+ pcb_component_id: z78.string().optional(),
1828
1846
  pcb_trace_id: getZodPrefixedIdWithDefault("pcb_trace"),
1829
- pcb_group_id: z77.string().optional(),
1830
- subcircuit_id: z77.string().optional(),
1831
- route_thickness_mode: z77.enum(["constant", "interpolated"]).default("constant").optional(),
1832
- route_order_index: z77.number().optional(),
1833
- should_round_corners: z77.boolean().optional(),
1834
- trace_length: z77.number().optional(),
1835
- highlight_color: z77.string().optional(),
1836
- route: z77.array(pcb_trace_route_point)
1847
+ pcb_group_id: z78.string().optional(),
1848
+ subcircuit_id: z78.string().optional(),
1849
+ route_thickness_mode: z78.enum(["constant", "interpolated"]).default("constant").optional(),
1850
+ route_order_index: z78.number().optional(),
1851
+ should_round_corners: z78.boolean().optional(),
1852
+ trace_length: z78.number().optional(),
1853
+ highlight_color: z78.string().optional(),
1854
+ route: z78.array(pcb_trace_route_point)
1837
1855
  }).describe("Defines a trace on the PCB");
1838
1856
  expectTypesMatch(true);
1839
1857
  expectTypesMatch(true);
1840
1858
 
1841
1859
  // src/pcb/pcb_trace_error.ts
1842
- import { z as z78 } from "zod";
1843
- var pcb_trace_error = z78.object({
1844
- type: z78.literal("pcb_trace_error"),
1860
+ import { z as z79 } from "zod";
1861
+ var pcb_trace_error = z79.object({
1862
+ type: z79.literal("pcb_trace_error"),
1845
1863
  pcb_trace_error_id: getZodPrefixedIdWithDefault("pcb_trace_error"),
1846
- error_type: z78.literal("pcb_trace_error").default("pcb_trace_error"),
1847
- message: z78.string(),
1864
+ error_type: z79.literal("pcb_trace_error").default("pcb_trace_error"),
1865
+ message: z79.string(),
1848
1866
  center: point.optional(),
1849
- pcb_trace_id: z78.string(),
1850
- source_trace_id: z78.string(),
1851
- pcb_component_ids: z78.array(z78.string()),
1852
- pcb_port_ids: z78.array(z78.string()),
1853
- subcircuit_id: z78.string().optional()
1867
+ pcb_trace_id: z79.string(),
1868
+ source_trace_id: z79.string(),
1869
+ pcb_component_ids: z79.array(z79.string()),
1870
+ pcb_port_ids: z79.array(z79.string()),
1871
+ subcircuit_id: z79.string().optional()
1854
1872
  }).describe("Defines a trace error on the PCB");
1855
1873
  expectTypesMatch(true);
1856
1874
 
1857
1875
  // src/pcb/pcb_trace_missing_error.ts
1858
- import { z as z79 } from "zod";
1859
- var pcb_trace_missing_error = z79.object({
1860
- type: z79.literal("pcb_trace_missing_error"),
1876
+ import { z as z80 } from "zod";
1877
+ var pcb_trace_missing_error = z80.object({
1878
+ type: z80.literal("pcb_trace_missing_error"),
1861
1879
  pcb_trace_missing_error_id: getZodPrefixedIdWithDefault(
1862
1880
  "pcb_trace_missing_error"
1863
1881
  ),
1864
- error_type: z79.literal("pcb_trace_missing_error").default("pcb_trace_missing_error"),
1865
- message: z79.string(),
1882
+ error_type: z80.literal("pcb_trace_missing_error").default("pcb_trace_missing_error"),
1883
+ message: z80.string(),
1866
1884
  center: point.optional(),
1867
- source_trace_id: z79.string(),
1868
- pcb_component_ids: z79.array(z79.string()),
1869
- pcb_port_ids: z79.array(z79.string()),
1870
- subcircuit_id: z79.string().optional()
1885
+ source_trace_id: z80.string(),
1886
+ pcb_component_ids: z80.array(z80.string()),
1887
+ pcb_port_ids: z80.array(z80.string()),
1888
+ subcircuit_id: z80.string().optional()
1871
1889
  }).describe(
1872
1890
  "Defines an error when a source trace has no corresponding PCB trace"
1873
1891
  );
1874
1892
  expectTypesMatch(true);
1875
1893
 
1876
1894
  // src/pcb/pcb_port_not_matched_error.ts
1877
- import { z as z80 } from "zod";
1878
- var pcb_port_not_matched_error = z80.object({
1879
- type: z80.literal("pcb_port_not_matched_error"),
1895
+ import { z as z81 } from "zod";
1896
+ var pcb_port_not_matched_error = z81.object({
1897
+ type: z81.literal("pcb_port_not_matched_error"),
1880
1898
  pcb_error_id: getZodPrefixedIdWithDefault("pcb_error"),
1881
- error_type: z80.literal("pcb_port_not_matched_error").default("pcb_port_not_matched_error"),
1882
- message: z80.string(),
1883
- pcb_component_ids: z80.array(z80.string()),
1884
- subcircuit_id: z80.string().optional()
1899
+ error_type: z81.literal("pcb_port_not_matched_error").default("pcb_port_not_matched_error"),
1900
+ message: z81.string(),
1901
+ pcb_component_ids: z81.array(z81.string()),
1902
+ subcircuit_id: z81.string().optional()
1885
1903
  }).describe("Defines a trace error on the PCB where a port is not matched");
1886
1904
  expectTypesMatch(true);
1887
1905
 
1888
1906
  // src/pcb/pcb_port_not_connected_error.ts
1889
- import { z as z81 } from "zod";
1890
- var pcb_port_not_connected_error = z81.object({
1891
- type: z81.literal("pcb_port_not_connected_error"),
1907
+ import { z as z82 } from "zod";
1908
+ var pcb_port_not_connected_error = z82.object({
1909
+ type: z82.literal("pcb_port_not_connected_error"),
1892
1910
  pcb_port_not_connected_error_id: getZodPrefixedIdWithDefault(
1893
1911
  "pcb_port_not_connected_error"
1894
1912
  ),
1895
- error_type: z81.literal("pcb_port_not_connected_error").default("pcb_port_not_connected_error"),
1896
- message: z81.string(),
1897
- pcb_port_ids: z81.array(z81.string()),
1898
- pcb_component_ids: z81.array(z81.string()),
1899
- subcircuit_id: z81.string().optional()
1913
+ error_type: z82.literal("pcb_port_not_connected_error").default("pcb_port_not_connected_error"),
1914
+ message: z82.string(),
1915
+ pcb_port_ids: z82.array(z82.string()),
1916
+ pcb_component_ids: z82.array(z82.string()),
1917
+ subcircuit_id: z82.string().optional()
1900
1918
  }).describe("Defines an error when a pcb port is not connected to any trace");
1901
1919
  expectTypesMatch(
1902
1920
  true
1903
1921
  );
1904
1922
 
1905
1923
  // src/pcb/pcb_net.ts
1906
- import { z as z82 } from "zod";
1907
- var pcb_net = z82.object({
1908
- type: z82.literal("pcb_net"),
1924
+ import { z as z83 } from "zod";
1925
+ var pcb_net = z83.object({
1926
+ type: z83.literal("pcb_net"),
1909
1927
  pcb_net_id: getZodPrefixedIdWithDefault("pcb_net"),
1910
- source_net_id: z82.string().optional(),
1911
- highlight_color: z82.string().optional()
1928
+ source_net_id: z83.string().optional(),
1929
+ highlight_color: z83.string().optional()
1912
1930
  }).describe("Defines a net on the PCB");
1913
1931
  expectTypesMatch(true);
1914
1932
 
1915
1933
  // src/pcb/pcb_via.ts
1916
- import { z as z83 } from "zod";
1917
- var pcb_via = z83.object({
1918
- type: z83.literal("pcb_via"),
1934
+ import { z as z84 } from "zod";
1935
+ var pcb_via = z84.object({
1936
+ type: z84.literal("pcb_via"),
1919
1937
  pcb_via_id: getZodPrefixedIdWithDefault("pcb_via"),
1920
- pcb_group_id: z83.string().optional(),
1921
- subcircuit_id: z83.string().optional(),
1922
- subcircuit_connectivity_map_key: z83.string().optional(),
1938
+ pcb_group_id: z84.string().optional(),
1939
+ subcircuit_id: z84.string().optional(),
1940
+ subcircuit_connectivity_map_key: z84.string().optional(),
1923
1941
  x: distance,
1924
1942
  y: distance,
1925
1943
  outer_diameter: distance.default("0.6mm"),
@@ -1928,75 +1946,75 @@ var pcb_via = z83.object({
1928
1946
  from_layer: layer_ref.optional(),
1929
1947
  /** @deprecated */
1930
1948
  to_layer: layer_ref.optional(),
1931
- layers: z83.array(layer_ref),
1932
- pcb_trace_id: z83.string().optional(),
1933
- net_is_assignable: z83.boolean().optional(),
1934
- net_assigned: z83.boolean().optional()
1949
+ layers: z84.array(layer_ref),
1950
+ pcb_trace_id: z84.string().optional(),
1951
+ net_is_assignable: z84.boolean().optional(),
1952
+ net_assigned: z84.boolean().optional()
1935
1953
  }).describe("Defines a via on the PCB");
1936
1954
  expectTypesMatch(true);
1937
1955
 
1938
1956
  // src/pcb/pcb_board.ts
1939
- import { z as z84 } from "zod";
1940
- var pcb_board = z84.object({
1941
- type: z84.literal("pcb_board"),
1957
+ import { z as z85 } from "zod";
1958
+ var pcb_board = z85.object({
1959
+ type: z85.literal("pcb_board"),
1942
1960
  pcb_board_id: getZodPrefixedIdWithDefault("pcb_board"),
1943
- pcb_panel_id: z84.string().optional(),
1944
- is_subcircuit: z84.boolean().optional(),
1945
- subcircuit_id: z84.string().optional(),
1961
+ pcb_panel_id: z85.string().optional(),
1962
+ is_subcircuit: z85.boolean().optional(),
1963
+ subcircuit_id: z85.string().optional(),
1946
1964
  width: length.optional(),
1947
1965
  height: length.optional(),
1948
1966
  center: point,
1949
1967
  thickness: length.optional().default(1.4),
1950
- num_layers: z84.number().optional().default(4),
1951
- outline: z84.array(point).optional(),
1952
- shape: z84.enum(["rect", "polygon"]).optional(),
1953
- material: z84.enum(["fr4", "fr1"]).default("fr4")
1968
+ num_layers: z85.number().optional().default(4),
1969
+ outline: z85.array(point).optional(),
1970
+ shape: z85.enum(["rect", "polygon"]).optional(),
1971
+ material: z85.enum(["fr4", "fr1"]).default("fr4")
1954
1972
  }).describe("Defines the board outline of the PCB");
1955
1973
  expectTypesMatch(true);
1956
1974
 
1957
1975
  // src/pcb/pcb_panel.ts
1958
- import { z as z85 } from "zod";
1959
- var pcb_panel = z85.object({
1960
- type: z85.literal("pcb_panel"),
1976
+ import { z as z86 } from "zod";
1977
+ var pcb_panel = z86.object({
1978
+ type: z86.literal("pcb_panel"),
1961
1979
  pcb_panel_id: getZodPrefixedIdWithDefault("pcb_panel"),
1962
1980
  width: length,
1963
1981
  height: length,
1964
1982
  center: point,
1965
- covered_with_solder_mask: z85.boolean().optional().default(true)
1983
+ covered_with_solder_mask: z86.boolean().optional().default(true)
1966
1984
  }).describe("Defines a PCB panel that can contain multiple boards");
1967
1985
  expectTypesMatch(true);
1968
1986
 
1969
1987
  // src/pcb/pcb_placement_error.ts
1970
- import { z as z86 } from "zod";
1971
- var pcb_placement_error = z86.object({
1972
- type: z86.literal("pcb_placement_error"),
1988
+ import { z as z87 } from "zod";
1989
+ var pcb_placement_error = z87.object({
1990
+ type: z87.literal("pcb_placement_error"),
1973
1991
  pcb_placement_error_id: getZodPrefixedIdWithDefault("pcb_placement_error"),
1974
- error_type: z86.literal("pcb_placement_error").default("pcb_placement_error"),
1975
- message: z86.string(),
1976
- subcircuit_id: z86.string().optional()
1992
+ error_type: z87.literal("pcb_placement_error").default("pcb_placement_error"),
1993
+ message: z87.string(),
1994
+ subcircuit_id: z87.string().optional()
1977
1995
  }).describe("Defines a placement error on the PCB");
1978
1996
  expectTypesMatch(true);
1979
1997
 
1980
1998
  // src/pcb/pcb_trace_hint.ts
1981
- import { z as z87 } from "zod";
1982
- var pcb_trace_hint = z87.object({
1983
- type: z87.literal("pcb_trace_hint"),
1999
+ import { z as z88 } from "zod";
2000
+ var pcb_trace_hint = z88.object({
2001
+ type: z88.literal("pcb_trace_hint"),
1984
2002
  pcb_trace_hint_id: getZodPrefixedIdWithDefault("pcb_trace_hint"),
1985
- pcb_port_id: z87.string(),
1986
- pcb_component_id: z87.string(),
1987
- route: z87.array(route_hint_point),
1988
- subcircuit_id: z87.string().optional()
2003
+ pcb_port_id: z88.string(),
2004
+ pcb_component_id: z88.string(),
2005
+ route: z88.array(route_hint_point),
2006
+ subcircuit_id: z88.string().optional()
1989
2007
  }).describe("A hint that can be used during generation of a PCB trace");
1990
2008
  expectTypesMatch(true);
1991
2009
 
1992
2010
  // src/pcb/pcb_silkscreen_line.ts
1993
- import { z as z88 } from "zod";
1994
- var pcb_silkscreen_line = z88.object({
1995
- type: z88.literal("pcb_silkscreen_line"),
2011
+ import { z as z89 } from "zod";
2012
+ var pcb_silkscreen_line = z89.object({
2013
+ type: z89.literal("pcb_silkscreen_line"),
1996
2014
  pcb_silkscreen_line_id: getZodPrefixedIdWithDefault("pcb_silkscreen_line"),
1997
- pcb_component_id: z88.string(),
1998
- pcb_group_id: z88.string().optional(),
1999
- subcircuit_id: z88.string().optional(),
2015
+ pcb_component_id: z89.string(),
2016
+ pcb_group_id: z89.string().optional(),
2017
+ subcircuit_id: z89.string().optional(),
2000
2018
  stroke_width: distance.default("0.1mm"),
2001
2019
  x1: distance,
2002
2020
  y1: distance,
@@ -2007,32 +2025,32 @@ var pcb_silkscreen_line = z88.object({
2007
2025
  expectTypesMatch(true);
2008
2026
 
2009
2027
  // src/pcb/pcb_silkscreen_path.ts
2010
- import { z as z89 } from "zod";
2011
- var pcb_silkscreen_path = z89.object({
2012
- type: z89.literal("pcb_silkscreen_path"),
2028
+ import { z as z90 } from "zod";
2029
+ var pcb_silkscreen_path = z90.object({
2030
+ type: z90.literal("pcb_silkscreen_path"),
2013
2031
  pcb_silkscreen_path_id: getZodPrefixedIdWithDefault("pcb_silkscreen_path"),
2014
- pcb_component_id: z89.string(),
2015
- pcb_group_id: z89.string().optional(),
2016
- subcircuit_id: z89.string().optional(),
2032
+ pcb_component_id: z90.string(),
2033
+ pcb_group_id: z90.string().optional(),
2034
+ subcircuit_id: z90.string().optional(),
2017
2035
  layer: visible_layer,
2018
- route: z89.array(point),
2036
+ route: z90.array(point),
2019
2037
  stroke_width: length
2020
2038
  }).describe("Defines a silkscreen path on the PCB");
2021
2039
  expectTypesMatch(true);
2022
2040
 
2023
2041
  // src/pcb/pcb_silkscreen_text.ts
2024
- import { z as z90 } from "zod";
2025
- var pcb_silkscreen_text = z90.object({
2026
- type: z90.literal("pcb_silkscreen_text"),
2042
+ import { z as z91 } from "zod";
2043
+ var pcb_silkscreen_text = z91.object({
2044
+ type: z91.literal("pcb_silkscreen_text"),
2027
2045
  pcb_silkscreen_text_id: getZodPrefixedIdWithDefault("pcb_silkscreen_text"),
2028
- pcb_group_id: z90.string().optional(),
2029
- subcircuit_id: z90.string().optional(),
2030
- font: z90.literal("tscircuit2024").default("tscircuit2024"),
2046
+ pcb_group_id: z91.string().optional(),
2047
+ subcircuit_id: z91.string().optional(),
2048
+ font: z91.literal("tscircuit2024").default("tscircuit2024"),
2031
2049
  font_size: distance.default("0.2mm"),
2032
- pcb_component_id: z90.string(),
2033
- text: z90.string(),
2034
- is_knockout: z90.boolean().default(false).optional(),
2035
- knockout_padding: z90.object({
2050
+ pcb_component_id: z91.string(),
2051
+ text: z91.string(),
2052
+ is_knockout: z91.boolean().default(false).optional(),
2053
+ knockout_padding: z91.object({
2036
2054
  left: length,
2037
2055
  top: length,
2038
2056
  bottom: length,
@@ -2043,27 +2061,27 @@ var pcb_silkscreen_text = z90.object({
2043
2061
  bottom: "0.2mm",
2044
2062
  right: "0.2mm"
2045
2063
  }).optional(),
2046
- ccw_rotation: z90.number().optional(),
2064
+ ccw_rotation: z91.number().optional(),
2047
2065
  layer: layer_ref,
2048
- is_mirrored: z90.boolean().default(false).optional(),
2066
+ is_mirrored: z91.boolean().default(false).optional(),
2049
2067
  anchor_position: point.default({ x: 0, y: 0 }),
2050
2068
  anchor_alignment: ninePointAnchor.default("center")
2051
2069
  }).describe("Defines silkscreen text on the PCB");
2052
2070
  expectTypesMatch(true);
2053
2071
 
2054
2072
  // src/pcb/pcb_copper_text.ts
2055
- import { z as z91 } from "zod";
2056
- var pcb_copper_text = z91.object({
2057
- type: z91.literal("pcb_copper_text"),
2073
+ import { z as z92 } from "zod";
2074
+ var pcb_copper_text = z92.object({
2075
+ type: z92.literal("pcb_copper_text"),
2058
2076
  pcb_copper_text_id: getZodPrefixedIdWithDefault("pcb_copper_text"),
2059
- pcb_group_id: z91.string().optional(),
2060
- subcircuit_id: z91.string().optional(),
2061
- font: z91.literal("tscircuit2024").default("tscircuit2024"),
2077
+ pcb_group_id: z92.string().optional(),
2078
+ subcircuit_id: z92.string().optional(),
2079
+ font: z92.literal("tscircuit2024").default("tscircuit2024"),
2062
2080
  font_size: distance.default("0.2mm"),
2063
- pcb_component_id: z91.string(),
2064
- text: z91.string(),
2065
- is_knockout: z91.boolean().default(false).optional(),
2066
- knockout_padding: z91.object({
2081
+ pcb_component_id: z92.string(),
2082
+ text: z92.string(),
2083
+ is_knockout: z92.boolean().default(false).optional(),
2084
+ knockout_padding: z92.object({
2067
2085
  left: length,
2068
2086
  top: length,
2069
2087
  bottom: length,
@@ -2074,44 +2092,44 @@ var pcb_copper_text = z91.object({
2074
2092
  bottom: "0.2mm",
2075
2093
  right: "0.2mm"
2076
2094
  }).optional(),
2077
- ccw_rotation: z91.number().optional(),
2095
+ ccw_rotation: z92.number().optional(),
2078
2096
  layer: layer_ref,
2079
- is_mirrored: z91.boolean().default(false).optional(),
2097
+ is_mirrored: z92.boolean().default(false).optional(),
2080
2098
  anchor_position: point.default({ x: 0, y: 0 }),
2081
2099
  anchor_alignment: ninePointAnchor.default("center")
2082
2100
  }).describe("Defines copper text on the PCB");
2083
2101
  expectTypesMatch(true);
2084
2102
 
2085
2103
  // src/pcb/pcb_silkscreen_rect.ts
2086
- import { z as z92 } from "zod";
2087
- var pcb_silkscreen_rect = z92.object({
2088
- type: z92.literal("pcb_silkscreen_rect"),
2104
+ import { z as z93 } from "zod";
2105
+ var pcb_silkscreen_rect = z93.object({
2106
+ type: z93.literal("pcb_silkscreen_rect"),
2089
2107
  pcb_silkscreen_rect_id: getZodPrefixedIdWithDefault("pcb_silkscreen_rect"),
2090
- pcb_component_id: z92.string(),
2091
- pcb_group_id: z92.string().optional(),
2092
- subcircuit_id: z92.string().optional(),
2108
+ pcb_component_id: z93.string(),
2109
+ pcb_group_id: z93.string().optional(),
2110
+ subcircuit_id: z93.string().optional(),
2093
2111
  center: point,
2094
2112
  width: length,
2095
2113
  height: length,
2096
2114
  layer: layer_ref,
2097
2115
  stroke_width: length.default("1mm"),
2098
2116
  corner_radius: length.optional(),
2099
- is_filled: z92.boolean().default(true).optional(),
2100
- has_stroke: z92.boolean().optional(),
2101
- is_stroke_dashed: z92.boolean().optional()
2117
+ is_filled: z93.boolean().default(true).optional(),
2118
+ has_stroke: z93.boolean().optional(),
2119
+ is_stroke_dashed: z93.boolean().optional()
2102
2120
  }).describe("Defines a silkscreen rect on the PCB");
2103
2121
  expectTypesMatch(true);
2104
2122
 
2105
2123
  // src/pcb/pcb_silkscreen_circle.ts
2106
- import { z as z93 } from "zod";
2107
- var pcb_silkscreen_circle = z93.object({
2108
- type: z93.literal("pcb_silkscreen_circle"),
2124
+ import { z as z94 } from "zod";
2125
+ var pcb_silkscreen_circle = z94.object({
2126
+ type: z94.literal("pcb_silkscreen_circle"),
2109
2127
  pcb_silkscreen_circle_id: getZodPrefixedIdWithDefault(
2110
2128
  "pcb_silkscreen_circle"
2111
2129
  ),
2112
- pcb_component_id: z93.string(),
2113
- pcb_group_id: z93.string().optional(),
2114
- subcircuit_id: z93.string().optional(),
2130
+ pcb_component_id: z94.string(),
2131
+ pcb_group_id: z94.string().optional(),
2132
+ subcircuit_id: z94.string().optional(),
2115
2133
  center: point,
2116
2134
  radius: length,
2117
2135
  layer: visible_layer,
@@ -2120,13 +2138,13 @@ var pcb_silkscreen_circle = z93.object({
2120
2138
  expectTypesMatch(true);
2121
2139
 
2122
2140
  // src/pcb/pcb_silkscreen_oval.ts
2123
- import { z as z94 } from "zod";
2124
- var pcb_silkscreen_oval = z94.object({
2125
- type: z94.literal("pcb_silkscreen_oval"),
2141
+ import { z as z95 } from "zod";
2142
+ var pcb_silkscreen_oval = z95.object({
2143
+ type: z95.literal("pcb_silkscreen_oval"),
2126
2144
  pcb_silkscreen_oval_id: getZodPrefixedIdWithDefault("pcb_silkscreen_oval"),
2127
- pcb_component_id: z94.string(),
2128
- pcb_group_id: z94.string().optional(),
2129
- subcircuit_id: z94.string().optional(),
2145
+ pcb_component_id: z95.string(),
2146
+ pcb_group_id: z95.string().optional(),
2147
+ subcircuit_id: z95.string().optional(),
2130
2148
  center: point,
2131
2149
  radius_x: distance,
2132
2150
  radius_y: distance,
@@ -2135,257 +2153,257 @@ var pcb_silkscreen_oval = z94.object({
2135
2153
  expectTypesMatch(true);
2136
2154
 
2137
2155
  // src/pcb/pcb_fabrication_note_text.ts
2138
- import { z as z95 } from "zod";
2139
- var pcb_fabrication_note_text = z95.object({
2140
- type: z95.literal("pcb_fabrication_note_text"),
2156
+ import { z as z96 } from "zod";
2157
+ var pcb_fabrication_note_text = z96.object({
2158
+ type: z96.literal("pcb_fabrication_note_text"),
2141
2159
  pcb_fabrication_note_text_id: getZodPrefixedIdWithDefault(
2142
2160
  "pcb_fabrication_note_text"
2143
2161
  ),
2144
- subcircuit_id: z95.string().optional(),
2145
- pcb_group_id: z95.string().optional(),
2146
- font: z95.literal("tscircuit2024").default("tscircuit2024"),
2162
+ subcircuit_id: z96.string().optional(),
2163
+ pcb_group_id: z96.string().optional(),
2164
+ font: z96.literal("tscircuit2024").default("tscircuit2024"),
2147
2165
  font_size: distance.default("1mm"),
2148
- pcb_component_id: z95.string(),
2149
- text: z95.string(),
2166
+ pcb_component_id: z96.string(),
2167
+ text: z96.string(),
2150
2168
  layer: visible_layer,
2151
2169
  anchor_position: point.default({ x: 0, y: 0 }),
2152
- anchor_alignment: z95.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).default("center"),
2153
- color: z95.string().optional()
2170
+ anchor_alignment: z96.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).default("center"),
2171
+ color: z96.string().optional()
2154
2172
  }).describe(
2155
2173
  "Defines a fabrication note in text on the PCB, useful for leaving notes for assemblers or fabricators"
2156
2174
  );
2157
2175
  expectTypesMatch(true);
2158
2176
 
2159
2177
  // src/pcb/pcb_fabrication_note_path.ts
2160
- import { z as z96 } from "zod";
2161
- var pcb_fabrication_note_path = z96.object({
2162
- type: z96.literal("pcb_fabrication_note_path"),
2178
+ import { z as z97 } from "zod";
2179
+ var pcb_fabrication_note_path = z97.object({
2180
+ type: z97.literal("pcb_fabrication_note_path"),
2163
2181
  pcb_fabrication_note_path_id: getZodPrefixedIdWithDefault(
2164
2182
  "pcb_fabrication_note_path"
2165
2183
  ),
2166
- pcb_component_id: z96.string(),
2167
- subcircuit_id: z96.string().optional(),
2184
+ pcb_component_id: z97.string(),
2185
+ subcircuit_id: z97.string().optional(),
2168
2186
  layer: layer_ref,
2169
- route: z96.array(point),
2187
+ route: z97.array(point),
2170
2188
  stroke_width: length,
2171
- color: z96.string().optional()
2189
+ color: z97.string().optional()
2172
2190
  }).describe(
2173
2191
  "Defines a fabrication path on the PCB for fabricators or assemblers"
2174
2192
  );
2175
2193
  expectTypesMatch(true);
2176
2194
 
2177
2195
  // src/pcb/pcb_fabrication_note_rect.ts
2178
- import { z as z97 } from "zod";
2179
- var pcb_fabrication_note_rect = z97.object({
2180
- type: z97.literal("pcb_fabrication_note_rect"),
2196
+ import { z as z98 } from "zod";
2197
+ var pcb_fabrication_note_rect = z98.object({
2198
+ type: z98.literal("pcb_fabrication_note_rect"),
2181
2199
  pcb_fabrication_note_rect_id: getZodPrefixedIdWithDefault(
2182
2200
  "pcb_fabrication_note_rect"
2183
2201
  ),
2184
- pcb_component_id: z97.string(),
2185
- pcb_group_id: z97.string().optional(),
2186
- subcircuit_id: z97.string().optional(),
2202
+ pcb_component_id: z98.string(),
2203
+ pcb_group_id: z98.string().optional(),
2204
+ subcircuit_id: z98.string().optional(),
2187
2205
  center: point,
2188
2206
  width: length,
2189
2207
  height: length,
2190
2208
  layer: visible_layer,
2191
2209
  stroke_width: length.default("0.1mm"),
2192
2210
  corner_radius: length.optional(),
2193
- is_filled: z97.boolean().optional(),
2194
- has_stroke: z97.boolean().optional(),
2195
- is_stroke_dashed: z97.boolean().optional(),
2196
- color: z97.string().optional()
2211
+ is_filled: z98.boolean().optional(),
2212
+ has_stroke: z98.boolean().optional(),
2213
+ is_stroke_dashed: z98.boolean().optional(),
2214
+ color: z98.string().optional()
2197
2215
  }).describe("Defines a fabrication note rectangle on the PCB");
2198
2216
  expectTypesMatch(true);
2199
2217
 
2200
2218
  // src/pcb/pcb_fabrication_note_dimension.ts
2201
- import { z as z98 } from "zod";
2202
- var pcb_fabrication_note_dimension = z98.object({
2203
- type: z98.literal("pcb_fabrication_note_dimension"),
2219
+ import { z as z99 } from "zod";
2220
+ var pcb_fabrication_note_dimension = z99.object({
2221
+ type: z99.literal("pcb_fabrication_note_dimension"),
2204
2222
  pcb_fabrication_note_dimension_id: getZodPrefixedIdWithDefault(
2205
2223
  "pcb_fabrication_note_dimension"
2206
2224
  ),
2207
- pcb_component_id: z98.string(),
2208
- pcb_group_id: z98.string().optional(),
2209
- subcircuit_id: z98.string().optional(),
2225
+ pcb_component_id: z99.string(),
2226
+ pcb_group_id: z99.string().optional(),
2227
+ subcircuit_id: z99.string().optional(),
2210
2228
  layer: visible_layer,
2211
2229
  from: point,
2212
2230
  to: point,
2213
- text: z98.string().optional(),
2214
- text_ccw_rotation: z98.number().optional(),
2231
+ text: z99.string().optional(),
2232
+ text_ccw_rotation: z99.number().optional(),
2215
2233
  offset: length.optional(),
2216
2234
  offset_distance: length.optional(),
2217
- offset_direction: z98.object({
2218
- x: z98.number(),
2219
- y: z98.number()
2235
+ offset_direction: z99.object({
2236
+ x: z99.number(),
2237
+ y: z99.number()
2220
2238
  }).optional(),
2221
- font: z98.literal("tscircuit2024").default("tscircuit2024"),
2239
+ font: z99.literal("tscircuit2024").default("tscircuit2024"),
2222
2240
  font_size: length.default("1mm"),
2223
- color: z98.string().optional(),
2241
+ color: z99.string().optional(),
2224
2242
  arrow_size: length.default("1mm")
2225
2243
  }).describe("Defines a measurement annotation within PCB fabrication notes");
2226
2244
  expectTypesMatch(true);
2227
2245
 
2228
2246
  // src/pcb/pcb_note_text.ts
2229
- import { z as z99 } from "zod";
2230
- var pcb_note_text = z99.object({
2231
- type: z99.literal("pcb_note_text"),
2232
- pcb_note_text_id: getZodPrefixedIdWithDefault("pcb_note_text"),
2233
- pcb_component_id: z99.string().optional(),
2234
- pcb_group_id: z99.string().optional(),
2235
- subcircuit_id: z99.string().optional(),
2236
- name: z99.string().optional(),
2237
- font: z99.literal("tscircuit2024").default("tscircuit2024"),
2238
- font_size: distance.default("1mm"),
2239
- text: z99.string().optional(),
2240
- anchor_position: point.default({ x: 0, y: 0 }),
2241
- anchor_alignment: z99.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).default("center"),
2242
- color: z99.string().optional()
2243
- }).describe("Defines a documentation note in text on the PCB");
2244
- expectTypesMatch(true);
2245
-
2246
- // src/pcb/pcb_note_rect.ts
2247
2247
  import { z as z100 } from "zod";
2248
- var pcb_note_rect = z100.object({
2249
- type: z100.literal("pcb_note_rect"),
2250
- pcb_note_rect_id: getZodPrefixedIdWithDefault("pcb_note_rect"),
2248
+ var pcb_note_text = z100.object({
2249
+ type: z100.literal("pcb_note_text"),
2250
+ pcb_note_text_id: getZodPrefixedIdWithDefault("pcb_note_text"),
2251
2251
  pcb_component_id: z100.string().optional(),
2252
2252
  pcb_group_id: z100.string().optional(),
2253
2253
  subcircuit_id: z100.string().optional(),
2254
2254
  name: z100.string().optional(),
2255
+ font: z100.literal("tscircuit2024").default("tscircuit2024"),
2256
+ font_size: distance.default("1mm"),
2255
2257
  text: z100.string().optional(),
2256
- center: point,
2257
- width: length,
2258
- height: length,
2259
- stroke_width: length.default("0.1mm"),
2260
- corner_radius: length.optional(),
2261
- is_filled: z100.boolean().optional(),
2262
- has_stroke: z100.boolean().optional(),
2263
- is_stroke_dashed: z100.boolean().optional(),
2258
+ anchor_position: point.default({ x: 0, y: 0 }),
2259
+ anchor_alignment: z100.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).default("center"),
2264
2260
  color: z100.string().optional()
2265
- }).describe("Defines a rectangular documentation note on the PCB");
2261
+ }).describe("Defines a documentation note in text on the PCB");
2266
2262
  expectTypesMatch(true);
2267
2263
 
2268
- // src/pcb/pcb_note_path.ts
2264
+ // src/pcb/pcb_note_rect.ts
2269
2265
  import { z as z101 } from "zod";
2270
- var pcb_note_path = z101.object({
2271
- type: z101.literal("pcb_note_path"),
2272
- pcb_note_path_id: getZodPrefixedIdWithDefault("pcb_note_path"),
2266
+ var pcb_note_rect = z101.object({
2267
+ type: z101.literal("pcb_note_rect"),
2268
+ pcb_note_rect_id: getZodPrefixedIdWithDefault("pcb_note_rect"),
2273
2269
  pcb_component_id: z101.string().optional(),
2274
2270
  pcb_group_id: z101.string().optional(),
2275
2271
  subcircuit_id: z101.string().optional(),
2276
2272
  name: z101.string().optional(),
2277
2273
  text: z101.string().optional(),
2278
- route: z101.array(point),
2274
+ center: point,
2275
+ width: length,
2276
+ height: length,
2279
2277
  stroke_width: length.default("0.1mm"),
2278
+ corner_radius: length.optional(),
2279
+ is_filled: z101.boolean().optional(),
2280
+ has_stroke: z101.boolean().optional(),
2281
+ is_stroke_dashed: z101.boolean().optional(),
2280
2282
  color: z101.string().optional()
2281
- }).describe("Defines a polyline documentation note on the PCB");
2283
+ }).describe("Defines a rectangular documentation note on the PCB");
2282
2284
  expectTypesMatch(true);
2283
2285
 
2284
- // src/pcb/pcb_note_line.ts
2286
+ // src/pcb/pcb_note_path.ts
2285
2287
  import { z as z102 } from "zod";
2286
- var pcb_note_line = z102.object({
2287
- type: z102.literal("pcb_note_line"),
2288
- pcb_note_line_id: getZodPrefixedIdWithDefault("pcb_note_line"),
2288
+ var pcb_note_path = z102.object({
2289
+ type: z102.literal("pcb_note_path"),
2290
+ pcb_note_path_id: getZodPrefixedIdWithDefault("pcb_note_path"),
2289
2291
  pcb_component_id: z102.string().optional(),
2290
2292
  pcb_group_id: z102.string().optional(),
2291
2293
  subcircuit_id: z102.string().optional(),
2292
2294
  name: z102.string().optional(),
2293
2295
  text: z102.string().optional(),
2296
+ route: z102.array(point),
2297
+ stroke_width: length.default("0.1mm"),
2298
+ color: z102.string().optional()
2299
+ }).describe("Defines a polyline documentation note on the PCB");
2300
+ expectTypesMatch(true);
2301
+
2302
+ // src/pcb/pcb_note_line.ts
2303
+ import { z as z103 } from "zod";
2304
+ var pcb_note_line = z103.object({
2305
+ type: z103.literal("pcb_note_line"),
2306
+ pcb_note_line_id: getZodPrefixedIdWithDefault("pcb_note_line"),
2307
+ pcb_component_id: z103.string().optional(),
2308
+ pcb_group_id: z103.string().optional(),
2309
+ subcircuit_id: z103.string().optional(),
2310
+ name: z103.string().optional(),
2311
+ text: z103.string().optional(),
2294
2312
  x1: distance,
2295
2313
  y1: distance,
2296
2314
  x2: distance,
2297
2315
  y2: distance,
2298
2316
  stroke_width: distance.default("0.1mm"),
2299
- color: z102.string().optional(),
2300
- is_dashed: z102.boolean().optional()
2317
+ color: z103.string().optional(),
2318
+ is_dashed: z103.boolean().optional()
2301
2319
  }).describe("Defines a straight documentation note line on the PCB");
2302
2320
  expectTypesMatch(true);
2303
2321
 
2304
2322
  // src/pcb/pcb_note_dimension.ts
2305
- import { z as z103 } from "zod";
2306
- var pcb_note_dimension = z103.object({
2307
- type: z103.literal("pcb_note_dimension"),
2323
+ import { z as z104 } from "zod";
2324
+ var pcb_note_dimension = z104.object({
2325
+ type: z104.literal("pcb_note_dimension"),
2308
2326
  pcb_note_dimension_id: getZodPrefixedIdWithDefault("pcb_note_dimension"),
2309
- pcb_component_id: z103.string().optional(),
2310
- pcb_group_id: z103.string().optional(),
2311
- subcircuit_id: z103.string().optional(),
2312
- name: z103.string().optional(),
2327
+ pcb_component_id: z104.string().optional(),
2328
+ pcb_group_id: z104.string().optional(),
2329
+ subcircuit_id: z104.string().optional(),
2330
+ name: z104.string().optional(),
2313
2331
  from: point,
2314
2332
  to: point,
2315
- text: z103.string().optional(),
2316
- text_ccw_rotation: z103.number().optional(),
2333
+ text: z104.string().optional(),
2334
+ text_ccw_rotation: z104.number().optional(),
2317
2335
  offset_distance: length.optional(),
2318
- offset_direction: z103.object({
2319
- x: z103.number(),
2320
- y: z103.number()
2336
+ offset_direction: z104.object({
2337
+ x: z104.number(),
2338
+ y: z104.number()
2321
2339
  }).optional(),
2322
- font: z103.literal("tscircuit2024").default("tscircuit2024"),
2340
+ font: z104.literal("tscircuit2024").default("tscircuit2024"),
2323
2341
  font_size: length.default("1mm"),
2324
- color: z103.string().optional(),
2342
+ color: z104.string().optional(),
2325
2343
  arrow_size: length.default("1mm")
2326
2344
  }).describe("Defines a measurement annotation within PCB documentation notes");
2327
2345
  expectTypesMatch(true);
2328
2346
 
2329
2347
  // src/pcb/pcb_footprint_overlap_error.ts
2330
- import { z as z104 } from "zod";
2331
- var pcb_footprint_overlap_error = z104.object({
2332
- type: z104.literal("pcb_footprint_overlap_error"),
2348
+ import { z as z105 } from "zod";
2349
+ var pcb_footprint_overlap_error = z105.object({
2350
+ type: z105.literal("pcb_footprint_overlap_error"),
2333
2351
  pcb_error_id: getZodPrefixedIdWithDefault("pcb_error"),
2334
- error_type: z104.literal("pcb_footprint_overlap_error").default("pcb_footprint_overlap_error"),
2335
- message: z104.string(),
2336
- pcb_smtpad_ids: z104.array(z104.string()).optional(),
2337
- pcb_plated_hole_ids: z104.array(z104.string()).optional(),
2338
- pcb_hole_ids: z104.array(z104.string()).optional(),
2339
- pcb_keepout_ids: z104.array(z104.string()).optional()
2352
+ error_type: z105.literal("pcb_footprint_overlap_error").default("pcb_footprint_overlap_error"),
2353
+ message: z105.string(),
2354
+ pcb_smtpad_ids: z105.array(z105.string()).optional(),
2355
+ pcb_plated_hole_ids: z105.array(z105.string()).optional(),
2356
+ pcb_hole_ids: z105.array(z105.string()).optional(),
2357
+ pcb_keepout_ids: z105.array(z105.string()).optional()
2340
2358
  }).describe("Error emitted when a pcb footprint overlaps with another element");
2341
2359
  expectTypesMatch(
2342
2360
  true
2343
2361
  );
2344
2362
 
2345
2363
  // src/pcb/pcb_keepout.ts
2346
- import { z as z105 } from "zod";
2347
- var pcb_keepout = z105.object({
2348
- type: z105.literal("pcb_keepout"),
2349
- shape: z105.literal("rect"),
2350
- pcb_group_id: z105.string().optional(),
2351
- subcircuit_id: z105.string().optional(),
2364
+ import { z as z106 } from "zod";
2365
+ var pcb_keepout = z106.object({
2366
+ type: z106.literal("pcb_keepout"),
2367
+ shape: z106.literal("rect"),
2368
+ pcb_group_id: z106.string().optional(),
2369
+ subcircuit_id: z106.string().optional(),
2352
2370
  center: point,
2353
2371
  width: distance,
2354
2372
  height: distance,
2355
- pcb_keepout_id: z105.string(),
2356
- layers: z105.array(z105.string()),
2373
+ pcb_keepout_id: z106.string(),
2374
+ layers: z106.array(z106.string()),
2357
2375
  // Specify layers where the keepout applies
2358
- description: z105.string().optional()
2376
+ description: z106.string().optional()
2359
2377
  // Optional description of the keepout
2360
2378
  }).or(
2361
- z105.object({
2362
- type: z105.literal("pcb_keepout"),
2363
- shape: z105.literal("circle"),
2364
- pcb_group_id: z105.string().optional(),
2365
- subcircuit_id: z105.string().optional(),
2379
+ z106.object({
2380
+ type: z106.literal("pcb_keepout"),
2381
+ shape: z106.literal("circle"),
2382
+ pcb_group_id: z106.string().optional(),
2383
+ subcircuit_id: z106.string().optional(),
2366
2384
  center: point,
2367
2385
  radius: distance,
2368
- pcb_keepout_id: z105.string(),
2369
- layers: z105.array(z105.string()),
2386
+ pcb_keepout_id: z106.string(),
2387
+ layers: z106.array(z106.string()),
2370
2388
  // Specify layers where the keepout applies
2371
- description: z105.string().optional()
2389
+ description: z106.string().optional()
2372
2390
  // Optional description of the keepout
2373
2391
  })
2374
2392
  );
2375
2393
  expectTypesMatch(true);
2376
2394
 
2377
2395
  // src/pcb/pcb_cutout.ts
2378
- import { z as z106 } from "zod";
2379
- var pcb_cutout_base = z106.object({
2380
- type: z106.literal("pcb_cutout"),
2396
+ import { z as z107 } from "zod";
2397
+ var pcb_cutout_base = z107.object({
2398
+ type: z107.literal("pcb_cutout"),
2381
2399
  pcb_cutout_id: getZodPrefixedIdWithDefault("pcb_cutout"),
2382
- pcb_group_id: z106.string().optional(),
2383
- subcircuit_id: z106.string().optional(),
2384
- pcb_board_id: z106.string().optional(),
2385
- pcb_panel_id: z106.string().optional()
2400
+ pcb_group_id: z107.string().optional(),
2401
+ subcircuit_id: z107.string().optional(),
2402
+ pcb_board_id: z107.string().optional(),
2403
+ pcb_panel_id: z107.string().optional()
2386
2404
  });
2387
2405
  var pcb_cutout_rect = pcb_cutout_base.extend({
2388
- shape: z106.literal("rect"),
2406
+ shape: z107.literal("rect"),
2389
2407
  center: point,
2390
2408
  width: length,
2391
2409
  height: length,
@@ -2394,26 +2412,26 @@ var pcb_cutout_rect = pcb_cutout_base.extend({
2394
2412
  });
2395
2413
  expectTypesMatch(true);
2396
2414
  var pcb_cutout_circle = pcb_cutout_base.extend({
2397
- shape: z106.literal("circle"),
2415
+ shape: z107.literal("circle"),
2398
2416
  center: point,
2399
2417
  radius: length
2400
2418
  });
2401
2419
  expectTypesMatch(true);
2402
2420
  var pcb_cutout_polygon = pcb_cutout_base.extend({
2403
- shape: z106.literal("polygon"),
2404
- points: z106.array(point)
2421
+ shape: z107.literal("polygon"),
2422
+ points: z107.array(point)
2405
2423
  });
2406
2424
  expectTypesMatch(true);
2407
2425
  var pcb_cutout_path = pcb_cutout_base.extend({
2408
- shape: z106.literal("path"),
2409
- route: z106.array(point),
2426
+ shape: z107.literal("path"),
2427
+ route: z107.array(point),
2410
2428
  slot_width: length,
2411
2429
  slot_length: length.optional(),
2412
2430
  space_between_slots: length.optional(),
2413
2431
  slot_corner_radius: length.optional()
2414
2432
  });
2415
2433
  expectTypesMatch(true);
2416
- var pcb_cutout = z106.discriminatedUnion("shape", [
2434
+ var pcb_cutout = z107.discriminatedUnion("shape", [
2417
2435
  pcb_cutout_rect,
2418
2436
  pcb_cutout_circle,
2419
2437
  pcb_cutout_polygon,
@@ -2422,121 +2440,121 @@ var pcb_cutout = z106.discriminatedUnion("shape", [
2422
2440
  expectTypesMatch(true);
2423
2441
 
2424
2442
  // src/pcb/pcb_missing_footprint_error.ts
2425
- import { z as z107 } from "zod";
2426
- var pcb_missing_footprint_error = z107.object({
2427
- type: z107.literal("pcb_missing_footprint_error"),
2443
+ import { z as z108 } from "zod";
2444
+ var pcb_missing_footprint_error = z108.object({
2445
+ type: z108.literal("pcb_missing_footprint_error"),
2428
2446
  pcb_missing_footprint_error_id: getZodPrefixedIdWithDefault(
2429
2447
  "pcb_missing_footprint_error"
2430
2448
  ),
2431
- pcb_group_id: z107.string().optional(),
2432
- subcircuit_id: z107.string().optional(),
2433
- error_type: z107.literal("pcb_missing_footprint_error").default("pcb_missing_footprint_error"),
2434
- source_component_id: z107.string(),
2435
- message: z107.string()
2449
+ pcb_group_id: z108.string().optional(),
2450
+ subcircuit_id: z108.string().optional(),
2451
+ error_type: z108.literal("pcb_missing_footprint_error").default("pcb_missing_footprint_error"),
2452
+ source_component_id: z108.string(),
2453
+ message: z108.string()
2436
2454
  }).describe("Defines a missing footprint error on the PCB");
2437
2455
  expectTypesMatch(
2438
2456
  true
2439
2457
  );
2440
2458
 
2441
2459
  // src/pcb/external_footprint_load_error.ts
2442
- import { z as z108 } from "zod";
2443
- var external_footprint_load_error = z108.object({
2444
- type: z108.literal("external_footprint_load_error"),
2460
+ import { z as z109 } from "zod";
2461
+ var external_footprint_load_error = z109.object({
2462
+ type: z109.literal("external_footprint_load_error"),
2445
2463
  external_footprint_load_error_id: getZodPrefixedIdWithDefault(
2446
2464
  "external_footprint_load_error"
2447
2465
  ),
2448
- pcb_component_id: z108.string(),
2449
- source_component_id: z108.string(),
2450
- pcb_group_id: z108.string().optional(),
2451
- subcircuit_id: z108.string().optional(),
2452
- footprinter_string: z108.string().optional(),
2453
- error_type: z108.literal("external_footprint_load_error").default("external_footprint_load_error"),
2454
- message: z108.string()
2466
+ pcb_component_id: z109.string(),
2467
+ source_component_id: z109.string(),
2468
+ pcb_group_id: z109.string().optional(),
2469
+ subcircuit_id: z109.string().optional(),
2470
+ footprinter_string: z109.string().optional(),
2471
+ error_type: z109.literal("external_footprint_load_error").default("external_footprint_load_error"),
2472
+ message: z109.string()
2455
2473
  }).describe("Defines an error when an external footprint fails to load");
2456
2474
  expectTypesMatch(true);
2457
2475
 
2458
2476
  // src/pcb/circuit_json_footprint_load_error.ts
2459
- import { z as z109 } from "zod";
2460
- var circuit_json_footprint_load_error = z109.object({
2461
- type: z109.literal("circuit_json_footprint_load_error"),
2477
+ import { z as z110 } from "zod";
2478
+ var circuit_json_footprint_load_error = z110.object({
2479
+ type: z110.literal("circuit_json_footprint_load_error"),
2462
2480
  circuit_json_footprint_load_error_id: getZodPrefixedIdWithDefault(
2463
2481
  "circuit_json_footprint_load_error"
2464
2482
  ),
2465
- pcb_component_id: z109.string(),
2466
- source_component_id: z109.string(),
2467
- pcb_group_id: z109.string().optional(),
2468
- subcircuit_id: z109.string().optional(),
2469
- error_type: z109.literal("circuit_json_footprint_load_error").default("circuit_json_footprint_load_error"),
2470
- message: z109.string(),
2471
- circuit_json: z109.array(z109.any()).optional()
2483
+ pcb_component_id: z110.string(),
2484
+ source_component_id: z110.string(),
2485
+ pcb_group_id: z110.string().optional(),
2486
+ subcircuit_id: z110.string().optional(),
2487
+ error_type: z110.literal("circuit_json_footprint_load_error").default("circuit_json_footprint_load_error"),
2488
+ message: z110.string(),
2489
+ circuit_json: z110.array(z110.any()).optional()
2472
2490
  }).describe("Defines an error when a circuit JSON footprint fails to load");
2473
2491
  expectTypesMatch(true);
2474
2492
 
2475
2493
  // src/pcb/pcb_group.ts
2476
- import { z as z110 } from "zod";
2477
- var pcb_group = z110.object({
2478
- type: z110.literal("pcb_group"),
2494
+ import { z as z111 } from "zod";
2495
+ var pcb_group = z111.object({
2496
+ type: z111.literal("pcb_group"),
2479
2497
  pcb_group_id: getZodPrefixedIdWithDefault("pcb_group"),
2480
- source_group_id: z110.string(),
2481
- is_subcircuit: z110.boolean().optional(),
2482
- subcircuit_id: z110.string().optional(),
2498
+ source_group_id: z111.string(),
2499
+ is_subcircuit: z111.boolean().optional(),
2500
+ subcircuit_id: z111.string().optional(),
2483
2501
  width: length.optional(),
2484
2502
  height: length.optional(),
2485
2503
  center: point,
2486
- outline: z110.array(point).optional(),
2504
+ outline: z111.array(point).optional(),
2487
2505
  anchor_position: point.optional(),
2488
- anchor_alignment: z110.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).optional(),
2489
- pcb_component_ids: z110.array(z110.string()),
2490
- child_layout_mode: z110.enum(["packed", "none"]).optional(),
2491
- name: z110.string().optional(),
2492
- description: z110.string().optional(),
2493
- layout_mode: z110.string().optional(),
2494
- autorouter_configuration: z110.object({
2506
+ anchor_alignment: z111.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).optional(),
2507
+ pcb_component_ids: z111.array(z111.string()),
2508
+ child_layout_mode: z111.enum(["packed", "none"]).optional(),
2509
+ name: z111.string().optional(),
2510
+ description: z111.string().optional(),
2511
+ layout_mode: z111.string().optional(),
2512
+ autorouter_configuration: z111.object({
2495
2513
  trace_clearance: length
2496
2514
  }).optional(),
2497
- autorouter_used_string: z110.string().optional()
2515
+ autorouter_used_string: z111.string().optional()
2498
2516
  }).describe("Defines a group of components on the PCB");
2499
2517
  expectTypesMatch(true);
2500
2518
 
2501
2519
  // src/pcb/pcb_autorouting_error.ts
2502
- import { z as z111 } from "zod";
2503
- var pcb_autorouting_error = z111.object({
2504
- type: z111.literal("pcb_autorouting_error"),
2520
+ import { z as z112 } from "zod";
2521
+ var pcb_autorouting_error = z112.object({
2522
+ type: z112.literal("pcb_autorouting_error"),
2505
2523
  pcb_error_id: getZodPrefixedIdWithDefault("pcb_autorouting_error"),
2506
- error_type: z111.literal("pcb_autorouting_error").default("pcb_autorouting_error"),
2507
- message: z111.string(),
2508
- subcircuit_id: z111.string().optional()
2524
+ error_type: z112.literal("pcb_autorouting_error").default("pcb_autorouting_error"),
2525
+ message: z112.string(),
2526
+ subcircuit_id: z112.string().optional()
2509
2527
  }).describe("The autorouting has failed to route a portion of the board");
2510
2528
  expectTypesMatch(true);
2511
2529
 
2512
2530
  // src/pcb/pcb_manual_edit_conflict_warning.ts
2513
- import { z as z112 } from "zod";
2514
- var pcb_manual_edit_conflict_warning = z112.object({
2515
- type: z112.literal("pcb_manual_edit_conflict_warning"),
2531
+ import { z as z113 } from "zod";
2532
+ var pcb_manual_edit_conflict_warning = z113.object({
2533
+ type: z113.literal("pcb_manual_edit_conflict_warning"),
2516
2534
  pcb_manual_edit_conflict_warning_id: getZodPrefixedIdWithDefault(
2517
2535
  "pcb_manual_edit_conflict_warning"
2518
2536
  ),
2519
- warning_type: z112.literal("pcb_manual_edit_conflict_warning").default("pcb_manual_edit_conflict_warning"),
2520
- message: z112.string(),
2521
- pcb_component_id: z112.string(),
2522
- pcb_group_id: z112.string().optional(),
2523
- subcircuit_id: z112.string().optional(),
2524
- source_component_id: z112.string()
2537
+ warning_type: z113.literal("pcb_manual_edit_conflict_warning").default("pcb_manual_edit_conflict_warning"),
2538
+ message: z113.string(),
2539
+ pcb_component_id: z113.string(),
2540
+ pcb_group_id: z113.string().optional(),
2541
+ subcircuit_id: z113.string().optional(),
2542
+ source_component_id: z113.string()
2525
2543
  }).describe(
2526
2544
  "Warning emitted when a component has both manual placement and explicit pcbX/pcbY coordinates"
2527
2545
  );
2528
2546
  expectTypesMatch(true);
2529
2547
 
2530
2548
  // src/pcb/pcb_breakout_point.ts
2531
- import { z as z113 } from "zod";
2532
- var pcb_breakout_point = z113.object({
2533
- type: z113.literal("pcb_breakout_point"),
2549
+ import { z as z114 } from "zod";
2550
+ var pcb_breakout_point = z114.object({
2551
+ type: z114.literal("pcb_breakout_point"),
2534
2552
  pcb_breakout_point_id: getZodPrefixedIdWithDefault("pcb_breakout_point"),
2535
- pcb_group_id: z113.string(),
2536
- subcircuit_id: z113.string().optional(),
2537
- source_trace_id: z113.string().optional(),
2538
- source_port_id: z113.string().optional(),
2539
- source_net_id: z113.string().optional(),
2553
+ pcb_group_id: z114.string(),
2554
+ subcircuit_id: z114.string().optional(),
2555
+ source_trace_id: z114.string().optional(),
2556
+ source_port_id: z114.string().optional(),
2557
+ source_net_id: z114.string().optional(),
2540
2558
  x: distance,
2541
2559
  y: distance
2542
2560
  }).describe(
@@ -2545,61 +2563,61 @@ var pcb_breakout_point = z113.object({
2545
2563
  expectTypesMatch(true);
2546
2564
 
2547
2565
  // src/pcb/pcb_ground_plane.ts
2548
- import { z as z114 } from "zod";
2549
- var pcb_ground_plane = z114.object({
2550
- type: z114.literal("pcb_ground_plane"),
2566
+ import { z as z115 } from "zod";
2567
+ var pcb_ground_plane = z115.object({
2568
+ type: z115.literal("pcb_ground_plane"),
2551
2569
  pcb_ground_plane_id: getZodPrefixedIdWithDefault("pcb_ground_plane"),
2552
- source_pcb_ground_plane_id: z114.string(),
2553
- source_net_id: z114.string(),
2554
- pcb_group_id: z114.string().optional(),
2555
- subcircuit_id: z114.string().optional()
2570
+ source_pcb_ground_plane_id: z115.string(),
2571
+ source_net_id: z115.string(),
2572
+ pcb_group_id: z115.string().optional(),
2573
+ subcircuit_id: z115.string().optional()
2556
2574
  }).describe("Defines a ground plane on the PCB");
2557
2575
  expectTypesMatch(true);
2558
2576
 
2559
2577
  // src/pcb/pcb_ground_plane_region.ts
2560
- import { z as z115 } from "zod";
2561
- var pcb_ground_plane_region = z115.object({
2562
- type: z115.literal("pcb_ground_plane_region"),
2578
+ import { z as z116 } from "zod";
2579
+ var pcb_ground_plane_region = z116.object({
2580
+ type: z116.literal("pcb_ground_plane_region"),
2563
2581
  pcb_ground_plane_region_id: getZodPrefixedIdWithDefault(
2564
2582
  "pcb_ground_plane_region"
2565
2583
  ),
2566
- pcb_ground_plane_id: z115.string(),
2567
- pcb_group_id: z115.string().optional(),
2568
- subcircuit_id: z115.string().optional(),
2584
+ pcb_ground_plane_id: z116.string(),
2585
+ pcb_group_id: z116.string().optional(),
2586
+ subcircuit_id: z116.string().optional(),
2569
2587
  layer: layer_ref,
2570
- points: z115.array(point)
2588
+ points: z116.array(point)
2571
2589
  }).describe("Defines a polygon region of a ground plane");
2572
2590
  expectTypesMatch(true);
2573
2591
 
2574
2592
  // src/pcb/pcb_thermal_spoke.ts
2575
- import { z as z116 } from "zod";
2576
- var pcb_thermal_spoke = z116.object({
2577
- type: z116.literal("pcb_thermal_spoke"),
2593
+ import { z as z117 } from "zod";
2594
+ var pcb_thermal_spoke = z117.object({
2595
+ type: z117.literal("pcb_thermal_spoke"),
2578
2596
  pcb_thermal_spoke_id: getZodPrefixedIdWithDefault("pcb_thermal_spoke"),
2579
- pcb_ground_plane_id: z116.string(),
2580
- shape: z116.string(),
2581
- spoke_count: z116.number(),
2597
+ pcb_ground_plane_id: z117.string(),
2598
+ shape: z117.string(),
2599
+ spoke_count: z117.number(),
2582
2600
  spoke_thickness: distance,
2583
2601
  spoke_inner_diameter: distance,
2584
2602
  spoke_outer_diameter: distance,
2585
- pcb_plated_hole_id: z116.string().optional(),
2586
- subcircuit_id: z116.string().optional()
2603
+ pcb_plated_hole_id: z117.string().optional(),
2604
+ subcircuit_id: z117.string().optional()
2587
2605
  }).describe("Pattern for connecting a ground plane to a plated hole");
2588
2606
  expectTypesMatch(true);
2589
2607
 
2590
2608
  // src/pcb/pcb_copper_pour.ts
2591
- import { z as z117 } from "zod";
2592
- var pcb_copper_pour_base = z117.object({
2593
- type: z117.literal("pcb_copper_pour"),
2609
+ import { z as z118 } from "zod";
2610
+ var pcb_copper_pour_base = z118.object({
2611
+ type: z118.literal("pcb_copper_pour"),
2594
2612
  pcb_copper_pour_id: getZodPrefixedIdWithDefault("pcb_copper_pour"),
2595
- pcb_group_id: z117.string().optional(),
2596
- subcircuit_id: z117.string().optional(),
2613
+ pcb_group_id: z118.string().optional(),
2614
+ subcircuit_id: z118.string().optional(),
2597
2615
  layer: layer_ref,
2598
- source_net_id: z117.string().optional(),
2599
- covered_with_solder_mask: z117.boolean().optional().default(true)
2616
+ source_net_id: z118.string().optional(),
2617
+ covered_with_solder_mask: z118.boolean().optional().default(true)
2600
2618
  });
2601
2619
  var pcb_copper_pour_rect = pcb_copper_pour_base.extend({
2602
- shape: z117.literal("rect"),
2620
+ shape: z118.literal("rect"),
2603
2621
  center: point,
2604
2622
  width: length,
2605
2623
  height: length,
@@ -2607,16 +2625,16 @@ var pcb_copper_pour_rect = pcb_copper_pour_base.extend({
2607
2625
  });
2608
2626
  expectTypesMatch(true);
2609
2627
  var pcb_copper_pour_brep = pcb_copper_pour_base.extend({
2610
- shape: z117.literal("brep"),
2628
+ shape: z118.literal("brep"),
2611
2629
  brep_shape
2612
2630
  });
2613
2631
  expectTypesMatch(true);
2614
2632
  var pcb_copper_pour_polygon = pcb_copper_pour_base.extend({
2615
- shape: z117.literal("polygon"),
2616
- points: z117.array(point)
2633
+ shape: z118.literal("polygon"),
2634
+ points: z118.array(point)
2617
2635
  });
2618
2636
  expectTypesMatch(true);
2619
- var pcb_copper_pour = z117.discriminatedUnion("shape", [
2637
+ var pcb_copper_pour = z118.discriminatedUnion("shape", [
2620
2638
  pcb_copper_pour_rect,
2621
2639
  pcb_copper_pour_brep,
2622
2640
  pcb_copper_pour_polygon
@@ -2624,147 +2642,147 @@ var pcb_copper_pour = z117.discriminatedUnion("shape", [
2624
2642
  expectTypesMatch(true);
2625
2643
 
2626
2644
  // src/pcb/pcb_component_outside_board_error.ts
2627
- import { z as z118 } from "zod";
2628
- var pcb_component_outside_board_error = z118.object({
2629
- type: z118.literal("pcb_component_outside_board_error"),
2645
+ import { z as z119 } from "zod";
2646
+ var pcb_component_outside_board_error = z119.object({
2647
+ type: z119.literal("pcb_component_outside_board_error"),
2630
2648
  pcb_component_outside_board_error_id: getZodPrefixedIdWithDefault(
2631
2649
  "pcb_component_outside_board_error"
2632
2650
  ),
2633
- error_type: z118.literal("pcb_component_outside_board_error").default("pcb_component_outside_board_error"),
2634
- message: z118.string(),
2635
- pcb_component_id: z118.string(),
2636
- pcb_board_id: z118.string(),
2651
+ error_type: z119.literal("pcb_component_outside_board_error").default("pcb_component_outside_board_error"),
2652
+ message: z119.string(),
2653
+ pcb_component_id: z119.string(),
2654
+ pcb_board_id: z119.string(),
2637
2655
  component_center: point,
2638
- component_bounds: z118.object({
2639
- min_x: z118.number(),
2640
- max_x: z118.number(),
2641
- min_y: z118.number(),
2642
- max_y: z118.number()
2656
+ component_bounds: z119.object({
2657
+ min_x: z119.number(),
2658
+ max_x: z119.number(),
2659
+ min_y: z119.number(),
2660
+ max_y: z119.number()
2643
2661
  }),
2644
- subcircuit_id: z118.string().optional(),
2645
- source_component_id: z118.string().optional()
2662
+ subcircuit_id: z119.string().optional(),
2663
+ source_component_id: z119.string().optional()
2646
2664
  }).describe(
2647
2665
  "Error emitted when a PCB component is placed outside the board boundaries"
2648
2666
  );
2649
2667
  expectTypesMatch(true);
2650
2668
 
2651
2669
  // src/pcb/pcb_component_invalid_layer_error.ts
2652
- import { z as z119 } from "zod";
2653
- var pcb_component_invalid_layer_error = z119.object({
2654
- type: z119.literal("pcb_component_invalid_layer_error"),
2670
+ import { z as z120 } from "zod";
2671
+ var pcb_component_invalid_layer_error = z120.object({
2672
+ type: z120.literal("pcb_component_invalid_layer_error"),
2655
2673
  pcb_component_invalid_layer_error_id: getZodPrefixedIdWithDefault(
2656
2674
  "pcb_component_invalid_layer_error"
2657
2675
  ),
2658
- error_type: z119.literal("pcb_component_invalid_layer_error").default("pcb_component_invalid_layer_error"),
2659
- message: z119.string(),
2660
- pcb_component_id: z119.string().optional(),
2661
- source_component_id: z119.string(),
2676
+ error_type: z120.literal("pcb_component_invalid_layer_error").default("pcb_component_invalid_layer_error"),
2677
+ message: z120.string(),
2678
+ pcb_component_id: z120.string().optional(),
2679
+ source_component_id: z120.string(),
2662
2680
  layer: layer_ref,
2663
- subcircuit_id: z119.string().optional()
2681
+ subcircuit_id: z120.string().optional()
2664
2682
  }).describe(
2665
2683
  "Error emitted when a component is placed on an invalid layer (components can only be on 'top' or 'bottom' layers)"
2666
2684
  );
2667
2685
  expectTypesMatch(true);
2668
2686
 
2669
2687
  // src/pcb/pcb_via_clearance_error.ts
2670
- import { z as z120 } from "zod";
2671
- var pcb_via_clearance_error = z120.object({
2672
- type: z120.literal("pcb_via_clearance_error"),
2688
+ import { z as z121 } from "zod";
2689
+ var pcb_via_clearance_error = z121.object({
2690
+ type: z121.literal("pcb_via_clearance_error"),
2673
2691
  pcb_error_id: getZodPrefixedIdWithDefault("pcb_error"),
2674
- error_type: z120.literal("pcb_via_clearance_error").default("pcb_via_clearance_error"),
2675
- message: z120.string(),
2676
- pcb_via_ids: z120.array(z120.string()).min(2),
2692
+ error_type: z121.literal("pcb_via_clearance_error").default("pcb_via_clearance_error"),
2693
+ message: z121.string(),
2694
+ pcb_via_ids: z121.array(z121.string()).min(2),
2677
2695
  minimum_clearance: distance.optional(),
2678
2696
  actual_clearance: distance.optional(),
2679
- pcb_center: z120.object({
2680
- x: z120.number().optional(),
2681
- y: z120.number().optional()
2697
+ pcb_center: z121.object({
2698
+ x: z121.number().optional(),
2699
+ y: z121.number().optional()
2682
2700
  }).optional(),
2683
- subcircuit_id: z120.string().optional()
2701
+ subcircuit_id: z121.string().optional()
2684
2702
  }).describe("Error emitted when vias are closer than the allowed clearance");
2685
2703
  expectTypesMatch(true);
2686
2704
 
2687
2705
  // src/pcb/pcb_courtyard_rect.ts
2688
- import { z as z121 } from "zod";
2689
- var pcb_courtyard_rect = z121.object({
2690
- type: z121.literal("pcb_courtyard_rect"),
2706
+ import { z as z122 } from "zod";
2707
+ var pcb_courtyard_rect = z122.object({
2708
+ type: z122.literal("pcb_courtyard_rect"),
2691
2709
  pcb_courtyard_rect_id: getZodPrefixedIdWithDefault("pcb_courtyard_rect"),
2692
- pcb_component_id: z121.string(),
2693
- pcb_group_id: z121.string().optional(),
2694
- subcircuit_id: z121.string().optional(),
2710
+ pcb_component_id: z122.string(),
2711
+ pcb_group_id: z122.string().optional(),
2712
+ subcircuit_id: z122.string().optional(),
2695
2713
  center: point,
2696
2714
  width: length,
2697
2715
  height: length,
2698
2716
  layer: visible_layer,
2699
- color: z121.string().optional()
2717
+ color: z122.string().optional()
2700
2718
  }).describe("Defines a courtyard rectangle on the PCB");
2701
2719
  expectTypesMatch(true);
2702
2720
 
2703
2721
  // src/pcb/pcb_courtyard_outline.ts
2704
- import { z as z122 } from "zod";
2705
- var pcb_courtyard_outline = z122.object({
2706
- type: z122.literal("pcb_courtyard_outline"),
2722
+ import { z as z123 } from "zod";
2723
+ var pcb_courtyard_outline = z123.object({
2724
+ type: z123.literal("pcb_courtyard_outline"),
2707
2725
  pcb_courtyard_outline_id: getZodPrefixedIdWithDefault(
2708
2726
  "pcb_courtyard_outline"
2709
2727
  ),
2710
- pcb_component_id: z122.string(),
2711
- pcb_group_id: z122.string().optional(),
2712
- subcircuit_id: z122.string().optional(),
2728
+ pcb_component_id: z123.string(),
2729
+ pcb_group_id: z123.string().optional(),
2730
+ subcircuit_id: z123.string().optional(),
2713
2731
  layer: visible_layer,
2714
- outline: z122.array(point).min(2),
2732
+ outline: z123.array(point).min(2),
2715
2733
  stroke_width: length.default("0.1mm"),
2716
- is_closed: z122.boolean().optional(),
2717
- is_stroke_dashed: z122.boolean().optional(),
2718
- color: z122.string().optional()
2734
+ is_closed: z123.boolean().optional(),
2735
+ is_stroke_dashed: z123.boolean().optional(),
2736
+ color: z123.string().optional()
2719
2737
  }).describe("Defines a courtyard outline on the PCB");
2720
2738
  expectTypesMatch(true);
2721
2739
 
2722
2740
  // src/pcb/pcb_courtyard_polygon.ts
2723
- import { z as z123 } from "zod";
2724
- var pcb_courtyard_polygon = z123.object({
2725
- type: z123.literal("pcb_courtyard_polygon"),
2741
+ import { z as z124 } from "zod";
2742
+ var pcb_courtyard_polygon = z124.object({
2743
+ type: z124.literal("pcb_courtyard_polygon"),
2726
2744
  pcb_courtyard_polygon_id: getZodPrefixedIdWithDefault(
2727
2745
  "pcb_courtyard_polygon"
2728
2746
  ),
2729
- pcb_component_id: z123.string(),
2730
- pcb_group_id: z123.string().optional(),
2731
- subcircuit_id: z123.string().optional(),
2747
+ pcb_component_id: z124.string(),
2748
+ pcb_group_id: z124.string().optional(),
2749
+ subcircuit_id: z124.string().optional(),
2732
2750
  layer: visible_layer,
2733
- points: z123.array(point).min(3),
2734
- color: z123.string().optional()
2751
+ points: z124.array(point).min(3),
2752
+ color: z124.string().optional()
2735
2753
  }).describe("Defines a courtyard polygon on the PCB");
2736
2754
  expectTypesMatch(true);
2737
2755
 
2738
2756
  // src/cad/cad_component.ts
2739
- import { z as z124 } from "zod";
2740
- var cad_component = z124.object({
2741
- type: z124.literal("cad_component"),
2742
- cad_component_id: z124.string(),
2743
- pcb_component_id: z124.string(),
2744
- source_component_id: z124.string(),
2757
+ import { z as z125 } from "zod";
2758
+ var cad_component = z125.object({
2759
+ type: z125.literal("cad_component"),
2760
+ cad_component_id: z125.string(),
2761
+ pcb_component_id: z125.string(),
2762
+ source_component_id: z125.string(),
2745
2763
  position: point3,
2746
2764
  rotation: point3.optional(),
2747
2765
  size: point3.optional(),
2748
2766
  layer: layer_ref.optional(),
2749
- subcircuit_id: z124.string().optional(),
2767
+ subcircuit_id: z125.string().optional(),
2750
2768
  // These are all ways to generate/load the 3d model
2751
- footprinter_string: z124.string().optional(),
2752
- model_obj_url: z124.string().optional(),
2753
- model_stl_url: z124.string().optional(),
2754
- model_3mf_url: z124.string().optional(),
2755
- model_gltf_url: z124.string().optional(),
2756
- model_glb_url: z124.string().optional(),
2757
- model_step_url: z124.string().optional(),
2758
- model_wrl_url: z124.string().optional(),
2759
- model_unit_to_mm_scale_factor: z124.number().optional(),
2760
- model_jscad: z124.any().optional()
2769
+ footprinter_string: z125.string().optional(),
2770
+ model_obj_url: z125.string().optional(),
2771
+ model_stl_url: z125.string().optional(),
2772
+ model_3mf_url: z125.string().optional(),
2773
+ model_gltf_url: z125.string().optional(),
2774
+ model_glb_url: z125.string().optional(),
2775
+ model_step_url: z125.string().optional(),
2776
+ model_wrl_url: z125.string().optional(),
2777
+ model_unit_to_mm_scale_factor: z125.number().optional(),
2778
+ model_jscad: z125.any().optional()
2761
2779
  }).describe("Defines a component on the PCB");
2762
2780
  expectTypesMatch(true);
2763
2781
 
2764
2782
  // src/simulation/simulation_voltage_source.ts
2765
- import { z as z125 } from "zod";
2766
- var wave_shape = z125.enum(["sinewave", "square", "triangle", "sawtooth"]);
2767
- var percentage = z125.union([z125.string(), z125.number()]).transform((val) => {
2783
+ import { z as z126 } from "zod";
2784
+ var wave_shape = z126.enum(["sinewave", "square", "triangle", "sawtooth"]);
2785
+ var percentage = z126.union([z126.string(), z126.number()]).transform((val) => {
2768
2786
  if (typeof val === "string") {
2769
2787
  if (val.endsWith("%")) {
2770
2788
  return parseFloat(val.slice(0, -1)) / 100;
@@ -2773,30 +2791,30 @@ var percentage = z125.union([z125.string(), z125.number()]).transform((val) => {
2773
2791
  }
2774
2792
  return val;
2775
2793
  }).pipe(
2776
- z125.number().min(0, "Duty cycle must be non-negative").max(1, "Duty cycle cannot be greater than 100%")
2794
+ z126.number().min(0, "Duty cycle must be non-negative").max(1, "Duty cycle cannot be greater than 100%")
2777
2795
  );
2778
- var simulation_dc_voltage_source = z125.object({
2779
- type: z125.literal("simulation_voltage_source"),
2796
+ var simulation_dc_voltage_source = z126.object({
2797
+ type: z126.literal("simulation_voltage_source"),
2780
2798
  simulation_voltage_source_id: getZodPrefixedIdWithDefault(
2781
2799
  "simulation_voltage_source"
2782
2800
  ),
2783
- is_dc_source: z125.literal(true).optional().default(true),
2784
- positive_source_port_id: z125.string().optional(),
2785
- negative_source_port_id: z125.string().optional(),
2786
- positive_source_net_id: z125.string().optional(),
2787
- negative_source_net_id: z125.string().optional(),
2801
+ is_dc_source: z126.literal(true).optional().default(true),
2802
+ positive_source_port_id: z126.string().optional(),
2803
+ negative_source_port_id: z126.string().optional(),
2804
+ positive_source_net_id: z126.string().optional(),
2805
+ negative_source_net_id: z126.string().optional(),
2788
2806
  voltage
2789
2807
  }).describe("Defines a DC voltage source for simulation");
2790
- var simulation_ac_voltage_source = z125.object({
2791
- type: z125.literal("simulation_voltage_source"),
2808
+ var simulation_ac_voltage_source = z126.object({
2809
+ type: z126.literal("simulation_voltage_source"),
2792
2810
  simulation_voltage_source_id: getZodPrefixedIdWithDefault(
2793
2811
  "simulation_voltage_source"
2794
2812
  ),
2795
- is_dc_source: z125.literal(false),
2796
- terminal1_source_port_id: z125.string().optional(),
2797
- terminal2_source_port_id: z125.string().optional(),
2798
- terminal1_source_net_id: z125.string().optional(),
2799
- terminal2_source_net_id: z125.string().optional(),
2813
+ is_dc_source: z126.literal(false),
2814
+ terminal1_source_port_id: z126.string().optional(),
2815
+ terminal2_source_port_id: z126.string().optional(),
2816
+ terminal1_source_net_id: z126.string().optional(),
2817
+ terminal2_source_net_id: z126.string().optional(),
2800
2818
  voltage: voltage.optional(),
2801
2819
  frequency: frequency.optional(),
2802
2820
  peak_to_peak_voltage: voltage.optional(),
@@ -2804,25 +2822,25 @@ var simulation_ac_voltage_source = z125.object({
2804
2822
  phase: rotation.optional(),
2805
2823
  duty_cycle: percentage.optional()
2806
2824
  }).describe("Defines an AC voltage source for simulation");
2807
- var simulation_voltage_source = z125.union([simulation_dc_voltage_source, simulation_ac_voltage_source]).describe("Defines a voltage source for simulation");
2825
+ var simulation_voltage_source = z126.union([simulation_dc_voltage_source, simulation_ac_voltage_source]).describe("Defines a voltage source for simulation");
2808
2826
  expectTypesMatch(true);
2809
2827
  expectTypesMatch(true);
2810
2828
  expectTypesMatch(true);
2811
2829
 
2812
2830
  // src/simulation/simulation_experiment.ts
2813
- import { z as z126 } from "zod";
2814
- var experiment_type = z126.union([
2815
- z126.literal("spice_dc_sweep"),
2816
- z126.literal("spice_dc_operating_point"),
2817
- z126.literal("spice_transient_analysis"),
2818
- z126.literal("spice_ac_analysis")
2831
+ import { z as z127 } from "zod";
2832
+ var experiment_type = z127.union([
2833
+ z127.literal("spice_dc_sweep"),
2834
+ z127.literal("spice_dc_operating_point"),
2835
+ z127.literal("spice_transient_analysis"),
2836
+ z127.literal("spice_ac_analysis")
2819
2837
  ]);
2820
- var simulation_experiment = z126.object({
2821
- type: z126.literal("simulation_experiment"),
2838
+ var simulation_experiment = z127.object({
2839
+ type: z127.literal("simulation_experiment"),
2822
2840
  simulation_experiment_id: getZodPrefixedIdWithDefault(
2823
2841
  "simulation_experiment"
2824
2842
  ),
2825
- name: z126.string(),
2843
+ name: z127.string(),
2826
2844
  experiment_type,
2827
2845
  time_per_step: duration_ms.optional(),
2828
2846
  start_time_ms: ms.optional(),
@@ -2831,51 +2849,51 @@ var simulation_experiment = z126.object({
2831
2849
  expectTypesMatch(true);
2832
2850
 
2833
2851
  // src/simulation/simulation_transient_voltage_graph.ts
2834
- import { z as z127 } from "zod";
2835
- var simulation_transient_voltage_graph = z127.object({
2836
- type: z127.literal("simulation_transient_voltage_graph"),
2852
+ import { z as z128 } from "zod";
2853
+ var simulation_transient_voltage_graph = z128.object({
2854
+ type: z128.literal("simulation_transient_voltage_graph"),
2837
2855
  simulation_transient_voltage_graph_id: getZodPrefixedIdWithDefault(
2838
2856
  "simulation_transient_voltage_graph"
2839
2857
  ),
2840
- simulation_experiment_id: z127.string(),
2841
- timestamps_ms: z127.array(z127.number()).optional(),
2842
- voltage_levels: z127.array(z127.number()),
2843
- source_component_id: z127.string().optional(),
2844
- subcircuit_connectivity_map_key: z127.string().optional(),
2858
+ simulation_experiment_id: z128.string(),
2859
+ timestamps_ms: z128.array(z128.number()).optional(),
2860
+ voltage_levels: z128.array(z128.number()),
2861
+ source_component_id: z128.string().optional(),
2862
+ subcircuit_connectivity_map_key: z128.string().optional(),
2845
2863
  time_per_step: duration_ms,
2846
2864
  start_time_ms: ms,
2847
2865
  end_time_ms: ms,
2848
- name: z127.string().optional(),
2849
- color: z127.string().optional()
2866
+ name: z128.string().optional(),
2867
+ color: z128.string().optional()
2850
2868
  }).describe("Stores voltage measurements over time for a simulation");
2851
2869
  expectTypesMatch(true);
2852
2870
 
2853
2871
  // src/simulation/simulation_switch.ts
2854
- import { z as z128 } from "zod";
2855
- var simulation_switch = z128.object({
2856
- type: z128.literal("simulation_switch"),
2872
+ import { z as z129 } from "zod";
2873
+ var simulation_switch = z129.object({
2874
+ type: z129.literal("simulation_switch"),
2857
2875
  simulation_switch_id: getZodPrefixedIdWithDefault("simulation_switch"),
2858
- source_component_id: z128.string().optional(),
2876
+ source_component_id: z129.string().optional(),
2859
2877
  closes_at: ms.optional(),
2860
2878
  opens_at: ms.optional(),
2861
- starts_closed: z128.boolean().optional(),
2879
+ starts_closed: z129.boolean().optional(),
2862
2880
  switching_frequency: frequency.optional()
2863
2881
  }).describe("Defines a switch for simulation timing control");
2864
2882
  expectTypesMatch(true);
2865
2883
 
2866
2884
  // src/simulation/simulation_voltage_probe.ts
2867
- import { z as z129 } from "zod";
2868
- var simulation_voltage_probe = z129.object({
2869
- type: z129.literal("simulation_voltage_probe"),
2885
+ import { z as z130 } from "zod";
2886
+ var simulation_voltage_probe = z130.object({
2887
+ type: z130.literal("simulation_voltage_probe"),
2870
2888
  simulation_voltage_probe_id: getZodPrefixedIdWithDefault(
2871
2889
  "simulation_voltage_probe"
2872
2890
  ),
2873
- source_component_id: z129.string().optional(),
2874
- name: z129.string().optional(),
2875
- source_port_id: z129.string().optional(),
2876
- source_net_id: z129.string().optional(),
2877
- subcircuit_id: z129.string().optional(),
2878
- color: z129.string().optional()
2891
+ source_component_id: z130.string().optional(),
2892
+ name: z130.string().optional(),
2893
+ source_port_id: z130.string().optional(),
2894
+ source_net_id: z130.string().optional(),
2895
+ subcircuit_id: z130.string().optional(),
2896
+ color: z130.string().optional()
2879
2897
  }).describe(
2880
2898
  "Defines a voltage probe for simulation, connected to a port or a net"
2881
2899
  ).refine(
@@ -2887,22 +2905,22 @@ var simulation_voltage_probe = z129.object({
2887
2905
  expectTypesMatch(true);
2888
2906
 
2889
2907
  // src/simulation/simulation_unknown_experiment_error.ts
2890
- import { z as z130 } from "zod";
2891
- var simulation_unknown_experiment_error = z130.object({
2892
- type: z130.literal("simulation_unknown_experiment_error"),
2908
+ import { z as z131 } from "zod";
2909
+ var simulation_unknown_experiment_error = z131.object({
2910
+ type: z131.literal("simulation_unknown_experiment_error"),
2893
2911
  simulation_unknown_experiment_error_id: getZodPrefixedIdWithDefault(
2894
2912
  "simulation_unknown_experiment_error"
2895
2913
  ),
2896
- error_type: z130.literal("simulation_unknown_experiment_error").default("simulation_unknown_experiment_error"),
2897
- message: z130.string(),
2898
- simulation_experiment_id: z130.string().optional(),
2899
- subcircuit_id: z130.string().optional()
2914
+ error_type: z131.literal("simulation_unknown_experiment_error").default("simulation_unknown_experiment_error"),
2915
+ message: z131.string(),
2916
+ simulation_experiment_id: z131.string().optional(),
2917
+ subcircuit_id: z131.string().optional()
2900
2918
  }).describe("An unknown error occurred during the simulation experiment.");
2901
2919
  expectTypesMatch(true);
2902
2920
 
2903
2921
  // src/any_circuit_element.ts
2904
- import { z as z131 } from "zod";
2905
- var any_circuit_element = z131.union([
2922
+ import { z as z132 } from "zod";
2923
+ var any_circuit_element = z132.union([
2906
2924
  source_trace,
2907
2925
  source_port,
2908
2926
  any_source_component,
@@ -2931,6 +2949,7 @@ var any_circuit_element = z131.union([
2931
2949
  source_project_metadata,
2932
2950
  source_trace_not_connected_error,
2933
2951
  source_pin_missing_trace_warning,
2952
+ source_pin_must_be_connected_error,
2934
2953
  unknown_error_finding_part,
2935
2954
  pcb_component,
2936
2955
  pcb_hole,
@@ -3166,6 +3185,7 @@ export {
3166
3185
  source_net,
3167
3186
  source_pcb_ground_plane,
3168
3187
  source_pin_missing_trace_warning,
3188
+ source_pin_must_be_connected_error,
3169
3189
  source_port,
3170
3190
  source_project_metadata,
3171
3191
  source_property_ignored_warning,