circuit-json 0.0.419 → 0.0.421

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
@@ -3133,16 +3133,38 @@ var pcb_connector_not_in_accessible_orientation_warning = z140.object({
3133
3133
  );
3134
3134
  expectTypesMatch(true);
3135
3135
 
3136
- // src/pcb/pcb_breakout_point.ts
3136
+ // src/pcb/supplier_footprint_mismatch_warning.ts
3137
3137
  import { z as z141 } from "zod";
3138
- var pcb_breakout_point = z141.object({
3139
- type: z141.literal("pcb_breakout_point"),
3140
- pcb_breakout_point_id: getZodPrefixedIdWithDefault("pcb_breakout_point"),
3141
- pcb_group_id: z141.string(),
3138
+ var supplier_footprint_mismatch_warning = z141.object({
3139
+ type: z141.literal("supplier_footprint_mismatch_warning"),
3140
+ supplier_footprint_mismatch_warning_id: getZodPrefixedIdWithDefault(
3141
+ "supplier_footprint_mismatch_warning"
3142
+ ),
3143
+ warning_type: z141.literal("supplier_footprint_mismatch_warning").default("supplier_footprint_mismatch_warning"),
3144
+ message: z141.string(),
3145
+ source_component_id: z141.string(),
3146
+ pcb_component_id: z141.string().optional(),
3147
+ pcb_group_id: z141.string().optional(),
3142
3148
  subcircuit_id: z141.string().optional(),
3143
- source_trace_id: z141.string().optional(),
3144
- source_port_id: z141.string().optional(),
3145
- source_net_id: z141.string().optional(),
3149
+ supplier_name: supplier_name.optional(),
3150
+ supplier_part_number: z141.string().optional(),
3151
+ supplier_footprint_url: z141.string().optional(),
3152
+ footprint_copper_intersection_over_union: z141.number()
3153
+ }).describe(
3154
+ "Warning emitted when a supplier part footprint does not match the expected footprint"
3155
+ );
3156
+ expectTypesMatch(true);
3157
+
3158
+ // src/pcb/pcb_breakout_point.ts
3159
+ import { z as z142 } from "zod";
3160
+ var pcb_breakout_point = z142.object({
3161
+ type: z142.literal("pcb_breakout_point"),
3162
+ pcb_breakout_point_id: getZodPrefixedIdWithDefault("pcb_breakout_point"),
3163
+ pcb_group_id: z142.string(),
3164
+ subcircuit_id: z142.string().optional(),
3165
+ source_trace_id: z142.string().optional(),
3166
+ source_port_id: z142.string().optional(),
3167
+ source_net_id: z142.string().optional(),
3146
3168
  x: distance,
3147
3169
  y: distance
3148
3170
  }).describe(
@@ -3151,61 +3173,61 @@ var pcb_breakout_point = z141.object({
3151
3173
  expectTypesMatch(true);
3152
3174
 
3153
3175
  // src/pcb/pcb_ground_plane.ts
3154
- import { z as z142 } from "zod";
3155
- var pcb_ground_plane = z142.object({
3156
- type: z142.literal("pcb_ground_plane"),
3176
+ import { z as z143 } from "zod";
3177
+ var pcb_ground_plane = z143.object({
3178
+ type: z143.literal("pcb_ground_plane"),
3157
3179
  pcb_ground_plane_id: getZodPrefixedIdWithDefault("pcb_ground_plane"),
3158
- source_pcb_ground_plane_id: z142.string(),
3159
- source_net_id: z142.string(),
3160
- pcb_group_id: z142.string().optional(),
3161
- subcircuit_id: z142.string().optional()
3180
+ source_pcb_ground_plane_id: z143.string(),
3181
+ source_net_id: z143.string(),
3182
+ pcb_group_id: z143.string().optional(),
3183
+ subcircuit_id: z143.string().optional()
3162
3184
  }).describe("Defines a ground plane on the PCB");
3163
3185
  expectTypesMatch(true);
3164
3186
 
3165
3187
  // src/pcb/pcb_ground_plane_region.ts
3166
- import { z as z143 } from "zod";
3167
- var pcb_ground_plane_region = z143.object({
3168
- type: z143.literal("pcb_ground_plane_region"),
3188
+ import { z as z144 } from "zod";
3189
+ var pcb_ground_plane_region = z144.object({
3190
+ type: z144.literal("pcb_ground_plane_region"),
3169
3191
  pcb_ground_plane_region_id: getZodPrefixedIdWithDefault(
3170
3192
  "pcb_ground_plane_region"
3171
3193
  ),
3172
- pcb_ground_plane_id: z143.string(),
3173
- pcb_group_id: z143.string().optional(),
3174
- subcircuit_id: z143.string().optional(),
3194
+ pcb_ground_plane_id: z144.string(),
3195
+ pcb_group_id: z144.string().optional(),
3196
+ subcircuit_id: z144.string().optional(),
3175
3197
  layer: layer_ref,
3176
- points: z143.array(point)
3198
+ points: z144.array(point)
3177
3199
  }).describe("Defines a polygon region of a ground plane");
3178
3200
  expectTypesMatch(true);
3179
3201
 
3180
3202
  // src/pcb/pcb_thermal_spoke.ts
3181
- import { z as z144 } from "zod";
3182
- var pcb_thermal_spoke = z144.object({
3183
- type: z144.literal("pcb_thermal_spoke"),
3203
+ import { z as z145 } from "zod";
3204
+ var pcb_thermal_spoke = z145.object({
3205
+ type: z145.literal("pcb_thermal_spoke"),
3184
3206
  pcb_thermal_spoke_id: getZodPrefixedIdWithDefault("pcb_thermal_spoke"),
3185
- pcb_ground_plane_id: z144.string(),
3186
- shape: z144.string(),
3187
- spoke_count: z144.number(),
3207
+ pcb_ground_plane_id: z145.string(),
3208
+ shape: z145.string(),
3209
+ spoke_count: z145.number(),
3188
3210
  spoke_thickness: distance,
3189
3211
  spoke_inner_diameter: distance,
3190
3212
  spoke_outer_diameter: distance,
3191
- pcb_plated_hole_id: z144.string().optional(),
3192
- subcircuit_id: z144.string().optional()
3213
+ pcb_plated_hole_id: z145.string().optional(),
3214
+ subcircuit_id: z145.string().optional()
3193
3215
  }).describe("Pattern for connecting a ground plane to a plated hole");
3194
3216
  expectTypesMatch(true);
3195
3217
 
3196
3218
  // src/pcb/pcb_copper_pour.ts
3197
- import { z as z145 } from "zod";
3198
- var pcb_copper_pour_base = z145.object({
3199
- type: z145.literal("pcb_copper_pour"),
3219
+ import { z as z146 } from "zod";
3220
+ var pcb_copper_pour_base = z146.object({
3221
+ type: z146.literal("pcb_copper_pour"),
3200
3222
  pcb_copper_pour_id: getZodPrefixedIdWithDefault("pcb_copper_pour"),
3201
- pcb_group_id: z145.string().optional(),
3202
- subcircuit_id: z145.string().optional(),
3223
+ pcb_group_id: z146.string().optional(),
3224
+ subcircuit_id: z146.string().optional(),
3203
3225
  layer: layer_ref,
3204
- source_net_id: z145.string().optional(),
3205
- covered_with_solder_mask: z145.boolean().optional().default(true)
3226
+ source_net_id: z146.string().optional(),
3227
+ covered_with_solder_mask: z146.boolean().optional().default(true)
3206
3228
  });
3207
3229
  var pcb_copper_pour_rect = pcb_copper_pour_base.extend({
3208
- shape: z145.literal("rect"),
3230
+ shape: z146.literal("rect"),
3209
3231
  center: point,
3210
3232
  width: length,
3211
3233
  height: length,
@@ -3213,16 +3235,16 @@ var pcb_copper_pour_rect = pcb_copper_pour_base.extend({
3213
3235
  });
3214
3236
  expectTypesMatch(true);
3215
3237
  var pcb_copper_pour_brep = pcb_copper_pour_base.extend({
3216
- shape: z145.literal("brep"),
3238
+ shape: z146.literal("brep"),
3217
3239
  brep_shape
3218
3240
  });
3219
3241
  expectTypesMatch(true);
3220
3242
  var pcb_copper_pour_polygon = pcb_copper_pour_base.extend({
3221
- shape: z145.literal("polygon"),
3222
- points: z145.array(point)
3243
+ shape: z146.literal("polygon"),
3244
+ points: z146.array(point)
3223
3245
  });
3224
3246
  expectTypesMatch(true);
3225
- var pcb_copper_pour = z145.discriminatedUnion("shape", [
3247
+ var pcb_copper_pour = z146.discriminatedUnion("shape", [
3226
3248
  pcb_copper_pour_rect,
3227
3249
  pcb_copper_pour_brep,
3228
3250
  pcb_copper_pour_polygon
@@ -3230,99 +3252,99 @@ var pcb_copper_pour = z145.discriminatedUnion("shape", [
3230
3252
  expectTypesMatch(true);
3231
3253
 
3232
3254
  // src/pcb/pcb_component_outside_board_error.ts
3233
- import { z as z146 } from "zod";
3255
+ import { z as z147 } from "zod";
3234
3256
  var pcb_component_outside_board_error = base_circuit_json_error.extend({
3235
- type: z146.literal("pcb_component_outside_board_error"),
3257
+ type: z147.literal("pcb_component_outside_board_error"),
3236
3258
  pcb_component_outside_board_error_id: getZodPrefixedIdWithDefault(
3237
3259
  "pcb_component_outside_board_error"
3238
3260
  ),
3239
- error_type: z146.literal("pcb_component_outside_board_error").default("pcb_component_outside_board_error"),
3240
- pcb_component_id: z146.string(),
3241
- pcb_board_id: z146.string(),
3261
+ error_type: z147.literal("pcb_component_outside_board_error").default("pcb_component_outside_board_error"),
3262
+ pcb_component_id: z147.string(),
3263
+ pcb_board_id: z147.string(),
3242
3264
  component_center: point,
3243
- component_bounds: z146.object({
3244
- min_x: z146.number(),
3245
- max_x: z146.number(),
3246
- min_y: z146.number(),
3247
- max_y: z146.number()
3265
+ component_bounds: z147.object({
3266
+ min_x: z147.number(),
3267
+ max_x: z147.number(),
3268
+ min_y: z147.number(),
3269
+ max_y: z147.number()
3248
3270
  }),
3249
- subcircuit_id: z146.string().optional(),
3250
- source_component_id: z146.string().optional()
3271
+ subcircuit_id: z147.string().optional(),
3272
+ source_component_id: z147.string().optional()
3251
3273
  }).describe(
3252
3274
  "Error emitted when a PCB component is placed outside the board boundaries"
3253
3275
  );
3254
3276
  expectTypesMatch(true);
3255
3277
 
3256
3278
  // src/pcb/pcb_component_not_on_board_edge_error.ts
3257
- import { z as z147 } from "zod";
3279
+ import { z as z148 } from "zod";
3258
3280
  var pcb_component_not_on_board_edge_error = base_circuit_json_error.extend({
3259
- type: z147.literal("pcb_component_not_on_board_edge_error"),
3281
+ type: z148.literal("pcb_component_not_on_board_edge_error"),
3260
3282
  pcb_component_not_on_board_edge_error_id: getZodPrefixedIdWithDefault(
3261
3283
  "pcb_component_not_on_board_edge_error"
3262
3284
  ),
3263
- error_type: z147.literal("pcb_component_not_on_board_edge_error").default("pcb_component_not_on_board_edge_error"),
3264
- pcb_component_id: z147.string(),
3265
- pcb_board_id: z147.string(),
3285
+ error_type: z148.literal("pcb_component_not_on_board_edge_error").default("pcb_component_not_on_board_edge_error"),
3286
+ pcb_component_id: z148.string(),
3287
+ pcb_board_id: z148.string(),
3266
3288
  component_center: point,
3267
- pad_to_nearest_board_edge_distance: z147.number(),
3268
- source_component_id: z147.string().optional(),
3269
- subcircuit_id: z147.string().optional()
3289
+ pad_to_nearest_board_edge_distance: z148.number(),
3290
+ source_component_id: z148.string().optional(),
3291
+ subcircuit_id: z148.string().optional()
3270
3292
  }).describe(
3271
3293
  "Error emitted when a component that must be placed on the board edge is centered away from the edge"
3272
3294
  );
3273
3295
  expectTypesMatch(true);
3274
3296
 
3275
3297
  // src/pcb/pcb_component_invalid_layer_error.ts
3276
- import { z as z148 } from "zod";
3298
+ import { z as z149 } from "zod";
3277
3299
  var pcb_component_invalid_layer_error = base_circuit_json_error.extend({
3278
- type: z148.literal("pcb_component_invalid_layer_error"),
3300
+ type: z149.literal("pcb_component_invalid_layer_error"),
3279
3301
  pcb_component_invalid_layer_error_id: getZodPrefixedIdWithDefault(
3280
3302
  "pcb_component_invalid_layer_error"
3281
3303
  ),
3282
- error_type: z148.literal("pcb_component_invalid_layer_error").default("pcb_component_invalid_layer_error"),
3283
- pcb_component_id: z148.string().optional(),
3284
- source_component_id: z148.string(),
3304
+ error_type: z149.literal("pcb_component_invalid_layer_error").default("pcb_component_invalid_layer_error"),
3305
+ pcb_component_id: z149.string().optional(),
3306
+ source_component_id: z149.string(),
3285
3307
  layer: layer_ref,
3286
- subcircuit_id: z148.string().optional()
3308
+ subcircuit_id: z149.string().optional()
3287
3309
  }).describe(
3288
3310
  "Error emitted when a component is placed on an invalid layer (components can only be on 'top' or 'bottom' layers)"
3289
3311
  );
3290
3312
  expectTypesMatch(true);
3291
3313
 
3292
3314
  // src/pcb/pcb_via_clearance_error.ts
3293
- import { z as z149 } from "zod";
3315
+ import { z as z150 } from "zod";
3294
3316
  var pcb_via_clearance_error = base_circuit_json_error.extend({
3295
- type: z149.literal("pcb_via_clearance_error"),
3317
+ type: z150.literal("pcb_via_clearance_error"),
3296
3318
  pcb_error_id: getZodPrefixedIdWithDefault("pcb_error"),
3297
- error_type: z149.literal("pcb_via_clearance_error").default("pcb_via_clearance_error"),
3298
- pcb_via_ids: z149.array(z149.string()).min(2),
3319
+ error_type: z150.literal("pcb_via_clearance_error").default("pcb_via_clearance_error"),
3320
+ pcb_via_ids: z150.array(z150.string()).min(2),
3299
3321
  minimum_clearance: distance.optional(),
3300
3322
  actual_clearance: distance.optional(),
3301
- pcb_center: z149.object({
3302
- x: z149.number().optional(),
3303
- y: z149.number().optional()
3323
+ pcb_center: z150.object({
3324
+ x: z150.number().optional(),
3325
+ y: z150.number().optional()
3304
3326
  }).optional(),
3305
- subcircuit_id: z149.string().optional()
3327
+ subcircuit_id: z150.string().optional()
3306
3328
  }).describe("Error emitted when vias are closer than the allowed clearance");
3307
3329
  expectTypesMatch(true);
3308
3330
 
3309
3331
  // src/pcb/pcb_via_trace_clearance_error.ts
3310
- import { z as z150 } from "zod";
3332
+ import { z as z151 } from "zod";
3311
3333
  var pcb_via_trace_clearance_error = base_circuit_json_error.extend({
3312
- type: z150.literal("pcb_via_trace_clearance_error"),
3334
+ type: z151.literal("pcb_via_trace_clearance_error"),
3313
3335
  pcb_via_trace_clearance_error_id: getZodPrefixedIdWithDefault(
3314
3336
  "pcb_via_trace_clearance_error"
3315
3337
  ),
3316
- error_type: z150.literal("pcb_via_trace_clearance_error").default("pcb_via_trace_clearance_error"),
3317
- pcb_via_id: z150.string(),
3318
- pcb_trace_id: z150.string(),
3338
+ error_type: z151.literal("pcb_via_trace_clearance_error").default("pcb_via_trace_clearance_error"),
3339
+ pcb_via_id: z151.string(),
3340
+ pcb_trace_id: z151.string(),
3319
3341
  minimum_clearance: distance.optional(),
3320
3342
  actual_clearance: distance.optional(),
3321
- center: z150.object({
3322
- x: z150.number().optional(),
3323
- y: z150.number().optional()
3343
+ center: z151.object({
3344
+ x: z151.number().optional(),
3345
+ y: z151.number().optional()
3324
3346
  }).optional(),
3325
- subcircuit_id: z150.string().optional()
3347
+ subcircuit_id: z151.string().optional()
3326
3348
  }).describe(
3327
3349
  "Error emitted when a via and trace are closer than the allowed clearance"
3328
3350
  );
@@ -3331,41 +3353,41 @@ expectTypesMatch(
3331
3353
  );
3332
3354
 
3333
3355
  // src/pcb/pcb_pad_pad_clearance_error.ts
3334
- import { z as z151 } from "zod";
3356
+ import { z as z152 } from "zod";
3335
3357
  var pcb_pad_pad_clearance_error = base_circuit_json_error.extend({
3336
- type: z151.literal("pcb_pad_pad_clearance_error"),
3358
+ type: z152.literal("pcb_pad_pad_clearance_error"),
3337
3359
  pcb_pad_pad_clearance_error_id: getZodPrefixedIdWithDefault(
3338
3360
  "pcb_pad_pad_clearance_error"
3339
3361
  ),
3340
- error_type: z151.literal("pcb_pad_pad_clearance_error").default("pcb_pad_pad_clearance_error"),
3341
- pcb_pad_ids: z151.array(z151.string()).min(2),
3362
+ error_type: z152.literal("pcb_pad_pad_clearance_error").default("pcb_pad_pad_clearance_error"),
3363
+ pcb_pad_ids: z152.array(z152.string()).min(2),
3342
3364
  minimum_clearance: distance.optional(),
3343
3365
  actual_clearance: distance.optional(),
3344
- center: z151.object({
3345
- x: z151.number().optional(),
3346
- y: z151.number().optional()
3366
+ center: z152.object({
3367
+ x: z152.number().optional(),
3368
+ y: z152.number().optional()
3347
3369
  }).optional(),
3348
- subcircuit_id: z151.string().optional()
3370
+ subcircuit_id: z152.string().optional()
3349
3371
  }).describe("Error emitted when pads are closer than the allowed clearance");
3350
3372
  expectTypesMatch(true);
3351
3373
 
3352
3374
  // src/pcb/pcb_pad_trace_clearance_error.ts
3353
- import { z as z152 } from "zod";
3375
+ import { z as z153 } from "zod";
3354
3376
  var pcb_pad_trace_clearance_error = base_circuit_json_error.extend({
3355
- type: z152.literal("pcb_pad_trace_clearance_error"),
3377
+ type: z153.literal("pcb_pad_trace_clearance_error"),
3356
3378
  pcb_pad_trace_clearance_error_id: getZodPrefixedIdWithDefault(
3357
3379
  "pcb_pad_trace_clearance_error"
3358
3380
  ),
3359
- error_type: z152.literal("pcb_pad_trace_clearance_error").default("pcb_pad_trace_clearance_error"),
3360
- pcb_pad_id: z152.string(),
3361
- pcb_trace_id: z152.string(),
3381
+ error_type: z153.literal("pcb_pad_trace_clearance_error").default("pcb_pad_trace_clearance_error"),
3382
+ pcb_pad_id: z153.string(),
3383
+ pcb_trace_id: z153.string(),
3362
3384
  minimum_clearance: distance.optional(),
3363
3385
  actual_clearance: distance.optional(),
3364
- center: z152.object({
3365
- x: z152.number().optional(),
3366
- y: z152.number().optional()
3386
+ center: z153.object({
3387
+ x: z153.number().optional(),
3388
+ y: z153.number().optional()
3367
3389
  }).optional(),
3368
- subcircuit_id: z152.string().optional()
3390
+ subcircuit_id: z153.string().optional()
3369
3391
  }).describe(
3370
3392
  "Error emitted when a pad and trace are closer than allowed clearance"
3371
3393
  );
@@ -3374,72 +3396,72 @@ expectTypesMatch(
3374
3396
  );
3375
3397
 
3376
3398
  // src/pcb/pcb_courtyard_rect.ts
3377
- import { z as z153 } from "zod";
3378
- var pcb_courtyard_rect = z153.object({
3379
- type: z153.literal("pcb_courtyard_rect"),
3399
+ import { z as z154 } from "zod";
3400
+ var pcb_courtyard_rect = z154.object({
3401
+ type: z154.literal("pcb_courtyard_rect"),
3380
3402
  pcb_courtyard_rect_id: getZodPrefixedIdWithDefault("pcb_courtyard_rect"),
3381
- pcb_component_id: z153.string(),
3382
- pcb_group_id: z153.string().optional(),
3383
- subcircuit_id: z153.string().optional(),
3403
+ pcb_component_id: z154.string(),
3404
+ pcb_group_id: z154.string().optional(),
3405
+ subcircuit_id: z154.string().optional(),
3384
3406
  center: point,
3385
3407
  width: length,
3386
3408
  height: length,
3387
3409
  layer: visible_layer,
3388
3410
  ccw_rotation: rotation.optional(),
3389
- color: z153.string().optional()
3411
+ color: z154.string().optional()
3390
3412
  }).describe("Defines a courtyard rectangle on the PCB");
3391
3413
  expectTypesMatch(true);
3392
3414
 
3393
3415
  // src/pcb/pcb_courtyard_outline.ts
3394
- import { z as z154 } from "zod";
3395
- var pcb_courtyard_outline = z154.object({
3396
- type: z154.literal("pcb_courtyard_outline"),
3416
+ import { z as z155 } from "zod";
3417
+ var pcb_courtyard_outline = z155.object({
3418
+ type: z155.literal("pcb_courtyard_outline"),
3397
3419
  pcb_courtyard_outline_id: getZodPrefixedIdWithDefault(
3398
3420
  "pcb_courtyard_outline"
3399
3421
  ),
3400
- pcb_component_id: z154.string(),
3401
- pcb_group_id: z154.string().optional(),
3402
- subcircuit_id: z154.string().optional(),
3422
+ pcb_component_id: z155.string(),
3423
+ pcb_group_id: z155.string().optional(),
3424
+ subcircuit_id: z155.string().optional(),
3403
3425
  layer: visible_layer,
3404
- outline: z154.array(point).min(2)
3426
+ outline: z155.array(point).min(2)
3405
3427
  }).describe("Defines a courtyard outline on the PCB");
3406
3428
  expectTypesMatch(true);
3407
3429
 
3408
3430
  // src/pcb/pcb_courtyard_polygon.ts
3409
- import { z as z155 } from "zod";
3410
- var pcb_courtyard_polygon = z155.object({
3411
- type: z155.literal("pcb_courtyard_polygon"),
3431
+ import { z as z156 } from "zod";
3432
+ var pcb_courtyard_polygon = z156.object({
3433
+ type: z156.literal("pcb_courtyard_polygon"),
3412
3434
  pcb_courtyard_polygon_id: getZodPrefixedIdWithDefault(
3413
3435
  "pcb_courtyard_polygon"
3414
3436
  ),
3415
- pcb_component_id: z155.string(),
3416
- pcb_group_id: z155.string().optional(),
3417
- subcircuit_id: z155.string().optional(),
3437
+ pcb_component_id: z156.string(),
3438
+ pcb_group_id: z156.string().optional(),
3439
+ subcircuit_id: z156.string().optional(),
3418
3440
  layer: visible_layer,
3419
- points: z155.array(point).min(3),
3420
- color: z155.string().optional()
3441
+ points: z156.array(point).min(3),
3442
+ color: z156.string().optional()
3421
3443
  }).describe("Defines a courtyard polygon on the PCB");
3422
3444
  expectTypesMatch(true);
3423
3445
 
3424
3446
  // src/pcb/pcb_courtyard_circle.ts
3425
- import { z as z156 } from "zod";
3426
- var pcb_courtyard_circle = z156.object({
3427
- type: z156.literal("pcb_courtyard_circle"),
3447
+ import { z as z157 } from "zod";
3448
+ var pcb_courtyard_circle = z157.object({
3449
+ type: z157.literal("pcb_courtyard_circle"),
3428
3450
  pcb_courtyard_circle_id: getZodPrefixedIdWithDefault(
3429
3451
  "pcb_courtyard_circle"
3430
3452
  ),
3431
- pcb_component_id: z156.string(),
3432
- pcb_group_id: z156.string().optional(),
3433
- subcircuit_id: z156.string().optional(),
3453
+ pcb_component_id: z157.string(),
3454
+ pcb_group_id: z157.string().optional(),
3455
+ subcircuit_id: z157.string().optional(),
3434
3456
  center: point,
3435
3457
  radius: length,
3436
3458
  layer: visible_layer,
3437
- color: z156.string().optional()
3459
+ color: z157.string().optional()
3438
3460
  }).describe("Defines a courtyard circle on the PCB");
3439
3461
  expectTypesMatch(true);
3440
3462
 
3441
3463
  // src/cad/cad_component.ts
3442
- import { z as z157 } from "zod";
3464
+ import { z as z158 } from "zod";
3443
3465
 
3444
3466
  // src/cad/cad_model_conventions.ts
3445
3467
  var cad_model_formats = [
@@ -3470,48 +3492,48 @@ var cadModelDefaultDirectionMap = {
3470
3492
  };
3471
3493
 
3472
3494
  // src/cad/cad_component.ts
3473
- var cad_component = z157.object({
3474
- type: z157.literal("cad_component"),
3475
- cad_component_id: z157.string(),
3476
- pcb_component_id: z157.string(),
3477
- source_component_id: z157.string(),
3495
+ var cad_component = z158.object({
3496
+ type: z158.literal("cad_component"),
3497
+ cad_component_id: z158.string(),
3498
+ pcb_component_id: z158.string(),
3499
+ source_component_id: z158.string(),
3478
3500
  position: point3,
3479
3501
  rotation: point3.optional(),
3480
3502
  size: point3.optional(),
3481
3503
  layer: layer_ref.optional(),
3482
- subcircuit_id: z157.string().optional(),
3504
+ subcircuit_id: z158.string().optional(),
3483
3505
  // These are all ways to generate/load the 3d model
3484
- footprinter_string: z157.string().optional(),
3485
- model_obj_url: z157.string().optional(),
3486
- model_stl_url: z157.string().optional(),
3487
- model_3mf_url: z157.string().optional(),
3488
- model_gltf_url: z157.string().optional(),
3489
- model_glb_url: z157.string().optional(),
3490
- model_step_url: z157.string().optional(),
3491
- model_wrl_url: z157.string().optional(),
3506
+ footprinter_string: z158.string().optional(),
3507
+ model_obj_url: z158.string().optional(),
3508
+ model_stl_url: z158.string().optional(),
3509
+ model_3mf_url: z158.string().optional(),
3510
+ model_gltf_url: z158.string().optional(),
3511
+ model_glb_url: z158.string().optional(),
3512
+ model_step_url: z158.string().optional(),
3513
+ model_wrl_url: z158.string().optional(),
3492
3514
  model_asset: asset.optional(),
3493
- model_unit_to_mm_scale_factor: z157.number().optional(),
3494
- model_board_normal_direction: z157.enum(cad_model_axis_directions).optional().describe(
3515
+ model_unit_to_mm_scale_factor: z158.number().optional(),
3516
+ model_board_normal_direction: z158.enum(cad_model_axis_directions).optional().describe(
3495
3517
  `The direction in the model's coordinate space that is considered "up" or "coming out of the board surface"`
3496
3518
  ),
3497
3519
  model_origin_position: point3.optional(),
3498
- model_origin_alignment: z157.enum([
3520
+ model_origin_alignment: z158.enum([
3499
3521
  "unknown",
3500
3522
  "center",
3501
3523
  "center_of_component_on_board_surface",
3502
3524
  "bottom_center_of_component"
3503
3525
  ]).optional(),
3504
- model_object_fit: z157.enum(["contain_within_bounds", "fill_bounds"]).optional().default("contain_within_bounds"),
3505
- model_jscad: z157.any().optional(),
3506
- show_as_translucent_model: z157.boolean().optional(),
3507
- anchor_alignment: z157.enum(["center", "center_of_component_on_board_surface"]).optional().default("center")
3526
+ model_object_fit: z158.enum(["contain_within_bounds", "fill_bounds"]).optional().default("contain_within_bounds"),
3527
+ model_jscad: z158.any().optional(),
3528
+ show_as_translucent_model: z158.boolean().optional(),
3529
+ anchor_alignment: z158.enum(["center", "center_of_component_on_board_surface"]).optional().default("center")
3508
3530
  }).describe("Defines a component on the PCB");
3509
3531
  expectTypesMatch(true);
3510
3532
 
3511
3533
  // src/simulation/simulation_voltage_source.ts
3512
- import { z as z158 } from "zod";
3513
- var wave_shape = z158.enum(["sinewave", "square", "triangle", "sawtooth"]);
3514
- var percentage = z158.union([z158.string(), z158.number()]).transform((val) => {
3534
+ import { z as z159 } from "zod";
3535
+ var wave_shape = z159.enum(["sinewave", "square", "triangle", "sawtooth"]);
3536
+ var percentage = z159.union([z159.string(), z159.number()]).transform((val) => {
3515
3537
  if (typeof val === "string") {
3516
3538
  if (val.endsWith("%")) {
3517
3539
  return parseFloat(val.slice(0, -1)) / 100;
@@ -3520,30 +3542,30 @@ var percentage = z158.union([z158.string(), z158.number()]).transform((val) => {
3520
3542
  }
3521
3543
  return val;
3522
3544
  }).pipe(
3523
- z158.number().min(0, "Duty cycle must be non-negative").max(1, "Duty cycle cannot be greater than 100%")
3545
+ z159.number().min(0, "Duty cycle must be non-negative").max(1, "Duty cycle cannot be greater than 100%")
3524
3546
  );
3525
- var simulation_dc_voltage_source = z158.object({
3526
- type: z158.literal("simulation_voltage_source"),
3547
+ var simulation_dc_voltage_source = z159.object({
3548
+ type: z159.literal("simulation_voltage_source"),
3527
3549
  simulation_voltage_source_id: getZodPrefixedIdWithDefault(
3528
3550
  "simulation_voltage_source"
3529
3551
  ),
3530
- is_dc_source: z158.literal(true).optional().default(true),
3531
- positive_source_port_id: z158.string().optional(),
3532
- negative_source_port_id: z158.string().optional(),
3533
- positive_source_net_id: z158.string().optional(),
3534
- negative_source_net_id: z158.string().optional(),
3552
+ is_dc_source: z159.literal(true).optional().default(true),
3553
+ positive_source_port_id: z159.string().optional(),
3554
+ negative_source_port_id: z159.string().optional(),
3555
+ positive_source_net_id: z159.string().optional(),
3556
+ negative_source_net_id: z159.string().optional(),
3535
3557
  voltage
3536
3558
  }).describe("Defines a DC voltage source for simulation");
3537
- var simulation_ac_voltage_source = z158.object({
3538
- type: z158.literal("simulation_voltage_source"),
3559
+ var simulation_ac_voltage_source = z159.object({
3560
+ type: z159.literal("simulation_voltage_source"),
3539
3561
  simulation_voltage_source_id: getZodPrefixedIdWithDefault(
3540
3562
  "simulation_voltage_source"
3541
3563
  ),
3542
- is_dc_source: z158.literal(false),
3543
- terminal1_source_port_id: z158.string().optional(),
3544
- terminal2_source_port_id: z158.string().optional(),
3545
- terminal1_source_net_id: z158.string().optional(),
3546
- terminal2_source_net_id: z158.string().optional(),
3564
+ is_dc_source: z159.literal(false),
3565
+ terminal1_source_port_id: z159.string().optional(),
3566
+ terminal2_source_port_id: z159.string().optional(),
3567
+ terminal1_source_net_id: z159.string().optional(),
3568
+ terminal2_source_net_id: z159.string().optional(),
3547
3569
  voltage: voltage.optional(),
3548
3570
  frequency: frequency.optional(),
3549
3571
  peak_to_peak_voltage: voltage.optional(),
@@ -3551,14 +3573,14 @@ var simulation_ac_voltage_source = z158.object({
3551
3573
  phase: rotation.optional(),
3552
3574
  duty_cycle: percentage.optional()
3553
3575
  }).describe("Defines an AC voltage source for simulation");
3554
- var simulation_voltage_source = z158.union([simulation_dc_voltage_source, simulation_ac_voltage_source]).describe("Defines a voltage source for simulation");
3576
+ var simulation_voltage_source = z159.union([simulation_dc_voltage_source, simulation_ac_voltage_source]).describe("Defines a voltage source for simulation");
3555
3577
  expectTypesMatch(true);
3556
3578
  expectTypesMatch(true);
3557
3579
  expectTypesMatch(true);
3558
3580
 
3559
3581
  // src/simulation/simulation_current_source.ts
3560
- import { z as z159 } from "zod";
3561
- var percentage2 = z159.union([z159.string(), z159.number()]).transform((val) => {
3582
+ import { z as z160 } from "zod";
3583
+ var percentage2 = z160.union([z160.string(), z160.number()]).transform((val) => {
3562
3584
  if (typeof val === "string") {
3563
3585
  if (val.endsWith("%")) {
3564
3586
  return parseFloat(val.slice(0, -1)) / 100;
@@ -3567,30 +3589,30 @@ var percentage2 = z159.union([z159.string(), z159.number()]).transform((val) =>
3567
3589
  }
3568
3590
  return val;
3569
3591
  }).pipe(
3570
- z159.number().min(0, "Duty cycle must be non-negative").max(1, "Duty cycle cannot be greater than 100%")
3592
+ z160.number().min(0, "Duty cycle must be non-negative").max(1, "Duty cycle cannot be greater than 100%")
3571
3593
  );
3572
- var simulation_dc_current_source = z159.object({
3573
- type: z159.literal("simulation_current_source"),
3594
+ var simulation_dc_current_source = z160.object({
3595
+ type: z160.literal("simulation_current_source"),
3574
3596
  simulation_current_source_id: getZodPrefixedIdWithDefault(
3575
3597
  "simulation_current_source"
3576
3598
  ),
3577
- is_dc_source: z159.literal(true).optional().default(true),
3578
- positive_source_port_id: z159.string().optional(),
3579
- negative_source_port_id: z159.string().optional(),
3580
- positive_source_net_id: z159.string().optional(),
3581
- negative_source_net_id: z159.string().optional(),
3599
+ is_dc_source: z160.literal(true).optional().default(true),
3600
+ positive_source_port_id: z160.string().optional(),
3601
+ negative_source_port_id: z160.string().optional(),
3602
+ positive_source_net_id: z160.string().optional(),
3603
+ negative_source_net_id: z160.string().optional(),
3582
3604
  current
3583
3605
  }).describe("Defines a DC current source for simulation");
3584
- var simulation_ac_current_source = z159.object({
3585
- type: z159.literal("simulation_current_source"),
3606
+ var simulation_ac_current_source = z160.object({
3607
+ type: z160.literal("simulation_current_source"),
3586
3608
  simulation_current_source_id: getZodPrefixedIdWithDefault(
3587
3609
  "simulation_current_source"
3588
3610
  ),
3589
- is_dc_source: z159.literal(false),
3590
- terminal1_source_port_id: z159.string().optional(),
3591
- terminal2_source_port_id: z159.string().optional(),
3592
- terminal1_source_net_id: z159.string().optional(),
3593
- terminal2_source_net_id: z159.string().optional(),
3611
+ is_dc_source: z160.literal(false),
3612
+ terminal1_source_port_id: z160.string().optional(),
3613
+ terminal2_source_port_id: z160.string().optional(),
3614
+ terminal1_source_net_id: z160.string().optional(),
3615
+ terminal2_source_net_id: z160.string().optional(),
3594
3616
  current: current.optional(),
3595
3617
  frequency: frequency.optional(),
3596
3618
  peak_to_peak_current: current.optional(),
@@ -3598,25 +3620,25 @@ var simulation_ac_current_source = z159.object({
3598
3620
  phase: rotation.optional(),
3599
3621
  duty_cycle: percentage2.optional()
3600
3622
  }).describe("Defines an AC current source for simulation");
3601
- var simulation_current_source = z159.union([simulation_dc_current_source, simulation_ac_current_source]).describe("Defines a current source for simulation");
3623
+ var simulation_current_source = z160.union([simulation_dc_current_source, simulation_ac_current_source]).describe("Defines a current source for simulation");
3602
3624
  expectTypesMatch(true);
3603
3625
  expectTypesMatch(true);
3604
3626
  expectTypesMatch(true);
3605
3627
 
3606
3628
  // src/simulation/simulation_experiment.ts
3607
- import { z as z160 } from "zod";
3608
- var experiment_type = z160.union([
3609
- z160.literal("spice_dc_sweep"),
3610
- z160.literal("spice_dc_operating_point"),
3611
- z160.literal("spice_transient_analysis"),
3612
- z160.literal("spice_ac_analysis")
3629
+ import { z as z161 } from "zod";
3630
+ var experiment_type = z161.union([
3631
+ z161.literal("spice_dc_sweep"),
3632
+ z161.literal("spice_dc_operating_point"),
3633
+ z161.literal("spice_transient_analysis"),
3634
+ z161.literal("spice_ac_analysis")
3613
3635
  ]);
3614
- var simulation_experiment = z160.object({
3615
- type: z160.literal("simulation_experiment"),
3636
+ var simulation_experiment = z161.object({
3637
+ type: z161.literal("simulation_experiment"),
3616
3638
  simulation_experiment_id: getZodPrefixedIdWithDefault(
3617
3639
  "simulation_experiment"
3618
3640
  ),
3619
- name: z160.string(),
3641
+ name: z161.string(),
3620
3642
  experiment_type,
3621
3643
  time_per_step: duration_ms.optional(),
3622
3644
  start_time_ms: ms.optional(),
@@ -3625,53 +3647,53 @@ var simulation_experiment = z160.object({
3625
3647
  expectTypesMatch(true);
3626
3648
 
3627
3649
  // src/simulation/simulation_transient_voltage_graph.ts
3628
- import { z as z161 } from "zod";
3629
- var simulation_transient_voltage_graph = z161.object({
3630
- type: z161.literal("simulation_transient_voltage_graph"),
3650
+ import { z as z162 } from "zod";
3651
+ var simulation_transient_voltage_graph = z162.object({
3652
+ type: z162.literal("simulation_transient_voltage_graph"),
3631
3653
  simulation_transient_voltage_graph_id: getZodPrefixedIdWithDefault(
3632
3654
  "simulation_transient_voltage_graph"
3633
3655
  ),
3634
- simulation_experiment_id: z161.string(),
3635
- timestamps_ms: z161.array(z161.number()).optional(),
3636
- voltage_levels: z161.array(z161.number()),
3637
- source_component_id: z161.string().optional(),
3638
- subcircuit_connectivity_map_key: z161.string().optional(),
3656
+ simulation_experiment_id: z162.string(),
3657
+ timestamps_ms: z162.array(z162.number()).optional(),
3658
+ voltage_levels: z162.array(z162.number()),
3659
+ source_component_id: z162.string().optional(),
3660
+ subcircuit_connectivity_map_key: z162.string().optional(),
3639
3661
  time_per_step: duration_ms,
3640
3662
  start_time_ms: ms,
3641
3663
  end_time_ms: ms,
3642
- name: z161.string().optional(),
3643
- color: z161.string().optional()
3664
+ name: z162.string().optional(),
3665
+ color: z162.string().optional()
3644
3666
  }).describe("Stores voltage measurements over time for a simulation");
3645
3667
  expectTypesMatch(true);
3646
3668
 
3647
3669
  // src/simulation/simulation_switch.ts
3648
- import { z as z162 } from "zod";
3649
- var simulation_switch = z162.object({
3650
- type: z162.literal("simulation_switch"),
3670
+ import { z as z163 } from "zod";
3671
+ var simulation_switch = z163.object({
3672
+ type: z163.literal("simulation_switch"),
3651
3673
  simulation_switch_id: getZodPrefixedIdWithDefault("simulation_switch"),
3652
- source_component_id: z162.string().optional(),
3674
+ source_component_id: z163.string().optional(),
3653
3675
  closes_at: ms.optional(),
3654
3676
  opens_at: ms.optional(),
3655
- starts_closed: z162.boolean().optional(),
3677
+ starts_closed: z163.boolean().optional(),
3656
3678
  switching_frequency: frequency.optional()
3657
3679
  }).describe("Defines a switch for simulation timing control");
3658
3680
  expectTypesMatch(true);
3659
3681
 
3660
3682
  // src/simulation/simulation_voltage_probe.ts
3661
- import { z as z163 } from "zod";
3662
- var simulation_voltage_probe = z163.object({
3663
- type: z163.literal("simulation_voltage_probe"),
3683
+ import { z as z164 } from "zod";
3684
+ var simulation_voltage_probe = z164.object({
3685
+ type: z164.literal("simulation_voltage_probe"),
3664
3686
  simulation_voltage_probe_id: getZodPrefixedIdWithDefault(
3665
3687
  "simulation_voltage_probe"
3666
3688
  ),
3667
- source_component_id: z163.string().optional(),
3668
- name: z163.string().optional(),
3669
- signal_input_source_port_id: z163.string().optional(),
3670
- signal_input_source_net_id: z163.string().optional(),
3671
- reference_input_source_port_id: z163.string().optional(),
3672
- reference_input_source_net_id: z163.string().optional(),
3673
- subcircuit_id: z163.string().optional(),
3674
- color: z163.string().optional()
3689
+ source_component_id: z164.string().optional(),
3690
+ name: z164.string().optional(),
3691
+ signal_input_source_port_id: z164.string().optional(),
3692
+ signal_input_source_net_id: z164.string().optional(),
3693
+ reference_input_source_port_id: z164.string().optional(),
3694
+ reference_input_source_net_id: z164.string().optional(),
3695
+ subcircuit_id: z164.string().optional(),
3696
+ color: z164.string().optional()
3675
3697
  }).describe(
3676
3698
  "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."
3677
3699
  ).superRefine((data, ctx) => {
@@ -3681,20 +3703,20 @@ var simulation_voltage_probe = z163.object({
3681
3703
  const has_nets = !!data.signal_input_source_net_id || !!data.reference_input_source_net_id;
3682
3704
  if (has_ports && has_nets) {
3683
3705
  ctx.addIssue({
3684
- code: z163.ZodIssueCode.custom,
3706
+ code: z164.ZodIssueCode.custom,
3685
3707
  message: "Cannot mix port and net connections in a differential probe."
3686
3708
  });
3687
3709
  } else if (has_ports) {
3688
3710
  if (!data.signal_input_source_port_id || !data.reference_input_source_port_id) {
3689
3711
  ctx.addIssue({
3690
- code: z163.ZodIssueCode.custom,
3712
+ code: z164.ZodIssueCode.custom,
3691
3713
  message: "Differential port probe requires both signal_input_source_port_id and reference_input_source_port_id."
3692
3714
  });
3693
3715
  }
3694
3716
  } else if (has_nets) {
3695
3717
  if (!data.signal_input_source_net_id || !data.reference_input_source_net_id) {
3696
3718
  ctx.addIssue({
3697
- code: z163.ZodIssueCode.custom,
3719
+ code: z164.ZodIssueCode.custom,
3698
3720
  message: "Differential net probe requires both signal_input_source_net_id and reference_input_source_net_id."
3699
3721
  });
3700
3722
  }
@@ -3702,7 +3724,7 @@ var simulation_voltage_probe = z163.object({
3702
3724
  } else {
3703
3725
  if (!!data.signal_input_source_port_id === !!data.signal_input_source_net_id) {
3704
3726
  ctx.addIssue({
3705
- code: z163.ZodIssueCode.custom,
3727
+ code: z164.ZodIssueCode.custom,
3706
3728
  message: "A voltage probe must have exactly one of signal_input_source_port_id or signal_input_source_net_id."
3707
3729
  });
3708
3730
  }
@@ -3711,35 +3733,35 @@ var simulation_voltage_probe = z163.object({
3711
3733
  expectTypesMatch(true);
3712
3734
 
3713
3735
  // src/simulation/simulation_unknown_experiment_error.ts
3714
- import { z as z164 } from "zod";
3736
+ import { z as z165 } from "zod";
3715
3737
  var simulation_unknown_experiment_error = base_circuit_json_error.extend({
3716
- type: z164.literal("simulation_unknown_experiment_error"),
3738
+ type: z165.literal("simulation_unknown_experiment_error"),
3717
3739
  simulation_unknown_experiment_error_id: getZodPrefixedIdWithDefault(
3718
3740
  "simulation_unknown_experiment_error"
3719
3741
  ),
3720
- error_type: z164.literal("simulation_unknown_experiment_error").default("simulation_unknown_experiment_error"),
3721
- simulation_experiment_id: z164.string().optional(),
3722
- subcircuit_id: z164.string().optional()
3742
+ error_type: z165.literal("simulation_unknown_experiment_error").default("simulation_unknown_experiment_error"),
3743
+ simulation_experiment_id: z165.string().optional(),
3744
+ subcircuit_id: z165.string().optional()
3723
3745
  }).describe("An unknown error occurred during the simulation experiment.");
3724
3746
  expectTypesMatch(true);
3725
3747
 
3726
3748
  // src/simulation/simulation_op_amp.ts
3727
- import { z as z165 } from "zod";
3728
- var simulation_op_amp = z165.object({
3729
- type: z165.literal("simulation_op_amp"),
3749
+ import { z as z166 } from "zod";
3750
+ var simulation_op_amp = z166.object({
3751
+ type: z166.literal("simulation_op_amp"),
3730
3752
  simulation_op_amp_id: getZodPrefixedIdWithDefault("simulation_op_amp"),
3731
- source_component_id: z165.string().optional(),
3732
- inverting_input_source_port_id: z165.string(),
3733
- non_inverting_input_source_port_id: z165.string(),
3734
- output_source_port_id: z165.string(),
3735
- positive_supply_source_port_id: z165.string(),
3736
- negative_supply_source_port_id: z165.string()
3753
+ source_component_id: z166.string().optional(),
3754
+ inverting_input_source_port_id: z166.string(),
3755
+ non_inverting_input_source_port_id: z166.string(),
3756
+ output_source_port_id: z166.string(),
3757
+ positive_supply_source_port_id: z166.string(),
3758
+ negative_supply_source_port_id: z166.string()
3737
3759
  }).describe("Defines a simple ideal operational amplifier for simulation");
3738
3760
  expectTypesMatch(true);
3739
3761
 
3740
3762
  // src/any_circuit_element.ts
3741
- import { z as z166 } from "zod";
3742
- var any_circuit_element = z166.union([
3763
+ import { z as z167 } from "zod";
3764
+ var any_circuit_element = z167.union([
3743
3765
  source_trace,
3744
3766
  source_port,
3745
3767
  source_component_internal_connection,
@@ -3786,6 +3808,7 @@ var any_circuit_element = z166.union([
3786
3808
  circuit_json_footprint_load_error,
3787
3809
  pcb_manual_edit_conflict_warning,
3788
3810
  pcb_connector_not_in_accessible_orientation_warning,
3811
+ supplier_footprint_mismatch_warning,
3789
3812
  pcb_plated_hole,
3790
3813
  pcb_keepout,
3791
3814
  pcb_port,
@@ -4104,6 +4127,7 @@ export {
4104
4127
  source_simple_voltage_source,
4105
4128
  source_trace,
4106
4129
  source_trace_not_connected_error,
4130
+ supplier_footprint_mismatch_warning,
4107
4131
  supplier_name,
4108
4132
  time,
4109
4133
  timestamp,