circuit-json 0.0.407 → 0.0.409

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
@@ -642,7 +642,7 @@ var source_pin_attributes = z23.object({
642
642
  expectTypesMatch(true);
643
643
 
644
644
  // src/source/any_source_component.ts
645
- import { z as z50 } from "zod";
645
+ import { z as z51 } from "zod";
646
646
 
647
647
  // src/source/source_simple_fuse.ts
648
648
  import { z as z24 } from "zod";
@@ -887,53 +887,70 @@ var source_pin_missing_trace_warning = z45.object({
887
887
  );
888
888
  expectTypesMatch(true);
889
889
 
890
- // src/source/source_simple_voltage_probe.ts
890
+ // src/source/source_missing_manufacturer_part_number_warning.ts
891
891
  import { z as z46 } from "zod";
892
+ var source_missing_manufacturer_part_number_warning = z46.object({
893
+ type: z46.literal("source_missing_manufacturer_part_number_warning"),
894
+ source_missing_manufacturer_part_number_warning_id: getZodPrefixedIdWithDefault(
895
+ "source_missing_manufacturer_part_number_warning"
896
+ ),
897
+ warning_type: z46.literal("source_missing_manufacturer_part_number_warning").default("source_missing_manufacturer_part_number_warning"),
898
+ message: z46.string(),
899
+ source_component_id: z46.string(),
900
+ standard: z46.string(),
901
+ subcircuit_id: z46.string().optional()
902
+ }).describe(
903
+ "Warning emitted when a standard connector is missing manufacturer part number"
904
+ );
905
+ expectTypesMatch(true);
906
+
907
+ // src/source/source_simple_voltage_probe.ts
908
+ import { z as z47 } from "zod";
892
909
  var source_simple_voltage_probe = source_component_base.extend({
893
- ftype: z46.literal("simple_voltage_probe")
910
+ ftype: z47.literal("simple_voltage_probe")
894
911
  });
895
912
  expectTypesMatch(
896
913
  true
897
914
  );
898
915
 
899
916
  // src/source/source_interconnect.ts
900
- import { z as z47 } from "zod";
917
+ import { z as z48 } from "zod";
901
918
  var source_interconnect = source_component_base.extend({
902
- ftype: z47.literal("interconnect")
919
+ ftype: z48.literal("interconnect")
903
920
  });
904
921
  expectTypesMatch(true);
905
922
 
906
923
  // src/source/source_i2c_misconfigured_error.ts
907
- import { z as z48 } from "zod";
924
+ import { z as z49 } from "zod";
908
925
  var source_i2c_misconfigured_error = base_circuit_json_error.extend({
909
- type: z48.literal("source_i2c_misconfigured_error"),
926
+ type: z49.literal("source_i2c_misconfigured_error"),
910
927
  source_i2c_misconfigured_error_id: getZodPrefixedIdWithDefault(
911
928
  "source_i2c_misconfigured_error"
912
929
  ),
913
- error_type: z48.literal("source_i2c_misconfigured_error").default("source_i2c_misconfigured_error"),
914
- source_port_ids: z48.array(z48.string())
930
+ error_type: z49.literal("source_i2c_misconfigured_error").default("source_i2c_misconfigured_error"),
931
+ source_port_ids: z49.array(z49.string())
915
932
  }).describe(
916
933
  "Error emitted when incompatible I2C pins (e.g. SDA and SCL) are connected to the same net"
917
934
  );
918
935
  expectTypesMatch(true);
919
936
 
920
937
  // src/source/source_simple_voltage_source.ts
921
- import { z as z49 } from "zod";
938
+ import { z as z50 } from "zod";
922
939
  var source_simple_voltage_source = source_component_base.extend({
923
- ftype: z49.literal("simple_voltage_source"),
940
+ ftype: z50.literal("simple_voltage_source"),
924
941
  voltage,
925
942
  frequency: frequency.optional(),
926
943
  peak_to_peak_voltage: voltage.optional(),
927
- wave_shape: z49.enum(["sinewave", "square", "triangle", "sawtooth"]).optional(),
944
+ wave_shape: z50.enum(["sinewave", "square", "triangle", "sawtooth"]).optional(),
928
945
  phase: rotation.optional(),
929
- duty_cycle: z49.number().optional().describe("Duty cycle as a fraction (0 to 1)")
946
+ duty_cycle: z50.number().optional().describe("Duty cycle as a fraction (0 to 1)")
930
947
  });
931
948
  expectTypesMatch(
932
949
  true
933
950
  );
934
951
 
935
952
  // src/source/any_source_component.ts
936
- var any_source_component = z50.union([
953
+ var any_source_component = z51.union([
937
954
  source_simple_resistor,
938
955
  source_simple_capacitor,
939
956
  source_simple_diode,
@@ -968,126 +985,127 @@ var any_source_component = z50.union([
968
985
  source_trace_not_connected_error,
969
986
  source_property_ignored_warning,
970
987
  source_pin_missing_trace_warning,
988
+ source_missing_manufacturer_part_number_warning,
971
989
  source_i2c_misconfigured_error
972
990
  ]);
973
991
  expectTypesMatch(true);
974
992
 
975
993
  // src/source/source_port.ts
976
- import { z as z51 } from "zod";
977
- var source_port = z51.object({
978
- type: z51.literal("source_port"),
979
- pin_number: z51.number().optional(),
980
- port_hints: z51.array(z51.string()).optional(),
981
- name: z51.string(),
982
- source_port_id: z51.string(),
983
- source_component_id: z51.string().optional(),
984
- source_group_id: z51.string().optional(),
985
- most_frequently_referenced_by_name: z51.string().optional(),
986
- subcircuit_id: z51.string().optional(),
987
- subcircuit_connectivity_map_key: z51.string().optional()
994
+ import { z as z52 } from "zod";
995
+ var source_port = z52.object({
996
+ type: z52.literal("source_port"),
997
+ pin_number: z52.number().optional(),
998
+ port_hints: z52.array(z52.string()).optional(),
999
+ name: z52.string(),
1000
+ source_port_id: z52.string(),
1001
+ source_component_id: z52.string().optional(),
1002
+ source_group_id: z52.string().optional(),
1003
+ most_frequently_referenced_by_name: z52.string().optional(),
1004
+ subcircuit_id: z52.string().optional(),
1005
+ subcircuit_connectivity_map_key: z52.string().optional()
988
1006
  }).merge(source_pin_attributes);
989
1007
  expectTypesMatch(true);
990
1008
 
991
1009
  // src/source/source_component_internal_connection.ts
992
- import { z as z52 } from "zod";
993
- var source_component_internal_connection = z52.object({
994
- type: z52.literal("source_component_internal_connection"),
995
- source_component_internal_connection_id: z52.string(),
996
- source_component_id: z52.string(),
997
- source_port_ids: z52.array(z52.string()),
998
- subcircuit_id: z52.string().optional()
1010
+ import { z as z53 } from "zod";
1011
+ var source_component_internal_connection = z53.object({
1012
+ type: z53.literal("source_component_internal_connection"),
1013
+ source_component_internal_connection_id: z53.string(),
1014
+ source_component_id: z53.string(),
1015
+ source_port_ids: z53.array(z53.string()),
1016
+ subcircuit_id: z53.string().optional()
999
1017
  });
1000
1018
  expectTypesMatch(true);
1001
1019
 
1002
1020
  // src/source/source_trace.ts
1003
- import { z as z53 } from "zod";
1004
- var source_trace = z53.object({
1005
- type: z53.literal("source_trace"),
1006
- source_trace_id: z53.string(),
1007
- connected_source_port_ids: z53.array(z53.string()),
1008
- connected_source_net_ids: z53.array(z53.string()),
1009
- subcircuit_id: z53.string().optional(),
1010
- subcircuit_connectivity_map_key: z53.string().optional(),
1011
- max_length: z53.number().optional(),
1012
- min_trace_thickness: z53.number().optional(),
1013
- display_name: z53.string().optional()
1021
+ import { z as z54 } from "zod";
1022
+ var source_trace = z54.object({
1023
+ type: z54.literal("source_trace"),
1024
+ source_trace_id: z54.string(),
1025
+ connected_source_port_ids: z54.array(z54.string()),
1026
+ connected_source_net_ids: z54.array(z54.string()),
1027
+ subcircuit_id: z54.string().optional(),
1028
+ subcircuit_connectivity_map_key: z54.string().optional(),
1029
+ max_length: z54.number().optional(),
1030
+ min_trace_thickness: z54.number().optional(),
1031
+ display_name: z54.string().optional()
1014
1032
  });
1015
1033
  expectTypesMatch(true);
1016
1034
 
1017
1035
  // src/source/source_group.ts
1018
- import { z as z54 } from "zod";
1019
- var source_group = z54.object({
1020
- type: z54.literal("source_group"),
1021
- source_group_id: z54.string(),
1022
- subcircuit_id: z54.string().optional(),
1023
- parent_subcircuit_id: z54.string().optional(),
1024
- parent_source_group_id: z54.string().optional(),
1025
- is_subcircuit: z54.boolean().optional(),
1026
- show_as_schematic_box: z54.boolean().optional(),
1027
- name: z54.string().optional(),
1028
- was_automatically_named: z54.boolean().optional()
1036
+ import { z as z55 } from "zod";
1037
+ var source_group = z55.object({
1038
+ type: z55.literal("source_group"),
1039
+ source_group_id: z55.string(),
1040
+ subcircuit_id: z55.string().optional(),
1041
+ parent_subcircuit_id: z55.string().optional(),
1042
+ parent_source_group_id: z55.string().optional(),
1043
+ is_subcircuit: z55.boolean().optional(),
1044
+ show_as_schematic_box: z55.boolean().optional(),
1045
+ name: z55.string().optional(),
1046
+ was_automatically_named: z55.boolean().optional()
1029
1047
  });
1030
1048
  expectTypesMatch(true);
1031
1049
 
1032
1050
  // src/source/source_net.ts
1033
- import { z as z55 } from "zod";
1034
- var source_net = z55.object({
1035
- type: z55.literal("source_net"),
1036
- source_net_id: z55.string(),
1037
- name: z55.string(),
1038
- member_source_group_ids: z55.array(z55.string()),
1039
- is_power: z55.boolean().optional(),
1040
- is_ground: z55.boolean().optional(),
1041
- is_digital_signal: z55.boolean().optional(),
1042
- is_analog_signal: z55.boolean().optional(),
1043
- is_positive_voltage_source: z55.boolean().optional(),
1044
- trace_width: z55.number().optional(),
1045
- subcircuit_id: z55.string().optional(),
1046
- subcircuit_connectivity_map_key: z55.string().optional()
1051
+ import { z as z56 } from "zod";
1052
+ var source_net = z56.object({
1053
+ type: z56.literal("source_net"),
1054
+ source_net_id: z56.string(),
1055
+ name: z56.string(),
1056
+ member_source_group_ids: z56.array(z56.string()),
1057
+ is_power: z56.boolean().optional(),
1058
+ is_ground: z56.boolean().optional(),
1059
+ is_digital_signal: z56.boolean().optional(),
1060
+ is_analog_signal: z56.boolean().optional(),
1061
+ is_positive_voltage_source: z56.boolean().optional(),
1062
+ trace_width: z56.number().optional(),
1063
+ subcircuit_id: z56.string().optional(),
1064
+ subcircuit_connectivity_map_key: z56.string().optional()
1047
1065
  });
1048
1066
  expectTypesMatch(true);
1049
1067
 
1050
1068
  // src/source/source_board.ts
1051
- import { z as z56 } from "zod";
1052
- var source_board = z56.object({
1053
- type: z56.literal("source_board"),
1054
- source_board_id: z56.string(),
1055
- source_group_id: z56.string(),
1056
- title: z56.string().optional()
1069
+ import { z as z57 } from "zod";
1070
+ var source_board = z57.object({
1071
+ type: z57.literal("source_board"),
1072
+ source_board_id: z57.string(),
1073
+ source_group_id: z57.string(),
1074
+ title: z57.string().optional()
1057
1075
  }).describe("Defines a board in the source domain");
1058
1076
  expectTypesMatch(true);
1059
1077
 
1060
1078
  // src/source/source_ambiguous_port_reference.ts
1061
- import { z as z57 } from "zod";
1079
+ import { z as z58 } from "zod";
1062
1080
  var source_ambiguous_port_reference = base_circuit_json_error.extend({
1063
- type: z57.literal("source_ambiguous_port_reference"),
1081
+ type: z58.literal("source_ambiguous_port_reference"),
1064
1082
  source_ambiguous_port_reference_id: getZodPrefixedIdWithDefault(
1065
1083
  "source_ambiguous_port_reference"
1066
1084
  ),
1067
- error_type: z57.literal("source_ambiguous_port_reference").default("source_ambiguous_port_reference"),
1068
- source_port_id: z57.string().optional(),
1069
- source_component_id: z57.string().optional()
1085
+ error_type: z58.literal("source_ambiguous_port_reference").default("source_ambiguous_port_reference"),
1086
+ source_port_id: z58.string().optional(),
1087
+ source_component_id: z58.string().optional()
1070
1088
  }).describe(
1071
1089
  "Error emitted when a port hint matches multiple non-overlapping pads, making the port reference ambiguous"
1072
1090
  );
1073
1091
  expectTypesMatch(true);
1074
1092
 
1075
1093
  // src/source/source_pcb_ground_plane.ts
1076
- import { z as z58 } from "zod";
1077
- var source_pcb_ground_plane = z58.object({
1078
- type: z58.literal("source_pcb_ground_plane"),
1079
- source_pcb_ground_plane_id: z58.string(),
1080
- source_group_id: z58.string(),
1081
- source_net_id: z58.string(),
1082
- subcircuit_id: z58.string().optional()
1094
+ import { z as z59 } from "zod";
1095
+ var source_pcb_ground_plane = z59.object({
1096
+ type: z59.literal("source_pcb_ground_plane"),
1097
+ source_pcb_ground_plane_id: z59.string(),
1098
+ source_group_id: z59.string(),
1099
+ source_net_id: z59.string(),
1100
+ subcircuit_id: z59.string().optional()
1083
1101
  }).describe("Defines a ground plane in the source domain");
1084
1102
  expectTypesMatch(true);
1085
1103
 
1086
1104
  // src/source/source_manually_placed_via.ts
1087
- import { z as z60 } from "zod";
1105
+ import { z as z61 } from "zod";
1088
1106
 
1089
1107
  // src/pcb/properties/layer_ref.ts
1090
- import { z as z59 } from "zod";
1108
+ import { z as z60 } from "zod";
1091
1109
  var all_layers = [
1092
1110
  "top",
1093
1111
  "bottom",
@@ -1098,9 +1116,9 @@ var all_layers = [
1098
1116
  "inner5",
1099
1117
  "inner6"
1100
1118
  ];
1101
- var layer_string = z59.enum(all_layers);
1119
+ var layer_string = z60.enum(all_layers);
1102
1120
  var layer_ref = layer_string.or(
1103
- z59.object({
1121
+ z60.object({
1104
1122
  name: layer_string
1105
1123
  })
1106
1124
  ).transform((layer) => {
@@ -1110,207 +1128,207 @@ var layer_ref = layer_string.or(
1110
1128
  return layer.name;
1111
1129
  });
1112
1130
  expectTypesMatch(true);
1113
- var visible_layer = z59.enum(["top", "bottom"]);
1131
+ var visible_layer = z60.enum(["top", "bottom"]);
1114
1132
 
1115
1133
  // src/source/source_manually_placed_via.ts
1116
- var source_manually_placed_via = z60.object({
1117
- type: z60.literal("source_manually_placed_via"),
1118
- source_manually_placed_via_id: z60.string(),
1119
- source_group_id: z60.string(),
1120
- source_net_id: z60.string(),
1121
- subcircuit_id: z60.string().optional(),
1122
- source_trace_id: z60.string().optional()
1134
+ var source_manually_placed_via = z61.object({
1135
+ type: z61.literal("source_manually_placed_via"),
1136
+ source_manually_placed_via_id: z61.string(),
1137
+ source_group_id: z61.string(),
1138
+ source_net_id: z61.string(),
1139
+ subcircuit_id: z61.string().optional(),
1140
+ source_trace_id: z61.string().optional()
1123
1141
  }).describe("Defines a via that is manually placed in the source domain");
1124
1142
  expectTypesMatch(true);
1125
1143
 
1126
1144
  // src/source/source_no_power_pin_defined_warning.ts
1127
- import { z as z61 } from "zod";
1128
- var source_no_power_pin_defined_warning = z61.object({
1129
- type: z61.literal("source_no_power_pin_defined_warning"),
1145
+ import { z as z62 } from "zod";
1146
+ var source_no_power_pin_defined_warning = z62.object({
1147
+ type: z62.literal("source_no_power_pin_defined_warning"),
1130
1148
  source_no_power_pin_defined_warning_id: getZodPrefixedIdWithDefault(
1131
1149
  "source_no_power_pin_defined_warning"
1132
1150
  ),
1133
- warning_type: z61.literal("source_no_power_pin_defined_warning").default("source_no_power_pin_defined_warning"),
1134
- message: z61.string(),
1135
- source_component_id: z61.string(),
1136
- source_port_ids: z61.array(z61.string()),
1137
- subcircuit_id: z61.string().optional()
1151
+ warning_type: z62.literal("source_no_power_pin_defined_warning").default("source_no_power_pin_defined_warning"),
1152
+ message: z62.string(),
1153
+ source_component_id: z62.string(),
1154
+ source_port_ids: z62.array(z62.string()),
1155
+ subcircuit_id: z62.string().optional()
1138
1156
  }).describe(
1139
1157
  "Warning emitted when a chip has no source ports with requires_power=true"
1140
1158
  );
1141
1159
  expectTypesMatch(true);
1142
1160
 
1143
1161
  // src/source/source_no_ground_pin_defined_warning.ts
1144
- import { z as z62 } from "zod";
1145
- var source_no_ground_pin_defined_warning = z62.object({
1146
- type: z62.literal("source_no_ground_pin_defined_warning"),
1162
+ import { z as z63 } from "zod";
1163
+ var source_no_ground_pin_defined_warning = z63.object({
1164
+ type: z63.literal("source_no_ground_pin_defined_warning"),
1147
1165
  source_no_ground_pin_defined_warning_id: getZodPrefixedIdWithDefault(
1148
1166
  "source_no_ground_pin_defined_warning"
1149
1167
  ),
1150
- warning_type: z62.literal("source_no_ground_pin_defined_warning").default("source_no_ground_pin_defined_warning"),
1151
- message: z62.string(),
1152
- source_component_id: z62.string(),
1153
- source_port_ids: z62.array(z62.string()),
1154
- subcircuit_id: z62.string().optional()
1168
+ warning_type: z63.literal("source_no_ground_pin_defined_warning").default("source_no_ground_pin_defined_warning"),
1169
+ message: z63.string(),
1170
+ source_component_id: z63.string(),
1171
+ source_port_ids: z63.array(z63.string()),
1172
+ subcircuit_id: z63.string().optional()
1155
1173
  }).describe(
1156
1174
  "Warning emitted when a chip has no source ports marked as ground pins"
1157
1175
  );
1158
1176
  expectTypesMatch(true);
1159
1177
 
1160
1178
  // src/source/source_component_pins_underspecified_warning.ts
1161
- import { z as z63 } from "zod";
1162
- var source_component_pins_underspecified_warning = z63.object({
1163
- type: z63.literal("source_component_pins_underspecified_warning"),
1179
+ import { z as z64 } from "zod";
1180
+ var source_component_pins_underspecified_warning = z64.object({
1181
+ type: z64.literal("source_component_pins_underspecified_warning"),
1164
1182
  source_component_pins_underspecified_warning_id: getZodPrefixedIdWithDefault(
1165
1183
  "source_component_pins_underspecified_warning"
1166
1184
  ),
1167
- warning_type: z63.literal("source_component_pins_underspecified_warning").default("source_component_pins_underspecified_warning"),
1168
- message: z63.string(),
1169
- source_component_id: z63.string(),
1170
- source_port_ids: z63.array(z63.string()),
1171
- subcircuit_id: z63.string().optional()
1185
+ warning_type: z64.literal("source_component_pins_underspecified_warning").default("source_component_pins_underspecified_warning"),
1186
+ message: z64.string(),
1187
+ source_component_id: z64.string(),
1188
+ source_port_ids: z64.array(z64.string()),
1189
+ subcircuit_id: z64.string().optional()
1172
1190
  }).describe(
1173
1191
  "Warning emitted when all ports on a source component are underspecified"
1174
1192
  );
1175
1193
  expectTypesMatch(true);
1176
1194
 
1177
1195
  // src/source/source_pin_must_be_connected_error.ts
1178
- import { z as z64 } from "zod";
1196
+ import { z as z65 } from "zod";
1179
1197
  var source_pin_must_be_connected_error = base_circuit_json_error.extend({
1180
- type: z64.literal("source_pin_must_be_connected_error"),
1198
+ type: z65.literal("source_pin_must_be_connected_error"),
1181
1199
  source_pin_must_be_connected_error_id: getZodPrefixedIdWithDefault(
1182
1200
  "source_pin_must_be_connected_error"
1183
1201
  ),
1184
- error_type: z64.literal("source_pin_must_be_connected_error").default("source_pin_must_be_connected_error"),
1185
- source_component_id: z64.string(),
1186
- source_port_id: z64.string(),
1187
- subcircuit_id: z64.string().optional()
1202
+ error_type: z65.literal("source_pin_must_be_connected_error").default("source_pin_must_be_connected_error"),
1203
+ source_component_id: z65.string(),
1204
+ source_port_id: z65.string(),
1205
+ subcircuit_id: z65.string().optional()
1188
1206
  }).describe(
1189
1207
  "Error emitted when a pin with mustBeConnected attribute is not connected to any trace"
1190
1208
  );
1191
1209
  expectTypesMatch(true);
1192
1210
 
1193
1211
  // src/source/unknown_error_finding_part.ts
1194
- import { z as z65 } from "zod";
1212
+ import { z as z66 } from "zod";
1195
1213
  var unknown_error_finding_part = base_circuit_json_error.extend({
1196
- type: z65.literal("unknown_error_finding_part"),
1214
+ type: z66.literal("unknown_error_finding_part"),
1197
1215
  unknown_error_finding_part_id: getZodPrefixedIdWithDefault(
1198
1216
  "unknown_error_finding_part"
1199
1217
  ),
1200
- error_type: z65.literal("unknown_error_finding_part").default("unknown_error_finding_part"),
1201
- source_component_id: z65.string().optional(),
1202
- subcircuit_id: z65.string().optional()
1218
+ error_type: z66.literal("unknown_error_finding_part").default("unknown_error_finding_part"),
1219
+ source_component_id: z66.string().optional(),
1220
+ subcircuit_id: z66.string().optional()
1203
1221
  }).describe(
1204
1222
  "Error emitted when an unexpected error occurs while finding a part"
1205
1223
  );
1206
1224
  expectTypesMatch(true);
1207
1225
 
1208
1226
  // src/schematic/schematic_box.ts
1209
- import { z as z66 } from "zod";
1210
- var schematic_box = z66.object({
1211
- type: z66.literal("schematic_box"),
1212
- schematic_component_id: z66.string().optional(),
1213
- schematic_symbol_id: z66.string().optional(),
1227
+ import { z as z67 } from "zod";
1228
+ var schematic_box = z67.object({
1229
+ type: z67.literal("schematic_box"),
1230
+ schematic_component_id: z67.string().optional(),
1231
+ schematic_symbol_id: z67.string().optional(),
1214
1232
  width: distance,
1215
1233
  height: distance,
1216
- is_dashed: z66.boolean().default(false),
1234
+ is_dashed: z67.boolean().default(false),
1217
1235
  x: distance,
1218
1236
  y: distance,
1219
- subcircuit_id: z66.string().optional()
1237
+ subcircuit_id: z67.string().optional()
1220
1238
  }).describe("Draws a box on the schematic");
1221
1239
  expectTypesMatch(true);
1222
1240
 
1223
1241
  // src/schematic/schematic_path.ts
1224
- import { z as z67 } from "zod";
1225
- var schematic_path = z67.object({
1226
- type: z67.literal("schematic_path"),
1242
+ import { z as z68 } from "zod";
1243
+ var schematic_path = z68.object({
1244
+ type: z68.literal("schematic_path"),
1227
1245
  schematic_path_id: getZodPrefixedIdWithDefault("schematic_path"),
1228
- schematic_component_id: z67.string().optional(),
1229
- schematic_symbol_id: z67.string().optional(),
1230
- fill_color: z67.string().optional(),
1231
- is_filled: z67.boolean().optional(),
1246
+ schematic_component_id: z68.string().optional(),
1247
+ schematic_symbol_id: z68.string().optional(),
1248
+ fill_color: z68.string().optional(),
1249
+ is_filled: z68.boolean().optional(),
1232
1250
  stroke_width: distance.nullable().optional(),
1233
- stroke_color: z67.string().optional(),
1234
- points: z67.array(point),
1235
- subcircuit_id: z67.string().optional()
1251
+ stroke_color: z68.string().optional(),
1252
+ points: z68.array(point),
1253
+ subcircuit_id: z68.string().optional()
1236
1254
  });
1237
1255
  expectTypesMatch(true);
1238
1256
 
1239
1257
  // src/schematic/schematic_component.ts
1240
- import { z as z68 } from "zod";
1241
- var schematic_pin_styles = z68.record(
1242
- z68.object({
1258
+ import { z as z69 } from "zod";
1259
+ var schematic_pin_styles = z69.record(
1260
+ z69.object({
1243
1261
  left_margin: length.optional(),
1244
1262
  right_margin: length.optional(),
1245
1263
  top_margin: length.optional(),
1246
1264
  bottom_margin: length.optional()
1247
1265
  })
1248
1266
  );
1249
- var schematic_component_port_arrangement_by_size = z68.object({
1250
- left_size: z68.number(),
1251
- right_size: z68.number(),
1252
- top_size: z68.number().optional(),
1253
- bottom_size: z68.number().optional()
1267
+ var schematic_component_port_arrangement_by_size = z69.object({
1268
+ left_size: z69.number(),
1269
+ right_size: z69.number(),
1270
+ top_size: z69.number().optional(),
1271
+ bottom_size: z69.number().optional()
1254
1272
  });
1255
1273
  expectTypesMatch(true);
1256
- var schematic_component_port_arrangement_by_sides = z68.object({
1257
- left_side: z68.object({
1258
- pins: z68.array(z68.number()),
1274
+ var schematic_component_port_arrangement_by_sides = z69.object({
1275
+ left_side: z69.object({
1276
+ pins: z69.array(z69.number()),
1259
1277
  // @ts-ignore
1260
- direction: z68.enum(["top-to-bottom", "bottom-to-top"]).optional()
1278
+ direction: z69.enum(["top-to-bottom", "bottom-to-top"]).optional()
1261
1279
  }).optional(),
1262
- right_side: z68.object({
1263
- pins: z68.array(z68.number()),
1280
+ right_side: z69.object({
1281
+ pins: z69.array(z69.number()),
1264
1282
  // @ts-ignore
1265
- direction: z68.enum(["top-to-bottom", "bottom-to-top"]).optional()
1283
+ direction: z69.enum(["top-to-bottom", "bottom-to-top"]).optional()
1266
1284
  }).optional(),
1267
- top_side: z68.object({
1268
- pins: z68.array(z68.number()),
1285
+ top_side: z69.object({
1286
+ pins: z69.array(z69.number()),
1269
1287
  // @ts-ignore
1270
- direction: z68.enum(["left-to-right", "right-to-left"]).optional()
1288
+ direction: z69.enum(["left-to-right", "right-to-left"]).optional()
1271
1289
  }).optional(),
1272
- bottom_side: z68.object({
1273
- pins: z68.array(z68.number()),
1290
+ bottom_side: z69.object({
1291
+ pins: z69.array(z69.number()),
1274
1292
  // @ts-ignore
1275
- direction: z68.enum(["left-to-right", "right-to-left"]).optional()
1293
+ direction: z69.enum(["left-to-right", "right-to-left"]).optional()
1276
1294
  }).optional()
1277
1295
  });
1278
1296
  expectTypesMatch(true);
1279
- var port_arrangement = z68.union([
1297
+ var port_arrangement = z69.union([
1280
1298
  schematic_component_port_arrangement_by_size,
1281
1299
  schematic_component_port_arrangement_by_sides
1282
1300
  ]);
1283
- var schematic_component = z68.object({
1284
- type: z68.literal("schematic_component"),
1301
+ var schematic_component = z69.object({
1302
+ type: z69.literal("schematic_component"),
1285
1303
  size,
1286
1304
  center: point,
1287
- source_component_id: z68.string().optional(),
1288
- schematic_component_id: z68.string(),
1289
- schematic_symbol_id: z68.string().optional(),
1305
+ source_component_id: z69.string().optional(),
1306
+ schematic_component_id: z69.string(),
1307
+ schematic_symbol_id: z69.string().optional(),
1290
1308
  pin_spacing: length.optional(),
1291
1309
  pin_styles: schematic_pin_styles.optional(),
1292
1310
  box_width: length.optional(),
1293
- symbol_name: z68.string().optional(),
1311
+ symbol_name: z69.string().optional(),
1294
1312
  port_arrangement: port_arrangement.optional(),
1295
- port_labels: z68.record(z68.string()).optional(),
1296
- symbol_display_value: z68.string().optional(),
1297
- subcircuit_id: z68.string().optional(),
1298
- schematic_group_id: z68.string().optional(),
1299
- is_schematic_group: z68.boolean().optional(),
1300
- source_group_id: z68.string().optional(),
1301
- is_box_with_pins: z68.boolean().optional().default(true)
1313
+ port_labels: z69.record(z69.string()).optional(),
1314
+ symbol_display_value: z69.string().optional(),
1315
+ subcircuit_id: z69.string().optional(),
1316
+ schematic_group_id: z69.string().optional(),
1317
+ is_schematic_group: z69.boolean().optional(),
1318
+ source_group_id: z69.string().optional(),
1319
+ is_box_with_pins: z69.boolean().optional().default(true)
1302
1320
  });
1303
1321
  expectTypesMatch(true);
1304
1322
 
1305
1323
  // src/schematic/schematic_symbol.ts
1306
- import { z as z69 } from "zod";
1307
- var schematicSymbolMetadata = z69.object({
1324
+ import { z as z70 } from "zod";
1325
+ var schematicSymbolMetadata = z70.object({
1308
1326
  kicad_symbol: kicadSymbolMetadata.optional()
1309
- }).catchall(z69.unknown());
1310
- var schematic_symbol = z69.object({
1311
- type: z69.literal("schematic_symbol"),
1312
- schematic_symbol_id: z69.string(),
1313
- name: z69.string().optional(),
1327
+ }).catchall(z70.unknown());
1328
+ var schematic_symbol = z70.object({
1329
+ type: z70.literal("schematic_symbol"),
1330
+ schematic_symbol_id: z70.string(),
1331
+ name: z70.string().optional(),
1314
1332
  metadata: schematicSymbolMetadata.optional()
1315
1333
  }).describe(
1316
1334
  "Defines a named schematic symbol that can be referenced by components."
@@ -1318,119 +1336,119 @@ var schematic_symbol = z69.object({
1318
1336
  expectTypesMatch(true);
1319
1337
 
1320
1338
  // src/schematic/schematic_line.ts
1321
- import { z as z70 } from "zod";
1322
- var schematic_line = z70.object({
1323
- type: z70.literal("schematic_line"),
1339
+ import { z as z71 } from "zod";
1340
+ var schematic_line = z71.object({
1341
+ type: z71.literal("schematic_line"),
1324
1342
  schematic_line_id: getZodPrefixedIdWithDefault("schematic_line"),
1325
- schematic_component_id: z70.string().optional(),
1326
- schematic_symbol_id: z70.string().optional(),
1343
+ schematic_component_id: z71.string().optional(),
1344
+ schematic_symbol_id: z71.string().optional(),
1327
1345
  x1: distance,
1328
1346
  y1: distance,
1329
1347
  x2: distance,
1330
1348
  y2: distance,
1331
1349
  stroke_width: distance.nullable().optional(),
1332
- color: z70.string().default("#000000"),
1333
- is_dashed: z70.boolean().default(false),
1334
- subcircuit_id: z70.string().optional()
1350
+ color: z71.string().default("#000000"),
1351
+ is_dashed: z71.boolean().default(false),
1352
+ subcircuit_id: z71.string().optional()
1335
1353
  }).describe("Draws a styled line on the schematic");
1336
1354
  expectTypesMatch(true);
1337
1355
 
1338
1356
  // src/schematic/schematic_rect.ts
1339
- import { z as z71 } from "zod";
1340
- var schematic_rect = z71.object({
1341
- type: z71.literal("schematic_rect"),
1357
+ import { z as z72 } from "zod";
1358
+ var schematic_rect = z72.object({
1359
+ type: z72.literal("schematic_rect"),
1342
1360
  schematic_rect_id: getZodPrefixedIdWithDefault("schematic_rect"),
1343
- schematic_component_id: z71.string().optional(),
1344
- schematic_symbol_id: z71.string().optional(),
1361
+ schematic_component_id: z72.string().optional(),
1362
+ schematic_symbol_id: z72.string().optional(),
1345
1363
  center: point,
1346
1364
  width: distance,
1347
1365
  height: distance,
1348
1366
  rotation: rotation.default(0),
1349
1367
  stroke_width: distance.nullable().optional(),
1350
- color: z71.string().default("#000000"),
1351
- is_filled: z71.boolean().default(false),
1352
- fill_color: z71.string().optional(),
1353
- is_dashed: z71.boolean().default(false),
1354
- subcircuit_id: z71.string().optional()
1368
+ color: z72.string().default("#000000"),
1369
+ is_filled: z72.boolean().default(false),
1370
+ fill_color: z72.string().optional(),
1371
+ is_dashed: z72.boolean().default(false),
1372
+ subcircuit_id: z72.string().optional()
1355
1373
  }).describe("Draws a styled rectangle on the schematic");
1356
1374
  expectTypesMatch(true);
1357
1375
 
1358
1376
  // src/schematic/schematic_circle.ts
1359
- import { z as z72 } from "zod";
1360
- var schematic_circle = z72.object({
1361
- type: z72.literal("schematic_circle"),
1377
+ import { z as z73 } from "zod";
1378
+ var schematic_circle = z73.object({
1379
+ type: z73.literal("schematic_circle"),
1362
1380
  schematic_circle_id: getZodPrefixedIdWithDefault("schematic_circle"),
1363
- schematic_component_id: z72.string().optional(),
1364
- schematic_symbol_id: z72.string().optional(),
1381
+ schematic_component_id: z73.string().optional(),
1382
+ schematic_symbol_id: z73.string().optional(),
1365
1383
  center: point,
1366
1384
  radius: distance,
1367
1385
  stroke_width: distance.nullable().optional(),
1368
- color: z72.string().default("#000000"),
1369
- is_filled: z72.boolean().default(false),
1370
- fill_color: z72.string().optional(),
1371
- is_dashed: z72.boolean().default(false),
1372
- subcircuit_id: z72.string().optional()
1386
+ color: z73.string().default("#000000"),
1387
+ is_filled: z73.boolean().default(false),
1388
+ fill_color: z73.string().optional(),
1389
+ is_dashed: z73.boolean().default(false),
1390
+ subcircuit_id: z73.string().optional()
1373
1391
  }).describe("Draws a styled circle on the schematic");
1374
1392
  expectTypesMatch(true);
1375
1393
 
1376
1394
  // src/schematic/schematic_arc.ts
1377
- import { z as z73 } from "zod";
1378
- var schematic_arc = z73.object({
1379
- type: z73.literal("schematic_arc"),
1395
+ import { z as z74 } from "zod";
1396
+ var schematic_arc = z74.object({
1397
+ type: z74.literal("schematic_arc"),
1380
1398
  schematic_arc_id: getZodPrefixedIdWithDefault("schematic_arc"),
1381
- schematic_component_id: z73.string().optional(),
1382
- schematic_symbol_id: z73.string().optional(),
1399
+ schematic_component_id: z74.string().optional(),
1400
+ schematic_symbol_id: z74.string().optional(),
1383
1401
  center: point,
1384
1402
  radius: distance,
1385
1403
  start_angle_degrees: rotation,
1386
1404
  end_angle_degrees: rotation,
1387
- direction: z73.enum(["clockwise", "counterclockwise"]).default("counterclockwise"),
1405
+ direction: z74.enum(["clockwise", "counterclockwise"]).default("counterclockwise"),
1388
1406
  stroke_width: distance.nullable().optional(),
1389
- color: z73.string().default("#000000"),
1390
- is_dashed: z73.boolean().default(false),
1391
- subcircuit_id: z73.string().optional()
1407
+ color: z74.string().default("#000000"),
1408
+ is_dashed: z74.boolean().default(false),
1409
+ subcircuit_id: z74.string().optional()
1392
1410
  }).describe("Draws a styled arc on the schematic");
1393
1411
  expectTypesMatch(true);
1394
1412
 
1395
1413
  // src/schematic/schematic_trace.ts
1396
- import { z as z74 } from "zod";
1397
- var schematic_trace = z74.object({
1398
- type: z74.literal("schematic_trace"),
1399
- schematic_trace_id: z74.string(),
1400
- source_trace_id: z74.string().optional(),
1401
- junctions: z74.array(
1402
- z74.object({
1403
- x: z74.number(),
1404
- y: z74.number()
1414
+ import { z as z75 } from "zod";
1415
+ var schematic_trace = z75.object({
1416
+ type: z75.literal("schematic_trace"),
1417
+ schematic_trace_id: z75.string(),
1418
+ source_trace_id: z75.string().optional(),
1419
+ junctions: z75.array(
1420
+ z75.object({
1421
+ x: z75.number(),
1422
+ y: z75.number()
1405
1423
  })
1406
1424
  ),
1407
- edges: z74.array(
1408
- z74.object({
1409
- from: z74.object({
1410
- x: z74.number(),
1411
- y: z74.number()
1425
+ edges: z75.array(
1426
+ z75.object({
1427
+ from: z75.object({
1428
+ x: z75.number(),
1429
+ y: z75.number()
1412
1430
  }),
1413
- to: z74.object({
1414
- x: z74.number(),
1415
- y: z74.number()
1431
+ to: z75.object({
1432
+ x: z75.number(),
1433
+ y: z75.number()
1416
1434
  }),
1417
- is_crossing: z74.boolean().optional(),
1418
- from_schematic_port_id: z74.string().optional(),
1419
- to_schematic_port_id: z74.string().optional()
1435
+ is_crossing: z75.boolean().optional(),
1436
+ from_schematic_port_id: z75.string().optional(),
1437
+ to_schematic_port_id: z75.string().optional()
1420
1438
  })
1421
1439
  ),
1422
- subcircuit_id: z74.string().optional(),
1440
+ subcircuit_id: z75.string().optional(),
1423
1441
  // TODO: make required in a future release
1424
- subcircuit_connectivity_map_key: z74.string().optional()
1442
+ subcircuit_connectivity_map_key: z75.string().optional()
1425
1443
  });
1426
1444
  expectTypesMatch(true);
1427
1445
 
1428
1446
  // src/schematic/schematic_text.ts
1429
- import { z as z76 } from "zod";
1447
+ import { z as z77 } from "zod";
1430
1448
 
1431
1449
  // src/common/FivePointAnchor.ts
1432
- import { z as z75 } from "zod";
1433
- var fivePointAnchor = z75.enum([
1450
+ import { z as z76 } from "zod";
1451
+ var fivePointAnchor = z76.enum([
1434
1452
  "center",
1435
1453
  "left",
1436
1454
  "right",
@@ -1440,111 +1458,111 @@ var fivePointAnchor = z75.enum([
1440
1458
  expectTypesMatch(true);
1441
1459
 
1442
1460
  // src/schematic/schematic_text.ts
1443
- var schematic_text = z76.object({
1444
- type: z76.literal("schematic_text"),
1445
- schematic_component_id: z76.string().optional(),
1446
- schematic_symbol_id: z76.string().optional(),
1447
- schematic_text_id: z76.string(),
1448
- text: z76.string(),
1449
- font_size: z76.number().default(0.18),
1450
- position: z76.object({
1461
+ var schematic_text = z77.object({
1462
+ type: z77.literal("schematic_text"),
1463
+ schematic_component_id: z77.string().optional(),
1464
+ schematic_symbol_id: z77.string().optional(),
1465
+ schematic_text_id: z77.string(),
1466
+ text: z77.string(),
1467
+ font_size: z77.number().default(0.18),
1468
+ position: z77.object({
1451
1469
  x: distance,
1452
1470
  y: distance
1453
1471
  }),
1454
- rotation: z76.number().default(0),
1455
- anchor: z76.union([fivePointAnchor.describe("legacy"), ninePointAnchor]).default("center"),
1456
- color: z76.string().default("#000000"),
1457
- subcircuit_id: z76.string().optional()
1472
+ rotation: z77.number().default(0),
1473
+ anchor: z77.union([fivePointAnchor.describe("legacy"), ninePointAnchor]).default("center"),
1474
+ color: z77.string().default("#000000"),
1475
+ subcircuit_id: z77.string().optional()
1458
1476
  });
1459
1477
  expectTypesMatch(true);
1460
1478
 
1461
1479
  // src/schematic/schematic_port.ts
1462
- import { z as z77 } from "zod";
1463
- var schematic_port = z77.object({
1464
- type: z77.literal("schematic_port"),
1465
- schematic_port_id: z77.string(),
1466
- source_port_id: z77.string(),
1467
- schematic_component_id: z77.string().optional(),
1480
+ import { z as z78 } from "zod";
1481
+ var schematic_port = z78.object({
1482
+ type: z78.literal("schematic_port"),
1483
+ schematic_port_id: z78.string(),
1484
+ source_port_id: z78.string(),
1485
+ schematic_component_id: z78.string().optional(),
1468
1486
  center: point,
1469
- facing_direction: z77.enum(["up", "down", "left", "right"]).optional(),
1470
- distance_from_component_edge: z77.number().optional(),
1471
- side_of_component: z77.enum(["top", "bottom", "left", "right"]).optional(),
1472
- true_ccw_index: z77.number().optional(),
1473
- pin_number: z77.number().optional(),
1474
- display_pin_label: z77.string().optional(),
1475
- subcircuit_id: z77.string().optional(),
1476
- is_connected: z77.boolean().optional(),
1477
- has_input_arrow: z77.boolean().optional(),
1478
- has_output_arrow: z77.boolean().optional(),
1479
- is_drawn_with_inversion_circle: z77.boolean().optional()
1487
+ facing_direction: z78.enum(["up", "down", "left", "right"]).optional(),
1488
+ distance_from_component_edge: z78.number().optional(),
1489
+ side_of_component: z78.enum(["top", "bottom", "left", "right"]).optional(),
1490
+ true_ccw_index: z78.number().optional(),
1491
+ pin_number: z78.number().optional(),
1492
+ display_pin_label: z78.string().optional(),
1493
+ subcircuit_id: z78.string().optional(),
1494
+ is_connected: z78.boolean().optional(),
1495
+ has_input_arrow: z78.boolean().optional(),
1496
+ has_output_arrow: z78.boolean().optional(),
1497
+ is_drawn_with_inversion_circle: z78.boolean().optional()
1480
1498
  }).describe("Defines a port on a schematic component");
1481
1499
  expectTypesMatch(true);
1482
1500
 
1483
1501
  // src/schematic/schematic_net_label.ts
1484
- import { z as z78 } from "zod";
1485
- var schematic_net_label = z78.object({
1486
- type: z78.literal("schematic_net_label"),
1502
+ import { z as z79 } from "zod";
1503
+ var schematic_net_label = z79.object({
1504
+ type: z79.literal("schematic_net_label"),
1487
1505
  schematic_net_label_id: getZodPrefixedIdWithDefault("schematic_net_label"),
1488
- schematic_trace_id: z78.string().optional(),
1489
- source_trace_id: z78.string().optional(),
1490
- source_net_id: z78.string(),
1506
+ schematic_trace_id: z79.string().optional(),
1507
+ source_trace_id: z79.string().optional(),
1508
+ source_net_id: z79.string(),
1491
1509
  center: point,
1492
1510
  anchor_position: point.optional(),
1493
- anchor_side: z78.enum(["top", "bottom", "left", "right"]),
1494
- text: z78.string(),
1495
- symbol_name: z78.string().optional(),
1496
- is_movable: z78.boolean().optional(),
1497
- subcircuit_id: z78.string().optional()
1511
+ anchor_side: z79.enum(["top", "bottom", "left", "right"]),
1512
+ text: z79.string(),
1513
+ symbol_name: z79.string().optional(),
1514
+ is_movable: z79.boolean().optional(),
1515
+ subcircuit_id: z79.string().optional()
1498
1516
  });
1499
1517
  expectTypesMatch(true);
1500
1518
 
1501
1519
  // src/schematic/schematic_error.ts
1502
- import { z as z79 } from "zod";
1520
+ import { z as z80 } from "zod";
1503
1521
  var schematic_error = base_circuit_json_error.extend({
1504
- type: z79.literal("schematic_error"),
1505
- schematic_error_id: z79.string(),
1522
+ type: z80.literal("schematic_error"),
1523
+ schematic_error_id: z80.string(),
1506
1524
  // eventually each error type should be broken out into a dir of files
1507
- error_type: z79.literal("schematic_port_not_found").default("schematic_port_not_found"),
1508
- subcircuit_id: z79.string().optional()
1525
+ error_type: z80.literal("schematic_port_not_found").default("schematic_port_not_found"),
1526
+ subcircuit_id: z80.string().optional()
1509
1527
  }).describe("Defines a schematic error on the schematic");
1510
1528
  expectTypesMatch(true);
1511
1529
 
1512
1530
  // src/schematic/schematic_layout_error.ts
1513
- import { z as z80 } from "zod";
1531
+ import { z as z81 } from "zod";
1514
1532
  var schematic_layout_error = base_circuit_json_error.extend({
1515
- type: z80.literal("schematic_layout_error"),
1533
+ type: z81.literal("schematic_layout_error"),
1516
1534
  schematic_layout_error_id: getZodPrefixedIdWithDefault(
1517
1535
  "schematic_layout_error"
1518
1536
  ),
1519
- error_type: z80.literal("schematic_layout_error").default("schematic_layout_error"),
1520
- source_group_id: z80.string(),
1521
- schematic_group_id: z80.string(),
1522
- subcircuit_id: z80.string().optional()
1537
+ error_type: z81.literal("schematic_layout_error").default("schematic_layout_error"),
1538
+ source_group_id: z81.string(),
1539
+ schematic_group_id: z81.string(),
1540
+ subcircuit_id: z81.string().optional()
1523
1541
  }).describe("Error emitted when schematic layout fails for a group");
1524
1542
  expectTypesMatch(true);
1525
1543
 
1526
1544
  // src/schematic/schematic_debug_object.ts
1527
- import { z as z81 } from "zod";
1528
- var schematic_debug_object_base = z81.object({
1529
- type: z81.literal("schematic_debug_object"),
1530
- label: z81.string().optional(),
1531
- subcircuit_id: z81.string().optional()
1545
+ import { z as z82 } from "zod";
1546
+ var schematic_debug_object_base = z82.object({
1547
+ type: z82.literal("schematic_debug_object"),
1548
+ label: z82.string().optional(),
1549
+ subcircuit_id: z82.string().optional()
1532
1550
  });
1533
1551
  var schematic_debug_rect = schematic_debug_object_base.extend({
1534
- shape: z81.literal("rect"),
1552
+ shape: z82.literal("rect"),
1535
1553
  center: point,
1536
1554
  size
1537
1555
  });
1538
1556
  var schematic_debug_line = schematic_debug_object_base.extend({
1539
- shape: z81.literal("line"),
1557
+ shape: z82.literal("line"),
1540
1558
  start: point,
1541
1559
  end: point
1542
1560
  });
1543
1561
  var schematic_debug_point = schematic_debug_object_base.extend({
1544
- shape: z81.literal("point"),
1562
+ shape: z82.literal("point"),
1545
1563
  center: point
1546
1564
  });
1547
- var schematic_debug_object = z81.discriminatedUnion("shape", [
1565
+ var schematic_debug_object = z82.discriminatedUnion("shape", [
1548
1566
  schematic_debug_rect,
1549
1567
  schematic_debug_line,
1550
1568
  schematic_debug_point
@@ -1552,171 +1570,171 @@ var schematic_debug_object = z81.discriminatedUnion("shape", [
1552
1570
  expectTypesMatch(true);
1553
1571
 
1554
1572
  // src/schematic/schematic_voltage_probe.ts
1555
- import { z as z82 } from "zod";
1556
- var schematic_voltage_probe = z82.object({
1557
- type: z82.literal("schematic_voltage_probe"),
1558
- schematic_voltage_probe_id: z82.string(),
1559
- source_component_id: z82.string().optional(),
1560
- name: z82.string().optional(),
1573
+ import { z as z83 } from "zod";
1574
+ var schematic_voltage_probe = z83.object({
1575
+ type: z83.literal("schematic_voltage_probe"),
1576
+ schematic_voltage_probe_id: z83.string(),
1577
+ source_component_id: z83.string().optional(),
1578
+ name: z83.string().optional(),
1561
1579
  position: point,
1562
- schematic_trace_id: z82.string(),
1580
+ schematic_trace_id: z83.string(),
1563
1581
  voltage: voltage.optional(),
1564
- subcircuit_id: z82.string().optional(),
1565
- color: z82.string().optional(),
1582
+ subcircuit_id: z83.string().optional(),
1583
+ color: z83.string().optional(),
1566
1584
  label_alignment: ninePointAnchor.optional()
1567
1585
  }).describe("Defines a voltage probe measurement point on a schematic trace");
1568
1586
  expectTypesMatch(true);
1569
1587
 
1570
1588
  // src/schematic/schematic_manual_edit_conflict_warning.ts
1571
- import { z as z83 } from "zod";
1572
- var schematic_manual_edit_conflict_warning = z83.object({
1573
- type: z83.literal("schematic_manual_edit_conflict_warning"),
1589
+ import { z as z84 } from "zod";
1590
+ var schematic_manual_edit_conflict_warning = z84.object({
1591
+ type: z84.literal("schematic_manual_edit_conflict_warning"),
1574
1592
  schematic_manual_edit_conflict_warning_id: getZodPrefixedIdWithDefault(
1575
1593
  "schematic_manual_edit_conflict_warning"
1576
1594
  ),
1577
- warning_type: z83.literal("schematic_manual_edit_conflict_warning").default("schematic_manual_edit_conflict_warning"),
1578
- message: z83.string(),
1579
- schematic_component_id: z83.string(),
1580
- schematic_group_id: z83.string().optional(),
1581
- subcircuit_id: z83.string().optional(),
1582
- source_component_id: z83.string()
1595
+ warning_type: z84.literal("schematic_manual_edit_conflict_warning").default("schematic_manual_edit_conflict_warning"),
1596
+ message: z84.string(),
1597
+ schematic_component_id: z84.string(),
1598
+ schematic_group_id: z84.string().optional(),
1599
+ subcircuit_id: z84.string().optional(),
1600
+ source_component_id: z84.string()
1583
1601
  }).describe(
1584
1602
  "Warning emitted when a component has both manual placement and explicit schX/schY coordinates"
1585
1603
  );
1586
1604
  expectTypesMatch(true);
1587
1605
 
1588
1606
  // src/schematic/schematic_group.ts
1589
- import { z as z84 } from "zod";
1590
- var schematic_group = z84.object({
1591
- type: z84.literal("schematic_group"),
1607
+ import { z as z85 } from "zod";
1608
+ var schematic_group = z85.object({
1609
+ type: z85.literal("schematic_group"),
1592
1610
  schematic_group_id: getZodPrefixedIdWithDefault("schematic_group"),
1593
- source_group_id: z84.string(),
1594
- is_subcircuit: z84.boolean().optional(),
1595
- subcircuit_id: z84.string().optional(),
1611
+ source_group_id: z85.string(),
1612
+ is_subcircuit: z85.boolean().optional(),
1613
+ subcircuit_id: z85.string().optional(),
1596
1614
  width: length,
1597
1615
  height: length,
1598
1616
  center: point,
1599
- schematic_component_ids: z84.array(z84.string()),
1600
- show_as_schematic_box: z84.boolean().optional(),
1601
- name: z84.string().optional(),
1602
- description: z84.string().optional()
1617
+ schematic_component_ids: z85.array(z85.string()),
1618
+ show_as_schematic_box: z85.boolean().optional(),
1619
+ name: z85.string().optional(),
1620
+ description: z85.string().optional()
1603
1621
  }).describe("Defines a group of components on the schematic");
1604
1622
  expectTypesMatch(true);
1605
1623
 
1606
1624
  // src/schematic/schematic_table.ts
1607
- import { z as z85 } from "zod";
1608
- var schematic_table = z85.object({
1609
- type: z85.literal("schematic_table"),
1625
+ import { z as z86 } from "zod";
1626
+ var schematic_table = z86.object({
1627
+ type: z86.literal("schematic_table"),
1610
1628
  schematic_table_id: getZodPrefixedIdWithDefault("schematic_table"),
1611
1629
  anchor_position: point,
1612
- column_widths: z85.array(distance),
1613
- row_heights: z85.array(distance),
1630
+ column_widths: z86.array(distance),
1631
+ row_heights: z86.array(distance),
1614
1632
  cell_padding: distance.optional(),
1615
1633
  border_width: distance.optional(),
1616
- subcircuit_id: z85.string().optional(),
1617
- schematic_component_id: z85.string().optional(),
1634
+ subcircuit_id: z86.string().optional(),
1635
+ schematic_component_id: z86.string().optional(),
1618
1636
  anchor: ninePointAnchor.optional()
1619
1637
  }).describe("Defines a table on the schematic");
1620
1638
  expectTypesMatch(true);
1621
1639
 
1622
1640
  // src/schematic/schematic_table_cell.ts
1623
- import { z as z86 } from "zod";
1624
- var schematic_table_cell = z86.object({
1625
- type: z86.literal("schematic_table_cell"),
1641
+ import { z as z87 } from "zod";
1642
+ var schematic_table_cell = z87.object({
1643
+ type: z87.literal("schematic_table_cell"),
1626
1644
  schematic_table_cell_id: getZodPrefixedIdWithDefault(
1627
1645
  "schematic_table_cell"
1628
1646
  ),
1629
- schematic_table_id: z86.string(),
1630
- start_row_index: z86.number(),
1631
- end_row_index: z86.number(),
1632
- start_column_index: z86.number(),
1633
- end_column_index: z86.number(),
1634
- text: z86.string().optional(),
1647
+ schematic_table_id: z87.string(),
1648
+ start_row_index: z87.number(),
1649
+ end_row_index: z87.number(),
1650
+ start_column_index: z87.number(),
1651
+ end_column_index: z87.number(),
1652
+ text: z87.string().optional(),
1635
1653
  center: point,
1636
1654
  width: distance,
1637
1655
  height: distance,
1638
- horizontal_align: z86.enum(["left", "center", "right"]).optional(),
1639
- vertical_align: z86.enum(["top", "middle", "bottom"]).optional(),
1656
+ horizontal_align: z87.enum(["left", "center", "right"]).optional(),
1657
+ vertical_align: z87.enum(["top", "middle", "bottom"]).optional(),
1640
1658
  font_size: distance.optional(),
1641
- subcircuit_id: z86.string().optional()
1659
+ subcircuit_id: z87.string().optional()
1642
1660
  }).describe("Defines a cell within a schematic_table");
1643
1661
  expectTypesMatch(true);
1644
1662
 
1645
1663
  // src/schematic/schematic_sheet.ts
1646
- import { z as z87 } from "zod";
1647
- var schematic_sheet = z87.object({
1648
- type: z87.literal("schematic_sheet"),
1664
+ import { z as z88 } from "zod";
1665
+ var schematic_sheet = z88.object({
1666
+ type: z88.literal("schematic_sheet"),
1649
1667
  schematic_sheet_id: getZodPrefixedIdWithDefault("schematic_sheet"),
1650
- name: z87.string().optional(),
1651
- subcircuit_id: z87.string().optional()
1668
+ name: z88.string().optional(),
1669
+ subcircuit_id: z88.string().optional()
1652
1670
  }).describe(
1653
1671
  "Defines a schematic sheet or page that components can be placed on"
1654
1672
  );
1655
1673
  expectTypesMatch(true);
1656
1674
 
1657
1675
  // src/pcb/properties/brep.ts
1658
- import { z as z88 } from "zod";
1659
- var point_with_bulge = z88.object({
1676
+ import { z as z89 } from "zod";
1677
+ var point_with_bulge = z89.object({
1660
1678
  x: distance,
1661
1679
  y: distance,
1662
- bulge: z88.number().optional()
1680
+ bulge: z89.number().optional()
1663
1681
  });
1664
1682
  expectTypesMatch(true);
1665
- var ring = z88.object({
1666
- vertices: z88.array(point_with_bulge)
1683
+ var ring = z89.object({
1684
+ vertices: z89.array(point_with_bulge)
1667
1685
  });
1668
1686
  expectTypesMatch(true);
1669
- var brep_shape = z88.object({
1687
+ var brep_shape = z89.object({
1670
1688
  outer_ring: ring,
1671
- inner_rings: z88.array(ring).default([])
1689
+ inner_rings: z89.array(ring).default([])
1672
1690
  });
1673
1691
  expectTypesMatch(true);
1674
1692
 
1675
1693
  // src/pcb/properties/pcb_route_hints.ts
1676
- import { z as z89 } from "zod";
1677
- var pcb_route_hint = z89.object({
1694
+ import { z as z90 } from "zod";
1695
+ var pcb_route_hint = z90.object({
1678
1696
  x: distance,
1679
1697
  y: distance,
1680
- via: z89.boolean().optional(),
1698
+ via: z90.boolean().optional(),
1681
1699
  via_to_layer: layer_ref.optional()
1682
1700
  });
1683
- var pcb_route_hints = z89.array(pcb_route_hint);
1701
+ var pcb_route_hints = z90.array(pcb_route_hint);
1684
1702
  expectTypesMatch(true);
1685
1703
  expectTypesMatch(true);
1686
1704
 
1687
1705
  // src/pcb/properties/route_hint_point.ts
1688
- import { z as z90 } from "zod";
1689
- var route_hint_point = z90.object({
1706
+ import { z as z91 } from "zod";
1707
+ var route_hint_point = z91.object({
1690
1708
  x: distance,
1691
1709
  y: distance,
1692
- via: z90.boolean().optional(),
1710
+ via: z91.boolean().optional(),
1693
1711
  to_layer: layer_ref.optional(),
1694
1712
  trace_width: distance.optional()
1695
1713
  });
1696
1714
  expectTypesMatch(true);
1697
1715
 
1698
1716
  // src/pcb/pcb_component.ts
1699
- import { z as z91 } from "zod";
1700
- var pcb_component = z91.object({
1701
- type: z91.literal("pcb_component"),
1717
+ import { z as z92 } from "zod";
1718
+ var pcb_component = z92.object({
1719
+ type: z92.literal("pcb_component"),
1702
1720
  pcb_component_id: getZodPrefixedIdWithDefault("pcb_component"),
1703
- source_component_id: z91.string(),
1721
+ source_component_id: z92.string(),
1704
1722
  center: point,
1705
1723
  layer: layer_ref,
1706
1724
  rotation,
1707
- display_offset_x: z91.string().optional().describe(
1725
+ display_offset_x: z92.string().optional().describe(
1708
1726
  "How to display the x offset for this part, usually corresponding with how the user specified it"
1709
1727
  ),
1710
- display_offset_y: z91.string().optional().describe(
1728
+ display_offset_y: z92.string().optional().describe(
1711
1729
  "How to display the y offset for this part, usually corresponding with how the user specified it"
1712
1730
  ),
1713
1731
  width: length,
1714
1732
  height: length,
1715
- do_not_place: z91.boolean().optional(),
1716
- is_allowed_to_be_off_board: z91.boolean().optional(),
1717
- subcircuit_id: z91.string().optional(),
1718
- pcb_group_id: z91.string().optional(),
1719
- position_mode: z91.enum([
1733
+ do_not_place: z92.boolean().optional(),
1734
+ is_allowed_to_be_off_board: z92.boolean().optional(),
1735
+ subcircuit_id: z92.string().optional(),
1736
+ pcb_group_id: z92.string().optional(),
1737
+ position_mode: z92.enum([
1720
1738
  "packed",
1721
1739
  "relative_to_group_anchor",
1722
1740
  "relative_to_another_component",
@@ -1724,122 +1742,122 @@ var pcb_component = z91.object({
1724
1742
  ]).optional(),
1725
1743
  anchor_position: point.optional(),
1726
1744
  anchor_alignment: ninePointAnchor.optional(),
1727
- positioned_relative_to_pcb_group_id: z91.string().optional(),
1728
- positioned_relative_to_pcb_board_id: z91.string().optional(),
1745
+ positioned_relative_to_pcb_group_id: z92.string().optional(),
1746
+ positioned_relative_to_pcb_board_id: z92.string().optional(),
1729
1747
  cable_insertion_center: point.optional(),
1730
- metadata: z91.object({
1748
+ metadata: z92.object({
1731
1749
  kicad_footprint: kicadFootprintMetadata.optional()
1732
1750
  }).optional(),
1733
- obstructs_within_bounds: z91.boolean().default(true).describe(
1751
+ obstructs_within_bounds: z92.boolean().default(true).describe(
1734
1752
  "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"
1735
1753
  )
1736
1754
  }).describe("Defines a component on the PCB");
1737
1755
  expectTypesMatch(true);
1738
1756
 
1739
1757
  // src/pcb/pcb_hole.ts
1740
- import { z as z92 } from "zod";
1741
- var pcb_hole_circle = z92.object({
1742
- type: z92.literal("pcb_hole"),
1758
+ import { z as z93 } from "zod";
1759
+ var pcb_hole_circle = z93.object({
1760
+ type: z93.literal("pcb_hole"),
1743
1761
  pcb_hole_id: getZodPrefixedIdWithDefault("pcb_hole"),
1744
- pcb_group_id: z92.string().optional(),
1745
- subcircuit_id: z92.string().optional(),
1746
- pcb_component_id: z92.string().optional(),
1747
- hole_shape: z92.literal("circle"),
1748
- hole_diameter: z92.number(),
1762
+ pcb_group_id: z93.string().optional(),
1763
+ subcircuit_id: z93.string().optional(),
1764
+ pcb_component_id: z93.string().optional(),
1765
+ hole_shape: z93.literal("circle"),
1766
+ hole_diameter: z93.number(),
1749
1767
  x: distance,
1750
1768
  y: distance,
1751
- is_covered_with_solder_mask: z92.boolean().optional(),
1752
- soldermask_margin: z92.number().optional()
1769
+ is_covered_with_solder_mask: z93.boolean().optional(),
1770
+ soldermask_margin: z93.number().optional()
1753
1771
  });
1754
1772
  var pcb_hole_circle_shape = pcb_hole_circle.describe(
1755
1773
  "Defines a circular hole on the PCB"
1756
1774
  );
1757
1775
  expectTypesMatch(true);
1758
- var pcb_hole_rect = z92.object({
1759
- type: z92.literal("pcb_hole"),
1776
+ var pcb_hole_rect = z93.object({
1777
+ type: z93.literal("pcb_hole"),
1760
1778
  pcb_hole_id: getZodPrefixedIdWithDefault("pcb_hole"),
1761
- pcb_group_id: z92.string().optional(),
1762
- subcircuit_id: z92.string().optional(),
1763
- pcb_component_id: z92.string().optional(),
1764
- hole_shape: z92.literal("rect"),
1765
- hole_width: z92.number(),
1766
- hole_height: z92.number(),
1779
+ pcb_group_id: z93.string().optional(),
1780
+ subcircuit_id: z93.string().optional(),
1781
+ pcb_component_id: z93.string().optional(),
1782
+ hole_shape: z93.literal("rect"),
1783
+ hole_width: z93.number(),
1784
+ hole_height: z93.number(),
1767
1785
  x: distance,
1768
1786
  y: distance,
1769
- is_covered_with_solder_mask: z92.boolean().optional(),
1770
- soldermask_margin: z92.number().optional()
1787
+ is_covered_with_solder_mask: z93.boolean().optional(),
1788
+ soldermask_margin: z93.number().optional()
1771
1789
  });
1772
1790
  var pcb_hole_rect_shape = pcb_hole_rect.describe(
1773
1791
  "Defines a rectangular (square-capable) hole on the PCB. Use equal width/height for square."
1774
1792
  );
1775
1793
  expectTypesMatch(true);
1776
- var pcb_hole_circle_or_square = z92.object({
1777
- type: z92.literal("pcb_hole"),
1794
+ var pcb_hole_circle_or_square = z93.object({
1795
+ type: z93.literal("pcb_hole"),
1778
1796
  pcb_hole_id: getZodPrefixedIdWithDefault("pcb_hole"),
1779
- pcb_group_id: z92.string().optional(),
1780
- subcircuit_id: z92.string().optional(),
1781
- pcb_component_id: z92.string().optional(),
1782
- hole_shape: z92.enum(["circle", "square"]),
1783
- hole_diameter: z92.number(),
1797
+ pcb_group_id: z93.string().optional(),
1798
+ subcircuit_id: z93.string().optional(),
1799
+ pcb_component_id: z93.string().optional(),
1800
+ hole_shape: z93.enum(["circle", "square"]),
1801
+ hole_diameter: z93.number(),
1784
1802
  x: distance,
1785
1803
  y: distance,
1786
- is_covered_with_solder_mask: z92.boolean().optional(),
1787
- soldermask_margin: z92.number().optional()
1804
+ is_covered_with_solder_mask: z93.boolean().optional(),
1805
+ soldermask_margin: z93.number().optional()
1788
1806
  });
1789
1807
  var pcb_hole_circle_or_square_shape = pcb_hole_circle_or_square.describe(
1790
1808
  "Defines a circular or square hole on the PCB"
1791
1809
  );
1792
1810
  expectTypesMatch(true);
1793
- var pcb_hole_oval = z92.object({
1794
- type: z92.literal("pcb_hole"),
1811
+ var pcb_hole_oval = z93.object({
1812
+ type: z93.literal("pcb_hole"),
1795
1813
  pcb_hole_id: getZodPrefixedIdWithDefault("pcb_hole"),
1796
- pcb_group_id: z92.string().optional(),
1797
- subcircuit_id: z92.string().optional(),
1798
- pcb_component_id: z92.string().optional(),
1799
- hole_shape: z92.literal("oval"),
1800
- hole_width: z92.number(),
1801
- hole_height: z92.number(),
1814
+ pcb_group_id: z93.string().optional(),
1815
+ subcircuit_id: z93.string().optional(),
1816
+ pcb_component_id: z93.string().optional(),
1817
+ hole_shape: z93.literal("oval"),
1818
+ hole_width: z93.number(),
1819
+ hole_height: z93.number(),
1802
1820
  x: distance,
1803
1821
  y: distance,
1804
- is_covered_with_solder_mask: z92.boolean().optional(),
1805
- soldermask_margin: z92.number().optional()
1822
+ is_covered_with_solder_mask: z93.boolean().optional(),
1823
+ soldermask_margin: z93.number().optional()
1806
1824
  });
1807
1825
  var pcb_hole_oval_shape = pcb_hole_oval.describe(
1808
1826
  "Defines an oval hole on the PCB"
1809
1827
  );
1810
1828
  expectTypesMatch(true);
1811
- var pcb_hole_pill = z92.object({
1812
- type: z92.literal("pcb_hole"),
1829
+ var pcb_hole_pill = z93.object({
1830
+ type: z93.literal("pcb_hole"),
1813
1831
  pcb_hole_id: getZodPrefixedIdWithDefault("pcb_hole"),
1814
- pcb_group_id: z92.string().optional(),
1815
- subcircuit_id: z92.string().optional(),
1816
- pcb_component_id: z92.string().optional(),
1817
- hole_shape: z92.literal("pill"),
1818
- hole_width: z92.number(),
1819
- hole_height: z92.number(),
1832
+ pcb_group_id: z93.string().optional(),
1833
+ subcircuit_id: z93.string().optional(),
1834
+ pcb_component_id: z93.string().optional(),
1835
+ hole_shape: z93.literal("pill"),
1836
+ hole_width: z93.number(),
1837
+ hole_height: z93.number(),
1820
1838
  x: distance,
1821
1839
  y: distance,
1822
- is_covered_with_solder_mask: z92.boolean().optional(),
1823
- soldermask_margin: z92.number().optional()
1840
+ is_covered_with_solder_mask: z93.boolean().optional(),
1841
+ soldermask_margin: z93.number().optional()
1824
1842
  });
1825
1843
  var pcb_hole_pill_shape = pcb_hole_pill.describe(
1826
1844
  "Defines a pill-shaped hole on the PCB"
1827
1845
  );
1828
1846
  expectTypesMatch(true);
1829
- var pcb_hole_rotated_pill = z92.object({
1830
- type: z92.literal("pcb_hole"),
1847
+ var pcb_hole_rotated_pill = z93.object({
1848
+ type: z93.literal("pcb_hole"),
1831
1849
  pcb_hole_id: getZodPrefixedIdWithDefault("pcb_hole"),
1832
- pcb_group_id: z92.string().optional(),
1833
- subcircuit_id: z92.string().optional(),
1834
- pcb_component_id: z92.string().optional(),
1835
- hole_shape: z92.literal("rotated_pill"),
1836
- hole_width: z92.number(),
1837
- hole_height: z92.number(),
1850
+ pcb_group_id: z93.string().optional(),
1851
+ subcircuit_id: z93.string().optional(),
1852
+ pcb_component_id: z93.string().optional(),
1853
+ hole_shape: z93.literal("rotated_pill"),
1854
+ hole_width: z93.number(),
1855
+ hole_height: z93.number(),
1838
1856
  x: distance,
1839
1857
  y: distance,
1840
1858
  ccw_rotation: rotation,
1841
- is_covered_with_solder_mask: z92.boolean().optional(),
1842
- soldermask_margin: z92.number().optional()
1859
+ is_covered_with_solder_mask: z93.boolean().optional(),
1860
+ soldermask_margin: z93.number().optional()
1843
1861
  });
1844
1862
  var pcb_hole_rotated_pill_shape = pcb_hole_rotated_pill.describe(
1845
1863
  "Defines a rotated pill-shaped hole on the PCB"
@@ -1848,147 +1866,147 @@ expectTypesMatch(true);
1848
1866
  var pcb_hole = pcb_hole_circle_or_square.or(pcb_hole_oval).or(pcb_hole_pill).or(pcb_hole_rotated_pill).or(pcb_hole_circle).or(pcb_hole_rect);
1849
1867
 
1850
1868
  // src/pcb/pcb_plated_hole.ts
1851
- import { z as z93 } from "zod";
1852
- var pcb_plated_hole_circle = z93.object({
1853
- type: z93.literal("pcb_plated_hole"),
1854
- shape: z93.literal("circle"),
1855
- pcb_group_id: z93.string().optional(),
1856
- subcircuit_id: z93.string().optional(),
1857
- outer_diameter: z93.number(),
1858
- hole_diameter: z93.number(),
1859
- is_covered_with_solder_mask: z93.boolean().optional(),
1869
+ import { z as z94 } from "zod";
1870
+ var pcb_plated_hole_circle = z94.object({
1871
+ type: z94.literal("pcb_plated_hole"),
1872
+ shape: z94.literal("circle"),
1873
+ pcb_group_id: z94.string().optional(),
1874
+ subcircuit_id: z94.string().optional(),
1875
+ outer_diameter: z94.number(),
1876
+ hole_diameter: z94.number(),
1877
+ is_covered_with_solder_mask: z94.boolean().optional(),
1860
1878
  x: distance,
1861
1879
  y: distance,
1862
- layers: z93.array(layer_ref),
1863
- port_hints: z93.array(z93.string()).optional(),
1864
- pcb_component_id: z93.string().optional(),
1865
- pcb_port_id: z93.string().optional(),
1880
+ layers: z94.array(layer_ref),
1881
+ port_hints: z94.array(z94.string()).optional(),
1882
+ pcb_component_id: z94.string().optional(),
1883
+ pcb_port_id: z94.string().optional(),
1866
1884
  pcb_plated_hole_id: getZodPrefixedIdWithDefault("pcb_plated_hole"),
1867
- soldermask_margin: z93.number().optional()
1885
+ soldermask_margin: z94.number().optional()
1868
1886
  });
1869
- var pcb_plated_hole_oval = z93.object({
1870
- type: z93.literal("pcb_plated_hole"),
1871
- shape: z93.enum(["oval", "pill"]),
1872
- pcb_group_id: z93.string().optional(),
1873
- subcircuit_id: z93.string().optional(),
1874
- outer_width: z93.number(),
1875
- outer_height: z93.number(),
1876
- hole_width: z93.number(),
1877
- hole_height: z93.number(),
1878
- is_covered_with_solder_mask: z93.boolean().optional(),
1887
+ var pcb_plated_hole_oval = z94.object({
1888
+ type: z94.literal("pcb_plated_hole"),
1889
+ shape: z94.enum(["oval", "pill"]),
1890
+ pcb_group_id: z94.string().optional(),
1891
+ subcircuit_id: z94.string().optional(),
1892
+ outer_width: z94.number(),
1893
+ outer_height: z94.number(),
1894
+ hole_width: z94.number(),
1895
+ hole_height: z94.number(),
1896
+ is_covered_with_solder_mask: z94.boolean().optional(),
1879
1897
  x: distance,
1880
1898
  y: distance,
1881
1899
  ccw_rotation: rotation,
1882
- layers: z93.array(layer_ref),
1883
- port_hints: z93.array(z93.string()).optional(),
1884
- pcb_component_id: z93.string().optional(),
1885
- pcb_port_id: z93.string().optional(),
1900
+ layers: z94.array(layer_ref),
1901
+ port_hints: z94.array(z94.string()).optional(),
1902
+ pcb_component_id: z94.string().optional(),
1903
+ pcb_port_id: z94.string().optional(),
1886
1904
  pcb_plated_hole_id: getZodPrefixedIdWithDefault("pcb_plated_hole"),
1887
- soldermask_margin: z93.number().optional()
1905
+ soldermask_margin: z94.number().optional()
1888
1906
  });
1889
- var pcb_circular_hole_with_rect_pad = z93.object({
1890
- type: z93.literal("pcb_plated_hole"),
1891
- shape: z93.literal("circular_hole_with_rect_pad"),
1892
- pcb_group_id: z93.string().optional(),
1893
- subcircuit_id: z93.string().optional(),
1894
- hole_shape: z93.literal("circle"),
1895
- pad_shape: z93.literal("rect"),
1896
- hole_diameter: z93.number(),
1897
- rect_pad_width: z93.number(),
1898
- rect_pad_height: z93.number(),
1899
- rect_border_radius: z93.number().optional(),
1907
+ var pcb_circular_hole_with_rect_pad = z94.object({
1908
+ type: z94.literal("pcb_plated_hole"),
1909
+ shape: z94.literal("circular_hole_with_rect_pad"),
1910
+ pcb_group_id: z94.string().optional(),
1911
+ subcircuit_id: z94.string().optional(),
1912
+ hole_shape: z94.literal("circle"),
1913
+ pad_shape: z94.literal("rect"),
1914
+ hole_diameter: z94.number(),
1915
+ rect_pad_width: z94.number(),
1916
+ rect_pad_height: z94.number(),
1917
+ rect_border_radius: z94.number().optional(),
1900
1918
  hole_offset_x: distance.default(0),
1901
1919
  hole_offset_y: distance.default(0),
1902
- is_covered_with_solder_mask: z93.boolean().optional(),
1920
+ is_covered_with_solder_mask: z94.boolean().optional(),
1903
1921
  x: distance,
1904
1922
  y: distance,
1905
- layers: z93.array(layer_ref),
1906
- port_hints: z93.array(z93.string()).optional(),
1907
- pcb_component_id: z93.string().optional(),
1908
- pcb_port_id: z93.string().optional(),
1923
+ layers: z94.array(layer_ref),
1924
+ port_hints: z94.array(z94.string()).optional(),
1925
+ pcb_component_id: z94.string().optional(),
1926
+ pcb_port_id: z94.string().optional(),
1909
1927
  pcb_plated_hole_id: getZodPrefixedIdWithDefault("pcb_plated_hole"),
1910
- soldermask_margin: z93.number().optional(),
1928
+ soldermask_margin: z94.number().optional(),
1911
1929
  rect_ccw_rotation: rotation.optional()
1912
1930
  });
1913
- var pcb_pill_hole_with_rect_pad = z93.object({
1914
- type: z93.literal("pcb_plated_hole"),
1915
- shape: z93.literal("pill_hole_with_rect_pad"),
1916
- pcb_group_id: z93.string().optional(),
1917
- subcircuit_id: z93.string().optional(),
1918
- hole_shape: z93.literal("pill"),
1919
- pad_shape: z93.literal("rect"),
1920
- hole_width: z93.number(),
1921
- hole_height: z93.number(),
1922
- rect_pad_width: z93.number(),
1923
- rect_pad_height: z93.number(),
1924
- rect_border_radius: z93.number().optional(),
1931
+ var pcb_pill_hole_with_rect_pad = z94.object({
1932
+ type: z94.literal("pcb_plated_hole"),
1933
+ shape: z94.literal("pill_hole_with_rect_pad"),
1934
+ pcb_group_id: z94.string().optional(),
1935
+ subcircuit_id: z94.string().optional(),
1936
+ hole_shape: z94.literal("pill"),
1937
+ pad_shape: z94.literal("rect"),
1938
+ hole_width: z94.number(),
1939
+ hole_height: z94.number(),
1940
+ rect_pad_width: z94.number(),
1941
+ rect_pad_height: z94.number(),
1942
+ rect_border_radius: z94.number().optional(),
1925
1943
  hole_offset_x: distance.default(0),
1926
1944
  hole_offset_y: distance.default(0),
1927
- is_covered_with_solder_mask: z93.boolean().optional(),
1945
+ is_covered_with_solder_mask: z94.boolean().optional(),
1928
1946
  x: distance,
1929
1947
  y: distance,
1930
- layers: z93.array(layer_ref),
1931
- port_hints: z93.array(z93.string()).optional(),
1932
- pcb_component_id: z93.string().optional(),
1933
- pcb_port_id: z93.string().optional(),
1948
+ layers: z94.array(layer_ref),
1949
+ port_hints: z94.array(z94.string()).optional(),
1950
+ pcb_component_id: z94.string().optional(),
1951
+ pcb_port_id: z94.string().optional(),
1934
1952
  pcb_plated_hole_id: getZodPrefixedIdWithDefault("pcb_plated_hole"),
1935
- soldermask_margin: z93.number().optional()
1953
+ soldermask_margin: z94.number().optional()
1936
1954
  });
1937
- var pcb_rotated_pill_hole_with_rect_pad = z93.object({
1938
- type: z93.literal("pcb_plated_hole"),
1939
- shape: z93.literal("rotated_pill_hole_with_rect_pad"),
1940
- pcb_group_id: z93.string().optional(),
1941
- subcircuit_id: z93.string().optional(),
1942
- hole_shape: z93.literal("rotated_pill"),
1943
- pad_shape: z93.literal("rect"),
1944
- hole_width: z93.number(),
1945
- hole_height: z93.number(),
1955
+ var pcb_rotated_pill_hole_with_rect_pad = z94.object({
1956
+ type: z94.literal("pcb_plated_hole"),
1957
+ shape: z94.literal("rotated_pill_hole_with_rect_pad"),
1958
+ pcb_group_id: z94.string().optional(),
1959
+ subcircuit_id: z94.string().optional(),
1960
+ hole_shape: z94.literal("rotated_pill"),
1961
+ pad_shape: z94.literal("rect"),
1962
+ hole_width: z94.number(),
1963
+ hole_height: z94.number(),
1946
1964
  hole_ccw_rotation: rotation,
1947
- rect_pad_width: z93.number(),
1948
- rect_pad_height: z93.number(),
1949
- rect_border_radius: z93.number().optional(),
1965
+ rect_pad_width: z94.number(),
1966
+ rect_pad_height: z94.number(),
1967
+ rect_border_radius: z94.number().optional(),
1950
1968
  rect_ccw_rotation: rotation,
1951
1969
  hole_offset_x: distance.default(0),
1952
1970
  hole_offset_y: distance.default(0),
1953
- is_covered_with_solder_mask: z93.boolean().optional(),
1971
+ is_covered_with_solder_mask: z94.boolean().optional(),
1954
1972
  x: distance,
1955
1973
  y: distance,
1956
- layers: z93.array(layer_ref),
1957
- port_hints: z93.array(z93.string()).optional(),
1958
- pcb_component_id: z93.string().optional(),
1959
- pcb_port_id: z93.string().optional(),
1974
+ layers: z94.array(layer_ref),
1975
+ port_hints: z94.array(z94.string()).optional(),
1976
+ pcb_component_id: z94.string().optional(),
1977
+ pcb_port_id: z94.string().optional(),
1960
1978
  pcb_plated_hole_id: getZodPrefixedIdWithDefault("pcb_plated_hole"),
1961
- soldermask_margin: z93.number().optional()
1979
+ soldermask_margin: z94.number().optional()
1962
1980
  });
1963
- var pcb_hole_with_polygon_pad = z93.object({
1964
- type: z93.literal("pcb_plated_hole"),
1965
- shape: z93.literal("hole_with_polygon_pad"),
1966
- pcb_group_id: z93.string().optional(),
1967
- subcircuit_id: z93.string().optional(),
1968
- hole_shape: z93.enum(["circle", "oval", "pill", "rotated_pill"]),
1969
- hole_diameter: z93.number().optional(),
1970
- hole_width: z93.number().optional(),
1971
- hole_height: z93.number().optional(),
1972
- pad_outline: z93.array(
1973
- z93.object({
1981
+ var pcb_hole_with_polygon_pad = z94.object({
1982
+ type: z94.literal("pcb_plated_hole"),
1983
+ shape: z94.literal("hole_with_polygon_pad"),
1984
+ pcb_group_id: z94.string().optional(),
1985
+ subcircuit_id: z94.string().optional(),
1986
+ hole_shape: z94.enum(["circle", "oval", "pill", "rotated_pill"]),
1987
+ hole_diameter: z94.number().optional(),
1988
+ hole_width: z94.number().optional(),
1989
+ hole_height: z94.number().optional(),
1990
+ pad_outline: z94.array(
1991
+ z94.object({
1974
1992
  x: distance,
1975
1993
  y: distance
1976
1994
  })
1977
1995
  ).min(3),
1978
1996
  hole_offset_x: distance.default(0),
1979
1997
  hole_offset_y: distance.default(0),
1980
- is_covered_with_solder_mask: z93.boolean().optional(),
1998
+ is_covered_with_solder_mask: z94.boolean().optional(),
1981
1999
  x: distance,
1982
2000
  y: distance,
1983
- layers: z93.array(layer_ref),
1984
- port_hints: z93.array(z93.string()).optional(),
1985
- pcb_component_id: z93.string().optional(),
1986
- pcb_port_id: z93.string().optional(),
2001
+ layers: z94.array(layer_ref),
2002
+ port_hints: z94.array(z94.string()).optional(),
2003
+ pcb_component_id: z94.string().optional(),
2004
+ pcb_port_id: z94.string().optional(),
1987
2005
  pcb_plated_hole_id: getZodPrefixedIdWithDefault("pcb_plated_hole"),
1988
- soldermask_margin: z93.number().optional(),
2006
+ soldermask_margin: z94.number().optional(),
1989
2007
  ccw_rotation: rotation.optional()
1990
2008
  });
1991
- var pcb_plated_hole = z93.union([
2009
+ var pcb_plated_hole = z94.union([
1992
2010
  pcb_plated_hole_circle,
1993
2011
  pcb_plated_hole_oval,
1994
2012
  pcb_circular_hole_with_rect_pad,
@@ -2006,138 +2024,138 @@ expectTypesMatch(true);
2006
2024
  expectTypesMatch(true);
2007
2025
 
2008
2026
  // src/pcb/pcb_port.ts
2009
- import { z as z94 } from "zod";
2010
- var pcb_port = z94.object({
2011
- type: z94.literal("pcb_port"),
2027
+ import { z as z95 } from "zod";
2028
+ var pcb_port = z95.object({
2029
+ type: z95.literal("pcb_port"),
2012
2030
  pcb_port_id: getZodPrefixedIdWithDefault("pcb_port"),
2013
- pcb_group_id: z94.string().optional(),
2014
- subcircuit_id: z94.string().optional(),
2015
- source_port_id: z94.string(),
2016
- pcb_component_id: z94.string().optional(),
2031
+ pcb_group_id: z95.string().optional(),
2032
+ subcircuit_id: z95.string().optional(),
2033
+ source_port_id: z95.string(),
2034
+ pcb_component_id: z95.string().optional(),
2017
2035
  x: distance,
2018
2036
  y: distance,
2019
- layers: z94.array(layer_ref),
2020
- is_board_pinout: z94.boolean().optional()
2037
+ layers: z95.array(layer_ref),
2038
+ is_board_pinout: z95.boolean().optional()
2021
2039
  }).describe("Defines a port on the PCB");
2022
2040
  expectTypesMatch(true);
2023
2041
 
2024
2042
  // src/pcb/pcb_smtpad.ts
2025
- import { z as z95 } from "zod";
2026
- var pcb_smtpad_circle = z95.object({
2027
- type: z95.literal("pcb_smtpad"),
2028
- shape: z95.literal("circle"),
2043
+ import { z as z96 } from "zod";
2044
+ var pcb_smtpad_circle = z96.object({
2045
+ type: z96.literal("pcb_smtpad"),
2046
+ shape: z96.literal("circle"),
2029
2047
  pcb_smtpad_id: getZodPrefixedIdWithDefault("pcb_smtpad"),
2030
- pcb_group_id: z95.string().optional(),
2031
- subcircuit_id: z95.string().optional(),
2048
+ pcb_group_id: z96.string().optional(),
2049
+ subcircuit_id: z96.string().optional(),
2032
2050
  x: distance,
2033
2051
  y: distance,
2034
- radius: z95.number(),
2052
+ radius: z96.number(),
2035
2053
  layer: layer_ref,
2036
- port_hints: z95.array(z95.string()).optional(),
2037
- pcb_component_id: z95.string().optional(),
2038
- pcb_port_id: z95.string().optional(),
2039
- is_covered_with_solder_mask: z95.boolean().optional(),
2040
- soldermask_margin: z95.number().optional()
2054
+ port_hints: z96.array(z96.string()).optional(),
2055
+ pcb_component_id: z96.string().optional(),
2056
+ pcb_port_id: z96.string().optional(),
2057
+ is_covered_with_solder_mask: z96.boolean().optional(),
2058
+ soldermask_margin: z96.number().optional()
2041
2059
  });
2042
- var pcb_smtpad_rect = z95.object({
2043
- type: z95.literal("pcb_smtpad"),
2044
- shape: z95.literal("rect"),
2060
+ var pcb_smtpad_rect = z96.object({
2061
+ type: z96.literal("pcb_smtpad"),
2062
+ shape: z96.literal("rect"),
2045
2063
  pcb_smtpad_id: getZodPrefixedIdWithDefault("pcb_smtpad"),
2046
- pcb_group_id: z95.string().optional(),
2047
- subcircuit_id: z95.string().optional(),
2064
+ pcb_group_id: z96.string().optional(),
2065
+ subcircuit_id: z96.string().optional(),
2048
2066
  x: distance,
2049
2067
  y: distance,
2050
- width: z95.number(),
2051
- height: z95.number(),
2052
- rect_border_radius: z95.number().optional(),
2053
- corner_radius: z95.number().optional(),
2068
+ width: z96.number(),
2069
+ height: z96.number(),
2070
+ rect_border_radius: z96.number().optional(),
2071
+ corner_radius: z96.number().optional(),
2054
2072
  layer: layer_ref,
2055
- port_hints: z95.array(z95.string()).optional(),
2056
- pcb_component_id: z95.string().optional(),
2057
- pcb_port_id: z95.string().optional(),
2058
- is_covered_with_solder_mask: z95.boolean().optional(),
2059
- soldermask_margin: z95.number().optional(),
2060
- soldermask_margin_left: z95.number().optional(),
2061
- soldermask_margin_top: z95.number().optional(),
2062
- soldermask_margin_right: z95.number().optional(),
2063
- soldermask_margin_bottom: z95.number().optional()
2064
- });
2065
- var pcb_smtpad_rotated_rect = z95.object({
2066
- type: z95.literal("pcb_smtpad"),
2067
- shape: z95.literal("rotated_rect"),
2073
+ port_hints: z96.array(z96.string()).optional(),
2074
+ pcb_component_id: z96.string().optional(),
2075
+ pcb_port_id: z96.string().optional(),
2076
+ is_covered_with_solder_mask: z96.boolean().optional(),
2077
+ soldermask_margin: z96.number().optional(),
2078
+ soldermask_margin_left: z96.number().optional(),
2079
+ soldermask_margin_top: z96.number().optional(),
2080
+ soldermask_margin_right: z96.number().optional(),
2081
+ soldermask_margin_bottom: z96.number().optional()
2082
+ });
2083
+ var pcb_smtpad_rotated_rect = z96.object({
2084
+ type: z96.literal("pcb_smtpad"),
2085
+ shape: z96.literal("rotated_rect"),
2068
2086
  pcb_smtpad_id: getZodPrefixedIdWithDefault("pcb_smtpad"),
2069
- pcb_group_id: z95.string().optional(),
2070
- subcircuit_id: z95.string().optional(),
2087
+ pcb_group_id: z96.string().optional(),
2088
+ subcircuit_id: z96.string().optional(),
2071
2089
  x: distance,
2072
2090
  y: distance,
2073
- width: z95.number(),
2074
- height: z95.number(),
2075
- rect_border_radius: z95.number().optional(),
2076
- corner_radius: z95.number().optional(),
2091
+ width: z96.number(),
2092
+ height: z96.number(),
2093
+ rect_border_radius: z96.number().optional(),
2094
+ corner_radius: z96.number().optional(),
2077
2095
  ccw_rotation: rotation,
2078
2096
  layer: layer_ref,
2079
- port_hints: z95.array(z95.string()).optional(),
2080
- pcb_component_id: z95.string().optional(),
2081
- pcb_port_id: z95.string().optional(),
2082
- is_covered_with_solder_mask: z95.boolean().optional(),
2083
- soldermask_margin: z95.number().optional(),
2084
- soldermask_margin_left: z95.number().optional(),
2085
- soldermask_margin_top: z95.number().optional(),
2086
- soldermask_margin_right: z95.number().optional(),
2087
- soldermask_margin_bottom: z95.number().optional()
2088
- });
2089
- var pcb_smtpad_pill = z95.object({
2090
- type: z95.literal("pcb_smtpad"),
2091
- shape: z95.literal("pill"),
2097
+ port_hints: z96.array(z96.string()).optional(),
2098
+ pcb_component_id: z96.string().optional(),
2099
+ pcb_port_id: z96.string().optional(),
2100
+ is_covered_with_solder_mask: z96.boolean().optional(),
2101
+ soldermask_margin: z96.number().optional(),
2102
+ soldermask_margin_left: z96.number().optional(),
2103
+ soldermask_margin_top: z96.number().optional(),
2104
+ soldermask_margin_right: z96.number().optional(),
2105
+ soldermask_margin_bottom: z96.number().optional()
2106
+ });
2107
+ var pcb_smtpad_pill = z96.object({
2108
+ type: z96.literal("pcb_smtpad"),
2109
+ shape: z96.literal("pill"),
2092
2110
  pcb_smtpad_id: getZodPrefixedIdWithDefault("pcb_smtpad"),
2093
- pcb_group_id: z95.string().optional(),
2094
- subcircuit_id: z95.string().optional(),
2111
+ pcb_group_id: z96.string().optional(),
2112
+ subcircuit_id: z96.string().optional(),
2095
2113
  x: distance,
2096
2114
  y: distance,
2097
- width: z95.number(),
2098
- height: z95.number(),
2099
- radius: z95.number(),
2115
+ width: z96.number(),
2116
+ height: z96.number(),
2117
+ radius: z96.number(),
2100
2118
  layer: layer_ref,
2101
- port_hints: z95.array(z95.string()).optional(),
2102
- pcb_component_id: z95.string().optional(),
2103
- pcb_port_id: z95.string().optional(),
2104
- is_covered_with_solder_mask: z95.boolean().optional(),
2105
- soldermask_margin: z95.number().optional()
2119
+ port_hints: z96.array(z96.string()).optional(),
2120
+ pcb_component_id: z96.string().optional(),
2121
+ pcb_port_id: z96.string().optional(),
2122
+ is_covered_with_solder_mask: z96.boolean().optional(),
2123
+ soldermask_margin: z96.number().optional()
2106
2124
  });
2107
- var pcb_smtpad_rotated_pill = z95.object({
2108
- type: z95.literal("pcb_smtpad"),
2109
- shape: z95.literal("rotated_pill"),
2125
+ var pcb_smtpad_rotated_pill = z96.object({
2126
+ type: z96.literal("pcb_smtpad"),
2127
+ shape: z96.literal("rotated_pill"),
2110
2128
  pcb_smtpad_id: getZodPrefixedIdWithDefault("pcb_smtpad"),
2111
- pcb_group_id: z95.string().optional(),
2112
- subcircuit_id: z95.string().optional(),
2129
+ pcb_group_id: z96.string().optional(),
2130
+ subcircuit_id: z96.string().optional(),
2113
2131
  x: distance,
2114
2132
  y: distance,
2115
- width: z95.number(),
2116
- height: z95.number(),
2117
- radius: z95.number(),
2133
+ width: z96.number(),
2134
+ height: z96.number(),
2135
+ radius: z96.number(),
2118
2136
  ccw_rotation: rotation,
2119
2137
  layer: layer_ref,
2120
- port_hints: z95.array(z95.string()).optional(),
2121
- pcb_component_id: z95.string().optional(),
2122
- pcb_port_id: z95.string().optional(),
2123
- is_covered_with_solder_mask: z95.boolean().optional(),
2124
- soldermask_margin: z95.number().optional()
2138
+ port_hints: z96.array(z96.string()).optional(),
2139
+ pcb_component_id: z96.string().optional(),
2140
+ pcb_port_id: z96.string().optional(),
2141
+ is_covered_with_solder_mask: z96.boolean().optional(),
2142
+ soldermask_margin: z96.number().optional()
2125
2143
  });
2126
- var pcb_smtpad_polygon = z95.object({
2127
- type: z95.literal("pcb_smtpad"),
2128
- shape: z95.literal("polygon"),
2144
+ var pcb_smtpad_polygon = z96.object({
2145
+ type: z96.literal("pcb_smtpad"),
2146
+ shape: z96.literal("polygon"),
2129
2147
  pcb_smtpad_id: getZodPrefixedIdWithDefault("pcb_smtpad"),
2130
- pcb_group_id: z95.string().optional(),
2131
- subcircuit_id: z95.string().optional(),
2132
- points: z95.array(point),
2148
+ pcb_group_id: z96.string().optional(),
2149
+ subcircuit_id: z96.string().optional(),
2150
+ points: z96.array(point),
2133
2151
  layer: layer_ref,
2134
- port_hints: z95.array(z95.string()).optional(),
2135
- pcb_component_id: z95.string().optional(),
2136
- pcb_port_id: z95.string().optional(),
2137
- is_covered_with_solder_mask: z95.boolean().optional(),
2138
- soldermask_margin: z95.number().optional()
2152
+ port_hints: z96.array(z96.string()).optional(),
2153
+ pcb_component_id: z96.string().optional(),
2154
+ pcb_port_id: z96.string().optional(),
2155
+ is_covered_with_solder_mask: z96.boolean().optional(),
2156
+ soldermask_margin: z96.number().optional()
2139
2157
  });
2140
- var pcb_smtpad = z95.discriminatedUnion("shape", [
2158
+ var pcb_smtpad = z96.discriminatedUnion("shape", [
2141
2159
  pcb_smtpad_circle,
2142
2160
  pcb_smtpad_rect,
2143
2161
  pcb_smtpad_rotated_rect,
@@ -2153,79 +2171,79 @@ expectTypesMatch(true);
2153
2171
  expectTypesMatch(true);
2154
2172
 
2155
2173
  // src/pcb/pcb_solder_paste.ts
2156
- import { z as z96 } from "zod";
2157
- var pcb_solder_paste_circle = z96.object({
2158
- type: z96.literal("pcb_solder_paste"),
2159
- shape: z96.literal("circle"),
2174
+ import { z as z97 } from "zod";
2175
+ var pcb_solder_paste_circle = z97.object({
2176
+ type: z97.literal("pcb_solder_paste"),
2177
+ shape: z97.literal("circle"),
2160
2178
  pcb_solder_paste_id: getZodPrefixedIdWithDefault("pcb_solder_paste"),
2161
- pcb_group_id: z96.string().optional(),
2162
- subcircuit_id: z96.string().optional(),
2179
+ pcb_group_id: z97.string().optional(),
2180
+ subcircuit_id: z97.string().optional(),
2163
2181
  x: distance,
2164
2182
  y: distance,
2165
- radius: z96.number(),
2183
+ radius: z97.number(),
2166
2184
  layer: layer_ref,
2167
- pcb_component_id: z96.string().optional(),
2168
- pcb_smtpad_id: z96.string().optional()
2185
+ pcb_component_id: z97.string().optional(),
2186
+ pcb_smtpad_id: z97.string().optional()
2169
2187
  });
2170
- var pcb_solder_paste_rect = z96.object({
2171
- type: z96.literal("pcb_solder_paste"),
2172
- shape: z96.literal("rect"),
2188
+ var pcb_solder_paste_rect = z97.object({
2189
+ type: z97.literal("pcb_solder_paste"),
2190
+ shape: z97.literal("rect"),
2173
2191
  pcb_solder_paste_id: getZodPrefixedIdWithDefault("pcb_solder_paste"),
2174
- pcb_group_id: z96.string().optional(),
2175
- subcircuit_id: z96.string().optional(),
2192
+ pcb_group_id: z97.string().optional(),
2193
+ subcircuit_id: z97.string().optional(),
2176
2194
  x: distance,
2177
2195
  y: distance,
2178
- width: z96.number(),
2179
- height: z96.number(),
2196
+ width: z97.number(),
2197
+ height: z97.number(),
2180
2198
  layer: layer_ref,
2181
- pcb_component_id: z96.string().optional(),
2182
- pcb_smtpad_id: z96.string().optional()
2199
+ pcb_component_id: z97.string().optional(),
2200
+ pcb_smtpad_id: z97.string().optional()
2183
2201
  });
2184
- var pcb_solder_paste_pill = z96.object({
2185
- type: z96.literal("pcb_solder_paste"),
2186
- shape: z96.literal("pill"),
2202
+ var pcb_solder_paste_pill = z97.object({
2203
+ type: z97.literal("pcb_solder_paste"),
2204
+ shape: z97.literal("pill"),
2187
2205
  pcb_solder_paste_id: getZodPrefixedIdWithDefault("pcb_solder_paste"),
2188
- pcb_group_id: z96.string().optional(),
2189
- subcircuit_id: z96.string().optional(),
2206
+ pcb_group_id: z97.string().optional(),
2207
+ subcircuit_id: z97.string().optional(),
2190
2208
  x: distance,
2191
2209
  y: distance,
2192
- width: z96.number(),
2193
- height: z96.number(),
2194
- radius: z96.number(),
2210
+ width: z97.number(),
2211
+ height: z97.number(),
2212
+ radius: z97.number(),
2195
2213
  layer: layer_ref,
2196
- pcb_component_id: z96.string().optional(),
2197
- pcb_smtpad_id: z96.string().optional()
2214
+ pcb_component_id: z97.string().optional(),
2215
+ pcb_smtpad_id: z97.string().optional()
2198
2216
  });
2199
- var pcb_solder_paste_rotated_rect = z96.object({
2200
- type: z96.literal("pcb_solder_paste"),
2201
- shape: z96.literal("rotated_rect"),
2217
+ var pcb_solder_paste_rotated_rect = z97.object({
2218
+ type: z97.literal("pcb_solder_paste"),
2219
+ shape: z97.literal("rotated_rect"),
2202
2220
  pcb_solder_paste_id: getZodPrefixedIdWithDefault("pcb_solder_paste"),
2203
- pcb_group_id: z96.string().optional(),
2204
- subcircuit_id: z96.string().optional(),
2221
+ pcb_group_id: z97.string().optional(),
2222
+ subcircuit_id: z97.string().optional(),
2205
2223
  x: distance,
2206
2224
  y: distance,
2207
- width: z96.number(),
2208
- height: z96.number(),
2225
+ width: z97.number(),
2226
+ height: z97.number(),
2209
2227
  ccw_rotation: distance,
2210
2228
  layer: layer_ref,
2211
- pcb_component_id: z96.string().optional(),
2212
- pcb_smtpad_id: z96.string().optional()
2229
+ pcb_component_id: z97.string().optional(),
2230
+ pcb_smtpad_id: z97.string().optional()
2213
2231
  });
2214
- var pcb_solder_paste_oval = z96.object({
2215
- type: z96.literal("pcb_solder_paste"),
2216
- shape: z96.literal("oval"),
2232
+ var pcb_solder_paste_oval = z97.object({
2233
+ type: z97.literal("pcb_solder_paste"),
2234
+ shape: z97.literal("oval"),
2217
2235
  pcb_solder_paste_id: getZodPrefixedIdWithDefault("pcb_solder_paste"),
2218
- pcb_group_id: z96.string().optional(),
2219
- subcircuit_id: z96.string().optional(),
2236
+ pcb_group_id: z97.string().optional(),
2237
+ subcircuit_id: z97.string().optional(),
2220
2238
  x: distance,
2221
2239
  y: distance,
2222
- width: z96.number(),
2223
- height: z96.number(),
2240
+ width: z97.number(),
2241
+ height: z97.number(),
2224
2242
  layer: layer_ref,
2225
- pcb_component_id: z96.string().optional(),
2226
- pcb_smtpad_id: z96.string().optional()
2243
+ pcb_component_id: z97.string().optional(),
2244
+ pcb_smtpad_id: z97.string().optional()
2227
2245
  });
2228
- var pcb_solder_paste = z96.union([
2246
+ var pcb_solder_paste = z97.union([
2229
2247
  pcb_solder_paste_circle,
2230
2248
  pcb_solder_paste_rect,
2231
2249
  pcb_solder_paste_pill,
@@ -2241,146 +2259,162 @@ expectTypesMatch(
2241
2259
  expectTypesMatch(true);
2242
2260
 
2243
2261
  // src/pcb/pcb_text.ts
2244
- import { z as z97 } from "zod";
2245
- var pcb_text = z97.object({
2246
- type: z97.literal("pcb_text"),
2262
+ import { z as z98 } from "zod";
2263
+ var pcb_text = z98.object({
2264
+ type: z98.literal("pcb_text"),
2247
2265
  pcb_text_id: getZodPrefixedIdWithDefault("pcb_text"),
2248
- pcb_group_id: z97.string().optional(),
2249
- subcircuit_id: z97.string().optional(),
2250
- text: z97.string(),
2266
+ pcb_group_id: z98.string().optional(),
2267
+ subcircuit_id: z98.string().optional(),
2268
+ text: z98.string(),
2251
2269
  center: point,
2252
2270
  layer: layer_ref,
2253
2271
  width: length,
2254
2272
  height: length,
2255
- lines: z97.number(),
2273
+ lines: z98.number(),
2256
2274
  // @ts-ignore
2257
- align: z97.enum(["bottom-left"])
2275
+ align: z98.enum(["bottom-left"])
2258
2276
  }).describe("Defines text on the PCB");
2259
2277
  expectTypesMatch(true);
2260
2278
 
2261
2279
  // src/pcb/pcb_trace.ts
2262
- import { z as z98 } from "zod";
2263
- var pcb_trace_route_point_wire = z98.object({
2264
- route_type: z98.literal("wire"),
2280
+ import { z as z99 } from "zod";
2281
+ var pcb_trace_route_point_wire = z99.object({
2282
+ route_type: z99.literal("wire"),
2265
2283
  x: distance,
2266
2284
  y: distance,
2267
2285
  width: distance,
2268
- copper_pour_id: z98.string().optional(),
2269
- is_inside_copper_pour: z98.boolean().optional(),
2270
- start_pcb_port_id: z98.string().optional(),
2271
- end_pcb_port_id: z98.string().optional(),
2286
+ copper_pour_id: z99.string().optional(),
2287
+ is_inside_copper_pour: z99.boolean().optional(),
2288
+ start_pcb_port_id: z99.string().optional(),
2289
+ end_pcb_port_id: z99.string().optional(),
2272
2290
  layer: layer_ref
2273
2291
  });
2274
- var pcb_trace_route_point_via = z98.object({
2275
- route_type: z98.literal("via"),
2292
+ var pcb_trace_route_point_via = z99.object({
2293
+ route_type: z99.literal("via"),
2276
2294
  x: distance,
2277
2295
  y: distance,
2278
- copper_pour_id: z98.string().optional(),
2279
- is_inside_copper_pour: z98.boolean().optional(),
2296
+ copper_pour_id: z99.string().optional(),
2297
+ is_inside_copper_pour: z99.boolean().optional(),
2280
2298
  hole_diameter: distance.optional(),
2281
2299
  outer_diameter: distance.optional(),
2282
2300
  from_layer: layer_ref,
2283
2301
  to_layer: layer_ref
2284
2302
  });
2285
- var pcb_trace_route_point = z98.union([
2303
+ var pcb_trace_route_point = z99.union([
2286
2304
  pcb_trace_route_point_wire,
2287
2305
  pcb_trace_route_point_via
2288
2306
  ]);
2289
- var pcb_trace = z98.object({
2290
- type: z98.literal("pcb_trace"),
2291
- source_trace_id: z98.string().optional(),
2292
- pcb_component_id: z98.string().optional(),
2307
+ var pcb_trace = z99.object({
2308
+ type: z99.literal("pcb_trace"),
2309
+ source_trace_id: z99.string().optional(),
2310
+ pcb_component_id: z99.string().optional(),
2293
2311
  pcb_trace_id: getZodPrefixedIdWithDefault("pcb_trace"),
2294
- pcb_group_id: z98.string().optional(),
2295
- subcircuit_id: z98.string().optional(),
2296
- route_thickness_mode: z98.enum(["constant", "interpolated"]).default("constant").optional(),
2297
- route_order_index: z98.number().optional(),
2298
- should_round_corners: z98.boolean().optional(),
2299
- trace_length: z98.number().optional(),
2300
- highlight_color: z98.string().optional(),
2301
- route: z98.array(pcb_trace_route_point)
2312
+ pcb_group_id: z99.string().optional(),
2313
+ subcircuit_id: z99.string().optional(),
2314
+ route_thickness_mode: z99.enum(["constant", "interpolated"]).default("constant").optional(),
2315
+ route_order_index: z99.number().optional(),
2316
+ should_round_corners: z99.boolean().optional(),
2317
+ trace_length: z99.number().optional(),
2318
+ highlight_color: z99.string().optional(),
2319
+ route: z99.array(pcb_trace_route_point)
2302
2320
  }).describe("Defines a trace on the PCB");
2303
2321
  expectTypesMatch(true);
2304
2322
  expectTypesMatch(true);
2305
2323
 
2324
+ // src/pcb/pcb_trace_warning.ts
2325
+ import { z as z100 } from "zod";
2326
+ var pcb_trace_warning = z100.object({
2327
+ type: z100.literal("pcb_trace_warning"),
2328
+ pcb_trace_warning_id: getZodPrefixedIdWithDefault("pcb_trace_warning"),
2329
+ warning_type: z100.literal("pcb_trace_warning").default("pcb_trace_warning"),
2330
+ message: z100.string(),
2331
+ center: point.optional(),
2332
+ pcb_trace_id: z100.string(),
2333
+ source_trace_id: z100.string(),
2334
+ pcb_component_ids: z100.array(z100.string()),
2335
+ pcb_port_ids: z100.array(z100.string()),
2336
+ subcircuit_id: z100.string().optional()
2337
+ }).describe("Defines a trace warning on the PCB");
2338
+ expectTypesMatch(true);
2339
+
2306
2340
  // src/pcb/pcb_trace_error.ts
2307
- import { z as z99 } from "zod";
2341
+ import { z as z101 } from "zod";
2308
2342
  var pcb_trace_error = base_circuit_json_error.extend({
2309
- type: z99.literal("pcb_trace_error"),
2343
+ type: z101.literal("pcb_trace_error"),
2310
2344
  pcb_trace_error_id: getZodPrefixedIdWithDefault("pcb_trace_error"),
2311
- error_type: z99.literal("pcb_trace_error").default("pcb_trace_error"),
2345
+ error_type: z101.literal("pcb_trace_error").default("pcb_trace_error"),
2312
2346
  center: point.optional(),
2313
- pcb_trace_id: z99.string(),
2314
- source_trace_id: z99.string(),
2315
- pcb_component_ids: z99.array(z99.string()),
2316
- pcb_port_ids: z99.array(z99.string()),
2317
- subcircuit_id: z99.string().optional()
2347
+ pcb_trace_id: z101.string(),
2348
+ source_trace_id: z101.string(),
2349
+ pcb_component_ids: z101.array(z101.string()),
2350
+ pcb_port_ids: z101.array(z101.string()),
2351
+ subcircuit_id: z101.string().optional()
2318
2352
  }).describe("Defines a trace error on the PCB");
2319
2353
  expectTypesMatch(true);
2320
2354
 
2321
2355
  // src/pcb/pcb_trace_missing_error.ts
2322
- import { z as z100 } from "zod";
2356
+ import { z as z102 } from "zod";
2323
2357
  var pcb_trace_missing_error = base_circuit_json_error.extend({
2324
- type: z100.literal("pcb_trace_missing_error"),
2358
+ type: z102.literal("pcb_trace_missing_error"),
2325
2359
  pcb_trace_missing_error_id: getZodPrefixedIdWithDefault(
2326
2360
  "pcb_trace_missing_error"
2327
2361
  ),
2328
- error_type: z100.literal("pcb_trace_missing_error").default("pcb_trace_missing_error"),
2362
+ error_type: z102.literal("pcb_trace_missing_error").default("pcb_trace_missing_error"),
2329
2363
  center: point.optional(),
2330
- source_trace_id: z100.string(),
2331
- pcb_component_ids: z100.array(z100.string()),
2332
- pcb_port_ids: z100.array(z100.string()),
2333
- subcircuit_id: z100.string().optional()
2364
+ source_trace_id: z102.string(),
2365
+ pcb_component_ids: z102.array(z102.string()),
2366
+ pcb_port_ids: z102.array(z102.string()),
2367
+ subcircuit_id: z102.string().optional()
2334
2368
  }).describe(
2335
2369
  "Defines an error when a source trace has no corresponding PCB trace"
2336
2370
  );
2337
2371
  expectTypesMatch(true);
2338
2372
 
2339
2373
  // src/pcb/pcb_port_not_matched_error.ts
2340
- import { z as z101 } from "zod";
2374
+ import { z as z103 } from "zod";
2341
2375
  var pcb_port_not_matched_error = base_circuit_json_error.extend({
2342
- type: z101.literal("pcb_port_not_matched_error"),
2376
+ type: z103.literal("pcb_port_not_matched_error"),
2343
2377
  pcb_error_id: getZodPrefixedIdWithDefault("pcb_error"),
2344
- error_type: z101.literal("pcb_port_not_matched_error").default("pcb_port_not_matched_error"),
2345
- pcb_component_ids: z101.array(z101.string()),
2346
- subcircuit_id: z101.string().optional()
2378
+ error_type: z103.literal("pcb_port_not_matched_error").default("pcb_port_not_matched_error"),
2379
+ pcb_component_ids: z103.array(z103.string()),
2380
+ subcircuit_id: z103.string().optional()
2347
2381
  }).describe("Defines a trace error on the PCB where a port is not matched");
2348
2382
  expectTypesMatch(true);
2349
2383
 
2350
2384
  // src/pcb/pcb_port_not_connected_error.ts
2351
- import { z as z102 } from "zod";
2385
+ import { z as z104 } from "zod";
2352
2386
  var pcb_port_not_connected_error = base_circuit_json_error.extend({
2353
- type: z102.literal("pcb_port_not_connected_error"),
2387
+ type: z104.literal("pcb_port_not_connected_error"),
2354
2388
  pcb_port_not_connected_error_id: getZodPrefixedIdWithDefault(
2355
2389
  "pcb_port_not_connected_error"
2356
2390
  ),
2357
- error_type: z102.literal("pcb_port_not_connected_error").default("pcb_port_not_connected_error"),
2358
- pcb_port_ids: z102.array(z102.string()),
2359
- pcb_component_ids: z102.array(z102.string()),
2360
- subcircuit_id: z102.string().optional()
2391
+ error_type: z104.literal("pcb_port_not_connected_error").default("pcb_port_not_connected_error"),
2392
+ pcb_port_ids: z104.array(z104.string()),
2393
+ pcb_component_ids: z104.array(z104.string()),
2394
+ subcircuit_id: z104.string().optional()
2361
2395
  }).describe("Defines an error when a pcb port is not connected to any trace");
2362
2396
  expectTypesMatch(
2363
2397
  true
2364
2398
  );
2365
2399
 
2366
2400
  // src/pcb/pcb_net.ts
2367
- import { z as z103 } from "zod";
2368
- var pcb_net = z103.object({
2369
- type: z103.literal("pcb_net"),
2401
+ import { z as z105 } from "zod";
2402
+ var pcb_net = z105.object({
2403
+ type: z105.literal("pcb_net"),
2370
2404
  pcb_net_id: getZodPrefixedIdWithDefault("pcb_net"),
2371
- source_net_id: z103.string().optional(),
2372
- highlight_color: z103.string().optional()
2405
+ source_net_id: z105.string().optional(),
2406
+ highlight_color: z105.string().optional()
2373
2407
  }).describe("Defines a net on the PCB");
2374
2408
  expectTypesMatch(true);
2375
2409
 
2376
2410
  // src/pcb/pcb_via.ts
2377
- import { z as z104 } from "zod";
2378
- var pcb_via = z104.object({
2379
- type: z104.literal("pcb_via"),
2411
+ import { z as z106 } from "zod";
2412
+ var pcb_via = z106.object({
2413
+ type: z106.literal("pcb_via"),
2380
2414
  pcb_via_id: getZodPrefixedIdWithDefault("pcb_via"),
2381
- pcb_group_id: z104.string().optional(),
2382
- subcircuit_id: z104.string().optional(),
2383
- subcircuit_connectivity_map_key: z104.string().optional(),
2415
+ pcb_group_id: z106.string().optional(),
2416
+ subcircuit_id: z106.string().optional(),
2417
+ subcircuit_connectivity_map_key: z106.string().optional(),
2384
2418
  x: distance,
2385
2419
  y: distance,
2386
2420
  outer_diameter: distance.default("0.6mm"),
@@ -2389,101 +2423,101 @@ var pcb_via = z104.object({
2389
2423
  from_layer: layer_ref.optional(),
2390
2424
  /** @deprecated */
2391
2425
  to_layer: layer_ref.optional(),
2392
- layers: z104.array(layer_ref),
2393
- pcb_trace_id: z104.string().optional(),
2394
- net_is_assignable: z104.boolean().optional(),
2395
- net_assigned: z104.boolean().optional(),
2396
- is_tented: z104.boolean().optional()
2426
+ layers: z106.array(layer_ref),
2427
+ pcb_trace_id: z106.string().optional(),
2428
+ net_is_assignable: z106.boolean().optional(),
2429
+ net_assigned: z106.boolean().optional(),
2430
+ is_tented: z106.boolean().optional()
2397
2431
  }).describe("Defines a via on the PCB");
2398
2432
  expectTypesMatch(true);
2399
2433
 
2400
2434
  // src/pcb/pcb_board.ts
2401
- import { z as z105 } from "zod";
2402
- var pcb_board = z105.object({
2403
- type: z105.literal("pcb_board"),
2435
+ import { z as z107 } from "zod";
2436
+ var pcb_board = z107.object({
2437
+ type: z107.literal("pcb_board"),
2404
2438
  pcb_board_id: getZodPrefixedIdWithDefault("pcb_board"),
2405
- pcb_panel_id: z105.string().optional(),
2406
- carrier_pcb_board_id: z105.string().optional(),
2407
- is_subcircuit: z105.boolean().optional(),
2408
- subcircuit_id: z105.string().optional(),
2409
- is_mounted_to_carrier_board: z105.boolean().optional(),
2439
+ pcb_panel_id: z107.string().optional(),
2440
+ carrier_pcb_board_id: z107.string().optional(),
2441
+ is_subcircuit: z107.boolean().optional(),
2442
+ subcircuit_id: z107.string().optional(),
2443
+ is_mounted_to_carrier_board: z107.boolean().optional(),
2410
2444
  width: length.optional(),
2411
2445
  height: length.optional(),
2412
2446
  center: point,
2413
- display_offset_x: z105.string().optional().describe(
2447
+ display_offset_x: z107.string().optional().describe(
2414
2448
  "How to display the x offset for this board, usually corresponding with how the user specified it"
2415
2449
  ),
2416
- display_offset_y: z105.string().optional().describe(
2450
+ display_offset_y: z107.string().optional().describe(
2417
2451
  "How to display the y offset for this board, usually corresponding with how the user specified it"
2418
2452
  ),
2419
2453
  thickness: length.optional().default(1.4),
2420
- num_layers: z105.number().optional().default(4),
2421
- outline: z105.array(point).optional(),
2422
- shape: z105.enum(["rect", "polygon"]).optional(),
2423
- material: z105.enum(["fr4", "fr1"]).default("fr4"),
2454
+ num_layers: z107.number().optional().default(4),
2455
+ outline: z107.array(point).optional(),
2456
+ shape: z107.enum(["rect", "polygon"]).optional(),
2457
+ material: z107.enum(["fr4", "fr1"]).default("fr4"),
2424
2458
  anchor_position: point.optional(),
2425
2459
  anchor_alignment: ninePointAnchor.optional(),
2426
- position_mode: z105.enum(["relative_to_panel_anchor", "none"]).optional()
2460
+ position_mode: z107.enum(["relative_to_panel_anchor", "none"]).optional()
2427
2461
  }).describe("Defines the board outline of the PCB");
2428
2462
  expectTypesMatch(true);
2429
2463
 
2430
2464
  // src/pcb/pcb_panel.ts
2431
- import { z as z106 } from "zod";
2432
- var pcb_panel = z106.object({
2433
- type: z106.literal("pcb_panel"),
2465
+ import { z as z108 } from "zod";
2466
+ var pcb_panel = z108.object({
2467
+ type: z108.literal("pcb_panel"),
2434
2468
  pcb_panel_id: getZodPrefixedIdWithDefault("pcb_panel"),
2435
2469
  width: length,
2436
2470
  height: length,
2437
2471
  center: point,
2438
2472
  thickness: length.optional().default(1.4),
2439
- covered_with_solder_mask: z106.boolean().optional().default(true)
2473
+ covered_with_solder_mask: z108.boolean().optional().default(true)
2440
2474
  }).describe("Defines a PCB panel that can contain multiple boards");
2441
2475
  expectTypesMatch(true);
2442
2476
 
2443
2477
  // src/pcb/pcb_placement_error.ts
2444
- import { z as z107 } from "zod";
2478
+ import { z as z109 } from "zod";
2445
2479
  var pcb_placement_error = base_circuit_json_error.extend({
2446
- type: z107.literal("pcb_placement_error"),
2480
+ type: z109.literal("pcb_placement_error"),
2447
2481
  pcb_placement_error_id: getZodPrefixedIdWithDefault("pcb_placement_error"),
2448
- error_type: z107.literal("pcb_placement_error").default("pcb_placement_error"),
2449
- subcircuit_id: z107.string().optional()
2482
+ error_type: z109.literal("pcb_placement_error").default("pcb_placement_error"),
2483
+ subcircuit_id: z109.string().optional()
2450
2484
  }).describe("Defines a placement error on the PCB");
2451
2485
  expectTypesMatch(true);
2452
2486
 
2453
2487
  // src/pcb/pcb_panelization_placement_error.ts
2454
- import { z as z108 } from "zod";
2488
+ import { z as z110 } from "zod";
2455
2489
  var pcb_panelization_placement_error = base_circuit_json_error.extend({
2456
- type: z108.literal("pcb_panelization_placement_error"),
2490
+ type: z110.literal("pcb_panelization_placement_error"),
2457
2491
  pcb_panelization_placement_error_id: getZodPrefixedIdWithDefault(
2458
2492
  "pcb_panelization_placement_error"
2459
2493
  ),
2460
- error_type: z108.literal("pcb_panelization_placement_error").default("pcb_panelization_placement_error"),
2461
- pcb_panel_id: z108.string().optional(),
2462
- pcb_board_id: z108.string().optional(),
2463
- subcircuit_id: z108.string().optional()
2494
+ error_type: z110.literal("pcb_panelization_placement_error").default("pcb_panelization_placement_error"),
2495
+ pcb_panel_id: z110.string().optional(),
2496
+ pcb_board_id: z110.string().optional(),
2497
+ subcircuit_id: z110.string().optional()
2464
2498
  }).describe("Defines a panelization placement error on the PCB");
2465
2499
  expectTypesMatch(true);
2466
2500
 
2467
2501
  // src/pcb/pcb_trace_hint.ts
2468
- import { z as z109 } from "zod";
2469
- var pcb_trace_hint = z109.object({
2470
- type: z109.literal("pcb_trace_hint"),
2502
+ import { z as z111 } from "zod";
2503
+ var pcb_trace_hint = z111.object({
2504
+ type: z111.literal("pcb_trace_hint"),
2471
2505
  pcb_trace_hint_id: getZodPrefixedIdWithDefault("pcb_trace_hint"),
2472
- pcb_port_id: z109.string(),
2473
- pcb_component_id: z109.string(),
2474
- route: z109.array(route_hint_point),
2475
- subcircuit_id: z109.string().optional()
2506
+ pcb_port_id: z111.string(),
2507
+ pcb_component_id: z111.string(),
2508
+ route: z111.array(route_hint_point),
2509
+ subcircuit_id: z111.string().optional()
2476
2510
  }).describe("A hint that can be used during generation of a PCB trace");
2477
2511
  expectTypesMatch(true);
2478
2512
 
2479
2513
  // src/pcb/pcb_silkscreen_line.ts
2480
- import { z as z110 } from "zod";
2481
- var pcb_silkscreen_line = z110.object({
2482
- type: z110.literal("pcb_silkscreen_line"),
2514
+ import { z as z112 } from "zod";
2515
+ var pcb_silkscreen_line = z112.object({
2516
+ type: z112.literal("pcb_silkscreen_line"),
2483
2517
  pcb_silkscreen_line_id: getZodPrefixedIdWithDefault("pcb_silkscreen_line"),
2484
- pcb_component_id: z110.string(),
2485
- pcb_group_id: z110.string().optional(),
2486
- subcircuit_id: z110.string().optional(),
2518
+ pcb_component_id: z112.string(),
2519
+ pcb_group_id: z112.string().optional(),
2520
+ subcircuit_id: z112.string().optional(),
2487
2521
  stroke_width: distance.default("0.1mm"),
2488
2522
  x1: distance,
2489
2523
  y1: distance,
@@ -2494,32 +2528,32 @@ var pcb_silkscreen_line = z110.object({
2494
2528
  expectTypesMatch(true);
2495
2529
 
2496
2530
  // src/pcb/pcb_silkscreen_path.ts
2497
- import { z as z111 } from "zod";
2498
- var pcb_silkscreen_path = z111.object({
2499
- type: z111.literal("pcb_silkscreen_path"),
2531
+ import { z as z113 } from "zod";
2532
+ var pcb_silkscreen_path = z113.object({
2533
+ type: z113.literal("pcb_silkscreen_path"),
2500
2534
  pcb_silkscreen_path_id: getZodPrefixedIdWithDefault("pcb_silkscreen_path"),
2501
- pcb_component_id: z111.string(),
2502
- pcb_group_id: z111.string().optional(),
2503
- subcircuit_id: z111.string().optional(),
2535
+ pcb_component_id: z113.string(),
2536
+ pcb_group_id: z113.string().optional(),
2537
+ subcircuit_id: z113.string().optional(),
2504
2538
  layer: visible_layer,
2505
- route: z111.array(point),
2539
+ route: z113.array(point),
2506
2540
  stroke_width: length
2507
2541
  }).describe("Defines a silkscreen path on the PCB");
2508
2542
  expectTypesMatch(true);
2509
2543
 
2510
2544
  // src/pcb/pcb_silkscreen_text.ts
2511
- import { z as z112 } from "zod";
2512
- var pcb_silkscreen_text = z112.object({
2513
- type: z112.literal("pcb_silkscreen_text"),
2545
+ import { z as z114 } from "zod";
2546
+ var pcb_silkscreen_text = z114.object({
2547
+ type: z114.literal("pcb_silkscreen_text"),
2514
2548
  pcb_silkscreen_text_id: getZodPrefixedIdWithDefault("pcb_silkscreen_text"),
2515
- pcb_group_id: z112.string().optional(),
2516
- subcircuit_id: z112.string().optional(),
2517
- font: z112.literal("tscircuit2024").default("tscircuit2024"),
2549
+ pcb_group_id: z114.string().optional(),
2550
+ subcircuit_id: z114.string().optional(),
2551
+ font: z114.literal("tscircuit2024").default("tscircuit2024"),
2518
2552
  font_size: distance.default("0.2mm"),
2519
- pcb_component_id: z112.string(),
2520
- text: z112.string(),
2521
- is_knockout: z112.boolean().default(false).optional(),
2522
- knockout_padding: z112.object({
2553
+ pcb_component_id: z114.string(),
2554
+ text: z114.string(),
2555
+ is_knockout: z114.boolean().default(false).optional(),
2556
+ knockout_padding: z114.object({
2523
2557
  left: length,
2524
2558
  top: length,
2525
2559
  bottom: length,
@@ -2530,27 +2564,27 @@ var pcb_silkscreen_text = z112.object({
2530
2564
  bottom: "0.2mm",
2531
2565
  right: "0.2mm"
2532
2566
  }).optional(),
2533
- ccw_rotation: z112.number().optional(),
2567
+ ccw_rotation: z114.number().optional(),
2534
2568
  layer: layer_ref,
2535
- is_mirrored: z112.boolean().default(false).optional(),
2569
+ is_mirrored: z114.boolean().default(false).optional(),
2536
2570
  anchor_position: point.default({ x: 0, y: 0 }),
2537
2571
  anchor_alignment: ninePointAnchor.default("center")
2538
2572
  }).describe("Defines silkscreen text on the PCB");
2539
2573
  expectTypesMatch(true);
2540
2574
 
2541
2575
  // src/pcb/pcb_copper_text.ts
2542
- import { z as z113 } from "zod";
2543
- var pcb_copper_text = z113.object({
2544
- type: z113.literal("pcb_copper_text"),
2576
+ import { z as z115 } from "zod";
2577
+ var pcb_copper_text = z115.object({
2578
+ type: z115.literal("pcb_copper_text"),
2545
2579
  pcb_copper_text_id: getZodPrefixedIdWithDefault("pcb_copper_text"),
2546
- pcb_group_id: z113.string().optional(),
2547
- subcircuit_id: z113.string().optional(),
2548
- font: z113.literal("tscircuit2024").default("tscircuit2024"),
2580
+ pcb_group_id: z115.string().optional(),
2581
+ subcircuit_id: z115.string().optional(),
2582
+ font: z115.literal("tscircuit2024").default("tscircuit2024"),
2549
2583
  font_size: distance.default("0.2mm"),
2550
- pcb_component_id: z113.string(),
2551
- text: z113.string(),
2552
- is_knockout: z113.boolean().default(false).optional(),
2553
- knockout_padding: z113.object({
2584
+ pcb_component_id: z115.string(),
2585
+ text: z115.string(),
2586
+ is_knockout: z115.boolean().default(false).optional(),
2587
+ knockout_padding: z115.object({
2554
2588
  left: length,
2555
2589
  top: length,
2556
2590
  bottom: length,
@@ -2561,61 +2595,61 @@ var pcb_copper_text = z113.object({
2561
2595
  bottom: "0.2mm",
2562
2596
  right: "0.2mm"
2563
2597
  }).optional(),
2564
- ccw_rotation: z113.number().optional(),
2598
+ ccw_rotation: z115.number().optional(),
2565
2599
  layer: layer_ref,
2566
- is_mirrored: z113.boolean().default(false).optional(),
2600
+ is_mirrored: z115.boolean().default(false).optional(),
2567
2601
  anchor_position: point.default({ x: 0, y: 0 }),
2568
2602
  anchor_alignment: ninePointAnchor.default("center")
2569
2603
  }).describe("Defines copper text on the PCB");
2570
2604
  expectTypesMatch(true);
2571
2605
 
2572
2606
  // src/pcb/pcb_silkscreen_rect.ts
2573
- import { z as z114 } from "zod";
2574
- var pcb_silkscreen_rect = z114.object({
2575
- type: z114.literal("pcb_silkscreen_rect"),
2607
+ import { z as z116 } from "zod";
2608
+ var pcb_silkscreen_rect = z116.object({
2609
+ type: z116.literal("pcb_silkscreen_rect"),
2576
2610
  pcb_silkscreen_rect_id: getZodPrefixedIdWithDefault("pcb_silkscreen_rect"),
2577
- pcb_component_id: z114.string(),
2578
- pcb_group_id: z114.string().optional(),
2579
- subcircuit_id: z114.string().optional(),
2611
+ pcb_component_id: z116.string(),
2612
+ pcb_group_id: z116.string().optional(),
2613
+ subcircuit_id: z116.string().optional(),
2580
2614
  center: point,
2581
2615
  width: length,
2582
2616
  height: length,
2583
2617
  layer: layer_ref,
2584
2618
  stroke_width: length.default("1mm"),
2585
2619
  corner_radius: length.optional(),
2586
- is_filled: z114.boolean().default(true).optional(),
2587
- has_stroke: z114.boolean().optional(),
2588
- is_stroke_dashed: z114.boolean().optional(),
2589
- ccw_rotation: z114.number().optional()
2620
+ is_filled: z116.boolean().default(true).optional(),
2621
+ has_stroke: z116.boolean().optional(),
2622
+ is_stroke_dashed: z116.boolean().optional(),
2623
+ ccw_rotation: z116.number().optional()
2590
2624
  }).describe("Defines a silkscreen rect on the PCB");
2591
2625
  expectTypesMatch(true);
2592
2626
 
2593
2627
  // src/pcb/pcb_silkscreen_circle.ts
2594
- import { z as z115 } from "zod";
2595
- var pcb_silkscreen_circle = z115.object({
2596
- type: z115.literal("pcb_silkscreen_circle"),
2628
+ import { z as z117 } from "zod";
2629
+ var pcb_silkscreen_circle = z117.object({
2630
+ type: z117.literal("pcb_silkscreen_circle"),
2597
2631
  pcb_silkscreen_circle_id: getZodPrefixedIdWithDefault(
2598
2632
  "pcb_silkscreen_circle"
2599
2633
  ),
2600
- pcb_component_id: z115.string(),
2601
- pcb_group_id: z115.string().optional(),
2602
- subcircuit_id: z115.string().optional(),
2634
+ pcb_component_id: z117.string(),
2635
+ pcb_group_id: z117.string().optional(),
2636
+ subcircuit_id: z117.string().optional(),
2603
2637
  center: point,
2604
2638
  radius: length,
2605
2639
  layer: visible_layer,
2606
2640
  stroke_width: length.default("1mm"),
2607
- is_filled: z115.boolean().optional()
2641
+ is_filled: z117.boolean().optional()
2608
2642
  }).describe("Defines a silkscreen circle on the PCB");
2609
2643
  expectTypesMatch(true);
2610
2644
 
2611
2645
  // src/pcb/pcb_silkscreen_oval.ts
2612
- import { z as z116 } from "zod";
2613
- var pcb_silkscreen_oval = z116.object({
2614
- type: z116.literal("pcb_silkscreen_oval"),
2646
+ import { z as z118 } from "zod";
2647
+ var pcb_silkscreen_oval = z118.object({
2648
+ type: z118.literal("pcb_silkscreen_oval"),
2615
2649
  pcb_silkscreen_oval_id: getZodPrefixedIdWithDefault("pcb_silkscreen_oval"),
2616
- pcb_component_id: z116.string(),
2617
- pcb_group_id: z116.string().optional(),
2618
- subcircuit_id: z116.string().optional(),
2650
+ pcb_component_id: z118.string(),
2651
+ pcb_group_id: z118.string().optional(),
2652
+ subcircuit_id: z118.string().optional(),
2619
2653
  center: point,
2620
2654
  radius_x: distance,
2621
2655
  radius_y: distance,
@@ -2625,240 +2659,240 @@ var pcb_silkscreen_oval = z116.object({
2625
2659
  expectTypesMatch(true);
2626
2660
 
2627
2661
  // src/pcb/pcb_silkscreen_pill.ts
2628
- import { z as z117 } from "zod";
2629
- var pcb_silkscreen_pill = z117.object({
2630
- type: z117.literal("pcb_silkscreen_pill"),
2662
+ import { z as z119 } from "zod";
2663
+ var pcb_silkscreen_pill = z119.object({
2664
+ type: z119.literal("pcb_silkscreen_pill"),
2631
2665
  pcb_silkscreen_pill_id: getZodPrefixedIdWithDefault("pcb_silkscreen_pill"),
2632
- pcb_component_id: z117.string(),
2633
- pcb_group_id: z117.string().optional(),
2634
- subcircuit_id: z117.string().optional(),
2666
+ pcb_component_id: z119.string(),
2667
+ pcb_group_id: z119.string().optional(),
2668
+ subcircuit_id: z119.string().optional(),
2635
2669
  center: point,
2636
2670
  width: length,
2637
2671
  height: length,
2638
2672
  layer: layer_ref,
2639
- ccw_rotation: z117.number().optional()
2673
+ ccw_rotation: z119.number().optional()
2640
2674
  }).describe("Defines a silkscreen pill on the PCB");
2641
2675
  expectTypesMatch(true);
2642
2676
 
2643
2677
  // src/pcb/pcb_fabrication_note_text.ts
2644
- import { z as z118 } from "zod";
2645
- var pcb_fabrication_note_text = z118.object({
2646
- type: z118.literal("pcb_fabrication_note_text"),
2678
+ import { z as z120 } from "zod";
2679
+ var pcb_fabrication_note_text = z120.object({
2680
+ type: z120.literal("pcb_fabrication_note_text"),
2647
2681
  pcb_fabrication_note_text_id: getZodPrefixedIdWithDefault(
2648
2682
  "pcb_fabrication_note_text"
2649
2683
  ),
2650
- subcircuit_id: z118.string().optional(),
2651
- pcb_group_id: z118.string().optional(),
2652
- font: z118.literal("tscircuit2024").default("tscircuit2024"),
2684
+ subcircuit_id: z120.string().optional(),
2685
+ pcb_group_id: z120.string().optional(),
2686
+ font: z120.literal("tscircuit2024").default("tscircuit2024"),
2653
2687
  font_size: distance.default("1mm"),
2654
- pcb_component_id: z118.string(),
2655
- text: z118.string(),
2688
+ pcb_component_id: z120.string(),
2689
+ text: z120.string(),
2656
2690
  layer: visible_layer,
2657
2691
  anchor_position: point.default({ x: 0, y: 0 }),
2658
- anchor_alignment: z118.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).default("center"),
2659
- color: z118.string().optional()
2692
+ anchor_alignment: z120.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).default("center"),
2693
+ color: z120.string().optional()
2660
2694
  }).describe(
2661
2695
  "Defines a fabrication note in text on the PCB, useful for leaving notes for assemblers or fabricators"
2662
2696
  );
2663
2697
  expectTypesMatch(true);
2664
2698
 
2665
2699
  // src/pcb/pcb_fabrication_note_path.ts
2666
- import { z as z119 } from "zod";
2667
- var pcb_fabrication_note_path = z119.object({
2668
- type: z119.literal("pcb_fabrication_note_path"),
2700
+ import { z as z121 } from "zod";
2701
+ var pcb_fabrication_note_path = z121.object({
2702
+ type: z121.literal("pcb_fabrication_note_path"),
2669
2703
  pcb_fabrication_note_path_id: getZodPrefixedIdWithDefault(
2670
2704
  "pcb_fabrication_note_path"
2671
2705
  ),
2672
- pcb_component_id: z119.string(),
2673
- subcircuit_id: z119.string().optional(),
2706
+ pcb_component_id: z121.string(),
2707
+ subcircuit_id: z121.string().optional(),
2674
2708
  layer: layer_ref,
2675
- route: z119.array(point),
2709
+ route: z121.array(point),
2676
2710
  stroke_width: length,
2677
- color: z119.string().optional()
2711
+ color: z121.string().optional()
2678
2712
  }).describe(
2679
2713
  "Defines a fabrication path on the PCB for fabricators or assemblers"
2680
2714
  );
2681
2715
  expectTypesMatch(true);
2682
2716
 
2683
2717
  // src/pcb/pcb_fabrication_note_rect.ts
2684
- import { z as z120 } from "zod";
2685
- var pcb_fabrication_note_rect = z120.object({
2686
- type: z120.literal("pcb_fabrication_note_rect"),
2718
+ import { z as z122 } from "zod";
2719
+ var pcb_fabrication_note_rect = z122.object({
2720
+ type: z122.literal("pcb_fabrication_note_rect"),
2687
2721
  pcb_fabrication_note_rect_id: getZodPrefixedIdWithDefault(
2688
2722
  "pcb_fabrication_note_rect"
2689
2723
  ),
2690
- pcb_component_id: z120.string(),
2691
- pcb_group_id: z120.string().optional(),
2692
- subcircuit_id: z120.string().optional(),
2724
+ pcb_component_id: z122.string(),
2725
+ pcb_group_id: z122.string().optional(),
2726
+ subcircuit_id: z122.string().optional(),
2693
2727
  center: point,
2694
2728
  width: length,
2695
2729
  height: length,
2696
2730
  layer: visible_layer,
2697
2731
  stroke_width: length.default("0.1mm"),
2698
2732
  corner_radius: length.optional(),
2699
- is_filled: z120.boolean().optional(),
2700
- has_stroke: z120.boolean().optional(),
2701
- is_stroke_dashed: z120.boolean().optional(),
2702
- color: z120.string().optional()
2733
+ is_filled: z122.boolean().optional(),
2734
+ has_stroke: z122.boolean().optional(),
2735
+ is_stroke_dashed: z122.boolean().optional(),
2736
+ color: z122.string().optional()
2703
2737
  }).describe("Defines a fabrication note rectangle on the PCB");
2704
2738
  expectTypesMatch(true);
2705
2739
 
2706
2740
  // src/pcb/pcb_fabrication_note_dimension.ts
2707
- import { z as z121 } from "zod";
2708
- var pcb_fabrication_note_dimension = z121.object({
2709
- type: z121.literal("pcb_fabrication_note_dimension"),
2741
+ import { z as z123 } from "zod";
2742
+ var pcb_fabrication_note_dimension = z123.object({
2743
+ type: z123.literal("pcb_fabrication_note_dimension"),
2710
2744
  pcb_fabrication_note_dimension_id: getZodPrefixedIdWithDefault(
2711
2745
  "pcb_fabrication_note_dimension"
2712
2746
  ),
2713
- pcb_component_id: z121.string(),
2714
- pcb_group_id: z121.string().optional(),
2715
- subcircuit_id: z121.string().optional(),
2747
+ pcb_component_id: z123.string(),
2748
+ pcb_group_id: z123.string().optional(),
2749
+ subcircuit_id: z123.string().optional(),
2716
2750
  layer: visible_layer,
2717
2751
  from: point,
2718
2752
  to: point,
2719
- text: z121.string().optional(),
2720
- text_ccw_rotation: z121.number().optional(),
2753
+ text: z123.string().optional(),
2754
+ text_ccw_rotation: z123.number().optional(),
2721
2755
  offset: length.optional(),
2722
2756
  offset_distance: length.optional(),
2723
- offset_direction: z121.object({
2724
- x: z121.number(),
2725
- y: z121.number()
2757
+ offset_direction: z123.object({
2758
+ x: z123.number(),
2759
+ y: z123.number()
2726
2760
  }).optional(),
2727
- font: z121.literal("tscircuit2024").default("tscircuit2024"),
2761
+ font: z123.literal("tscircuit2024").default("tscircuit2024"),
2728
2762
  font_size: length.default("1mm"),
2729
- color: z121.string().optional(),
2763
+ color: z123.string().optional(),
2730
2764
  arrow_size: length.default("1mm")
2731
2765
  }).describe("Defines a measurement annotation within PCB fabrication notes");
2732
2766
  expectTypesMatch(true);
2733
2767
 
2734
2768
  // src/pcb/pcb_note_text.ts
2735
- import { z as z122 } from "zod";
2736
- var pcb_note_text = z122.object({
2737
- type: z122.literal("pcb_note_text"),
2769
+ import { z as z124 } from "zod";
2770
+ var pcb_note_text = z124.object({
2771
+ type: z124.literal("pcb_note_text"),
2738
2772
  pcb_note_text_id: getZodPrefixedIdWithDefault("pcb_note_text"),
2739
- pcb_component_id: z122.string().optional(),
2740
- pcb_group_id: z122.string().optional(),
2741
- subcircuit_id: z122.string().optional(),
2742
- name: z122.string().optional(),
2743
- font: z122.literal("tscircuit2024").default("tscircuit2024"),
2773
+ pcb_component_id: z124.string().optional(),
2774
+ pcb_group_id: z124.string().optional(),
2775
+ subcircuit_id: z124.string().optional(),
2776
+ name: z124.string().optional(),
2777
+ font: z124.literal("tscircuit2024").default("tscircuit2024"),
2744
2778
  font_size: distance.default("1mm"),
2745
- text: z122.string().optional(),
2779
+ text: z124.string().optional(),
2746
2780
  anchor_position: point.default({ x: 0, y: 0 }),
2747
- anchor_alignment: z122.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).default("center"),
2781
+ anchor_alignment: z124.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).default("center"),
2748
2782
  layer: visible_layer.default("top"),
2749
- color: z122.string().optional()
2783
+ color: z124.string().optional()
2750
2784
  }).describe("Defines a documentation note in text on the PCB");
2751
2785
  expectTypesMatch(true);
2752
2786
 
2753
2787
  // src/pcb/pcb_note_rect.ts
2754
- import { z as z123 } from "zod";
2755
- var pcb_note_rect = z123.object({
2756
- type: z123.literal("pcb_note_rect"),
2788
+ import { z as z125 } from "zod";
2789
+ var pcb_note_rect = z125.object({
2790
+ type: z125.literal("pcb_note_rect"),
2757
2791
  pcb_note_rect_id: getZodPrefixedIdWithDefault("pcb_note_rect"),
2758
- pcb_component_id: z123.string().optional(),
2759
- pcb_group_id: z123.string().optional(),
2760
- subcircuit_id: z123.string().optional(),
2761
- name: z123.string().optional(),
2762
- text: z123.string().optional(),
2792
+ pcb_component_id: z125.string().optional(),
2793
+ pcb_group_id: z125.string().optional(),
2794
+ subcircuit_id: z125.string().optional(),
2795
+ name: z125.string().optional(),
2796
+ text: z125.string().optional(),
2763
2797
  center: point,
2764
2798
  width: length,
2765
2799
  height: length,
2766
2800
  layer: visible_layer.default("top"),
2767
2801
  stroke_width: length.default("0.1mm"),
2768
2802
  corner_radius: length.optional(),
2769
- is_filled: z123.boolean().optional(),
2770
- has_stroke: z123.boolean().optional(),
2771
- is_stroke_dashed: z123.boolean().optional(),
2772
- color: z123.string().optional()
2803
+ is_filled: z125.boolean().optional(),
2804
+ has_stroke: z125.boolean().optional(),
2805
+ is_stroke_dashed: z125.boolean().optional(),
2806
+ color: z125.string().optional()
2773
2807
  }).describe("Defines a rectangular documentation note on the PCB");
2774
2808
  expectTypesMatch(true);
2775
2809
 
2776
2810
  // src/pcb/pcb_note_path.ts
2777
- import { z as z124 } from "zod";
2778
- var pcb_note_path = z124.object({
2779
- type: z124.literal("pcb_note_path"),
2811
+ import { z as z126 } from "zod";
2812
+ var pcb_note_path = z126.object({
2813
+ type: z126.literal("pcb_note_path"),
2780
2814
  pcb_note_path_id: getZodPrefixedIdWithDefault("pcb_note_path"),
2781
- pcb_component_id: z124.string().optional(),
2782
- pcb_group_id: z124.string().optional(),
2783
- subcircuit_id: z124.string().optional(),
2784
- name: z124.string().optional(),
2785
- text: z124.string().optional(),
2786
- route: z124.array(point),
2815
+ pcb_component_id: z126.string().optional(),
2816
+ pcb_group_id: z126.string().optional(),
2817
+ subcircuit_id: z126.string().optional(),
2818
+ name: z126.string().optional(),
2819
+ text: z126.string().optional(),
2820
+ route: z126.array(point),
2787
2821
  layer: visible_layer.default("top"),
2788
2822
  stroke_width: length.default("0.1mm"),
2789
- color: z124.string().optional()
2823
+ color: z126.string().optional()
2790
2824
  }).describe("Defines a polyline documentation note on the PCB");
2791
2825
  expectTypesMatch(true);
2792
2826
 
2793
2827
  // src/pcb/pcb_note_line.ts
2794
- import { z as z125 } from "zod";
2795
- var pcb_note_line = z125.object({
2796
- type: z125.literal("pcb_note_line"),
2828
+ import { z as z127 } from "zod";
2829
+ var pcb_note_line = z127.object({
2830
+ type: z127.literal("pcb_note_line"),
2797
2831
  pcb_note_line_id: getZodPrefixedIdWithDefault("pcb_note_line"),
2798
- pcb_component_id: z125.string().optional(),
2799
- pcb_group_id: z125.string().optional(),
2800
- subcircuit_id: z125.string().optional(),
2801
- name: z125.string().optional(),
2802
- text: z125.string().optional(),
2832
+ pcb_component_id: z127.string().optional(),
2833
+ pcb_group_id: z127.string().optional(),
2834
+ subcircuit_id: z127.string().optional(),
2835
+ name: z127.string().optional(),
2836
+ text: z127.string().optional(),
2803
2837
  x1: distance,
2804
2838
  y1: distance,
2805
2839
  x2: distance,
2806
2840
  y2: distance,
2807
2841
  layer: visible_layer.default("top"),
2808
2842
  stroke_width: distance.default("0.1mm"),
2809
- color: z125.string().optional(),
2810
- is_dashed: z125.boolean().optional()
2843
+ color: z127.string().optional(),
2844
+ is_dashed: z127.boolean().optional()
2811
2845
  }).describe("Defines a straight documentation note line on the PCB");
2812
2846
  expectTypesMatch(true);
2813
2847
 
2814
2848
  // src/pcb/pcb_note_dimension.ts
2815
- import { z as z126 } from "zod";
2816
- var pcb_note_dimension = z126.object({
2817
- type: z126.literal("pcb_note_dimension"),
2849
+ import { z as z128 } from "zod";
2850
+ var pcb_note_dimension = z128.object({
2851
+ type: z128.literal("pcb_note_dimension"),
2818
2852
  pcb_note_dimension_id: getZodPrefixedIdWithDefault("pcb_note_dimension"),
2819
- pcb_component_id: z126.string().optional(),
2820
- pcb_group_id: z126.string().optional(),
2821
- subcircuit_id: z126.string().optional(),
2822
- name: z126.string().optional(),
2853
+ pcb_component_id: z128.string().optional(),
2854
+ pcb_group_id: z128.string().optional(),
2855
+ subcircuit_id: z128.string().optional(),
2856
+ name: z128.string().optional(),
2823
2857
  from: point,
2824
2858
  to: point,
2825
- text: z126.string().optional(),
2826
- text_ccw_rotation: z126.number().optional(),
2859
+ text: z128.string().optional(),
2860
+ text_ccw_rotation: z128.number().optional(),
2827
2861
  offset_distance: length.optional(),
2828
- offset_direction: z126.object({
2829
- x: z126.number(),
2830
- y: z126.number()
2862
+ offset_direction: z128.object({
2863
+ x: z128.number(),
2864
+ y: z128.number()
2831
2865
  }).optional(),
2832
- font: z126.literal("tscircuit2024").default("tscircuit2024"),
2866
+ font: z128.literal("tscircuit2024").default("tscircuit2024"),
2833
2867
  font_size: length.default("1mm"),
2834
2868
  layer: visible_layer.default("top"),
2835
- color: z126.string().optional(),
2869
+ color: z128.string().optional(),
2836
2870
  arrow_size: length.default("1mm")
2837
2871
  }).describe("Defines a measurement annotation within PCB documentation notes");
2838
2872
  expectTypesMatch(true);
2839
2873
 
2840
2874
  // src/pcb/pcb_footprint_overlap_error.ts
2841
- import { z as z127 } from "zod";
2875
+ import { z as z129 } from "zod";
2842
2876
  var pcb_footprint_overlap_error = base_circuit_json_error.extend({
2843
- type: z127.literal("pcb_footprint_overlap_error"),
2877
+ type: z129.literal("pcb_footprint_overlap_error"),
2844
2878
  pcb_error_id: getZodPrefixedIdWithDefault("pcb_error"),
2845
- error_type: z127.literal("pcb_footprint_overlap_error").default("pcb_footprint_overlap_error"),
2846
- pcb_smtpad_ids: z127.array(z127.string()).optional(),
2847
- pcb_plated_hole_ids: z127.array(z127.string()).optional(),
2848
- pcb_hole_ids: z127.array(z127.string()).optional(),
2849
- pcb_keepout_ids: z127.array(z127.string()).optional()
2879
+ error_type: z129.literal("pcb_footprint_overlap_error").default("pcb_footprint_overlap_error"),
2880
+ pcb_smtpad_ids: z129.array(z129.string()).optional(),
2881
+ pcb_plated_hole_ids: z129.array(z129.string()).optional(),
2882
+ pcb_hole_ids: z129.array(z129.string()).optional(),
2883
+ pcb_keepout_ids: z129.array(z129.string()).optional()
2850
2884
  }).describe("Error emitted when a pcb footprint overlaps with another element");
2851
2885
  expectTypesMatch(
2852
2886
  true
2853
2887
  );
2854
2888
 
2855
2889
  // src/pcb/pcb_courtyard_overlap_error.ts
2856
- import { z as z128 } from "zod";
2890
+ import { z as z130 } from "zod";
2857
2891
  var pcb_courtyard_overlap_error = base_circuit_json_error.extend({
2858
- type: z128.literal("pcb_courtyard_overlap_error"),
2892
+ type: z130.literal("pcb_courtyard_overlap_error"),
2859
2893
  pcb_error_id: getZodPrefixedIdWithDefault("pcb_error"),
2860
- error_type: z128.literal("pcb_courtyard_overlap_error").default("pcb_courtyard_overlap_error"),
2861
- pcb_component_ids: z128.tuple([z128.string(), z128.string()])
2894
+ error_type: z130.literal("pcb_courtyard_overlap_error").default("pcb_courtyard_overlap_error"),
2895
+ pcb_component_ids: z130.tuple([z130.string(), z130.string()])
2862
2896
  }).describe(
2863
2897
  "Error emitted when the courtyard (CrtYd) of one PCB component overlaps with the courtyard of another"
2864
2898
  );
@@ -2867,49 +2901,49 @@ expectTypesMatch(
2867
2901
  );
2868
2902
 
2869
2903
  // src/pcb/pcb_keepout.ts
2870
- import { z as z129 } from "zod";
2871
- var pcb_keepout = z129.object({
2872
- type: z129.literal("pcb_keepout"),
2873
- shape: z129.literal("rect"),
2874
- pcb_group_id: z129.string().optional(),
2875
- subcircuit_id: z129.string().optional(),
2904
+ import { z as z131 } from "zod";
2905
+ var pcb_keepout = z131.object({
2906
+ type: z131.literal("pcb_keepout"),
2907
+ shape: z131.literal("rect"),
2908
+ pcb_group_id: z131.string().optional(),
2909
+ subcircuit_id: z131.string().optional(),
2876
2910
  center: point,
2877
2911
  width: distance,
2878
2912
  height: distance,
2879
- pcb_keepout_id: z129.string(),
2880
- layers: z129.array(z129.string()),
2913
+ pcb_keepout_id: z131.string(),
2914
+ layers: z131.array(z131.string()),
2881
2915
  // Specify layers where the keepout applies
2882
- description: z129.string().optional()
2916
+ description: z131.string().optional()
2883
2917
  // Optional description of the keepout
2884
2918
  }).or(
2885
- z129.object({
2886
- type: z129.literal("pcb_keepout"),
2887
- shape: z129.literal("circle"),
2888
- pcb_group_id: z129.string().optional(),
2889
- subcircuit_id: z129.string().optional(),
2919
+ z131.object({
2920
+ type: z131.literal("pcb_keepout"),
2921
+ shape: z131.literal("circle"),
2922
+ pcb_group_id: z131.string().optional(),
2923
+ subcircuit_id: z131.string().optional(),
2890
2924
  center: point,
2891
2925
  radius: distance,
2892
- pcb_keepout_id: z129.string(),
2893
- layers: z129.array(z129.string()),
2926
+ pcb_keepout_id: z131.string(),
2927
+ layers: z131.array(z131.string()),
2894
2928
  // Specify layers where the keepout applies
2895
- description: z129.string().optional()
2929
+ description: z131.string().optional()
2896
2930
  // Optional description of the keepout
2897
2931
  })
2898
2932
  );
2899
2933
  expectTypesMatch(true);
2900
2934
 
2901
2935
  // src/pcb/pcb_cutout.ts
2902
- import { z as z130 } from "zod";
2903
- var pcb_cutout_base = z130.object({
2904
- type: z130.literal("pcb_cutout"),
2936
+ import { z as z132 } from "zod";
2937
+ var pcb_cutout_base = z132.object({
2938
+ type: z132.literal("pcb_cutout"),
2905
2939
  pcb_cutout_id: getZodPrefixedIdWithDefault("pcb_cutout"),
2906
- pcb_group_id: z130.string().optional(),
2907
- subcircuit_id: z130.string().optional(),
2908
- pcb_board_id: z130.string().optional(),
2909
- pcb_panel_id: z130.string().optional()
2940
+ pcb_group_id: z132.string().optional(),
2941
+ subcircuit_id: z132.string().optional(),
2942
+ pcb_board_id: z132.string().optional(),
2943
+ pcb_panel_id: z132.string().optional()
2910
2944
  });
2911
2945
  var pcb_cutout_rect = pcb_cutout_base.extend({
2912
- shape: z130.literal("rect"),
2946
+ shape: z132.literal("rect"),
2913
2947
  center: point,
2914
2948
  width: length,
2915
2949
  height: length,
@@ -2918,26 +2952,26 @@ var pcb_cutout_rect = pcb_cutout_base.extend({
2918
2952
  });
2919
2953
  expectTypesMatch(true);
2920
2954
  var pcb_cutout_circle = pcb_cutout_base.extend({
2921
- shape: z130.literal("circle"),
2955
+ shape: z132.literal("circle"),
2922
2956
  center: point,
2923
2957
  radius: length
2924
2958
  });
2925
2959
  expectTypesMatch(true);
2926
2960
  var pcb_cutout_polygon = pcb_cutout_base.extend({
2927
- shape: z130.literal("polygon"),
2928
- points: z130.array(point)
2961
+ shape: z132.literal("polygon"),
2962
+ points: z132.array(point)
2929
2963
  });
2930
2964
  expectTypesMatch(true);
2931
2965
  var pcb_cutout_path = pcb_cutout_base.extend({
2932
- shape: z130.literal("path"),
2933
- route: z130.array(point),
2966
+ shape: z132.literal("path"),
2967
+ route: z132.array(point),
2934
2968
  slot_width: length,
2935
2969
  slot_length: length.optional(),
2936
2970
  space_between_slots: length.optional(),
2937
2971
  slot_corner_radius: length.optional()
2938
2972
  });
2939
2973
  expectTypesMatch(true);
2940
- var pcb_cutout = z130.discriminatedUnion("shape", [
2974
+ var pcb_cutout = z132.discriminatedUnion("shape", [
2941
2975
  pcb_cutout_rect,
2942
2976
  pcb_cutout_circle,
2943
2977
  pcb_cutout_polygon,
@@ -2946,147 +2980,147 @@ var pcb_cutout = z130.discriminatedUnion("shape", [
2946
2980
  expectTypesMatch(true);
2947
2981
 
2948
2982
  // src/pcb/pcb_missing_footprint_error.ts
2949
- import { z as z131 } from "zod";
2983
+ import { z as z133 } from "zod";
2950
2984
  var pcb_missing_footprint_error = base_circuit_json_error.extend({
2951
- type: z131.literal("pcb_missing_footprint_error"),
2985
+ type: z133.literal("pcb_missing_footprint_error"),
2952
2986
  pcb_missing_footprint_error_id: getZodPrefixedIdWithDefault(
2953
2987
  "pcb_missing_footprint_error"
2954
2988
  ),
2955
- pcb_group_id: z131.string().optional(),
2956
- subcircuit_id: z131.string().optional(),
2957
- error_type: z131.literal("pcb_missing_footprint_error").default("pcb_missing_footprint_error"),
2958
- source_component_id: z131.string()
2989
+ pcb_group_id: z133.string().optional(),
2990
+ subcircuit_id: z133.string().optional(),
2991
+ error_type: z133.literal("pcb_missing_footprint_error").default("pcb_missing_footprint_error"),
2992
+ source_component_id: z133.string()
2959
2993
  }).describe("Defines a missing footprint error on the PCB");
2960
2994
  expectTypesMatch(
2961
2995
  true
2962
2996
  );
2963
2997
 
2964
2998
  // src/pcb/external_footprint_load_error.ts
2965
- import { z as z132 } from "zod";
2999
+ import { z as z134 } from "zod";
2966
3000
  var external_footprint_load_error = base_circuit_json_error.extend({
2967
- type: z132.literal("external_footprint_load_error"),
3001
+ type: z134.literal("external_footprint_load_error"),
2968
3002
  external_footprint_load_error_id: getZodPrefixedIdWithDefault(
2969
3003
  "external_footprint_load_error"
2970
3004
  ),
2971
- pcb_component_id: z132.string(),
2972
- source_component_id: z132.string(),
2973
- pcb_group_id: z132.string().optional(),
2974
- subcircuit_id: z132.string().optional(),
2975
- footprinter_string: z132.string().optional(),
2976
- error_type: z132.literal("external_footprint_load_error").default("external_footprint_load_error")
3005
+ pcb_component_id: z134.string(),
3006
+ source_component_id: z134.string(),
3007
+ pcb_group_id: z134.string().optional(),
3008
+ subcircuit_id: z134.string().optional(),
3009
+ footprinter_string: z134.string().optional(),
3010
+ error_type: z134.literal("external_footprint_load_error").default("external_footprint_load_error")
2977
3011
  }).describe("Defines an error when an external footprint fails to load");
2978
3012
  expectTypesMatch(true);
2979
3013
 
2980
3014
  // src/pcb/circuit_json_footprint_load_error.ts
2981
- import { z as z133 } from "zod";
3015
+ import { z as z135 } from "zod";
2982
3016
  var circuit_json_footprint_load_error = base_circuit_json_error.extend({
2983
- type: z133.literal("circuit_json_footprint_load_error"),
3017
+ type: z135.literal("circuit_json_footprint_load_error"),
2984
3018
  circuit_json_footprint_load_error_id: getZodPrefixedIdWithDefault(
2985
3019
  "circuit_json_footprint_load_error"
2986
3020
  ),
2987
- pcb_component_id: z133.string(),
2988
- source_component_id: z133.string(),
2989
- pcb_group_id: z133.string().optional(),
2990
- subcircuit_id: z133.string().optional(),
2991
- error_type: z133.literal("circuit_json_footprint_load_error").default("circuit_json_footprint_load_error"),
2992
- circuit_json: z133.array(z133.any()).optional()
3021
+ pcb_component_id: z135.string(),
3022
+ source_component_id: z135.string(),
3023
+ pcb_group_id: z135.string().optional(),
3024
+ subcircuit_id: z135.string().optional(),
3025
+ error_type: z135.literal("circuit_json_footprint_load_error").default("circuit_json_footprint_load_error"),
3026
+ circuit_json: z135.array(z135.any()).optional()
2993
3027
  }).describe("Defines an error when a circuit JSON footprint fails to load");
2994
3028
  expectTypesMatch(true);
2995
3029
 
2996
3030
  // src/pcb/pcb_group.ts
2997
- import { z as z134 } from "zod";
2998
- var pcb_group = z134.object({
2999
- type: z134.literal("pcb_group"),
3031
+ import { z as z136 } from "zod";
3032
+ var pcb_group = z136.object({
3033
+ type: z136.literal("pcb_group"),
3000
3034
  pcb_group_id: getZodPrefixedIdWithDefault("pcb_group"),
3001
- source_group_id: z134.string(),
3002
- is_subcircuit: z134.boolean().optional(),
3003
- subcircuit_id: z134.string().optional(),
3035
+ source_group_id: z136.string(),
3036
+ is_subcircuit: z136.boolean().optional(),
3037
+ subcircuit_id: z136.string().optional(),
3004
3038
  width: length.optional(),
3005
3039
  height: length.optional(),
3006
3040
  center: point,
3007
- display_offset_x: z134.string().optional().describe(
3041
+ display_offset_x: z136.string().optional().describe(
3008
3042
  "How to display the x offset for this group, usually corresponding with how the user specified it"
3009
3043
  ),
3010
- display_offset_y: z134.string().optional().describe(
3044
+ display_offset_y: z136.string().optional().describe(
3011
3045
  "How to display the y offset for this group, usually corresponding with how the user specified it"
3012
3046
  ),
3013
- outline: z134.array(point).optional(),
3047
+ outline: z136.array(point).optional(),
3014
3048
  anchor_position: point.optional(),
3015
3049
  anchor_alignment: ninePointAnchor.default("center"),
3016
- position_mode: z134.enum(["packed", "relative_to_group_anchor", "none"]).optional(),
3017
- positioned_relative_to_pcb_group_id: z134.string().optional(),
3018
- positioned_relative_to_pcb_board_id: z134.string().optional(),
3019
- pcb_component_ids: z134.array(z134.string()),
3020
- child_layout_mode: z134.enum(["packed", "none"]).optional(),
3021
- name: z134.string().optional(),
3022
- description: z134.string().optional(),
3023
- layout_mode: z134.string().optional(),
3024
- autorouter_configuration: z134.object({
3050
+ position_mode: z136.enum(["packed", "relative_to_group_anchor", "none"]).optional(),
3051
+ positioned_relative_to_pcb_group_id: z136.string().optional(),
3052
+ positioned_relative_to_pcb_board_id: z136.string().optional(),
3053
+ pcb_component_ids: z136.array(z136.string()),
3054
+ child_layout_mode: z136.enum(["packed", "none"]).optional(),
3055
+ name: z136.string().optional(),
3056
+ description: z136.string().optional(),
3057
+ layout_mode: z136.string().optional(),
3058
+ autorouter_configuration: z136.object({
3025
3059
  trace_clearance: length
3026
3060
  }).optional(),
3027
- autorouter_used_string: z134.string().optional()
3061
+ autorouter_used_string: z136.string().optional()
3028
3062
  }).describe("Defines a group of components on the PCB");
3029
3063
  expectTypesMatch(true);
3030
3064
 
3031
3065
  // src/pcb/pcb_autorouting_error.ts
3032
- import { z as z135 } from "zod";
3066
+ import { z as z137 } from "zod";
3033
3067
  var pcb_autorouting_error = base_circuit_json_error.extend({
3034
- type: z135.literal("pcb_autorouting_error"),
3068
+ type: z137.literal("pcb_autorouting_error"),
3035
3069
  pcb_error_id: getZodPrefixedIdWithDefault("pcb_autorouting_error"),
3036
- error_type: z135.literal("pcb_autorouting_error").default("pcb_autorouting_error"),
3037
- subcircuit_id: z135.string().optional()
3070
+ error_type: z137.literal("pcb_autorouting_error").default("pcb_autorouting_error"),
3071
+ subcircuit_id: z137.string().optional()
3038
3072
  }).describe("The autorouting has failed to route a portion of the board");
3039
3073
  expectTypesMatch(true);
3040
3074
 
3041
3075
  // src/pcb/pcb_manual_edit_conflict_warning.ts
3042
- import { z as z136 } from "zod";
3043
- var pcb_manual_edit_conflict_warning = z136.object({
3044
- type: z136.literal("pcb_manual_edit_conflict_warning"),
3076
+ import { z as z138 } from "zod";
3077
+ var pcb_manual_edit_conflict_warning = z138.object({
3078
+ type: z138.literal("pcb_manual_edit_conflict_warning"),
3045
3079
  pcb_manual_edit_conflict_warning_id: getZodPrefixedIdWithDefault(
3046
3080
  "pcb_manual_edit_conflict_warning"
3047
3081
  ),
3048
- warning_type: z136.literal("pcb_manual_edit_conflict_warning").default("pcb_manual_edit_conflict_warning"),
3049
- message: z136.string(),
3050
- pcb_component_id: z136.string(),
3051
- pcb_group_id: z136.string().optional(),
3052
- subcircuit_id: z136.string().optional(),
3053
- source_component_id: z136.string()
3082
+ warning_type: z138.literal("pcb_manual_edit_conflict_warning").default("pcb_manual_edit_conflict_warning"),
3083
+ message: z138.string(),
3084
+ pcb_component_id: z138.string(),
3085
+ pcb_group_id: z138.string().optional(),
3086
+ subcircuit_id: z138.string().optional(),
3087
+ source_component_id: z138.string()
3054
3088
  }).describe(
3055
3089
  "Warning emitted when a component has both manual placement and explicit pcbX/pcbY coordinates"
3056
3090
  );
3057
3091
  expectTypesMatch(true);
3058
3092
 
3059
3093
  // src/pcb/pcb_connector_not_in_accessible_orientation_warning.ts
3060
- import { z as z137 } from "zod";
3061
- var connectorOrientationDirection = z137.enum(["x-", "x+", "y+", "y-"]);
3062
- var pcb_connector_not_in_accessible_orientation_warning = z137.object({
3063
- type: z137.literal("pcb_connector_not_in_accessible_orientation_warning"),
3094
+ import { z as z139 } from "zod";
3095
+ var connectorOrientationDirection = z139.enum(["x-", "x+", "y+", "y-"]);
3096
+ var pcb_connector_not_in_accessible_orientation_warning = z139.object({
3097
+ type: z139.literal("pcb_connector_not_in_accessible_orientation_warning"),
3064
3098
  pcb_connector_not_in_accessible_orientation_warning_id: getZodPrefixedIdWithDefault(
3065
3099
  "pcb_connector_not_in_accessible_orientation_warning"
3066
3100
  ),
3067
- warning_type: z137.literal("pcb_connector_not_in_accessible_orientation_warning").default("pcb_connector_not_in_accessible_orientation_warning"),
3068
- message: z137.string(),
3069
- pcb_component_id: z137.string(),
3070
- source_component_id: z137.string().optional(),
3071
- pcb_board_id: z137.string().optional(),
3101
+ warning_type: z139.literal("pcb_connector_not_in_accessible_orientation_warning").default("pcb_connector_not_in_accessible_orientation_warning"),
3102
+ message: z139.string(),
3103
+ pcb_component_id: z139.string(),
3104
+ source_component_id: z139.string().optional(),
3105
+ pcb_board_id: z139.string().optional(),
3072
3106
  facing_direction: connectorOrientationDirection,
3073
3107
  recommended_facing_direction: connectorOrientationDirection,
3074
- subcircuit_id: z137.string().optional()
3108
+ subcircuit_id: z139.string().optional()
3075
3109
  }).describe(
3076
3110
  "Warning emitted when a connector PCB component is facing inward toward the board and should be reoriented to an outward-facing direction"
3077
3111
  );
3078
3112
  expectTypesMatch(true);
3079
3113
 
3080
3114
  // src/pcb/pcb_breakout_point.ts
3081
- import { z as z138 } from "zod";
3082
- var pcb_breakout_point = z138.object({
3083
- type: z138.literal("pcb_breakout_point"),
3115
+ import { z as z140 } from "zod";
3116
+ var pcb_breakout_point = z140.object({
3117
+ type: z140.literal("pcb_breakout_point"),
3084
3118
  pcb_breakout_point_id: getZodPrefixedIdWithDefault("pcb_breakout_point"),
3085
- pcb_group_id: z138.string(),
3086
- subcircuit_id: z138.string().optional(),
3087
- source_trace_id: z138.string().optional(),
3088
- source_port_id: z138.string().optional(),
3089
- source_net_id: z138.string().optional(),
3119
+ pcb_group_id: z140.string(),
3120
+ subcircuit_id: z140.string().optional(),
3121
+ source_trace_id: z140.string().optional(),
3122
+ source_port_id: z140.string().optional(),
3123
+ source_net_id: z140.string().optional(),
3090
3124
  x: distance,
3091
3125
  y: distance
3092
3126
  }).describe(
@@ -3095,61 +3129,61 @@ var pcb_breakout_point = z138.object({
3095
3129
  expectTypesMatch(true);
3096
3130
 
3097
3131
  // src/pcb/pcb_ground_plane.ts
3098
- import { z as z139 } from "zod";
3099
- var pcb_ground_plane = z139.object({
3100
- type: z139.literal("pcb_ground_plane"),
3132
+ import { z as z141 } from "zod";
3133
+ var pcb_ground_plane = z141.object({
3134
+ type: z141.literal("pcb_ground_plane"),
3101
3135
  pcb_ground_plane_id: getZodPrefixedIdWithDefault("pcb_ground_plane"),
3102
- source_pcb_ground_plane_id: z139.string(),
3103
- source_net_id: z139.string(),
3104
- pcb_group_id: z139.string().optional(),
3105
- subcircuit_id: z139.string().optional()
3136
+ source_pcb_ground_plane_id: z141.string(),
3137
+ source_net_id: z141.string(),
3138
+ pcb_group_id: z141.string().optional(),
3139
+ subcircuit_id: z141.string().optional()
3106
3140
  }).describe("Defines a ground plane on the PCB");
3107
3141
  expectTypesMatch(true);
3108
3142
 
3109
3143
  // src/pcb/pcb_ground_plane_region.ts
3110
- import { z as z140 } from "zod";
3111
- var pcb_ground_plane_region = z140.object({
3112
- type: z140.literal("pcb_ground_plane_region"),
3144
+ import { z as z142 } from "zod";
3145
+ var pcb_ground_plane_region = z142.object({
3146
+ type: z142.literal("pcb_ground_plane_region"),
3113
3147
  pcb_ground_plane_region_id: getZodPrefixedIdWithDefault(
3114
3148
  "pcb_ground_plane_region"
3115
3149
  ),
3116
- pcb_ground_plane_id: z140.string(),
3117
- pcb_group_id: z140.string().optional(),
3118
- subcircuit_id: z140.string().optional(),
3150
+ pcb_ground_plane_id: z142.string(),
3151
+ pcb_group_id: z142.string().optional(),
3152
+ subcircuit_id: z142.string().optional(),
3119
3153
  layer: layer_ref,
3120
- points: z140.array(point)
3154
+ points: z142.array(point)
3121
3155
  }).describe("Defines a polygon region of a ground plane");
3122
3156
  expectTypesMatch(true);
3123
3157
 
3124
3158
  // src/pcb/pcb_thermal_spoke.ts
3125
- import { z as z141 } from "zod";
3126
- var pcb_thermal_spoke = z141.object({
3127
- type: z141.literal("pcb_thermal_spoke"),
3159
+ import { z as z143 } from "zod";
3160
+ var pcb_thermal_spoke = z143.object({
3161
+ type: z143.literal("pcb_thermal_spoke"),
3128
3162
  pcb_thermal_spoke_id: getZodPrefixedIdWithDefault("pcb_thermal_spoke"),
3129
- pcb_ground_plane_id: z141.string(),
3130
- shape: z141.string(),
3131
- spoke_count: z141.number(),
3163
+ pcb_ground_plane_id: z143.string(),
3164
+ shape: z143.string(),
3165
+ spoke_count: z143.number(),
3132
3166
  spoke_thickness: distance,
3133
3167
  spoke_inner_diameter: distance,
3134
3168
  spoke_outer_diameter: distance,
3135
- pcb_plated_hole_id: z141.string().optional(),
3136
- subcircuit_id: z141.string().optional()
3169
+ pcb_plated_hole_id: z143.string().optional(),
3170
+ subcircuit_id: z143.string().optional()
3137
3171
  }).describe("Pattern for connecting a ground plane to a plated hole");
3138
3172
  expectTypesMatch(true);
3139
3173
 
3140
3174
  // src/pcb/pcb_copper_pour.ts
3141
- import { z as z142 } from "zod";
3142
- var pcb_copper_pour_base = z142.object({
3143
- type: z142.literal("pcb_copper_pour"),
3175
+ import { z as z144 } from "zod";
3176
+ var pcb_copper_pour_base = z144.object({
3177
+ type: z144.literal("pcb_copper_pour"),
3144
3178
  pcb_copper_pour_id: getZodPrefixedIdWithDefault("pcb_copper_pour"),
3145
- pcb_group_id: z142.string().optional(),
3146
- subcircuit_id: z142.string().optional(),
3179
+ pcb_group_id: z144.string().optional(),
3180
+ subcircuit_id: z144.string().optional(),
3147
3181
  layer: layer_ref,
3148
- source_net_id: z142.string().optional(),
3149
- covered_with_solder_mask: z142.boolean().optional().default(true)
3182
+ source_net_id: z144.string().optional(),
3183
+ covered_with_solder_mask: z144.boolean().optional().default(true)
3150
3184
  });
3151
3185
  var pcb_copper_pour_rect = pcb_copper_pour_base.extend({
3152
- shape: z142.literal("rect"),
3186
+ shape: z144.literal("rect"),
3153
3187
  center: point,
3154
3188
  width: length,
3155
3189
  height: length,
@@ -3157,16 +3191,16 @@ var pcb_copper_pour_rect = pcb_copper_pour_base.extend({
3157
3191
  });
3158
3192
  expectTypesMatch(true);
3159
3193
  var pcb_copper_pour_brep = pcb_copper_pour_base.extend({
3160
- shape: z142.literal("brep"),
3194
+ shape: z144.literal("brep"),
3161
3195
  brep_shape
3162
3196
  });
3163
3197
  expectTypesMatch(true);
3164
3198
  var pcb_copper_pour_polygon = pcb_copper_pour_base.extend({
3165
- shape: z142.literal("polygon"),
3166
- points: z142.array(point)
3199
+ shape: z144.literal("polygon"),
3200
+ points: z144.array(point)
3167
3201
  });
3168
3202
  expectTypesMatch(true);
3169
- var pcb_copper_pour = z142.discriminatedUnion("shape", [
3203
+ var pcb_copper_pour = z144.discriminatedUnion("shape", [
3170
3204
  pcb_copper_pour_rect,
3171
3205
  pcb_copper_pour_brep,
3172
3206
  pcb_copper_pour_polygon
@@ -3174,149 +3208,149 @@ var pcb_copper_pour = z142.discriminatedUnion("shape", [
3174
3208
  expectTypesMatch(true);
3175
3209
 
3176
3210
  // src/pcb/pcb_component_outside_board_error.ts
3177
- import { z as z143 } from "zod";
3211
+ import { z as z145 } from "zod";
3178
3212
  var pcb_component_outside_board_error = base_circuit_json_error.extend({
3179
- type: z143.literal("pcb_component_outside_board_error"),
3213
+ type: z145.literal("pcb_component_outside_board_error"),
3180
3214
  pcb_component_outside_board_error_id: getZodPrefixedIdWithDefault(
3181
3215
  "pcb_component_outside_board_error"
3182
3216
  ),
3183
- error_type: z143.literal("pcb_component_outside_board_error").default("pcb_component_outside_board_error"),
3184
- pcb_component_id: z143.string(),
3185
- pcb_board_id: z143.string(),
3217
+ error_type: z145.literal("pcb_component_outside_board_error").default("pcb_component_outside_board_error"),
3218
+ pcb_component_id: z145.string(),
3219
+ pcb_board_id: z145.string(),
3186
3220
  component_center: point,
3187
- component_bounds: z143.object({
3188
- min_x: z143.number(),
3189
- max_x: z143.number(),
3190
- min_y: z143.number(),
3191
- max_y: z143.number()
3221
+ component_bounds: z145.object({
3222
+ min_x: z145.number(),
3223
+ max_x: z145.number(),
3224
+ min_y: z145.number(),
3225
+ max_y: z145.number()
3192
3226
  }),
3193
- subcircuit_id: z143.string().optional(),
3194
- source_component_id: z143.string().optional()
3227
+ subcircuit_id: z145.string().optional(),
3228
+ source_component_id: z145.string().optional()
3195
3229
  }).describe(
3196
3230
  "Error emitted when a PCB component is placed outside the board boundaries"
3197
3231
  );
3198
3232
  expectTypesMatch(true);
3199
3233
 
3200
3234
  // src/pcb/pcb_component_not_on_board_edge_error.ts
3201
- import { z as z144 } from "zod";
3235
+ import { z as z146 } from "zod";
3202
3236
  var pcb_component_not_on_board_edge_error = base_circuit_json_error.extend({
3203
- type: z144.literal("pcb_component_not_on_board_edge_error"),
3237
+ type: z146.literal("pcb_component_not_on_board_edge_error"),
3204
3238
  pcb_component_not_on_board_edge_error_id: getZodPrefixedIdWithDefault(
3205
3239
  "pcb_component_not_on_board_edge_error"
3206
3240
  ),
3207
- error_type: z144.literal("pcb_component_not_on_board_edge_error").default("pcb_component_not_on_board_edge_error"),
3208
- pcb_component_id: z144.string(),
3209
- pcb_board_id: z144.string(),
3241
+ error_type: z146.literal("pcb_component_not_on_board_edge_error").default("pcb_component_not_on_board_edge_error"),
3242
+ pcb_component_id: z146.string(),
3243
+ pcb_board_id: z146.string(),
3210
3244
  component_center: point,
3211
- pad_to_nearest_board_edge_distance: z144.number(),
3212
- source_component_id: z144.string().optional(),
3213
- subcircuit_id: z144.string().optional()
3245
+ pad_to_nearest_board_edge_distance: z146.number(),
3246
+ source_component_id: z146.string().optional(),
3247
+ subcircuit_id: z146.string().optional()
3214
3248
  }).describe(
3215
3249
  "Error emitted when a component that must be placed on the board edge is centered away from the edge"
3216
3250
  );
3217
3251
  expectTypesMatch(true);
3218
3252
 
3219
3253
  // src/pcb/pcb_component_invalid_layer_error.ts
3220
- import { z as z145 } from "zod";
3254
+ import { z as z147 } from "zod";
3221
3255
  var pcb_component_invalid_layer_error = base_circuit_json_error.extend({
3222
- type: z145.literal("pcb_component_invalid_layer_error"),
3256
+ type: z147.literal("pcb_component_invalid_layer_error"),
3223
3257
  pcb_component_invalid_layer_error_id: getZodPrefixedIdWithDefault(
3224
3258
  "pcb_component_invalid_layer_error"
3225
3259
  ),
3226
- error_type: z145.literal("pcb_component_invalid_layer_error").default("pcb_component_invalid_layer_error"),
3227
- pcb_component_id: z145.string().optional(),
3228
- source_component_id: z145.string(),
3260
+ error_type: z147.literal("pcb_component_invalid_layer_error").default("pcb_component_invalid_layer_error"),
3261
+ pcb_component_id: z147.string().optional(),
3262
+ source_component_id: z147.string(),
3229
3263
  layer: layer_ref,
3230
- subcircuit_id: z145.string().optional()
3264
+ subcircuit_id: z147.string().optional()
3231
3265
  }).describe(
3232
3266
  "Error emitted when a component is placed on an invalid layer (components can only be on 'top' or 'bottom' layers)"
3233
3267
  );
3234
3268
  expectTypesMatch(true);
3235
3269
 
3236
3270
  // src/pcb/pcb_via_clearance_error.ts
3237
- import { z as z146 } from "zod";
3271
+ import { z as z148 } from "zod";
3238
3272
  var pcb_via_clearance_error = base_circuit_json_error.extend({
3239
- type: z146.literal("pcb_via_clearance_error"),
3273
+ type: z148.literal("pcb_via_clearance_error"),
3240
3274
  pcb_error_id: getZodPrefixedIdWithDefault("pcb_error"),
3241
- error_type: z146.literal("pcb_via_clearance_error").default("pcb_via_clearance_error"),
3242
- pcb_via_ids: z146.array(z146.string()).min(2),
3275
+ error_type: z148.literal("pcb_via_clearance_error").default("pcb_via_clearance_error"),
3276
+ pcb_via_ids: z148.array(z148.string()).min(2),
3243
3277
  minimum_clearance: distance.optional(),
3244
3278
  actual_clearance: distance.optional(),
3245
- pcb_center: z146.object({
3246
- x: z146.number().optional(),
3247
- y: z146.number().optional()
3279
+ pcb_center: z148.object({
3280
+ x: z148.number().optional(),
3281
+ y: z148.number().optional()
3248
3282
  }).optional(),
3249
- subcircuit_id: z146.string().optional()
3283
+ subcircuit_id: z148.string().optional()
3250
3284
  }).describe("Error emitted when vias are closer than the allowed clearance");
3251
3285
  expectTypesMatch(true);
3252
3286
 
3253
3287
  // src/pcb/pcb_courtyard_rect.ts
3254
- import { z as z147 } from "zod";
3255
- var pcb_courtyard_rect = z147.object({
3256
- type: z147.literal("pcb_courtyard_rect"),
3288
+ import { z as z149 } from "zod";
3289
+ var pcb_courtyard_rect = z149.object({
3290
+ type: z149.literal("pcb_courtyard_rect"),
3257
3291
  pcb_courtyard_rect_id: getZodPrefixedIdWithDefault("pcb_courtyard_rect"),
3258
- pcb_component_id: z147.string(),
3259
- pcb_group_id: z147.string().optional(),
3260
- subcircuit_id: z147.string().optional(),
3292
+ pcb_component_id: z149.string(),
3293
+ pcb_group_id: z149.string().optional(),
3294
+ subcircuit_id: z149.string().optional(),
3261
3295
  center: point,
3262
3296
  width: length,
3263
3297
  height: length,
3264
3298
  layer: visible_layer,
3265
3299
  ccw_rotation: rotation.optional(),
3266
- color: z147.string().optional()
3300
+ color: z149.string().optional()
3267
3301
  }).describe("Defines a courtyard rectangle on the PCB");
3268
3302
  expectTypesMatch(true);
3269
3303
 
3270
3304
  // src/pcb/pcb_courtyard_outline.ts
3271
- import { z as z148 } from "zod";
3272
- var pcb_courtyard_outline = z148.object({
3273
- type: z148.literal("pcb_courtyard_outline"),
3305
+ import { z as z150 } from "zod";
3306
+ var pcb_courtyard_outline = z150.object({
3307
+ type: z150.literal("pcb_courtyard_outline"),
3274
3308
  pcb_courtyard_outline_id: getZodPrefixedIdWithDefault(
3275
3309
  "pcb_courtyard_outline"
3276
3310
  ),
3277
- pcb_component_id: z148.string(),
3278
- pcb_group_id: z148.string().optional(),
3279
- subcircuit_id: z148.string().optional(),
3311
+ pcb_component_id: z150.string(),
3312
+ pcb_group_id: z150.string().optional(),
3313
+ subcircuit_id: z150.string().optional(),
3280
3314
  layer: visible_layer,
3281
- outline: z148.array(point).min(2)
3315
+ outline: z150.array(point).min(2)
3282
3316
  }).describe("Defines a courtyard outline on the PCB");
3283
3317
  expectTypesMatch(true);
3284
3318
 
3285
3319
  // src/pcb/pcb_courtyard_polygon.ts
3286
- import { z as z149 } from "zod";
3287
- var pcb_courtyard_polygon = z149.object({
3288
- type: z149.literal("pcb_courtyard_polygon"),
3320
+ import { z as z151 } from "zod";
3321
+ var pcb_courtyard_polygon = z151.object({
3322
+ type: z151.literal("pcb_courtyard_polygon"),
3289
3323
  pcb_courtyard_polygon_id: getZodPrefixedIdWithDefault(
3290
3324
  "pcb_courtyard_polygon"
3291
3325
  ),
3292
- pcb_component_id: z149.string(),
3293
- pcb_group_id: z149.string().optional(),
3294
- subcircuit_id: z149.string().optional(),
3326
+ pcb_component_id: z151.string(),
3327
+ pcb_group_id: z151.string().optional(),
3328
+ subcircuit_id: z151.string().optional(),
3295
3329
  layer: visible_layer,
3296
- points: z149.array(point).min(3),
3297
- color: z149.string().optional()
3330
+ points: z151.array(point).min(3),
3331
+ color: z151.string().optional()
3298
3332
  }).describe("Defines a courtyard polygon on the PCB");
3299
3333
  expectTypesMatch(true);
3300
3334
 
3301
3335
  // src/pcb/pcb_courtyard_circle.ts
3302
- import { z as z150 } from "zod";
3303
- var pcb_courtyard_circle = z150.object({
3304
- type: z150.literal("pcb_courtyard_circle"),
3336
+ import { z as z152 } from "zod";
3337
+ var pcb_courtyard_circle = z152.object({
3338
+ type: z152.literal("pcb_courtyard_circle"),
3305
3339
  pcb_courtyard_circle_id: getZodPrefixedIdWithDefault(
3306
3340
  "pcb_courtyard_circle"
3307
3341
  ),
3308
- pcb_component_id: z150.string(),
3309
- pcb_group_id: z150.string().optional(),
3310
- subcircuit_id: z150.string().optional(),
3342
+ pcb_component_id: z152.string(),
3343
+ pcb_group_id: z152.string().optional(),
3344
+ subcircuit_id: z152.string().optional(),
3311
3345
  center: point,
3312
3346
  radius: length,
3313
3347
  layer: visible_layer,
3314
- color: z150.string().optional()
3348
+ color: z152.string().optional()
3315
3349
  }).describe("Defines a courtyard circle on the PCB");
3316
3350
  expectTypesMatch(true);
3317
3351
 
3318
3352
  // src/cad/cad_component.ts
3319
- import { z as z151 } from "zod";
3353
+ import { z as z153 } from "zod";
3320
3354
 
3321
3355
  // src/cad/cad_model_conventions.ts
3322
3356
  var cad_model_formats = [
@@ -3347,48 +3381,48 @@ var cadModelDefaultDirectionMap = {
3347
3381
  };
3348
3382
 
3349
3383
  // src/cad/cad_component.ts
3350
- var cad_component = z151.object({
3351
- type: z151.literal("cad_component"),
3352
- cad_component_id: z151.string(),
3353
- pcb_component_id: z151.string(),
3354
- source_component_id: z151.string(),
3384
+ var cad_component = z153.object({
3385
+ type: z153.literal("cad_component"),
3386
+ cad_component_id: z153.string(),
3387
+ pcb_component_id: z153.string(),
3388
+ source_component_id: z153.string(),
3355
3389
  position: point3,
3356
3390
  rotation: point3.optional(),
3357
3391
  size: point3.optional(),
3358
3392
  layer: layer_ref.optional(),
3359
- subcircuit_id: z151.string().optional(),
3393
+ subcircuit_id: z153.string().optional(),
3360
3394
  // These are all ways to generate/load the 3d model
3361
- footprinter_string: z151.string().optional(),
3362
- model_obj_url: z151.string().optional(),
3363
- model_stl_url: z151.string().optional(),
3364
- model_3mf_url: z151.string().optional(),
3365
- model_gltf_url: z151.string().optional(),
3366
- model_glb_url: z151.string().optional(),
3367
- model_step_url: z151.string().optional(),
3368
- model_wrl_url: z151.string().optional(),
3395
+ footprinter_string: z153.string().optional(),
3396
+ model_obj_url: z153.string().optional(),
3397
+ model_stl_url: z153.string().optional(),
3398
+ model_3mf_url: z153.string().optional(),
3399
+ model_gltf_url: z153.string().optional(),
3400
+ model_glb_url: z153.string().optional(),
3401
+ model_step_url: z153.string().optional(),
3402
+ model_wrl_url: z153.string().optional(),
3369
3403
  model_asset: asset.optional(),
3370
- model_unit_to_mm_scale_factor: z151.number().optional(),
3371
- model_board_normal_direction: z151.enum(cad_model_axis_directions).optional().describe(
3404
+ model_unit_to_mm_scale_factor: z153.number().optional(),
3405
+ model_board_normal_direction: z153.enum(cad_model_axis_directions).optional().describe(
3372
3406
  `The direction in the model's coordinate space that is considered "up" or "coming out of the board surface"`
3373
3407
  ),
3374
3408
  model_origin_position: point3.optional(),
3375
- model_origin_alignment: z151.enum([
3409
+ model_origin_alignment: z153.enum([
3376
3410
  "unknown",
3377
3411
  "center",
3378
3412
  "center_of_component_on_board_surface",
3379
3413
  "bottom_center_of_component"
3380
3414
  ]).optional(),
3381
- model_object_fit: z151.enum(["contain_within_bounds", "fill_bounds"]).optional().default("contain_within_bounds"),
3382
- model_jscad: z151.any().optional(),
3383
- show_as_translucent_model: z151.boolean().optional(),
3384
- anchor_alignment: z151.enum(["center", "center_of_component_on_board_surface"]).optional().default("center")
3415
+ model_object_fit: z153.enum(["contain_within_bounds", "fill_bounds"]).optional().default("contain_within_bounds"),
3416
+ model_jscad: z153.any().optional(),
3417
+ show_as_translucent_model: z153.boolean().optional(),
3418
+ anchor_alignment: z153.enum(["center", "center_of_component_on_board_surface"]).optional().default("center")
3385
3419
  }).describe("Defines a component on the PCB");
3386
3420
  expectTypesMatch(true);
3387
3421
 
3388
3422
  // src/simulation/simulation_voltage_source.ts
3389
- import { z as z152 } from "zod";
3390
- var wave_shape = z152.enum(["sinewave", "square", "triangle", "sawtooth"]);
3391
- var percentage = z152.union([z152.string(), z152.number()]).transform((val) => {
3423
+ import { z as z154 } from "zod";
3424
+ var wave_shape = z154.enum(["sinewave", "square", "triangle", "sawtooth"]);
3425
+ var percentage = z154.union([z154.string(), z154.number()]).transform((val) => {
3392
3426
  if (typeof val === "string") {
3393
3427
  if (val.endsWith("%")) {
3394
3428
  return parseFloat(val.slice(0, -1)) / 100;
@@ -3397,30 +3431,30 @@ var percentage = z152.union([z152.string(), z152.number()]).transform((val) => {
3397
3431
  }
3398
3432
  return val;
3399
3433
  }).pipe(
3400
- z152.number().min(0, "Duty cycle must be non-negative").max(1, "Duty cycle cannot be greater than 100%")
3434
+ z154.number().min(0, "Duty cycle must be non-negative").max(1, "Duty cycle cannot be greater than 100%")
3401
3435
  );
3402
- var simulation_dc_voltage_source = z152.object({
3403
- type: z152.literal("simulation_voltage_source"),
3436
+ var simulation_dc_voltage_source = z154.object({
3437
+ type: z154.literal("simulation_voltage_source"),
3404
3438
  simulation_voltage_source_id: getZodPrefixedIdWithDefault(
3405
3439
  "simulation_voltage_source"
3406
3440
  ),
3407
- is_dc_source: z152.literal(true).optional().default(true),
3408
- positive_source_port_id: z152.string().optional(),
3409
- negative_source_port_id: z152.string().optional(),
3410
- positive_source_net_id: z152.string().optional(),
3411
- negative_source_net_id: z152.string().optional(),
3441
+ is_dc_source: z154.literal(true).optional().default(true),
3442
+ positive_source_port_id: z154.string().optional(),
3443
+ negative_source_port_id: z154.string().optional(),
3444
+ positive_source_net_id: z154.string().optional(),
3445
+ negative_source_net_id: z154.string().optional(),
3412
3446
  voltage
3413
3447
  }).describe("Defines a DC voltage source for simulation");
3414
- var simulation_ac_voltage_source = z152.object({
3415
- type: z152.literal("simulation_voltage_source"),
3448
+ var simulation_ac_voltage_source = z154.object({
3449
+ type: z154.literal("simulation_voltage_source"),
3416
3450
  simulation_voltage_source_id: getZodPrefixedIdWithDefault(
3417
3451
  "simulation_voltage_source"
3418
3452
  ),
3419
- is_dc_source: z152.literal(false),
3420
- terminal1_source_port_id: z152.string().optional(),
3421
- terminal2_source_port_id: z152.string().optional(),
3422
- terminal1_source_net_id: z152.string().optional(),
3423
- terminal2_source_net_id: z152.string().optional(),
3453
+ is_dc_source: z154.literal(false),
3454
+ terminal1_source_port_id: z154.string().optional(),
3455
+ terminal2_source_port_id: z154.string().optional(),
3456
+ terminal1_source_net_id: z154.string().optional(),
3457
+ terminal2_source_net_id: z154.string().optional(),
3424
3458
  voltage: voltage.optional(),
3425
3459
  frequency: frequency.optional(),
3426
3460
  peak_to_peak_voltage: voltage.optional(),
@@ -3428,14 +3462,14 @@ var simulation_ac_voltage_source = z152.object({
3428
3462
  phase: rotation.optional(),
3429
3463
  duty_cycle: percentage.optional()
3430
3464
  }).describe("Defines an AC voltage source for simulation");
3431
- var simulation_voltage_source = z152.union([simulation_dc_voltage_source, simulation_ac_voltage_source]).describe("Defines a voltage source for simulation");
3465
+ var simulation_voltage_source = z154.union([simulation_dc_voltage_source, simulation_ac_voltage_source]).describe("Defines a voltage source for simulation");
3432
3466
  expectTypesMatch(true);
3433
3467
  expectTypesMatch(true);
3434
3468
  expectTypesMatch(true);
3435
3469
 
3436
3470
  // src/simulation/simulation_current_source.ts
3437
- import { z as z153 } from "zod";
3438
- var percentage2 = z153.union([z153.string(), z153.number()]).transform((val) => {
3471
+ import { z as z155 } from "zod";
3472
+ var percentage2 = z155.union([z155.string(), z155.number()]).transform((val) => {
3439
3473
  if (typeof val === "string") {
3440
3474
  if (val.endsWith("%")) {
3441
3475
  return parseFloat(val.slice(0, -1)) / 100;
@@ -3444,30 +3478,30 @@ var percentage2 = z153.union([z153.string(), z153.number()]).transform((val) =>
3444
3478
  }
3445
3479
  return val;
3446
3480
  }).pipe(
3447
- z153.number().min(0, "Duty cycle must be non-negative").max(1, "Duty cycle cannot be greater than 100%")
3481
+ z155.number().min(0, "Duty cycle must be non-negative").max(1, "Duty cycle cannot be greater than 100%")
3448
3482
  );
3449
- var simulation_dc_current_source = z153.object({
3450
- type: z153.literal("simulation_current_source"),
3483
+ var simulation_dc_current_source = z155.object({
3484
+ type: z155.literal("simulation_current_source"),
3451
3485
  simulation_current_source_id: getZodPrefixedIdWithDefault(
3452
3486
  "simulation_current_source"
3453
3487
  ),
3454
- is_dc_source: z153.literal(true).optional().default(true),
3455
- positive_source_port_id: z153.string().optional(),
3456
- negative_source_port_id: z153.string().optional(),
3457
- positive_source_net_id: z153.string().optional(),
3458
- negative_source_net_id: z153.string().optional(),
3488
+ is_dc_source: z155.literal(true).optional().default(true),
3489
+ positive_source_port_id: z155.string().optional(),
3490
+ negative_source_port_id: z155.string().optional(),
3491
+ positive_source_net_id: z155.string().optional(),
3492
+ negative_source_net_id: z155.string().optional(),
3459
3493
  current
3460
3494
  }).describe("Defines a DC current source for simulation");
3461
- var simulation_ac_current_source = z153.object({
3462
- type: z153.literal("simulation_current_source"),
3495
+ var simulation_ac_current_source = z155.object({
3496
+ type: z155.literal("simulation_current_source"),
3463
3497
  simulation_current_source_id: getZodPrefixedIdWithDefault(
3464
3498
  "simulation_current_source"
3465
3499
  ),
3466
- is_dc_source: z153.literal(false),
3467
- terminal1_source_port_id: z153.string().optional(),
3468
- terminal2_source_port_id: z153.string().optional(),
3469
- terminal1_source_net_id: z153.string().optional(),
3470
- terminal2_source_net_id: z153.string().optional(),
3500
+ is_dc_source: z155.literal(false),
3501
+ terminal1_source_port_id: z155.string().optional(),
3502
+ terminal2_source_port_id: z155.string().optional(),
3503
+ terminal1_source_net_id: z155.string().optional(),
3504
+ terminal2_source_net_id: z155.string().optional(),
3471
3505
  current: current.optional(),
3472
3506
  frequency: frequency.optional(),
3473
3507
  peak_to_peak_current: current.optional(),
@@ -3475,25 +3509,25 @@ var simulation_ac_current_source = z153.object({
3475
3509
  phase: rotation.optional(),
3476
3510
  duty_cycle: percentage2.optional()
3477
3511
  }).describe("Defines an AC current source for simulation");
3478
- var simulation_current_source = z153.union([simulation_dc_current_source, simulation_ac_current_source]).describe("Defines a current source for simulation");
3512
+ var simulation_current_source = z155.union([simulation_dc_current_source, simulation_ac_current_source]).describe("Defines a current source for simulation");
3479
3513
  expectTypesMatch(true);
3480
3514
  expectTypesMatch(true);
3481
3515
  expectTypesMatch(true);
3482
3516
 
3483
3517
  // src/simulation/simulation_experiment.ts
3484
- import { z as z154 } from "zod";
3485
- var experiment_type = z154.union([
3486
- z154.literal("spice_dc_sweep"),
3487
- z154.literal("spice_dc_operating_point"),
3488
- z154.literal("spice_transient_analysis"),
3489
- z154.literal("spice_ac_analysis")
3518
+ import { z as z156 } from "zod";
3519
+ var experiment_type = z156.union([
3520
+ z156.literal("spice_dc_sweep"),
3521
+ z156.literal("spice_dc_operating_point"),
3522
+ z156.literal("spice_transient_analysis"),
3523
+ z156.literal("spice_ac_analysis")
3490
3524
  ]);
3491
- var simulation_experiment = z154.object({
3492
- type: z154.literal("simulation_experiment"),
3525
+ var simulation_experiment = z156.object({
3526
+ type: z156.literal("simulation_experiment"),
3493
3527
  simulation_experiment_id: getZodPrefixedIdWithDefault(
3494
3528
  "simulation_experiment"
3495
3529
  ),
3496
- name: z154.string(),
3530
+ name: z156.string(),
3497
3531
  experiment_type,
3498
3532
  time_per_step: duration_ms.optional(),
3499
3533
  start_time_ms: ms.optional(),
@@ -3502,53 +3536,53 @@ var simulation_experiment = z154.object({
3502
3536
  expectTypesMatch(true);
3503
3537
 
3504
3538
  // src/simulation/simulation_transient_voltage_graph.ts
3505
- import { z as z155 } from "zod";
3506
- var simulation_transient_voltage_graph = z155.object({
3507
- type: z155.literal("simulation_transient_voltage_graph"),
3539
+ import { z as z157 } from "zod";
3540
+ var simulation_transient_voltage_graph = z157.object({
3541
+ type: z157.literal("simulation_transient_voltage_graph"),
3508
3542
  simulation_transient_voltage_graph_id: getZodPrefixedIdWithDefault(
3509
3543
  "simulation_transient_voltage_graph"
3510
3544
  ),
3511
- simulation_experiment_id: z155.string(),
3512
- timestamps_ms: z155.array(z155.number()).optional(),
3513
- voltage_levels: z155.array(z155.number()),
3514
- source_component_id: z155.string().optional(),
3515
- subcircuit_connectivity_map_key: z155.string().optional(),
3545
+ simulation_experiment_id: z157.string(),
3546
+ timestamps_ms: z157.array(z157.number()).optional(),
3547
+ voltage_levels: z157.array(z157.number()),
3548
+ source_component_id: z157.string().optional(),
3549
+ subcircuit_connectivity_map_key: z157.string().optional(),
3516
3550
  time_per_step: duration_ms,
3517
3551
  start_time_ms: ms,
3518
3552
  end_time_ms: ms,
3519
- name: z155.string().optional(),
3520
- color: z155.string().optional()
3553
+ name: z157.string().optional(),
3554
+ color: z157.string().optional()
3521
3555
  }).describe("Stores voltage measurements over time for a simulation");
3522
3556
  expectTypesMatch(true);
3523
3557
 
3524
3558
  // src/simulation/simulation_switch.ts
3525
- import { z as z156 } from "zod";
3526
- var simulation_switch = z156.object({
3527
- type: z156.literal("simulation_switch"),
3559
+ import { z as z158 } from "zod";
3560
+ var simulation_switch = z158.object({
3561
+ type: z158.literal("simulation_switch"),
3528
3562
  simulation_switch_id: getZodPrefixedIdWithDefault("simulation_switch"),
3529
- source_component_id: z156.string().optional(),
3563
+ source_component_id: z158.string().optional(),
3530
3564
  closes_at: ms.optional(),
3531
3565
  opens_at: ms.optional(),
3532
- starts_closed: z156.boolean().optional(),
3566
+ starts_closed: z158.boolean().optional(),
3533
3567
  switching_frequency: frequency.optional()
3534
3568
  }).describe("Defines a switch for simulation timing control");
3535
3569
  expectTypesMatch(true);
3536
3570
 
3537
3571
  // src/simulation/simulation_voltage_probe.ts
3538
- import { z as z157 } from "zod";
3539
- var simulation_voltage_probe = z157.object({
3540
- type: z157.literal("simulation_voltage_probe"),
3572
+ import { z as z159 } from "zod";
3573
+ var simulation_voltage_probe = z159.object({
3574
+ type: z159.literal("simulation_voltage_probe"),
3541
3575
  simulation_voltage_probe_id: getZodPrefixedIdWithDefault(
3542
3576
  "simulation_voltage_probe"
3543
3577
  ),
3544
- source_component_id: z157.string().optional(),
3545
- name: z157.string().optional(),
3546
- signal_input_source_port_id: z157.string().optional(),
3547
- signal_input_source_net_id: z157.string().optional(),
3548
- reference_input_source_port_id: z157.string().optional(),
3549
- reference_input_source_net_id: z157.string().optional(),
3550
- subcircuit_id: z157.string().optional(),
3551
- color: z157.string().optional()
3578
+ source_component_id: z159.string().optional(),
3579
+ name: z159.string().optional(),
3580
+ signal_input_source_port_id: z159.string().optional(),
3581
+ signal_input_source_net_id: z159.string().optional(),
3582
+ reference_input_source_port_id: z159.string().optional(),
3583
+ reference_input_source_net_id: z159.string().optional(),
3584
+ subcircuit_id: z159.string().optional(),
3585
+ color: z159.string().optional()
3552
3586
  }).describe(
3553
3587
  "Defines a voltage probe for simulation. If a reference input is not provided, it measures against ground. If a reference input is provided, it measures the differential voltage between two points."
3554
3588
  ).superRefine((data, ctx) => {
@@ -3558,20 +3592,20 @@ var simulation_voltage_probe = z157.object({
3558
3592
  const has_nets = !!data.signal_input_source_net_id || !!data.reference_input_source_net_id;
3559
3593
  if (has_ports && has_nets) {
3560
3594
  ctx.addIssue({
3561
- code: z157.ZodIssueCode.custom,
3595
+ code: z159.ZodIssueCode.custom,
3562
3596
  message: "Cannot mix port and net connections in a differential probe."
3563
3597
  });
3564
3598
  } else if (has_ports) {
3565
3599
  if (!data.signal_input_source_port_id || !data.reference_input_source_port_id) {
3566
3600
  ctx.addIssue({
3567
- code: z157.ZodIssueCode.custom,
3601
+ code: z159.ZodIssueCode.custom,
3568
3602
  message: "Differential port probe requires both signal_input_source_port_id and reference_input_source_port_id."
3569
3603
  });
3570
3604
  }
3571
3605
  } else if (has_nets) {
3572
3606
  if (!data.signal_input_source_net_id || !data.reference_input_source_net_id) {
3573
3607
  ctx.addIssue({
3574
- code: z157.ZodIssueCode.custom,
3608
+ code: z159.ZodIssueCode.custom,
3575
3609
  message: "Differential net probe requires both signal_input_source_net_id and reference_input_source_net_id."
3576
3610
  });
3577
3611
  }
@@ -3579,7 +3613,7 @@ var simulation_voltage_probe = z157.object({
3579
3613
  } else {
3580
3614
  if (!!data.signal_input_source_port_id === !!data.signal_input_source_net_id) {
3581
3615
  ctx.addIssue({
3582
- code: z157.ZodIssueCode.custom,
3616
+ code: z159.ZodIssueCode.custom,
3583
3617
  message: "A voltage probe must have exactly one of signal_input_source_port_id or signal_input_source_net_id."
3584
3618
  });
3585
3619
  }
@@ -3588,35 +3622,35 @@ var simulation_voltage_probe = z157.object({
3588
3622
  expectTypesMatch(true);
3589
3623
 
3590
3624
  // src/simulation/simulation_unknown_experiment_error.ts
3591
- import { z as z158 } from "zod";
3625
+ import { z as z160 } from "zod";
3592
3626
  var simulation_unknown_experiment_error = base_circuit_json_error.extend({
3593
- type: z158.literal("simulation_unknown_experiment_error"),
3627
+ type: z160.literal("simulation_unknown_experiment_error"),
3594
3628
  simulation_unknown_experiment_error_id: getZodPrefixedIdWithDefault(
3595
3629
  "simulation_unknown_experiment_error"
3596
3630
  ),
3597
- error_type: z158.literal("simulation_unknown_experiment_error").default("simulation_unknown_experiment_error"),
3598
- simulation_experiment_id: z158.string().optional(),
3599
- subcircuit_id: z158.string().optional()
3631
+ error_type: z160.literal("simulation_unknown_experiment_error").default("simulation_unknown_experiment_error"),
3632
+ simulation_experiment_id: z160.string().optional(),
3633
+ subcircuit_id: z160.string().optional()
3600
3634
  }).describe("An unknown error occurred during the simulation experiment.");
3601
3635
  expectTypesMatch(true);
3602
3636
 
3603
3637
  // src/simulation/simulation_op_amp.ts
3604
- import { z as z159 } from "zod";
3605
- var simulation_op_amp = z159.object({
3606
- type: z159.literal("simulation_op_amp"),
3638
+ import { z as z161 } from "zod";
3639
+ var simulation_op_amp = z161.object({
3640
+ type: z161.literal("simulation_op_amp"),
3607
3641
  simulation_op_amp_id: getZodPrefixedIdWithDefault("simulation_op_amp"),
3608
- source_component_id: z159.string().optional(),
3609
- inverting_input_source_port_id: z159.string(),
3610
- non_inverting_input_source_port_id: z159.string(),
3611
- output_source_port_id: z159.string(),
3612
- positive_supply_source_port_id: z159.string(),
3613
- negative_supply_source_port_id: z159.string()
3642
+ source_component_id: z161.string().optional(),
3643
+ inverting_input_source_port_id: z161.string(),
3644
+ non_inverting_input_source_port_id: z161.string(),
3645
+ output_source_port_id: z161.string(),
3646
+ positive_supply_source_port_id: z161.string(),
3647
+ negative_supply_source_port_id: z161.string()
3614
3648
  }).describe("Defines a simple ideal operational amplifier for simulation");
3615
3649
  expectTypesMatch(true);
3616
3650
 
3617
3651
  // src/any_circuit_element.ts
3618
- import { z as z160 } from "zod";
3619
- var any_circuit_element = z160.union([
3652
+ import { z as z162 } from "zod";
3653
+ var any_circuit_element = z162.union([
3620
3654
  source_trace,
3621
3655
  source_port,
3622
3656
  source_component_internal_connection,
@@ -3648,6 +3682,7 @@ var any_circuit_element = z160.union([
3648
3682
  source_invalid_component_property_error,
3649
3683
  source_trace_not_connected_error,
3650
3684
  source_pin_missing_trace_warning,
3685
+ source_missing_manufacturer_part_number_warning,
3651
3686
  source_no_power_pin_defined_warning,
3652
3687
  source_no_ground_pin_defined_warning,
3653
3688
  source_component_pins_underspecified_warning,
@@ -3668,6 +3703,7 @@ var any_circuit_element = z160.union([
3668
3703
  pcb_net,
3669
3704
  pcb_text,
3670
3705
  pcb_trace,
3706
+ pcb_trace_warning,
3671
3707
  pcb_via,
3672
3708
  pcb_smtpad,
3673
3709
  pcb_solder_paste,
@@ -3868,6 +3904,7 @@ export {
3868
3904
  pcb_trace_route_point,
3869
3905
  pcb_trace_route_point_via,
3870
3906
  pcb_trace_route_point_wire,
3907
+ pcb_trace_warning,
3871
3908
  pcb_via,
3872
3909
  pcb_via_clearance_error,
3873
3910
  point,
@@ -3932,6 +3969,7 @@ export {
3932
3969
  source_interconnect,
3933
3970
  source_invalid_component_property_error,
3934
3971
  source_manually_placed_via,
3972
+ source_missing_manufacturer_part_number_warning,
3935
3973
  source_missing_property_error,
3936
3974
  source_net,
3937
3975
  source_no_ground_pin_defined_warning,