circuit-json 0.0.489 → 0.0.491

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