circuit-json 0.0.488 → 0.0.490

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
@@ -3415,92 +3415,131 @@ var pcb_autorouting_error = base_circuit_json_error.extend({
3415
3415
  }).describe("The autorouting has failed to route a portion of the board");
3416
3416
  expectTypesMatch(true);
3417
3417
 
3418
- // src/pcb/pcb_manual_edit_conflict_warning.ts
3418
+ // src/pcb/pcb_preflight_routing_error.ts
3419
3419
  import { z as z158 } from "zod";
3420
- var pcb_manual_edit_conflict_warning = z158.object({
3421
- type: z158.literal("pcb_manual_edit_conflict_warning"),
3420
+ var pcb_preflight_routing_error = base_circuit_json_error.extend({
3421
+ type: z158.literal("pcb_preflight_routing_error"),
3422
+ pcb_preflight_routing_error_id: getZodPrefixedIdWithDefault(
3423
+ "pcb_preflight_routing_error"
3424
+ ),
3425
+ error_type: z158.literal("pcb_preflight_routing_error").default("pcb_preflight_routing_error"),
3426
+ error_code: z158.string(),
3427
+ subcircuit_id: z158.string().optional(),
3428
+ pcb_group_id: z158.string().optional(),
3429
+ routing_phase_index: z158.number().int().optional(),
3430
+ phase_name: z158.string().optional(),
3431
+ source_trace_ids: z158.array(z158.string()).optional(),
3432
+ pcb_component_ids: z158.array(z158.string()).optional(),
3433
+ pcb_port_ids: z158.array(z158.string()).optional(),
3434
+ related_error_ids: z158.array(z158.string()).optional(),
3435
+ measurements: z158.record(z158.number().finite()).optional()
3436
+ });
3437
+ expectTypesMatch(true);
3438
+
3439
+ // src/pcb/pcb_manual_edit_conflict_warning.ts
3440
+ import { z as z159 } from "zod";
3441
+ var pcb_manual_edit_conflict_warning = z159.object({
3442
+ type: z159.literal("pcb_manual_edit_conflict_warning"),
3422
3443
  pcb_manual_edit_conflict_warning_id: getZodPrefixedIdWithDefault(
3423
3444
  "pcb_manual_edit_conflict_warning"
3424
3445
  ),
3425
- warning_type: z158.literal("pcb_manual_edit_conflict_warning").default("pcb_manual_edit_conflict_warning"),
3426
- message: z158.string(),
3427
- pcb_component_id: z158.string(),
3428
- pcb_group_id: z158.string().optional(),
3429
- subcircuit_id: z158.string().optional(),
3430
- source_component_id: z158.string()
3446
+ warning_type: z159.literal("pcb_manual_edit_conflict_warning").default("pcb_manual_edit_conflict_warning"),
3447
+ message: z159.string(),
3448
+ pcb_component_id: z159.string(),
3449
+ pcb_group_id: z159.string().optional(),
3450
+ subcircuit_id: z159.string().optional(),
3451
+ source_component_id: z159.string()
3431
3452
  }).describe(
3432
3453
  "Warning emitted when a component has both manual placement and explicit pcbX/pcbY coordinates"
3433
3454
  );
3434
3455
  expectTypesMatch(true);
3435
3456
 
3436
3457
  // src/pcb/pcb_connector_not_in_accessible_orientation_warning.ts
3437
- import { z as z159 } from "zod";
3438
- var connectorOrientationDirection = z159.enum(["x-", "x+", "y+", "y-"]);
3439
- var pcb_connector_not_in_accessible_orientation_warning = z159.object({
3440
- type: z159.literal("pcb_connector_not_in_accessible_orientation_warning"),
3458
+ import { z as z160 } from "zod";
3459
+ var connectorOrientationDirection = z160.enum(["x-", "x+", "y+", "y-"]);
3460
+ var pcb_connector_not_in_accessible_orientation_warning = z160.object({
3461
+ type: z160.literal("pcb_connector_not_in_accessible_orientation_warning"),
3441
3462
  pcb_connector_not_in_accessible_orientation_warning_id: getZodPrefixedIdWithDefault(
3442
3463
  "pcb_connector_not_in_accessible_orientation_warning"
3443
3464
  ),
3444
- warning_type: z159.literal("pcb_connector_not_in_accessible_orientation_warning").default("pcb_connector_not_in_accessible_orientation_warning"),
3445
- message: z159.string(),
3446
- pcb_component_id: z159.string(),
3447
- source_component_id: z159.string().optional(),
3448
- pcb_board_id: z159.string().optional(),
3465
+ warning_type: z160.literal("pcb_connector_not_in_accessible_orientation_warning").default("pcb_connector_not_in_accessible_orientation_warning"),
3466
+ message: z160.string(),
3467
+ pcb_component_id: z160.string(),
3468
+ source_component_id: z160.string().optional(),
3469
+ pcb_board_id: z160.string().optional(),
3449
3470
  facing_direction: connectorOrientationDirection,
3450
3471
  recommended_facing_direction: connectorOrientationDirection,
3451
- subcircuit_id: z159.string().optional()
3472
+ subcircuit_id: z160.string().optional()
3452
3473
  }).describe(
3453
3474
  "Warning emitted when a connector PCB component is facing inward toward the board and should be reoriented to an outward-facing direction"
3454
3475
  );
3455
3476
  expectTypesMatch(true);
3456
3477
 
3457
3478
  // src/pcb/pcb_component_missing_courtyard_warning.ts
3458
- import { z as z160 } from "zod";
3459
- var pcb_component_missing_courtyard_warning = z160.object({
3460
- type: z160.literal("pcb_component_missing_courtyard_warning"),
3479
+ import { z as z161 } from "zod";
3480
+ var pcb_component_missing_courtyard_warning = z161.object({
3481
+ type: z161.literal("pcb_component_missing_courtyard_warning"),
3461
3482
  pcb_component_missing_courtyard_warning_id: getZodPrefixedIdWithDefault(
3462
3483
  "pcb_component_missing_courtyard_warning"
3463
3484
  ),
3464
- warning_type: z160.literal("pcb_component_missing_courtyard_warning").default("pcb_component_missing_courtyard_warning"),
3465
- message: z160.string(),
3466
- pcb_component_id: z160.string(),
3467
- source_component_id: z160.string().optional(),
3468
- subcircuit_id: z160.string().optional()
3485
+ warning_type: z161.literal("pcb_component_missing_courtyard_warning").default("pcb_component_missing_courtyard_warning"),
3486
+ message: z161.string(),
3487
+ pcb_component_id: z161.string(),
3488
+ source_component_id: z161.string().optional(),
3489
+ subcircuit_id: z161.string().optional()
3469
3490
  }).describe("Warning emitted when a PCB component has no courtyard geometry");
3470
3491
  expectTypesMatch(true);
3471
3492
 
3472
3493
  // src/pcb/supplier_footprint_mismatch_warning.ts
3473
- import { z as z161 } from "zod";
3474
- var supplier_footprint_mismatch_warning = z161.object({
3475
- type: z161.literal("supplier_footprint_mismatch_warning"),
3494
+ import { z as z162 } from "zod";
3495
+ var supplier_footprint_mismatch_warning = z162.object({
3496
+ type: z162.literal("supplier_footprint_mismatch_warning"),
3476
3497
  supplier_footprint_mismatch_warning_id: getZodPrefixedIdWithDefault(
3477
3498
  "supplier_footprint_mismatch_warning"
3478
3499
  ),
3479
- warning_type: z161.literal("supplier_footprint_mismatch_warning").default("supplier_footprint_mismatch_warning"),
3480
- message: z161.string(),
3481
- source_component_id: z161.string(),
3482
- pcb_component_id: z161.string().optional(),
3483
- pcb_group_id: z161.string().optional(),
3484
- subcircuit_id: z161.string().optional(),
3500
+ warning_type: z162.literal("supplier_footprint_mismatch_warning").default("supplier_footprint_mismatch_warning"),
3501
+ message: z162.string(),
3502
+ source_component_id: z162.string(),
3503
+ pcb_component_id: z162.string().optional(),
3504
+ pcb_group_id: z162.string().optional(),
3505
+ subcircuit_id: z162.string().optional(),
3485
3506
  supplier_name: supplier_name.optional(),
3486
- supplier_part_number: z161.string().optional(),
3487
- supplier_footprint_url: z161.string().optional(),
3488
- footprint_copper_intersection_over_union: z161.number()
3507
+ supplier_part_number: z162.string().optional(),
3508
+ supplier_footprint_url: z162.string().optional(),
3509
+ footprint_copper_intersection_over_union: z162.number()
3489
3510
  }).describe(
3490
3511
  "Warning emitted when a supplier part footprint does not match the expected footprint"
3491
3512
  );
3492
3513
  expectTypesMatch(true);
3493
3514
 
3515
+ // src/pcb/pcb_fabricator_extra_charge_warning.ts
3516
+ import { z as z163 } from "zod";
3517
+ var pcb_fabricator_extra_charge_warning = z163.object({
3518
+ type: z163.literal("pcb_fabricator_extra_charge_warning"),
3519
+ pcb_fabricator_extra_charge_warning_id: getZodPrefixedIdWithDefault(
3520
+ "pcb_fabricator_extra_charge_warning"
3521
+ ),
3522
+ warning_type: z163.literal("pcb_fabricator_extra_charge_warning").default("pcb_fabricator_extra_charge_warning"),
3523
+ message: z163.string(),
3524
+ fabricator_preset: z163.string(),
3525
+ pcb_board_id: z163.string().optional(),
3526
+ pcb_via_ids: z163.array(z163.string()).optional(),
3527
+ subcircuit_id: z163.string().optional()
3528
+ }).describe(
3529
+ "Warning that a design feature incurs an extra charge for the selected fabricator preset, such as via hole diameters below 0.3 mm with JLCPCB economy or standard presets."
3530
+ );
3531
+ expectTypesMatch(true);
3532
+
3494
3533
  // src/pcb/pcb_breakout_point.ts
3495
- import { z as z162 } from "zod";
3496
- var pcb_breakout_point = z162.object({
3497
- type: z162.literal("pcb_breakout_point"),
3534
+ import { z as z164 } from "zod";
3535
+ var pcb_breakout_point = z164.object({
3536
+ type: z164.literal("pcb_breakout_point"),
3498
3537
  pcb_breakout_point_id: getZodPrefixedIdWithDefault("pcb_breakout_point"),
3499
- pcb_group_id: z162.string(),
3500
- subcircuit_id: z162.string().optional(),
3501
- source_trace_id: z162.string().optional(),
3502
- source_port_id: z162.string().optional(),
3503
- source_net_id: z162.string().optional(),
3538
+ pcb_group_id: z164.string(),
3539
+ subcircuit_id: z164.string().optional(),
3540
+ source_trace_id: z164.string().optional(),
3541
+ source_port_id: z164.string().optional(),
3542
+ source_net_id: z164.string().optional(),
3504
3543
  layer: layer_ref.optional(),
3505
3544
  x: distance,
3506
3545
  y: distance
@@ -3510,61 +3549,61 @@ var pcb_breakout_point = z162.object({
3510
3549
  expectTypesMatch(true);
3511
3550
 
3512
3551
  // src/pcb/pcb_ground_plane.ts
3513
- import { z as z163 } from "zod";
3514
- var pcb_ground_plane = z163.object({
3515
- type: z163.literal("pcb_ground_plane"),
3552
+ import { z as z165 } from "zod";
3553
+ var pcb_ground_plane = z165.object({
3554
+ type: z165.literal("pcb_ground_plane"),
3516
3555
  pcb_ground_plane_id: getZodPrefixedIdWithDefault("pcb_ground_plane"),
3517
- source_pcb_ground_plane_id: z163.string(),
3518
- source_net_id: z163.string(),
3519
- pcb_group_id: z163.string().optional(),
3520
- subcircuit_id: z163.string().optional()
3556
+ source_pcb_ground_plane_id: z165.string(),
3557
+ source_net_id: z165.string(),
3558
+ pcb_group_id: z165.string().optional(),
3559
+ subcircuit_id: z165.string().optional()
3521
3560
  }).describe("Defines a ground plane on the PCB");
3522
3561
  expectTypesMatch(true);
3523
3562
 
3524
3563
  // src/pcb/pcb_ground_plane_region.ts
3525
- import { z as z164 } from "zod";
3526
- var pcb_ground_plane_region = z164.object({
3527
- type: z164.literal("pcb_ground_plane_region"),
3564
+ import { z as z166 } from "zod";
3565
+ var pcb_ground_plane_region = z166.object({
3566
+ type: z166.literal("pcb_ground_plane_region"),
3528
3567
  pcb_ground_plane_region_id: getZodPrefixedIdWithDefault(
3529
3568
  "pcb_ground_plane_region"
3530
3569
  ),
3531
- pcb_ground_plane_id: z164.string(),
3532
- pcb_group_id: z164.string().optional(),
3533
- subcircuit_id: z164.string().optional(),
3570
+ pcb_ground_plane_id: z166.string(),
3571
+ pcb_group_id: z166.string().optional(),
3572
+ subcircuit_id: z166.string().optional(),
3534
3573
  layer: layer_ref,
3535
- points: z164.array(point)
3574
+ points: z166.array(point)
3536
3575
  }).describe("Defines a polygon region of a ground plane");
3537
3576
  expectTypesMatch(true);
3538
3577
 
3539
3578
  // src/pcb/pcb_thermal_spoke.ts
3540
- import { z as z165 } from "zod";
3541
- var pcb_thermal_spoke = z165.object({
3542
- type: z165.literal("pcb_thermal_spoke"),
3579
+ import { z as z167 } from "zod";
3580
+ var pcb_thermal_spoke = z167.object({
3581
+ type: z167.literal("pcb_thermal_spoke"),
3543
3582
  pcb_thermal_spoke_id: getZodPrefixedIdWithDefault("pcb_thermal_spoke"),
3544
- pcb_ground_plane_id: z165.string(),
3545
- shape: z165.string(),
3546
- spoke_count: z165.number(),
3583
+ pcb_ground_plane_id: z167.string(),
3584
+ shape: z167.string(),
3585
+ spoke_count: z167.number(),
3547
3586
  spoke_thickness: distance,
3548
3587
  spoke_inner_diameter: distance,
3549
3588
  spoke_outer_diameter: distance,
3550
- pcb_plated_hole_id: z165.string().optional(),
3551
- subcircuit_id: z165.string().optional()
3589
+ pcb_plated_hole_id: z167.string().optional(),
3590
+ subcircuit_id: z167.string().optional()
3552
3591
  }).describe("Pattern for connecting a ground plane to a plated hole");
3553
3592
  expectTypesMatch(true);
3554
3593
 
3555
3594
  // src/pcb/pcb_copper_pour.ts
3556
- import { z as z166 } from "zod";
3557
- var pcb_copper_pour_base = z166.object({
3558
- type: z166.literal("pcb_copper_pour"),
3595
+ import { z as z168 } from "zod";
3596
+ var pcb_copper_pour_base = z168.object({
3597
+ type: z168.literal("pcb_copper_pour"),
3559
3598
  pcb_copper_pour_id: getZodPrefixedIdWithDefault("pcb_copper_pour"),
3560
- pcb_group_id: z166.string().optional(),
3561
- subcircuit_id: z166.string().optional(),
3599
+ pcb_group_id: z168.string().optional(),
3600
+ subcircuit_id: z168.string().optional(),
3562
3601
  layer: layer_ref,
3563
- source_net_id: z166.string().optional(),
3564
- covered_with_solder_mask: z166.boolean().optional().default(true)
3602
+ source_net_id: z168.string().optional(),
3603
+ covered_with_solder_mask: z168.boolean().optional().default(true)
3565
3604
  });
3566
3605
  var pcb_copper_pour_rect = pcb_copper_pour_base.extend({
3567
- shape: z166.literal("rect"),
3606
+ shape: z168.literal("rect"),
3568
3607
  center: point,
3569
3608
  width: length,
3570
3609
  height: length,
@@ -3572,16 +3611,16 @@ var pcb_copper_pour_rect = pcb_copper_pour_base.extend({
3572
3611
  });
3573
3612
  expectTypesMatch(true);
3574
3613
  var pcb_copper_pour_brep = pcb_copper_pour_base.extend({
3575
- shape: z166.literal("brep"),
3614
+ shape: z168.literal("brep"),
3576
3615
  brep_shape
3577
3616
  });
3578
3617
  expectTypesMatch(true);
3579
3618
  var pcb_copper_pour_polygon = pcb_copper_pour_base.extend({
3580
- shape: z166.literal("polygon"),
3581
- points: z166.array(point)
3619
+ shape: z168.literal("polygon"),
3620
+ points: z168.array(point)
3582
3621
  });
3583
3622
  expectTypesMatch(true);
3584
- var pcb_copper_pour = z166.discriminatedUnion("shape", [
3623
+ var pcb_copper_pour = z168.discriminatedUnion("shape", [
3585
3624
  pcb_copper_pour_rect,
3586
3625
  pcb_copper_pour_brep,
3587
3626
  pcb_copper_pour_polygon
@@ -3589,99 +3628,99 @@ var pcb_copper_pour = z166.discriminatedUnion("shape", [
3589
3628
  expectTypesMatch(true);
3590
3629
 
3591
3630
  // src/pcb/pcb_component_outside_board_error.ts
3592
- import { z as z167 } from "zod";
3631
+ import { z as z169 } from "zod";
3593
3632
  var pcb_component_outside_board_error = base_circuit_json_error.extend({
3594
- type: z167.literal("pcb_component_outside_board_error"),
3633
+ type: z169.literal("pcb_component_outside_board_error"),
3595
3634
  pcb_component_outside_board_error_id: getZodPrefixedIdWithDefault(
3596
3635
  "pcb_component_outside_board_error"
3597
3636
  ),
3598
- error_type: z167.literal("pcb_component_outside_board_error").default("pcb_component_outside_board_error"),
3599
- pcb_component_id: z167.string(),
3600
- pcb_board_id: z167.string(),
3637
+ error_type: z169.literal("pcb_component_outside_board_error").default("pcb_component_outside_board_error"),
3638
+ pcb_component_id: z169.string(),
3639
+ pcb_board_id: z169.string(),
3601
3640
  component_center: point,
3602
- component_bounds: z167.object({
3603
- min_x: z167.number(),
3604
- max_x: z167.number(),
3605
- min_y: z167.number(),
3606
- max_y: z167.number()
3641
+ component_bounds: z169.object({
3642
+ min_x: z169.number(),
3643
+ max_x: z169.number(),
3644
+ min_y: z169.number(),
3645
+ max_y: z169.number()
3607
3646
  }),
3608
- subcircuit_id: z167.string().optional(),
3609
- source_component_id: z167.string().optional()
3647
+ subcircuit_id: z169.string().optional(),
3648
+ source_component_id: z169.string().optional()
3610
3649
  }).describe(
3611
3650
  "Error emitted when a PCB component is placed outside the board boundaries"
3612
3651
  );
3613
3652
  expectTypesMatch(true);
3614
3653
 
3615
3654
  // src/pcb/pcb_component_not_on_board_edge_error.ts
3616
- import { z as z168 } from "zod";
3655
+ import { z as z170 } from "zod";
3617
3656
  var pcb_component_not_on_board_edge_error = base_circuit_json_error.extend({
3618
- type: z168.literal("pcb_component_not_on_board_edge_error"),
3657
+ type: z170.literal("pcb_component_not_on_board_edge_error"),
3619
3658
  pcb_component_not_on_board_edge_error_id: getZodPrefixedIdWithDefault(
3620
3659
  "pcb_component_not_on_board_edge_error"
3621
3660
  ),
3622
- error_type: z168.literal("pcb_component_not_on_board_edge_error").default("pcb_component_not_on_board_edge_error"),
3623
- pcb_component_id: z168.string(),
3624
- pcb_board_id: z168.string(),
3661
+ error_type: z170.literal("pcb_component_not_on_board_edge_error").default("pcb_component_not_on_board_edge_error"),
3662
+ pcb_component_id: z170.string(),
3663
+ pcb_board_id: z170.string(),
3625
3664
  component_center: point,
3626
- pad_to_nearest_board_edge_distance: z168.number(),
3627
- source_component_id: z168.string().optional(),
3628
- subcircuit_id: z168.string().optional()
3665
+ pad_to_nearest_board_edge_distance: z170.number(),
3666
+ source_component_id: z170.string().optional(),
3667
+ subcircuit_id: z170.string().optional()
3629
3668
  }).describe(
3630
3669
  "Error emitted when a component that must be placed on the board edge is centered away from the edge"
3631
3670
  );
3632
3671
  expectTypesMatch(true);
3633
3672
 
3634
3673
  // src/pcb/pcb_component_invalid_layer_error.ts
3635
- import { z as z169 } from "zod";
3674
+ import { z as z171 } from "zod";
3636
3675
  var pcb_component_invalid_layer_error = base_circuit_json_error.extend({
3637
- type: z169.literal("pcb_component_invalid_layer_error"),
3676
+ type: z171.literal("pcb_component_invalid_layer_error"),
3638
3677
  pcb_component_invalid_layer_error_id: getZodPrefixedIdWithDefault(
3639
3678
  "pcb_component_invalid_layer_error"
3640
3679
  ),
3641
- error_type: z169.literal("pcb_component_invalid_layer_error").default("pcb_component_invalid_layer_error"),
3642
- pcb_component_id: z169.string().optional(),
3643
- source_component_id: z169.string(),
3680
+ error_type: z171.literal("pcb_component_invalid_layer_error").default("pcb_component_invalid_layer_error"),
3681
+ pcb_component_id: z171.string().optional(),
3682
+ source_component_id: z171.string(),
3644
3683
  layer: layer_ref,
3645
- subcircuit_id: z169.string().optional()
3684
+ subcircuit_id: z171.string().optional()
3646
3685
  }).describe(
3647
3686
  "Error emitted when a component is placed on an invalid layer (components can only be on 'top' or 'bottom' layers)"
3648
3687
  );
3649
3688
  expectTypesMatch(true);
3650
3689
 
3651
3690
  // src/pcb/pcb_via_clearance_error.ts
3652
- import { z as z170 } from "zod";
3691
+ import { z as z172 } from "zod";
3653
3692
  var pcb_via_clearance_error = base_circuit_json_error.extend({
3654
- type: z170.literal("pcb_via_clearance_error"),
3693
+ type: z172.literal("pcb_via_clearance_error"),
3655
3694
  pcb_error_id: getZodPrefixedIdWithDefault("pcb_error"),
3656
- error_type: z170.literal("pcb_via_clearance_error").default("pcb_via_clearance_error"),
3657
- pcb_via_ids: z170.array(z170.string()).min(2),
3695
+ error_type: z172.literal("pcb_via_clearance_error").default("pcb_via_clearance_error"),
3696
+ pcb_via_ids: z172.array(z172.string()).min(2),
3658
3697
  minimum_clearance: distance.optional(),
3659
3698
  actual_clearance: distance.optional(),
3660
- pcb_center: z170.object({
3661
- x: z170.number().optional(),
3662
- y: z170.number().optional()
3699
+ pcb_center: z172.object({
3700
+ x: z172.number().optional(),
3701
+ y: z172.number().optional()
3663
3702
  }).optional(),
3664
- subcircuit_id: z170.string().optional()
3703
+ subcircuit_id: z172.string().optional()
3665
3704
  }).describe("Error emitted when vias are closer than the allowed clearance");
3666
3705
  expectTypesMatch(true);
3667
3706
 
3668
3707
  // src/pcb/pcb_via_trace_clearance_error.ts
3669
- import { z as z171 } from "zod";
3708
+ import { z as z173 } from "zod";
3670
3709
  var pcb_via_trace_clearance_error = base_circuit_json_error.extend({
3671
- type: z171.literal("pcb_via_trace_clearance_error"),
3710
+ type: z173.literal("pcb_via_trace_clearance_error"),
3672
3711
  pcb_via_trace_clearance_error_id: getZodPrefixedIdWithDefault(
3673
3712
  "pcb_via_trace_clearance_error"
3674
3713
  ),
3675
- error_type: z171.literal("pcb_via_trace_clearance_error").default("pcb_via_trace_clearance_error"),
3676
- pcb_via_id: z171.string(),
3677
- pcb_trace_id: z171.string(),
3714
+ error_type: z173.literal("pcb_via_trace_clearance_error").default("pcb_via_trace_clearance_error"),
3715
+ pcb_via_id: z173.string(),
3716
+ pcb_trace_id: z173.string(),
3678
3717
  minimum_clearance: distance.optional(),
3679
3718
  actual_clearance: distance.optional(),
3680
- center: z171.object({
3681
- x: z171.number().optional(),
3682
- y: z171.number().optional()
3719
+ center: z173.object({
3720
+ x: z173.number().optional(),
3721
+ y: z173.number().optional()
3683
3722
  }).optional(),
3684
- subcircuit_id: z171.string().optional()
3723
+ subcircuit_id: z173.string().optional()
3685
3724
  }).describe(
3686
3725
  "Error emitted when a via and trace are closer than the allowed clearance"
3687
3726
  );
@@ -3690,41 +3729,41 @@ expectTypesMatch(
3690
3729
  );
3691
3730
 
3692
3731
  // src/pcb/pcb_pad_pad_clearance_error.ts
3693
- import { z as z172 } from "zod";
3732
+ import { z as z174 } from "zod";
3694
3733
  var pcb_pad_pad_clearance_error = base_circuit_json_error.extend({
3695
- type: z172.literal("pcb_pad_pad_clearance_error"),
3734
+ type: z174.literal("pcb_pad_pad_clearance_error"),
3696
3735
  pcb_pad_pad_clearance_error_id: getZodPrefixedIdWithDefault(
3697
3736
  "pcb_pad_pad_clearance_error"
3698
3737
  ),
3699
- error_type: z172.literal("pcb_pad_pad_clearance_error").default("pcb_pad_pad_clearance_error"),
3700
- pcb_pad_ids: z172.array(z172.string()).min(2),
3738
+ error_type: z174.literal("pcb_pad_pad_clearance_error").default("pcb_pad_pad_clearance_error"),
3739
+ pcb_pad_ids: z174.array(z174.string()).min(2),
3701
3740
  minimum_clearance: distance.optional(),
3702
3741
  actual_clearance: distance.optional(),
3703
- center: z172.object({
3704
- x: z172.number().optional(),
3705
- y: z172.number().optional()
3742
+ center: z174.object({
3743
+ x: z174.number().optional(),
3744
+ y: z174.number().optional()
3706
3745
  }).optional(),
3707
- subcircuit_id: z172.string().optional()
3746
+ subcircuit_id: z174.string().optional()
3708
3747
  }).describe("Error emitted when pads are closer than the allowed clearance");
3709
3748
  expectTypesMatch(true);
3710
3749
 
3711
3750
  // src/pcb/pcb_pad_trace_clearance_error.ts
3712
- import { z as z173 } from "zod";
3751
+ import { z as z175 } from "zod";
3713
3752
  var pcb_pad_trace_clearance_error = base_circuit_json_error.extend({
3714
- type: z173.literal("pcb_pad_trace_clearance_error"),
3753
+ type: z175.literal("pcb_pad_trace_clearance_error"),
3715
3754
  pcb_pad_trace_clearance_error_id: getZodPrefixedIdWithDefault(
3716
3755
  "pcb_pad_trace_clearance_error"
3717
3756
  ),
3718
- error_type: z173.literal("pcb_pad_trace_clearance_error").default("pcb_pad_trace_clearance_error"),
3719
- pcb_pad_id: z173.string(),
3720
- pcb_trace_id: z173.string(),
3757
+ error_type: z175.literal("pcb_pad_trace_clearance_error").default("pcb_pad_trace_clearance_error"),
3758
+ pcb_pad_id: z175.string(),
3759
+ pcb_trace_id: z175.string(),
3721
3760
  minimum_clearance: distance.optional(),
3722
3761
  actual_clearance: distance.optional(),
3723
- center: z173.object({
3724
- x: z173.number().optional(),
3725
- y: z173.number().optional()
3762
+ center: z175.object({
3763
+ x: z175.number().optional(),
3764
+ y: z175.number().optional()
3726
3765
  }).optional(),
3727
- subcircuit_id: z173.string().optional()
3766
+ subcircuit_id: z175.string().optional()
3728
3767
  }).describe(
3729
3768
  "Error emitted when a pad and trace are closer than allowed clearance"
3730
3769
  );
@@ -3733,89 +3772,89 @@ expectTypesMatch(
3733
3772
  );
3734
3773
 
3735
3774
  // src/pcb/pcb_courtyard_rect.ts
3736
- import { z as z174 } from "zod";
3737
- var pcb_courtyard_rect = z174.object({
3738
- type: z174.literal("pcb_courtyard_rect"),
3775
+ import { z as z176 } from "zod";
3776
+ var pcb_courtyard_rect = z176.object({
3777
+ type: z176.literal("pcb_courtyard_rect"),
3739
3778
  pcb_courtyard_rect_id: getZodPrefixedIdWithDefault("pcb_courtyard_rect"),
3740
- pcb_component_id: z174.string(),
3741
- pcb_group_id: z174.string().optional(),
3742
- subcircuit_id: z174.string().optional(),
3779
+ pcb_component_id: z176.string(),
3780
+ pcb_group_id: z176.string().optional(),
3781
+ subcircuit_id: z176.string().optional(),
3743
3782
  center: point,
3744
3783
  width: length,
3745
3784
  height: length,
3746
3785
  layer: visible_layer,
3747
3786
  ccw_rotation: rotation.optional(),
3748
- color: z174.string().optional()
3787
+ color: z176.string().optional()
3749
3788
  }).describe("Defines a courtyard rectangle on the PCB");
3750
3789
  expectTypesMatch(true);
3751
3790
 
3752
3791
  // src/pcb/pcb_courtyard_outline.ts
3753
- import { z as z175 } from "zod";
3754
- var pcb_courtyard_outline = z175.object({
3755
- type: z175.literal("pcb_courtyard_outline"),
3792
+ import { z as z177 } from "zod";
3793
+ var pcb_courtyard_outline = z177.object({
3794
+ type: z177.literal("pcb_courtyard_outline"),
3756
3795
  pcb_courtyard_outline_id: getZodPrefixedIdWithDefault(
3757
3796
  "pcb_courtyard_outline"
3758
3797
  ),
3759
- pcb_component_id: z175.string(),
3760
- pcb_group_id: z175.string().optional(),
3761
- subcircuit_id: z175.string().optional(),
3798
+ pcb_component_id: z177.string(),
3799
+ pcb_group_id: z177.string().optional(),
3800
+ subcircuit_id: z177.string().optional(),
3762
3801
  layer: visible_layer,
3763
- outline: z175.array(point).min(2)
3802
+ outline: z177.array(point).min(2)
3764
3803
  }).describe("Defines a courtyard outline on the PCB");
3765
3804
  expectTypesMatch(true);
3766
3805
 
3767
3806
  // src/pcb/pcb_courtyard_polygon.ts
3768
- import { z as z176 } from "zod";
3769
- var pcb_courtyard_polygon = z176.object({
3770
- type: z176.literal("pcb_courtyard_polygon"),
3807
+ import { z as z178 } from "zod";
3808
+ var pcb_courtyard_polygon = z178.object({
3809
+ type: z178.literal("pcb_courtyard_polygon"),
3771
3810
  pcb_courtyard_polygon_id: getZodPrefixedIdWithDefault(
3772
3811
  "pcb_courtyard_polygon"
3773
3812
  ),
3774
- pcb_component_id: z176.string(),
3775
- pcb_group_id: z176.string().optional(),
3776
- subcircuit_id: z176.string().optional(),
3813
+ pcb_component_id: z178.string(),
3814
+ pcb_group_id: z178.string().optional(),
3815
+ subcircuit_id: z178.string().optional(),
3777
3816
  layer: visible_layer,
3778
- points: z176.array(point).min(3),
3779
- color: z176.string().optional()
3817
+ points: z178.array(point).min(3),
3818
+ color: z178.string().optional()
3780
3819
  }).describe("Defines a courtyard polygon on the PCB");
3781
3820
  expectTypesMatch(true);
3782
3821
 
3783
3822
  // src/pcb/pcb_courtyard_circle.ts
3784
- import { z as z177 } from "zod";
3785
- var pcb_courtyard_circle = z177.object({
3786
- type: z177.literal("pcb_courtyard_circle"),
3823
+ import { z as z179 } from "zod";
3824
+ var pcb_courtyard_circle = z179.object({
3825
+ type: z179.literal("pcb_courtyard_circle"),
3787
3826
  pcb_courtyard_circle_id: getZodPrefixedIdWithDefault(
3788
3827
  "pcb_courtyard_circle"
3789
3828
  ),
3790
- pcb_component_id: z177.string(),
3791
- pcb_group_id: z177.string().optional(),
3792
- subcircuit_id: z177.string().optional(),
3829
+ pcb_component_id: z179.string(),
3830
+ pcb_group_id: z179.string().optional(),
3831
+ subcircuit_id: z179.string().optional(),
3793
3832
  center: point,
3794
3833
  radius: length,
3795
3834
  layer: visible_layer,
3796
- color: z177.string().optional()
3835
+ color: z179.string().optional()
3797
3836
  }).describe("Defines a courtyard circle on the PCB");
3798
3837
  expectTypesMatch(true);
3799
3838
 
3800
3839
  // src/pcb/pcb_courtyard_pill.ts
3801
- import { z as z178 } from "zod";
3802
- var pcb_courtyard_pill = z178.object({
3803
- type: z178.literal("pcb_courtyard_pill"),
3840
+ import { z as z180 } from "zod";
3841
+ var pcb_courtyard_pill = z180.object({
3842
+ type: z180.literal("pcb_courtyard_pill"),
3804
3843
  pcb_courtyard_pill_id: getZodPrefixedIdWithDefault("pcb_courtyard_pill"),
3805
- pcb_component_id: z178.string(),
3806
- pcb_group_id: z178.string().optional(),
3807
- subcircuit_id: z178.string().optional(),
3844
+ pcb_component_id: z180.string(),
3845
+ pcb_group_id: z180.string().optional(),
3846
+ subcircuit_id: z180.string().optional(),
3808
3847
  center: point,
3809
3848
  width: length,
3810
3849
  height: length,
3811
3850
  radius: length,
3812
3851
  layer: visible_layer,
3813
- color: z178.string().optional()
3852
+ color: z180.string().optional()
3814
3853
  }).describe("Defines a courtyard pill on the PCB");
3815
3854
  expectTypesMatch(true);
3816
3855
 
3817
3856
  // src/cad/cad_component.ts
3818
- import { z as z179 } from "zod";
3857
+ import { z as z181 } from "zod";
3819
3858
 
3820
3859
  // src/cad/cad_model_conventions.ts
3821
3860
  var cad_model_formats = [
@@ -3846,50 +3885,50 @@ var cadModelDefaultDirectionMap = {
3846
3885
  };
3847
3886
 
3848
3887
  // src/cad/cad_component.ts
3849
- var cad_component = z179.object({
3850
- type: z179.literal("cad_component"),
3851
- cad_component_id: z179.string(),
3852
- pcb_component_id: z179.string(),
3853
- source_component_id: z179.string(),
3888
+ var cad_component = z181.object({
3889
+ type: z181.literal("cad_component"),
3890
+ cad_component_id: z181.string(),
3891
+ pcb_component_id: z181.string(),
3892
+ source_component_id: z181.string(),
3854
3893
  position: point3,
3855
3894
  rotation: point3.optional(),
3856
3895
  size: point3.optional(),
3857
3896
  layer: layer_ref.optional(),
3858
- subcircuit_id: z179.string().optional(),
3897
+ subcircuit_id: z181.string().optional(),
3859
3898
  // These are all ways to generate/load the 3d model
3860
- footprinter_string: z179.string().optional(),
3861
- model_obj_url: z179.string().optional(),
3862
- model_stl_url: z179.string().optional(),
3863
- model_3mf_url: z179.string().optional(),
3864
- model_gltf_url: z179.string().optional(),
3865
- model_glb_url: z179.string().optional(),
3866
- model_step_url: z179.string().optional(),
3867
- model_wrl_url: z179.string().optional(),
3899
+ footprinter_string: z181.string().optional(),
3900
+ model_obj_url: z181.string().optional(),
3901
+ model_stl_url: z181.string().optional(),
3902
+ model_3mf_url: z181.string().optional(),
3903
+ model_gltf_url: z181.string().optional(),
3904
+ model_glb_url: z181.string().optional(),
3905
+ model_step_url: z181.string().optional(),
3906
+ model_wrl_url: z181.string().optional(),
3868
3907
  model_asset: asset.optional(),
3869
- model_unit_to_mm_scale_factor: z179.number().optional(),
3870
- model_board_normal_direction: z179.enum(cad_model_axis_directions).optional().describe(
3908
+ model_unit_to_mm_scale_factor: z181.number().optional(),
3909
+ model_board_normal_direction: z181.enum(cad_model_axis_directions).optional().describe(
3871
3910
  `The direction in the model's coordinate space that is considered "up" or "coming out of the board surface"`
3872
3911
  ),
3873
3912
  model_origin_position: point3.optional(),
3874
- model_origin_alignment: z179.enum([
3913
+ model_origin_alignment: z181.enum([
3875
3914
  "unknown",
3876
3915
  "center",
3877
3916
  "center_of_component_on_board_surface",
3878
3917
  "bottom_center_of_component"
3879
3918
  ]).optional(),
3880
- model_object_fit: z179.enum(["contain_within_bounds", "fill_bounds"]).optional().default("contain_within_bounds"),
3881
- model_jscad: z179.any().optional(),
3882
- show_as_translucent_model: z179.boolean().optional(),
3883
- show_as_bounding_box: z179.boolean().optional(),
3884
- show_hidden_edges: z179.boolean().optional(),
3885
- anchor_alignment: z179.enum(["center", "center_of_component_on_board_surface"]).optional().default("center")
3919
+ model_object_fit: z181.enum(["contain_within_bounds", "fill_bounds"]).optional().default("contain_within_bounds"),
3920
+ model_jscad: z181.any().optional(),
3921
+ show_as_translucent_model: z181.boolean().optional(),
3922
+ show_as_bounding_box: z181.boolean().optional(),
3923
+ show_hidden_edges: z181.boolean().optional(),
3924
+ anchor_alignment: z181.enum(["center", "center_of_component_on_board_surface"]).optional().default("center")
3886
3925
  }).describe("Defines a component on the PCB");
3887
3926
  expectTypesMatch(true);
3888
3927
 
3889
3928
  // src/simulation/simulation_voltage_source.ts
3890
- import { z as z180 } from "zod";
3891
- var wave_shape = z180.enum(["sinewave", "square", "triangle", "sawtooth"]);
3892
- var percentage = z180.union([z180.string(), z180.number()]).transform((val) => {
3929
+ import { z as z182 } from "zod";
3930
+ var wave_shape = z182.enum(["sinewave", "square", "triangle", "sawtooth"]);
3931
+ var percentage = z182.union([z182.string(), z182.number()]).transform((val) => {
3893
3932
  if (typeof val === "string") {
3894
3933
  if (val.endsWith("%")) {
3895
3934
  return parseFloat(val.slice(0, -1)) / 100;
@@ -3898,32 +3937,32 @@ var percentage = z180.union([z180.string(), z180.number()]).transform((val) => {
3898
3937
  }
3899
3938
  return val;
3900
3939
  }).pipe(
3901
- z180.number().min(0, "Duty cycle must be non-negative").max(1, "Duty cycle cannot be greater than 100%")
3940
+ z182.number().min(0, "Duty cycle must be non-negative").max(1, "Duty cycle cannot be greater than 100%")
3902
3941
  );
3903
- var simulation_dc_voltage_source = z180.object({
3904
- type: z180.literal("simulation_voltage_source"),
3942
+ var simulation_dc_voltage_source = z182.object({
3943
+ type: z182.literal("simulation_voltage_source"),
3905
3944
  simulation_voltage_source_id: getZodPrefixedIdWithDefault(
3906
3945
  "simulation_voltage_source"
3907
3946
  ),
3908
- is_dc_source: z180.literal(true).optional().default(true),
3909
- positive_source_port_id: z180.string().optional(),
3910
- negative_source_port_id: z180.string().optional(),
3911
- positive_source_net_id: z180.string().optional(),
3912
- negative_source_net_id: z180.string().optional(),
3947
+ is_dc_source: z182.literal(true).optional().default(true),
3948
+ positive_source_port_id: z182.string().optional(),
3949
+ negative_source_port_id: z182.string().optional(),
3950
+ positive_source_net_id: z182.string().optional(),
3951
+ negative_source_net_id: z182.string().optional(),
3913
3952
  voltage,
3914
3953
  ac_magnitude: voltage.optional(),
3915
3954
  ac_phase: rotation.optional()
3916
3955
  }).describe("Defines a DC voltage source for simulation");
3917
- var simulation_ac_voltage_source = z180.object({
3918
- type: z180.literal("simulation_voltage_source"),
3956
+ var simulation_ac_voltage_source = z182.object({
3957
+ type: z182.literal("simulation_voltage_source"),
3919
3958
  simulation_voltage_source_id: getZodPrefixedIdWithDefault(
3920
3959
  "simulation_voltage_source"
3921
3960
  ),
3922
- is_dc_source: z180.literal(false),
3923
- terminal1_source_port_id: z180.string().optional(),
3924
- terminal2_source_port_id: z180.string().optional(),
3925
- terminal1_source_net_id: z180.string().optional(),
3926
- terminal2_source_net_id: z180.string().optional(),
3961
+ is_dc_source: z182.literal(false),
3962
+ terminal1_source_port_id: z182.string().optional(),
3963
+ terminal2_source_port_id: z182.string().optional(),
3964
+ terminal1_source_net_id: z182.string().optional(),
3965
+ terminal2_source_net_id: z182.string().optional(),
3927
3966
  voltage: voltage.optional(),
3928
3967
  frequency: frequency.optional(),
3929
3968
  peak_to_peak_voltage: voltage.optional(),
@@ -3938,14 +3977,14 @@ var simulation_ac_voltage_source = z180.object({
3938
3977
  ac_magnitude: voltage.optional(),
3939
3978
  ac_phase: rotation.optional()
3940
3979
  }).describe("Defines an AC voltage source for simulation");
3941
- var simulation_voltage_source = z180.union([simulation_dc_voltage_source, simulation_ac_voltage_source]).describe("Defines a voltage source for simulation");
3980
+ var simulation_voltage_source = z182.union([simulation_dc_voltage_source, simulation_ac_voltage_source]).describe("Defines a voltage source for simulation");
3942
3981
  expectTypesMatch(true);
3943
3982
  expectTypesMatch(true);
3944
3983
  expectTypesMatch(true);
3945
3984
 
3946
3985
  // src/simulation/simulation_current_source.ts
3947
- import { z as z181 } from "zod";
3948
- var percentage2 = z181.union([z181.string(), z181.number()]).transform((val) => {
3986
+ import { z as z183 } from "zod";
3987
+ var percentage2 = z183.union([z183.string(), z183.number()]).transform((val) => {
3949
3988
  if (typeof val === "string") {
3950
3989
  if (val.endsWith("%")) {
3951
3990
  return parseFloat(val.slice(0, -1)) / 100;
@@ -3954,32 +3993,32 @@ var percentage2 = z181.union([z181.string(), z181.number()]).transform((val) =>
3954
3993
  }
3955
3994
  return val;
3956
3995
  }).pipe(
3957
- z181.number().min(0, "Duty cycle must be non-negative").max(1, "Duty cycle cannot be greater than 100%")
3996
+ z183.number().min(0, "Duty cycle must be non-negative").max(1, "Duty cycle cannot be greater than 100%")
3958
3997
  );
3959
- var simulation_dc_current_source = z181.object({
3960
- type: z181.literal("simulation_current_source"),
3998
+ var simulation_dc_current_source = z183.object({
3999
+ type: z183.literal("simulation_current_source"),
3961
4000
  simulation_current_source_id: getZodPrefixedIdWithDefault(
3962
4001
  "simulation_current_source"
3963
4002
  ),
3964
- is_dc_source: z181.literal(true).optional().default(true),
3965
- positive_source_port_id: z181.string().optional(),
3966
- negative_source_port_id: z181.string().optional(),
3967
- positive_source_net_id: z181.string().optional(),
3968
- negative_source_net_id: z181.string().optional(),
4003
+ is_dc_source: z183.literal(true).optional().default(true),
4004
+ positive_source_port_id: z183.string().optional(),
4005
+ negative_source_port_id: z183.string().optional(),
4006
+ positive_source_net_id: z183.string().optional(),
4007
+ negative_source_net_id: z183.string().optional(),
3969
4008
  current,
3970
4009
  ac_magnitude: current.optional(),
3971
4010
  ac_phase: rotation.optional()
3972
4011
  }).describe("Defines a DC current source for simulation");
3973
- var simulation_ac_current_source = z181.object({
3974
- type: z181.literal("simulation_current_source"),
4012
+ var simulation_ac_current_source = z183.object({
4013
+ type: z183.literal("simulation_current_source"),
3975
4014
  simulation_current_source_id: getZodPrefixedIdWithDefault(
3976
4015
  "simulation_current_source"
3977
4016
  ),
3978
- is_dc_source: z181.literal(false),
3979
- terminal1_source_port_id: z181.string().optional(),
3980
- terminal2_source_port_id: z181.string().optional(),
3981
- terminal1_source_net_id: z181.string().optional(),
3982
- terminal2_source_net_id: z181.string().optional(),
4017
+ is_dc_source: z183.literal(false),
4018
+ terminal1_source_port_id: z183.string().optional(),
4019
+ terminal2_source_port_id: z183.string().optional(),
4020
+ terminal1_source_net_id: z183.string().optional(),
4021
+ terminal2_source_net_id: z183.string().optional(),
3983
4022
  current: current.optional(),
3984
4023
  frequency: frequency.optional(),
3985
4024
  peak_to_peak_current: current.optional(),
@@ -3989,58 +4028,58 @@ var simulation_ac_current_source = z181.object({
3989
4028
  ac_magnitude: current.optional(),
3990
4029
  ac_phase: rotation.optional()
3991
4030
  }).describe("Defines an AC current source for simulation");
3992
- var simulation_current_source = z181.union([simulation_dc_current_source, simulation_ac_current_source]).describe("Defines a current source for simulation");
4031
+ var simulation_current_source = z183.union([simulation_dc_current_source, simulation_ac_current_source]).describe("Defines a current source for simulation");
3993
4032
  expectTypesMatch(true);
3994
4033
  expectTypesMatch(true);
3995
4034
  expectTypesMatch(true);
3996
4035
 
3997
4036
  // src/simulation/simulation_experiment.ts
3998
- import { z as z183 } from "zod";
4037
+ import { z as z185 } from "zod";
3999
4038
 
4000
4039
  // src/simulation/simulation_units.ts
4001
- import { z as z182 } from "zod";
4002
- var simulation_dc_sweep_unit = z182.custom(
4040
+ import { z as z184 } from "zod";
4041
+ var simulation_dc_sweep_unit = z184.custom(
4003
4042
  (dcSweepUnit) => dcSweepUnit === "V" || dcSweepUnit === "A"
4004
4043
  );
4005
- var simulation_parameter_unit = z182.custom(
4044
+ var simulation_parameter_unit = z184.custom(
4006
4045
  (parameterUnit) => parameterUnit === "\u03A9" || parameterUnit === "F" || parameterUnit === "H" || parameterUnit === "V" || parameterUnit === "A"
4007
4046
  );
4008
4047
 
4009
4048
  // src/simulation/simulation_experiment.ts
4010
- var experiment_type = z183.union([
4011
- z183.literal("spice_dc_sweep"),
4012
- z183.literal("spice_dc_operating_point"),
4013
- z183.literal("spice_transient_analysis"),
4014
- z183.literal("spice_ac_analysis")
4049
+ var experiment_type = z185.union([
4050
+ z185.literal("spice_dc_sweep"),
4051
+ z185.literal("spice_dc_operating_point"),
4052
+ z185.literal("spice_transient_analysis"),
4053
+ z185.literal("spice_ac_analysis")
4015
4054
  ]);
4016
- var spice_simulation_options = z183.object({
4017
- method: z183.enum(["trap", "gear"]).optional(),
4018
- reltol: z183.union([z183.number(), z183.string()]).optional(),
4019
- abstol: z183.union([z183.number(), z183.string()]).optional(),
4020
- vntol: z183.union([z183.number(), z183.string()]).optional()
4055
+ var spice_simulation_options = z185.object({
4056
+ method: z185.enum(["trap", "gear"]).optional(),
4057
+ reltol: z185.union([z185.number(), z185.string()]).optional(),
4058
+ abstol: z185.union([z185.number(), z185.string()]).optional(),
4059
+ vntol: z185.union([z185.number(), z185.string()]).optional()
4021
4060
  }).describe("SPICE solver options for a simulation experiment");
4022
- var simulation_experiment = z183.object({
4023
- type: z183.literal("simulation_experiment"),
4061
+ var simulation_experiment = z185.object({
4062
+ type: z185.literal("simulation_experiment"),
4024
4063
  simulation_experiment_id: getZodPrefixedIdWithDefault(
4025
4064
  "simulation_experiment"
4026
4065
  ),
4027
- name: z183.string(),
4066
+ name: z185.string(),
4028
4067
  experiment_type,
4029
4068
  time_per_step: duration_ms.optional(),
4030
4069
  start_time_ms: ms.optional(),
4031
4070
  end_time_ms: ms.optional(),
4032
4071
  spice_options: spice_simulation_options.optional(),
4033
- dc_sweep_voltage_source_id: z183.string().optional(),
4034
- dc_sweep_current_source_id: z183.string().optional(),
4035
- dc_sweep_start: z183.number().optional(),
4036
- dc_sweep_stop: z183.number().optional(),
4037
- dc_sweep_step: z183.number().refine((dcSweepStep) => dcSweepStep !== 0).optional(),
4072
+ dc_sweep_voltage_source_id: z185.string().optional(),
4073
+ dc_sweep_current_source_id: z185.string().optional(),
4074
+ dc_sweep_start: z185.number().optional(),
4075
+ dc_sweep_stop: z185.number().optional(),
4076
+ dc_sweep_step: z185.number().refine((dcSweepStep) => dcSweepStep !== 0).optional(),
4038
4077
  dc_sweep_unit: simulation_dc_sweep_unit.optional(),
4039
- ac_sweep_type: z183.enum(["linear", "decade", "octave"]).optional(),
4040
- ac_samples_per_interval: z183.number().int().positive().optional(),
4041
- ac_sample_count: z183.number().int().positive().optional(),
4042
- ac_start_frequency_hz: z183.number().positive().optional(),
4043
- ac_stop_frequency_hz: z183.number().positive().optional()
4078
+ ac_sweep_type: z185.enum(["linear", "decade", "octave"]).optional(),
4079
+ ac_samples_per_interval: z185.number().int().positive().optional(),
4080
+ ac_sample_count: z185.number().int().positive().optional(),
4081
+ ac_start_frequency_hz: z185.number().positive().optional(),
4082
+ ac_stop_frequency_hz: z185.number().positive().optional()
4044
4083
  }).superRefine((experiment, context) => {
4045
4084
  if (experiment.experiment_type === "spice_dc_sweep") {
4046
4085
  const requiredFields = [
@@ -4052,7 +4091,7 @@ var simulation_experiment = z183.object({
4052
4091
  for (const field of requiredFields) {
4053
4092
  if (experiment[field] === void 0) {
4054
4093
  context.addIssue({
4055
- code: z183.ZodIssueCode.custom,
4094
+ code: z185.ZodIssueCode.custom,
4056
4095
  path: [field],
4057
4096
  message: `${field} is required for a DC sweep`
4058
4097
  });
@@ -4062,7 +4101,7 @@ var simulation_experiment = z183.object({
4062
4101
  const hasCurrentSource = experiment.dc_sweep_current_source_id !== void 0;
4063
4102
  if (hasVoltageSource === hasCurrentSource) {
4064
4103
  context.addIssue({
4065
- code: z183.ZodIssueCode.custom,
4104
+ code: z185.ZodIssueCode.custom,
4066
4105
  path: ["dc_sweep_voltage_source_id"],
4067
4106
  message: "Exactly one DC sweep voltage or current source ID is required"
4068
4107
  });
@@ -4071,35 +4110,35 @@ var simulation_experiment = z183.object({
4071
4110
  if (experiment.experiment_type === "spice_ac_analysis") {
4072
4111
  if (experiment.ac_sweep_type === void 0) {
4073
4112
  context.addIssue({
4074
- code: z183.ZodIssueCode.custom,
4113
+ code: z185.ZodIssueCode.custom,
4075
4114
  path: ["ac_sweep_type"],
4076
4115
  message: "ac_sweep_type is required for an AC analysis"
4077
4116
  });
4078
4117
  }
4079
4118
  if (experiment.ac_start_frequency_hz === void 0) {
4080
4119
  context.addIssue({
4081
- code: z183.ZodIssueCode.custom,
4120
+ code: z185.ZodIssueCode.custom,
4082
4121
  path: ["ac_start_frequency_hz"],
4083
4122
  message: "ac_start_frequency_hz is required for an AC analysis"
4084
4123
  });
4085
4124
  }
4086
4125
  if (experiment.ac_stop_frequency_hz === void 0) {
4087
4126
  context.addIssue({
4088
- code: z183.ZodIssueCode.custom,
4127
+ code: z185.ZodIssueCode.custom,
4089
4128
  path: ["ac_stop_frequency_hz"],
4090
4129
  message: "ac_stop_frequency_hz is required for an AC analysis"
4091
4130
  });
4092
4131
  }
4093
4132
  if (experiment.ac_sweep_type === "linear" && experiment.ac_sample_count === void 0) {
4094
4133
  context.addIssue({
4095
- code: z183.ZodIssueCode.custom,
4134
+ code: z185.ZodIssueCode.custom,
4096
4135
  path: ["ac_sample_count"],
4097
4136
  message: "ac_sample_count is required for a linear AC analysis"
4098
4137
  });
4099
4138
  }
4100
4139
  if ((experiment.ac_sweep_type === "decade" || experiment.ac_sweep_type === "octave") && experiment.ac_samples_per_interval === void 0) {
4101
4140
  context.addIssue({
4102
- code: z183.ZodIssueCode.custom,
4141
+ code: z185.ZodIssueCode.custom,
4103
4142
  path: ["ac_samples_per_interval"],
4104
4143
  message: "ac_samples_per_interval is required for decade and octave AC analyses"
4105
4144
  });
@@ -4109,87 +4148,87 @@ var simulation_experiment = z183.object({
4109
4148
  expectTypesMatch(true);
4110
4149
 
4111
4150
  // src/simulation/simulation_transient_voltage_graph.ts
4112
- import { z as z185 } from "zod";
4151
+ import { z as z187 } from "zod";
4113
4152
 
4114
4153
  // src/simulation/simulation_parameter_sweep_coordinate.ts
4115
- import { z as z184 } from "zod";
4116
- var simulation_parameter_sweep_coordinate = z184.object({
4117
- simulation_parameter_sweep_id: z184.string(),
4118
- sweep_index: z184.number().int().nonnegative(),
4119
- parameter_value: z184.number(),
4154
+ import { z as z186 } from "zod";
4155
+ var simulation_parameter_sweep_coordinate = z186.object({
4156
+ simulation_parameter_sweep_id: z186.string(),
4157
+ sweep_index: z186.number().int().nonnegative(),
4158
+ parameter_value: z186.number(),
4120
4159
  parameter_unit: simulation_parameter_unit
4121
4160
  });
4122
4161
  expectTypesMatch(true);
4123
4162
 
4124
4163
  // src/simulation/simulation_transient_voltage_graph.ts
4125
- var simulation_transient_voltage_graph = z185.object({
4126
- type: z185.literal("simulation_transient_voltage_graph"),
4164
+ var simulation_transient_voltage_graph = z187.object({
4165
+ type: z187.literal("simulation_transient_voltage_graph"),
4127
4166
  simulation_transient_voltage_graph_id: getZodPrefixedIdWithDefault(
4128
4167
  "simulation_transient_voltage_graph"
4129
4168
  ),
4130
- simulation_experiment_id: z185.string(),
4169
+ simulation_experiment_id: z187.string(),
4131
4170
  simulation_parameter_sweep_coordinate: simulation_parameter_sweep_coordinate.optional(),
4132
- timestamps_ms: z185.array(z185.number()).optional(),
4133
- voltage_levels: z185.array(z185.number()),
4134
- source_component_id: z185.string().optional(),
4135
- subcircuit_connectivity_map_key: z185.string().optional(),
4171
+ timestamps_ms: z187.array(z187.number()).optional(),
4172
+ voltage_levels: z187.array(z187.number()),
4173
+ source_component_id: z187.string().optional(),
4174
+ subcircuit_connectivity_map_key: z187.string().optional(),
4136
4175
  time_per_step: duration_ms,
4137
4176
  start_time_ms: ms,
4138
4177
  end_time_ms: ms,
4139
- name: z185.string().optional(),
4140
- color: z185.string().optional()
4178
+ name: z187.string().optional(),
4179
+ color: z187.string().optional()
4141
4180
  }).describe("Stores voltage measurements over time for a simulation");
4142
4181
  expectTypesMatch(true);
4143
4182
 
4144
4183
  // src/simulation/simulation_transient_current_graph.ts
4145
- import { z as z186 } from "zod";
4146
- var simulation_transient_current_graph = z186.object({
4147
- type: z186.literal("simulation_transient_current_graph"),
4184
+ import { z as z188 } from "zod";
4185
+ var simulation_transient_current_graph = z188.object({
4186
+ type: z188.literal("simulation_transient_current_graph"),
4148
4187
  simulation_transient_current_graph_id: getZodPrefixedIdWithDefault(
4149
4188
  "simulation_transient_current_graph"
4150
4189
  ),
4151
- simulation_experiment_id: z186.string(),
4190
+ simulation_experiment_id: z188.string(),
4152
4191
  simulation_parameter_sweep_coordinate: simulation_parameter_sweep_coordinate.optional(),
4153
- timestamps_ms: z186.array(z186.number()).optional(),
4154
- current_levels: z186.array(z186.number()),
4155
- source_component_id: z186.string().optional(),
4156
- subcircuit_connectivity_map_key: z186.string().optional(),
4192
+ timestamps_ms: z188.array(z188.number()).optional(),
4193
+ current_levels: z188.array(z188.number()),
4194
+ source_component_id: z188.string().optional(),
4195
+ subcircuit_connectivity_map_key: z188.string().optional(),
4157
4196
  time_per_step: duration_ms,
4158
4197
  start_time_ms: ms,
4159
4198
  end_time_ms: ms,
4160
- name: z186.string().optional(),
4161
- color: z186.string().optional()
4199
+ name: z188.string().optional(),
4200
+ color: z188.string().optional()
4162
4201
  }).describe("Stores current measurements over time for a simulation");
4163
4202
  expectTypesMatch(true);
4164
4203
 
4165
4204
  // src/simulation/simulation_switch.ts
4166
- import { z as z187 } from "zod";
4167
- var simulation_switch = z187.object({
4168
- type: z187.literal("simulation_switch"),
4205
+ import { z as z189 } from "zod";
4206
+ var simulation_switch = z189.object({
4207
+ type: z189.literal("simulation_switch"),
4169
4208
  simulation_switch_id: getZodPrefixedIdWithDefault("simulation_switch"),
4170
- source_component_id: z187.string().optional(),
4209
+ source_component_id: z189.string().optional(),
4171
4210
  closes_at: ms.optional(),
4172
4211
  opens_at: ms.optional(),
4173
- starts_closed: z187.boolean().optional(),
4212
+ starts_closed: z189.boolean().optional(),
4174
4213
  switching_frequency: frequency.optional()
4175
4214
  }).describe("Defines a switch for simulation timing control");
4176
4215
  expectTypesMatch(true);
4177
4216
 
4178
4217
  // src/simulation/simulation_voltage_probe.ts
4179
- import { z as z188 } from "zod";
4180
- var simulation_voltage_probe = z188.object({
4181
- type: z188.literal("simulation_voltage_probe"),
4218
+ import { z as z190 } from "zod";
4219
+ var simulation_voltage_probe = z190.object({
4220
+ type: z190.literal("simulation_voltage_probe"),
4182
4221
  simulation_voltage_probe_id: getZodPrefixedIdWithDefault(
4183
4222
  "simulation_voltage_probe"
4184
4223
  ),
4185
- source_component_id: z188.string().optional(),
4186
- name: z188.string().optional(),
4187
- signal_input_source_port_id: z188.string().optional(),
4188
- signal_input_source_net_id: z188.string().optional(),
4189
- reference_input_source_port_id: z188.string().optional(),
4190
- reference_input_source_net_id: z188.string().optional(),
4191
- subcircuit_id: z188.string().optional(),
4192
- color: z188.string().optional()
4224
+ source_component_id: z190.string().optional(),
4225
+ name: z190.string().optional(),
4226
+ signal_input_source_port_id: z190.string().optional(),
4227
+ signal_input_source_net_id: z190.string().optional(),
4228
+ reference_input_source_port_id: z190.string().optional(),
4229
+ reference_input_source_net_id: z190.string().optional(),
4230
+ subcircuit_id: z190.string().optional(),
4231
+ color: z190.string().optional()
4193
4232
  }).describe(
4194
4233
  "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."
4195
4234
  ).superRefine((data, ctx) => {
@@ -4199,20 +4238,20 @@ var simulation_voltage_probe = z188.object({
4199
4238
  const has_nets = !!data.signal_input_source_net_id || !!data.reference_input_source_net_id;
4200
4239
  if (has_ports && has_nets) {
4201
4240
  ctx.addIssue({
4202
- code: z188.ZodIssueCode.custom,
4241
+ code: z190.ZodIssueCode.custom,
4203
4242
  message: "Cannot mix port and net connections in a differential probe."
4204
4243
  });
4205
4244
  } else if (has_ports) {
4206
4245
  if (!data.signal_input_source_port_id || !data.reference_input_source_port_id) {
4207
4246
  ctx.addIssue({
4208
- code: z188.ZodIssueCode.custom,
4247
+ code: z190.ZodIssueCode.custom,
4209
4248
  message: "Differential port probe requires both signal_input_source_port_id and reference_input_source_port_id."
4210
4249
  });
4211
4250
  }
4212
4251
  } else if (has_nets) {
4213
4252
  if (!data.signal_input_source_net_id || !data.reference_input_source_net_id) {
4214
4253
  ctx.addIssue({
4215
- code: z188.ZodIssueCode.custom,
4254
+ code: z190.ZodIssueCode.custom,
4216
4255
  message: "Differential net probe requires both signal_input_source_net_id and reference_input_source_net_id."
4217
4256
  });
4218
4257
  }
@@ -4220,7 +4259,7 @@ var simulation_voltage_probe = z188.object({
4220
4259
  } else {
4221
4260
  if (!!data.signal_input_source_port_id === !!data.signal_input_source_net_id) {
4222
4261
  ctx.addIssue({
4223
- code: z188.ZodIssueCode.custom,
4262
+ code: z190.ZodIssueCode.custom,
4224
4263
  message: "A voltage probe must have exactly one of signal_input_source_port_id or signal_input_source_net_id."
4225
4264
  });
4226
4265
  }
@@ -4229,20 +4268,20 @@ var simulation_voltage_probe = z188.object({
4229
4268
  expectTypesMatch(true);
4230
4269
 
4231
4270
  // src/simulation/simulation_current_probe.ts
4232
- import { z as z189 } from "zod";
4233
- var simulation_current_probe = z189.object({
4234
- type: z189.literal("simulation_current_probe"),
4271
+ import { z as z191 } from "zod";
4272
+ var simulation_current_probe = z191.object({
4273
+ type: z191.literal("simulation_current_probe"),
4235
4274
  simulation_current_probe_id: getZodPrefixedIdWithDefault(
4236
4275
  "simulation_current_probe"
4237
4276
  ),
4238
- source_component_id: z189.string().optional(),
4239
- name: z189.string().optional(),
4240
- positive_source_port_id: z189.string().optional(),
4241
- negative_source_port_id: z189.string().optional(),
4242
- positive_source_net_id: z189.string().optional(),
4243
- negative_source_net_id: z189.string().optional(),
4244
- subcircuit_id: z189.string().optional(),
4245
- color: z189.string().optional()
4277
+ source_component_id: z191.string().optional(),
4278
+ name: z191.string().optional(),
4279
+ positive_source_port_id: z191.string().optional(),
4280
+ negative_source_port_id: z191.string().optional(),
4281
+ positive_source_net_id: z191.string().optional(),
4282
+ negative_source_net_id: z191.string().optional(),
4283
+ subcircuit_id: z191.string().optional(),
4284
+ color: z191.string().optional()
4246
4285
  }).describe(
4247
4286
  "Defines a current probe for simulation. It measures current flowing from the positive endpoint to the negative endpoint."
4248
4287
  ).superRefine((data, ctx) => {
@@ -4254,7 +4293,7 @@ var simulation_current_probe = z189.object({
4254
4293
  const hasNets = hasPositiveNet || hasNegativeNet;
4255
4294
  if (hasPorts && hasNets) {
4256
4295
  ctx.addIssue({
4257
- code: z189.ZodIssueCode.custom,
4296
+ code: z191.ZodIssueCode.custom,
4258
4297
  message: "Cannot mix port and net connections in a current probe."
4259
4298
  });
4260
4299
  return;
@@ -4262,7 +4301,7 @@ var simulation_current_probe = z189.object({
4262
4301
  if (hasPorts) {
4263
4302
  if (!hasPositivePort || !hasNegativePort) {
4264
4303
  ctx.addIssue({
4265
- code: z189.ZodIssueCode.custom,
4304
+ code: z191.ZodIssueCode.custom,
4266
4305
  message: "Current probe using source ports requires both positive_source_port_id and negative_source_port_id."
4267
4306
  });
4268
4307
  }
@@ -4271,71 +4310,71 @@ var simulation_current_probe = z189.object({
4271
4310
  if (hasNets) {
4272
4311
  if (!hasPositiveNet || !hasNegativeNet) {
4273
4312
  ctx.addIssue({
4274
- code: z189.ZodIssueCode.custom,
4313
+ code: z191.ZodIssueCode.custom,
4275
4314
  message: "Current probe using source nets requires both positive_source_net_id and negative_source_net_id."
4276
4315
  });
4277
4316
  }
4278
4317
  return;
4279
4318
  }
4280
4319
  ctx.addIssue({
4281
- code: z189.ZodIssueCode.custom,
4320
+ code: z191.ZodIssueCode.custom,
4282
4321
  message: "A current probe must have either positive/negative source port ids or positive/negative source net ids."
4283
4322
  });
4284
4323
  });
4285
4324
  expectTypesMatch(true);
4286
4325
 
4287
4326
  // src/simulation/simulation_unknown_experiment_error.ts
4288
- import { z as z190 } from "zod";
4327
+ import { z as z192 } from "zod";
4289
4328
  var simulation_unknown_experiment_error = base_circuit_json_error.extend({
4290
- type: z190.literal("simulation_unknown_experiment_error"),
4329
+ type: z192.literal("simulation_unknown_experiment_error"),
4291
4330
  simulation_unknown_experiment_error_id: getZodPrefixedIdWithDefault(
4292
4331
  "simulation_unknown_experiment_error"
4293
4332
  ),
4294
- error_type: z190.literal("simulation_unknown_experiment_error").default("simulation_unknown_experiment_error"),
4295
- simulation_experiment_id: z190.string().optional(),
4296
- subcircuit_id: z190.string().optional()
4333
+ error_type: z192.literal("simulation_unknown_experiment_error").default("simulation_unknown_experiment_error"),
4334
+ simulation_experiment_id: z192.string().optional(),
4335
+ subcircuit_id: z192.string().optional()
4297
4336
  }).describe("An unknown error occurred during the simulation experiment.");
4298
4337
  expectTypesMatch(true);
4299
4338
 
4300
4339
  // src/simulation/simulation_parameter_sweep.ts
4301
- import { z as z191 } from "zod";
4302
- var simulation_parameter_type = z191.enum([
4340
+ import { z as z193 } from "zod";
4341
+ var simulation_parameter_type = z193.enum([
4303
4342
  "resistance",
4304
4343
  "capacitance",
4305
4344
  "inductance",
4306
4345
  "voltage",
4307
4346
  "current"
4308
4347
  ]);
4309
- var simulation_parameter_sweep_base = z191.object({
4310
- type: z191.literal("simulation_parameter_sweep"),
4348
+ var simulation_parameter_sweep_base = z193.object({
4349
+ type: z193.literal("simulation_parameter_sweep"),
4311
4350
  simulation_parameter_sweep_id: getZodPrefixedIdWithDefault(
4312
4351
  "simulation_parameter_sweep"
4313
4352
  ),
4314
- simulation_experiment_id: z191.string(),
4315
- name: z191.string().optional(),
4316
- parameter_values: z191.array(z191.number()).min(1),
4353
+ simulation_experiment_id: z193.string(),
4354
+ name: z193.string().optional(),
4355
+ parameter_values: z193.array(z193.number()).min(1),
4317
4356
  parameter_unit: simulation_parameter_unit
4318
4357
  });
4319
- var simulation_parameter_sweep = z191.discriminatedUnion("parameter_type", [
4358
+ var simulation_parameter_sweep = z193.discriminatedUnion("parameter_type", [
4320
4359
  simulation_parameter_sweep_base.extend({
4321
- parameter_type: z191.literal("resistance"),
4322
- resistor_source_component_id: z191.string()
4360
+ parameter_type: z193.literal("resistance"),
4361
+ resistor_source_component_id: z193.string()
4323
4362
  }),
4324
4363
  simulation_parameter_sweep_base.extend({
4325
- parameter_type: z191.literal("capacitance"),
4326
- capacitor_source_component_id: z191.string()
4364
+ parameter_type: z193.literal("capacitance"),
4365
+ capacitor_source_component_id: z193.string()
4327
4366
  }),
4328
4367
  simulation_parameter_sweep_base.extend({
4329
- parameter_type: z191.literal("inductance"),
4330
- inductor_source_component_id: z191.string()
4368
+ parameter_type: z193.literal("inductance"),
4369
+ inductor_source_component_id: z193.string()
4331
4370
  }),
4332
4371
  simulation_parameter_sweep_base.extend({
4333
- parameter_type: z191.literal("voltage"),
4334
- source_net_id: z191.string()
4372
+ parameter_type: z193.literal("voltage"),
4373
+ source_net_id: z193.string()
4335
4374
  }),
4336
4375
  simulation_parameter_sweep_base.extend({
4337
- parameter_type: z191.literal("current"),
4338
- current_source_component_id: z191.string()
4376
+ parameter_type: z193.literal("current"),
4377
+ current_source_component_id: z193.string()
4339
4378
  })
4340
4379
  ]).describe("Repeats a simulation experiment over component parameter values");
4341
4380
  expectTypesMatch(
@@ -4343,52 +4382,52 @@ expectTypesMatch(
4343
4382
  );
4344
4383
 
4345
4384
  // src/simulation/simulation_dc_operating_point_voltage.ts
4346
- import { z as z192 } from "zod";
4347
- var simulation_dc_operating_point_voltage = z192.object({
4348
- type: z192.literal("simulation_dc_operating_point_voltage"),
4385
+ import { z as z194 } from "zod";
4386
+ var simulation_dc_operating_point_voltage = z194.object({
4387
+ type: z194.literal("simulation_dc_operating_point_voltage"),
4349
4388
  simulation_dc_operating_point_voltage_id: getZodPrefixedIdWithDefault(
4350
4389
  "simulation_dc_operating_point_voltage"
4351
4390
  ),
4352
- simulation_experiment_id: z192.string(),
4391
+ simulation_experiment_id: z194.string(),
4353
4392
  simulation_parameter_sweep_coordinate: simulation_parameter_sweep_coordinate.optional(),
4354
- simulation_voltage_probe_id: z192.string(),
4355
- voltage: z192.number(),
4356
- name: z192.string().optional(),
4357
- color: z192.string().optional()
4393
+ simulation_voltage_probe_id: z194.string(),
4394
+ voltage: z194.number(),
4395
+ name: z194.string().optional(),
4396
+ color: z194.string().optional()
4358
4397
  });
4359
4398
  expectTypesMatch(true);
4360
4399
 
4361
4400
  // src/simulation/simulation_dc_operating_point_current.ts
4362
- import { z as z193 } from "zod";
4363
- var simulation_dc_operating_point_current = z193.object({
4364
- type: z193.literal("simulation_dc_operating_point_current"),
4401
+ import { z as z195 } from "zod";
4402
+ var simulation_dc_operating_point_current = z195.object({
4403
+ type: z195.literal("simulation_dc_operating_point_current"),
4365
4404
  simulation_dc_operating_point_current_id: getZodPrefixedIdWithDefault(
4366
4405
  "simulation_dc_operating_point_current"
4367
4406
  ),
4368
- simulation_experiment_id: z193.string(),
4407
+ simulation_experiment_id: z195.string(),
4369
4408
  simulation_parameter_sweep_coordinate: simulation_parameter_sweep_coordinate.optional(),
4370
- simulation_current_probe_id: z193.string(),
4371
- current: z193.number(),
4372
- name: z193.string().optional(),
4373
- color: z193.string().optional()
4409
+ simulation_current_probe_id: z195.string(),
4410
+ current: z195.number(),
4411
+ name: z195.string().optional(),
4412
+ color: z195.string().optional()
4374
4413
  });
4375
4414
  expectTypesMatch(true);
4376
4415
 
4377
4416
  // src/simulation/simulation_dc_sweep_voltage_graph.ts
4378
- import { z as z194 } from "zod";
4379
- var simulation_dc_sweep_voltage_graph = z194.object({
4380
- type: z194.literal("simulation_dc_sweep_voltage_graph"),
4417
+ import { z as z196 } from "zod";
4418
+ var simulation_dc_sweep_voltage_graph = z196.object({
4419
+ type: z196.literal("simulation_dc_sweep_voltage_graph"),
4381
4420
  simulation_dc_sweep_voltage_graph_id: getZodPrefixedIdWithDefault(
4382
4421
  "simulation_dc_sweep_voltage_graph"
4383
4422
  ),
4384
- simulation_experiment_id: z194.string(),
4423
+ simulation_experiment_id: z196.string(),
4385
4424
  simulation_parameter_sweep_coordinate: simulation_parameter_sweep_coordinate.optional(),
4386
- simulation_voltage_probe_id: z194.string(),
4387
- sweep_values: z194.array(z194.number()),
4425
+ simulation_voltage_probe_id: z196.string(),
4426
+ sweep_values: z196.array(z196.number()),
4388
4427
  sweep_unit: simulation_dc_sweep_unit,
4389
- voltage_levels: z194.array(z194.number()),
4390
- name: z194.string().optional(),
4391
- color: z194.string().optional()
4428
+ voltage_levels: z196.array(z196.number()),
4429
+ name: z196.string().optional(),
4430
+ color: z196.string().optional()
4392
4431
  }).refine(
4393
4432
  (graph) => graph.sweep_values.length === graph.voltage_levels.length,
4394
4433
  {
@@ -4398,20 +4437,20 @@ var simulation_dc_sweep_voltage_graph = z194.object({
4398
4437
  expectTypesMatch(true);
4399
4438
 
4400
4439
  // src/simulation/simulation_dc_sweep_current_graph.ts
4401
- import { z as z195 } from "zod";
4402
- var simulation_dc_sweep_current_graph = z195.object({
4403
- type: z195.literal("simulation_dc_sweep_current_graph"),
4440
+ import { z as z197 } from "zod";
4441
+ var simulation_dc_sweep_current_graph = z197.object({
4442
+ type: z197.literal("simulation_dc_sweep_current_graph"),
4404
4443
  simulation_dc_sweep_current_graph_id: getZodPrefixedIdWithDefault(
4405
4444
  "simulation_dc_sweep_current_graph"
4406
4445
  ),
4407
- simulation_experiment_id: z195.string(),
4446
+ simulation_experiment_id: z197.string(),
4408
4447
  simulation_parameter_sweep_coordinate: simulation_parameter_sweep_coordinate.optional(),
4409
- simulation_current_probe_id: z195.string(),
4410
- sweep_values: z195.array(z195.number()),
4448
+ simulation_current_probe_id: z197.string(),
4449
+ sweep_values: z197.array(z197.number()),
4411
4450
  sweep_unit: simulation_dc_sweep_unit,
4412
- current_levels: z195.array(z195.number()),
4413
- name: z195.string().optional(),
4414
- color: z195.string().optional()
4451
+ current_levels: z197.array(z197.number()),
4452
+ name: z197.string().optional(),
4453
+ color: z197.string().optional()
4415
4454
  }).refine(
4416
4455
  (graph) => graph.sweep_values.length === graph.current_levels.length,
4417
4456
  {
@@ -4421,29 +4460,29 @@ var simulation_dc_sweep_current_graph = z195.object({
4421
4460
  expectTypesMatch(true);
4422
4461
 
4423
4462
  // src/simulation/simulation_ac_sweep_voltage_graph.ts
4424
- import { z as z197 } from "zod";
4463
+ import { z as z199 } from "zod";
4425
4464
 
4426
4465
  // src/simulation/simulation_complex_sample.ts
4427
- import { z as z196 } from "zod";
4428
- var simulation_complex_sample = z196.object({
4429
- re: z196.number(),
4430
- im: z196.number()
4466
+ import { z as z198 } from "zod";
4467
+ var simulation_complex_sample = z198.object({
4468
+ re: z198.number(),
4469
+ im: z198.number()
4431
4470
  });
4432
4471
  expectTypesMatch(true);
4433
4472
 
4434
4473
  // src/simulation/simulation_ac_sweep_voltage_graph.ts
4435
- var simulation_ac_sweep_voltage_graph = z197.object({
4436
- type: z197.literal("simulation_ac_sweep_voltage_graph"),
4474
+ var simulation_ac_sweep_voltage_graph = z199.object({
4475
+ type: z199.literal("simulation_ac_sweep_voltage_graph"),
4437
4476
  simulation_ac_sweep_voltage_graph_id: getZodPrefixedIdWithDefault(
4438
4477
  "simulation_ac_sweep_voltage_graph"
4439
4478
  ),
4440
- simulation_experiment_id: z197.string(),
4479
+ simulation_experiment_id: z199.string(),
4441
4480
  simulation_parameter_sweep_coordinate: simulation_parameter_sweep_coordinate.optional(),
4442
- simulation_voltage_probe_id: z197.string(),
4443
- frequencies_hz: z197.array(z197.number()),
4444
- complex_voltages: z197.array(simulation_complex_sample),
4445
- name: z197.string().optional(),
4446
- color: z197.string().optional()
4481
+ simulation_voltage_probe_id: z199.string(),
4482
+ frequencies_hz: z199.array(z199.number()),
4483
+ complex_voltages: z199.array(simulation_complex_sample),
4484
+ name: z199.string().optional(),
4485
+ color: z199.string().optional()
4447
4486
  }).refine(
4448
4487
  (graph) => graph.frequencies_hz.length === graph.complex_voltages.length,
4449
4488
  {
@@ -4453,19 +4492,19 @@ var simulation_ac_sweep_voltage_graph = z197.object({
4453
4492
  expectTypesMatch(true);
4454
4493
 
4455
4494
  // src/simulation/simulation_ac_sweep_current_graph.ts
4456
- import { z as z198 } from "zod";
4457
- var simulation_ac_sweep_current_graph = z198.object({
4458
- type: z198.literal("simulation_ac_sweep_current_graph"),
4495
+ import { z as z200 } from "zod";
4496
+ var simulation_ac_sweep_current_graph = z200.object({
4497
+ type: z200.literal("simulation_ac_sweep_current_graph"),
4459
4498
  simulation_ac_sweep_current_graph_id: getZodPrefixedIdWithDefault(
4460
4499
  "simulation_ac_sweep_current_graph"
4461
4500
  ),
4462
- simulation_experiment_id: z198.string(),
4501
+ simulation_experiment_id: z200.string(),
4463
4502
  simulation_parameter_sweep_coordinate: simulation_parameter_sweep_coordinate.optional(),
4464
- simulation_current_probe_id: z198.string(),
4465
- frequencies_hz: z198.array(z198.number()),
4466
- complex_currents: z198.array(simulation_complex_sample),
4467
- name: z198.string().optional(),
4468
- color: z198.string().optional()
4503
+ simulation_current_probe_id: z200.string(),
4504
+ frequencies_hz: z200.array(z200.number()),
4505
+ complex_currents: z200.array(simulation_complex_sample),
4506
+ name: z200.string().optional(),
4507
+ color: z200.string().optional()
4469
4508
  }).refine(
4470
4509
  (graph) => graph.frequencies_hz.length === graph.complex_currents.length,
4471
4510
  {
@@ -4475,52 +4514,52 @@ var simulation_ac_sweep_current_graph = z198.object({
4475
4514
  expectTypesMatch(true);
4476
4515
 
4477
4516
  // src/simulation/simulation_op_amp.ts
4478
- import { z as z199 } from "zod";
4479
- var simulation_op_amp = z199.object({
4480
- type: z199.literal("simulation_op_amp"),
4517
+ import { z as z201 } from "zod";
4518
+ var simulation_op_amp = z201.object({
4519
+ type: z201.literal("simulation_op_amp"),
4481
4520
  simulation_op_amp_id: getZodPrefixedIdWithDefault("simulation_op_amp"),
4482
- source_component_id: z199.string().optional(),
4483
- inverting_input_source_port_id: z199.string(),
4484
- non_inverting_input_source_port_id: z199.string(),
4485
- output_source_port_id: z199.string(),
4486
- positive_supply_source_port_id: z199.string(),
4487
- negative_supply_source_port_id: z199.string()
4521
+ source_component_id: z201.string().optional(),
4522
+ inverting_input_source_port_id: z201.string(),
4523
+ non_inverting_input_source_port_id: z201.string(),
4524
+ output_source_port_id: z201.string(),
4525
+ positive_supply_source_port_id: z201.string(),
4526
+ negative_supply_source_port_id: z201.string()
4488
4527
  }).describe("Defines a simple ideal operational amplifier for simulation");
4489
4528
  expectTypesMatch(true);
4490
4529
 
4491
4530
  // src/simulation/simulation_spice_subcircuit.ts
4492
- import { z as z200 } from "zod";
4493
- var simulation_spice_subcircuit = z200.object({
4494
- type: z200.literal("simulation_spice_subcircuit"),
4531
+ import { z as z202 } from "zod";
4532
+ var simulation_spice_subcircuit = z202.object({
4533
+ type: z202.literal("simulation_spice_subcircuit"),
4495
4534
  simulation_spice_subcircuit_id: getZodPrefixedIdWithDefault(
4496
4535
  "simulation_spice_subcircuit"
4497
4536
  ),
4498
- source_component_id: z200.string(),
4499
- spice_pin_to_source_port_map: z200.record(z200.string(), z200.string()),
4500
- subcircuit_source: z200.string()
4537
+ source_component_id: z202.string(),
4538
+ spice_pin_to_source_port_map: z202.record(z202.string(), z202.string()),
4539
+ subcircuit_source: z202.string()
4501
4540
  }).describe("Defines a custom SPICE subcircuit model for simulation");
4502
4541
  expectTypesMatch(
4503
4542
  true
4504
4543
  );
4505
4544
 
4506
4545
  // src/simulation/simulation_oscilloscope_trace.ts
4507
- import { z as z201 } from "zod";
4546
+ import { z as z203 } from "zod";
4508
4547
  var hasValue = (value) => value !== void 0;
4509
- var simulation_oscilloscope_trace = z201.object({
4510
- type: z201.literal("simulation_oscilloscope_trace"),
4548
+ var simulation_oscilloscope_trace = z203.object({
4549
+ type: z203.literal("simulation_oscilloscope_trace"),
4511
4550
  simulation_oscilloscope_trace_id: getZodPrefixedIdWithDefault(
4512
4551
  "simulation_oscilloscope_trace"
4513
4552
  ),
4514
- simulation_transient_voltage_graph_id: z201.string().optional(),
4515
- simulation_transient_current_graph_id: z201.string().optional(),
4516
- simulation_voltage_probe_id: z201.string().optional(),
4517
- simulation_current_probe_id: z201.string().optional(),
4518
- display_name: z201.string().optional(),
4519
- color: z201.string().optional(),
4520
- display_center_value: z201.number().optional(),
4521
- display_center_offset_divs: z201.number().optional(),
4522
- volts_per_div: z201.number().positive().optional(),
4523
- amps_per_div: z201.number().positive().optional()
4553
+ simulation_transient_voltage_graph_id: z203.string().optional(),
4554
+ simulation_transient_current_graph_id: z203.string().optional(),
4555
+ simulation_voltage_probe_id: z203.string().optional(),
4556
+ simulation_current_probe_id: z203.string().optional(),
4557
+ display_name: z203.string().optional(),
4558
+ color: z203.string().optional(),
4559
+ display_center_value: z203.number().optional(),
4560
+ display_center_offset_divs: z203.number().optional(),
4561
+ volts_per_div: z203.number().positive().optional(),
4562
+ amps_per_div: z203.number().positive().optional()
4524
4563
  }).describe(
4525
4564
  "Defines how a simulation measurement is rendered as an oscilloscope-style trace."
4526
4565
  ).superRefine((data, ctx) => {
@@ -4534,19 +4573,19 @@ var simulation_oscilloscope_trace = z201.object({
4534
4573
  ].filter(hasValue).length;
4535
4574
  if (voltageReferences + currentReferences !== 1) {
4536
4575
  ctx.addIssue({
4537
- code: z201.ZodIssueCode.custom,
4576
+ code: z203.ZodIssueCode.custom,
4538
4577
  message: "An oscilloscope trace must reference exactly one voltage graph, current graph, voltage probe, or current probe."
4539
4578
  });
4540
4579
  }
4541
4580
  if (voltageReferences > 0 && data.amps_per_div !== void 0) {
4542
4581
  ctx.addIssue({
4543
- code: z201.ZodIssueCode.custom,
4582
+ code: z203.ZodIssueCode.custom,
4544
4583
  message: "Voltage oscilloscope traces must use volts_per_div, not amps_per_div."
4545
4584
  });
4546
4585
  }
4547
4586
  if (currentReferences > 0 && data.volts_per_div !== void 0) {
4548
4587
  ctx.addIssue({
4549
- code: z201.ZodIssueCode.custom,
4588
+ code: z203.ZodIssueCode.custom,
4550
4589
  message: "Current oscilloscope traces must use amps_per_div, not volts_per_div."
4551
4590
  });
4552
4591
  }
@@ -4554,8 +4593,8 @@ var simulation_oscilloscope_trace = z201.object({
4554
4593
  expectTypesMatch(true);
4555
4594
 
4556
4595
  // src/any_circuit_element.ts
4557
- import { z as z202 } from "zod";
4558
- var any_circuit_element = z202.union([
4596
+ import { z as z204 } from "zod";
4597
+ var any_circuit_element = z204.union([
4559
4598
  source_trace,
4560
4599
  source_port,
4561
4600
  source_component_internal_connection,
@@ -4610,6 +4649,7 @@ var any_circuit_element = z202.union([
4610
4649
  pcb_connector_not_in_accessible_orientation_warning,
4611
4650
  pcb_component_missing_courtyard_warning,
4612
4651
  supplier_footprint_mismatch_warning,
4652
+ pcb_fabricator_extra_charge_warning,
4613
4653
  pcb_plated_hole,
4614
4654
  pcb_keepout,
4615
4655
  pcb_port,
@@ -4656,6 +4696,7 @@ var any_circuit_element = z202.union([
4656
4696
  pcb_note_line,
4657
4697
  pcb_note_dimension,
4658
4698
  pcb_autorouting_error,
4699
+ pcb_preflight_routing_error,
4659
4700
  pcb_footprint_overlap_error,
4660
4701
  pcb_courtyard_overlap_error,
4661
4702
  pcb_breakout_point,
@@ -4806,6 +4847,7 @@ export {
4806
4847
  pcb_fabrication_note_path,
4807
4848
  pcb_fabrication_note_rect,
4808
4849
  pcb_fabrication_note_text,
4850
+ pcb_fabricator_extra_charge_warning,
4809
4851
  pcb_footprint_overlap_error,
4810
4852
  pcb_ground_plane,
4811
4853
  pcb_ground_plane_region,
@@ -4838,6 +4880,7 @@ export {
4838
4880
  pcb_port,
4839
4881
  pcb_port_not_connected_error,
4840
4882
  pcb_port_not_matched_error,
4883
+ pcb_preflight_routing_error,
4841
4884
  pcb_route_hint,
4842
4885
  pcb_route_hints,
4843
4886
  pcb_silkscreen_circle,