circuit-json 0.0.392 → 0.0.394

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