circuit-json 0.0.427 → 0.0.429

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