circuit-json 0.0.273 → 0.0.275

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
@@ -718,22 +718,32 @@ var source_net = z39.object({
718
718
  });
719
719
  expectTypesMatch(true);
720
720
 
721
- // src/source/source_pcb_ground_plane.ts
721
+ // src/source/source_board.ts
722
722
  import { z as z40 } from "zod";
723
- var source_pcb_ground_plane = z40.object({
724
- type: z40.literal("source_pcb_ground_plane"),
725
- source_pcb_ground_plane_id: z40.string(),
723
+ var source_board = z40.object({
724
+ type: z40.literal("source_board"),
725
+ source_board_id: z40.string(),
726
726
  source_group_id: z40.string(),
727
- source_net_id: z40.string(),
728
- subcircuit_id: z40.string().optional()
727
+ title: z40.string().optional()
728
+ }).describe("Defines a board in the source domain");
729
+ expectTypesMatch(true);
730
+
731
+ // src/source/source_pcb_ground_plane.ts
732
+ import { z as z41 } from "zod";
733
+ var source_pcb_ground_plane = z41.object({
734
+ type: z41.literal("source_pcb_ground_plane"),
735
+ source_pcb_ground_plane_id: z41.string(),
736
+ source_group_id: z41.string(),
737
+ source_net_id: z41.string(),
738
+ subcircuit_id: z41.string().optional()
729
739
  }).describe("Defines a ground plane in the source domain");
730
740
  expectTypesMatch(true);
731
741
 
732
742
  // src/source/source_manually_placed_via.ts
733
- import { z as z42 } from "zod";
743
+ import { z as z43 } from "zod";
734
744
 
735
745
  // src/pcb/properties/layer_ref.ts
736
- import { z as z41 } from "zod";
746
+ import { z as z42 } from "zod";
737
747
  var all_layers = [
738
748
  "top",
739
749
  "bottom",
@@ -744,9 +754,9 @@ var all_layers = [
744
754
  "inner5",
745
755
  "inner6"
746
756
  ];
747
- var layer_string = z41.enum(all_layers);
757
+ var layer_string = z42.enum(all_layers);
748
758
  var layer_ref = layer_string.or(
749
- z41.object({
759
+ z42.object({
750
760
  name: layer_string
751
761
  })
752
762
  ).transform((layer) => {
@@ -756,220 +766,220 @@ var layer_ref = layer_string.or(
756
766
  return layer.name;
757
767
  });
758
768
  expectTypesMatch(true);
759
- var visible_layer = z41.enum(["top", "bottom"]);
769
+ var visible_layer = z42.enum(["top", "bottom"]);
760
770
 
761
771
  // src/source/source_manually_placed_via.ts
762
- var source_manually_placed_via = z42.object({
763
- type: z42.literal("source_manually_placed_via"),
764
- source_manually_placed_via_id: z42.string(),
765
- source_group_id: z42.string(),
766
- source_net_id: z42.string(),
767
- subcircuit_id: z42.string().optional(),
768
- source_trace_id: z42.string().optional()
772
+ var source_manually_placed_via = z43.object({
773
+ type: z43.literal("source_manually_placed_via"),
774
+ source_manually_placed_via_id: z43.string(),
775
+ source_group_id: z43.string(),
776
+ source_net_id: z43.string(),
777
+ subcircuit_id: z43.string().optional(),
778
+ source_trace_id: z43.string().optional()
769
779
  }).describe("Defines a via that is manually placed in the source domain");
770
780
  expectTypesMatch(true);
771
781
 
772
782
  // src/schematic/schematic_box.ts
773
- import { z as z43 } from "zod";
774
- var schematic_box = z43.object({
775
- type: z43.literal("schematic_box"),
776
- schematic_component_id: z43.string().optional(),
783
+ import { z as z44 } from "zod";
784
+ var schematic_box = z44.object({
785
+ type: z44.literal("schematic_box"),
786
+ schematic_component_id: z44.string().optional(),
777
787
  width: distance,
778
788
  height: distance,
779
- is_dashed: z43.boolean().default(false),
789
+ is_dashed: z44.boolean().default(false),
780
790
  x: distance,
781
791
  y: distance,
782
- subcircuit_id: z43.string().optional()
792
+ subcircuit_id: z44.string().optional()
783
793
  }).describe("Draws a box on the schematic");
784
794
  expectTypesMatch(true);
785
795
 
786
796
  // src/schematic/schematic_path.ts
787
- import { z as z44 } from "zod";
788
- var schematic_path = z44.object({
789
- type: z44.literal("schematic_path"),
790
- schematic_component_id: z44.string(),
791
- fill_color: z44.enum(["red", "blue"]).optional(),
792
- is_filled: z44.boolean().optional(),
793
- points: z44.array(point),
794
- subcircuit_id: z44.string().optional()
797
+ import { z as z45 } from "zod";
798
+ var schematic_path = z45.object({
799
+ type: z45.literal("schematic_path"),
800
+ schematic_component_id: z45.string(),
801
+ fill_color: z45.enum(["red", "blue"]).optional(),
802
+ is_filled: z45.boolean().optional(),
803
+ points: z45.array(point),
804
+ subcircuit_id: z45.string().optional()
795
805
  });
796
806
  expectTypesMatch(true);
797
807
 
798
808
  // src/schematic/schematic_component.ts
799
- import { z as z45 } from "zod";
800
- var schematic_pin_styles = z45.record(
801
- z45.object({
809
+ import { z as z46 } from "zod";
810
+ var schematic_pin_styles = z46.record(
811
+ z46.object({
802
812
  left_margin: length.optional(),
803
813
  right_margin: length.optional(),
804
814
  top_margin: length.optional(),
805
815
  bottom_margin: length.optional()
806
816
  })
807
817
  );
808
- var schematic_component_port_arrangement_by_size = z45.object({
809
- left_size: z45.number(),
810
- right_size: z45.number(),
811
- top_size: z45.number().optional(),
812
- bottom_size: z45.number().optional()
818
+ var schematic_component_port_arrangement_by_size = z46.object({
819
+ left_size: z46.number(),
820
+ right_size: z46.number(),
821
+ top_size: z46.number().optional(),
822
+ bottom_size: z46.number().optional()
813
823
  });
814
824
  expectTypesMatch(true);
815
- var schematic_component_port_arrangement_by_sides = z45.object({
816
- left_side: z45.object({
817
- pins: z45.array(z45.number()),
825
+ var schematic_component_port_arrangement_by_sides = z46.object({
826
+ left_side: z46.object({
827
+ pins: z46.array(z46.number()),
818
828
  // @ts-ignore
819
- direction: z45.enum(["top-to-bottom", "bottom-to-top"]).optional()
829
+ direction: z46.enum(["top-to-bottom", "bottom-to-top"]).optional()
820
830
  }).optional(),
821
- right_side: z45.object({
822
- pins: z45.array(z45.number()),
831
+ right_side: z46.object({
832
+ pins: z46.array(z46.number()),
823
833
  // @ts-ignore
824
- direction: z45.enum(["top-to-bottom", "bottom-to-top"]).optional()
834
+ direction: z46.enum(["top-to-bottom", "bottom-to-top"]).optional()
825
835
  }).optional(),
826
- top_side: z45.object({
827
- pins: z45.array(z45.number()),
836
+ top_side: z46.object({
837
+ pins: z46.array(z46.number()),
828
838
  // @ts-ignore
829
- direction: z45.enum(["left-to-right", "right-to-left"]).optional()
839
+ direction: z46.enum(["left-to-right", "right-to-left"]).optional()
830
840
  }).optional(),
831
- bottom_side: z45.object({
832
- pins: z45.array(z45.number()),
841
+ bottom_side: z46.object({
842
+ pins: z46.array(z46.number()),
833
843
  // @ts-ignore
834
- direction: z45.enum(["left-to-right", "right-to-left"]).optional()
844
+ direction: z46.enum(["left-to-right", "right-to-left"]).optional()
835
845
  }).optional()
836
846
  });
837
847
  expectTypesMatch(true);
838
- var port_arrangement = z45.union([
848
+ var port_arrangement = z46.union([
839
849
  schematic_component_port_arrangement_by_size,
840
850
  schematic_component_port_arrangement_by_sides
841
851
  ]);
842
- var schematic_component = z45.object({
843
- type: z45.literal("schematic_component"),
852
+ var schematic_component = z46.object({
853
+ type: z46.literal("schematic_component"),
844
854
  size,
845
855
  center: point,
846
- source_component_id: z45.string().optional(),
847
- schematic_component_id: z45.string(),
856
+ source_component_id: z46.string().optional(),
857
+ schematic_component_id: z46.string(),
848
858
  pin_spacing: length.optional(),
849
859
  pin_styles: schematic_pin_styles.optional(),
850
860
  box_width: length.optional(),
851
- symbol_name: z45.string().optional(),
861
+ symbol_name: z46.string().optional(),
852
862
  port_arrangement: port_arrangement.optional(),
853
- port_labels: z45.record(z45.string()).optional(),
854
- symbol_display_value: z45.string().optional(),
855
- subcircuit_id: z45.string().optional(),
856
- schematic_group_id: z45.string().optional(),
857
- is_schematic_group: z45.boolean().optional(),
858
- source_group_id: z45.string().optional(),
859
- is_box_with_pins: z45.boolean().optional().default(true)
863
+ port_labels: z46.record(z46.string()).optional(),
864
+ symbol_display_value: z46.string().optional(),
865
+ subcircuit_id: z46.string().optional(),
866
+ schematic_group_id: z46.string().optional(),
867
+ is_schematic_group: z46.boolean().optional(),
868
+ source_group_id: z46.string().optional(),
869
+ is_box_with_pins: z46.boolean().optional().default(true)
860
870
  });
861
871
  expectTypesMatch(true);
862
872
 
863
873
  // src/schematic/schematic_line.ts
864
- import { z as z46 } from "zod";
865
- var schematic_line = z46.object({
866
- type: z46.literal("schematic_line"),
874
+ import { z as z47 } from "zod";
875
+ var schematic_line = z47.object({
876
+ type: z47.literal("schematic_line"),
867
877
  schematic_line_id: getZodPrefixedIdWithDefault("schematic_line"),
868
- schematic_component_id: z46.string(),
878
+ schematic_component_id: z47.string(),
869
879
  x1: distance,
870
880
  y1: distance,
871
881
  x2: distance,
872
882
  y2: distance,
873
883
  stroke_width: distance.nullable().optional(),
874
- color: z46.string().default("#000000"),
875
- is_dashed: z46.boolean().default(false),
876
- subcircuit_id: z46.string().optional()
884
+ color: z47.string().default("#000000"),
885
+ is_dashed: z47.boolean().default(false),
886
+ subcircuit_id: z47.string().optional()
877
887
  }).describe("Draws a styled line on the schematic");
878
888
  expectTypesMatch(true);
879
889
 
880
890
  // src/schematic/schematic_rect.ts
881
- import { z as z47 } from "zod";
882
- var schematic_rect = z47.object({
883
- type: z47.literal("schematic_rect"),
891
+ import { z as z48 } from "zod";
892
+ var schematic_rect = z48.object({
893
+ type: z48.literal("schematic_rect"),
884
894
  schematic_rect_id: getZodPrefixedIdWithDefault("schematic_rect"),
885
- schematic_component_id: z47.string(),
895
+ schematic_component_id: z48.string(),
886
896
  center: point,
887
897
  width: distance,
888
898
  height: distance,
889
899
  rotation: rotation.default(0),
890
900
  stroke_width: distance.nullable().optional(),
891
- color: z47.string().default("#000000"),
892
- is_filled: z47.boolean().default(false),
893
- fill_color: z47.string().optional(),
894
- is_dashed: z47.boolean().default(false),
895
- subcircuit_id: z47.string().optional()
901
+ color: z48.string().default("#000000"),
902
+ is_filled: z48.boolean().default(false),
903
+ fill_color: z48.string().optional(),
904
+ is_dashed: z48.boolean().default(false),
905
+ subcircuit_id: z48.string().optional()
896
906
  }).describe("Draws a styled rectangle on the schematic");
897
907
  expectTypesMatch(true);
898
908
 
899
909
  // src/schematic/schematic_circle.ts
900
- import { z as z48 } from "zod";
901
- var schematic_circle = z48.object({
902
- type: z48.literal("schematic_circle"),
910
+ import { z as z49 } from "zod";
911
+ var schematic_circle = z49.object({
912
+ type: z49.literal("schematic_circle"),
903
913
  schematic_circle_id: getZodPrefixedIdWithDefault("schematic_circle"),
904
- schematic_component_id: z48.string(),
914
+ schematic_component_id: z49.string(),
905
915
  center: point,
906
916
  radius: distance,
907
917
  stroke_width: distance.nullable().optional(),
908
- color: z48.string().default("#000000"),
909
- is_filled: z48.boolean().default(false),
910
- fill_color: z48.string().optional(),
911
- is_dashed: z48.boolean().default(false),
912
- subcircuit_id: z48.string().optional()
918
+ color: z49.string().default("#000000"),
919
+ is_filled: z49.boolean().default(false),
920
+ fill_color: z49.string().optional(),
921
+ is_dashed: z49.boolean().default(false),
922
+ subcircuit_id: z49.string().optional()
913
923
  }).describe("Draws a styled circle on the schematic");
914
924
  expectTypesMatch(true);
915
925
 
916
926
  // src/schematic/schematic_arc.ts
917
- import { z as z49 } from "zod";
918
- var schematic_arc = z49.object({
919
- type: z49.literal("schematic_arc"),
927
+ import { z as z50 } from "zod";
928
+ var schematic_arc = z50.object({
929
+ type: z50.literal("schematic_arc"),
920
930
  schematic_arc_id: getZodPrefixedIdWithDefault("schematic_arc"),
921
- schematic_component_id: z49.string(),
931
+ schematic_component_id: z50.string(),
922
932
  center: point,
923
933
  radius: distance,
924
934
  start_angle_degrees: rotation,
925
935
  end_angle_degrees: rotation,
926
- direction: z49.enum(["clockwise", "counterclockwise"]).default("counterclockwise"),
936
+ direction: z50.enum(["clockwise", "counterclockwise"]).default("counterclockwise"),
927
937
  stroke_width: distance.nullable().optional(),
928
- color: z49.string().default("#000000"),
929
- is_dashed: z49.boolean().default(false),
930
- subcircuit_id: z49.string().optional()
938
+ color: z50.string().default("#000000"),
939
+ is_dashed: z50.boolean().default(false),
940
+ subcircuit_id: z50.string().optional()
931
941
  }).describe("Draws a styled arc on the schematic");
932
942
  expectTypesMatch(true);
933
943
 
934
944
  // src/schematic/schematic_trace.ts
935
- import { z as z50 } from "zod";
936
- var schematic_trace = z50.object({
937
- type: z50.literal("schematic_trace"),
938
- schematic_trace_id: z50.string(),
939
- source_trace_id: z50.string().optional(),
940
- junctions: z50.array(
941
- z50.object({
942
- x: z50.number(),
943
- y: z50.number()
945
+ import { z as z51 } from "zod";
946
+ var schematic_trace = z51.object({
947
+ type: z51.literal("schematic_trace"),
948
+ schematic_trace_id: z51.string(),
949
+ source_trace_id: z51.string().optional(),
950
+ junctions: z51.array(
951
+ z51.object({
952
+ x: z51.number(),
953
+ y: z51.number()
944
954
  })
945
955
  ),
946
- edges: z50.array(
947
- z50.object({
948
- from: z50.object({
949
- x: z50.number(),
950
- y: z50.number()
956
+ edges: z51.array(
957
+ z51.object({
958
+ from: z51.object({
959
+ x: z51.number(),
960
+ y: z51.number()
951
961
  }),
952
- to: z50.object({
953
- x: z50.number(),
954
- y: z50.number()
962
+ to: z51.object({
963
+ x: z51.number(),
964
+ y: z51.number()
955
965
  }),
956
- is_crossing: z50.boolean().optional(),
957
- from_schematic_port_id: z50.string().optional(),
958
- to_schematic_port_id: z50.string().optional()
966
+ is_crossing: z51.boolean().optional(),
967
+ from_schematic_port_id: z51.string().optional(),
968
+ to_schematic_port_id: z51.string().optional()
959
969
  })
960
970
  ),
961
- subcircuit_id: z50.string().optional(),
971
+ subcircuit_id: z51.string().optional(),
962
972
  // TODO: make required in a future release
963
- subcircuit_connectivity_map_key: z50.string().optional()
973
+ subcircuit_connectivity_map_key: z51.string().optional()
964
974
  });
965
975
  expectTypesMatch(true);
966
976
 
967
977
  // src/schematic/schematic_text.ts
968
- import { z as z52 } from "zod";
978
+ import { z as z53 } from "zod";
969
979
 
970
980
  // src/common/FivePointAnchor.ts
971
- import { z as z51 } from "zod";
972
- var fivePointAnchor = z51.enum([
981
+ import { z as z52 } from "zod";
982
+ var fivePointAnchor = z52.enum([
973
983
  "center",
974
984
  "left",
975
985
  "right",
@@ -979,111 +989,111 @@ var fivePointAnchor = z51.enum([
979
989
  expectTypesMatch(true);
980
990
 
981
991
  // src/schematic/schematic_text.ts
982
- var schematic_text = z52.object({
983
- type: z52.literal("schematic_text"),
984
- schematic_component_id: z52.string().optional(),
985
- schematic_text_id: z52.string(),
986
- text: z52.string(),
987
- font_size: z52.number().default(0.18),
988
- position: z52.object({
992
+ var schematic_text = z53.object({
993
+ type: z53.literal("schematic_text"),
994
+ schematic_component_id: z53.string().optional(),
995
+ schematic_text_id: z53.string(),
996
+ text: z53.string(),
997
+ font_size: z53.number().default(0.18),
998
+ position: z53.object({
989
999
  x: distance,
990
1000
  y: distance
991
1001
  }),
992
- rotation: z52.number().default(0),
993
- anchor: z52.union([fivePointAnchor.describe("legacy"), ninePointAnchor]).default("center"),
994
- color: z52.string().default("#000000"),
995
- subcircuit_id: z52.string().optional()
1002
+ rotation: z53.number().default(0),
1003
+ anchor: z53.union([fivePointAnchor.describe("legacy"), ninePointAnchor]).default("center"),
1004
+ color: z53.string().default("#000000"),
1005
+ subcircuit_id: z53.string().optional()
996
1006
  });
997
1007
  expectTypesMatch(true);
998
1008
 
999
1009
  // src/schematic/schematic_port.ts
1000
- import { z as z53 } from "zod";
1001
- var schematic_port = z53.object({
1002
- type: z53.literal("schematic_port"),
1003
- schematic_port_id: z53.string(),
1004
- source_port_id: z53.string(),
1005
- schematic_component_id: z53.string().optional(),
1010
+ import { z as z54 } from "zod";
1011
+ var schematic_port = z54.object({
1012
+ type: z54.literal("schematic_port"),
1013
+ schematic_port_id: z54.string(),
1014
+ source_port_id: z54.string(),
1015
+ schematic_component_id: z54.string().optional(),
1006
1016
  center: point,
1007
- facing_direction: z53.enum(["up", "down", "left", "right"]).optional(),
1008
- distance_from_component_edge: z53.number().optional(),
1009
- side_of_component: z53.enum(["top", "bottom", "left", "right"]).optional(),
1010
- true_ccw_index: z53.number().optional(),
1011
- pin_number: z53.number().optional(),
1012
- display_pin_label: z53.string().optional(),
1013
- subcircuit_id: z53.string().optional(),
1014
- is_connected: z53.boolean().optional(),
1015
- has_input_arrow: z53.boolean().optional(),
1016
- has_output_arrow: z53.boolean().optional()
1017
+ facing_direction: z54.enum(["up", "down", "left", "right"]).optional(),
1018
+ distance_from_component_edge: z54.number().optional(),
1019
+ side_of_component: z54.enum(["top", "bottom", "left", "right"]).optional(),
1020
+ true_ccw_index: z54.number().optional(),
1021
+ pin_number: z54.number().optional(),
1022
+ display_pin_label: z54.string().optional(),
1023
+ subcircuit_id: z54.string().optional(),
1024
+ is_connected: z54.boolean().optional(),
1025
+ has_input_arrow: z54.boolean().optional(),
1026
+ has_output_arrow: z54.boolean().optional()
1017
1027
  }).describe("Defines a port on a schematic component");
1018
1028
  expectTypesMatch(true);
1019
1029
 
1020
1030
  // src/schematic/schematic_net_label.ts
1021
- import { z as z54 } from "zod";
1022
- var schematic_net_label = z54.object({
1023
- type: z54.literal("schematic_net_label"),
1031
+ import { z as z55 } from "zod";
1032
+ var schematic_net_label = z55.object({
1033
+ type: z55.literal("schematic_net_label"),
1024
1034
  schematic_net_label_id: getZodPrefixedIdWithDefault("schematic_net_label"),
1025
- schematic_trace_id: z54.string().optional(),
1026
- source_trace_id: z54.string().optional(),
1027
- source_net_id: z54.string(),
1035
+ schematic_trace_id: z55.string().optional(),
1036
+ source_trace_id: z55.string().optional(),
1037
+ source_net_id: z55.string(),
1028
1038
  center: point,
1029
1039
  anchor_position: point.optional(),
1030
- anchor_side: z54.enum(["top", "bottom", "left", "right"]),
1031
- text: z54.string(),
1032
- symbol_name: z54.string().optional(),
1033
- is_movable: z54.boolean().optional(),
1034
- subcircuit_id: z54.string().optional()
1040
+ anchor_side: z55.enum(["top", "bottom", "left", "right"]),
1041
+ text: z55.string(),
1042
+ symbol_name: z55.string().optional(),
1043
+ is_movable: z55.boolean().optional(),
1044
+ subcircuit_id: z55.string().optional()
1035
1045
  });
1036
1046
  expectTypesMatch(true);
1037
1047
 
1038
1048
  // src/schematic/schematic_error.ts
1039
- import { z as z55 } from "zod";
1040
- var schematic_error = z55.object({
1041
- type: z55.literal("schematic_error"),
1042
- schematic_error_id: z55.string(),
1049
+ import { z as z56 } from "zod";
1050
+ var schematic_error = z56.object({
1051
+ type: z56.literal("schematic_error"),
1052
+ schematic_error_id: z56.string(),
1043
1053
  // eventually each error type should be broken out into a dir of files
1044
- error_type: z55.literal("schematic_port_not_found").default("schematic_port_not_found"),
1045
- message: z55.string(),
1046
- subcircuit_id: z55.string().optional()
1054
+ error_type: z56.literal("schematic_port_not_found").default("schematic_port_not_found"),
1055
+ message: z56.string(),
1056
+ subcircuit_id: z56.string().optional()
1047
1057
  }).describe("Defines a schematic error on the schematic");
1048
1058
  expectTypesMatch(true);
1049
1059
 
1050
1060
  // src/schematic/schematic_layout_error.ts
1051
- import { z as z56 } from "zod";
1052
- var schematic_layout_error = z56.object({
1053
- type: z56.literal("schematic_layout_error"),
1061
+ import { z as z57 } from "zod";
1062
+ var schematic_layout_error = z57.object({
1063
+ type: z57.literal("schematic_layout_error"),
1054
1064
  schematic_layout_error_id: getZodPrefixedIdWithDefault(
1055
1065
  "schematic_layout_error"
1056
1066
  ),
1057
- error_type: z56.literal("schematic_layout_error").default("schematic_layout_error"),
1058
- message: z56.string(),
1059
- source_group_id: z56.string(),
1060
- schematic_group_id: z56.string(),
1061
- subcircuit_id: z56.string().optional()
1067
+ error_type: z57.literal("schematic_layout_error").default("schematic_layout_error"),
1068
+ message: z57.string(),
1069
+ source_group_id: z57.string(),
1070
+ schematic_group_id: z57.string(),
1071
+ subcircuit_id: z57.string().optional()
1062
1072
  }).describe("Error emitted when schematic layout fails for a group");
1063
1073
  expectTypesMatch(true);
1064
1074
 
1065
1075
  // src/schematic/schematic_debug_object.ts
1066
- import { z as z57 } from "zod";
1067
- var schematic_debug_object_base = z57.object({
1068
- type: z57.literal("schematic_debug_object"),
1069
- label: z57.string().optional(),
1070
- subcircuit_id: z57.string().optional()
1076
+ import { z as z58 } from "zod";
1077
+ var schematic_debug_object_base = z58.object({
1078
+ type: z58.literal("schematic_debug_object"),
1079
+ label: z58.string().optional(),
1080
+ subcircuit_id: z58.string().optional()
1071
1081
  });
1072
1082
  var schematic_debug_rect = schematic_debug_object_base.extend({
1073
- shape: z57.literal("rect"),
1083
+ shape: z58.literal("rect"),
1074
1084
  center: point,
1075
1085
  size
1076
1086
  });
1077
1087
  var schematic_debug_line = schematic_debug_object_base.extend({
1078
- shape: z57.literal("line"),
1088
+ shape: z58.literal("line"),
1079
1089
  start: point,
1080
1090
  end: point
1081
1091
  });
1082
1092
  var schematic_debug_point = schematic_debug_object_base.extend({
1083
- shape: z57.literal("point"),
1093
+ shape: z58.literal("point"),
1084
1094
  center: point
1085
1095
  });
1086
- var schematic_debug_object = z57.discriminatedUnion("shape", [
1096
+ var schematic_debug_object = z58.discriminatedUnion("shape", [
1087
1097
  schematic_debug_rect,
1088
1098
  schematic_debug_line,
1089
1099
  schematic_debug_point
@@ -1091,162 +1101,162 @@ var schematic_debug_object = z57.discriminatedUnion("shape", [
1091
1101
  expectTypesMatch(true);
1092
1102
 
1093
1103
  // src/schematic/schematic_voltage_probe.ts
1094
- import { z as z58 } from "zod";
1095
- var schematic_voltage_probe = z58.object({
1096
- type: z58.literal("schematic_voltage_probe"),
1097
- schematic_voltage_probe_id: z58.string(),
1104
+ import { z as z59 } from "zod";
1105
+ var schematic_voltage_probe = z59.object({
1106
+ type: z59.literal("schematic_voltage_probe"),
1107
+ schematic_voltage_probe_id: z59.string(),
1098
1108
  position: point,
1099
- schematic_trace_id: z58.string(),
1109
+ schematic_trace_id: z59.string(),
1100
1110
  voltage: voltage.optional(),
1101
- subcircuit_id: z58.string().optional()
1111
+ subcircuit_id: z59.string().optional()
1102
1112
  }).describe("Defines a voltage probe measurement point on a schematic trace");
1103
1113
  expectTypesMatch(true);
1104
1114
 
1105
1115
  // src/schematic/schematic_manual_edit_conflict_warning.ts
1106
- import { z as z59 } from "zod";
1107
- var schematic_manual_edit_conflict_warning = z59.object({
1108
- type: z59.literal("schematic_manual_edit_conflict_warning"),
1116
+ import { z as z60 } from "zod";
1117
+ var schematic_manual_edit_conflict_warning = z60.object({
1118
+ type: z60.literal("schematic_manual_edit_conflict_warning"),
1109
1119
  schematic_manual_edit_conflict_warning_id: getZodPrefixedIdWithDefault(
1110
1120
  "schematic_manual_edit_conflict_warning"
1111
1121
  ),
1112
- warning_type: z59.literal("schematic_manual_edit_conflict_warning").default("schematic_manual_edit_conflict_warning"),
1113
- message: z59.string(),
1114
- schematic_component_id: z59.string(),
1115
- schematic_group_id: z59.string().optional(),
1116
- subcircuit_id: z59.string().optional(),
1117
- source_component_id: z59.string()
1122
+ warning_type: z60.literal("schematic_manual_edit_conflict_warning").default("schematic_manual_edit_conflict_warning"),
1123
+ message: z60.string(),
1124
+ schematic_component_id: z60.string(),
1125
+ schematic_group_id: z60.string().optional(),
1126
+ subcircuit_id: z60.string().optional(),
1127
+ source_component_id: z60.string()
1118
1128
  }).describe(
1119
1129
  "Warning emitted when a component has both manual placement and explicit schX/schY coordinates"
1120
1130
  );
1121
1131
  expectTypesMatch(true);
1122
1132
 
1123
1133
  // src/schematic/schematic_group.ts
1124
- import { z as z60 } from "zod";
1125
- var schematic_group = z60.object({
1126
- type: z60.literal("schematic_group"),
1134
+ import { z as z61 } from "zod";
1135
+ var schematic_group = z61.object({
1136
+ type: z61.literal("schematic_group"),
1127
1137
  schematic_group_id: getZodPrefixedIdWithDefault("schematic_group"),
1128
- source_group_id: z60.string(),
1129
- is_subcircuit: z60.boolean().optional(),
1130
- subcircuit_id: z60.string().optional(),
1138
+ source_group_id: z61.string(),
1139
+ is_subcircuit: z61.boolean().optional(),
1140
+ subcircuit_id: z61.string().optional(),
1131
1141
  width: length,
1132
1142
  height: length,
1133
1143
  center: point,
1134
- schematic_component_ids: z60.array(z60.string()),
1135
- show_as_schematic_box: z60.boolean().optional(),
1136
- name: z60.string().optional(),
1137
- description: z60.string().optional()
1144
+ schematic_component_ids: z61.array(z61.string()),
1145
+ show_as_schematic_box: z61.boolean().optional(),
1146
+ name: z61.string().optional(),
1147
+ description: z61.string().optional()
1138
1148
  }).describe("Defines a group of components on the schematic");
1139
1149
  expectTypesMatch(true);
1140
1150
 
1141
1151
  // src/schematic/schematic_table.ts
1142
- import { z as z61 } from "zod";
1143
- var schematic_table = z61.object({
1144
- type: z61.literal("schematic_table"),
1152
+ import { z as z62 } from "zod";
1153
+ var schematic_table = z62.object({
1154
+ type: z62.literal("schematic_table"),
1145
1155
  schematic_table_id: getZodPrefixedIdWithDefault("schematic_table"),
1146
1156
  anchor_position: point,
1147
- column_widths: z61.array(distance),
1148
- row_heights: z61.array(distance),
1157
+ column_widths: z62.array(distance),
1158
+ row_heights: z62.array(distance),
1149
1159
  cell_padding: distance.optional(),
1150
1160
  border_width: distance.optional(),
1151
- subcircuit_id: z61.string().optional(),
1152
- schematic_component_id: z61.string().optional(),
1161
+ subcircuit_id: z62.string().optional(),
1162
+ schematic_component_id: z62.string().optional(),
1153
1163
  anchor: ninePointAnchor.optional()
1154
1164
  }).describe("Defines a table on the schematic");
1155
1165
  expectTypesMatch(true);
1156
1166
 
1157
1167
  // src/schematic/schematic_table_cell.ts
1158
- import { z as z62 } from "zod";
1159
- var schematic_table_cell = z62.object({
1160
- type: z62.literal("schematic_table_cell"),
1168
+ import { z as z63 } from "zod";
1169
+ var schematic_table_cell = z63.object({
1170
+ type: z63.literal("schematic_table_cell"),
1161
1171
  schematic_table_cell_id: getZodPrefixedIdWithDefault(
1162
1172
  "schematic_table_cell"
1163
1173
  ),
1164
- schematic_table_id: z62.string(),
1165
- start_row_index: z62.number(),
1166
- end_row_index: z62.number(),
1167
- start_column_index: z62.number(),
1168
- end_column_index: z62.number(),
1169
- text: z62.string().optional(),
1174
+ schematic_table_id: z63.string(),
1175
+ start_row_index: z63.number(),
1176
+ end_row_index: z63.number(),
1177
+ start_column_index: z63.number(),
1178
+ end_column_index: z63.number(),
1179
+ text: z63.string().optional(),
1170
1180
  center: point,
1171
1181
  width: distance,
1172
1182
  height: distance,
1173
- horizontal_align: z62.enum(["left", "center", "right"]).optional(),
1174
- vertical_align: z62.enum(["top", "middle", "bottom"]).optional(),
1183
+ horizontal_align: z63.enum(["left", "center", "right"]).optional(),
1184
+ vertical_align: z63.enum(["top", "middle", "bottom"]).optional(),
1175
1185
  font_size: distance.optional(),
1176
- subcircuit_id: z62.string().optional()
1186
+ subcircuit_id: z63.string().optional()
1177
1187
  }).describe("Defines a cell within a schematic_table");
1178
1188
  expectTypesMatch(true);
1179
1189
 
1180
1190
  // src/pcb/properties/brep.ts
1181
- import { z as z63 } from "zod";
1182
- var point_with_bulge = z63.object({
1191
+ import { z as z64 } from "zod";
1192
+ var point_with_bulge = z64.object({
1183
1193
  x: distance,
1184
1194
  y: distance,
1185
- bulge: z63.number().optional()
1195
+ bulge: z64.number().optional()
1186
1196
  });
1187
1197
  expectTypesMatch(true);
1188
- var ring = z63.object({
1189
- vertices: z63.array(point_with_bulge)
1198
+ var ring = z64.object({
1199
+ vertices: z64.array(point_with_bulge)
1190
1200
  });
1191
1201
  expectTypesMatch(true);
1192
- var brep_shape = z63.object({
1202
+ var brep_shape = z64.object({
1193
1203
  outer_ring: ring,
1194
- inner_rings: z63.array(ring).default([])
1204
+ inner_rings: z64.array(ring).default([])
1195
1205
  });
1196
1206
  expectTypesMatch(true);
1197
1207
 
1198
1208
  // src/pcb/properties/pcb_route_hints.ts
1199
- import { z as z64 } from "zod";
1200
- var pcb_route_hint = z64.object({
1209
+ import { z as z65 } from "zod";
1210
+ var pcb_route_hint = z65.object({
1201
1211
  x: distance,
1202
1212
  y: distance,
1203
- via: z64.boolean().optional(),
1213
+ via: z65.boolean().optional(),
1204
1214
  via_to_layer: layer_ref.optional()
1205
1215
  });
1206
- var pcb_route_hints = z64.array(pcb_route_hint);
1216
+ var pcb_route_hints = z65.array(pcb_route_hint);
1207
1217
  expectTypesMatch(true);
1208
1218
  expectTypesMatch(true);
1209
1219
 
1210
1220
  // src/pcb/properties/route_hint_point.ts
1211
- import { z as z65 } from "zod";
1212
- var route_hint_point = z65.object({
1221
+ import { z as z66 } from "zod";
1222
+ var route_hint_point = z66.object({
1213
1223
  x: distance,
1214
1224
  y: distance,
1215
- via: z65.boolean().optional(),
1225
+ via: z66.boolean().optional(),
1216
1226
  to_layer: layer_ref.optional(),
1217
1227
  trace_width: distance.optional()
1218
1228
  });
1219
1229
  expectTypesMatch(true);
1220
1230
 
1221
1231
  // src/pcb/pcb_component.ts
1222
- import { z as z66 } from "zod";
1223
- var pcb_component = z66.object({
1224
- type: z66.literal("pcb_component"),
1232
+ import { z as z67 } from "zod";
1233
+ var pcb_component = z67.object({
1234
+ type: z67.literal("pcb_component"),
1225
1235
  pcb_component_id: getZodPrefixedIdWithDefault("pcb_component"),
1226
- source_component_id: z66.string(),
1236
+ source_component_id: z67.string(),
1227
1237
  center: point,
1228
1238
  layer: layer_ref,
1229
1239
  rotation,
1230
1240
  width: length,
1231
1241
  height: length,
1232
- do_not_place: z66.boolean().optional(),
1233
- subcircuit_id: z66.string().optional(),
1234
- pcb_group_id: z66.string().optional(),
1235
- obstructs_within_bounds: z66.boolean().default(true).describe(
1242
+ do_not_place: z67.boolean().optional(),
1243
+ subcircuit_id: z67.string().optional(),
1244
+ pcb_group_id: z67.string().optional(),
1245
+ obstructs_within_bounds: z67.boolean().default(true).describe(
1236
1246
  "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"
1237
1247
  )
1238
1248
  }).describe("Defines a component on the PCB");
1239
1249
  expectTypesMatch(true);
1240
1250
 
1241
1251
  // src/pcb/pcb_hole.ts
1242
- import { z as z67 } from "zod";
1243
- var pcb_hole_circle_or_square = z67.object({
1244
- type: z67.literal("pcb_hole"),
1252
+ import { z as z68 } from "zod";
1253
+ var pcb_hole_circle_or_square = z68.object({
1254
+ type: z68.literal("pcb_hole"),
1245
1255
  pcb_hole_id: getZodPrefixedIdWithDefault("pcb_hole"),
1246
- pcb_group_id: z67.string().optional(),
1247
- subcircuit_id: z67.string().optional(),
1248
- hole_shape: z67.enum(["circle", "square"]),
1249
- hole_diameter: z67.number(),
1256
+ pcb_group_id: z68.string().optional(),
1257
+ subcircuit_id: z68.string().optional(),
1258
+ hole_shape: z68.enum(["circle", "square"]),
1259
+ hole_diameter: z68.number(),
1250
1260
  x: distance,
1251
1261
  y: distance
1252
1262
  });
@@ -1254,14 +1264,14 @@ var pcb_hole_circle_or_square_shape = pcb_hole_circle_or_square.describe(
1254
1264
  "Defines a circular or square hole on the PCB"
1255
1265
  );
1256
1266
  expectTypesMatch(true);
1257
- var pcb_hole_oval = z67.object({
1258
- type: z67.literal("pcb_hole"),
1267
+ var pcb_hole_oval = z68.object({
1268
+ type: z68.literal("pcb_hole"),
1259
1269
  pcb_hole_id: getZodPrefixedIdWithDefault("pcb_hole"),
1260
- pcb_group_id: z67.string().optional(),
1261
- subcircuit_id: z67.string().optional(),
1262
- hole_shape: z67.literal("oval"),
1263
- hole_width: z67.number(),
1264
- hole_height: z67.number(),
1270
+ pcb_group_id: z68.string().optional(),
1271
+ subcircuit_id: z68.string().optional(),
1272
+ hole_shape: z68.literal("oval"),
1273
+ hole_width: z68.number(),
1274
+ hole_height: z68.number(),
1265
1275
  x: distance,
1266
1276
  y: distance
1267
1277
  });
@@ -1272,108 +1282,108 @@ expectTypesMatch(true);
1272
1282
  var pcb_hole = pcb_hole_circle_or_square.or(pcb_hole_oval);
1273
1283
 
1274
1284
  // src/pcb/pcb_plated_hole.ts
1275
- import { z as z68 } from "zod";
1276
- var pcb_plated_hole_circle = z68.object({
1277
- type: z68.literal("pcb_plated_hole"),
1278
- shape: z68.literal("circle"),
1279
- pcb_group_id: z68.string().optional(),
1280
- subcircuit_id: z68.string().optional(),
1281
- outer_diameter: z68.number(),
1282
- hole_diameter: z68.number(),
1285
+ import { z as z69 } from "zod";
1286
+ var pcb_plated_hole_circle = z69.object({
1287
+ type: z69.literal("pcb_plated_hole"),
1288
+ shape: z69.literal("circle"),
1289
+ pcb_group_id: z69.string().optional(),
1290
+ subcircuit_id: z69.string().optional(),
1291
+ outer_diameter: z69.number(),
1292
+ hole_diameter: z69.number(),
1283
1293
  x: distance,
1284
1294
  y: distance,
1285
- layers: z68.array(layer_ref),
1286
- port_hints: z68.array(z68.string()).optional(),
1287
- pcb_component_id: z68.string().optional(),
1288
- pcb_port_id: z68.string().optional(),
1295
+ layers: z69.array(layer_ref),
1296
+ port_hints: z69.array(z69.string()).optional(),
1297
+ pcb_component_id: z69.string().optional(),
1298
+ pcb_port_id: z69.string().optional(),
1289
1299
  pcb_plated_hole_id: getZodPrefixedIdWithDefault("pcb_plated_hole")
1290
1300
  });
1291
- var pcb_plated_hole_oval = z68.object({
1292
- type: z68.literal("pcb_plated_hole"),
1293
- shape: z68.enum(["oval", "pill"]),
1294
- pcb_group_id: z68.string().optional(),
1295
- subcircuit_id: z68.string().optional(),
1296
- outer_width: z68.number(),
1297
- outer_height: z68.number(),
1298
- hole_width: z68.number(),
1299
- hole_height: z68.number(),
1301
+ var pcb_plated_hole_oval = z69.object({
1302
+ type: z69.literal("pcb_plated_hole"),
1303
+ shape: z69.enum(["oval", "pill"]),
1304
+ pcb_group_id: z69.string().optional(),
1305
+ subcircuit_id: z69.string().optional(),
1306
+ outer_width: z69.number(),
1307
+ outer_height: z69.number(),
1308
+ hole_width: z69.number(),
1309
+ hole_height: z69.number(),
1300
1310
  x: distance,
1301
1311
  y: distance,
1302
1312
  ccw_rotation: rotation,
1303
- layers: z68.array(layer_ref),
1304
- port_hints: z68.array(z68.string()).optional(),
1305
- pcb_component_id: z68.string().optional(),
1306
- pcb_port_id: z68.string().optional(),
1313
+ layers: z69.array(layer_ref),
1314
+ port_hints: z69.array(z69.string()).optional(),
1315
+ pcb_component_id: z69.string().optional(),
1316
+ pcb_port_id: z69.string().optional(),
1307
1317
  pcb_plated_hole_id: getZodPrefixedIdWithDefault("pcb_plated_hole")
1308
1318
  });
1309
- var pcb_circular_hole_with_rect_pad = z68.object({
1310
- type: z68.literal("pcb_plated_hole"),
1311
- shape: z68.literal("circular_hole_with_rect_pad"),
1312
- pcb_group_id: z68.string().optional(),
1313
- subcircuit_id: z68.string().optional(),
1314
- hole_shape: z68.literal("circle"),
1315
- pad_shape: z68.literal("rect"),
1316
- hole_diameter: z68.number(),
1317
- rect_pad_width: z68.number(),
1318
- rect_pad_height: z68.number(),
1319
- rect_border_radius: z68.number().optional(),
1319
+ var pcb_circular_hole_with_rect_pad = z69.object({
1320
+ type: z69.literal("pcb_plated_hole"),
1321
+ shape: z69.literal("circular_hole_with_rect_pad"),
1322
+ pcb_group_id: z69.string().optional(),
1323
+ subcircuit_id: z69.string().optional(),
1324
+ hole_shape: z69.literal("circle"),
1325
+ pad_shape: z69.literal("rect"),
1326
+ hole_diameter: z69.number(),
1327
+ rect_pad_width: z69.number(),
1328
+ rect_pad_height: z69.number(),
1329
+ rect_border_radius: z69.number().optional(),
1320
1330
  hole_offset_x: distance.default(0),
1321
1331
  hole_offset_y: distance.default(0),
1322
1332
  x: distance,
1323
1333
  y: distance,
1324
- layers: z68.array(layer_ref),
1325
- port_hints: z68.array(z68.string()).optional(),
1326
- pcb_component_id: z68.string().optional(),
1327
- pcb_port_id: z68.string().optional(),
1334
+ layers: z69.array(layer_ref),
1335
+ port_hints: z69.array(z69.string()).optional(),
1336
+ pcb_component_id: z69.string().optional(),
1337
+ pcb_port_id: z69.string().optional(),
1328
1338
  pcb_plated_hole_id: getZodPrefixedIdWithDefault("pcb_plated_hole")
1329
1339
  });
1330
- var pcb_pill_hole_with_rect_pad = z68.object({
1331
- type: z68.literal("pcb_plated_hole"),
1332
- shape: z68.literal("pill_hole_with_rect_pad"),
1333
- pcb_group_id: z68.string().optional(),
1334
- subcircuit_id: z68.string().optional(),
1335
- hole_shape: z68.literal("pill"),
1336
- pad_shape: z68.literal("rect"),
1337
- hole_width: z68.number(),
1338
- hole_height: z68.number(),
1339
- rect_pad_width: z68.number(),
1340
- rect_pad_height: z68.number(),
1341
- rect_border_radius: z68.number().optional(),
1340
+ var pcb_pill_hole_with_rect_pad = z69.object({
1341
+ type: z69.literal("pcb_plated_hole"),
1342
+ shape: z69.literal("pill_hole_with_rect_pad"),
1343
+ pcb_group_id: z69.string().optional(),
1344
+ subcircuit_id: z69.string().optional(),
1345
+ hole_shape: z69.literal("pill"),
1346
+ pad_shape: z69.literal("rect"),
1347
+ hole_width: z69.number(),
1348
+ hole_height: z69.number(),
1349
+ rect_pad_width: z69.number(),
1350
+ rect_pad_height: z69.number(),
1351
+ rect_border_radius: z69.number().optional(),
1342
1352
  hole_offset_x: distance.default(0),
1343
1353
  hole_offset_y: distance.default(0),
1344
1354
  x: distance,
1345
1355
  y: distance,
1346
- layers: z68.array(layer_ref),
1347
- port_hints: z68.array(z68.string()).optional(),
1348
- pcb_component_id: z68.string().optional(),
1349
- pcb_port_id: z68.string().optional(),
1356
+ layers: z69.array(layer_ref),
1357
+ port_hints: z69.array(z69.string()).optional(),
1358
+ pcb_component_id: z69.string().optional(),
1359
+ pcb_port_id: z69.string().optional(),
1350
1360
  pcb_plated_hole_id: getZodPrefixedIdWithDefault("pcb_plated_hole")
1351
1361
  });
1352
- var pcb_rotated_pill_hole_with_rect_pad = z68.object({
1353
- type: z68.literal("pcb_plated_hole"),
1354
- shape: z68.literal("rotated_pill_hole_with_rect_pad"),
1355
- pcb_group_id: z68.string().optional(),
1356
- subcircuit_id: z68.string().optional(),
1357
- hole_shape: z68.literal("rotated_pill"),
1358
- pad_shape: z68.literal("rect"),
1359
- hole_width: z68.number(),
1360
- hole_height: z68.number(),
1362
+ var pcb_rotated_pill_hole_with_rect_pad = z69.object({
1363
+ type: z69.literal("pcb_plated_hole"),
1364
+ shape: z69.literal("rotated_pill_hole_with_rect_pad"),
1365
+ pcb_group_id: z69.string().optional(),
1366
+ subcircuit_id: z69.string().optional(),
1367
+ hole_shape: z69.literal("rotated_pill"),
1368
+ pad_shape: z69.literal("rect"),
1369
+ hole_width: z69.number(),
1370
+ hole_height: z69.number(),
1361
1371
  hole_ccw_rotation: rotation,
1362
- rect_pad_width: z68.number(),
1363
- rect_pad_height: z68.number(),
1364
- rect_border_radius: z68.number().optional(),
1372
+ rect_pad_width: z69.number(),
1373
+ rect_pad_height: z69.number(),
1374
+ rect_border_radius: z69.number().optional(),
1365
1375
  rect_ccw_rotation: rotation,
1366
1376
  hole_offset_x: distance.default(0),
1367
1377
  hole_offset_y: distance.default(0),
1368
1378
  x: distance,
1369
1379
  y: distance,
1370
- layers: z68.array(layer_ref),
1371
- port_hints: z68.array(z68.string()).optional(),
1372
- pcb_component_id: z68.string().optional(),
1373
- pcb_port_id: z68.string().optional(),
1380
+ layers: z69.array(layer_ref),
1381
+ port_hints: z69.array(z69.string()).optional(),
1382
+ pcb_component_id: z69.string().optional(),
1383
+ pcb_port_id: z69.string().optional(),
1374
1384
  pcb_plated_hole_id: getZodPrefixedIdWithDefault("pcb_plated_hole")
1375
1385
  });
1376
- var pcb_plated_hole = z68.union([
1386
+ var pcb_plated_hole = z69.union([
1377
1387
  pcb_plated_hole_circle,
1378
1388
  pcb_plated_hole_oval,
1379
1389
  pcb_circular_hole_with_rect_pad,
@@ -1389,122 +1399,122 @@ expectTypesMatch(true);
1389
1399
  expectTypesMatch(true);
1390
1400
 
1391
1401
  // src/pcb/pcb_port.ts
1392
- import { z as z69 } from "zod";
1393
- var pcb_port = z69.object({
1394
- type: z69.literal("pcb_port"),
1402
+ import { z as z70 } from "zod";
1403
+ var pcb_port = z70.object({
1404
+ type: z70.literal("pcb_port"),
1395
1405
  pcb_port_id: getZodPrefixedIdWithDefault("pcb_port"),
1396
- pcb_group_id: z69.string().optional(),
1397
- subcircuit_id: z69.string().optional(),
1398
- source_port_id: z69.string(),
1399
- pcb_component_id: z69.string(),
1406
+ pcb_group_id: z70.string().optional(),
1407
+ subcircuit_id: z70.string().optional(),
1408
+ source_port_id: z70.string(),
1409
+ pcb_component_id: z70.string(),
1400
1410
  x: distance,
1401
1411
  y: distance,
1402
- layers: z69.array(layer_ref),
1403
- is_board_pinout: z69.boolean().optional()
1412
+ layers: z70.array(layer_ref),
1413
+ is_board_pinout: z70.boolean().optional()
1404
1414
  }).describe("Defines a port on the PCB");
1405
1415
  expectTypesMatch(true);
1406
1416
 
1407
1417
  // src/pcb/pcb_smtpad.ts
1408
- import { z as z70 } from "zod";
1409
- var pcb_smtpad_circle = z70.object({
1410
- type: z70.literal("pcb_smtpad"),
1411
- shape: z70.literal("circle"),
1418
+ import { z as z71 } from "zod";
1419
+ var pcb_smtpad_circle = z71.object({
1420
+ type: z71.literal("pcb_smtpad"),
1421
+ shape: z71.literal("circle"),
1412
1422
  pcb_smtpad_id: getZodPrefixedIdWithDefault("pcb_smtpad"),
1413
- pcb_group_id: z70.string().optional(),
1414
- subcircuit_id: z70.string().optional(),
1423
+ pcb_group_id: z71.string().optional(),
1424
+ subcircuit_id: z71.string().optional(),
1415
1425
  x: distance,
1416
1426
  y: distance,
1417
- radius: z70.number(),
1427
+ radius: z71.number(),
1418
1428
  layer: layer_ref,
1419
- port_hints: z70.array(z70.string()).optional(),
1420
- pcb_component_id: z70.string().optional(),
1421
- pcb_port_id: z70.string().optional(),
1422
- is_covered_with_solder_mask: z70.boolean().optional()
1423
- });
1424
- var pcb_smtpad_rect = z70.object({
1425
- type: z70.literal("pcb_smtpad"),
1426
- shape: z70.literal("rect"),
1429
+ port_hints: z71.array(z71.string()).optional(),
1430
+ pcb_component_id: z71.string().optional(),
1431
+ pcb_port_id: z71.string().optional(),
1432
+ is_covered_with_solder_mask: z71.boolean().optional()
1433
+ });
1434
+ var pcb_smtpad_rect = z71.object({
1435
+ type: z71.literal("pcb_smtpad"),
1436
+ shape: z71.literal("rect"),
1427
1437
  pcb_smtpad_id: getZodPrefixedIdWithDefault("pcb_smtpad"),
1428
- pcb_group_id: z70.string().optional(),
1429
- subcircuit_id: z70.string().optional(),
1438
+ pcb_group_id: z71.string().optional(),
1439
+ subcircuit_id: z71.string().optional(),
1430
1440
  x: distance,
1431
1441
  y: distance,
1432
- width: z70.number(),
1433
- height: z70.number(),
1434
- rect_border_radius: z70.number().optional(),
1442
+ width: z71.number(),
1443
+ height: z71.number(),
1444
+ rect_border_radius: z71.number().optional(),
1435
1445
  layer: layer_ref,
1436
- port_hints: z70.array(z70.string()).optional(),
1437
- pcb_component_id: z70.string().optional(),
1438
- pcb_port_id: z70.string().optional(),
1439
- is_covered_with_solder_mask: z70.boolean().optional()
1440
- });
1441
- var pcb_smtpad_rotated_rect = z70.object({
1442
- type: z70.literal("pcb_smtpad"),
1443
- shape: z70.literal("rotated_rect"),
1446
+ port_hints: z71.array(z71.string()).optional(),
1447
+ pcb_component_id: z71.string().optional(),
1448
+ pcb_port_id: z71.string().optional(),
1449
+ is_covered_with_solder_mask: z71.boolean().optional()
1450
+ });
1451
+ var pcb_smtpad_rotated_rect = z71.object({
1452
+ type: z71.literal("pcb_smtpad"),
1453
+ shape: z71.literal("rotated_rect"),
1444
1454
  pcb_smtpad_id: getZodPrefixedIdWithDefault("pcb_smtpad"),
1445
- pcb_group_id: z70.string().optional(),
1446
- subcircuit_id: z70.string().optional(),
1455
+ pcb_group_id: z71.string().optional(),
1456
+ subcircuit_id: z71.string().optional(),
1447
1457
  x: distance,
1448
1458
  y: distance,
1449
- width: z70.number(),
1450
- height: z70.number(),
1451
- rect_border_radius: z70.number().optional(),
1459
+ width: z71.number(),
1460
+ height: z71.number(),
1461
+ rect_border_radius: z71.number().optional(),
1452
1462
  ccw_rotation: rotation,
1453
1463
  layer: layer_ref,
1454
- port_hints: z70.array(z70.string()).optional(),
1455
- pcb_component_id: z70.string().optional(),
1456
- pcb_port_id: z70.string().optional(),
1457
- is_covered_with_solder_mask: z70.boolean().optional()
1458
- });
1459
- var pcb_smtpad_pill = z70.object({
1460
- type: z70.literal("pcb_smtpad"),
1461
- shape: z70.literal("pill"),
1464
+ port_hints: z71.array(z71.string()).optional(),
1465
+ pcb_component_id: z71.string().optional(),
1466
+ pcb_port_id: z71.string().optional(),
1467
+ is_covered_with_solder_mask: z71.boolean().optional()
1468
+ });
1469
+ var pcb_smtpad_pill = z71.object({
1470
+ type: z71.literal("pcb_smtpad"),
1471
+ shape: z71.literal("pill"),
1462
1472
  pcb_smtpad_id: getZodPrefixedIdWithDefault("pcb_smtpad"),
1463
- pcb_group_id: z70.string().optional(),
1464
- subcircuit_id: z70.string().optional(),
1473
+ pcb_group_id: z71.string().optional(),
1474
+ subcircuit_id: z71.string().optional(),
1465
1475
  x: distance,
1466
1476
  y: distance,
1467
- width: z70.number(),
1468
- height: z70.number(),
1469
- radius: z70.number(),
1477
+ width: z71.number(),
1478
+ height: z71.number(),
1479
+ radius: z71.number(),
1470
1480
  layer: layer_ref,
1471
- port_hints: z70.array(z70.string()).optional(),
1472
- pcb_component_id: z70.string().optional(),
1473
- pcb_port_id: z70.string().optional(),
1474
- is_covered_with_solder_mask: z70.boolean().optional()
1475
- });
1476
- var pcb_smtpad_rotated_pill = z70.object({
1477
- type: z70.literal("pcb_smtpad"),
1478
- shape: z70.literal("rotated_pill"),
1481
+ port_hints: z71.array(z71.string()).optional(),
1482
+ pcb_component_id: z71.string().optional(),
1483
+ pcb_port_id: z71.string().optional(),
1484
+ is_covered_with_solder_mask: z71.boolean().optional()
1485
+ });
1486
+ var pcb_smtpad_rotated_pill = z71.object({
1487
+ type: z71.literal("pcb_smtpad"),
1488
+ shape: z71.literal("rotated_pill"),
1479
1489
  pcb_smtpad_id: getZodPrefixedIdWithDefault("pcb_smtpad"),
1480
- pcb_group_id: z70.string().optional(),
1481
- subcircuit_id: z70.string().optional(),
1490
+ pcb_group_id: z71.string().optional(),
1491
+ subcircuit_id: z71.string().optional(),
1482
1492
  x: distance,
1483
1493
  y: distance,
1484
- width: z70.number(),
1485
- height: z70.number(),
1486
- radius: z70.number(),
1494
+ width: z71.number(),
1495
+ height: z71.number(),
1496
+ radius: z71.number(),
1487
1497
  ccw_rotation: rotation,
1488
1498
  layer: layer_ref,
1489
- port_hints: z70.array(z70.string()).optional(),
1490
- pcb_component_id: z70.string().optional(),
1491
- pcb_port_id: z70.string().optional(),
1492
- is_covered_with_solder_mask: z70.boolean().optional()
1493
- });
1494
- var pcb_smtpad_polygon = z70.object({
1495
- type: z70.literal("pcb_smtpad"),
1496
- shape: z70.literal("polygon"),
1499
+ port_hints: z71.array(z71.string()).optional(),
1500
+ pcb_component_id: z71.string().optional(),
1501
+ pcb_port_id: z71.string().optional(),
1502
+ is_covered_with_solder_mask: z71.boolean().optional()
1503
+ });
1504
+ var pcb_smtpad_polygon = z71.object({
1505
+ type: z71.literal("pcb_smtpad"),
1506
+ shape: z71.literal("polygon"),
1497
1507
  pcb_smtpad_id: getZodPrefixedIdWithDefault("pcb_smtpad"),
1498
- pcb_group_id: z70.string().optional(),
1499
- subcircuit_id: z70.string().optional(),
1500
- points: z70.array(point),
1508
+ pcb_group_id: z71.string().optional(),
1509
+ subcircuit_id: z71.string().optional(),
1510
+ points: z71.array(point),
1501
1511
  layer: layer_ref,
1502
- port_hints: z70.array(z70.string()).optional(),
1503
- pcb_component_id: z70.string().optional(),
1504
- pcb_port_id: z70.string().optional(),
1505
- is_covered_with_solder_mask: z70.boolean().optional()
1512
+ port_hints: z71.array(z71.string()).optional(),
1513
+ pcb_component_id: z71.string().optional(),
1514
+ pcb_port_id: z71.string().optional(),
1515
+ is_covered_with_solder_mask: z71.boolean().optional()
1506
1516
  });
1507
- var pcb_smtpad = z70.discriminatedUnion("shape", [
1517
+ var pcb_smtpad = z71.discriminatedUnion("shape", [
1508
1518
  pcb_smtpad_circle,
1509
1519
  pcb_smtpad_rect,
1510
1520
  pcb_smtpad_rotated_rect,
@@ -1520,79 +1530,79 @@ expectTypesMatch(true);
1520
1530
  expectTypesMatch(true);
1521
1531
 
1522
1532
  // src/pcb/pcb_solder_paste.ts
1523
- import { z as z71 } from "zod";
1524
- var pcb_solder_paste_circle = z71.object({
1525
- type: z71.literal("pcb_solder_paste"),
1526
- shape: z71.literal("circle"),
1533
+ import { z as z72 } from "zod";
1534
+ var pcb_solder_paste_circle = z72.object({
1535
+ type: z72.literal("pcb_solder_paste"),
1536
+ shape: z72.literal("circle"),
1527
1537
  pcb_solder_paste_id: getZodPrefixedIdWithDefault("pcb_solder_paste"),
1528
- pcb_group_id: z71.string().optional(),
1529
- subcircuit_id: z71.string().optional(),
1538
+ pcb_group_id: z72.string().optional(),
1539
+ subcircuit_id: z72.string().optional(),
1530
1540
  x: distance,
1531
1541
  y: distance,
1532
- radius: z71.number(),
1542
+ radius: z72.number(),
1533
1543
  layer: layer_ref,
1534
- pcb_component_id: z71.string().optional(),
1535
- pcb_smtpad_id: z71.string().optional()
1544
+ pcb_component_id: z72.string().optional(),
1545
+ pcb_smtpad_id: z72.string().optional()
1536
1546
  });
1537
- var pcb_solder_paste_rect = z71.object({
1538
- type: z71.literal("pcb_solder_paste"),
1539
- shape: z71.literal("rect"),
1547
+ var pcb_solder_paste_rect = z72.object({
1548
+ type: z72.literal("pcb_solder_paste"),
1549
+ shape: z72.literal("rect"),
1540
1550
  pcb_solder_paste_id: getZodPrefixedIdWithDefault("pcb_solder_paste"),
1541
- pcb_group_id: z71.string().optional(),
1542
- subcircuit_id: z71.string().optional(),
1551
+ pcb_group_id: z72.string().optional(),
1552
+ subcircuit_id: z72.string().optional(),
1543
1553
  x: distance,
1544
1554
  y: distance,
1545
- width: z71.number(),
1546
- height: z71.number(),
1555
+ width: z72.number(),
1556
+ height: z72.number(),
1547
1557
  layer: layer_ref,
1548
- pcb_component_id: z71.string().optional(),
1549
- pcb_smtpad_id: z71.string().optional()
1558
+ pcb_component_id: z72.string().optional(),
1559
+ pcb_smtpad_id: z72.string().optional()
1550
1560
  });
1551
- var pcb_solder_paste_pill = z71.object({
1552
- type: z71.literal("pcb_solder_paste"),
1553
- shape: z71.literal("pill"),
1561
+ var pcb_solder_paste_pill = z72.object({
1562
+ type: z72.literal("pcb_solder_paste"),
1563
+ shape: z72.literal("pill"),
1554
1564
  pcb_solder_paste_id: getZodPrefixedIdWithDefault("pcb_solder_paste"),
1555
- pcb_group_id: z71.string().optional(),
1556
- subcircuit_id: z71.string().optional(),
1565
+ pcb_group_id: z72.string().optional(),
1566
+ subcircuit_id: z72.string().optional(),
1557
1567
  x: distance,
1558
1568
  y: distance,
1559
- width: z71.number(),
1560
- height: z71.number(),
1561
- radius: z71.number(),
1569
+ width: z72.number(),
1570
+ height: z72.number(),
1571
+ radius: z72.number(),
1562
1572
  layer: layer_ref,
1563
- pcb_component_id: z71.string().optional(),
1564
- pcb_smtpad_id: z71.string().optional()
1573
+ pcb_component_id: z72.string().optional(),
1574
+ pcb_smtpad_id: z72.string().optional()
1565
1575
  });
1566
- var pcb_solder_paste_rotated_rect = z71.object({
1567
- type: z71.literal("pcb_solder_paste"),
1568
- shape: z71.literal("rotated_rect"),
1576
+ var pcb_solder_paste_rotated_rect = z72.object({
1577
+ type: z72.literal("pcb_solder_paste"),
1578
+ shape: z72.literal("rotated_rect"),
1569
1579
  pcb_solder_paste_id: getZodPrefixedIdWithDefault("pcb_solder_paste"),
1570
- pcb_group_id: z71.string().optional(),
1571
- subcircuit_id: z71.string().optional(),
1580
+ pcb_group_id: z72.string().optional(),
1581
+ subcircuit_id: z72.string().optional(),
1572
1582
  x: distance,
1573
1583
  y: distance,
1574
- width: z71.number(),
1575
- height: z71.number(),
1584
+ width: z72.number(),
1585
+ height: z72.number(),
1576
1586
  ccw_rotation: distance,
1577
1587
  layer: layer_ref,
1578
- pcb_component_id: z71.string().optional(),
1579
- pcb_smtpad_id: z71.string().optional()
1588
+ pcb_component_id: z72.string().optional(),
1589
+ pcb_smtpad_id: z72.string().optional()
1580
1590
  });
1581
- var pcb_solder_paste_oval = z71.object({
1582
- type: z71.literal("pcb_solder_paste"),
1583
- shape: z71.literal("oval"),
1591
+ var pcb_solder_paste_oval = z72.object({
1592
+ type: z72.literal("pcb_solder_paste"),
1593
+ shape: z72.literal("oval"),
1584
1594
  pcb_solder_paste_id: getZodPrefixedIdWithDefault("pcb_solder_paste"),
1585
- pcb_group_id: z71.string().optional(),
1586
- subcircuit_id: z71.string().optional(),
1595
+ pcb_group_id: z72.string().optional(),
1596
+ subcircuit_id: z72.string().optional(),
1587
1597
  x: distance,
1588
1598
  y: distance,
1589
- width: z71.number(),
1590
- height: z71.number(),
1599
+ width: z72.number(),
1600
+ height: z72.number(),
1591
1601
  layer: layer_ref,
1592
- pcb_component_id: z71.string().optional(),
1593
- pcb_smtpad_id: z71.string().optional()
1602
+ pcb_component_id: z72.string().optional(),
1603
+ pcb_smtpad_id: z72.string().optional()
1594
1604
  });
1595
- var pcb_solder_paste = z71.union([
1605
+ var pcb_solder_paste = z72.union([
1596
1606
  pcb_solder_paste_circle,
1597
1607
  pcb_solder_paste_rect,
1598
1608
  pcb_solder_paste_pill,
@@ -1608,145 +1618,145 @@ expectTypesMatch(
1608
1618
  expectTypesMatch(true);
1609
1619
 
1610
1620
  // src/pcb/pcb_text.ts
1611
- import { z as z72 } from "zod";
1612
- var pcb_text = z72.object({
1613
- type: z72.literal("pcb_text"),
1621
+ import { z as z73 } from "zod";
1622
+ var pcb_text = z73.object({
1623
+ type: z73.literal("pcb_text"),
1614
1624
  pcb_text_id: getZodPrefixedIdWithDefault("pcb_text"),
1615
- pcb_group_id: z72.string().optional(),
1616
- subcircuit_id: z72.string().optional(),
1617
- text: z72.string(),
1625
+ pcb_group_id: z73.string().optional(),
1626
+ subcircuit_id: z73.string().optional(),
1627
+ text: z73.string(),
1618
1628
  center: point,
1619
1629
  layer: layer_ref,
1620
1630
  width: length,
1621
1631
  height: length,
1622
- lines: z72.number(),
1632
+ lines: z73.number(),
1623
1633
  // @ts-ignore
1624
- align: z72.enum(["bottom-left"])
1634
+ align: z73.enum(["bottom-left"])
1625
1635
  }).describe("Defines text on the PCB");
1626
1636
  expectTypesMatch(true);
1627
1637
 
1628
1638
  // src/pcb/pcb_trace.ts
1629
- import { z as z73 } from "zod";
1630
- var pcb_trace_route_point_wire = z73.object({
1631
- route_type: z73.literal("wire"),
1639
+ import { z as z74 } from "zod";
1640
+ var pcb_trace_route_point_wire = z74.object({
1641
+ route_type: z74.literal("wire"),
1632
1642
  x: distance,
1633
1643
  y: distance,
1634
1644
  width: distance,
1635
- start_pcb_port_id: z73.string().optional(),
1636
- end_pcb_port_id: z73.string().optional(),
1645
+ start_pcb_port_id: z74.string().optional(),
1646
+ end_pcb_port_id: z74.string().optional(),
1637
1647
  layer: layer_ref
1638
1648
  });
1639
- var pcb_trace_route_point_via = z73.object({
1640
- route_type: z73.literal("via"),
1649
+ var pcb_trace_route_point_via = z74.object({
1650
+ route_type: z74.literal("via"),
1641
1651
  x: distance,
1642
1652
  y: distance,
1643
1653
  hole_diameter: distance.optional(),
1644
1654
  outer_diameter: distance.optional(),
1645
- from_layer: z73.string(),
1646
- to_layer: z73.string()
1655
+ from_layer: z74.string(),
1656
+ to_layer: z74.string()
1647
1657
  });
1648
- var pcb_trace_route_point = z73.union([
1658
+ var pcb_trace_route_point = z74.union([
1649
1659
  pcb_trace_route_point_wire,
1650
1660
  pcb_trace_route_point_via
1651
1661
  ]);
1652
- var pcb_trace = z73.object({
1653
- type: z73.literal("pcb_trace"),
1654
- source_trace_id: z73.string().optional(),
1655
- pcb_component_id: z73.string().optional(),
1662
+ var pcb_trace = z74.object({
1663
+ type: z74.literal("pcb_trace"),
1664
+ source_trace_id: z74.string().optional(),
1665
+ pcb_component_id: z74.string().optional(),
1656
1666
  pcb_trace_id: getZodPrefixedIdWithDefault("pcb_trace"),
1657
- pcb_group_id: z73.string().optional(),
1658
- subcircuit_id: z73.string().optional(),
1659
- route_thickness_mode: z73.enum(["constant", "interpolated"]).default("constant").optional(),
1660
- route_order_index: z73.number().optional(),
1661
- should_round_corners: z73.boolean().optional(),
1662
- trace_length: z73.number().optional(),
1663
- highlight_color: z73.string().optional(),
1664
- route: z73.array(pcb_trace_route_point)
1667
+ pcb_group_id: z74.string().optional(),
1668
+ subcircuit_id: z74.string().optional(),
1669
+ route_thickness_mode: z74.enum(["constant", "interpolated"]).default("constant").optional(),
1670
+ route_order_index: z74.number().optional(),
1671
+ should_round_corners: z74.boolean().optional(),
1672
+ trace_length: z74.number().optional(),
1673
+ highlight_color: z74.string().optional(),
1674
+ route: z74.array(pcb_trace_route_point)
1665
1675
  }).describe("Defines a trace on the PCB");
1666
1676
  expectTypesMatch(true);
1667
1677
  expectTypesMatch(true);
1668
1678
 
1669
1679
  // src/pcb/pcb_trace_error.ts
1670
- import { z as z74 } from "zod";
1671
- var pcb_trace_error = z74.object({
1672
- type: z74.literal("pcb_trace_error"),
1680
+ import { z as z75 } from "zod";
1681
+ var pcb_trace_error = z75.object({
1682
+ type: z75.literal("pcb_trace_error"),
1673
1683
  pcb_trace_error_id: getZodPrefixedIdWithDefault("pcb_trace_error"),
1674
- error_type: z74.literal("pcb_trace_error").default("pcb_trace_error"),
1675
- message: z74.string(),
1684
+ error_type: z75.literal("pcb_trace_error").default("pcb_trace_error"),
1685
+ message: z75.string(),
1676
1686
  center: point.optional(),
1677
- pcb_trace_id: z74.string(),
1678
- source_trace_id: z74.string(),
1679
- pcb_component_ids: z74.array(z74.string()),
1680
- pcb_port_ids: z74.array(z74.string()),
1681
- subcircuit_id: z74.string().optional()
1687
+ pcb_trace_id: z75.string(),
1688
+ source_trace_id: z75.string(),
1689
+ pcb_component_ids: z75.array(z75.string()),
1690
+ pcb_port_ids: z75.array(z75.string()),
1691
+ subcircuit_id: z75.string().optional()
1682
1692
  }).describe("Defines a trace error on the PCB");
1683
1693
  expectTypesMatch(true);
1684
1694
 
1685
1695
  // src/pcb/pcb_trace_missing_error.ts
1686
- import { z as z75 } from "zod";
1687
- var pcb_trace_missing_error = z75.object({
1688
- type: z75.literal("pcb_trace_missing_error"),
1696
+ import { z as z76 } from "zod";
1697
+ var pcb_trace_missing_error = z76.object({
1698
+ type: z76.literal("pcb_trace_missing_error"),
1689
1699
  pcb_trace_missing_error_id: getZodPrefixedIdWithDefault(
1690
1700
  "pcb_trace_missing_error"
1691
1701
  ),
1692
- error_type: z75.literal("pcb_trace_missing_error").default("pcb_trace_missing_error"),
1693
- message: z75.string(),
1702
+ error_type: z76.literal("pcb_trace_missing_error").default("pcb_trace_missing_error"),
1703
+ message: z76.string(),
1694
1704
  center: point.optional(),
1695
- source_trace_id: z75.string(),
1696
- pcb_component_ids: z75.array(z75.string()),
1697
- pcb_port_ids: z75.array(z75.string()),
1698
- subcircuit_id: z75.string().optional()
1705
+ source_trace_id: z76.string(),
1706
+ pcb_component_ids: z76.array(z76.string()),
1707
+ pcb_port_ids: z76.array(z76.string()),
1708
+ subcircuit_id: z76.string().optional()
1699
1709
  }).describe(
1700
1710
  "Defines an error when a source trace has no corresponding PCB trace"
1701
1711
  );
1702
1712
  expectTypesMatch(true);
1703
1713
 
1704
1714
  // src/pcb/pcb_port_not_matched_error.ts
1705
- import { z as z76 } from "zod";
1706
- var pcb_port_not_matched_error = z76.object({
1707
- type: z76.literal("pcb_port_not_matched_error"),
1715
+ import { z as z77 } from "zod";
1716
+ var pcb_port_not_matched_error = z77.object({
1717
+ type: z77.literal("pcb_port_not_matched_error"),
1708
1718
  pcb_error_id: getZodPrefixedIdWithDefault("pcb_error"),
1709
- error_type: z76.literal("pcb_port_not_matched_error").default("pcb_port_not_matched_error"),
1710
- message: z76.string(),
1711
- pcb_component_ids: z76.array(z76.string()),
1712
- subcircuit_id: z76.string().optional()
1719
+ error_type: z77.literal("pcb_port_not_matched_error").default("pcb_port_not_matched_error"),
1720
+ message: z77.string(),
1721
+ pcb_component_ids: z77.array(z77.string()),
1722
+ subcircuit_id: z77.string().optional()
1713
1723
  }).describe("Defines a trace error on the PCB where a port is not matched");
1714
1724
  expectTypesMatch(true);
1715
1725
 
1716
1726
  // src/pcb/pcb_port_not_connected_error.ts
1717
- import { z as z77 } from "zod";
1718
- var pcb_port_not_connected_error = z77.object({
1719
- type: z77.literal("pcb_port_not_connected_error"),
1727
+ import { z as z78 } from "zod";
1728
+ var pcb_port_not_connected_error = z78.object({
1729
+ type: z78.literal("pcb_port_not_connected_error"),
1720
1730
  pcb_port_not_connected_error_id: getZodPrefixedIdWithDefault(
1721
1731
  "pcb_port_not_connected_error"
1722
1732
  ),
1723
- error_type: z77.literal("pcb_port_not_connected_error").default("pcb_port_not_connected_error"),
1724
- message: z77.string(),
1725
- pcb_port_ids: z77.array(z77.string()),
1726
- pcb_component_ids: z77.array(z77.string()),
1727
- subcircuit_id: z77.string().optional()
1733
+ error_type: z78.literal("pcb_port_not_connected_error").default("pcb_port_not_connected_error"),
1734
+ message: z78.string(),
1735
+ pcb_port_ids: z78.array(z78.string()),
1736
+ pcb_component_ids: z78.array(z78.string()),
1737
+ subcircuit_id: z78.string().optional()
1728
1738
  }).describe("Defines an error when a pcb port is not connected to any trace");
1729
1739
  expectTypesMatch(
1730
1740
  true
1731
1741
  );
1732
1742
 
1733
1743
  // src/pcb/pcb_net.ts
1734
- import { z as z78 } from "zod";
1735
- var pcb_net = z78.object({
1736
- type: z78.literal("pcb_net"),
1744
+ import { z as z79 } from "zod";
1745
+ var pcb_net = z79.object({
1746
+ type: z79.literal("pcb_net"),
1737
1747
  pcb_net_id: getZodPrefixedIdWithDefault("pcb_net"),
1738
- source_net_id: z78.string().optional(),
1739
- highlight_color: z78.string().optional()
1748
+ source_net_id: z79.string().optional(),
1749
+ highlight_color: z79.string().optional()
1740
1750
  }).describe("Defines a net on the PCB");
1741
1751
  expectTypesMatch(true);
1742
1752
 
1743
1753
  // src/pcb/pcb_via.ts
1744
- import { z as z79 } from "zod";
1745
- var pcb_via = z79.object({
1746
- type: z79.literal("pcb_via"),
1754
+ import { z as z80 } from "zod";
1755
+ var pcb_via = z80.object({
1756
+ type: z80.literal("pcb_via"),
1747
1757
  pcb_via_id: getZodPrefixedIdWithDefault("pcb_via"),
1748
- pcb_group_id: z79.string().optional(),
1749
- subcircuit_id: z79.string().optional(),
1758
+ pcb_group_id: z80.string().optional(),
1759
+ subcircuit_id: z80.string().optional(),
1750
1760
  x: distance,
1751
1761
  y: distance,
1752
1762
  outer_diameter: distance.default("0.6mm"),
@@ -1755,59 +1765,59 @@ var pcb_via = z79.object({
1755
1765
  from_layer: layer_ref.optional(),
1756
1766
  /** @deprecated */
1757
1767
  to_layer: layer_ref.optional(),
1758
- layers: z79.array(layer_ref),
1759
- pcb_trace_id: z79.string().optional()
1768
+ layers: z80.array(layer_ref),
1769
+ pcb_trace_id: z80.string().optional()
1760
1770
  }).describe("Defines a via on the PCB");
1761
1771
  expectTypesMatch(true);
1762
1772
 
1763
1773
  // src/pcb/pcb_board.ts
1764
- import { z as z80 } from "zod";
1765
- var pcb_board = z80.object({
1766
- type: z80.literal("pcb_board"),
1774
+ import { z as z81 } from "zod";
1775
+ var pcb_board = z81.object({
1776
+ type: z81.literal("pcb_board"),
1767
1777
  pcb_board_id: getZodPrefixedIdWithDefault("pcb_board"),
1768
- is_subcircuit: z80.boolean().optional(),
1769
- subcircuit_id: z80.string().optional(),
1778
+ is_subcircuit: z81.boolean().optional(),
1779
+ subcircuit_id: z81.string().optional(),
1770
1780
  width: length,
1771
1781
  height: length,
1772
1782
  center: point,
1773
1783
  thickness: length.optional().default(1.4),
1774
- num_layers: z80.number().optional().default(4),
1775
- outline: z80.array(point).optional(),
1776
- material: z80.enum(["fr4", "fr1"]).default("fr4")
1784
+ num_layers: z81.number().optional().default(4),
1785
+ outline: z81.array(point).optional(),
1786
+ material: z81.enum(["fr4", "fr1"]).default("fr4")
1777
1787
  }).describe("Defines the board outline of the PCB");
1778
1788
  expectTypesMatch(true);
1779
1789
 
1780
1790
  // src/pcb/pcb_placement_error.ts
1781
- import { z as z81 } from "zod";
1782
- var pcb_placement_error = z81.object({
1783
- type: z81.literal("pcb_placement_error"),
1791
+ import { z as z82 } from "zod";
1792
+ var pcb_placement_error = z82.object({
1793
+ type: z82.literal("pcb_placement_error"),
1784
1794
  pcb_placement_error_id: getZodPrefixedIdWithDefault("pcb_placement_error"),
1785
- error_type: z81.literal("pcb_placement_error").default("pcb_placement_error"),
1786
- message: z81.string(),
1787
- subcircuit_id: z81.string().optional()
1795
+ error_type: z82.literal("pcb_placement_error").default("pcb_placement_error"),
1796
+ message: z82.string(),
1797
+ subcircuit_id: z82.string().optional()
1788
1798
  }).describe("Defines a placement error on the PCB");
1789
1799
  expectTypesMatch(true);
1790
1800
 
1791
1801
  // src/pcb/pcb_trace_hint.ts
1792
- import { z as z82 } from "zod";
1793
- var pcb_trace_hint = z82.object({
1794
- type: z82.literal("pcb_trace_hint"),
1802
+ import { z as z83 } from "zod";
1803
+ var pcb_trace_hint = z83.object({
1804
+ type: z83.literal("pcb_trace_hint"),
1795
1805
  pcb_trace_hint_id: getZodPrefixedIdWithDefault("pcb_trace_hint"),
1796
- pcb_port_id: z82.string(),
1797
- pcb_component_id: z82.string(),
1798
- route: z82.array(route_hint_point),
1799
- subcircuit_id: z82.string().optional()
1806
+ pcb_port_id: z83.string(),
1807
+ pcb_component_id: z83.string(),
1808
+ route: z83.array(route_hint_point),
1809
+ subcircuit_id: z83.string().optional()
1800
1810
  }).describe("A hint that can be used during generation of a PCB trace");
1801
1811
  expectTypesMatch(true);
1802
1812
 
1803
1813
  // src/pcb/pcb_silkscreen_line.ts
1804
- import { z as z83 } from "zod";
1805
- var pcb_silkscreen_line = z83.object({
1806
- type: z83.literal("pcb_silkscreen_line"),
1814
+ import { z as z84 } from "zod";
1815
+ var pcb_silkscreen_line = z84.object({
1816
+ type: z84.literal("pcb_silkscreen_line"),
1807
1817
  pcb_silkscreen_line_id: getZodPrefixedIdWithDefault("pcb_silkscreen_line"),
1808
- pcb_component_id: z83.string(),
1809
- pcb_group_id: z83.string().optional(),
1810
- subcircuit_id: z83.string().optional(),
1818
+ pcb_component_id: z84.string(),
1819
+ pcb_group_id: z84.string().optional(),
1820
+ subcircuit_id: z84.string().optional(),
1811
1821
  stroke_width: distance.default("0.1mm"),
1812
1822
  x1: distance,
1813
1823
  y1: distance,
@@ -1818,32 +1828,32 @@ var pcb_silkscreen_line = z83.object({
1818
1828
  expectTypesMatch(true);
1819
1829
 
1820
1830
  // src/pcb/pcb_silkscreen_path.ts
1821
- import { z as z84 } from "zod";
1822
- var pcb_silkscreen_path = z84.object({
1823
- type: z84.literal("pcb_silkscreen_path"),
1831
+ import { z as z85 } from "zod";
1832
+ var pcb_silkscreen_path = z85.object({
1833
+ type: z85.literal("pcb_silkscreen_path"),
1824
1834
  pcb_silkscreen_path_id: getZodPrefixedIdWithDefault("pcb_silkscreen_path"),
1825
- pcb_component_id: z84.string(),
1826
- pcb_group_id: z84.string().optional(),
1827
- subcircuit_id: z84.string().optional(),
1835
+ pcb_component_id: z85.string(),
1836
+ pcb_group_id: z85.string().optional(),
1837
+ subcircuit_id: z85.string().optional(),
1828
1838
  layer: visible_layer,
1829
- route: z84.array(point),
1839
+ route: z85.array(point),
1830
1840
  stroke_width: length
1831
1841
  }).describe("Defines a silkscreen path on the PCB");
1832
1842
  expectTypesMatch(true);
1833
1843
 
1834
1844
  // src/pcb/pcb_silkscreen_text.ts
1835
- import { z as z85 } from "zod";
1836
- var pcb_silkscreen_text = z85.object({
1837
- type: z85.literal("pcb_silkscreen_text"),
1845
+ import { z as z86 } from "zod";
1846
+ var pcb_silkscreen_text = z86.object({
1847
+ type: z86.literal("pcb_silkscreen_text"),
1838
1848
  pcb_silkscreen_text_id: getZodPrefixedIdWithDefault("pcb_silkscreen_text"),
1839
- pcb_group_id: z85.string().optional(),
1840
- subcircuit_id: z85.string().optional(),
1841
- font: z85.literal("tscircuit2024").default("tscircuit2024"),
1849
+ pcb_group_id: z86.string().optional(),
1850
+ subcircuit_id: z86.string().optional(),
1851
+ font: z86.literal("tscircuit2024").default("tscircuit2024"),
1842
1852
  font_size: distance.default("0.2mm"),
1843
- pcb_component_id: z85.string(),
1844
- text: z85.string(),
1845
- is_knockout: z85.boolean().default(false).optional(),
1846
- knockout_padding: z85.object({
1853
+ pcb_component_id: z86.string(),
1854
+ text: z86.string(),
1855
+ is_knockout: z86.boolean().default(false).optional(),
1856
+ knockout_padding: z86.object({
1847
1857
  left: length,
1848
1858
  top: length,
1849
1859
  bottom: length,
@@ -1854,43 +1864,43 @@ var pcb_silkscreen_text = z85.object({
1854
1864
  bottom: "0.2mm",
1855
1865
  right: "0.2mm"
1856
1866
  }).optional(),
1857
- ccw_rotation: z85.number().optional(),
1867
+ ccw_rotation: z86.number().optional(),
1858
1868
  layer: layer_ref,
1859
- is_mirrored: z85.boolean().default(false).optional(),
1869
+ is_mirrored: z86.boolean().default(false).optional(),
1860
1870
  anchor_position: point.default({ x: 0, y: 0 }),
1861
1871
  anchor_alignment: ninePointAnchor.default("center")
1862
1872
  }).describe("Defines silkscreen text on the PCB");
1863
1873
  expectTypesMatch(true);
1864
1874
 
1865
1875
  // src/pcb/pcb_silkscreen_rect.ts
1866
- import { z as z86 } from "zod";
1867
- var pcb_silkscreen_rect = z86.object({
1868
- type: z86.literal("pcb_silkscreen_rect"),
1876
+ import { z as z87 } from "zod";
1877
+ var pcb_silkscreen_rect = z87.object({
1878
+ type: z87.literal("pcb_silkscreen_rect"),
1869
1879
  pcb_silkscreen_rect_id: getZodPrefixedIdWithDefault("pcb_silkscreen_rect"),
1870
- pcb_component_id: z86.string(),
1871
- pcb_group_id: z86.string().optional(),
1872
- subcircuit_id: z86.string().optional(),
1880
+ pcb_component_id: z87.string(),
1881
+ pcb_group_id: z87.string().optional(),
1882
+ subcircuit_id: z87.string().optional(),
1873
1883
  center: point,
1874
1884
  width: length,
1875
1885
  height: length,
1876
1886
  layer: layer_ref,
1877
1887
  stroke_width: length.default("1mm"),
1878
- is_filled: z86.boolean().default(true).optional(),
1879
- has_stroke: z86.boolean().optional(),
1880
- is_stroke_dashed: z86.boolean().optional()
1888
+ is_filled: z87.boolean().default(true).optional(),
1889
+ has_stroke: z87.boolean().optional(),
1890
+ is_stroke_dashed: z87.boolean().optional()
1881
1891
  }).describe("Defines a silkscreen rect on the PCB");
1882
1892
  expectTypesMatch(true);
1883
1893
 
1884
1894
  // src/pcb/pcb_silkscreen_circle.ts
1885
- import { z as z87 } from "zod";
1886
- var pcb_silkscreen_circle = z87.object({
1887
- type: z87.literal("pcb_silkscreen_circle"),
1895
+ import { z as z88 } from "zod";
1896
+ var pcb_silkscreen_circle = z88.object({
1897
+ type: z88.literal("pcb_silkscreen_circle"),
1888
1898
  pcb_silkscreen_circle_id: getZodPrefixedIdWithDefault(
1889
1899
  "pcb_silkscreen_circle"
1890
1900
  ),
1891
- pcb_component_id: z87.string(),
1892
- pcb_group_id: z87.string().optional(),
1893
- subcircuit_id: z87.string().optional(),
1901
+ pcb_component_id: z88.string(),
1902
+ pcb_group_id: z88.string().optional(),
1903
+ subcircuit_id: z88.string().optional(),
1894
1904
  center: point,
1895
1905
  radius: length,
1896
1906
  layer: visible_layer,
@@ -1899,13 +1909,13 @@ var pcb_silkscreen_circle = z87.object({
1899
1909
  expectTypesMatch(true);
1900
1910
 
1901
1911
  // src/pcb/pcb_silkscreen_oval.ts
1902
- import { z as z88 } from "zod";
1903
- var pcb_silkscreen_oval = z88.object({
1904
- type: z88.literal("pcb_silkscreen_oval"),
1912
+ import { z as z89 } from "zod";
1913
+ var pcb_silkscreen_oval = z89.object({
1914
+ type: z89.literal("pcb_silkscreen_oval"),
1905
1915
  pcb_silkscreen_oval_id: getZodPrefixedIdWithDefault("pcb_silkscreen_oval"),
1906
- pcb_component_id: z88.string(),
1907
- pcb_group_id: z88.string().optional(),
1908
- subcircuit_id: z88.string().optional(),
1916
+ pcb_component_id: z89.string(),
1917
+ pcb_group_id: z89.string().optional(),
1918
+ subcircuit_id: z89.string().optional(),
1909
1919
  center: point,
1910
1920
  radius_x: distance,
1911
1921
  radius_y: distance,
@@ -1914,103 +1924,125 @@ var pcb_silkscreen_oval = z88.object({
1914
1924
  expectTypesMatch(true);
1915
1925
 
1916
1926
  // src/pcb/pcb_fabrication_note_text.ts
1917
- import { z as z89 } from "zod";
1918
- var pcb_fabrication_note_text = z89.object({
1919
- type: z89.literal("pcb_fabrication_note_text"),
1927
+ import { z as z90 } from "zod";
1928
+ var pcb_fabrication_note_text = z90.object({
1929
+ type: z90.literal("pcb_fabrication_note_text"),
1920
1930
  pcb_fabrication_note_text_id: getZodPrefixedIdWithDefault(
1921
1931
  "pcb_fabrication_note_text"
1922
1932
  ),
1923
- subcircuit_id: z89.string().optional(),
1924
- pcb_group_id: z89.string().optional(),
1925
- font: z89.literal("tscircuit2024").default("tscircuit2024"),
1933
+ subcircuit_id: z90.string().optional(),
1934
+ pcb_group_id: z90.string().optional(),
1935
+ font: z90.literal("tscircuit2024").default("tscircuit2024"),
1926
1936
  font_size: distance.default("1mm"),
1927
- pcb_component_id: z89.string(),
1928
- text: z89.string(),
1937
+ pcb_component_id: z90.string(),
1938
+ text: z90.string(),
1929
1939
  layer: visible_layer,
1930
1940
  anchor_position: point.default({ x: 0, y: 0 }),
1931
- anchor_alignment: z89.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).default("center"),
1932
- color: z89.string().optional()
1941
+ anchor_alignment: z90.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).default("center"),
1942
+ color: z90.string().optional()
1933
1943
  }).describe(
1934
1944
  "Defines a fabrication note in text on the PCB, useful for leaving notes for assemblers or fabricators"
1935
1945
  );
1936
1946
  expectTypesMatch(true);
1937
1947
 
1938
1948
  // src/pcb/pcb_fabrication_note_path.ts
1939
- import { z as z90 } from "zod";
1940
- var pcb_fabrication_note_path = z90.object({
1941
- type: z90.literal("pcb_fabrication_note_path"),
1949
+ import { z as z91 } from "zod";
1950
+ var pcb_fabrication_note_path = z91.object({
1951
+ type: z91.literal("pcb_fabrication_note_path"),
1942
1952
  pcb_fabrication_note_path_id: getZodPrefixedIdWithDefault(
1943
1953
  "pcb_fabrication_note_path"
1944
1954
  ),
1945
- pcb_component_id: z90.string(),
1946
- subcircuit_id: z90.string().optional(),
1955
+ pcb_component_id: z91.string(),
1956
+ subcircuit_id: z91.string().optional(),
1947
1957
  layer: layer_ref,
1948
- route: z90.array(point),
1958
+ route: z91.array(point),
1949
1959
  stroke_width: length,
1950
- color: z90.string().optional()
1960
+ color: z91.string().optional()
1951
1961
  }).describe(
1952
1962
  "Defines a fabrication path on the PCB for fabricators or assemblers"
1953
1963
  );
1954
1964
  expectTypesMatch(true);
1955
1965
 
1966
+ // src/pcb/pcb_fabrication_note_rect.ts
1967
+ import { z as z92 } from "zod";
1968
+ var pcb_fabrication_note_rect = z92.object({
1969
+ type: z92.literal("pcb_fabrication_note_rect"),
1970
+ pcb_fabrication_note_rect_id: getZodPrefixedIdWithDefault(
1971
+ "pcb_fabrication_note_rect"
1972
+ ),
1973
+ pcb_component_id: z92.string(),
1974
+ pcb_group_id: z92.string().optional(),
1975
+ subcircuit_id: z92.string().optional(),
1976
+ center: point,
1977
+ width: length,
1978
+ height: length,
1979
+ layer: visible_layer,
1980
+ stroke_width: length.default("0.1mm"),
1981
+ is_filled: z92.boolean().optional(),
1982
+ has_stroke: z92.boolean().optional(),
1983
+ is_stroke_dashed: z92.boolean().optional(),
1984
+ color: z92.string().optional()
1985
+ }).describe("Defines a fabrication note rectangle on the PCB");
1986
+ expectTypesMatch(true);
1987
+
1956
1988
  // src/pcb/pcb_footprint_overlap_error.ts
1957
- import { z as z91 } from "zod";
1958
- var pcb_footprint_overlap_error = z91.object({
1959
- type: z91.literal("pcb_footprint_overlap_error"),
1989
+ import { z as z93 } from "zod";
1990
+ var pcb_footprint_overlap_error = z93.object({
1991
+ type: z93.literal("pcb_footprint_overlap_error"),
1960
1992
  pcb_error_id: getZodPrefixedIdWithDefault("pcb_error"),
1961
- error_type: z91.literal("pcb_footprint_overlap_error").default("pcb_footprint_overlap_error"),
1962
- message: z91.string(),
1963
- pcb_smtpad_ids: z91.array(z91.string()).optional(),
1964
- pcb_plated_hole_ids: z91.array(z91.string()).optional(),
1965
- pcb_hole_ids: z91.array(z91.string()).optional(),
1966
- pcb_keepout_ids: z91.array(z91.string()).optional()
1993
+ error_type: z93.literal("pcb_footprint_overlap_error").default("pcb_footprint_overlap_error"),
1994
+ message: z93.string(),
1995
+ pcb_smtpad_ids: z93.array(z93.string()).optional(),
1996
+ pcb_plated_hole_ids: z93.array(z93.string()).optional(),
1997
+ pcb_hole_ids: z93.array(z93.string()).optional(),
1998
+ pcb_keepout_ids: z93.array(z93.string()).optional()
1967
1999
  }).describe("Error emitted when a pcb footprint overlaps with another element");
1968
2000
  expectTypesMatch(
1969
2001
  true
1970
2002
  );
1971
2003
 
1972
2004
  // src/pcb/pcb_keepout.ts
1973
- import { z as z92 } from "zod";
1974
- var pcb_keepout = z92.object({
1975
- type: z92.literal("pcb_keepout"),
1976
- shape: z92.literal("rect"),
1977
- pcb_group_id: z92.string().optional(),
1978
- subcircuit_id: z92.string().optional(),
2005
+ import { z as z94 } from "zod";
2006
+ var pcb_keepout = z94.object({
2007
+ type: z94.literal("pcb_keepout"),
2008
+ shape: z94.literal("rect"),
2009
+ pcb_group_id: z94.string().optional(),
2010
+ subcircuit_id: z94.string().optional(),
1979
2011
  center: point,
1980
2012
  width: distance,
1981
2013
  height: distance,
1982
- pcb_keepout_id: z92.string(),
1983
- layers: z92.array(z92.string()),
2014
+ pcb_keepout_id: z94.string(),
2015
+ layers: z94.array(z94.string()),
1984
2016
  // Specify layers where the keepout applies
1985
- description: z92.string().optional()
2017
+ description: z94.string().optional()
1986
2018
  // Optional description of the keepout
1987
2019
  }).or(
1988
- z92.object({
1989
- type: z92.literal("pcb_keepout"),
1990
- shape: z92.literal("circle"),
1991
- pcb_group_id: z92.string().optional(),
1992
- subcircuit_id: z92.string().optional(),
2020
+ z94.object({
2021
+ type: z94.literal("pcb_keepout"),
2022
+ shape: z94.literal("circle"),
2023
+ pcb_group_id: z94.string().optional(),
2024
+ subcircuit_id: z94.string().optional(),
1993
2025
  center: point,
1994
2026
  radius: distance,
1995
- pcb_keepout_id: z92.string(),
1996
- layers: z92.array(z92.string()),
2027
+ pcb_keepout_id: z94.string(),
2028
+ layers: z94.array(z94.string()),
1997
2029
  // Specify layers where the keepout applies
1998
- description: z92.string().optional()
2030
+ description: z94.string().optional()
1999
2031
  // Optional description of the keepout
2000
2032
  })
2001
2033
  );
2002
2034
  expectTypesMatch(true);
2003
2035
 
2004
2036
  // src/pcb/pcb_cutout.ts
2005
- import { z as z93 } from "zod";
2006
- var pcb_cutout_base = z93.object({
2007
- type: z93.literal("pcb_cutout"),
2037
+ import { z as z95 } from "zod";
2038
+ var pcb_cutout_base = z95.object({
2039
+ type: z95.literal("pcb_cutout"),
2008
2040
  pcb_cutout_id: getZodPrefixedIdWithDefault("pcb_cutout"),
2009
- pcb_group_id: z93.string().optional(),
2010
- subcircuit_id: z93.string().optional()
2041
+ pcb_group_id: z95.string().optional(),
2042
+ subcircuit_id: z95.string().optional()
2011
2043
  });
2012
2044
  var pcb_cutout_rect = pcb_cutout_base.extend({
2013
- shape: z93.literal("rect"),
2045
+ shape: z95.literal("rect"),
2014
2046
  center: point,
2015
2047
  width: length,
2016
2048
  height: length,
@@ -2018,17 +2050,17 @@ var pcb_cutout_rect = pcb_cutout_base.extend({
2018
2050
  });
2019
2051
  expectTypesMatch(true);
2020
2052
  var pcb_cutout_circle = pcb_cutout_base.extend({
2021
- shape: z93.literal("circle"),
2053
+ shape: z95.literal("circle"),
2022
2054
  center: point,
2023
2055
  radius: length
2024
2056
  });
2025
2057
  expectTypesMatch(true);
2026
2058
  var pcb_cutout_polygon = pcb_cutout_base.extend({
2027
- shape: z93.literal("polygon"),
2028
- points: z93.array(point)
2059
+ shape: z95.literal("polygon"),
2060
+ points: z95.array(point)
2029
2061
  });
2030
2062
  expectTypesMatch(true);
2031
- var pcb_cutout = z93.discriminatedUnion("shape", [
2063
+ var pcb_cutout = z95.discriminatedUnion("shape", [
2032
2064
  pcb_cutout_rect,
2033
2065
  pcb_cutout_circle,
2034
2066
  pcb_cutout_polygon
@@ -2036,117 +2068,117 @@ var pcb_cutout = z93.discriminatedUnion("shape", [
2036
2068
  expectTypesMatch(true);
2037
2069
 
2038
2070
  // src/pcb/pcb_missing_footprint_error.ts
2039
- import { z as z94 } from "zod";
2040
- var pcb_missing_footprint_error = z94.object({
2041
- type: z94.literal("pcb_missing_footprint_error"),
2071
+ import { z as z96 } from "zod";
2072
+ var pcb_missing_footprint_error = z96.object({
2073
+ type: z96.literal("pcb_missing_footprint_error"),
2042
2074
  pcb_missing_footprint_error_id: getZodPrefixedIdWithDefault(
2043
2075
  "pcb_missing_footprint_error"
2044
2076
  ),
2045
- pcb_group_id: z94.string().optional(),
2046
- subcircuit_id: z94.string().optional(),
2047
- error_type: z94.literal("pcb_missing_footprint_error").default("pcb_missing_footprint_error"),
2048
- source_component_id: z94.string(),
2049
- message: z94.string()
2077
+ pcb_group_id: z96.string().optional(),
2078
+ subcircuit_id: z96.string().optional(),
2079
+ error_type: z96.literal("pcb_missing_footprint_error").default("pcb_missing_footprint_error"),
2080
+ source_component_id: z96.string(),
2081
+ message: z96.string()
2050
2082
  }).describe("Defines a missing footprint error on the PCB");
2051
2083
  expectTypesMatch(
2052
2084
  true
2053
2085
  );
2054
2086
 
2055
2087
  // src/pcb/external_footprint_load_error.ts
2056
- import { z as z95 } from "zod";
2057
- var external_footprint_load_error = z95.object({
2058
- type: z95.literal("external_footprint_load_error"),
2088
+ import { z as z97 } from "zod";
2089
+ var external_footprint_load_error = z97.object({
2090
+ type: z97.literal("external_footprint_load_error"),
2059
2091
  external_footprint_load_error_id: getZodPrefixedIdWithDefault(
2060
2092
  "external_footprint_load_error"
2061
2093
  ),
2062
- pcb_component_id: z95.string(),
2063
- source_component_id: z95.string(),
2064
- pcb_group_id: z95.string().optional(),
2065
- subcircuit_id: z95.string().optional(),
2066
- footprinter_string: z95.string().optional(),
2067
- error_type: z95.literal("external_footprint_load_error").default("external_footprint_load_error"),
2068
- message: z95.string()
2094
+ pcb_component_id: z97.string(),
2095
+ source_component_id: z97.string(),
2096
+ pcb_group_id: z97.string().optional(),
2097
+ subcircuit_id: z97.string().optional(),
2098
+ footprinter_string: z97.string().optional(),
2099
+ error_type: z97.literal("external_footprint_load_error").default("external_footprint_load_error"),
2100
+ message: z97.string()
2069
2101
  }).describe("Defines an error when an external footprint fails to load");
2070
2102
  expectTypesMatch(true);
2071
2103
 
2072
2104
  // src/pcb/circuit_json_footprint_load_error.ts
2073
- import { z as z96 } from "zod";
2074
- var circuit_json_footprint_load_error = z96.object({
2075
- type: z96.literal("circuit_json_footprint_load_error"),
2105
+ import { z as z98 } from "zod";
2106
+ var circuit_json_footprint_load_error = z98.object({
2107
+ type: z98.literal("circuit_json_footprint_load_error"),
2076
2108
  circuit_json_footprint_load_error_id: getZodPrefixedIdWithDefault(
2077
2109
  "circuit_json_footprint_load_error"
2078
2110
  ),
2079
- pcb_component_id: z96.string(),
2080
- source_component_id: z96.string(),
2081
- pcb_group_id: z96.string().optional(),
2082
- subcircuit_id: z96.string().optional(),
2083
- error_type: z96.literal("circuit_json_footprint_load_error").default("circuit_json_footprint_load_error"),
2084
- message: z96.string(),
2085
- circuit_json: z96.array(z96.any()).optional()
2111
+ pcb_component_id: z98.string(),
2112
+ source_component_id: z98.string(),
2113
+ pcb_group_id: z98.string().optional(),
2114
+ subcircuit_id: z98.string().optional(),
2115
+ error_type: z98.literal("circuit_json_footprint_load_error").default("circuit_json_footprint_load_error"),
2116
+ message: z98.string(),
2117
+ circuit_json: z98.array(z98.any()).optional()
2086
2118
  }).describe("Defines an error when a circuit JSON footprint fails to load");
2087
2119
  expectTypesMatch(true);
2088
2120
 
2089
2121
  // src/pcb/pcb_group.ts
2090
- import { z as z97 } from "zod";
2091
- var pcb_group = z97.object({
2092
- type: z97.literal("pcb_group"),
2122
+ import { z as z99 } from "zod";
2123
+ var pcb_group = z99.object({
2124
+ type: z99.literal("pcb_group"),
2093
2125
  pcb_group_id: getZodPrefixedIdWithDefault("pcb_group"),
2094
- source_group_id: z97.string(),
2095
- is_subcircuit: z97.boolean().optional(),
2096
- subcircuit_id: z97.string().optional(),
2126
+ source_group_id: z99.string(),
2127
+ is_subcircuit: z99.boolean().optional(),
2128
+ subcircuit_id: z99.string().optional(),
2097
2129
  width: length,
2098
2130
  height: length,
2099
2131
  center: point,
2100
- pcb_component_ids: z97.array(z97.string()),
2101
- name: z97.string().optional(),
2102
- description: z97.string().optional(),
2103
- layout_mode: z97.string().optional(),
2104
- autorouter_configuration: z97.object({
2132
+ pcb_component_ids: z99.array(z99.string()),
2133
+ name: z99.string().optional(),
2134
+ description: z99.string().optional(),
2135
+ layout_mode: z99.string().optional(),
2136
+ autorouter_configuration: z99.object({
2105
2137
  trace_clearance: length
2106
2138
  }).optional(),
2107
- autorouter_used_string: z97.string().optional()
2139
+ autorouter_used_string: z99.string().optional()
2108
2140
  }).describe("Defines a group of components on the PCB");
2109
2141
  expectTypesMatch(true);
2110
2142
 
2111
2143
  // src/pcb/pcb_autorouting_error.ts
2112
- import { z as z98 } from "zod";
2113
- var pcb_autorouting_error = z98.object({
2114
- type: z98.literal("pcb_autorouting_error"),
2144
+ import { z as z100 } from "zod";
2145
+ var pcb_autorouting_error = z100.object({
2146
+ type: z100.literal("pcb_autorouting_error"),
2115
2147
  pcb_error_id: getZodPrefixedIdWithDefault("pcb_autorouting_error"),
2116
- error_type: z98.literal("pcb_autorouting_error").default("pcb_autorouting_error"),
2117
- message: z98.string(),
2118
- subcircuit_id: z98.string().optional()
2148
+ error_type: z100.literal("pcb_autorouting_error").default("pcb_autorouting_error"),
2149
+ message: z100.string(),
2150
+ subcircuit_id: z100.string().optional()
2119
2151
  }).describe("The autorouting has failed to route a portion of the board");
2120
2152
  expectTypesMatch(true);
2121
2153
 
2122
2154
  // src/pcb/pcb_manual_edit_conflict_warning.ts
2123
- import { z as z99 } from "zod";
2124
- var pcb_manual_edit_conflict_warning = z99.object({
2125
- type: z99.literal("pcb_manual_edit_conflict_warning"),
2155
+ import { z as z101 } from "zod";
2156
+ var pcb_manual_edit_conflict_warning = z101.object({
2157
+ type: z101.literal("pcb_manual_edit_conflict_warning"),
2126
2158
  pcb_manual_edit_conflict_warning_id: getZodPrefixedIdWithDefault(
2127
2159
  "pcb_manual_edit_conflict_warning"
2128
2160
  ),
2129
- warning_type: z99.literal("pcb_manual_edit_conflict_warning").default("pcb_manual_edit_conflict_warning"),
2130
- message: z99.string(),
2131
- pcb_component_id: z99.string(),
2132
- pcb_group_id: z99.string().optional(),
2133
- subcircuit_id: z99.string().optional(),
2134
- source_component_id: z99.string()
2161
+ warning_type: z101.literal("pcb_manual_edit_conflict_warning").default("pcb_manual_edit_conflict_warning"),
2162
+ message: z101.string(),
2163
+ pcb_component_id: z101.string(),
2164
+ pcb_group_id: z101.string().optional(),
2165
+ subcircuit_id: z101.string().optional(),
2166
+ source_component_id: z101.string()
2135
2167
  }).describe(
2136
2168
  "Warning emitted when a component has both manual placement and explicit pcbX/pcbY coordinates"
2137
2169
  );
2138
2170
  expectTypesMatch(true);
2139
2171
 
2140
2172
  // src/pcb/pcb_breakout_point.ts
2141
- import { z as z100 } from "zod";
2142
- var pcb_breakout_point = z100.object({
2143
- type: z100.literal("pcb_breakout_point"),
2173
+ import { z as z102 } from "zod";
2174
+ var pcb_breakout_point = z102.object({
2175
+ type: z102.literal("pcb_breakout_point"),
2144
2176
  pcb_breakout_point_id: getZodPrefixedIdWithDefault("pcb_breakout_point"),
2145
- pcb_group_id: z100.string(),
2146
- subcircuit_id: z100.string().optional(),
2147
- source_trace_id: z100.string().optional(),
2148
- source_port_id: z100.string().optional(),
2149
- source_net_id: z100.string().optional(),
2177
+ pcb_group_id: z102.string(),
2178
+ subcircuit_id: z102.string().optional(),
2179
+ source_trace_id: z102.string().optional(),
2180
+ source_port_id: z102.string().optional(),
2181
+ source_net_id: z102.string().optional(),
2150
2182
  x: distance,
2151
2183
  y: distance
2152
2184
  }).describe(
@@ -2155,60 +2187,60 @@ var pcb_breakout_point = z100.object({
2155
2187
  expectTypesMatch(true);
2156
2188
 
2157
2189
  // src/pcb/pcb_ground_plane.ts
2158
- import { z as z101 } from "zod";
2159
- var pcb_ground_plane = z101.object({
2160
- type: z101.literal("pcb_ground_plane"),
2190
+ import { z as z103 } from "zod";
2191
+ var pcb_ground_plane = z103.object({
2192
+ type: z103.literal("pcb_ground_plane"),
2161
2193
  pcb_ground_plane_id: getZodPrefixedIdWithDefault("pcb_ground_plane"),
2162
- source_pcb_ground_plane_id: z101.string(),
2163
- source_net_id: z101.string(),
2164
- pcb_group_id: z101.string().optional(),
2165
- subcircuit_id: z101.string().optional()
2194
+ source_pcb_ground_plane_id: z103.string(),
2195
+ source_net_id: z103.string(),
2196
+ pcb_group_id: z103.string().optional(),
2197
+ subcircuit_id: z103.string().optional()
2166
2198
  }).describe("Defines a ground plane on the PCB");
2167
2199
  expectTypesMatch(true);
2168
2200
 
2169
2201
  // src/pcb/pcb_ground_plane_region.ts
2170
- import { z as z102 } from "zod";
2171
- var pcb_ground_plane_region = z102.object({
2172
- type: z102.literal("pcb_ground_plane_region"),
2202
+ import { z as z104 } from "zod";
2203
+ var pcb_ground_plane_region = z104.object({
2204
+ type: z104.literal("pcb_ground_plane_region"),
2173
2205
  pcb_ground_plane_region_id: getZodPrefixedIdWithDefault(
2174
2206
  "pcb_ground_plane_region"
2175
2207
  ),
2176
- pcb_ground_plane_id: z102.string(),
2177
- pcb_group_id: z102.string().optional(),
2178
- subcircuit_id: z102.string().optional(),
2208
+ pcb_ground_plane_id: z104.string(),
2209
+ pcb_group_id: z104.string().optional(),
2210
+ subcircuit_id: z104.string().optional(),
2179
2211
  layer: layer_ref,
2180
- points: z102.array(point)
2212
+ points: z104.array(point)
2181
2213
  }).describe("Defines a polygon region of a ground plane");
2182
2214
  expectTypesMatch(true);
2183
2215
 
2184
2216
  // src/pcb/pcb_thermal_spoke.ts
2185
- import { z as z103 } from "zod";
2186
- var pcb_thermal_spoke = z103.object({
2187
- type: z103.literal("pcb_thermal_spoke"),
2217
+ import { z as z105 } from "zod";
2218
+ var pcb_thermal_spoke = z105.object({
2219
+ type: z105.literal("pcb_thermal_spoke"),
2188
2220
  pcb_thermal_spoke_id: getZodPrefixedIdWithDefault("pcb_thermal_spoke"),
2189
- pcb_ground_plane_id: z103.string(),
2190
- shape: z103.string(),
2191
- spoke_count: z103.number(),
2221
+ pcb_ground_plane_id: z105.string(),
2222
+ shape: z105.string(),
2223
+ spoke_count: z105.number(),
2192
2224
  spoke_thickness: distance,
2193
2225
  spoke_inner_diameter: distance,
2194
2226
  spoke_outer_diameter: distance,
2195
- pcb_plated_hole_id: z103.string().optional(),
2196
- subcircuit_id: z103.string().optional()
2227
+ pcb_plated_hole_id: z105.string().optional(),
2228
+ subcircuit_id: z105.string().optional()
2197
2229
  }).describe("Pattern for connecting a ground plane to a plated hole");
2198
2230
  expectTypesMatch(true);
2199
2231
 
2200
2232
  // src/pcb/pcb_copper_pour.ts
2201
- import { z as z104 } from "zod";
2202
- var pcb_copper_pour_base = z104.object({
2203
- type: z104.literal("pcb_copper_pour"),
2233
+ import { z as z106 } from "zod";
2234
+ var pcb_copper_pour_base = z106.object({
2235
+ type: z106.literal("pcb_copper_pour"),
2204
2236
  pcb_copper_pour_id: getZodPrefixedIdWithDefault("pcb_copper_pour"),
2205
- pcb_group_id: z104.string().optional(),
2206
- subcircuit_id: z104.string().optional(),
2237
+ pcb_group_id: z106.string().optional(),
2238
+ subcircuit_id: z106.string().optional(),
2207
2239
  layer: layer_ref,
2208
- source_net_id: z104.string().optional()
2240
+ source_net_id: z106.string().optional()
2209
2241
  });
2210
2242
  var pcb_copper_pour_rect = pcb_copper_pour_base.extend({
2211
- shape: z104.literal("rect"),
2243
+ shape: z106.literal("rect"),
2212
2244
  center: point,
2213
2245
  width: length,
2214
2246
  height: length,
@@ -2216,16 +2248,16 @@ var pcb_copper_pour_rect = pcb_copper_pour_base.extend({
2216
2248
  });
2217
2249
  expectTypesMatch(true);
2218
2250
  var pcb_copper_pour_brep = pcb_copper_pour_base.extend({
2219
- shape: z104.literal("brep"),
2251
+ shape: z106.literal("brep"),
2220
2252
  brep_shape
2221
2253
  });
2222
2254
  expectTypesMatch(true);
2223
2255
  var pcb_copper_pour_polygon = pcb_copper_pour_base.extend({
2224
- shape: z104.literal("polygon"),
2225
- points: z104.array(point)
2256
+ shape: z106.literal("polygon"),
2257
+ points: z106.array(point)
2226
2258
  });
2227
2259
  expectTypesMatch(true);
2228
- var pcb_copper_pour = z104.discriminatedUnion("shape", [
2260
+ var pcb_copper_pour = z106.discriminatedUnion("shape", [
2229
2261
  pcb_copper_pour_rect,
2230
2262
  pcb_copper_pour_brep,
2231
2263
  pcb_copper_pour_polygon
@@ -2233,78 +2265,117 @@ var pcb_copper_pour = z104.discriminatedUnion("shape", [
2233
2265
  expectTypesMatch(true);
2234
2266
 
2235
2267
  // src/pcb/pcb_component_outside_board_error.ts
2236
- import { z as z105 } from "zod";
2237
- var pcb_component_outside_board_error = z105.object({
2238
- type: z105.literal("pcb_component_outside_board_error"),
2268
+ import { z as z107 } from "zod";
2269
+ var pcb_component_outside_board_error = z107.object({
2270
+ type: z107.literal("pcb_component_outside_board_error"),
2239
2271
  pcb_component_outside_board_error_id: getZodPrefixedIdWithDefault(
2240
2272
  "pcb_component_outside_board_error"
2241
2273
  ),
2242
- error_type: z105.literal("pcb_component_outside_board_error").default("pcb_component_outside_board_error"),
2243
- message: z105.string(),
2244
- pcb_component_id: z105.string(),
2245
- pcb_board_id: z105.string(),
2274
+ error_type: z107.literal("pcb_component_outside_board_error").default("pcb_component_outside_board_error"),
2275
+ message: z107.string(),
2276
+ pcb_component_id: z107.string(),
2277
+ pcb_board_id: z107.string(),
2246
2278
  component_center: point,
2247
- component_bounds: z105.object({
2248
- min_x: z105.number(),
2249
- max_x: z105.number(),
2250
- min_y: z105.number(),
2251
- max_y: z105.number()
2279
+ component_bounds: z107.object({
2280
+ min_x: z107.number(),
2281
+ max_x: z107.number(),
2282
+ min_y: z107.number(),
2283
+ max_y: z107.number()
2252
2284
  }),
2253
- subcircuit_id: z105.string().optional(),
2254
- source_component_id: z105.string().optional()
2285
+ subcircuit_id: z107.string().optional(),
2286
+ source_component_id: z107.string().optional()
2255
2287
  }).describe(
2256
2288
  "Error emitted when a PCB component is placed outside the board boundaries"
2257
2289
  );
2258
2290
  expectTypesMatch(true);
2259
2291
 
2260
2292
  // src/pcb/pcb_via_clearance_error.ts
2261
- import { z as z106 } from "zod";
2262
- var pcb_via_clearance_error = z106.object({
2263
- type: z106.literal("pcb_via_clearance_error"),
2293
+ import { z as z108 } from "zod";
2294
+ var pcb_via_clearance_error = z108.object({
2295
+ type: z108.literal("pcb_via_clearance_error"),
2264
2296
  pcb_error_id: getZodPrefixedIdWithDefault("pcb_error"),
2265
- error_type: z106.literal("pcb_via_clearance_error").default("pcb_via_clearance_error"),
2266
- message: z106.string(),
2267
- pcb_via_ids: z106.array(z106.string()).min(2),
2297
+ error_type: z108.literal("pcb_via_clearance_error").default("pcb_via_clearance_error"),
2298
+ message: z108.string(),
2299
+ pcb_via_ids: z108.array(z108.string()).min(2),
2268
2300
  minimum_clearance: distance.optional(),
2269
2301
  actual_clearance: distance.optional(),
2270
- pcb_center: z106.object({
2271
- x: z106.number().optional(),
2272
- y: z106.number().optional()
2302
+ pcb_center: z108.object({
2303
+ x: z108.number().optional(),
2304
+ y: z108.number().optional()
2273
2305
  }).optional(),
2274
- subcircuit_id: z106.string().optional()
2306
+ subcircuit_id: z108.string().optional()
2275
2307
  }).describe("Error emitted when vias are closer than the allowed clearance");
2276
2308
  expectTypesMatch(true);
2277
2309
 
2310
+ // src/pcb/pcb_courtyard_rect.ts
2311
+ import { z as z109 } from "zod";
2312
+ var pcb_courtyard_rect = z109.object({
2313
+ type: z109.literal("pcb_courtyard_rect"),
2314
+ pcb_courtyard_rect_id: getZodPrefixedIdWithDefault("pcb_courtyard_rect"),
2315
+ pcb_component_id: z109.string(),
2316
+ pcb_group_id: z109.string().optional(),
2317
+ subcircuit_id: z109.string().optional(),
2318
+ center: point,
2319
+ width: length,
2320
+ height: length,
2321
+ layer: visible_layer,
2322
+ stroke_width: length.default("0.1mm"),
2323
+ is_filled: z109.boolean().optional(),
2324
+ has_stroke: z109.boolean().optional(),
2325
+ is_stroke_dashed: z109.boolean().optional(),
2326
+ color: z109.string().optional()
2327
+ }).describe("Defines a courtyard rectangle on the PCB");
2328
+ expectTypesMatch(true);
2329
+
2330
+ // src/pcb/pcb_courtyard_outline.ts
2331
+ import { z as z110 } from "zod";
2332
+ var pcb_courtyard_outline = z110.object({
2333
+ type: z110.literal("pcb_courtyard_outline"),
2334
+ pcb_courtyard_outline_id: getZodPrefixedIdWithDefault(
2335
+ "pcb_courtyard_outline"
2336
+ ),
2337
+ pcb_component_id: z110.string(),
2338
+ pcb_group_id: z110.string().optional(),
2339
+ subcircuit_id: z110.string().optional(),
2340
+ layer: visible_layer,
2341
+ outline: z110.array(point).min(2),
2342
+ stroke_width: length.default("0.1mm"),
2343
+ is_closed: z110.boolean().optional(),
2344
+ is_stroke_dashed: z110.boolean().optional(),
2345
+ color: z110.string().optional()
2346
+ }).describe("Defines a courtyard outline on the PCB");
2347
+ expectTypesMatch(true);
2348
+
2278
2349
  // src/cad/cad_component.ts
2279
- import { z as z107 } from "zod";
2280
- var cad_component = z107.object({
2281
- type: z107.literal("cad_component"),
2282
- cad_component_id: z107.string(),
2283
- pcb_component_id: z107.string(),
2284
- source_component_id: z107.string(),
2350
+ import { z as z111 } from "zod";
2351
+ var cad_component = z111.object({
2352
+ type: z111.literal("cad_component"),
2353
+ cad_component_id: z111.string(),
2354
+ pcb_component_id: z111.string(),
2355
+ source_component_id: z111.string(),
2285
2356
  position: point3,
2286
2357
  rotation: point3.optional(),
2287
2358
  size: point3.optional(),
2288
2359
  layer: layer_ref.optional(),
2289
- subcircuit_id: z107.string().optional(),
2360
+ subcircuit_id: z111.string().optional(),
2290
2361
  // These are all ways to generate/load the 3d model
2291
- footprinter_string: z107.string().optional(),
2292
- model_obj_url: z107.string().optional(),
2293
- model_stl_url: z107.string().optional(),
2294
- model_3mf_url: z107.string().optional(),
2295
- model_gltf_url: z107.string().optional(),
2296
- model_glb_url: z107.string().optional(),
2297
- model_step_url: z107.string().optional(),
2298
- model_wrl_url: z107.string().optional(),
2299
- model_unit_to_mm_scale_factor: z107.number().optional(),
2300
- model_jscad: z107.any().optional()
2362
+ footprinter_string: z111.string().optional(),
2363
+ model_obj_url: z111.string().optional(),
2364
+ model_stl_url: z111.string().optional(),
2365
+ model_3mf_url: z111.string().optional(),
2366
+ model_gltf_url: z111.string().optional(),
2367
+ model_glb_url: z111.string().optional(),
2368
+ model_step_url: z111.string().optional(),
2369
+ model_wrl_url: z111.string().optional(),
2370
+ model_unit_to_mm_scale_factor: z111.number().optional(),
2371
+ model_jscad: z111.any().optional()
2301
2372
  }).describe("Defines a component on the PCB");
2302
2373
  expectTypesMatch(true);
2303
2374
 
2304
2375
  // src/simulation/simulation_voltage_source.ts
2305
- import { z as z108 } from "zod";
2306
- var wave_shape = z108.enum(["sinewave", "square", "triangle", "sawtooth"]);
2307
- var percentage = z108.union([z108.string(), z108.number()]).transform((val) => {
2376
+ import { z as z112 } from "zod";
2377
+ var wave_shape = z112.enum(["sinewave", "square", "triangle", "sawtooth"]);
2378
+ var percentage = z112.union([z112.string(), z112.number()]).transform((val) => {
2308
2379
  if (typeof val === "string") {
2309
2380
  if (val.endsWith("%")) {
2310
2381
  return parseFloat(val.slice(0, -1)) / 100;
@@ -2313,30 +2384,30 @@ var percentage = z108.union([z108.string(), z108.number()]).transform((val) => {
2313
2384
  }
2314
2385
  return val;
2315
2386
  }).pipe(
2316
- z108.number().min(0, "Duty cycle must be non-negative").max(1, "Duty cycle cannot be greater than 100%")
2387
+ z112.number().min(0, "Duty cycle must be non-negative").max(1, "Duty cycle cannot be greater than 100%")
2317
2388
  );
2318
- var simulation_dc_voltage_source = z108.object({
2319
- type: z108.literal("simulation_voltage_source"),
2389
+ var simulation_dc_voltage_source = z112.object({
2390
+ type: z112.literal("simulation_voltage_source"),
2320
2391
  simulation_voltage_source_id: getZodPrefixedIdWithDefault(
2321
2392
  "simulation_voltage_source"
2322
2393
  ),
2323
- is_dc_source: z108.literal(true).optional().default(true),
2324
- positive_source_port_id: z108.string().optional(),
2325
- negative_source_port_id: z108.string().optional(),
2326
- positive_source_net_id: z108.string().optional(),
2327
- negative_source_net_id: z108.string().optional(),
2394
+ is_dc_source: z112.literal(true).optional().default(true),
2395
+ positive_source_port_id: z112.string().optional(),
2396
+ negative_source_port_id: z112.string().optional(),
2397
+ positive_source_net_id: z112.string().optional(),
2398
+ negative_source_net_id: z112.string().optional(),
2328
2399
  voltage
2329
2400
  }).describe("Defines a DC voltage source for simulation");
2330
- var simulation_ac_voltage_source = z108.object({
2331
- type: z108.literal("simulation_voltage_source"),
2401
+ var simulation_ac_voltage_source = z112.object({
2402
+ type: z112.literal("simulation_voltage_source"),
2332
2403
  simulation_voltage_source_id: getZodPrefixedIdWithDefault(
2333
2404
  "simulation_voltage_source"
2334
2405
  ),
2335
- is_dc_source: z108.literal(false),
2336
- terminal1_source_port_id: z108.string().optional(),
2337
- terminal2_source_port_id: z108.string().optional(),
2338
- terminal1_source_net_id: z108.string().optional(),
2339
- terminal2_source_net_id: z108.string().optional(),
2406
+ is_dc_source: z112.literal(false),
2407
+ terminal1_source_port_id: z112.string().optional(),
2408
+ terminal2_source_port_id: z112.string().optional(),
2409
+ terminal1_source_net_id: z112.string().optional(),
2410
+ terminal2_source_net_id: z112.string().optional(),
2340
2411
  voltage: voltage.optional(),
2341
2412
  frequency: frequency.optional(),
2342
2413
  peak_to_peak_voltage: voltage.optional(),
@@ -2344,25 +2415,25 @@ var simulation_ac_voltage_source = z108.object({
2344
2415
  phase: rotation.optional(),
2345
2416
  duty_cycle: percentage.optional()
2346
2417
  }).describe("Defines an AC voltage source for simulation");
2347
- var simulation_voltage_source = z108.union([simulation_dc_voltage_source, simulation_ac_voltage_source]).describe("Defines a voltage source for simulation");
2418
+ var simulation_voltage_source = z112.union([simulation_dc_voltage_source, simulation_ac_voltage_source]).describe("Defines a voltage source for simulation");
2348
2419
  expectTypesMatch(true);
2349
2420
  expectTypesMatch(true);
2350
2421
  expectTypesMatch(true);
2351
2422
 
2352
2423
  // src/simulation/simulation_experiment.ts
2353
- import { z as z109 } from "zod";
2354
- var experiment_type = z109.union([
2355
- z109.literal("spice_dc_sweep"),
2356
- z109.literal("spice_dc_operating_point"),
2357
- z109.literal("spice_transient_analysis"),
2358
- z109.literal("spice_ac_analysis")
2424
+ import { z as z113 } from "zod";
2425
+ var experiment_type = z113.union([
2426
+ z113.literal("spice_dc_sweep"),
2427
+ z113.literal("spice_dc_operating_point"),
2428
+ z113.literal("spice_transient_analysis"),
2429
+ z113.literal("spice_ac_analysis")
2359
2430
  ]);
2360
- var simulation_experiment = z109.object({
2361
- type: z109.literal("simulation_experiment"),
2431
+ var simulation_experiment = z113.object({
2432
+ type: z113.literal("simulation_experiment"),
2362
2433
  simulation_experiment_id: getZodPrefixedIdWithDefault(
2363
2434
  "simulation_experiment"
2364
2435
  ),
2365
- name: z109.string(),
2436
+ name: z113.string(),
2366
2437
  experiment_type,
2367
2438
  time_per_step: duration_ms.optional(),
2368
2439
  start_time_ms: ms.optional(),
@@ -2371,47 +2442,47 @@ var simulation_experiment = z109.object({
2371
2442
  expectTypesMatch(true);
2372
2443
 
2373
2444
  // src/simulation/simulation_transient_voltage_graph.ts
2374
- import { z as z110 } from "zod";
2375
- var simulation_transient_voltage_graph = z110.object({
2376
- type: z110.literal("simulation_transient_voltage_graph"),
2445
+ import { z as z114 } from "zod";
2446
+ var simulation_transient_voltage_graph = z114.object({
2447
+ type: z114.literal("simulation_transient_voltage_graph"),
2377
2448
  simulation_transient_voltage_graph_id: getZodPrefixedIdWithDefault(
2378
2449
  "simulation_transient_voltage_graph"
2379
2450
  ),
2380
- simulation_experiment_id: z110.string(),
2381
- timestamps_ms: z110.array(z110.number()).optional(),
2382
- voltage_levels: z110.array(z110.number()),
2383
- schematic_voltage_probe_id: z110.string().optional(),
2384
- subcircuit_connectivity_map_key: z110.string().optional(),
2451
+ simulation_experiment_id: z114.string(),
2452
+ timestamps_ms: z114.array(z114.number()).optional(),
2453
+ voltage_levels: z114.array(z114.number()),
2454
+ schematic_voltage_probe_id: z114.string().optional(),
2455
+ subcircuit_connectivity_map_key: z114.string().optional(),
2385
2456
  time_per_step: duration_ms,
2386
2457
  start_time_ms: ms,
2387
2458
  end_time_ms: ms,
2388
- name: z110.string().optional()
2459
+ name: z114.string().optional()
2389
2460
  }).describe("Stores voltage measurements over time for a simulation");
2390
2461
  expectTypesMatch(true);
2391
2462
 
2392
2463
  // src/simulation/simulation_switch.ts
2393
- import { z as z111 } from "zod";
2394
- var simulation_switch = z111.object({
2395
- type: z111.literal("simulation_switch"),
2464
+ import { z as z115 } from "zod";
2465
+ var simulation_switch = z115.object({
2466
+ type: z115.literal("simulation_switch"),
2396
2467
  simulation_switch_id: getZodPrefixedIdWithDefault("simulation_switch"),
2397
2468
  closes_at: ms.optional(),
2398
2469
  opens_at: ms.optional(),
2399
- starts_closed: z111.boolean().optional(),
2470
+ starts_closed: z115.boolean().optional(),
2400
2471
  switching_frequency: frequency.optional()
2401
2472
  }).describe("Defines a switch for simulation timing control");
2402
2473
  expectTypesMatch(true);
2403
2474
 
2404
2475
  // src/simulation/simulation_voltage_probe.ts
2405
- import { z as z112 } from "zod";
2406
- var simulation_voltage_probe = z112.object({
2407
- type: z112.literal("simulation_voltage_probe"),
2476
+ import { z as z116 } from "zod";
2477
+ var simulation_voltage_probe = z116.object({
2478
+ type: z116.literal("simulation_voltage_probe"),
2408
2479
  simulation_voltage_probe_id: getZodPrefixedIdWithDefault(
2409
2480
  "simulation_voltage_probe"
2410
2481
  ),
2411
- source_port_id: z112.string().optional(),
2412
- source_net_id: z112.string().optional(),
2413
- name: z112.string().optional(),
2414
- subcircuit_id: z112.string().optional()
2482
+ source_port_id: z116.string().optional(),
2483
+ source_net_id: z116.string().optional(),
2484
+ name: z116.string().optional(),
2485
+ subcircuit_id: z116.string().optional()
2415
2486
  }).describe(
2416
2487
  "Defines a voltage probe for simulation, connected to a port or a net"
2417
2488
  ).refine(
@@ -2423,8 +2494,8 @@ var simulation_voltage_probe = z112.object({
2423
2494
  expectTypesMatch(true);
2424
2495
 
2425
2496
  // src/any_circuit_element.ts
2426
- import { z as z113 } from "zod";
2427
- var any_circuit_element = z113.union([
2497
+ import { z as z117 } from "zod";
2498
+ var any_circuit_element = z117.union([
2428
2499
  source_trace,
2429
2500
  source_port,
2430
2501
  any_source_component,
@@ -2449,6 +2520,7 @@ var any_circuit_element = z113.union([
2449
2520
  source_simple_push_button,
2450
2521
  source_pcb_ground_plane,
2451
2522
  source_manually_placed_via,
2523
+ source_board,
2452
2524
  source_project_metadata,
2453
2525
  source_trace_not_connected_error,
2454
2526
  source_pin_missing_trace_warning,
@@ -2484,6 +2556,7 @@ var any_circuit_element = z113.union([
2484
2556
  pcb_via_clearance_error,
2485
2557
  pcb_fabrication_note_path,
2486
2558
  pcb_fabrication_note_text,
2559
+ pcb_fabrication_note_rect,
2487
2560
  pcb_autorouting_error,
2488
2561
  pcb_footprint_overlap_error,
2489
2562
  pcb_breakout_point,
@@ -2493,6 +2566,8 @@ var any_circuit_element = z113.union([
2493
2566
  pcb_thermal_spoke,
2494
2567
  pcb_copper_pour,
2495
2568
  pcb_component_outside_board_error,
2569
+ pcb_courtyard_rect,
2570
+ pcb_courtyard_outline,
2496
2571
  schematic_box,
2497
2572
  schematic_text,
2498
2573
  schematic_line,
@@ -2554,11 +2629,14 @@ export {
2554
2629
  pcb_copper_pour_brep,
2555
2630
  pcb_copper_pour_polygon,
2556
2631
  pcb_copper_pour_rect,
2632
+ pcb_courtyard_outline,
2633
+ pcb_courtyard_rect,
2557
2634
  pcb_cutout,
2558
2635
  pcb_cutout_circle,
2559
2636
  pcb_cutout_polygon,
2560
2637
  pcb_cutout_rect,
2561
2638
  pcb_fabrication_note_path,
2639
+ pcb_fabrication_note_rect,
2562
2640
  pcb_fabrication_note_text,
2563
2641
  pcb_footprint_overlap_error,
2564
2642
  pcb_ground_plane,
@@ -2642,6 +2720,7 @@ export {
2642
2720
  simulation_voltage_probe,
2643
2721
  simulation_voltage_source,
2644
2722
  size,
2723
+ source_board,
2645
2724
  source_component_base,
2646
2725
  source_failed_to_create_component_error,
2647
2726
  source_group,