circuit-json 0.0.442 → 0.0.444

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