circuit-json 0.0.428 → 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,103 +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"),
2497
- solder_mask_color: z108.string().optional(),
2498
- silkscreen_color: z108.string().optional(),
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(),
2499
2515
  anchor_position: point.optional(),
2500
2516
  anchor_alignment: ninePointAnchor.optional(),
2501
- position_mode: z108.enum(["relative_to_panel_anchor", "none"]).optional()
2517
+ position_mode: z109.enum(["relative_to_panel_anchor", "none"]).optional()
2502
2518
  }).merge(manufacturing_drc_properties).describe("Defines the board outline of the PCB");
2503
2519
  expectTypesMatch(true);
2504
2520
 
2505
2521
  // src/pcb/pcb_panel.ts
2506
- import { z as z109 } from "zod";
2507
- var pcb_panel = z109.object({
2508
- type: z109.literal("pcb_panel"),
2522
+ import { z as z110 } from "zod";
2523
+ var pcb_panel = z110.object({
2524
+ type: z110.literal("pcb_panel"),
2509
2525
  pcb_panel_id: getZodPrefixedIdWithDefault("pcb_panel"),
2510
2526
  width: length,
2511
2527
  height: length,
2512
2528
  center: point,
2513
2529
  thickness: length.optional().default(1.4),
2514
- covered_with_solder_mask: z109.boolean().optional().default(true)
2530
+ covered_with_solder_mask: z110.boolean().optional().default(true)
2515
2531
  }).describe("Defines a PCB panel that can contain multiple boards");
2516
2532
  expectTypesMatch(true);
2517
2533
 
2518
2534
  // src/pcb/pcb_placement_error.ts
2519
- import { z as z110 } from "zod";
2535
+ import { z as z111 } from "zod";
2520
2536
  var pcb_placement_error = base_circuit_json_error.extend({
2521
- type: z110.literal("pcb_placement_error"),
2537
+ type: z111.literal("pcb_placement_error"),
2522
2538
  pcb_placement_error_id: getZodPrefixedIdWithDefault("pcb_placement_error"),
2523
- error_type: z110.literal("pcb_placement_error").default("pcb_placement_error"),
2524
- subcircuit_id: z110.string().optional()
2539
+ error_type: z111.literal("pcb_placement_error").default("pcb_placement_error"),
2540
+ subcircuit_id: z111.string().optional()
2525
2541
  }).describe("Defines a placement error on the PCB");
2526
2542
  expectTypesMatch(true);
2527
2543
 
2528
2544
  // src/pcb/pcb_panelization_placement_error.ts
2529
- import { z as z111 } from "zod";
2545
+ import { z as z112 } from "zod";
2530
2546
  var pcb_panelization_placement_error = base_circuit_json_error.extend({
2531
- type: z111.literal("pcb_panelization_placement_error"),
2547
+ type: z112.literal("pcb_panelization_placement_error"),
2532
2548
  pcb_panelization_placement_error_id: getZodPrefixedIdWithDefault(
2533
2549
  "pcb_panelization_placement_error"
2534
2550
  ),
2535
- error_type: z111.literal("pcb_panelization_placement_error").default("pcb_panelization_placement_error"),
2536
- pcb_panel_id: z111.string().optional(),
2537
- pcb_board_id: z111.string().optional(),
2538
- 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()
2539
2555
  }).describe("Defines a panelization placement error on the PCB");
2540
2556
  expectTypesMatch(true);
2541
2557
 
2542
2558
  // src/pcb/pcb_trace_hint.ts
2543
- import { z as z112 } from "zod";
2544
- var pcb_trace_hint = z112.object({
2545
- 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"),
2546
2562
  pcb_trace_hint_id: getZodPrefixedIdWithDefault("pcb_trace_hint"),
2547
- pcb_port_id: z112.string(),
2548
- pcb_component_id: z112.string(),
2549
- route: z112.array(route_hint_point),
2550
- 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()
2551
2567
  }).describe("A hint that can be used during generation of a PCB trace");
2552
2568
  expectTypesMatch(true);
2553
2569
 
2554
2570
  // src/pcb/pcb_silkscreen_line.ts
2555
- import { z as z113 } from "zod";
2556
- var pcb_silkscreen_line = z113.object({
2557
- 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"),
2558
2574
  pcb_silkscreen_line_id: getZodPrefixedIdWithDefault("pcb_silkscreen_line"),
2559
- pcb_component_id: z113.string(),
2560
- pcb_group_id: z113.string().optional(),
2561
- subcircuit_id: z113.string().optional(),
2575
+ pcb_component_id: z114.string(),
2576
+ pcb_group_id: z114.string().optional(),
2577
+ subcircuit_id: z114.string().optional(),
2562
2578
  stroke_width: distance.default("0.1mm"),
2563
2579
  x1: distance,
2564
2580
  y1: distance,
@@ -2569,32 +2585,32 @@ var pcb_silkscreen_line = z113.object({
2569
2585
  expectTypesMatch(true);
2570
2586
 
2571
2587
  // src/pcb/pcb_silkscreen_path.ts
2572
- import { z as z114 } from "zod";
2573
- var pcb_silkscreen_path = z114.object({
2574
- 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"),
2575
2591
  pcb_silkscreen_path_id: getZodPrefixedIdWithDefault("pcb_silkscreen_path"),
2576
- pcb_component_id: z114.string(),
2577
- pcb_group_id: z114.string().optional(),
2578
- subcircuit_id: z114.string().optional(),
2592
+ pcb_component_id: z115.string(),
2593
+ pcb_group_id: z115.string().optional(),
2594
+ subcircuit_id: z115.string().optional(),
2579
2595
  layer: visible_layer,
2580
- route: z114.array(point),
2596
+ route: z115.array(point),
2581
2597
  stroke_width: length
2582
2598
  }).describe("Defines a silkscreen path on the PCB");
2583
2599
  expectTypesMatch(true);
2584
2600
 
2585
2601
  // src/pcb/pcb_silkscreen_text.ts
2586
- import { z as z115 } from "zod";
2587
- var pcb_silkscreen_text = z115.object({
2588
- 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"),
2589
2605
  pcb_silkscreen_text_id: getZodPrefixedIdWithDefault("pcb_silkscreen_text"),
2590
- pcb_group_id: z115.string().optional(),
2591
- subcircuit_id: z115.string().optional(),
2592
- 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"),
2593
2609
  font_size: distance.default("0.2mm"),
2594
- pcb_component_id: z115.string(),
2595
- text: z115.string(),
2596
- is_knockout: z115.boolean().default(false).optional(),
2597
- 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({
2598
2614
  left: length,
2599
2615
  top: length,
2600
2616
  bottom: length,
@@ -2605,27 +2621,27 @@ var pcb_silkscreen_text = z115.object({
2605
2621
  bottom: "0.2mm",
2606
2622
  right: "0.2mm"
2607
2623
  }).optional(),
2608
- ccw_rotation: z115.number().optional(),
2624
+ ccw_rotation: z116.number().optional(),
2609
2625
  layer: layer_ref,
2610
- is_mirrored: z115.boolean().default(false).optional(),
2626
+ is_mirrored: z116.boolean().default(false).optional(),
2611
2627
  anchor_position: point.default({ x: 0, y: 0 }),
2612
2628
  anchor_alignment: ninePointAnchor.default("center")
2613
2629
  }).describe("Defines silkscreen text on the PCB");
2614
2630
  expectTypesMatch(true);
2615
2631
 
2616
2632
  // src/pcb/pcb_copper_text.ts
2617
- import { z as z116 } from "zod";
2618
- var pcb_copper_text = z116.object({
2619
- 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"),
2620
2636
  pcb_copper_text_id: getZodPrefixedIdWithDefault("pcb_copper_text"),
2621
- pcb_group_id: z116.string().optional(),
2622
- subcircuit_id: z116.string().optional(),
2623
- 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"),
2624
2640
  font_size: distance.default("0.2mm"),
2625
- pcb_component_id: z116.string(),
2626
- text: z116.string(),
2627
- is_knockout: z116.boolean().default(false).optional(),
2628
- 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({
2629
2645
  left: length,
2630
2646
  top: length,
2631
2647
  bottom: length,
@@ -2636,61 +2652,61 @@ var pcb_copper_text = z116.object({
2636
2652
  bottom: "0.2mm",
2637
2653
  right: "0.2mm"
2638
2654
  }).optional(),
2639
- ccw_rotation: z116.number().optional(),
2655
+ ccw_rotation: z117.number().optional(),
2640
2656
  layer: layer_ref,
2641
- is_mirrored: z116.boolean().default(false).optional(),
2657
+ is_mirrored: z117.boolean().default(false).optional(),
2642
2658
  anchor_position: point.default({ x: 0, y: 0 }),
2643
2659
  anchor_alignment: ninePointAnchor.default("center")
2644
2660
  }).describe("Defines copper text on the PCB");
2645
2661
  expectTypesMatch(true);
2646
2662
 
2647
2663
  // src/pcb/pcb_silkscreen_rect.ts
2648
- import { z as z117 } from "zod";
2649
- var pcb_silkscreen_rect = z117.object({
2650
- 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"),
2651
2667
  pcb_silkscreen_rect_id: getZodPrefixedIdWithDefault("pcb_silkscreen_rect"),
2652
- pcb_component_id: z117.string(),
2653
- pcb_group_id: z117.string().optional(),
2654
- subcircuit_id: z117.string().optional(),
2668
+ pcb_component_id: z118.string(),
2669
+ pcb_group_id: z118.string().optional(),
2670
+ subcircuit_id: z118.string().optional(),
2655
2671
  center: point,
2656
2672
  width: length,
2657
2673
  height: length,
2658
2674
  layer: layer_ref,
2659
2675
  stroke_width: length.default("1mm"),
2660
2676
  corner_radius: length.optional(),
2661
- is_filled: z117.boolean().default(true).optional(),
2662
- has_stroke: z117.boolean().optional(),
2663
- is_stroke_dashed: z117.boolean().optional(),
2664
- 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()
2665
2681
  }).describe("Defines a silkscreen rect on the PCB");
2666
2682
  expectTypesMatch(true);
2667
2683
 
2668
2684
  // src/pcb/pcb_silkscreen_circle.ts
2669
- import { z as z118 } from "zod";
2670
- var pcb_silkscreen_circle = z118.object({
2671
- 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"),
2672
2688
  pcb_silkscreen_circle_id: getZodPrefixedIdWithDefault(
2673
2689
  "pcb_silkscreen_circle"
2674
2690
  ),
2675
- pcb_component_id: z118.string(),
2676
- pcb_group_id: z118.string().optional(),
2677
- subcircuit_id: z118.string().optional(),
2691
+ pcb_component_id: z119.string(),
2692
+ pcb_group_id: z119.string().optional(),
2693
+ subcircuit_id: z119.string().optional(),
2678
2694
  center: point,
2679
2695
  radius: length,
2680
2696
  layer: visible_layer,
2681
2697
  stroke_width: length.default("1mm"),
2682
- is_filled: z118.boolean().optional()
2698
+ is_filled: z119.boolean().optional()
2683
2699
  }).describe("Defines a silkscreen circle on the PCB");
2684
2700
  expectTypesMatch(true);
2685
2701
 
2686
2702
  // src/pcb/pcb_silkscreen_oval.ts
2687
- import { z as z119 } from "zod";
2688
- var pcb_silkscreen_oval = z119.object({
2689
- 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"),
2690
2706
  pcb_silkscreen_oval_id: getZodPrefixedIdWithDefault("pcb_silkscreen_oval"),
2691
- pcb_component_id: z119.string(),
2692
- pcb_group_id: z119.string().optional(),
2693
- subcircuit_id: z119.string().optional(),
2707
+ pcb_component_id: z120.string(),
2708
+ pcb_group_id: z120.string().optional(),
2709
+ subcircuit_id: z120.string().optional(),
2694
2710
  center: point,
2695
2711
  radius_x: distance,
2696
2712
  radius_y: distance,
@@ -2700,242 +2716,242 @@ var pcb_silkscreen_oval = z119.object({
2700
2716
  expectTypesMatch(true);
2701
2717
 
2702
2718
  // src/pcb/pcb_silkscreen_pill.ts
2703
- import { z as z120 } from "zod";
2704
- var pcb_silkscreen_pill = z120.object({
2705
- 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"),
2706
2722
  pcb_silkscreen_pill_id: getZodPrefixedIdWithDefault("pcb_silkscreen_pill"),
2707
- pcb_component_id: z120.string(),
2708
- pcb_group_id: z120.string().optional(),
2709
- subcircuit_id: z120.string().optional(),
2723
+ pcb_component_id: z121.string(),
2724
+ pcb_group_id: z121.string().optional(),
2725
+ subcircuit_id: z121.string().optional(),
2710
2726
  center: point,
2711
2727
  width: length,
2712
2728
  height: length,
2713
2729
  layer: layer_ref,
2714
- ccw_rotation: z120.number().optional()
2730
+ ccw_rotation: z121.number().optional()
2715
2731
  }).describe("Defines a silkscreen pill on the PCB");
2716
2732
  expectTypesMatch(true);
2717
2733
 
2718
2734
  // src/pcb/pcb_fabrication_note_text.ts
2719
- import { z as z121 } from "zod";
2720
- var pcb_fabrication_note_text = z121.object({
2721
- 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"),
2722
2738
  pcb_fabrication_note_text_id: getZodPrefixedIdWithDefault(
2723
2739
  "pcb_fabrication_note_text"
2724
2740
  ),
2725
- subcircuit_id: z121.string().optional(),
2726
- pcb_group_id: z121.string().optional(),
2727
- 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"),
2728
2744
  font_size: distance.default("1mm"),
2729
- pcb_component_id: z121.string(),
2730
- text: z121.string(),
2731
- ccw_rotation: z121.number().optional(),
2745
+ pcb_component_id: z122.string(),
2746
+ text: z122.string(),
2747
+ ccw_rotation: z122.number().optional(),
2732
2748
  layer: visible_layer,
2733
2749
  anchor_position: point.default({ x: 0, y: 0 }),
2734
- anchor_alignment: z121.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).default("center"),
2735
- 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()
2736
2752
  }).describe(
2737
2753
  "Defines a fabrication note in text on the PCB, useful for leaving notes for assemblers or fabricators"
2738
2754
  );
2739
2755
  expectTypesMatch(true);
2740
2756
 
2741
2757
  // src/pcb/pcb_fabrication_note_path.ts
2742
- import { z as z122 } from "zod";
2743
- var pcb_fabrication_note_path = z122.object({
2744
- 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"),
2745
2761
  pcb_fabrication_note_path_id: getZodPrefixedIdWithDefault(
2746
2762
  "pcb_fabrication_note_path"
2747
2763
  ),
2748
- pcb_component_id: z122.string(),
2749
- subcircuit_id: z122.string().optional(),
2764
+ pcb_component_id: z123.string(),
2765
+ subcircuit_id: z123.string().optional(),
2750
2766
  layer: layer_ref,
2751
- route: z122.array(point),
2767
+ route: z123.array(point),
2752
2768
  stroke_width: length,
2753
- color: z122.string().optional()
2769
+ color: z123.string().optional()
2754
2770
  }).describe(
2755
2771
  "Defines a fabrication path on the PCB for fabricators or assemblers"
2756
2772
  );
2757
2773
  expectTypesMatch(true);
2758
2774
 
2759
2775
  // src/pcb/pcb_fabrication_note_rect.ts
2760
- import { z as z123 } from "zod";
2761
- var pcb_fabrication_note_rect = z123.object({
2762
- 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"),
2763
2779
  pcb_fabrication_note_rect_id: getZodPrefixedIdWithDefault(
2764
2780
  "pcb_fabrication_note_rect"
2765
2781
  ),
2766
- pcb_component_id: z123.string(),
2767
- pcb_group_id: z123.string().optional(),
2768
- subcircuit_id: z123.string().optional(),
2782
+ pcb_component_id: z124.string(),
2783
+ pcb_group_id: z124.string().optional(),
2784
+ subcircuit_id: z124.string().optional(),
2769
2785
  center: point,
2770
2786
  width: length,
2771
2787
  height: length,
2772
2788
  layer: visible_layer,
2773
2789
  stroke_width: length.default("0.1mm"),
2774
2790
  corner_radius: length.optional(),
2775
- is_filled: z123.boolean().optional(),
2776
- has_stroke: z123.boolean().optional(),
2777
- is_stroke_dashed: z123.boolean().optional(),
2778
- 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()
2779
2795
  }).describe("Defines a fabrication note rectangle on the PCB");
2780
2796
  expectTypesMatch(true);
2781
2797
 
2782
2798
  // src/pcb/pcb_fabrication_note_dimension.ts
2783
- import { z as z124 } from "zod";
2784
- var pcb_fabrication_note_dimension = z124.object({
2785
- 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"),
2786
2802
  pcb_fabrication_note_dimension_id: getZodPrefixedIdWithDefault(
2787
2803
  "pcb_fabrication_note_dimension"
2788
2804
  ),
2789
- pcb_component_id: z124.string(),
2790
- pcb_group_id: z124.string().optional(),
2791
- subcircuit_id: z124.string().optional(),
2805
+ pcb_component_id: z125.string(),
2806
+ pcb_group_id: z125.string().optional(),
2807
+ subcircuit_id: z125.string().optional(),
2792
2808
  layer: visible_layer,
2793
2809
  from: point,
2794
2810
  to: point,
2795
- text: z124.string().optional(),
2796
- text_ccw_rotation: z124.number().optional(),
2811
+ text: z125.string().optional(),
2812
+ text_ccw_rotation: z125.number().optional(),
2797
2813
  offset: length.optional(),
2798
2814
  offset_distance: length.optional(),
2799
- offset_direction: z124.object({
2800
- x: z124.number(),
2801
- y: z124.number()
2815
+ offset_direction: z125.object({
2816
+ x: z125.number(),
2817
+ y: z125.number()
2802
2818
  }).optional(),
2803
- font: z124.literal("tscircuit2024").default("tscircuit2024"),
2819
+ font: z125.literal("tscircuit2024").default("tscircuit2024"),
2804
2820
  font_size: length.default("1mm"),
2805
- color: z124.string().optional(),
2821
+ color: z125.string().optional(),
2806
2822
  arrow_size: length.default("1mm")
2807
2823
  }).describe("Defines a measurement annotation within PCB fabrication notes");
2808
2824
  expectTypesMatch(true);
2809
2825
 
2810
2826
  // src/pcb/pcb_note_text.ts
2811
- import { z as z125 } from "zod";
2812
- var pcb_note_text = z125.object({
2813
- type: z125.literal("pcb_note_text"),
2814
- pcb_note_text_id: getZodPrefixedIdWithDefault("pcb_note_text"),
2815
- pcb_component_id: z125.string().optional(),
2816
- pcb_group_id: z125.string().optional(),
2817
- subcircuit_id: z125.string().optional(),
2818
- name: z125.string().optional(),
2819
- font: z125.literal("tscircuit2024").default("tscircuit2024"),
2820
- font_size: distance.default("1mm"),
2821
- text: z125.string().optional(),
2822
- anchor_position: point.default({ x: 0, y: 0 }),
2823
- anchor_alignment: z125.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).default("center"),
2824
- layer: visible_layer.default("top"),
2825
- is_mirrored_from_top_view: z125.boolean().optional(),
2826
- color: z125.string().optional()
2827
- }).describe("Defines a documentation note in text on the PCB");
2828
- expectTypesMatch(true);
2829
-
2830
- // src/pcb/pcb_note_rect.ts
2831
2827
  import { z as z126 } from "zod";
2832
- var pcb_note_rect = z126.object({
2833
- type: z126.literal("pcb_note_rect"),
2834
- 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"),
2835
2831
  pcb_component_id: z126.string().optional(),
2836
2832
  pcb_group_id: z126.string().optional(),
2837
2833
  subcircuit_id: z126.string().optional(),
2838
2834
  name: z126.string().optional(),
2835
+ font: z126.literal("tscircuit2024").default("tscircuit2024"),
2836
+ font_size: distance.default("1mm"),
2839
2837
  text: z126.string().optional(),
2840
- center: point,
2841
- width: length,
2842
- 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"),
2843
2840
  layer: visible_layer.default("top"),
2844
- stroke_width: length.default("0.1mm"),
2845
- corner_radius: length.optional(),
2846
- is_filled: z126.boolean().optional(),
2847
- has_stroke: z126.boolean().optional(),
2848
- is_stroke_dashed: z126.boolean().optional(),
2841
+ is_mirrored_from_top_view: z126.boolean().optional(),
2849
2842
  color: z126.string().optional()
2850
- }).describe("Defines a rectangular documentation note on the PCB");
2843
+ }).describe("Defines a documentation note in text on the PCB");
2851
2844
  expectTypesMatch(true);
2852
2845
 
2853
- // src/pcb/pcb_note_path.ts
2846
+ // src/pcb/pcb_note_rect.ts
2854
2847
  import { z as z127 } from "zod";
2855
- var pcb_note_path = z127.object({
2856
- type: z127.literal("pcb_note_path"),
2857
- 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"),
2858
2851
  pcb_component_id: z127.string().optional(),
2859
2852
  pcb_group_id: z127.string().optional(),
2860
2853
  subcircuit_id: z127.string().optional(),
2861
2854
  name: z127.string().optional(),
2862
2855
  text: z127.string().optional(),
2863
- route: z127.array(point),
2856
+ center: point,
2857
+ width: length,
2858
+ height: length,
2864
2859
  layer: visible_layer.default("top"),
2865
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(),
2866
2865
  color: z127.string().optional()
2867
- }).describe("Defines a polyline documentation note on the PCB");
2866
+ }).describe("Defines a rectangular documentation note on the PCB");
2868
2867
  expectTypesMatch(true);
2869
2868
 
2870
- // src/pcb/pcb_note_line.ts
2869
+ // src/pcb/pcb_note_path.ts
2871
2870
  import { z as z128 } from "zod";
2872
- var pcb_note_line = z128.object({
2873
- type: z128.literal("pcb_note_line"),
2874
- 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"),
2875
2874
  pcb_component_id: z128.string().optional(),
2876
2875
  pcb_group_id: z128.string().optional(),
2877
2876
  subcircuit_id: z128.string().optional(),
2878
2877
  name: z128.string().optional(),
2879
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(),
2880
2896
  x1: distance,
2881
2897
  y1: distance,
2882
2898
  x2: distance,
2883
2899
  y2: distance,
2884
2900
  layer: visible_layer.default("top"),
2885
2901
  stroke_width: distance.default("0.1mm"),
2886
- color: z128.string().optional(),
2887
- is_dashed: z128.boolean().optional()
2902
+ color: z129.string().optional(),
2903
+ is_dashed: z129.boolean().optional()
2888
2904
  }).describe("Defines a straight documentation note line on the PCB");
2889
2905
  expectTypesMatch(true);
2890
2906
 
2891
2907
  // src/pcb/pcb_note_dimension.ts
2892
- import { z as z129 } from "zod";
2893
- var pcb_note_dimension = z129.object({
2894
- 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"),
2895
2911
  pcb_note_dimension_id: getZodPrefixedIdWithDefault("pcb_note_dimension"),
2896
- pcb_component_id: z129.string().optional(),
2897
- pcb_group_id: z129.string().optional(),
2898
- subcircuit_id: z129.string().optional(),
2899
- 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(),
2900
2916
  from: point,
2901
2917
  to: point,
2902
- text: z129.string().optional(),
2903
- text_ccw_rotation: z129.number().optional(),
2918
+ text: z130.string().optional(),
2919
+ text_ccw_rotation: z130.number().optional(),
2904
2920
  offset_distance: length.optional(),
2905
- offset_direction: z129.object({
2906
- x: z129.number(),
2907
- y: z129.number()
2921
+ offset_direction: z130.object({
2922
+ x: z130.number(),
2923
+ y: z130.number()
2908
2924
  }).optional(),
2909
- font: z129.literal("tscircuit2024").default("tscircuit2024"),
2925
+ font: z130.literal("tscircuit2024").default("tscircuit2024"),
2910
2926
  font_size: length.default("1mm"),
2911
2927
  layer: visible_layer.default("top"),
2912
- color: z129.string().optional(),
2928
+ color: z130.string().optional(),
2913
2929
  arrow_size: length.default("1mm")
2914
2930
  }).describe("Defines a measurement annotation within PCB documentation notes");
2915
2931
  expectTypesMatch(true);
2916
2932
 
2917
2933
  // src/pcb/pcb_footprint_overlap_error.ts
2918
- import { z as z130 } from "zod";
2934
+ import { z as z131 } from "zod";
2919
2935
  var pcb_footprint_overlap_error = base_circuit_json_error.extend({
2920
- type: z130.literal("pcb_footprint_overlap_error"),
2936
+ type: z131.literal("pcb_footprint_overlap_error"),
2921
2937
  pcb_error_id: getZodPrefixedIdWithDefault("pcb_error"),
2922
- error_type: z130.literal("pcb_footprint_overlap_error").default("pcb_footprint_overlap_error"),
2923
- pcb_smtpad_ids: z130.array(z130.string()).optional(),
2924
- pcb_plated_hole_ids: z130.array(z130.string()).optional(),
2925
- pcb_hole_ids: z130.array(z130.string()).optional(),
2926
- 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()
2927
2943
  }).describe("Error emitted when a pcb footprint overlaps with another element");
2928
2944
  expectTypesMatch(
2929
2945
  true
2930
2946
  );
2931
2947
 
2932
2948
  // src/pcb/pcb_courtyard_overlap_error.ts
2933
- import { z as z131 } from "zod";
2949
+ import { z as z132 } from "zod";
2934
2950
  var pcb_courtyard_overlap_error = base_circuit_json_error.extend({
2935
- type: z131.literal("pcb_courtyard_overlap_error"),
2951
+ type: z132.literal("pcb_courtyard_overlap_error"),
2936
2952
  pcb_error_id: getZodPrefixedIdWithDefault("pcb_error"),
2937
- error_type: z131.literal("pcb_courtyard_overlap_error").default("pcb_courtyard_overlap_error"),
2938
- 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()])
2939
2955
  }).describe(
2940
2956
  "Error emitted when the courtyard (CrtYd) of one PCB component overlaps with the courtyard of another"
2941
2957
  );
@@ -2944,49 +2960,49 @@ expectTypesMatch(
2944
2960
  );
2945
2961
 
2946
2962
  // src/pcb/pcb_keepout.ts
2947
- import { z as z132 } from "zod";
2948
- var pcb_keepout = z132.object({
2949
- type: z132.literal("pcb_keepout"),
2950
- shape: z132.literal("rect"),
2951
- pcb_group_id: z132.string().optional(),
2952
- 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(),
2953
2969
  center: point,
2954
2970
  width: distance,
2955
2971
  height: distance,
2956
- pcb_keepout_id: z132.string(),
2957
- layers: z132.array(z132.string()),
2972
+ pcb_keepout_id: z133.string(),
2973
+ layers: z133.array(z133.string()),
2958
2974
  // Specify layers where the keepout applies
2959
- description: z132.string().optional()
2975
+ description: z133.string().optional()
2960
2976
  // Optional description of the keepout
2961
2977
  }).or(
2962
- z132.object({
2963
- type: z132.literal("pcb_keepout"),
2964
- shape: z132.literal("circle"),
2965
- pcb_group_id: z132.string().optional(),
2966
- 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(),
2967
2983
  center: point,
2968
2984
  radius: distance,
2969
- pcb_keepout_id: z132.string(),
2970
- layers: z132.array(z132.string()),
2985
+ pcb_keepout_id: z133.string(),
2986
+ layers: z133.array(z133.string()),
2971
2987
  // Specify layers where the keepout applies
2972
- description: z132.string().optional()
2988
+ description: z133.string().optional()
2973
2989
  // Optional description of the keepout
2974
2990
  })
2975
2991
  );
2976
2992
  expectTypesMatch(true);
2977
2993
 
2978
2994
  // src/pcb/pcb_cutout.ts
2979
- import { z as z133 } from "zod";
2980
- var pcb_cutout_base = z133.object({
2981
- 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"),
2982
2998
  pcb_cutout_id: getZodPrefixedIdWithDefault("pcb_cutout"),
2983
- pcb_group_id: z133.string().optional(),
2984
- subcircuit_id: z133.string().optional(),
2985
- pcb_board_id: z133.string().optional(),
2986
- 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()
2987
3003
  });
2988
3004
  var pcb_cutout_rect = pcb_cutout_base.extend({
2989
- shape: z133.literal("rect"),
3005
+ shape: z134.literal("rect"),
2990
3006
  center: point,
2991
3007
  width: length,
2992
3008
  height: length,
@@ -2995,26 +3011,26 @@ var pcb_cutout_rect = pcb_cutout_base.extend({
2995
3011
  });
2996
3012
  expectTypesMatch(true);
2997
3013
  var pcb_cutout_circle = pcb_cutout_base.extend({
2998
- shape: z133.literal("circle"),
3014
+ shape: z134.literal("circle"),
2999
3015
  center: point,
3000
3016
  radius: length
3001
3017
  });
3002
3018
  expectTypesMatch(true);
3003
3019
  var pcb_cutout_polygon = pcb_cutout_base.extend({
3004
- shape: z133.literal("polygon"),
3005
- points: z133.array(point)
3020
+ shape: z134.literal("polygon"),
3021
+ points: z134.array(point)
3006
3022
  });
3007
3023
  expectTypesMatch(true);
3008
3024
  var pcb_cutout_path = pcb_cutout_base.extend({
3009
- shape: z133.literal("path"),
3010
- route: z133.array(point),
3025
+ shape: z134.literal("path"),
3026
+ route: z134.array(point),
3011
3027
  slot_width: length,
3012
3028
  slot_length: length.optional(),
3013
3029
  space_between_slots: length.optional(),
3014
3030
  slot_corner_radius: length.optional()
3015
3031
  });
3016
3032
  expectTypesMatch(true);
3017
- var pcb_cutout = z133.discriminatedUnion("shape", [
3033
+ var pcb_cutout = z134.discriminatedUnion("shape", [
3018
3034
  pcb_cutout_rect,
3019
3035
  pcb_cutout_circle,
3020
3036
  pcb_cutout_polygon,
@@ -3023,169 +3039,169 @@ var pcb_cutout = z133.discriminatedUnion("shape", [
3023
3039
  expectTypesMatch(true);
3024
3040
 
3025
3041
  // src/pcb/pcb_missing_footprint_error.ts
3026
- import { z as z134 } from "zod";
3042
+ import { z as z135 } from "zod";
3027
3043
  var pcb_missing_footprint_error = base_circuit_json_error.extend({
3028
- type: z134.literal("pcb_missing_footprint_error"),
3044
+ type: z135.literal("pcb_missing_footprint_error"),
3029
3045
  pcb_missing_footprint_error_id: getZodPrefixedIdWithDefault(
3030
3046
  "pcb_missing_footprint_error"
3031
3047
  ),
3032
- pcb_group_id: z134.string().optional(),
3033
- subcircuit_id: z134.string().optional(),
3034
- error_type: z134.literal("pcb_missing_footprint_error").default("pcb_missing_footprint_error"),
3035
- 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()
3036
3052
  }).describe("Defines a missing footprint error on the PCB");
3037
3053
  expectTypesMatch(
3038
3054
  true
3039
3055
  );
3040
3056
 
3041
3057
  // src/pcb/external_footprint_load_error.ts
3042
- import { z as z135 } from "zod";
3058
+ import { z as z136 } from "zod";
3043
3059
  var external_footprint_load_error = base_circuit_json_error.extend({
3044
- type: z135.literal("external_footprint_load_error"),
3060
+ type: z136.literal("external_footprint_load_error"),
3045
3061
  external_footprint_load_error_id: getZodPrefixedIdWithDefault(
3046
3062
  "external_footprint_load_error"
3047
3063
  ),
3048
- pcb_component_id: z135.string(),
3049
- source_component_id: z135.string(),
3050
- pcb_group_id: z135.string().optional(),
3051
- subcircuit_id: z135.string().optional(),
3052
- footprinter_string: z135.string().optional(),
3053
- 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")
3054
3070
  }).describe("Defines an error when an external footprint fails to load");
3055
3071
  expectTypesMatch(true);
3056
3072
 
3057
3073
  // src/pcb/circuit_json_footprint_load_error.ts
3058
- import { z as z136 } from "zod";
3074
+ import { z as z137 } from "zod";
3059
3075
  var circuit_json_footprint_load_error = base_circuit_json_error.extend({
3060
- type: z136.literal("circuit_json_footprint_load_error"),
3076
+ type: z137.literal("circuit_json_footprint_load_error"),
3061
3077
  circuit_json_footprint_load_error_id: getZodPrefixedIdWithDefault(
3062
3078
  "circuit_json_footprint_load_error"
3063
3079
  ),
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
- error_type: z136.literal("circuit_json_footprint_load_error").default("circuit_json_footprint_load_error"),
3069
- 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()
3070
3086
  }).describe("Defines an error when a circuit JSON footprint fails to load");
3071
3087
  expectTypesMatch(true);
3072
3088
 
3073
3089
  // src/pcb/pcb_group.ts
3074
- import { z as z137 } from "zod";
3075
- var pcb_group = z137.object({
3076
- type: z137.literal("pcb_group"),
3090
+ import { z as z138 } from "zod";
3091
+ var pcb_group = z138.object({
3092
+ type: z138.literal("pcb_group"),
3077
3093
  pcb_group_id: getZodPrefixedIdWithDefault("pcb_group"),
3078
- source_group_id: z137.string(),
3079
- is_subcircuit: z137.boolean().optional(),
3080
- subcircuit_id: z137.string().optional(),
3094
+ source_group_id: z138.string(),
3095
+ is_subcircuit: z138.boolean().optional(),
3096
+ subcircuit_id: z138.string().optional(),
3081
3097
  width: length.optional(),
3082
3098
  height: length.optional(),
3083
3099
  center: point,
3084
- display_offset_x: z137.string().optional().describe(
3100
+ display_offset_x: z138.string().optional().describe(
3085
3101
  "How to display the x offset for this group, usually corresponding with how the user specified it"
3086
3102
  ),
3087
- display_offset_y: z137.string().optional().describe(
3103
+ display_offset_y: z138.string().optional().describe(
3088
3104
  "How to display the y offset for this group, usually corresponding with how the user specified it"
3089
3105
  ),
3090
- outline: z137.array(point).optional(),
3106
+ outline: z138.array(point).optional(),
3091
3107
  anchor_position: point.optional(),
3092
3108
  anchor_alignment: ninePointAnchor.default("center"),
3093
- position_mode: z137.enum(["packed", "relative_to_group_anchor", "none"]).optional(),
3094
- positioned_relative_to_pcb_group_id: z137.string().optional(),
3095
- positioned_relative_to_pcb_board_id: z137.string().optional(),
3096
- pcb_component_ids: z137.array(z137.string()),
3097
- child_layout_mode: z137.enum(["packed", "none"]).optional(),
3098
- name: z137.string().optional(),
3099
- description: z137.string().optional(),
3100
- layout_mode: z137.string().optional(),
3101
- 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({
3102
3118
  trace_clearance: length
3103
3119
  }).optional(),
3104
- autorouter_used_string: z137.string().optional()
3120
+ autorouter_used_string: z138.string().optional()
3105
3121
  }).describe("Defines a group of components on the PCB");
3106
3122
  expectTypesMatch(true);
3107
3123
 
3108
3124
  // src/pcb/pcb_autorouting_error.ts
3109
- import { z as z138 } from "zod";
3125
+ import { z as z139 } from "zod";
3110
3126
  var pcb_autorouting_error = base_circuit_json_error.extend({
3111
- type: z138.literal("pcb_autorouting_error"),
3127
+ type: z139.literal("pcb_autorouting_error"),
3112
3128
  pcb_error_id: getZodPrefixedIdWithDefault("pcb_autorouting_error"),
3113
- error_type: z138.literal("pcb_autorouting_error").default("pcb_autorouting_error"),
3114
- subcircuit_id: z138.string().optional()
3129
+ error_type: z139.literal("pcb_autorouting_error").default("pcb_autorouting_error"),
3130
+ subcircuit_id: z139.string().optional()
3115
3131
  }).describe("The autorouting has failed to route a portion of the board");
3116
3132
  expectTypesMatch(true);
3117
3133
 
3118
3134
  // src/pcb/pcb_manual_edit_conflict_warning.ts
3119
- import { z as z139 } from "zod";
3120
- var pcb_manual_edit_conflict_warning = z139.object({
3121
- 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"),
3122
3138
  pcb_manual_edit_conflict_warning_id: getZodPrefixedIdWithDefault(
3123
3139
  "pcb_manual_edit_conflict_warning"
3124
3140
  ),
3125
- warning_type: z139.literal("pcb_manual_edit_conflict_warning").default("pcb_manual_edit_conflict_warning"),
3126
- message: z139.string(),
3127
- pcb_component_id: z139.string(),
3128
- pcb_group_id: z139.string().optional(),
3129
- subcircuit_id: z139.string().optional(),
3130
- 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()
3131
3147
  }).describe(
3132
3148
  "Warning emitted when a component has both manual placement and explicit pcbX/pcbY coordinates"
3133
3149
  );
3134
3150
  expectTypesMatch(true);
3135
3151
 
3136
3152
  // src/pcb/pcb_connector_not_in_accessible_orientation_warning.ts
3137
- import { z as z140 } from "zod";
3138
- var connectorOrientationDirection = z140.enum(["x-", "x+", "y+", "y-"]);
3139
- var pcb_connector_not_in_accessible_orientation_warning = z140.object({
3140
- 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"),
3141
3157
  pcb_connector_not_in_accessible_orientation_warning_id: getZodPrefixedIdWithDefault(
3142
3158
  "pcb_connector_not_in_accessible_orientation_warning"
3143
3159
  ),
3144
- warning_type: z140.literal("pcb_connector_not_in_accessible_orientation_warning").default("pcb_connector_not_in_accessible_orientation_warning"),
3145
- message: z140.string(),
3146
- pcb_component_id: z140.string(),
3147
- source_component_id: z140.string().optional(),
3148
- 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(),
3149
3165
  facing_direction: connectorOrientationDirection,
3150
3166
  recommended_facing_direction: connectorOrientationDirection,
3151
- subcircuit_id: z140.string().optional()
3167
+ subcircuit_id: z141.string().optional()
3152
3168
  }).describe(
3153
3169
  "Warning emitted when a connector PCB component is facing inward toward the board and should be reoriented to an outward-facing direction"
3154
3170
  );
3155
3171
  expectTypesMatch(true);
3156
3172
 
3157
3173
  // src/pcb/supplier_footprint_mismatch_warning.ts
3158
- import { z as z141 } from "zod";
3159
- var supplier_footprint_mismatch_warning = z141.object({
3160
- 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"),
3161
3177
  supplier_footprint_mismatch_warning_id: getZodPrefixedIdWithDefault(
3162
3178
  "supplier_footprint_mismatch_warning"
3163
3179
  ),
3164
- warning_type: z141.literal("supplier_footprint_mismatch_warning").default("supplier_footprint_mismatch_warning"),
3165
- message: z141.string(),
3166
- source_component_id: z141.string(),
3167
- pcb_component_id: z141.string().optional(),
3168
- pcb_group_id: z141.string().optional(),
3169
- 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(),
3170
3186
  supplier_name: supplier_name.optional(),
3171
- supplier_part_number: z141.string().optional(),
3172
- supplier_footprint_url: z141.string().optional(),
3173
- 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()
3174
3190
  }).describe(
3175
3191
  "Warning emitted when a supplier part footprint does not match the expected footprint"
3176
3192
  );
3177
3193
  expectTypesMatch(true);
3178
3194
 
3179
3195
  // src/pcb/pcb_breakout_point.ts
3180
- import { z as z142 } from "zod";
3181
- var pcb_breakout_point = z142.object({
3182
- 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"),
3183
3199
  pcb_breakout_point_id: getZodPrefixedIdWithDefault("pcb_breakout_point"),
3184
- pcb_group_id: z142.string(),
3185
- subcircuit_id: z142.string().optional(),
3186
- source_trace_id: z142.string().optional(),
3187
- source_port_id: z142.string().optional(),
3188
- 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(),
3189
3205
  x: distance,
3190
3206
  y: distance
3191
3207
  }).describe(
@@ -3194,61 +3210,61 @@ var pcb_breakout_point = z142.object({
3194
3210
  expectTypesMatch(true);
3195
3211
 
3196
3212
  // src/pcb/pcb_ground_plane.ts
3197
- import { z as z143 } from "zod";
3198
- var pcb_ground_plane = z143.object({
3199
- 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"),
3200
3216
  pcb_ground_plane_id: getZodPrefixedIdWithDefault("pcb_ground_plane"),
3201
- source_pcb_ground_plane_id: z143.string(),
3202
- source_net_id: z143.string(),
3203
- pcb_group_id: z143.string().optional(),
3204
- 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()
3205
3221
  }).describe("Defines a ground plane on the PCB");
3206
3222
  expectTypesMatch(true);
3207
3223
 
3208
3224
  // src/pcb/pcb_ground_plane_region.ts
3209
- import { z as z144 } from "zod";
3210
- var pcb_ground_plane_region = z144.object({
3211
- 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"),
3212
3228
  pcb_ground_plane_region_id: getZodPrefixedIdWithDefault(
3213
3229
  "pcb_ground_plane_region"
3214
3230
  ),
3215
- pcb_ground_plane_id: z144.string(),
3216
- pcb_group_id: z144.string().optional(),
3217
- 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(),
3218
3234
  layer: layer_ref,
3219
- points: z144.array(point)
3235
+ points: z145.array(point)
3220
3236
  }).describe("Defines a polygon region of a ground plane");
3221
3237
  expectTypesMatch(true);
3222
3238
 
3223
3239
  // src/pcb/pcb_thermal_spoke.ts
3224
- import { z as z145 } from "zod";
3225
- var pcb_thermal_spoke = z145.object({
3226
- 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"),
3227
3243
  pcb_thermal_spoke_id: getZodPrefixedIdWithDefault("pcb_thermal_spoke"),
3228
- pcb_ground_plane_id: z145.string(),
3229
- shape: z145.string(),
3230
- spoke_count: z145.number(),
3244
+ pcb_ground_plane_id: z146.string(),
3245
+ shape: z146.string(),
3246
+ spoke_count: z146.number(),
3231
3247
  spoke_thickness: distance,
3232
3248
  spoke_inner_diameter: distance,
3233
3249
  spoke_outer_diameter: distance,
3234
- pcb_plated_hole_id: z145.string().optional(),
3235
- subcircuit_id: z145.string().optional()
3250
+ pcb_plated_hole_id: z146.string().optional(),
3251
+ subcircuit_id: z146.string().optional()
3236
3252
  }).describe("Pattern for connecting a ground plane to a plated hole");
3237
3253
  expectTypesMatch(true);
3238
3254
 
3239
3255
  // src/pcb/pcb_copper_pour.ts
3240
- import { z as z146 } from "zod";
3241
- var pcb_copper_pour_base = z146.object({
3242
- 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"),
3243
3259
  pcb_copper_pour_id: getZodPrefixedIdWithDefault("pcb_copper_pour"),
3244
- pcb_group_id: z146.string().optional(),
3245
- subcircuit_id: z146.string().optional(),
3260
+ pcb_group_id: z147.string().optional(),
3261
+ subcircuit_id: z147.string().optional(),
3246
3262
  layer: layer_ref,
3247
- source_net_id: z146.string().optional(),
3248
- 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)
3249
3265
  });
3250
3266
  var pcb_copper_pour_rect = pcb_copper_pour_base.extend({
3251
- shape: z146.literal("rect"),
3267
+ shape: z147.literal("rect"),
3252
3268
  center: point,
3253
3269
  width: length,
3254
3270
  height: length,
@@ -3256,16 +3272,16 @@ var pcb_copper_pour_rect = pcb_copper_pour_base.extend({
3256
3272
  });
3257
3273
  expectTypesMatch(true);
3258
3274
  var pcb_copper_pour_brep = pcb_copper_pour_base.extend({
3259
- shape: z146.literal("brep"),
3275
+ shape: z147.literal("brep"),
3260
3276
  brep_shape
3261
3277
  });
3262
3278
  expectTypesMatch(true);
3263
3279
  var pcb_copper_pour_polygon = pcb_copper_pour_base.extend({
3264
- shape: z146.literal("polygon"),
3265
- points: z146.array(point)
3280
+ shape: z147.literal("polygon"),
3281
+ points: z147.array(point)
3266
3282
  });
3267
3283
  expectTypesMatch(true);
3268
- var pcb_copper_pour = z146.discriminatedUnion("shape", [
3284
+ var pcb_copper_pour = z147.discriminatedUnion("shape", [
3269
3285
  pcb_copper_pour_rect,
3270
3286
  pcb_copper_pour_brep,
3271
3287
  pcb_copper_pour_polygon
@@ -3273,99 +3289,99 @@ var pcb_copper_pour = z146.discriminatedUnion("shape", [
3273
3289
  expectTypesMatch(true);
3274
3290
 
3275
3291
  // src/pcb/pcb_component_outside_board_error.ts
3276
- import { z as z147 } from "zod";
3292
+ import { z as z148 } from "zod";
3277
3293
  var pcb_component_outside_board_error = base_circuit_json_error.extend({
3278
- type: z147.literal("pcb_component_outside_board_error"),
3294
+ type: z148.literal("pcb_component_outside_board_error"),
3279
3295
  pcb_component_outside_board_error_id: getZodPrefixedIdWithDefault(
3280
3296
  "pcb_component_outside_board_error"
3281
3297
  ),
3282
- error_type: z147.literal("pcb_component_outside_board_error").default("pcb_component_outside_board_error"),
3283
- pcb_component_id: z147.string(),
3284
- 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(),
3285
3301
  component_center: point,
3286
- component_bounds: z147.object({
3287
- min_x: z147.number(),
3288
- max_x: z147.number(),
3289
- min_y: z147.number(),
3290
- 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()
3291
3307
  }),
3292
- subcircuit_id: z147.string().optional(),
3293
- source_component_id: z147.string().optional()
3308
+ subcircuit_id: z148.string().optional(),
3309
+ source_component_id: z148.string().optional()
3294
3310
  }).describe(
3295
3311
  "Error emitted when a PCB component is placed outside the board boundaries"
3296
3312
  );
3297
3313
  expectTypesMatch(true);
3298
3314
 
3299
3315
  // src/pcb/pcb_component_not_on_board_edge_error.ts
3300
- import { z as z148 } from "zod";
3316
+ import { z as z149 } from "zod";
3301
3317
  var pcb_component_not_on_board_edge_error = base_circuit_json_error.extend({
3302
- type: z148.literal("pcb_component_not_on_board_edge_error"),
3318
+ type: z149.literal("pcb_component_not_on_board_edge_error"),
3303
3319
  pcb_component_not_on_board_edge_error_id: getZodPrefixedIdWithDefault(
3304
3320
  "pcb_component_not_on_board_edge_error"
3305
3321
  ),
3306
- error_type: z148.literal("pcb_component_not_on_board_edge_error").default("pcb_component_not_on_board_edge_error"),
3307
- pcb_component_id: z148.string(),
3308
- 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(),
3309
3325
  component_center: point,
3310
- pad_to_nearest_board_edge_distance: z148.number(),
3311
- source_component_id: z148.string().optional(),
3312
- 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()
3313
3329
  }).describe(
3314
3330
  "Error emitted when a component that must be placed on the board edge is centered away from the edge"
3315
3331
  );
3316
3332
  expectTypesMatch(true);
3317
3333
 
3318
3334
  // src/pcb/pcb_component_invalid_layer_error.ts
3319
- import { z as z149 } from "zod";
3335
+ import { z as z150 } from "zod";
3320
3336
  var pcb_component_invalid_layer_error = base_circuit_json_error.extend({
3321
- type: z149.literal("pcb_component_invalid_layer_error"),
3337
+ type: z150.literal("pcb_component_invalid_layer_error"),
3322
3338
  pcb_component_invalid_layer_error_id: getZodPrefixedIdWithDefault(
3323
3339
  "pcb_component_invalid_layer_error"
3324
3340
  ),
3325
- error_type: z149.literal("pcb_component_invalid_layer_error").default("pcb_component_invalid_layer_error"),
3326
- pcb_component_id: z149.string().optional(),
3327
- 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(),
3328
3344
  layer: layer_ref,
3329
- subcircuit_id: z149.string().optional()
3345
+ subcircuit_id: z150.string().optional()
3330
3346
  }).describe(
3331
3347
  "Error emitted when a component is placed on an invalid layer (components can only be on 'top' or 'bottom' layers)"
3332
3348
  );
3333
3349
  expectTypesMatch(true);
3334
3350
 
3335
3351
  // src/pcb/pcb_via_clearance_error.ts
3336
- import { z as z150 } from "zod";
3352
+ import { z as z151 } from "zod";
3337
3353
  var pcb_via_clearance_error = base_circuit_json_error.extend({
3338
- type: z150.literal("pcb_via_clearance_error"),
3354
+ type: z151.literal("pcb_via_clearance_error"),
3339
3355
  pcb_error_id: getZodPrefixedIdWithDefault("pcb_error"),
3340
- error_type: z150.literal("pcb_via_clearance_error").default("pcb_via_clearance_error"),
3341
- 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),
3342
3358
  minimum_clearance: distance.optional(),
3343
3359
  actual_clearance: distance.optional(),
3344
- pcb_center: z150.object({
3345
- x: z150.number().optional(),
3346
- y: z150.number().optional()
3360
+ pcb_center: z151.object({
3361
+ x: z151.number().optional(),
3362
+ y: z151.number().optional()
3347
3363
  }).optional(),
3348
- subcircuit_id: z150.string().optional()
3364
+ subcircuit_id: z151.string().optional()
3349
3365
  }).describe("Error emitted when vias are closer than the allowed clearance");
3350
3366
  expectTypesMatch(true);
3351
3367
 
3352
3368
  // src/pcb/pcb_via_trace_clearance_error.ts
3353
- import { z as z151 } from "zod";
3369
+ import { z as z152 } from "zod";
3354
3370
  var pcb_via_trace_clearance_error = base_circuit_json_error.extend({
3355
- type: z151.literal("pcb_via_trace_clearance_error"),
3371
+ type: z152.literal("pcb_via_trace_clearance_error"),
3356
3372
  pcb_via_trace_clearance_error_id: getZodPrefixedIdWithDefault(
3357
3373
  "pcb_via_trace_clearance_error"
3358
3374
  ),
3359
- error_type: z151.literal("pcb_via_trace_clearance_error").default("pcb_via_trace_clearance_error"),
3360
- pcb_via_id: z151.string(),
3361
- 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(),
3362
3378
  minimum_clearance: distance.optional(),
3363
3379
  actual_clearance: distance.optional(),
3364
- center: z151.object({
3365
- x: z151.number().optional(),
3366
- y: z151.number().optional()
3380
+ center: z152.object({
3381
+ x: z152.number().optional(),
3382
+ y: z152.number().optional()
3367
3383
  }).optional(),
3368
- subcircuit_id: z151.string().optional()
3384
+ subcircuit_id: z152.string().optional()
3369
3385
  }).describe(
3370
3386
  "Error emitted when a via and trace are closer than the allowed clearance"
3371
3387
  );
@@ -3374,41 +3390,41 @@ expectTypesMatch(
3374
3390
  );
3375
3391
 
3376
3392
  // src/pcb/pcb_pad_pad_clearance_error.ts
3377
- import { z as z152 } from "zod";
3393
+ import { z as z153 } from "zod";
3378
3394
  var pcb_pad_pad_clearance_error = base_circuit_json_error.extend({
3379
- type: z152.literal("pcb_pad_pad_clearance_error"),
3395
+ type: z153.literal("pcb_pad_pad_clearance_error"),
3380
3396
  pcb_pad_pad_clearance_error_id: getZodPrefixedIdWithDefault(
3381
3397
  "pcb_pad_pad_clearance_error"
3382
3398
  ),
3383
- error_type: z152.literal("pcb_pad_pad_clearance_error").default("pcb_pad_pad_clearance_error"),
3384
- 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),
3385
3401
  minimum_clearance: distance.optional(),
3386
3402
  actual_clearance: distance.optional(),
3387
- center: z152.object({
3388
- x: z152.number().optional(),
3389
- y: z152.number().optional()
3403
+ center: z153.object({
3404
+ x: z153.number().optional(),
3405
+ y: z153.number().optional()
3390
3406
  }).optional(),
3391
- subcircuit_id: z152.string().optional()
3407
+ subcircuit_id: z153.string().optional()
3392
3408
  }).describe("Error emitted when pads are closer than the allowed clearance");
3393
3409
  expectTypesMatch(true);
3394
3410
 
3395
3411
  // src/pcb/pcb_pad_trace_clearance_error.ts
3396
- import { z as z153 } from "zod";
3412
+ import { z as z154 } from "zod";
3397
3413
  var pcb_pad_trace_clearance_error = base_circuit_json_error.extend({
3398
- type: z153.literal("pcb_pad_trace_clearance_error"),
3414
+ type: z154.literal("pcb_pad_trace_clearance_error"),
3399
3415
  pcb_pad_trace_clearance_error_id: getZodPrefixedIdWithDefault(
3400
3416
  "pcb_pad_trace_clearance_error"
3401
3417
  ),
3402
- error_type: z153.literal("pcb_pad_trace_clearance_error").default("pcb_pad_trace_clearance_error"),
3403
- pcb_pad_id: z153.string(),
3404
- 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(),
3405
3421
  minimum_clearance: distance.optional(),
3406
3422
  actual_clearance: distance.optional(),
3407
- center: z153.object({
3408
- x: z153.number().optional(),
3409
- y: z153.number().optional()
3423
+ center: z154.object({
3424
+ x: z154.number().optional(),
3425
+ y: z154.number().optional()
3410
3426
  }).optional(),
3411
- subcircuit_id: z153.string().optional()
3427
+ subcircuit_id: z154.string().optional()
3412
3428
  }).describe(
3413
3429
  "Error emitted when a pad and trace are closer than allowed clearance"
3414
3430
  );
@@ -3417,72 +3433,72 @@ expectTypesMatch(
3417
3433
  );
3418
3434
 
3419
3435
  // src/pcb/pcb_courtyard_rect.ts
3420
- import { z as z154 } from "zod";
3421
- var pcb_courtyard_rect = z154.object({
3422
- 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"),
3423
3439
  pcb_courtyard_rect_id: getZodPrefixedIdWithDefault("pcb_courtyard_rect"),
3424
- pcb_component_id: z154.string(),
3425
- pcb_group_id: z154.string().optional(),
3426
- subcircuit_id: z154.string().optional(),
3440
+ pcb_component_id: z155.string(),
3441
+ pcb_group_id: z155.string().optional(),
3442
+ subcircuit_id: z155.string().optional(),
3427
3443
  center: point,
3428
3444
  width: length,
3429
3445
  height: length,
3430
3446
  layer: visible_layer,
3431
3447
  ccw_rotation: rotation.optional(),
3432
- color: z154.string().optional()
3448
+ color: z155.string().optional()
3433
3449
  }).describe("Defines a courtyard rectangle on the PCB");
3434
3450
  expectTypesMatch(true);
3435
3451
 
3436
3452
  // src/pcb/pcb_courtyard_outline.ts
3437
- import { z as z155 } from "zod";
3438
- var pcb_courtyard_outline = z155.object({
3439
- 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"),
3440
3456
  pcb_courtyard_outline_id: getZodPrefixedIdWithDefault(
3441
3457
  "pcb_courtyard_outline"
3442
3458
  ),
3443
- pcb_component_id: z155.string(),
3444
- pcb_group_id: z155.string().optional(),
3445
- subcircuit_id: z155.string().optional(),
3459
+ pcb_component_id: z156.string(),
3460
+ pcb_group_id: z156.string().optional(),
3461
+ subcircuit_id: z156.string().optional(),
3446
3462
  layer: visible_layer,
3447
- outline: z155.array(point).min(2)
3463
+ outline: z156.array(point).min(2)
3448
3464
  }).describe("Defines a courtyard outline on the PCB");
3449
3465
  expectTypesMatch(true);
3450
3466
 
3451
3467
  // src/pcb/pcb_courtyard_polygon.ts
3452
- import { z as z156 } from "zod";
3453
- var pcb_courtyard_polygon = z156.object({
3454
- 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"),
3455
3471
  pcb_courtyard_polygon_id: getZodPrefixedIdWithDefault(
3456
3472
  "pcb_courtyard_polygon"
3457
3473
  ),
3458
- pcb_component_id: z156.string(),
3459
- pcb_group_id: z156.string().optional(),
3460
- subcircuit_id: z156.string().optional(),
3474
+ pcb_component_id: z157.string(),
3475
+ pcb_group_id: z157.string().optional(),
3476
+ subcircuit_id: z157.string().optional(),
3461
3477
  layer: visible_layer,
3462
- points: z156.array(point).min(3),
3463
- color: z156.string().optional()
3478
+ points: z157.array(point).min(3),
3479
+ color: z157.string().optional()
3464
3480
  }).describe("Defines a courtyard polygon on the PCB");
3465
3481
  expectTypesMatch(true);
3466
3482
 
3467
3483
  // src/pcb/pcb_courtyard_circle.ts
3468
- import { z as z157 } from "zod";
3469
- var pcb_courtyard_circle = z157.object({
3470
- 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"),
3471
3487
  pcb_courtyard_circle_id: getZodPrefixedIdWithDefault(
3472
3488
  "pcb_courtyard_circle"
3473
3489
  ),
3474
- pcb_component_id: z157.string(),
3475
- pcb_group_id: z157.string().optional(),
3476
- subcircuit_id: z157.string().optional(),
3490
+ pcb_component_id: z158.string(),
3491
+ pcb_group_id: z158.string().optional(),
3492
+ subcircuit_id: z158.string().optional(),
3477
3493
  center: point,
3478
3494
  radius: length,
3479
3495
  layer: visible_layer,
3480
- color: z157.string().optional()
3496
+ color: z158.string().optional()
3481
3497
  }).describe("Defines a courtyard circle on the PCB");
3482
3498
  expectTypesMatch(true);
3483
3499
 
3484
3500
  // src/cad/cad_component.ts
3485
- import { z as z158 } from "zod";
3501
+ import { z as z159 } from "zod";
3486
3502
 
3487
3503
  // src/cad/cad_model_conventions.ts
3488
3504
  var cad_model_formats = [
@@ -3513,49 +3529,49 @@ var cadModelDefaultDirectionMap = {
3513
3529
  };
3514
3530
 
3515
3531
  // src/cad/cad_component.ts
3516
- var cad_component = z158.object({
3517
- type: z158.literal("cad_component"),
3518
- cad_component_id: z158.string(),
3519
- pcb_component_id: z158.string(),
3520
- 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(),
3521
3537
  position: point3,
3522
3538
  rotation: point3.optional(),
3523
3539
  size: point3.optional(),
3524
3540
  layer: layer_ref.optional(),
3525
- subcircuit_id: z158.string().optional(),
3541
+ subcircuit_id: z159.string().optional(),
3526
3542
  // These are all ways to generate/load the 3d model
3527
- footprinter_string: z158.string().optional(),
3528
- model_obj_url: z158.string().optional(),
3529
- model_stl_url: z158.string().optional(),
3530
- model_3mf_url: z158.string().optional(),
3531
- model_gltf_url: z158.string().optional(),
3532
- model_glb_url: z158.string().optional(),
3533
- model_step_url: z158.string().optional(),
3534
- 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(),
3535
3551
  model_asset: asset.optional(),
3536
- model_unit_to_mm_scale_factor: z158.number().optional(),
3537
- 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(
3538
3554
  `The direction in the model's coordinate space that is considered "up" or "coming out of the board surface"`
3539
3555
  ),
3540
3556
  model_origin_position: point3.optional(),
3541
- model_origin_alignment: z158.enum([
3557
+ model_origin_alignment: z159.enum([
3542
3558
  "unknown",
3543
3559
  "center",
3544
3560
  "center_of_component_on_board_surface",
3545
3561
  "bottom_center_of_component"
3546
3562
  ]).optional(),
3547
- model_object_fit: z158.enum(["contain_within_bounds", "fill_bounds"]).optional().default("contain_within_bounds"),
3548
- model_jscad: z158.any().optional(),
3549
- show_as_translucent_model: z158.boolean().optional(),
3550
- show_as_bounding_box: z158.boolean().optional(),
3551
- 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")
3552
3568
  }).describe("Defines a component on the PCB");
3553
3569
  expectTypesMatch(true);
3554
3570
 
3555
3571
  // src/simulation/simulation_voltage_source.ts
3556
- import { z as z159 } from "zod";
3557
- var wave_shape = z159.enum(["sinewave", "square", "triangle", "sawtooth"]);
3558
- 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) => {
3559
3575
  if (typeof val === "string") {
3560
3576
  if (val.endsWith("%")) {
3561
3577
  return parseFloat(val.slice(0, -1)) / 100;
@@ -3564,30 +3580,30 @@ var percentage = z159.union([z159.string(), z159.number()]).transform((val) => {
3564
3580
  }
3565
3581
  return val;
3566
3582
  }).pipe(
3567
- 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%")
3568
3584
  );
3569
- var simulation_dc_voltage_source = z159.object({
3570
- type: z159.literal("simulation_voltage_source"),
3585
+ var simulation_dc_voltage_source = z160.object({
3586
+ type: z160.literal("simulation_voltage_source"),
3571
3587
  simulation_voltage_source_id: getZodPrefixedIdWithDefault(
3572
3588
  "simulation_voltage_source"
3573
3589
  ),
3574
- is_dc_source: z159.literal(true).optional().default(true),
3575
- positive_source_port_id: z159.string().optional(),
3576
- negative_source_port_id: z159.string().optional(),
3577
- positive_source_net_id: z159.string().optional(),
3578
- 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(),
3579
3595
  voltage
3580
3596
  }).describe("Defines a DC voltage source for simulation");
3581
- var simulation_ac_voltage_source = z159.object({
3582
- type: z159.literal("simulation_voltage_source"),
3597
+ var simulation_ac_voltage_source = z160.object({
3598
+ type: z160.literal("simulation_voltage_source"),
3583
3599
  simulation_voltage_source_id: getZodPrefixedIdWithDefault(
3584
3600
  "simulation_voltage_source"
3585
3601
  ),
3586
- is_dc_source: z159.literal(false),
3587
- terminal1_source_port_id: z159.string().optional(),
3588
- terminal2_source_port_id: z159.string().optional(),
3589
- terminal1_source_net_id: z159.string().optional(),
3590
- 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(),
3591
3607
  voltage: voltage.optional(),
3592
3608
  frequency: frequency.optional(),
3593
3609
  peak_to_peak_voltage: voltage.optional(),
@@ -3595,14 +3611,14 @@ var simulation_ac_voltage_source = z159.object({
3595
3611
  phase: rotation.optional(),
3596
3612
  duty_cycle: percentage.optional()
3597
3613
  }).describe("Defines an AC voltage source for simulation");
3598
- 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");
3599
3615
  expectTypesMatch(true);
3600
3616
  expectTypesMatch(true);
3601
3617
  expectTypesMatch(true);
3602
3618
 
3603
3619
  // src/simulation/simulation_current_source.ts
3604
- import { z as z160 } from "zod";
3605
- 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) => {
3606
3622
  if (typeof val === "string") {
3607
3623
  if (val.endsWith("%")) {
3608
3624
  return parseFloat(val.slice(0, -1)) / 100;
@@ -3611,30 +3627,30 @@ var percentage2 = z160.union([z160.string(), z160.number()]).transform((val) =>
3611
3627
  }
3612
3628
  return val;
3613
3629
  }).pipe(
3614
- 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%")
3615
3631
  );
3616
- var simulation_dc_current_source = z160.object({
3617
- type: z160.literal("simulation_current_source"),
3632
+ var simulation_dc_current_source = z161.object({
3633
+ type: z161.literal("simulation_current_source"),
3618
3634
  simulation_current_source_id: getZodPrefixedIdWithDefault(
3619
3635
  "simulation_current_source"
3620
3636
  ),
3621
- is_dc_source: z160.literal(true).optional().default(true),
3622
- positive_source_port_id: z160.string().optional(),
3623
- negative_source_port_id: z160.string().optional(),
3624
- positive_source_net_id: z160.string().optional(),
3625
- 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(),
3626
3642
  current
3627
3643
  }).describe("Defines a DC current source for simulation");
3628
- var simulation_ac_current_source = z160.object({
3629
- type: z160.literal("simulation_current_source"),
3644
+ var simulation_ac_current_source = z161.object({
3645
+ type: z161.literal("simulation_current_source"),
3630
3646
  simulation_current_source_id: getZodPrefixedIdWithDefault(
3631
3647
  "simulation_current_source"
3632
3648
  ),
3633
- is_dc_source: z160.literal(false),
3634
- terminal1_source_port_id: z160.string().optional(),
3635
- terminal2_source_port_id: z160.string().optional(),
3636
- terminal1_source_net_id: z160.string().optional(),
3637
- 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(),
3638
3654
  current: current.optional(),
3639
3655
  frequency: frequency.optional(),
3640
3656
  peak_to_peak_current: current.optional(),
@@ -3642,25 +3658,25 @@ var simulation_ac_current_source = z160.object({
3642
3658
  phase: rotation.optional(),
3643
3659
  duty_cycle: percentage2.optional()
3644
3660
  }).describe("Defines an AC current source for simulation");
3645
- 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");
3646
3662
  expectTypesMatch(true);
3647
3663
  expectTypesMatch(true);
3648
3664
  expectTypesMatch(true);
3649
3665
 
3650
3666
  // src/simulation/simulation_experiment.ts
3651
- import { z as z161 } from "zod";
3652
- var experiment_type = z161.union([
3653
- z161.literal("spice_dc_sweep"),
3654
- z161.literal("spice_dc_operating_point"),
3655
- z161.literal("spice_transient_analysis"),
3656
- 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")
3657
3673
  ]);
3658
- var simulation_experiment = z161.object({
3659
- type: z161.literal("simulation_experiment"),
3674
+ var simulation_experiment = z162.object({
3675
+ type: z162.literal("simulation_experiment"),
3660
3676
  simulation_experiment_id: getZodPrefixedIdWithDefault(
3661
3677
  "simulation_experiment"
3662
3678
  ),
3663
- name: z161.string(),
3679
+ name: z162.string(),
3664
3680
  experiment_type,
3665
3681
  time_per_step: duration_ms.optional(),
3666
3682
  start_time_ms: ms.optional(),
@@ -3669,53 +3685,53 @@ var simulation_experiment = z161.object({
3669
3685
  expectTypesMatch(true);
3670
3686
 
3671
3687
  // src/simulation/simulation_transient_voltage_graph.ts
3672
- import { z as z162 } from "zod";
3673
- var simulation_transient_voltage_graph = z162.object({
3674
- 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"),
3675
3691
  simulation_transient_voltage_graph_id: getZodPrefixedIdWithDefault(
3676
3692
  "simulation_transient_voltage_graph"
3677
3693
  ),
3678
- simulation_experiment_id: z162.string(),
3679
- timestamps_ms: z162.array(z162.number()).optional(),
3680
- voltage_levels: z162.array(z162.number()),
3681
- source_component_id: z162.string().optional(),
3682
- 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(),
3683
3699
  time_per_step: duration_ms,
3684
3700
  start_time_ms: ms,
3685
3701
  end_time_ms: ms,
3686
- name: z162.string().optional(),
3687
- color: z162.string().optional()
3702
+ name: z163.string().optional(),
3703
+ color: z163.string().optional()
3688
3704
  }).describe("Stores voltage measurements over time for a simulation");
3689
3705
  expectTypesMatch(true);
3690
3706
 
3691
3707
  // src/simulation/simulation_switch.ts
3692
- import { z as z163 } from "zod";
3693
- var simulation_switch = z163.object({
3694
- type: z163.literal("simulation_switch"),
3708
+ import { z as z164 } from "zod";
3709
+ var simulation_switch = z164.object({
3710
+ type: z164.literal("simulation_switch"),
3695
3711
  simulation_switch_id: getZodPrefixedIdWithDefault("simulation_switch"),
3696
- source_component_id: z163.string().optional(),
3712
+ source_component_id: z164.string().optional(),
3697
3713
  closes_at: ms.optional(),
3698
3714
  opens_at: ms.optional(),
3699
- starts_closed: z163.boolean().optional(),
3715
+ starts_closed: z164.boolean().optional(),
3700
3716
  switching_frequency: frequency.optional()
3701
3717
  }).describe("Defines a switch for simulation timing control");
3702
3718
  expectTypesMatch(true);
3703
3719
 
3704
3720
  // src/simulation/simulation_voltage_probe.ts
3705
- import { z as z164 } from "zod";
3706
- var simulation_voltage_probe = z164.object({
3707
- 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"),
3708
3724
  simulation_voltage_probe_id: getZodPrefixedIdWithDefault(
3709
3725
  "simulation_voltage_probe"
3710
3726
  ),
3711
- source_component_id: z164.string().optional(),
3712
- name: z164.string().optional(),
3713
- signal_input_source_port_id: z164.string().optional(),
3714
- signal_input_source_net_id: z164.string().optional(),
3715
- reference_input_source_port_id: z164.string().optional(),
3716
- reference_input_source_net_id: z164.string().optional(),
3717
- subcircuit_id: z164.string().optional(),
3718
- 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()
3719
3735
  }).describe(
3720
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."
3721
3737
  ).superRefine((data, ctx) => {
@@ -3725,20 +3741,20 @@ var simulation_voltage_probe = z164.object({
3725
3741
  const has_nets = !!data.signal_input_source_net_id || !!data.reference_input_source_net_id;
3726
3742
  if (has_ports && has_nets) {
3727
3743
  ctx.addIssue({
3728
- code: z164.ZodIssueCode.custom,
3744
+ code: z165.ZodIssueCode.custom,
3729
3745
  message: "Cannot mix port and net connections in a differential probe."
3730
3746
  });
3731
3747
  } else if (has_ports) {
3732
3748
  if (!data.signal_input_source_port_id || !data.reference_input_source_port_id) {
3733
3749
  ctx.addIssue({
3734
- code: z164.ZodIssueCode.custom,
3750
+ code: z165.ZodIssueCode.custom,
3735
3751
  message: "Differential port probe requires both signal_input_source_port_id and reference_input_source_port_id."
3736
3752
  });
3737
3753
  }
3738
3754
  } else if (has_nets) {
3739
3755
  if (!data.signal_input_source_net_id || !data.reference_input_source_net_id) {
3740
3756
  ctx.addIssue({
3741
- code: z164.ZodIssueCode.custom,
3757
+ code: z165.ZodIssueCode.custom,
3742
3758
  message: "Differential net probe requires both signal_input_source_net_id and reference_input_source_net_id."
3743
3759
  });
3744
3760
  }
@@ -3746,7 +3762,7 @@ var simulation_voltage_probe = z164.object({
3746
3762
  } else {
3747
3763
  if (!!data.signal_input_source_port_id === !!data.signal_input_source_net_id) {
3748
3764
  ctx.addIssue({
3749
- code: z164.ZodIssueCode.custom,
3765
+ code: z165.ZodIssueCode.custom,
3750
3766
  message: "A voltage probe must have exactly one of signal_input_source_port_id or signal_input_source_net_id."
3751
3767
  });
3752
3768
  }
@@ -3755,35 +3771,35 @@ var simulation_voltage_probe = z164.object({
3755
3771
  expectTypesMatch(true);
3756
3772
 
3757
3773
  // src/simulation/simulation_unknown_experiment_error.ts
3758
- import { z as z165 } from "zod";
3774
+ import { z as z166 } from "zod";
3759
3775
  var simulation_unknown_experiment_error = base_circuit_json_error.extend({
3760
- type: z165.literal("simulation_unknown_experiment_error"),
3776
+ type: z166.literal("simulation_unknown_experiment_error"),
3761
3777
  simulation_unknown_experiment_error_id: getZodPrefixedIdWithDefault(
3762
3778
  "simulation_unknown_experiment_error"
3763
3779
  ),
3764
- error_type: z165.literal("simulation_unknown_experiment_error").default("simulation_unknown_experiment_error"),
3765
- simulation_experiment_id: z165.string().optional(),
3766
- 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()
3767
3783
  }).describe("An unknown error occurred during the simulation experiment.");
3768
3784
  expectTypesMatch(true);
3769
3785
 
3770
3786
  // src/simulation/simulation_op_amp.ts
3771
- import { z as z166 } from "zod";
3772
- var simulation_op_amp = z166.object({
3773
- 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"),
3774
3790
  simulation_op_amp_id: getZodPrefixedIdWithDefault("simulation_op_amp"),
3775
- source_component_id: z166.string().optional(),
3776
- inverting_input_source_port_id: z166.string(),
3777
- non_inverting_input_source_port_id: z166.string(),
3778
- output_source_port_id: z166.string(),
3779
- positive_supply_source_port_id: z166.string(),
3780
- 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()
3781
3797
  }).describe("Defines a simple ideal operational amplifier for simulation");
3782
3798
  expectTypesMatch(true);
3783
3799
 
3784
3800
  // src/any_circuit_element.ts
3785
- import { z as z167 } from "zod";
3786
- var any_circuit_element = z167.union([
3801
+ import { z as z168 } from "zod";
3802
+ var any_circuit_element = z168.union([
3787
3803
  source_trace,
3788
3804
  source_port,
3789
3805
  source_component_internal_connection,
@@ -3822,6 +3838,7 @@ var any_circuit_element = z167.union([
3822
3838
  source_pin_must_be_connected_error,
3823
3839
  unknown_error_finding_part,
3824
3840
  source_i2c_misconfigured_error,
3841
+ source_component_misconfigured_error,
3825
3842
  source_ambiguous_port_reference,
3826
3843
  pcb_component,
3827
3844
  pcb_hole,
@@ -4104,6 +4121,7 @@ export {
4104
4121
  source_board,
4105
4122
  source_component_base,
4106
4123
  source_component_internal_connection,
4124
+ source_component_misconfigured_error,
4107
4125
  source_component_pins_underspecified_warning,
4108
4126
  source_failed_to_create_component_error,
4109
4127
  source_group,