circuit-json 0.0.454 → 0.0.456

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
@@ -2204,6 +2204,22 @@ var pcb_solder_paste_rotated_rect = z105.object({
2204
2204
  pcb_component_id: z105.string().optional(),
2205
2205
  pcb_smtpad_id: z105.string().optional()
2206
2206
  });
2207
+ var pcb_solder_paste_rotated_pill = z105.object({
2208
+ type: z105.literal("pcb_solder_paste"),
2209
+ shape: z105.literal("rotated_pill"),
2210
+ pcb_solder_paste_id: getZodPrefixedIdWithDefault("pcb_solder_paste"),
2211
+ pcb_group_id: z105.string().optional(),
2212
+ subcircuit_id: z105.string().optional(),
2213
+ x: distance,
2214
+ y: distance,
2215
+ width: z105.number(),
2216
+ height: z105.number(),
2217
+ radius: z105.number(),
2218
+ ccw_rotation: rotation,
2219
+ layer: layer_ref,
2220
+ pcb_component_id: z105.string().optional(),
2221
+ pcb_smtpad_id: z105.string().optional()
2222
+ });
2207
2223
  var pcb_solder_paste_oval = z105.object({
2208
2224
  type: z105.literal("pcb_solder_paste"),
2209
2225
  shape: z105.literal("oval"),
@@ -2223,6 +2239,7 @@ var pcb_solder_paste = z105.union([
2223
2239
  pcb_solder_paste_rect,
2224
2240
  pcb_solder_paste_pill,
2225
2241
  pcb_solder_paste_rotated_rect,
2242
+ pcb_solder_paste_rotated_pill,
2226
2243
  pcb_solder_paste_oval
2227
2244
  ]).describe("Defines solderpaste on the PCB");
2228
2245
  expectTypesMatch(true);
@@ -2231,6 +2248,9 @@ expectTypesMatch(true);
2231
2248
  expectTypesMatch(
2232
2249
  true
2233
2250
  );
2251
+ expectTypesMatch(
2252
+ true
2253
+ );
2234
2254
  expectTypesMatch(true);
2235
2255
 
2236
2256
  // src/pcb/pcb_text.ts
@@ -2492,40 +2512,51 @@ var pcb_placement_error = base_circuit_json_error.extend({
2492
2512
  }).describe("Defines a placement error on the PCB");
2493
2513
  expectTypesMatch(true);
2494
2514
 
2495
- // src/pcb/pcb_panelization_placement_error.ts
2515
+ // src/pcb/pcb_packing_error.ts
2496
2516
  import { z as z119 } from "zod";
2517
+ var pcb_packing_error = base_circuit_json_error.extend({
2518
+ type: z119.literal("pcb_packing_error"),
2519
+ pcb_packing_error_id: getZodPrefixedIdWithDefault("pcb_packing_error"),
2520
+ error_type: z119.literal("pcb_packing_error").default("pcb_packing_error"),
2521
+ pcb_group_id: z119.string().optional(),
2522
+ subcircuit_id: z119.string().optional()
2523
+ }).describe("Defines a failure to pack PCB components within layout bounds");
2524
+ expectTypesMatch(true);
2525
+
2526
+ // src/pcb/pcb_panelization_placement_error.ts
2527
+ import { z as z120 } from "zod";
2497
2528
  var pcb_panelization_placement_error = base_circuit_json_error.extend({
2498
- type: z119.literal("pcb_panelization_placement_error"),
2529
+ type: z120.literal("pcb_panelization_placement_error"),
2499
2530
  pcb_panelization_placement_error_id: getZodPrefixedIdWithDefault(
2500
2531
  "pcb_panelization_placement_error"
2501
2532
  ),
2502
- error_type: z119.literal("pcb_panelization_placement_error").default("pcb_panelization_placement_error"),
2503
- pcb_panel_id: z119.string().optional(),
2504
- pcb_board_id: z119.string().optional(),
2505
- subcircuit_id: z119.string().optional()
2533
+ error_type: z120.literal("pcb_panelization_placement_error").default("pcb_panelization_placement_error"),
2534
+ pcb_panel_id: z120.string().optional(),
2535
+ pcb_board_id: z120.string().optional(),
2536
+ subcircuit_id: z120.string().optional()
2506
2537
  }).describe("Defines a panelization placement error on the PCB");
2507
2538
  expectTypesMatch(true);
2508
2539
 
2509
2540
  // src/pcb/pcb_trace_hint.ts
2510
- import { z as z120 } from "zod";
2511
- var pcb_trace_hint = z120.object({
2512
- type: z120.literal("pcb_trace_hint"),
2541
+ import { z as z121 } from "zod";
2542
+ var pcb_trace_hint = z121.object({
2543
+ type: z121.literal("pcb_trace_hint"),
2513
2544
  pcb_trace_hint_id: getZodPrefixedIdWithDefault("pcb_trace_hint"),
2514
- pcb_port_id: z120.string(),
2515
- pcb_component_id: z120.string(),
2516
- route: z120.array(route_hint_point),
2517
- subcircuit_id: z120.string().optional()
2545
+ pcb_port_id: z121.string(),
2546
+ pcb_component_id: z121.string(),
2547
+ route: z121.array(route_hint_point),
2548
+ subcircuit_id: z121.string().optional()
2518
2549
  }).describe("A hint that can be used during generation of a PCB trace");
2519
2550
  expectTypesMatch(true);
2520
2551
 
2521
2552
  // src/pcb/pcb_silkscreen_line.ts
2522
- import { z as z121 } from "zod";
2523
- var pcb_silkscreen_line = z121.object({
2524
- type: z121.literal("pcb_silkscreen_line"),
2553
+ import { z as z122 } from "zod";
2554
+ var pcb_silkscreen_line = z122.object({
2555
+ type: z122.literal("pcb_silkscreen_line"),
2525
2556
  pcb_silkscreen_line_id: getZodPrefixedIdWithDefault("pcb_silkscreen_line"),
2526
- pcb_component_id: z121.string(),
2527
- pcb_group_id: z121.string().optional(),
2528
- subcircuit_id: z121.string().optional(),
2557
+ pcb_component_id: z122.string(),
2558
+ pcb_group_id: z122.string().optional(),
2559
+ subcircuit_id: z122.string().optional(),
2529
2560
  stroke_width: distance.default("0.1mm"),
2530
2561
  x1: distance,
2531
2562
  y1: distance,
@@ -2536,32 +2567,32 @@ var pcb_silkscreen_line = z121.object({
2536
2567
  expectTypesMatch(true);
2537
2568
 
2538
2569
  // src/pcb/pcb_silkscreen_path.ts
2539
- import { z as z122 } from "zod";
2540
- var pcb_silkscreen_path = z122.object({
2541
- type: z122.literal("pcb_silkscreen_path"),
2570
+ import { z as z123 } from "zod";
2571
+ var pcb_silkscreen_path = z123.object({
2572
+ type: z123.literal("pcb_silkscreen_path"),
2542
2573
  pcb_silkscreen_path_id: getZodPrefixedIdWithDefault("pcb_silkscreen_path"),
2543
- pcb_component_id: z122.string(),
2544
- pcb_group_id: z122.string().optional(),
2545
- subcircuit_id: z122.string().optional(),
2574
+ pcb_component_id: z123.string(),
2575
+ pcb_group_id: z123.string().optional(),
2576
+ subcircuit_id: z123.string().optional(),
2546
2577
  layer: visible_layer,
2547
- route: z122.array(point),
2578
+ route: z123.array(point),
2548
2579
  stroke_width: length
2549
2580
  }).describe("Defines a silkscreen path on the PCB");
2550
2581
  expectTypesMatch(true);
2551
2582
 
2552
2583
  // src/pcb/pcb_silkscreen_text.ts
2553
- import { z as z123 } from "zod";
2554
- var pcb_silkscreen_text = z123.object({
2555
- type: z123.literal("pcb_silkscreen_text"),
2584
+ import { z as z124 } from "zod";
2585
+ var pcb_silkscreen_text = z124.object({
2586
+ type: z124.literal("pcb_silkscreen_text"),
2556
2587
  pcb_silkscreen_text_id: getZodPrefixedIdWithDefault("pcb_silkscreen_text"),
2557
- pcb_group_id: z123.string().optional(),
2558
- subcircuit_id: z123.string().optional(),
2559
- font: z123.literal("tscircuit2024").default("tscircuit2024"),
2588
+ pcb_group_id: z124.string().optional(),
2589
+ subcircuit_id: z124.string().optional(),
2590
+ font: z124.literal("tscircuit2024").default("tscircuit2024"),
2560
2591
  font_size: distance.default("0.2mm"),
2561
- pcb_component_id: z123.string(),
2562
- text: z123.string(),
2563
- is_knockout: z123.boolean().default(false).optional(),
2564
- knockout_padding: z123.object({
2592
+ pcb_component_id: z124.string(),
2593
+ text: z124.string(),
2594
+ is_knockout: z124.boolean().default(false).optional(),
2595
+ knockout_padding: z124.object({
2565
2596
  left: length,
2566
2597
  top: length,
2567
2598
  bottom: length,
@@ -2572,27 +2603,27 @@ var pcb_silkscreen_text = z123.object({
2572
2603
  bottom: "0.2mm",
2573
2604
  right: "0.2mm"
2574
2605
  }).optional(),
2575
- ccw_rotation: z123.number().optional(),
2606
+ ccw_rotation: z124.number().optional(),
2576
2607
  layer: layer_ref,
2577
- is_mirrored: z123.boolean().default(false).optional(),
2608
+ is_mirrored: z124.boolean().default(false).optional(),
2578
2609
  anchor_position: point.default({ x: 0, y: 0 }),
2579
2610
  anchor_alignment: ninePointAnchor.default("center")
2580
2611
  }).describe("Defines silkscreen text on the PCB");
2581
2612
  expectTypesMatch(true);
2582
2613
 
2583
2614
  // src/pcb/pcb_copper_text.ts
2584
- import { z as z124 } from "zod";
2585
- var pcb_copper_text = z124.object({
2586
- type: z124.literal("pcb_copper_text"),
2615
+ import { z as z125 } from "zod";
2616
+ var pcb_copper_text = z125.object({
2617
+ type: z125.literal("pcb_copper_text"),
2587
2618
  pcb_copper_text_id: getZodPrefixedIdWithDefault("pcb_copper_text"),
2588
- pcb_group_id: z124.string().optional(),
2589
- subcircuit_id: z124.string().optional(),
2590
- font: z124.literal("tscircuit2024").default("tscircuit2024"),
2619
+ pcb_group_id: z125.string().optional(),
2620
+ subcircuit_id: z125.string().optional(),
2621
+ font: z125.literal("tscircuit2024").default("tscircuit2024"),
2591
2622
  font_size: distance.default("0.2mm"),
2592
- pcb_component_id: z124.string(),
2593
- text: z124.string(),
2594
- is_knockout: z124.boolean().default(false).optional(),
2595
- knockout_padding: z124.object({
2623
+ pcb_component_id: z125.string(),
2624
+ text: z125.string(),
2625
+ is_knockout: z125.boolean().default(false).optional(),
2626
+ knockout_padding: z125.object({
2596
2627
  left: length,
2597
2628
  top: length,
2598
2629
  bottom: length,
@@ -2603,61 +2634,61 @@ var pcb_copper_text = z124.object({
2603
2634
  bottom: "0.2mm",
2604
2635
  right: "0.2mm"
2605
2636
  }).optional(),
2606
- ccw_rotation: z124.number().optional(),
2637
+ ccw_rotation: z125.number().optional(),
2607
2638
  layer: layer_ref,
2608
- is_mirrored: z124.boolean().default(false).optional(),
2639
+ is_mirrored: z125.boolean().default(false).optional(),
2609
2640
  anchor_position: point.default({ x: 0, y: 0 }),
2610
2641
  anchor_alignment: ninePointAnchor.default("center")
2611
2642
  }).describe("Defines copper text on the PCB");
2612
2643
  expectTypesMatch(true);
2613
2644
 
2614
2645
  // src/pcb/pcb_silkscreen_rect.ts
2615
- import { z as z125 } from "zod";
2616
- var pcb_silkscreen_rect = z125.object({
2617
- type: z125.literal("pcb_silkscreen_rect"),
2646
+ import { z as z126 } from "zod";
2647
+ var pcb_silkscreen_rect = z126.object({
2648
+ type: z126.literal("pcb_silkscreen_rect"),
2618
2649
  pcb_silkscreen_rect_id: getZodPrefixedIdWithDefault("pcb_silkscreen_rect"),
2619
- pcb_component_id: z125.string(),
2620
- pcb_group_id: z125.string().optional(),
2621
- subcircuit_id: z125.string().optional(),
2650
+ pcb_component_id: z126.string(),
2651
+ pcb_group_id: z126.string().optional(),
2652
+ subcircuit_id: z126.string().optional(),
2622
2653
  center: point,
2623
2654
  width: length,
2624
2655
  height: length,
2625
2656
  layer: layer_ref,
2626
2657
  stroke_width: length.default("1mm"),
2627
2658
  corner_radius: length.optional(),
2628
- is_filled: z125.boolean().default(true).optional(),
2629
- has_stroke: z125.boolean().optional(),
2630
- is_stroke_dashed: z125.boolean().optional(),
2631
- ccw_rotation: z125.number().optional()
2659
+ is_filled: z126.boolean().default(true).optional(),
2660
+ has_stroke: z126.boolean().optional(),
2661
+ is_stroke_dashed: z126.boolean().optional(),
2662
+ ccw_rotation: z126.number().optional()
2632
2663
  }).describe("Defines a silkscreen rect on the PCB");
2633
2664
  expectTypesMatch(true);
2634
2665
 
2635
2666
  // src/pcb/pcb_silkscreen_circle.ts
2636
- import { z as z126 } from "zod";
2637
- var pcb_silkscreen_circle = z126.object({
2638
- type: z126.literal("pcb_silkscreen_circle"),
2667
+ import { z as z127 } from "zod";
2668
+ var pcb_silkscreen_circle = z127.object({
2669
+ type: z127.literal("pcb_silkscreen_circle"),
2639
2670
  pcb_silkscreen_circle_id: getZodPrefixedIdWithDefault(
2640
2671
  "pcb_silkscreen_circle"
2641
2672
  ),
2642
- pcb_component_id: z126.string(),
2643
- pcb_group_id: z126.string().optional(),
2644
- subcircuit_id: z126.string().optional(),
2673
+ pcb_component_id: z127.string(),
2674
+ pcb_group_id: z127.string().optional(),
2675
+ subcircuit_id: z127.string().optional(),
2645
2676
  center: point,
2646
2677
  radius: length,
2647
2678
  layer: visible_layer,
2648
2679
  stroke_width: length.default("1mm"),
2649
- is_filled: z126.boolean().optional()
2680
+ is_filled: z127.boolean().optional()
2650
2681
  }).describe("Defines a silkscreen circle on the PCB");
2651
2682
  expectTypesMatch(true);
2652
2683
 
2653
2684
  // src/pcb/pcb_silkscreen_oval.ts
2654
- import { z as z127 } from "zod";
2655
- var pcb_silkscreen_oval = z127.object({
2656
- type: z127.literal("pcb_silkscreen_oval"),
2685
+ import { z as z128 } from "zod";
2686
+ var pcb_silkscreen_oval = z128.object({
2687
+ type: z128.literal("pcb_silkscreen_oval"),
2657
2688
  pcb_silkscreen_oval_id: getZodPrefixedIdWithDefault("pcb_silkscreen_oval"),
2658
- pcb_component_id: z127.string(),
2659
- pcb_group_id: z127.string().optional(),
2660
- subcircuit_id: z127.string().optional(),
2689
+ pcb_component_id: z128.string(),
2690
+ pcb_group_id: z128.string().optional(),
2691
+ subcircuit_id: z128.string().optional(),
2661
2692
  center: point,
2662
2693
  radius_x: distance,
2663
2694
  radius_y: distance,
@@ -2667,265 +2698,265 @@ var pcb_silkscreen_oval = z127.object({
2667
2698
  expectTypesMatch(true);
2668
2699
 
2669
2700
  // src/pcb/pcb_silkscreen_graphic.ts
2670
- import { z as z128 } from "zod";
2671
- var pcb_silkscreen_graphic_base = z128.object({
2672
- type: z128.literal("pcb_silkscreen_graphic"),
2701
+ import { z as z129 } from "zod";
2702
+ var pcb_silkscreen_graphic_base = z129.object({
2703
+ type: z129.literal("pcb_silkscreen_graphic"),
2673
2704
  pcb_silkscreen_graphic_id: getZodPrefixedIdWithDefault(
2674
2705
  "pcb_silkscreen_graphic"
2675
2706
  ),
2676
- pcb_component_id: z128.string(),
2677
- pcb_group_id: z128.string().optional(),
2678
- subcircuit_id: z128.string().optional(),
2707
+ pcb_component_id: z129.string(),
2708
+ pcb_group_id: z129.string().optional(),
2709
+ subcircuit_id: z129.string().optional(),
2679
2710
  layer: visible_layer,
2680
2711
  image_asset: asset.optional()
2681
2712
  });
2682
2713
  var pcb_silkscreen_graphic_brep = pcb_silkscreen_graphic_base.extend({
2683
- shape: z128.literal("brep"),
2714
+ shape: z129.literal("brep"),
2684
2715
  brep_shape
2685
2716
  }).describe("Defines a BRep silkscreen graphic on the PCB");
2686
2717
  expectTypesMatch(
2687
2718
  true
2688
2719
  );
2689
- var pcb_silkscreen_graphic = z128.discriminatedUnion("shape", [pcb_silkscreen_graphic_brep]).describe("Defines a silkscreen graphic on the PCB");
2720
+ var pcb_silkscreen_graphic = z129.discriminatedUnion("shape", [pcb_silkscreen_graphic_brep]).describe("Defines a silkscreen graphic on the PCB");
2690
2721
  expectTypesMatch(true);
2691
2722
 
2692
2723
  // src/pcb/pcb_silkscreen_pill.ts
2693
- import { z as z129 } from "zod";
2694
- var pcb_silkscreen_pill = z129.object({
2695
- type: z129.literal("pcb_silkscreen_pill"),
2724
+ import { z as z130 } from "zod";
2725
+ var pcb_silkscreen_pill = z130.object({
2726
+ type: z130.literal("pcb_silkscreen_pill"),
2696
2727
  pcb_silkscreen_pill_id: getZodPrefixedIdWithDefault("pcb_silkscreen_pill"),
2697
- pcb_component_id: z129.string(),
2698
- pcb_group_id: z129.string().optional(),
2699
- subcircuit_id: z129.string().optional(),
2728
+ pcb_component_id: z130.string(),
2729
+ pcb_group_id: z130.string().optional(),
2730
+ subcircuit_id: z130.string().optional(),
2700
2731
  center: point,
2701
2732
  width: length,
2702
2733
  height: length,
2703
2734
  layer: layer_ref,
2704
- ccw_rotation: z129.number().optional()
2735
+ ccw_rotation: z130.number().optional()
2705
2736
  }).describe("Defines a silkscreen pill on the PCB");
2706
2737
  expectTypesMatch(true);
2707
2738
 
2708
2739
  // src/pcb/pcb_fabrication_note_text.ts
2709
- import { z as z130 } from "zod";
2710
- var pcb_fabrication_note_text = z130.object({
2711
- type: z130.literal("pcb_fabrication_note_text"),
2740
+ import { z as z131 } from "zod";
2741
+ var pcb_fabrication_note_text = z131.object({
2742
+ type: z131.literal("pcb_fabrication_note_text"),
2712
2743
  pcb_fabrication_note_text_id: getZodPrefixedIdWithDefault(
2713
2744
  "pcb_fabrication_note_text"
2714
2745
  ),
2715
- subcircuit_id: z130.string().optional(),
2716
- pcb_group_id: z130.string().optional(),
2717
- font: z130.literal("tscircuit2024").default("tscircuit2024"),
2746
+ subcircuit_id: z131.string().optional(),
2747
+ pcb_group_id: z131.string().optional(),
2748
+ font: z131.literal("tscircuit2024").default("tscircuit2024"),
2718
2749
  font_size: distance.default("1mm"),
2719
- pcb_component_id: z130.string(),
2720
- text: z130.string(),
2721
- ccw_rotation: z130.number().optional(),
2750
+ pcb_component_id: z131.string(),
2751
+ text: z131.string(),
2752
+ ccw_rotation: z131.number().optional(),
2722
2753
  layer: visible_layer,
2723
2754
  anchor_position: point.default({ x: 0, y: 0 }),
2724
- anchor_alignment: z130.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).default("center"),
2725
- color: z130.string().optional()
2755
+ anchor_alignment: z131.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).default("center"),
2756
+ color: z131.string().optional()
2726
2757
  }).describe(
2727
2758
  "Defines a fabrication note in text on the PCB, useful for leaving notes for assemblers or fabricators"
2728
2759
  );
2729
2760
  expectTypesMatch(true);
2730
2761
 
2731
2762
  // src/pcb/pcb_fabrication_note_path.ts
2732
- import { z as z131 } from "zod";
2733
- var pcb_fabrication_note_path = z131.object({
2734
- type: z131.literal("pcb_fabrication_note_path"),
2763
+ import { z as z132 } from "zod";
2764
+ var pcb_fabrication_note_path = z132.object({
2765
+ type: z132.literal("pcb_fabrication_note_path"),
2735
2766
  pcb_fabrication_note_path_id: getZodPrefixedIdWithDefault(
2736
2767
  "pcb_fabrication_note_path"
2737
2768
  ),
2738
- pcb_component_id: z131.string(),
2739
- subcircuit_id: z131.string().optional(),
2769
+ pcb_component_id: z132.string(),
2770
+ subcircuit_id: z132.string().optional(),
2740
2771
  layer: layer_ref,
2741
- route: z131.array(point),
2772
+ route: z132.array(point),
2742
2773
  stroke_width: length,
2743
- color: z131.string().optional()
2774
+ color: z132.string().optional()
2744
2775
  }).describe(
2745
2776
  "Defines a fabrication path on the PCB for fabricators or assemblers"
2746
2777
  );
2747
2778
  expectTypesMatch(true);
2748
2779
 
2749
2780
  // src/pcb/pcb_fabrication_note_rect.ts
2750
- import { z as z132 } from "zod";
2751
- var pcb_fabrication_note_rect = z132.object({
2752
- type: z132.literal("pcb_fabrication_note_rect"),
2781
+ import { z as z133 } from "zod";
2782
+ var pcb_fabrication_note_rect = z133.object({
2783
+ type: z133.literal("pcb_fabrication_note_rect"),
2753
2784
  pcb_fabrication_note_rect_id: getZodPrefixedIdWithDefault(
2754
2785
  "pcb_fabrication_note_rect"
2755
2786
  ),
2756
- pcb_component_id: z132.string(),
2757
- pcb_group_id: z132.string().optional(),
2758
- subcircuit_id: z132.string().optional(),
2787
+ pcb_component_id: z133.string(),
2788
+ pcb_group_id: z133.string().optional(),
2789
+ subcircuit_id: z133.string().optional(),
2759
2790
  center: point,
2760
2791
  width: length,
2761
2792
  height: length,
2762
2793
  layer: visible_layer,
2763
2794
  stroke_width: length.default("0.1mm"),
2764
2795
  corner_radius: length.optional(),
2765
- is_filled: z132.boolean().optional(),
2766
- has_stroke: z132.boolean().optional(),
2767
- is_stroke_dashed: z132.boolean().optional(),
2768
- color: z132.string().optional()
2796
+ is_filled: z133.boolean().optional(),
2797
+ has_stroke: z133.boolean().optional(),
2798
+ is_stroke_dashed: z133.boolean().optional(),
2799
+ color: z133.string().optional()
2769
2800
  }).describe("Defines a fabrication note rectangle on the PCB");
2770
2801
  expectTypesMatch(true);
2771
2802
 
2772
2803
  // src/pcb/pcb_fabrication_note_dimension.ts
2773
- import { z as z133 } from "zod";
2774
- var pcb_fabrication_note_dimension = z133.object({
2775
- type: z133.literal("pcb_fabrication_note_dimension"),
2804
+ import { z as z134 } from "zod";
2805
+ var pcb_fabrication_note_dimension = z134.object({
2806
+ type: z134.literal("pcb_fabrication_note_dimension"),
2776
2807
  pcb_fabrication_note_dimension_id: getZodPrefixedIdWithDefault(
2777
2808
  "pcb_fabrication_note_dimension"
2778
2809
  ),
2779
- pcb_component_id: z133.string(),
2780
- pcb_group_id: z133.string().optional(),
2781
- subcircuit_id: z133.string().optional(),
2810
+ pcb_component_id: z134.string(),
2811
+ pcb_group_id: z134.string().optional(),
2812
+ subcircuit_id: z134.string().optional(),
2782
2813
  layer: visible_layer,
2783
2814
  from: point,
2784
2815
  to: point,
2785
- text: z133.string().optional(),
2786
- text_ccw_rotation: z133.number().optional(),
2816
+ text: z134.string().optional(),
2817
+ text_ccw_rotation: z134.number().optional(),
2787
2818
  offset: length.optional(),
2788
2819
  offset_distance: length.optional(),
2789
- offset_direction: z133.object({
2790
- x: z133.number(),
2791
- y: z133.number()
2820
+ offset_direction: z134.object({
2821
+ x: z134.number(),
2822
+ y: z134.number()
2792
2823
  }).optional(),
2793
- font: z133.literal("tscircuit2024").default("tscircuit2024"),
2824
+ font: z134.literal("tscircuit2024").default("tscircuit2024"),
2794
2825
  font_size: length.default("1mm"),
2795
- color: z133.string().optional(),
2826
+ color: z134.string().optional(),
2796
2827
  arrow_size: length.default("1mm")
2797
2828
  }).describe("Defines a measurement annotation within PCB fabrication notes");
2798
2829
  expectTypesMatch(true);
2799
2830
 
2800
2831
  // src/pcb/pcb_note_text.ts
2801
- import { z as z134 } from "zod";
2802
- var pcb_note_text = z134.object({
2803
- type: z134.literal("pcb_note_text"),
2804
- pcb_note_text_id: getZodPrefixedIdWithDefault("pcb_note_text"),
2805
- pcb_component_id: z134.string().optional(),
2806
- pcb_group_id: z134.string().optional(),
2807
- subcircuit_id: z134.string().optional(),
2808
- name: z134.string().optional(),
2809
- font: z134.literal("tscircuit2024").default("tscircuit2024"),
2810
- font_size: distance.default("1mm"),
2811
- text: z134.string().optional(),
2812
- anchor_position: point.default({ x: 0, y: 0 }),
2813
- anchor_alignment: z134.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).default("center"),
2814
- layer: visible_layer.default("top"),
2815
- is_mirrored_from_top_view: z134.boolean().optional(),
2816
- color: z134.string().optional()
2817
- }).describe("Defines a documentation note in text on the PCB");
2818
- expectTypesMatch(true);
2819
-
2820
- // src/pcb/pcb_note_rect.ts
2821
2832
  import { z as z135 } from "zod";
2822
- var pcb_note_rect = z135.object({
2823
- type: z135.literal("pcb_note_rect"),
2824
- pcb_note_rect_id: getZodPrefixedIdWithDefault("pcb_note_rect"),
2833
+ var pcb_note_text = z135.object({
2834
+ type: z135.literal("pcb_note_text"),
2835
+ pcb_note_text_id: getZodPrefixedIdWithDefault("pcb_note_text"),
2825
2836
  pcb_component_id: z135.string().optional(),
2826
2837
  pcb_group_id: z135.string().optional(),
2827
2838
  subcircuit_id: z135.string().optional(),
2828
2839
  name: z135.string().optional(),
2840
+ font: z135.literal("tscircuit2024").default("tscircuit2024"),
2841
+ font_size: distance.default("1mm"),
2829
2842
  text: z135.string().optional(),
2830
- center: point,
2831
- width: length,
2832
- height: length,
2843
+ anchor_position: point.default({ x: 0, y: 0 }),
2844
+ anchor_alignment: z135.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).default("center"),
2833
2845
  layer: visible_layer.default("top"),
2834
- stroke_width: length.default("0.1mm"),
2835
- corner_radius: length.optional(),
2836
- is_filled: z135.boolean().optional(),
2837
- has_stroke: z135.boolean().optional(),
2838
- is_stroke_dashed: z135.boolean().optional(),
2846
+ is_mirrored_from_top_view: z135.boolean().optional(),
2839
2847
  color: z135.string().optional()
2840
- }).describe("Defines a rectangular documentation note on the PCB");
2848
+ }).describe("Defines a documentation note in text on the PCB");
2841
2849
  expectTypesMatch(true);
2842
2850
 
2843
- // src/pcb/pcb_note_path.ts
2851
+ // src/pcb/pcb_note_rect.ts
2844
2852
  import { z as z136 } from "zod";
2845
- var pcb_note_path = z136.object({
2846
- type: z136.literal("pcb_note_path"),
2847
- pcb_note_path_id: getZodPrefixedIdWithDefault("pcb_note_path"),
2853
+ var pcb_note_rect = z136.object({
2854
+ type: z136.literal("pcb_note_rect"),
2855
+ pcb_note_rect_id: getZodPrefixedIdWithDefault("pcb_note_rect"),
2848
2856
  pcb_component_id: z136.string().optional(),
2849
2857
  pcb_group_id: z136.string().optional(),
2850
2858
  subcircuit_id: z136.string().optional(),
2851
2859
  name: z136.string().optional(),
2852
2860
  text: z136.string().optional(),
2853
- route: z136.array(point),
2861
+ center: point,
2862
+ width: length,
2863
+ height: length,
2854
2864
  layer: visible_layer.default("top"),
2855
2865
  stroke_width: length.default("0.1mm"),
2866
+ corner_radius: length.optional(),
2867
+ is_filled: z136.boolean().optional(),
2868
+ has_stroke: z136.boolean().optional(),
2869
+ is_stroke_dashed: z136.boolean().optional(),
2856
2870
  color: z136.string().optional()
2857
- }).describe("Defines a polyline documentation note on the PCB");
2871
+ }).describe("Defines a rectangular documentation note on the PCB");
2858
2872
  expectTypesMatch(true);
2859
2873
 
2860
- // src/pcb/pcb_note_line.ts
2874
+ // src/pcb/pcb_note_path.ts
2861
2875
  import { z as z137 } from "zod";
2862
- var pcb_note_line = z137.object({
2863
- type: z137.literal("pcb_note_line"),
2864
- pcb_note_line_id: getZodPrefixedIdWithDefault("pcb_note_line"),
2876
+ var pcb_note_path = z137.object({
2877
+ type: z137.literal("pcb_note_path"),
2878
+ pcb_note_path_id: getZodPrefixedIdWithDefault("pcb_note_path"),
2865
2879
  pcb_component_id: z137.string().optional(),
2866
2880
  pcb_group_id: z137.string().optional(),
2867
2881
  subcircuit_id: z137.string().optional(),
2868
2882
  name: z137.string().optional(),
2869
2883
  text: z137.string().optional(),
2884
+ route: z137.array(point),
2885
+ layer: visible_layer.default("top"),
2886
+ stroke_width: length.default("0.1mm"),
2887
+ color: z137.string().optional()
2888
+ }).describe("Defines a polyline documentation note on the PCB");
2889
+ expectTypesMatch(true);
2890
+
2891
+ // src/pcb/pcb_note_line.ts
2892
+ import { z as z138 } from "zod";
2893
+ var pcb_note_line = z138.object({
2894
+ type: z138.literal("pcb_note_line"),
2895
+ pcb_note_line_id: getZodPrefixedIdWithDefault("pcb_note_line"),
2896
+ pcb_component_id: z138.string().optional(),
2897
+ pcb_group_id: z138.string().optional(),
2898
+ subcircuit_id: z138.string().optional(),
2899
+ name: z138.string().optional(),
2900
+ text: z138.string().optional(),
2870
2901
  x1: distance,
2871
2902
  y1: distance,
2872
2903
  x2: distance,
2873
2904
  y2: distance,
2874
2905
  layer: visible_layer.default("top"),
2875
2906
  stroke_width: distance.default("0.1mm"),
2876
- color: z137.string().optional(),
2877
- is_dashed: z137.boolean().optional()
2907
+ color: z138.string().optional(),
2908
+ is_dashed: z138.boolean().optional()
2878
2909
  }).describe("Defines a straight documentation note line on the PCB");
2879
2910
  expectTypesMatch(true);
2880
2911
 
2881
2912
  // src/pcb/pcb_note_dimension.ts
2882
- import { z as z138 } from "zod";
2883
- var pcb_note_dimension = z138.object({
2884
- type: z138.literal("pcb_note_dimension"),
2913
+ import { z as z139 } from "zod";
2914
+ var pcb_note_dimension = z139.object({
2915
+ type: z139.literal("pcb_note_dimension"),
2885
2916
  pcb_note_dimension_id: getZodPrefixedIdWithDefault("pcb_note_dimension"),
2886
- pcb_component_id: z138.string().optional(),
2887
- pcb_group_id: z138.string().optional(),
2888
- subcircuit_id: z138.string().optional(),
2889
- name: z138.string().optional(),
2917
+ pcb_component_id: z139.string().optional(),
2918
+ pcb_group_id: z139.string().optional(),
2919
+ subcircuit_id: z139.string().optional(),
2920
+ name: z139.string().optional(),
2890
2921
  from: point,
2891
2922
  to: point,
2892
- text: z138.string().optional(),
2893
- text_ccw_rotation: z138.number().optional(),
2923
+ text: z139.string().optional(),
2924
+ text_ccw_rotation: z139.number().optional(),
2894
2925
  offset_distance: length.optional(),
2895
- offset_direction: z138.object({
2896
- x: z138.number(),
2897
- y: z138.number()
2926
+ offset_direction: z139.object({
2927
+ x: z139.number(),
2928
+ y: z139.number()
2898
2929
  }).optional(),
2899
- font: z138.literal("tscircuit2024").default("tscircuit2024"),
2930
+ font: z139.literal("tscircuit2024").default("tscircuit2024"),
2900
2931
  font_size: length.default("1mm"),
2901
2932
  layer: visible_layer.default("top"),
2902
- color: z138.string().optional(),
2933
+ color: z139.string().optional(),
2903
2934
  arrow_size: length.default("1mm")
2904
2935
  }).describe("Defines a measurement annotation within PCB documentation notes");
2905
2936
  expectTypesMatch(true);
2906
2937
 
2907
2938
  // src/pcb/pcb_footprint_overlap_error.ts
2908
- import { z as z139 } from "zod";
2939
+ import { z as z140 } from "zod";
2909
2940
  var pcb_footprint_overlap_error = base_circuit_json_error.extend({
2910
- type: z139.literal("pcb_footprint_overlap_error"),
2941
+ type: z140.literal("pcb_footprint_overlap_error"),
2911
2942
  pcb_error_id: getZodPrefixedIdWithDefault("pcb_error"),
2912
- error_type: z139.literal("pcb_footprint_overlap_error").default("pcb_footprint_overlap_error"),
2913
- pcb_smtpad_ids: z139.array(z139.string()).optional(),
2914
- pcb_plated_hole_ids: z139.array(z139.string()).optional(),
2915
- pcb_hole_ids: z139.array(z139.string()).optional(),
2916
- pcb_keepout_ids: z139.array(z139.string()).optional()
2943
+ error_type: z140.literal("pcb_footprint_overlap_error").default("pcb_footprint_overlap_error"),
2944
+ pcb_smtpad_ids: z140.array(z140.string()).optional(),
2945
+ pcb_plated_hole_ids: z140.array(z140.string()).optional(),
2946
+ pcb_hole_ids: z140.array(z140.string()).optional(),
2947
+ pcb_keepout_ids: z140.array(z140.string()).optional()
2917
2948
  }).describe("Error emitted when a pcb footprint overlaps with another element");
2918
2949
  expectTypesMatch(
2919
2950
  true
2920
2951
  );
2921
2952
 
2922
2953
  // src/pcb/pcb_courtyard_overlap_error.ts
2923
- import { z as z140 } from "zod";
2954
+ import { z as z141 } from "zod";
2924
2955
  var pcb_courtyard_overlap_error = base_circuit_json_error.extend({
2925
- type: z140.literal("pcb_courtyard_overlap_error"),
2956
+ type: z141.literal("pcb_courtyard_overlap_error"),
2926
2957
  pcb_error_id: getZodPrefixedIdWithDefault("pcb_error"),
2927
- error_type: z140.literal("pcb_courtyard_overlap_error").default("pcb_courtyard_overlap_error"),
2928
- pcb_component_ids: z140.tuple([z140.string(), z140.string()])
2958
+ error_type: z141.literal("pcb_courtyard_overlap_error").default("pcb_courtyard_overlap_error"),
2959
+ pcb_component_ids: z141.tuple([z141.string(), z141.string()])
2929
2960
  }).describe(
2930
2961
  "Error emitted when the courtyard (CrtYd) of one PCB component overlaps with the courtyard of another"
2931
2962
  );
@@ -2934,49 +2965,49 @@ expectTypesMatch(
2934
2965
  );
2935
2966
 
2936
2967
  // src/pcb/pcb_keepout.ts
2937
- import { z as z141 } from "zod";
2938
- var pcb_keepout = z141.object({
2939
- type: z141.literal("pcb_keepout"),
2940
- shape: z141.literal("rect"),
2941
- pcb_group_id: z141.string().optional(),
2942
- subcircuit_id: z141.string().optional(),
2968
+ import { z as z142 } from "zod";
2969
+ var pcb_keepout = z142.object({
2970
+ type: z142.literal("pcb_keepout"),
2971
+ shape: z142.literal("rect"),
2972
+ pcb_group_id: z142.string().optional(),
2973
+ subcircuit_id: z142.string().optional(),
2943
2974
  center: point,
2944
2975
  width: distance,
2945
2976
  height: distance,
2946
- pcb_keepout_id: z141.string(),
2947
- layers: z141.array(z141.string()),
2977
+ pcb_keepout_id: z142.string(),
2978
+ layers: z142.array(z142.string()),
2948
2979
  // Specify layers where the keepout applies
2949
- description: z141.string().optional()
2980
+ description: z142.string().optional()
2950
2981
  // Optional description of the keepout
2951
2982
  }).or(
2952
- z141.object({
2953
- type: z141.literal("pcb_keepout"),
2954
- shape: z141.literal("circle"),
2955
- pcb_group_id: z141.string().optional(),
2956
- subcircuit_id: z141.string().optional(),
2983
+ z142.object({
2984
+ type: z142.literal("pcb_keepout"),
2985
+ shape: z142.literal("circle"),
2986
+ pcb_group_id: z142.string().optional(),
2987
+ subcircuit_id: z142.string().optional(),
2957
2988
  center: point,
2958
2989
  radius: distance,
2959
- pcb_keepout_id: z141.string(),
2960
- layers: z141.array(z141.string()),
2990
+ pcb_keepout_id: z142.string(),
2991
+ layers: z142.array(z142.string()),
2961
2992
  // Specify layers where the keepout applies
2962
- description: z141.string().optional()
2993
+ description: z142.string().optional()
2963
2994
  // Optional description of the keepout
2964
2995
  })
2965
2996
  );
2966
2997
  expectTypesMatch(true);
2967
2998
 
2968
2999
  // src/pcb/pcb_cutout.ts
2969
- import { z as z142 } from "zod";
2970
- var pcb_cutout_base = z142.object({
2971
- type: z142.literal("pcb_cutout"),
3000
+ import { z as z143 } from "zod";
3001
+ var pcb_cutout_base = z143.object({
3002
+ type: z143.literal("pcb_cutout"),
2972
3003
  pcb_cutout_id: getZodPrefixedIdWithDefault("pcb_cutout"),
2973
- pcb_group_id: z142.string().optional(),
2974
- subcircuit_id: z142.string().optional(),
2975
- pcb_board_id: z142.string().optional(),
2976
- pcb_panel_id: z142.string().optional()
3004
+ pcb_group_id: z143.string().optional(),
3005
+ subcircuit_id: z143.string().optional(),
3006
+ pcb_board_id: z143.string().optional(),
3007
+ pcb_panel_id: z143.string().optional()
2977
3008
  });
2978
3009
  var pcb_cutout_rect = pcb_cutout_base.extend({
2979
- shape: z142.literal("rect"),
3010
+ shape: z143.literal("rect"),
2980
3011
  center: point,
2981
3012
  width: length,
2982
3013
  height: length,
@@ -2985,26 +3016,26 @@ var pcb_cutout_rect = pcb_cutout_base.extend({
2985
3016
  });
2986
3017
  expectTypesMatch(true);
2987
3018
  var pcb_cutout_circle = pcb_cutout_base.extend({
2988
- shape: z142.literal("circle"),
3019
+ shape: z143.literal("circle"),
2989
3020
  center: point,
2990
3021
  radius: length
2991
3022
  });
2992
3023
  expectTypesMatch(true);
2993
3024
  var pcb_cutout_polygon = pcb_cutout_base.extend({
2994
- shape: z142.literal("polygon"),
2995
- points: z142.array(point)
3025
+ shape: z143.literal("polygon"),
3026
+ points: z143.array(point)
2996
3027
  });
2997
3028
  expectTypesMatch(true);
2998
3029
  var pcb_cutout_path = pcb_cutout_base.extend({
2999
- shape: z142.literal("path"),
3000
- route: z142.array(point),
3030
+ shape: z143.literal("path"),
3031
+ route: z143.array(point),
3001
3032
  slot_width: length,
3002
3033
  slot_length: length.optional(),
3003
3034
  space_between_slots: length.optional(),
3004
3035
  slot_corner_radius: length.optional()
3005
3036
  });
3006
3037
  expectTypesMatch(true);
3007
- var pcb_cutout = z142.discriminatedUnion("shape", [
3038
+ var pcb_cutout = z143.discriminatedUnion("shape", [
3008
3039
  pcb_cutout_rect,
3009
3040
  pcb_cutout_circle,
3010
3041
  pcb_cutout_polygon,
@@ -3013,169 +3044,169 @@ var pcb_cutout = z142.discriminatedUnion("shape", [
3013
3044
  expectTypesMatch(true);
3014
3045
 
3015
3046
  // src/pcb/pcb_missing_footprint_error.ts
3016
- import { z as z143 } from "zod";
3047
+ import { z as z144 } from "zod";
3017
3048
  var pcb_missing_footprint_error = base_circuit_json_error.extend({
3018
- type: z143.literal("pcb_missing_footprint_error"),
3049
+ type: z144.literal("pcb_missing_footprint_error"),
3019
3050
  pcb_missing_footprint_error_id: getZodPrefixedIdWithDefault(
3020
3051
  "pcb_missing_footprint_error"
3021
3052
  ),
3022
- pcb_group_id: z143.string().optional(),
3023
- subcircuit_id: z143.string().optional(),
3024
- error_type: z143.literal("pcb_missing_footprint_error").default("pcb_missing_footprint_error"),
3025
- source_component_id: z143.string()
3053
+ pcb_group_id: z144.string().optional(),
3054
+ subcircuit_id: z144.string().optional(),
3055
+ error_type: z144.literal("pcb_missing_footprint_error").default("pcb_missing_footprint_error"),
3056
+ source_component_id: z144.string()
3026
3057
  }).describe("Defines a missing footprint error on the PCB");
3027
3058
  expectTypesMatch(
3028
3059
  true
3029
3060
  );
3030
3061
 
3031
3062
  // src/pcb/external_footprint_load_error.ts
3032
- import { z as z144 } from "zod";
3063
+ import { z as z145 } from "zod";
3033
3064
  var external_footprint_load_error = base_circuit_json_error.extend({
3034
- type: z144.literal("external_footprint_load_error"),
3065
+ type: z145.literal("external_footprint_load_error"),
3035
3066
  external_footprint_load_error_id: getZodPrefixedIdWithDefault(
3036
3067
  "external_footprint_load_error"
3037
3068
  ),
3038
- pcb_component_id: z144.string(),
3039
- source_component_id: z144.string(),
3040
- pcb_group_id: z144.string().optional(),
3041
- subcircuit_id: z144.string().optional(),
3042
- footprinter_string: z144.string().optional(),
3043
- error_type: z144.literal("external_footprint_load_error").default("external_footprint_load_error")
3069
+ pcb_component_id: z145.string(),
3070
+ source_component_id: z145.string(),
3071
+ pcb_group_id: z145.string().optional(),
3072
+ subcircuit_id: z145.string().optional(),
3073
+ footprinter_string: z145.string().optional(),
3074
+ error_type: z145.literal("external_footprint_load_error").default("external_footprint_load_error")
3044
3075
  }).describe("Defines an error when an external footprint fails to load");
3045
3076
  expectTypesMatch(true);
3046
3077
 
3047
3078
  // src/pcb/circuit_json_footprint_load_error.ts
3048
- import { z as z145 } from "zod";
3079
+ import { z as z146 } from "zod";
3049
3080
  var circuit_json_footprint_load_error = base_circuit_json_error.extend({
3050
- type: z145.literal("circuit_json_footprint_load_error"),
3081
+ type: z146.literal("circuit_json_footprint_load_error"),
3051
3082
  circuit_json_footprint_load_error_id: getZodPrefixedIdWithDefault(
3052
3083
  "circuit_json_footprint_load_error"
3053
3084
  ),
3054
- pcb_component_id: z145.string(),
3055
- source_component_id: z145.string(),
3056
- pcb_group_id: z145.string().optional(),
3057
- subcircuit_id: z145.string().optional(),
3058
- error_type: z145.literal("circuit_json_footprint_load_error").default("circuit_json_footprint_load_error"),
3059
- circuit_json: z145.array(z145.any()).optional()
3085
+ pcb_component_id: z146.string(),
3086
+ source_component_id: z146.string(),
3087
+ pcb_group_id: z146.string().optional(),
3088
+ subcircuit_id: z146.string().optional(),
3089
+ error_type: z146.literal("circuit_json_footprint_load_error").default("circuit_json_footprint_load_error"),
3090
+ circuit_json: z146.array(z146.any()).optional()
3060
3091
  }).describe("Defines an error when a circuit JSON footprint fails to load");
3061
3092
  expectTypesMatch(true);
3062
3093
 
3063
3094
  // src/pcb/pcb_group.ts
3064
- import { z as z146 } from "zod";
3065
- var pcb_group = z146.object({
3066
- type: z146.literal("pcb_group"),
3095
+ import { z as z147 } from "zod";
3096
+ var pcb_group = z147.object({
3097
+ type: z147.literal("pcb_group"),
3067
3098
  pcb_group_id: getZodPrefixedIdWithDefault("pcb_group"),
3068
- source_group_id: z146.string(),
3069
- is_subcircuit: z146.boolean().optional(),
3070
- subcircuit_id: z146.string().optional(),
3099
+ source_group_id: z147.string(),
3100
+ is_subcircuit: z147.boolean().optional(),
3101
+ subcircuit_id: z147.string().optional(),
3071
3102
  width: length.optional(),
3072
3103
  height: length.optional(),
3073
3104
  center: point,
3074
- display_offset_x: z146.string().optional().describe(
3105
+ display_offset_x: z147.string().optional().describe(
3075
3106
  "How to display the x offset for this group, usually corresponding with how the user specified it"
3076
3107
  ),
3077
- display_offset_y: z146.string().optional().describe(
3108
+ display_offset_y: z147.string().optional().describe(
3078
3109
  "How to display the y offset for this group, usually corresponding with how the user specified it"
3079
3110
  ),
3080
- outline: z146.array(point).optional(),
3111
+ outline: z147.array(point).optional(),
3081
3112
  anchor_position: point.optional(),
3082
3113
  anchor_alignment: ninePointAnchor.default("center"),
3083
- position_mode: z146.enum(["packed", "relative_to_group_anchor", "none"]).optional(),
3084
- positioned_relative_to_pcb_group_id: z146.string().optional(),
3085
- positioned_relative_to_pcb_board_id: z146.string().optional(),
3086
- pcb_component_ids: z146.array(z146.string()),
3087
- child_layout_mode: z146.enum(["packed", "none"]).optional(),
3088
- name: z146.string().optional(),
3089
- description: z146.string().optional(),
3090
- layout_mode: z146.string().optional(),
3091
- autorouter_configuration: z146.object({
3114
+ position_mode: z147.enum(["packed", "relative_to_group_anchor", "none"]).optional(),
3115
+ positioned_relative_to_pcb_group_id: z147.string().optional(),
3116
+ positioned_relative_to_pcb_board_id: z147.string().optional(),
3117
+ pcb_component_ids: z147.array(z147.string()),
3118
+ child_layout_mode: z147.enum(["packed", "none"]).optional(),
3119
+ name: z147.string().optional(),
3120
+ description: z147.string().optional(),
3121
+ layout_mode: z147.string().optional(),
3122
+ autorouter_configuration: z147.object({
3092
3123
  trace_clearance: length
3093
3124
  }).optional(),
3094
- autorouter_used_string: z146.string().optional()
3125
+ autorouter_used_string: z147.string().optional()
3095
3126
  }).describe("Defines a group of components on the PCB");
3096
3127
  expectTypesMatch(true);
3097
3128
 
3098
3129
  // src/pcb/pcb_autorouting_error.ts
3099
- import { z as z147 } from "zod";
3130
+ import { z as z148 } from "zod";
3100
3131
  var pcb_autorouting_error = base_circuit_json_error.extend({
3101
- type: z147.literal("pcb_autorouting_error"),
3132
+ type: z148.literal("pcb_autorouting_error"),
3102
3133
  pcb_error_id: getZodPrefixedIdWithDefault("pcb_autorouting_error"),
3103
- error_type: z147.literal("pcb_autorouting_error").default("pcb_autorouting_error"),
3104
- subcircuit_id: z147.string().optional()
3134
+ error_type: z148.literal("pcb_autorouting_error").default("pcb_autorouting_error"),
3135
+ subcircuit_id: z148.string().optional()
3105
3136
  }).describe("The autorouting has failed to route a portion of the board");
3106
3137
  expectTypesMatch(true);
3107
3138
 
3108
3139
  // src/pcb/pcb_manual_edit_conflict_warning.ts
3109
- import { z as z148 } from "zod";
3110
- var pcb_manual_edit_conflict_warning = z148.object({
3111
- type: z148.literal("pcb_manual_edit_conflict_warning"),
3140
+ import { z as z149 } from "zod";
3141
+ var pcb_manual_edit_conflict_warning = z149.object({
3142
+ type: z149.literal("pcb_manual_edit_conflict_warning"),
3112
3143
  pcb_manual_edit_conflict_warning_id: getZodPrefixedIdWithDefault(
3113
3144
  "pcb_manual_edit_conflict_warning"
3114
3145
  ),
3115
- warning_type: z148.literal("pcb_manual_edit_conflict_warning").default("pcb_manual_edit_conflict_warning"),
3116
- message: z148.string(),
3117
- pcb_component_id: z148.string(),
3118
- pcb_group_id: z148.string().optional(),
3119
- subcircuit_id: z148.string().optional(),
3120
- source_component_id: z148.string()
3146
+ warning_type: z149.literal("pcb_manual_edit_conflict_warning").default("pcb_manual_edit_conflict_warning"),
3147
+ message: z149.string(),
3148
+ pcb_component_id: z149.string(),
3149
+ pcb_group_id: z149.string().optional(),
3150
+ subcircuit_id: z149.string().optional(),
3151
+ source_component_id: z149.string()
3121
3152
  }).describe(
3122
3153
  "Warning emitted when a component has both manual placement and explicit pcbX/pcbY coordinates"
3123
3154
  );
3124
3155
  expectTypesMatch(true);
3125
3156
 
3126
3157
  // src/pcb/pcb_connector_not_in_accessible_orientation_warning.ts
3127
- import { z as z149 } from "zod";
3128
- var connectorOrientationDirection = z149.enum(["x-", "x+", "y+", "y-"]);
3129
- var pcb_connector_not_in_accessible_orientation_warning = z149.object({
3130
- type: z149.literal("pcb_connector_not_in_accessible_orientation_warning"),
3158
+ import { z as z150 } from "zod";
3159
+ var connectorOrientationDirection = z150.enum(["x-", "x+", "y+", "y-"]);
3160
+ var pcb_connector_not_in_accessible_orientation_warning = z150.object({
3161
+ type: z150.literal("pcb_connector_not_in_accessible_orientation_warning"),
3131
3162
  pcb_connector_not_in_accessible_orientation_warning_id: getZodPrefixedIdWithDefault(
3132
3163
  "pcb_connector_not_in_accessible_orientation_warning"
3133
3164
  ),
3134
- warning_type: z149.literal("pcb_connector_not_in_accessible_orientation_warning").default("pcb_connector_not_in_accessible_orientation_warning"),
3135
- message: z149.string(),
3136
- pcb_component_id: z149.string(),
3137
- source_component_id: z149.string().optional(),
3138
- pcb_board_id: z149.string().optional(),
3165
+ warning_type: z150.literal("pcb_connector_not_in_accessible_orientation_warning").default("pcb_connector_not_in_accessible_orientation_warning"),
3166
+ message: z150.string(),
3167
+ pcb_component_id: z150.string(),
3168
+ source_component_id: z150.string().optional(),
3169
+ pcb_board_id: z150.string().optional(),
3139
3170
  facing_direction: connectorOrientationDirection,
3140
3171
  recommended_facing_direction: connectorOrientationDirection,
3141
- subcircuit_id: z149.string().optional()
3172
+ subcircuit_id: z150.string().optional()
3142
3173
  }).describe(
3143
3174
  "Warning emitted when a connector PCB component is facing inward toward the board and should be reoriented to an outward-facing direction"
3144
3175
  );
3145
3176
  expectTypesMatch(true);
3146
3177
 
3147
3178
  // src/pcb/supplier_footprint_mismatch_warning.ts
3148
- import { z as z150 } from "zod";
3149
- var supplier_footprint_mismatch_warning = z150.object({
3150
- type: z150.literal("supplier_footprint_mismatch_warning"),
3179
+ import { z as z151 } from "zod";
3180
+ var supplier_footprint_mismatch_warning = z151.object({
3181
+ type: z151.literal("supplier_footprint_mismatch_warning"),
3151
3182
  supplier_footprint_mismatch_warning_id: getZodPrefixedIdWithDefault(
3152
3183
  "supplier_footprint_mismatch_warning"
3153
3184
  ),
3154
- warning_type: z150.literal("supplier_footprint_mismatch_warning").default("supplier_footprint_mismatch_warning"),
3155
- message: z150.string(),
3156
- source_component_id: z150.string(),
3157
- pcb_component_id: z150.string().optional(),
3158
- pcb_group_id: z150.string().optional(),
3159
- subcircuit_id: z150.string().optional(),
3185
+ warning_type: z151.literal("supplier_footprint_mismatch_warning").default("supplier_footprint_mismatch_warning"),
3186
+ message: z151.string(),
3187
+ source_component_id: z151.string(),
3188
+ pcb_component_id: z151.string().optional(),
3189
+ pcb_group_id: z151.string().optional(),
3190
+ subcircuit_id: z151.string().optional(),
3160
3191
  supplier_name: supplier_name.optional(),
3161
- supplier_part_number: z150.string().optional(),
3162
- supplier_footprint_url: z150.string().optional(),
3163
- footprint_copper_intersection_over_union: z150.number()
3192
+ supplier_part_number: z151.string().optional(),
3193
+ supplier_footprint_url: z151.string().optional(),
3194
+ footprint_copper_intersection_over_union: z151.number()
3164
3195
  }).describe(
3165
3196
  "Warning emitted when a supplier part footprint does not match the expected footprint"
3166
3197
  );
3167
3198
  expectTypesMatch(true);
3168
3199
 
3169
3200
  // src/pcb/pcb_breakout_point.ts
3170
- import { z as z151 } from "zod";
3171
- var pcb_breakout_point = z151.object({
3172
- type: z151.literal("pcb_breakout_point"),
3201
+ import { z as z152 } from "zod";
3202
+ var pcb_breakout_point = z152.object({
3203
+ type: z152.literal("pcb_breakout_point"),
3173
3204
  pcb_breakout_point_id: getZodPrefixedIdWithDefault("pcb_breakout_point"),
3174
- pcb_group_id: z151.string(),
3175
- subcircuit_id: z151.string().optional(),
3176
- source_trace_id: z151.string().optional(),
3177
- source_port_id: z151.string().optional(),
3178
- source_net_id: z151.string().optional(),
3205
+ pcb_group_id: z152.string(),
3206
+ subcircuit_id: z152.string().optional(),
3207
+ source_trace_id: z152.string().optional(),
3208
+ source_port_id: z152.string().optional(),
3209
+ source_net_id: z152.string().optional(),
3179
3210
  x: distance,
3180
3211
  y: distance
3181
3212
  }).describe(
@@ -3184,61 +3215,61 @@ var pcb_breakout_point = z151.object({
3184
3215
  expectTypesMatch(true);
3185
3216
 
3186
3217
  // src/pcb/pcb_ground_plane.ts
3187
- import { z as z152 } from "zod";
3188
- var pcb_ground_plane = z152.object({
3189
- type: z152.literal("pcb_ground_plane"),
3218
+ import { z as z153 } from "zod";
3219
+ var pcb_ground_plane = z153.object({
3220
+ type: z153.literal("pcb_ground_plane"),
3190
3221
  pcb_ground_plane_id: getZodPrefixedIdWithDefault("pcb_ground_plane"),
3191
- source_pcb_ground_plane_id: z152.string(),
3192
- source_net_id: z152.string(),
3193
- pcb_group_id: z152.string().optional(),
3194
- subcircuit_id: z152.string().optional()
3222
+ source_pcb_ground_plane_id: z153.string(),
3223
+ source_net_id: z153.string(),
3224
+ pcb_group_id: z153.string().optional(),
3225
+ subcircuit_id: z153.string().optional()
3195
3226
  }).describe("Defines a ground plane on the PCB");
3196
3227
  expectTypesMatch(true);
3197
3228
 
3198
3229
  // src/pcb/pcb_ground_plane_region.ts
3199
- import { z as z153 } from "zod";
3200
- var pcb_ground_plane_region = z153.object({
3201
- type: z153.literal("pcb_ground_plane_region"),
3230
+ import { z as z154 } from "zod";
3231
+ var pcb_ground_plane_region = z154.object({
3232
+ type: z154.literal("pcb_ground_plane_region"),
3202
3233
  pcb_ground_plane_region_id: getZodPrefixedIdWithDefault(
3203
3234
  "pcb_ground_plane_region"
3204
3235
  ),
3205
- pcb_ground_plane_id: z153.string(),
3206
- pcb_group_id: z153.string().optional(),
3207
- subcircuit_id: z153.string().optional(),
3236
+ pcb_ground_plane_id: z154.string(),
3237
+ pcb_group_id: z154.string().optional(),
3238
+ subcircuit_id: z154.string().optional(),
3208
3239
  layer: layer_ref,
3209
- points: z153.array(point)
3240
+ points: z154.array(point)
3210
3241
  }).describe("Defines a polygon region of a ground plane");
3211
3242
  expectTypesMatch(true);
3212
3243
 
3213
3244
  // src/pcb/pcb_thermal_spoke.ts
3214
- import { z as z154 } from "zod";
3215
- var pcb_thermal_spoke = z154.object({
3216
- type: z154.literal("pcb_thermal_spoke"),
3245
+ import { z as z155 } from "zod";
3246
+ var pcb_thermal_spoke = z155.object({
3247
+ type: z155.literal("pcb_thermal_spoke"),
3217
3248
  pcb_thermal_spoke_id: getZodPrefixedIdWithDefault("pcb_thermal_spoke"),
3218
- pcb_ground_plane_id: z154.string(),
3219
- shape: z154.string(),
3220
- spoke_count: z154.number(),
3249
+ pcb_ground_plane_id: z155.string(),
3250
+ shape: z155.string(),
3251
+ spoke_count: z155.number(),
3221
3252
  spoke_thickness: distance,
3222
3253
  spoke_inner_diameter: distance,
3223
3254
  spoke_outer_diameter: distance,
3224
- pcb_plated_hole_id: z154.string().optional(),
3225
- subcircuit_id: z154.string().optional()
3255
+ pcb_plated_hole_id: z155.string().optional(),
3256
+ subcircuit_id: z155.string().optional()
3226
3257
  }).describe("Pattern for connecting a ground plane to a plated hole");
3227
3258
  expectTypesMatch(true);
3228
3259
 
3229
3260
  // src/pcb/pcb_copper_pour.ts
3230
- import { z as z155 } from "zod";
3231
- var pcb_copper_pour_base = z155.object({
3232
- type: z155.literal("pcb_copper_pour"),
3261
+ import { z as z156 } from "zod";
3262
+ var pcb_copper_pour_base = z156.object({
3263
+ type: z156.literal("pcb_copper_pour"),
3233
3264
  pcb_copper_pour_id: getZodPrefixedIdWithDefault("pcb_copper_pour"),
3234
- pcb_group_id: z155.string().optional(),
3235
- subcircuit_id: z155.string().optional(),
3265
+ pcb_group_id: z156.string().optional(),
3266
+ subcircuit_id: z156.string().optional(),
3236
3267
  layer: layer_ref,
3237
- source_net_id: z155.string().optional(),
3238
- covered_with_solder_mask: z155.boolean().optional().default(true)
3268
+ source_net_id: z156.string().optional(),
3269
+ covered_with_solder_mask: z156.boolean().optional().default(true)
3239
3270
  });
3240
3271
  var pcb_copper_pour_rect = pcb_copper_pour_base.extend({
3241
- shape: z155.literal("rect"),
3272
+ shape: z156.literal("rect"),
3242
3273
  center: point,
3243
3274
  width: length,
3244
3275
  height: length,
@@ -3246,16 +3277,16 @@ var pcb_copper_pour_rect = pcb_copper_pour_base.extend({
3246
3277
  });
3247
3278
  expectTypesMatch(true);
3248
3279
  var pcb_copper_pour_brep = pcb_copper_pour_base.extend({
3249
- shape: z155.literal("brep"),
3280
+ shape: z156.literal("brep"),
3250
3281
  brep_shape
3251
3282
  });
3252
3283
  expectTypesMatch(true);
3253
3284
  var pcb_copper_pour_polygon = pcb_copper_pour_base.extend({
3254
- shape: z155.literal("polygon"),
3255
- points: z155.array(point)
3285
+ shape: z156.literal("polygon"),
3286
+ points: z156.array(point)
3256
3287
  });
3257
3288
  expectTypesMatch(true);
3258
- var pcb_copper_pour = z155.discriminatedUnion("shape", [
3289
+ var pcb_copper_pour = z156.discriminatedUnion("shape", [
3259
3290
  pcb_copper_pour_rect,
3260
3291
  pcb_copper_pour_brep,
3261
3292
  pcb_copper_pour_polygon
@@ -3263,99 +3294,99 @@ var pcb_copper_pour = z155.discriminatedUnion("shape", [
3263
3294
  expectTypesMatch(true);
3264
3295
 
3265
3296
  // src/pcb/pcb_component_outside_board_error.ts
3266
- import { z as z156 } from "zod";
3297
+ import { z as z157 } from "zod";
3267
3298
  var pcb_component_outside_board_error = base_circuit_json_error.extend({
3268
- type: z156.literal("pcb_component_outside_board_error"),
3299
+ type: z157.literal("pcb_component_outside_board_error"),
3269
3300
  pcb_component_outside_board_error_id: getZodPrefixedIdWithDefault(
3270
3301
  "pcb_component_outside_board_error"
3271
3302
  ),
3272
- error_type: z156.literal("pcb_component_outside_board_error").default("pcb_component_outside_board_error"),
3273
- pcb_component_id: z156.string(),
3274
- pcb_board_id: z156.string(),
3303
+ error_type: z157.literal("pcb_component_outside_board_error").default("pcb_component_outside_board_error"),
3304
+ pcb_component_id: z157.string(),
3305
+ pcb_board_id: z157.string(),
3275
3306
  component_center: point,
3276
- component_bounds: z156.object({
3277
- min_x: z156.number(),
3278
- max_x: z156.number(),
3279
- min_y: z156.number(),
3280
- max_y: z156.number()
3307
+ component_bounds: z157.object({
3308
+ min_x: z157.number(),
3309
+ max_x: z157.number(),
3310
+ min_y: z157.number(),
3311
+ max_y: z157.number()
3281
3312
  }),
3282
- subcircuit_id: z156.string().optional(),
3283
- source_component_id: z156.string().optional()
3313
+ subcircuit_id: z157.string().optional(),
3314
+ source_component_id: z157.string().optional()
3284
3315
  }).describe(
3285
3316
  "Error emitted when a PCB component is placed outside the board boundaries"
3286
3317
  );
3287
3318
  expectTypesMatch(true);
3288
3319
 
3289
3320
  // src/pcb/pcb_component_not_on_board_edge_error.ts
3290
- import { z as z157 } from "zod";
3321
+ import { z as z158 } from "zod";
3291
3322
  var pcb_component_not_on_board_edge_error = base_circuit_json_error.extend({
3292
- type: z157.literal("pcb_component_not_on_board_edge_error"),
3323
+ type: z158.literal("pcb_component_not_on_board_edge_error"),
3293
3324
  pcb_component_not_on_board_edge_error_id: getZodPrefixedIdWithDefault(
3294
3325
  "pcb_component_not_on_board_edge_error"
3295
3326
  ),
3296
- error_type: z157.literal("pcb_component_not_on_board_edge_error").default("pcb_component_not_on_board_edge_error"),
3297
- pcb_component_id: z157.string(),
3298
- pcb_board_id: z157.string(),
3327
+ error_type: z158.literal("pcb_component_not_on_board_edge_error").default("pcb_component_not_on_board_edge_error"),
3328
+ pcb_component_id: z158.string(),
3329
+ pcb_board_id: z158.string(),
3299
3330
  component_center: point,
3300
- pad_to_nearest_board_edge_distance: z157.number(),
3301
- source_component_id: z157.string().optional(),
3302
- subcircuit_id: z157.string().optional()
3331
+ pad_to_nearest_board_edge_distance: z158.number(),
3332
+ source_component_id: z158.string().optional(),
3333
+ subcircuit_id: z158.string().optional()
3303
3334
  }).describe(
3304
3335
  "Error emitted when a component that must be placed on the board edge is centered away from the edge"
3305
3336
  );
3306
3337
  expectTypesMatch(true);
3307
3338
 
3308
3339
  // src/pcb/pcb_component_invalid_layer_error.ts
3309
- import { z as z158 } from "zod";
3340
+ import { z as z159 } from "zod";
3310
3341
  var pcb_component_invalid_layer_error = base_circuit_json_error.extend({
3311
- type: z158.literal("pcb_component_invalid_layer_error"),
3342
+ type: z159.literal("pcb_component_invalid_layer_error"),
3312
3343
  pcb_component_invalid_layer_error_id: getZodPrefixedIdWithDefault(
3313
3344
  "pcb_component_invalid_layer_error"
3314
3345
  ),
3315
- error_type: z158.literal("pcb_component_invalid_layer_error").default("pcb_component_invalid_layer_error"),
3316
- pcb_component_id: z158.string().optional(),
3317
- source_component_id: z158.string(),
3346
+ error_type: z159.literal("pcb_component_invalid_layer_error").default("pcb_component_invalid_layer_error"),
3347
+ pcb_component_id: z159.string().optional(),
3348
+ source_component_id: z159.string(),
3318
3349
  layer: layer_ref,
3319
- subcircuit_id: z158.string().optional()
3350
+ subcircuit_id: z159.string().optional()
3320
3351
  }).describe(
3321
3352
  "Error emitted when a component is placed on an invalid layer (components can only be on 'top' or 'bottom' layers)"
3322
3353
  );
3323
3354
  expectTypesMatch(true);
3324
3355
 
3325
3356
  // src/pcb/pcb_via_clearance_error.ts
3326
- import { z as z159 } from "zod";
3357
+ import { z as z160 } from "zod";
3327
3358
  var pcb_via_clearance_error = base_circuit_json_error.extend({
3328
- type: z159.literal("pcb_via_clearance_error"),
3359
+ type: z160.literal("pcb_via_clearance_error"),
3329
3360
  pcb_error_id: getZodPrefixedIdWithDefault("pcb_error"),
3330
- error_type: z159.literal("pcb_via_clearance_error").default("pcb_via_clearance_error"),
3331
- pcb_via_ids: z159.array(z159.string()).min(2),
3361
+ error_type: z160.literal("pcb_via_clearance_error").default("pcb_via_clearance_error"),
3362
+ pcb_via_ids: z160.array(z160.string()).min(2),
3332
3363
  minimum_clearance: distance.optional(),
3333
3364
  actual_clearance: distance.optional(),
3334
- pcb_center: z159.object({
3335
- x: z159.number().optional(),
3336
- y: z159.number().optional()
3365
+ pcb_center: z160.object({
3366
+ x: z160.number().optional(),
3367
+ y: z160.number().optional()
3337
3368
  }).optional(),
3338
- subcircuit_id: z159.string().optional()
3369
+ subcircuit_id: z160.string().optional()
3339
3370
  }).describe("Error emitted when vias are closer than the allowed clearance");
3340
3371
  expectTypesMatch(true);
3341
3372
 
3342
3373
  // src/pcb/pcb_via_trace_clearance_error.ts
3343
- import { z as z160 } from "zod";
3374
+ import { z as z161 } from "zod";
3344
3375
  var pcb_via_trace_clearance_error = base_circuit_json_error.extend({
3345
- type: z160.literal("pcb_via_trace_clearance_error"),
3376
+ type: z161.literal("pcb_via_trace_clearance_error"),
3346
3377
  pcb_via_trace_clearance_error_id: getZodPrefixedIdWithDefault(
3347
3378
  "pcb_via_trace_clearance_error"
3348
3379
  ),
3349
- error_type: z160.literal("pcb_via_trace_clearance_error").default("pcb_via_trace_clearance_error"),
3350
- pcb_via_id: z160.string(),
3351
- pcb_trace_id: z160.string(),
3380
+ error_type: z161.literal("pcb_via_trace_clearance_error").default("pcb_via_trace_clearance_error"),
3381
+ pcb_via_id: z161.string(),
3382
+ pcb_trace_id: z161.string(),
3352
3383
  minimum_clearance: distance.optional(),
3353
3384
  actual_clearance: distance.optional(),
3354
- center: z160.object({
3355
- x: z160.number().optional(),
3356
- y: z160.number().optional()
3385
+ center: z161.object({
3386
+ x: z161.number().optional(),
3387
+ y: z161.number().optional()
3357
3388
  }).optional(),
3358
- subcircuit_id: z160.string().optional()
3389
+ subcircuit_id: z161.string().optional()
3359
3390
  }).describe(
3360
3391
  "Error emitted when a via and trace are closer than the allowed clearance"
3361
3392
  );
@@ -3364,41 +3395,41 @@ expectTypesMatch(
3364
3395
  );
3365
3396
 
3366
3397
  // src/pcb/pcb_pad_pad_clearance_error.ts
3367
- import { z as z161 } from "zod";
3398
+ import { z as z162 } from "zod";
3368
3399
  var pcb_pad_pad_clearance_error = base_circuit_json_error.extend({
3369
- type: z161.literal("pcb_pad_pad_clearance_error"),
3400
+ type: z162.literal("pcb_pad_pad_clearance_error"),
3370
3401
  pcb_pad_pad_clearance_error_id: getZodPrefixedIdWithDefault(
3371
3402
  "pcb_pad_pad_clearance_error"
3372
3403
  ),
3373
- error_type: z161.literal("pcb_pad_pad_clearance_error").default("pcb_pad_pad_clearance_error"),
3374
- pcb_pad_ids: z161.array(z161.string()).min(2),
3404
+ error_type: z162.literal("pcb_pad_pad_clearance_error").default("pcb_pad_pad_clearance_error"),
3405
+ pcb_pad_ids: z162.array(z162.string()).min(2),
3375
3406
  minimum_clearance: distance.optional(),
3376
3407
  actual_clearance: distance.optional(),
3377
- center: z161.object({
3378
- x: z161.number().optional(),
3379
- y: z161.number().optional()
3408
+ center: z162.object({
3409
+ x: z162.number().optional(),
3410
+ y: z162.number().optional()
3380
3411
  }).optional(),
3381
- subcircuit_id: z161.string().optional()
3412
+ subcircuit_id: z162.string().optional()
3382
3413
  }).describe("Error emitted when pads are closer than the allowed clearance");
3383
3414
  expectTypesMatch(true);
3384
3415
 
3385
3416
  // src/pcb/pcb_pad_trace_clearance_error.ts
3386
- import { z as z162 } from "zod";
3417
+ import { z as z163 } from "zod";
3387
3418
  var pcb_pad_trace_clearance_error = base_circuit_json_error.extend({
3388
- type: z162.literal("pcb_pad_trace_clearance_error"),
3419
+ type: z163.literal("pcb_pad_trace_clearance_error"),
3389
3420
  pcb_pad_trace_clearance_error_id: getZodPrefixedIdWithDefault(
3390
3421
  "pcb_pad_trace_clearance_error"
3391
3422
  ),
3392
- error_type: z162.literal("pcb_pad_trace_clearance_error").default("pcb_pad_trace_clearance_error"),
3393
- pcb_pad_id: z162.string(),
3394
- pcb_trace_id: z162.string(),
3423
+ error_type: z163.literal("pcb_pad_trace_clearance_error").default("pcb_pad_trace_clearance_error"),
3424
+ pcb_pad_id: z163.string(),
3425
+ pcb_trace_id: z163.string(),
3395
3426
  minimum_clearance: distance.optional(),
3396
3427
  actual_clearance: distance.optional(),
3397
- center: z162.object({
3398
- x: z162.number().optional(),
3399
- y: z162.number().optional()
3428
+ center: z163.object({
3429
+ x: z163.number().optional(),
3430
+ y: z163.number().optional()
3400
3431
  }).optional(),
3401
- subcircuit_id: z162.string().optional()
3432
+ subcircuit_id: z163.string().optional()
3402
3433
  }).describe(
3403
3434
  "Error emitted when a pad and trace are closer than allowed clearance"
3404
3435
  );
@@ -3407,89 +3438,89 @@ expectTypesMatch(
3407
3438
  );
3408
3439
 
3409
3440
  // src/pcb/pcb_courtyard_rect.ts
3410
- import { z as z163 } from "zod";
3411
- var pcb_courtyard_rect = z163.object({
3412
- type: z163.literal("pcb_courtyard_rect"),
3441
+ import { z as z164 } from "zod";
3442
+ var pcb_courtyard_rect = z164.object({
3443
+ type: z164.literal("pcb_courtyard_rect"),
3413
3444
  pcb_courtyard_rect_id: getZodPrefixedIdWithDefault("pcb_courtyard_rect"),
3414
- pcb_component_id: z163.string(),
3415
- pcb_group_id: z163.string().optional(),
3416
- subcircuit_id: z163.string().optional(),
3445
+ pcb_component_id: z164.string(),
3446
+ pcb_group_id: z164.string().optional(),
3447
+ subcircuit_id: z164.string().optional(),
3417
3448
  center: point,
3418
3449
  width: length,
3419
3450
  height: length,
3420
3451
  layer: visible_layer,
3421
3452
  ccw_rotation: rotation.optional(),
3422
- color: z163.string().optional()
3453
+ color: z164.string().optional()
3423
3454
  }).describe("Defines a courtyard rectangle on the PCB");
3424
3455
  expectTypesMatch(true);
3425
3456
 
3426
3457
  // src/pcb/pcb_courtyard_outline.ts
3427
- import { z as z164 } from "zod";
3428
- var pcb_courtyard_outline = z164.object({
3429
- type: z164.literal("pcb_courtyard_outline"),
3458
+ import { z as z165 } from "zod";
3459
+ var pcb_courtyard_outline = z165.object({
3460
+ type: z165.literal("pcb_courtyard_outline"),
3430
3461
  pcb_courtyard_outline_id: getZodPrefixedIdWithDefault(
3431
3462
  "pcb_courtyard_outline"
3432
3463
  ),
3433
- pcb_component_id: z164.string(),
3434
- pcb_group_id: z164.string().optional(),
3435
- subcircuit_id: z164.string().optional(),
3464
+ pcb_component_id: z165.string(),
3465
+ pcb_group_id: z165.string().optional(),
3466
+ subcircuit_id: z165.string().optional(),
3436
3467
  layer: visible_layer,
3437
- outline: z164.array(point).min(2)
3468
+ outline: z165.array(point).min(2)
3438
3469
  }).describe("Defines a courtyard outline on the PCB");
3439
3470
  expectTypesMatch(true);
3440
3471
 
3441
3472
  // src/pcb/pcb_courtyard_polygon.ts
3442
- import { z as z165 } from "zod";
3443
- var pcb_courtyard_polygon = z165.object({
3444
- type: z165.literal("pcb_courtyard_polygon"),
3473
+ import { z as z166 } from "zod";
3474
+ var pcb_courtyard_polygon = z166.object({
3475
+ type: z166.literal("pcb_courtyard_polygon"),
3445
3476
  pcb_courtyard_polygon_id: getZodPrefixedIdWithDefault(
3446
3477
  "pcb_courtyard_polygon"
3447
3478
  ),
3448
- pcb_component_id: z165.string(),
3449
- pcb_group_id: z165.string().optional(),
3450
- subcircuit_id: z165.string().optional(),
3479
+ pcb_component_id: z166.string(),
3480
+ pcb_group_id: z166.string().optional(),
3481
+ subcircuit_id: z166.string().optional(),
3451
3482
  layer: visible_layer,
3452
- points: z165.array(point).min(3),
3453
- color: z165.string().optional()
3483
+ points: z166.array(point).min(3),
3484
+ color: z166.string().optional()
3454
3485
  }).describe("Defines a courtyard polygon on the PCB");
3455
3486
  expectTypesMatch(true);
3456
3487
 
3457
3488
  // src/pcb/pcb_courtyard_circle.ts
3458
- import { z as z166 } from "zod";
3459
- var pcb_courtyard_circle = z166.object({
3460
- type: z166.literal("pcb_courtyard_circle"),
3489
+ import { z as z167 } from "zod";
3490
+ var pcb_courtyard_circle = z167.object({
3491
+ type: z167.literal("pcb_courtyard_circle"),
3461
3492
  pcb_courtyard_circle_id: getZodPrefixedIdWithDefault(
3462
3493
  "pcb_courtyard_circle"
3463
3494
  ),
3464
- pcb_component_id: z166.string(),
3465
- pcb_group_id: z166.string().optional(),
3466
- subcircuit_id: z166.string().optional(),
3495
+ pcb_component_id: z167.string(),
3496
+ pcb_group_id: z167.string().optional(),
3497
+ subcircuit_id: z167.string().optional(),
3467
3498
  center: point,
3468
3499
  radius: length,
3469
3500
  layer: visible_layer,
3470
- color: z166.string().optional()
3501
+ color: z167.string().optional()
3471
3502
  }).describe("Defines a courtyard circle on the PCB");
3472
3503
  expectTypesMatch(true);
3473
3504
 
3474
3505
  // src/pcb/pcb_courtyard_pill.ts
3475
- import { z as z167 } from "zod";
3476
- var pcb_courtyard_pill = z167.object({
3477
- type: z167.literal("pcb_courtyard_pill"),
3506
+ import { z as z168 } from "zod";
3507
+ var pcb_courtyard_pill = z168.object({
3508
+ type: z168.literal("pcb_courtyard_pill"),
3478
3509
  pcb_courtyard_pill_id: getZodPrefixedIdWithDefault("pcb_courtyard_pill"),
3479
- pcb_component_id: z167.string(),
3480
- pcb_group_id: z167.string().optional(),
3481
- subcircuit_id: z167.string().optional(),
3510
+ pcb_component_id: z168.string(),
3511
+ pcb_group_id: z168.string().optional(),
3512
+ subcircuit_id: z168.string().optional(),
3482
3513
  center: point,
3483
3514
  width: length,
3484
3515
  height: length,
3485
3516
  radius: length,
3486
3517
  layer: visible_layer,
3487
- color: z167.string().optional()
3518
+ color: z168.string().optional()
3488
3519
  }).describe("Defines a courtyard pill on the PCB");
3489
3520
  expectTypesMatch(true);
3490
3521
 
3491
3522
  // src/cad/cad_component.ts
3492
- import { z as z168 } from "zod";
3523
+ import { z as z169 } from "zod";
3493
3524
 
3494
3525
  // src/cad/cad_model_conventions.ts
3495
3526
  var cad_model_formats = [
@@ -3520,49 +3551,49 @@ var cadModelDefaultDirectionMap = {
3520
3551
  };
3521
3552
 
3522
3553
  // src/cad/cad_component.ts
3523
- var cad_component = z168.object({
3524
- type: z168.literal("cad_component"),
3525
- cad_component_id: z168.string(),
3526
- pcb_component_id: z168.string(),
3527
- source_component_id: z168.string(),
3554
+ var cad_component = z169.object({
3555
+ type: z169.literal("cad_component"),
3556
+ cad_component_id: z169.string(),
3557
+ pcb_component_id: z169.string(),
3558
+ source_component_id: z169.string(),
3528
3559
  position: point3,
3529
3560
  rotation: point3.optional(),
3530
3561
  size: point3.optional(),
3531
3562
  layer: layer_ref.optional(),
3532
- subcircuit_id: z168.string().optional(),
3563
+ subcircuit_id: z169.string().optional(),
3533
3564
  // These are all ways to generate/load the 3d model
3534
- footprinter_string: z168.string().optional(),
3535
- model_obj_url: z168.string().optional(),
3536
- model_stl_url: z168.string().optional(),
3537
- model_3mf_url: z168.string().optional(),
3538
- model_gltf_url: z168.string().optional(),
3539
- model_glb_url: z168.string().optional(),
3540
- model_step_url: z168.string().optional(),
3541
- model_wrl_url: z168.string().optional(),
3565
+ footprinter_string: z169.string().optional(),
3566
+ model_obj_url: z169.string().optional(),
3567
+ model_stl_url: z169.string().optional(),
3568
+ model_3mf_url: z169.string().optional(),
3569
+ model_gltf_url: z169.string().optional(),
3570
+ model_glb_url: z169.string().optional(),
3571
+ model_step_url: z169.string().optional(),
3572
+ model_wrl_url: z169.string().optional(),
3542
3573
  model_asset: asset.optional(),
3543
- model_unit_to_mm_scale_factor: z168.number().optional(),
3544
- model_board_normal_direction: z168.enum(cad_model_axis_directions).optional().describe(
3574
+ model_unit_to_mm_scale_factor: z169.number().optional(),
3575
+ model_board_normal_direction: z169.enum(cad_model_axis_directions).optional().describe(
3545
3576
  `The direction in the model's coordinate space that is considered "up" or "coming out of the board surface"`
3546
3577
  ),
3547
3578
  model_origin_position: point3.optional(),
3548
- model_origin_alignment: z168.enum([
3579
+ model_origin_alignment: z169.enum([
3549
3580
  "unknown",
3550
3581
  "center",
3551
3582
  "center_of_component_on_board_surface",
3552
3583
  "bottom_center_of_component"
3553
3584
  ]).optional(),
3554
- model_object_fit: z168.enum(["contain_within_bounds", "fill_bounds"]).optional().default("contain_within_bounds"),
3555
- model_jscad: z168.any().optional(),
3556
- show_as_translucent_model: z168.boolean().optional(),
3557
- show_as_bounding_box: z168.boolean().optional(),
3558
- anchor_alignment: z168.enum(["center", "center_of_component_on_board_surface"]).optional().default("center")
3585
+ model_object_fit: z169.enum(["contain_within_bounds", "fill_bounds"]).optional().default("contain_within_bounds"),
3586
+ model_jscad: z169.any().optional(),
3587
+ show_as_translucent_model: z169.boolean().optional(),
3588
+ show_as_bounding_box: z169.boolean().optional(),
3589
+ anchor_alignment: z169.enum(["center", "center_of_component_on_board_surface"]).optional().default("center")
3559
3590
  }).describe("Defines a component on the PCB");
3560
3591
  expectTypesMatch(true);
3561
3592
 
3562
3593
  // src/simulation/simulation_voltage_source.ts
3563
- import { z as z169 } from "zod";
3564
- var wave_shape = z169.enum(["sinewave", "square", "triangle", "sawtooth"]);
3565
- var percentage = z169.union([z169.string(), z169.number()]).transform((val) => {
3594
+ import { z as z170 } from "zod";
3595
+ var wave_shape = z170.enum(["sinewave", "square", "triangle", "sawtooth"]);
3596
+ var percentage = z170.union([z170.string(), z170.number()]).transform((val) => {
3566
3597
  if (typeof val === "string") {
3567
3598
  if (val.endsWith("%")) {
3568
3599
  return parseFloat(val.slice(0, -1)) / 100;
@@ -3571,32 +3602,32 @@ var percentage = z169.union([z169.string(), z169.number()]).transform((val) => {
3571
3602
  }
3572
3603
  return val;
3573
3604
  }).pipe(
3574
- z169.number().min(0, "Duty cycle must be non-negative").max(1, "Duty cycle cannot be greater than 100%")
3605
+ z170.number().min(0, "Duty cycle must be non-negative").max(1, "Duty cycle cannot be greater than 100%")
3575
3606
  );
3576
- var simulation_dc_voltage_source = z169.object({
3577
- type: z169.literal("simulation_voltage_source"),
3607
+ var simulation_dc_voltage_source = z170.object({
3608
+ type: z170.literal("simulation_voltage_source"),
3578
3609
  simulation_voltage_source_id: getZodPrefixedIdWithDefault(
3579
3610
  "simulation_voltage_source"
3580
3611
  ),
3581
- is_dc_source: z169.literal(true).optional().default(true),
3582
- positive_source_port_id: z169.string().optional(),
3583
- negative_source_port_id: z169.string().optional(),
3584
- positive_source_net_id: z169.string().optional(),
3585
- negative_source_net_id: z169.string().optional(),
3612
+ is_dc_source: z170.literal(true).optional().default(true),
3613
+ positive_source_port_id: z170.string().optional(),
3614
+ negative_source_port_id: z170.string().optional(),
3615
+ positive_source_net_id: z170.string().optional(),
3616
+ negative_source_net_id: z170.string().optional(),
3586
3617
  voltage,
3587
3618
  ac_magnitude: voltage.optional(),
3588
3619
  ac_phase: rotation.optional()
3589
3620
  }).describe("Defines a DC voltage source for simulation");
3590
- var simulation_ac_voltage_source = z169.object({
3591
- type: z169.literal("simulation_voltage_source"),
3621
+ var simulation_ac_voltage_source = z170.object({
3622
+ type: z170.literal("simulation_voltage_source"),
3592
3623
  simulation_voltage_source_id: getZodPrefixedIdWithDefault(
3593
3624
  "simulation_voltage_source"
3594
3625
  ),
3595
- is_dc_source: z169.literal(false),
3596
- terminal1_source_port_id: z169.string().optional(),
3597
- terminal2_source_port_id: z169.string().optional(),
3598
- terminal1_source_net_id: z169.string().optional(),
3599
- terminal2_source_net_id: z169.string().optional(),
3626
+ is_dc_source: z170.literal(false),
3627
+ terminal1_source_port_id: z170.string().optional(),
3628
+ terminal2_source_port_id: z170.string().optional(),
3629
+ terminal1_source_net_id: z170.string().optional(),
3630
+ terminal2_source_net_id: z170.string().optional(),
3600
3631
  voltage: voltage.optional(),
3601
3632
  frequency: frequency.optional(),
3602
3633
  peak_to_peak_voltage: voltage.optional(),
@@ -3611,14 +3642,14 @@ var simulation_ac_voltage_source = z169.object({
3611
3642
  ac_magnitude: voltage.optional(),
3612
3643
  ac_phase: rotation.optional()
3613
3644
  }).describe("Defines an AC voltage source for simulation");
3614
- var simulation_voltage_source = z169.union([simulation_dc_voltage_source, simulation_ac_voltage_source]).describe("Defines a voltage source for simulation");
3645
+ var simulation_voltage_source = z170.union([simulation_dc_voltage_source, simulation_ac_voltage_source]).describe("Defines a voltage source for simulation");
3615
3646
  expectTypesMatch(true);
3616
3647
  expectTypesMatch(true);
3617
3648
  expectTypesMatch(true);
3618
3649
 
3619
3650
  // src/simulation/simulation_current_source.ts
3620
- import { z as z170 } from "zod";
3621
- var percentage2 = z170.union([z170.string(), z170.number()]).transform((val) => {
3651
+ import { z as z171 } from "zod";
3652
+ var percentage2 = z171.union([z171.string(), z171.number()]).transform((val) => {
3622
3653
  if (typeof val === "string") {
3623
3654
  if (val.endsWith("%")) {
3624
3655
  return parseFloat(val.slice(0, -1)) / 100;
@@ -3627,32 +3658,32 @@ var percentage2 = z170.union([z170.string(), z170.number()]).transform((val) =>
3627
3658
  }
3628
3659
  return val;
3629
3660
  }).pipe(
3630
- z170.number().min(0, "Duty cycle must be non-negative").max(1, "Duty cycle cannot be greater than 100%")
3661
+ z171.number().min(0, "Duty cycle must be non-negative").max(1, "Duty cycle cannot be greater than 100%")
3631
3662
  );
3632
- var simulation_dc_current_source = z170.object({
3633
- type: z170.literal("simulation_current_source"),
3663
+ var simulation_dc_current_source = z171.object({
3664
+ type: z171.literal("simulation_current_source"),
3634
3665
  simulation_current_source_id: getZodPrefixedIdWithDefault(
3635
3666
  "simulation_current_source"
3636
3667
  ),
3637
- is_dc_source: z170.literal(true).optional().default(true),
3638
- positive_source_port_id: z170.string().optional(),
3639
- negative_source_port_id: z170.string().optional(),
3640
- positive_source_net_id: z170.string().optional(),
3641
- negative_source_net_id: z170.string().optional(),
3668
+ is_dc_source: z171.literal(true).optional().default(true),
3669
+ positive_source_port_id: z171.string().optional(),
3670
+ negative_source_port_id: z171.string().optional(),
3671
+ positive_source_net_id: z171.string().optional(),
3672
+ negative_source_net_id: z171.string().optional(),
3642
3673
  current,
3643
3674
  ac_magnitude: current.optional(),
3644
3675
  ac_phase: rotation.optional()
3645
3676
  }).describe("Defines a DC current source for simulation");
3646
- var simulation_ac_current_source = z170.object({
3647
- type: z170.literal("simulation_current_source"),
3677
+ var simulation_ac_current_source = z171.object({
3678
+ type: z171.literal("simulation_current_source"),
3648
3679
  simulation_current_source_id: getZodPrefixedIdWithDefault(
3649
3680
  "simulation_current_source"
3650
3681
  ),
3651
- is_dc_source: z170.literal(false),
3652
- terminal1_source_port_id: z170.string().optional(),
3653
- terminal2_source_port_id: z170.string().optional(),
3654
- terminal1_source_net_id: z170.string().optional(),
3655
- terminal2_source_net_id: z170.string().optional(),
3682
+ is_dc_source: z171.literal(false),
3683
+ terminal1_source_port_id: z171.string().optional(),
3684
+ terminal2_source_port_id: z171.string().optional(),
3685
+ terminal1_source_net_id: z171.string().optional(),
3686
+ terminal2_source_net_id: z171.string().optional(),
3656
3687
  current: current.optional(),
3657
3688
  frequency: frequency.optional(),
3658
3689
  peak_to_peak_current: current.optional(),
@@ -3662,58 +3693,58 @@ var simulation_ac_current_source = z170.object({
3662
3693
  ac_magnitude: current.optional(),
3663
3694
  ac_phase: rotation.optional()
3664
3695
  }).describe("Defines an AC current source for simulation");
3665
- var simulation_current_source = z170.union([simulation_dc_current_source, simulation_ac_current_source]).describe("Defines a current source for simulation");
3696
+ var simulation_current_source = z171.union([simulation_dc_current_source, simulation_ac_current_source]).describe("Defines a current source for simulation");
3666
3697
  expectTypesMatch(true);
3667
3698
  expectTypesMatch(true);
3668
3699
  expectTypesMatch(true);
3669
3700
 
3670
3701
  // src/simulation/simulation_experiment.ts
3671
- import { z as z172 } from "zod";
3702
+ import { z as z173 } from "zod";
3672
3703
 
3673
3704
  // src/simulation/simulation_units.ts
3674
- import { z as z171 } from "zod";
3675
- var simulation_dc_sweep_unit = z171.custom(
3705
+ import { z as z172 } from "zod";
3706
+ var simulation_dc_sweep_unit = z172.custom(
3676
3707
  (dcSweepUnit) => dcSweepUnit === "V" || dcSweepUnit === "A"
3677
3708
  );
3678
- var simulation_parameter_unit = z171.custom(
3709
+ var simulation_parameter_unit = z172.custom(
3679
3710
  (parameterUnit) => parameterUnit === "\u03A9" || parameterUnit === "F" || parameterUnit === "H" || parameterUnit === "V" || parameterUnit === "A"
3680
3711
  );
3681
3712
 
3682
3713
  // src/simulation/simulation_experiment.ts
3683
- var experiment_type = z172.union([
3684
- z172.literal("spice_dc_sweep"),
3685
- z172.literal("spice_dc_operating_point"),
3686
- z172.literal("spice_transient_analysis"),
3687
- z172.literal("spice_ac_analysis")
3714
+ var experiment_type = z173.union([
3715
+ z173.literal("spice_dc_sweep"),
3716
+ z173.literal("spice_dc_operating_point"),
3717
+ z173.literal("spice_transient_analysis"),
3718
+ z173.literal("spice_ac_analysis")
3688
3719
  ]);
3689
- var spice_simulation_options = z172.object({
3690
- method: z172.enum(["trap", "gear"]).optional(),
3691
- reltol: z172.union([z172.number(), z172.string()]).optional(),
3692
- abstol: z172.union([z172.number(), z172.string()]).optional(),
3693
- vntol: z172.union([z172.number(), z172.string()]).optional()
3720
+ var spice_simulation_options = z173.object({
3721
+ method: z173.enum(["trap", "gear"]).optional(),
3722
+ reltol: z173.union([z173.number(), z173.string()]).optional(),
3723
+ abstol: z173.union([z173.number(), z173.string()]).optional(),
3724
+ vntol: z173.union([z173.number(), z173.string()]).optional()
3694
3725
  }).describe("SPICE solver options for a simulation experiment");
3695
- var simulation_experiment = z172.object({
3696
- type: z172.literal("simulation_experiment"),
3726
+ var simulation_experiment = z173.object({
3727
+ type: z173.literal("simulation_experiment"),
3697
3728
  simulation_experiment_id: getZodPrefixedIdWithDefault(
3698
3729
  "simulation_experiment"
3699
3730
  ),
3700
- name: z172.string(),
3731
+ name: z173.string(),
3701
3732
  experiment_type,
3702
3733
  time_per_step: duration_ms.optional(),
3703
3734
  start_time_ms: ms.optional(),
3704
3735
  end_time_ms: ms.optional(),
3705
3736
  spice_options: spice_simulation_options.optional(),
3706
- dc_sweep_voltage_source_id: z172.string().optional(),
3707
- dc_sweep_current_source_id: z172.string().optional(),
3708
- dc_sweep_start: z172.number().optional(),
3709
- dc_sweep_stop: z172.number().optional(),
3710
- dc_sweep_step: z172.number().refine((dcSweepStep) => dcSweepStep !== 0).optional(),
3737
+ dc_sweep_voltage_source_id: z173.string().optional(),
3738
+ dc_sweep_current_source_id: z173.string().optional(),
3739
+ dc_sweep_start: z173.number().optional(),
3740
+ dc_sweep_stop: z173.number().optional(),
3741
+ dc_sweep_step: z173.number().refine((dcSweepStep) => dcSweepStep !== 0).optional(),
3711
3742
  dc_sweep_unit: simulation_dc_sweep_unit.optional(),
3712
- ac_sweep_type: z172.enum(["linear", "decade", "octave"]).optional(),
3713
- ac_samples_per_interval: z172.number().int().positive().optional(),
3714
- ac_sample_count: z172.number().int().positive().optional(),
3715
- ac_start_frequency_hz: z172.number().positive().optional(),
3716
- ac_stop_frequency_hz: z172.number().positive().optional()
3743
+ ac_sweep_type: z173.enum(["linear", "decade", "octave"]).optional(),
3744
+ ac_samples_per_interval: z173.number().int().positive().optional(),
3745
+ ac_sample_count: z173.number().int().positive().optional(),
3746
+ ac_start_frequency_hz: z173.number().positive().optional(),
3747
+ ac_stop_frequency_hz: z173.number().positive().optional()
3717
3748
  }).superRefine((experiment, context) => {
3718
3749
  if (experiment.experiment_type === "spice_dc_sweep") {
3719
3750
  const requiredFields = [
@@ -3725,7 +3756,7 @@ var simulation_experiment = z172.object({
3725
3756
  for (const field of requiredFields) {
3726
3757
  if (experiment[field] === void 0) {
3727
3758
  context.addIssue({
3728
- code: z172.ZodIssueCode.custom,
3759
+ code: z173.ZodIssueCode.custom,
3729
3760
  path: [field],
3730
3761
  message: `${field} is required for a DC sweep`
3731
3762
  });
@@ -3735,7 +3766,7 @@ var simulation_experiment = z172.object({
3735
3766
  const hasCurrentSource = experiment.dc_sweep_current_source_id !== void 0;
3736
3767
  if (hasVoltageSource === hasCurrentSource) {
3737
3768
  context.addIssue({
3738
- code: z172.ZodIssueCode.custom,
3769
+ code: z173.ZodIssueCode.custom,
3739
3770
  path: ["dc_sweep_voltage_source_id"],
3740
3771
  message: "Exactly one DC sweep voltage or current source ID is required"
3741
3772
  });
@@ -3744,35 +3775,35 @@ var simulation_experiment = z172.object({
3744
3775
  if (experiment.experiment_type === "spice_ac_analysis") {
3745
3776
  if (experiment.ac_sweep_type === void 0) {
3746
3777
  context.addIssue({
3747
- code: z172.ZodIssueCode.custom,
3778
+ code: z173.ZodIssueCode.custom,
3748
3779
  path: ["ac_sweep_type"],
3749
3780
  message: "ac_sweep_type is required for an AC analysis"
3750
3781
  });
3751
3782
  }
3752
3783
  if (experiment.ac_start_frequency_hz === void 0) {
3753
3784
  context.addIssue({
3754
- code: z172.ZodIssueCode.custom,
3785
+ code: z173.ZodIssueCode.custom,
3755
3786
  path: ["ac_start_frequency_hz"],
3756
3787
  message: "ac_start_frequency_hz is required for an AC analysis"
3757
3788
  });
3758
3789
  }
3759
3790
  if (experiment.ac_stop_frequency_hz === void 0) {
3760
3791
  context.addIssue({
3761
- code: z172.ZodIssueCode.custom,
3792
+ code: z173.ZodIssueCode.custom,
3762
3793
  path: ["ac_stop_frequency_hz"],
3763
3794
  message: "ac_stop_frequency_hz is required for an AC analysis"
3764
3795
  });
3765
3796
  }
3766
3797
  if (experiment.ac_sweep_type === "linear" && experiment.ac_sample_count === void 0) {
3767
3798
  context.addIssue({
3768
- code: z172.ZodIssueCode.custom,
3799
+ code: z173.ZodIssueCode.custom,
3769
3800
  path: ["ac_sample_count"],
3770
3801
  message: "ac_sample_count is required for a linear AC analysis"
3771
3802
  });
3772
3803
  }
3773
3804
  if ((experiment.ac_sweep_type === "decade" || experiment.ac_sweep_type === "octave") && experiment.ac_samples_per_interval === void 0) {
3774
3805
  context.addIssue({
3775
- code: z172.ZodIssueCode.custom,
3806
+ code: z173.ZodIssueCode.custom,
3776
3807
  path: ["ac_samples_per_interval"],
3777
3808
  message: "ac_samples_per_interval is required for decade and octave AC analyses"
3778
3809
  });
@@ -3782,87 +3813,87 @@ var simulation_experiment = z172.object({
3782
3813
  expectTypesMatch(true);
3783
3814
 
3784
3815
  // src/simulation/simulation_transient_voltage_graph.ts
3785
- import { z as z174 } from "zod";
3816
+ import { z as z175 } from "zod";
3786
3817
 
3787
3818
  // src/simulation/simulation_parameter_sweep_coordinate.ts
3788
- import { z as z173 } from "zod";
3789
- var simulation_parameter_sweep_coordinate = z173.object({
3790
- simulation_parameter_sweep_id: z173.string(),
3791
- sweep_index: z173.number().int().nonnegative(),
3792
- parameter_value: z173.number(),
3819
+ import { z as z174 } from "zod";
3820
+ var simulation_parameter_sweep_coordinate = z174.object({
3821
+ simulation_parameter_sweep_id: z174.string(),
3822
+ sweep_index: z174.number().int().nonnegative(),
3823
+ parameter_value: z174.number(),
3793
3824
  parameter_unit: simulation_parameter_unit
3794
3825
  });
3795
3826
  expectTypesMatch(true);
3796
3827
 
3797
3828
  // src/simulation/simulation_transient_voltage_graph.ts
3798
- var simulation_transient_voltage_graph = z174.object({
3799
- type: z174.literal("simulation_transient_voltage_graph"),
3829
+ var simulation_transient_voltage_graph = z175.object({
3830
+ type: z175.literal("simulation_transient_voltage_graph"),
3800
3831
  simulation_transient_voltage_graph_id: getZodPrefixedIdWithDefault(
3801
3832
  "simulation_transient_voltage_graph"
3802
3833
  ),
3803
- simulation_experiment_id: z174.string(),
3834
+ simulation_experiment_id: z175.string(),
3804
3835
  simulation_parameter_sweep_coordinate: simulation_parameter_sweep_coordinate.optional(),
3805
- timestamps_ms: z174.array(z174.number()).optional(),
3806
- voltage_levels: z174.array(z174.number()),
3807
- source_component_id: z174.string().optional(),
3808
- subcircuit_connectivity_map_key: z174.string().optional(),
3836
+ timestamps_ms: z175.array(z175.number()).optional(),
3837
+ voltage_levels: z175.array(z175.number()),
3838
+ source_component_id: z175.string().optional(),
3839
+ subcircuit_connectivity_map_key: z175.string().optional(),
3809
3840
  time_per_step: duration_ms,
3810
3841
  start_time_ms: ms,
3811
3842
  end_time_ms: ms,
3812
- name: z174.string().optional(),
3813
- color: z174.string().optional()
3843
+ name: z175.string().optional(),
3844
+ color: z175.string().optional()
3814
3845
  }).describe("Stores voltage measurements over time for a simulation");
3815
3846
  expectTypesMatch(true);
3816
3847
 
3817
3848
  // src/simulation/simulation_transient_current_graph.ts
3818
- import { z as z175 } from "zod";
3819
- var simulation_transient_current_graph = z175.object({
3820
- type: z175.literal("simulation_transient_current_graph"),
3849
+ import { z as z176 } from "zod";
3850
+ var simulation_transient_current_graph = z176.object({
3851
+ type: z176.literal("simulation_transient_current_graph"),
3821
3852
  simulation_transient_current_graph_id: getZodPrefixedIdWithDefault(
3822
3853
  "simulation_transient_current_graph"
3823
3854
  ),
3824
- simulation_experiment_id: z175.string(),
3855
+ simulation_experiment_id: z176.string(),
3825
3856
  simulation_parameter_sweep_coordinate: simulation_parameter_sweep_coordinate.optional(),
3826
- timestamps_ms: z175.array(z175.number()).optional(),
3827
- current_levels: z175.array(z175.number()),
3828
- source_component_id: z175.string().optional(),
3829
- subcircuit_connectivity_map_key: z175.string().optional(),
3857
+ timestamps_ms: z176.array(z176.number()).optional(),
3858
+ current_levels: z176.array(z176.number()),
3859
+ source_component_id: z176.string().optional(),
3860
+ subcircuit_connectivity_map_key: z176.string().optional(),
3830
3861
  time_per_step: duration_ms,
3831
3862
  start_time_ms: ms,
3832
3863
  end_time_ms: ms,
3833
- name: z175.string().optional(),
3834
- color: z175.string().optional()
3864
+ name: z176.string().optional(),
3865
+ color: z176.string().optional()
3835
3866
  }).describe("Stores current measurements over time for a simulation");
3836
3867
  expectTypesMatch(true);
3837
3868
 
3838
3869
  // src/simulation/simulation_switch.ts
3839
- import { z as z176 } from "zod";
3840
- var simulation_switch = z176.object({
3841
- type: z176.literal("simulation_switch"),
3870
+ import { z as z177 } from "zod";
3871
+ var simulation_switch = z177.object({
3872
+ type: z177.literal("simulation_switch"),
3842
3873
  simulation_switch_id: getZodPrefixedIdWithDefault("simulation_switch"),
3843
- source_component_id: z176.string().optional(),
3874
+ source_component_id: z177.string().optional(),
3844
3875
  closes_at: ms.optional(),
3845
3876
  opens_at: ms.optional(),
3846
- starts_closed: z176.boolean().optional(),
3877
+ starts_closed: z177.boolean().optional(),
3847
3878
  switching_frequency: frequency.optional()
3848
3879
  }).describe("Defines a switch for simulation timing control");
3849
3880
  expectTypesMatch(true);
3850
3881
 
3851
3882
  // src/simulation/simulation_voltage_probe.ts
3852
- import { z as z177 } from "zod";
3853
- var simulation_voltage_probe = z177.object({
3854
- type: z177.literal("simulation_voltage_probe"),
3883
+ import { z as z178 } from "zod";
3884
+ var simulation_voltage_probe = z178.object({
3885
+ type: z178.literal("simulation_voltage_probe"),
3855
3886
  simulation_voltage_probe_id: getZodPrefixedIdWithDefault(
3856
3887
  "simulation_voltage_probe"
3857
3888
  ),
3858
- source_component_id: z177.string().optional(),
3859
- name: z177.string().optional(),
3860
- signal_input_source_port_id: z177.string().optional(),
3861
- signal_input_source_net_id: z177.string().optional(),
3862
- reference_input_source_port_id: z177.string().optional(),
3863
- reference_input_source_net_id: z177.string().optional(),
3864
- subcircuit_id: z177.string().optional(),
3865
- color: z177.string().optional()
3889
+ source_component_id: z178.string().optional(),
3890
+ name: z178.string().optional(),
3891
+ signal_input_source_port_id: z178.string().optional(),
3892
+ signal_input_source_net_id: z178.string().optional(),
3893
+ reference_input_source_port_id: z178.string().optional(),
3894
+ reference_input_source_net_id: z178.string().optional(),
3895
+ subcircuit_id: z178.string().optional(),
3896
+ color: z178.string().optional()
3866
3897
  }).describe(
3867
3898
  "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."
3868
3899
  ).superRefine((data, ctx) => {
@@ -3872,20 +3903,20 @@ var simulation_voltage_probe = z177.object({
3872
3903
  const has_nets = !!data.signal_input_source_net_id || !!data.reference_input_source_net_id;
3873
3904
  if (has_ports && has_nets) {
3874
3905
  ctx.addIssue({
3875
- code: z177.ZodIssueCode.custom,
3906
+ code: z178.ZodIssueCode.custom,
3876
3907
  message: "Cannot mix port and net connections in a differential probe."
3877
3908
  });
3878
3909
  } else if (has_ports) {
3879
3910
  if (!data.signal_input_source_port_id || !data.reference_input_source_port_id) {
3880
3911
  ctx.addIssue({
3881
- code: z177.ZodIssueCode.custom,
3912
+ code: z178.ZodIssueCode.custom,
3882
3913
  message: "Differential port probe requires both signal_input_source_port_id and reference_input_source_port_id."
3883
3914
  });
3884
3915
  }
3885
3916
  } else if (has_nets) {
3886
3917
  if (!data.signal_input_source_net_id || !data.reference_input_source_net_id) {
3887
3918
  ctx.addIssue({
3888
- code: z177.ZodIssueCode.custom,
3919
+ code: z178.ZodIssueCode.custom,
3889
3920
  message: "Differential net probe requires both signal_input_source_net_id and reference_input_source_net_id."
3890
3921
  });
3891
3922
  }
@@ -3893,7 +3924,7 @@ var simulation_voltage_probe = z177.object({
3893
3924
  } else {
3894
3925
  if (!!data.signal_input_source_port_id === !!data.signal_input_source_net_id) {
3895
3926
  ctx.addIssue({
3896
- code: z177.ZodIssueCode.custom,
3927
+ code: z178.ZodIssueCode.custom,
3897
3928
  message: "A voltage probe must have exactly one of signal_input_source_port_id or signal_input_source_net_id."
3898
3929
  });
3899
3930
  }
@@ -3902,20 +3933,20 @@ var simulation_voltage_probe = z177.object({
3902
3933
  expectTypesMatch(true);
3903
3934
 
3904
3935
  // src/simulation/simulation_current_probe.ts
3905
- import { z as z178 } from "zod";
3906
- var simulation_current_probe = z178.object({
3907
- type: z178.literal("simulation_current_probe"),
3936
+ import { z as z179 } from "zod";
3937
+ var simulation_current_probe = z179.object({
3938
+ type: z179.literal("simulation_current_probe"),
3908
3939
  simulation_current_probe_id: getZodPrefixedIdWithDefault(
3909
3940
  "simulation_current_probe"
3910
3941
  ),
3911
- source_component_id: z178.string().optional(),
3912
- name: z178.string().optional(),
3913
- positive_source_port_id: z178.string().optional(),
3914
- negative_source_port_id: z178.string().optional(),
3915
- positive_source_net_id: z178.string().optional(),
3916
- negative_source_net_id: z178.string().optional(),
3917
- subcircuit_id: z178.string().optional(),
3918
- color: z178.string().optional()
3942
+ source_component_id: z179.string().optional(),
3943
+ name: z179.string().optional(),
3944
+ positive_source_port_id: z179.string().optional(),
3945
+ negative_source_port_id: z179.string().optional(),
3946
+ positive_source_net_id: z179.string().optional(),
3947
+ negative_source_net_id: z179.string().optional(),
3948
+ subcircuit_id: z179.string().optional(),
3949
+ color: z179.string().optional()
3919
3950
  }).describe(
3920
3951
  "Defines a current probe for simulation. It measures current flowing from the positive endpoint to the negative endpoint."
3921
3952
  ).superRefine((data, ctx) => {
@@ -3927,7 +3958,7 @@ var simulation_current_probe = z178.object({
3927
3958
  const hasNets = hasPositiveNet || hasNegativeNet;
3928
3959
  if (hasPorts && hasNets) {
3929
3960
  ctx.addIssue({
3930
- code: z178.ZodIssueCode.custom,
3961
+ code: z179.ZodIssueCode.custom,
3931
3962
  message: "Cannot mix port and net connections in a current probe."
3932
3963
  });
3933
3964
  return;
@@ -3935,7 +3966,7 @@ var simulation_current_probe = z178.object({
3935
3966
  if (hasPorts) {
3936
3967
  if (!hasPositivePort || !hasNegativePort) {
3937
3968
  ctx.addIssue({
3938
- code: z178.ZodIssueCode.custom,
3969
+ code: z179.ZodIssueCode.custom,
3939
3970
  message: "Current probe using source ports requires both positive_source_port_id and negative_source_port_id."
3940
3971
  });
3941
3972
  }
@@ -3944,71 +3975,71 @@ var simulation_current_probe = z178.object({
3944
3975
  if (hasNets) {
3945
3976
  if (!hasPositiveNet || !hasNegativeNet) {
3946
3977
  ctx.addIssue({
3947
- code: z178.ZodIssueCode.custom,
3978
+ code: z179.ZodIssueCode.custom,
3948
3979
  message: "Current probe using source nets requires both positive_source_net_id and negative_source_net_id."
3949
3980
  });
3950
3981
  }
3951
3982
  return;
3952
3983
  }
3953
3984
  ctx.addIssue({
3954
- code: z178.ZodIssueCode.custom,
3985
+ code: z179.ZodIssueCode.custom,
3955
3986
  message: "A current probe must have either positive/negative source port ids or positive/negative source net ids."
3956
3987
  });
3957
3988
  });
3958
3989
  expectTypesMatch(true);
3959
3990
 
3960
3991
  // src/simulation/simulation_unknown_experiment_error.ts
3961
- import { z as z179 } from "zod";
3992
+ import { z as z180 } from "zod";
3962
3993
  var simulation_unknown_experiment_error = base_circuit_json_error.extend({
3963
- type: z179.literal("simulation_unknown_experiment_error"),
3994
+ type: z180.literal("simulation_unknown_experiment_error"),
3964
3995
  simulation_unknown_experiment_error_id: getZodPrefixedIdWithDefault(
3965
3996
  "simulation_unknown_experiment_error"
3966
3997
  ),
3967
- error_type: z179.literal("simulation_unknown_experiment_error").default("simulation_unknown_experiment_error"),
3968
- simulation_experiment_id: z179.string().optional(),
3969
- subcircuit_id: z179.string().optional()
3998
+ error_type: z180.literal("simulation_unknown_experiment_error").default("simulation_unknown_experiment_error"),
3999
+ simulation_experiment_id: z180.string().optional(),
4000
+ subcircuit_id: z180.string().optional()
3970
4001
  }).describe("An unknown error occurred during the simulation experiment.");
3971
4002
  expectTypesMatch(true);
3972
4003
 
3973
4004
  // src/simulation/simulation_parameter_sweep.ts
3974
- import { z as z180 } from "zod";
3975
- var simulation_parameter_type = z180.enum([
4005
+ import { z as z181 } from "zod";
4006
+ var simulation_parameter_type = z181.enum([
3976
4007
  "resistance",
3977
4008
  "capacitance",
3978
4009
  "inductance",
3979
4010
  "voltage",
3980
4011
  "current"
3981
4012
  ]);
3982
- var simulation_parameter_sweep_base = z180.object({
3983
- type: z180.literal("simulation_parameter_sweep"),
4013
+ var simulation_parameter_sweep_base = z181.object({
4014
+ type: z181.literal("simulation_parameter_sweep"),
3984
4015
  simulation_parameter_sweep_id: getZodPrefixedIdWithDefault(
3985
4016
  "simulation_parameter_sweep"
3986
4017
  ),
3987
- simulation_experiment_id: z180.string(),
3988
- name: z180.string().optional(),
3989
- parameter_values: z180.array(z180.number()).min(1),
4018
+ simulation_experiment_id: z181.string(),
4019
+ name: z181.string().optional(),
4020
+ parameter_values: z181.array(z181.number()).min(1),
3990
4021
  parameter_unit: simulation_parameter_unit
3991
4022
  });
3992
- var simulation_parameter_sweep = z180.discriminatedUnion("parameter_type", [
4023
+ var simulation_parameter_sweep = z181.discriminatedUnion("parameter_type", [
3993
4024
  simulation_parameter_sweep_base.extend({
3994
- parameter_type: z180.literal("resistance"),
3995
- resistor_source_component_id: z180.string()
4025
+ parameter_type: z181.literal("resistance"),
4026
+ resistor_source_component_id: z181.string()
3996
4027
  }),
3997
4028
  simulation_parameter_sweep_base.extend({
3998
- parameter_type: z180.literal("capacitance"),
3999
- capacitor_source_component_id: z180.string()
4029
+ parameter_type: z181.literal("capacitance"),
4030
+ capacitor_source_component_id: z181.string()
4000
4031
  }),
4001
4032
  simulation_parameter_sweep_base.extend({
4002
- parameter_type: z180.literal("inductance"),
4003
- inductor_source_component_id: z180.string()
4033
+ parameter_type: z181.literal("inductance"),
4034
+ inductor_source_component_id: z181.string()
4004
4035
  }),
4005
4036
  simulation_parameter_sweep_base.extend({
4006
- parameter_type: z180.literal("voltage"),
4007
- source_net_id: z180.string()
4037
+ parameter_type: z181.literal("voltage"),
4038
+ source_net_id: z181.string()
4008
4039
  }),
4009
4040
  simulation_parameter_sweep_base.extend({
4010
- parameter_type: z180.literal("current"),
4011
- current_source_component_id: z180.string()
4041
+ parameter_type: z181.literal("current"),
4042
+ current_source_component_id: z181.string()
4012
4043
  })
4013
4044
  ]).describe("Repeats a simulation experiment over component parameter values");
4014
4045
  expectTypesMatch(
@@ -4016,52 +4047,52 @@ expectTypesMatch(
4016
4047
  );
4017
4048
 
4018
4049
  // src/simulation/simulation_dc_operating_point_voltage.ts
4019
- import { z as z181 } from "zod";
4020
- var simulation_dc_operating_point_voltage = z181.object({
4021
- type: z181.literal("simulation_dc_operating_point_voltage"),
4050
+ import { z as z182 } from "zod";
4051
+ var simulation_dc_operating_point_voltage = z182.object({
4052
+ type: z182.literal("simulation_dc_operating_point_voltage"),
4022
4053
  simulation_dc_operating_point_voltage_id: getZodPrefixedIdWithDefault(
4023
4054
  "simulation_dc_operating_point_voltage"
4024
4055
  ),
4025
- simulation_experiment_id: z181.string(),
4056
+ simulation_experiment_id: z182.string(),
4026
4057
  simulation_parameter_sweep_coordinate: simulation_parameter_sweep_coordinate.optional(),
4027
- simulation_voltage_probe_id: z181.string(),
4028
- voltage: z181.number(),
4029
- name: z181.string().optional(),
4030
- color: z181.string().optional()
4058
+ simulation_voltage_probe_id: z182.string(),
4059
+ voltage: z182.number(),
4060
+ name: z182.string().optional(),
4061
+ color: z182.string().optional()
4031
4062
  });
4032
4063
  expectTypesMatch(true);
4033
4064
 
4034
4065
  // src/simulation/simulation_dc_operating_point_current.ts
4035
- import { z as z182 } from "zod";
4036
- var simulation_dc_operating_point_current = z182.object({
4037
- type: z182.literal("simulation_dc_operating_point_current"),
4066
+ import { z as z183 } from "zod";
4067
+ var simulation_dc_operating_point_current = z183.object({
4068
+ type: z183.literal("simulation_dc_operating_point_current"),
4038
4069
  simulation_dc_operating_point_current_id: getZodPrefixedIdWithDefault(
4039
4070
  "simulation_dc_operating_point_current"
4040
4071
  ),
4041
- simulation_experiment_id: z182.string(),
4072
+ simulation_experiment_id: z183.string(),
4042
4073
  simulation_parameter_sweep_coordinate: simulation_parameter_sweep_coordinate.optional(),
4043
- simulation_current_probe_id: z182.string(),
4044
- current: z182.number(),
4045
- name: z182.string().optional(),
4046
- color: z182.string().optional()
4074
+ simulation_current_probe_id: z183.string(),
4075
+ current: z183.number(),
4076
+ name: z183.string().optional(),
4077
+ color: z183.string().optional()
4047
4078
  });
4048
4079
  expectTypesMatch(true);
4049
4080
 
4050
4081
  // src/simulation/simulation_dc_sweep_voltage_graph.ts
4051
- import { z as z183 } from "zod";
4052
- var simulation_dc_sweep_voltage_graph = z183.object({
4053
- type: z183.literal("simulation_dc_sweep_voltage_graph"),
4082
+ import { z as z184 } from "zod";
4083
+ var simulation_dc_sweep_voltage_graph = z184.object({
4084
+ type: z184.literal("simulation_dc_sweep_voltage_graph"),
4054
4085
  simulation_dc_sweep_voltage_graph_id: getZodPrefixedIdWithDefault(
4055
4086
  "simulation_dc_sweep_voltage_graph"
4056
4087
  ),
4057
- simulation_experiment_id: z183.string(),
4088
+ simulation_experiment_id: z184.string(),
4058
4089
  simulation_parameter_sweep_coordinate: simulation_parameter_sweep_coordinate.optional(),
4059
- simulation_voltage_probe_id: z183.string(),
4060
- sweep_values: z183.array(z183.number()),
4090
+ simulation_voltage_probe_id: z184.string(),
4091
+ sweep_values: z184.array(z184.number()),
4061
4092
  sweep_unit: simulation_dc_sweep_unit,
4062
- voltage_levels: z183.array(z183.number()),
4063
- name: z183.string().optional(),
4064
- color: z183.string().optional()
4093
+ voltage_levels: z184.array(z184.number()),
4094
+ name: z184.string().optional(),
4095
+ color: z184.string().optional()
4065
4096
  }).refine(
4066
4097
  (graph) => graph.sweep_values.length === graph.voltage_levels.length,
4067
4098
  {
@@ -4071,20 +4102,20 @@ var simulation_dc_sweep_voltage_graph = z183.object({
4071
4102
  expectTypesMatch(true);
4072
4103
 
4073
4104
  // src/simulation/simulation_dc_sweep_current_graph.ts
4074
- import { z as z184 } from "zod";
4075
- var simulation_dc_sweep_current_graph = z184.object({
4076
- type: z184.literal("simulation_dc_sweep_current_graph"),
4105
+ import { z as z185 } from "zod";
4106
+ var simulation_dc_sweep_current_graph = z185.object({
4107
+ type: z185.literal("simulation_dc_sweep_current_graph"),
4077
4108
  simulation_dc_sweep_current_graph_id: getZodPrefixedIdWithDefault(
4078
4109
  "simulation_dc_sweep_current_graph"
4079
4110
  ),
4080
- simulation_experiment_id: z184.string(),
4111
+ simulation_experiment_id: z185.string(),
4081
4112
  simulation_parameter_sweep_coordinate: simulation_parameter_sweep_coordinate.optional(),
4082
- simulation_current_probe_id: z184.string(),
4083
- sweep_values: z184.array(z184.number()),
4113
+ simulation_current_probe_id: z185.string(),
4114
+ sweep_values: z185.array(z185.number()),
4084
4115
  sweep_unit: simulation_dc_sweep_unit,
4085
- current_levels: z184.array(z184.number()),
4086
- name: z184.string().optional(),
4087
- color: z184.string().optional()
4116
+ current_levels: z185.array(z185.number()),
4117
+ name: z185.string().optional(),
4118
+ color: z185.string().optional()
4088
4119
  }).refine(
4089
4120
  (graph) => graph.sweep_values.length === graph.current_levels.length,
4090
4121
  {
@@ -4094,29 +4125,29 @@ var simulation_dc_sweep_current_graph = z184.object({
4094
4125
  expectTypesMatch(true);
4095
4126
 
4096
4127
  // src/simulation/simulation_ac_sweep_voltage_graph.ts
4097
- import { z as z186 } from "zod";
4128
+ import { z as z187 } from "zod";
4098
4129
 
4099
4130
  // src/simulation/simulation_complex_sample.ts
4100
- import { z as z185 } from "zod";
4101
- var simulation_complex_sample = z185.object({
4102
- re: z185.number(),
4103
- im: z185.number()
4131
+ import { z as z186 } from "zod";
4132
+ var simulation_complex_sample = z186.object({
4133
+ re: z186.number(),
4134
+ im: z186.number()
4104
4135
  });
4105
4136
  expectTypesMatch(true);
4106
4137
 
4107
4138
  // src/simulation/simulation_ac_sweep_voltage_graph.ts
4108
- var simulation_ac_sweep_voltage_graph = z186.object({
4109
- type: z186.literal("simulation_ac_sweep_voltage_graph"),
4139
+ var simulation_ac_sweep_voltage_graph = z187.object({
4140
+ type: z187.literal("simulation_ac_sweep_voltage_graph"),
4110
4141
  simulation_ac_sweep_voltage_graph_id: getZodPrefixedIdWithDefault(
4111
4142
  "simulation_ac_sweep_voltage_graph"
4112
4143
  ),
4113
- simulation_experiment_id: z186.string(),
4144
+ simulation_experiment_id: z187.string(),
4114
4145
  simulation_parameter_sweep_coordinate: simulation_parameter_sweep_coordinate.optional(),
4115
- simulation_voltage_probe_id: z186.string(),
4116
- frequencies_hz: z186.array(z186.number()),
4117
- complex_voltages: z186.array(simulation_complex_sample),
4118
- name: z186.string().optional(),
4119
- color: z186.string().optional()
4146
+ simulation_voltage_probe_id: z187.string(),
4147
+ frequencies_hz: z187.array(z187.number()),
4148
+ complex_voltages: z187.array(simulation_complex_sample),
4149
+ name: z187.string().optional(),
4150
+ color: z187.string().optional()
4120
4151
  }).refine(
4121
4152
  (graph) => graph.frequencies_hz.length === graph.complex_voltages.length,
4122
4153
  {
@@ -4126,19 +4157,19 @@ var simulation_ac_sweep_voltage_graph = z186.object({
4126
4157
  expectTypesMatch(true);
4127
4158
 
4128
4159
  // src/simulation/simulation_ac_sweep_current_graph.ts
4129
- import { z as z187 } from "zod";
4130
- var simulation_ac_sweep_current_graph = z187.object({
4131
- type: z187.literal("simulation_ac_sweep_current_graph"),
4160
+ import { z as z188 } from "zod";
4161
+ var simulation_ac_sweep_current_graph = z188.object({
4162
+ type: z188.literal("simulation_ac_sweep_current_graph"),
4132
4163
  simulation_ac_sweep_current_graph_id: getZodPrefixedIdWithDefault(
4133
4164
  "simulation_ac_sweep_current_graph"
4134
4165
  ),
4135
- simulation_experiment_id: z187.string(),
4166
+ simulation_experiment_id: z188.string(),
4136
4167
  simulation_parameter_sweep_coordinate: simulation_parameter_sweep_coordinate.optional(),
4137
- simulation_current_probe_id: z187.string(),
4138
- frequencies_hz: z187.array(z187.number()),
4139
- complex_currents: z187.array(simulation_complex_sample),
4140
- name: z187.string().optional(),
4141
- color: z187.string().optional()
4168
+ simulation_current_probe_id: z188.string(),
4169
+ frequencies_hz: z188.array(z188.number()),
4170
+ complex_currents: z188.array(simulation_complex_sample),
4171
+ name: z188.string().optional(),
4172
+ color: z188.string().optional()
4142
4173
  }).refine(
4143
4174
  (graph) => graph.frequencies_hz.length === graph.complex_currents.length,
4144
4175
  {
@@ -4148,52 +4179,52 @@ var simulation_ac_sweep_current_graph = z187.object({
4148
4179
  expectTypesMatch(true);
4149
4180
 
4150
4181
  // src/simulation/simulation_op_amp.ts
4151
- import { z as z188 } from "zod";
4152
- var simulation_op_amp = z188.object({
4153
- type: z188.literal("simulation_op_amp"),
4182
+ import { z as z189 } from "zod";
4183
+ var simulation_op_amp = z189.object({
4184
+ type: z189.literal("simulation_op_amp"),
4154
4185
  simulation_op_amp_id: getZodPrefixedIdWithDefault("simulation_op_amp"),
4155
- source_component_id: z188.string().optional(),
4156
- inverting_input_source_port_id: z188.string(),
4157
- non_inverting_input_source_port_id: z188.string(),
4158
- output_source_port_id: z188.string(),
4159
- positive_supply_source_port_id: z188.string(),
4160
- negative_supply_source_port_id: z188.string()
4186
+ source_component_id: z189.string().optional(),
4187
+ inverting_input_source_port_id: z189.string(),
4188
+ non_inverting_input_source_port_id: z189.string(),
4189
+ output_source_port_id: z189.string(),
4190
+ positive_supply_source_port_id: z189.string(),
4191
+ negative_supply_source_port_id: z189.string()
4161
4192
  }).describe("Defines a simple ideal operational amplifier for simulation");
4162
4193
  expectTypesMatch(true);
4163
4194
 
4164
4195
  // src/simulation/simulation_spice_subcircuit.ts
4165
- import { z as z189 } from "zod";
4166
- var simulation_spice_subcircuit = z189.object({
4167
- type: z189.literal("simulation_spice_subcircuit"),
4196
+ import { z as z190 } from "zod";
4197
+ var simulation_spice_subcircuit = z190.object({
4198
+ type: z190.literal("simulation_spice_subcircuit"),
4168
4199
  simulation_spice_subcircuit_id: getZodPrefixedIdWithDefault(
4169
4200
  "simulation_spice_subcircuit"
4170
4201
  ),
4171
- source_component_id: z189.string(),
4172
- spice_pin_to_source_port_map: z189.record(z189.string(), z189.string()),
4173
- subcircuit_source: z189.string()
4202
+ source_component_id: z190.string(),
4203
+ spice_pin_to_source_port_map: z190.record(z190.string(), z190.string()),
4204
+ subcircuit_source: z190.string()
4174
4205
  }).describe("Defines a custom SPICE subcircuit model for simulation");
4175
4206
  expectTypesMatch(
4176
4207
  true
4177
4208
  );
4178
4209
 
4179
4210
  // src/simulation/simulation_oscilloscope_trace.ts
4180
- import { z as z190 } from "zod";
4211
+ import { z as z191 } from "zod";
4181
4212
  var hasValue = (value) => value !== void 0;
4182
- var simulation_oscilloscope_trace = z190.object({
4183
- type: z190.literal("simulation_oscilloscope_trace"),
4213
+ var simulation_oscilloscope_trace = z191.object({
4214
+ type: z191.literal("simulation_oscilloscope_trace"),
4184
4215
  simulation_oscilloscope_trace_id: getZodPrefixedIdWithDefault(
4185
4216
  "simulation_oscilloscope_trace"
4186
4217
  ),
4187
- simulation_transient_voltage_graph_id: z190.string().optional(),
4188
- simulation_transient_current_graph_id: z190.string().optional(),
4189
- simulation_voltage_probe_id: z190.string().optional(),
4190
- simulation_current_probe_id: z190.string().optional(),
4191
- display_name: z190.string().optional(),
4192
- color: z190.string().optional(),
4193
- display_center_value: z190.number().optional(),
4194
- display_center_offset_divs: z190.number().optional(),
4195
- volts_per_div: z190.number().positive().optional(),
4196
- amps_per_div: z190.number().positive().optional()
4218
+ simulation_transient_voltage_graph_id: z191.string().optional(),
4219
+ simulation_transient_current_graph_id: z191.string().optional(),
4220
+ simulation_voltage_probe_id: z191.string().optional(),
4221
+ simulation_current_probe_id: z191.string().optional(),
4222
+ display_name: z191.string().optional(),
4223
+ color: z191.string().optional(),
4224
+ display_center_value: z191.number().optional(),
4225
+ display_center_offset_divs: z191.number().optional(),
4226
+ volts_per_div: z191.number().positive().optional(),
4227
+ amps_per_div: z191.number().positive().optional()
4197
4228
  }).describe(
4198
4229
  "Defines how a simulation measurement is rendered as an oscilloscope-style trace."
4199
4230
  ).superRefine((data, ctx) => {
@@ -4207,19 +4238,19 @@ var simulation_oscilloscope_trace = z190.object({
4207
4238
  ].filter(hasValue).length;
4208
4239
  if (voltageReferences + currentReferences !== 1) {
4209
4240
  ctx.addIssue({
4210
- code: z190.ZodIssueCode.custom,
4241
+ code: z191.ZodIssueCode.custom,
4211
4242
  message: "An oscilloscope trace must reference exactly one voltage graph, current graph, voltage probe, or current probe."
4212
4243
  });
4213
4244
  }
4214
4245
  if (voltageReferences > 0 && data.amps_per_div !== void 0) {
4215
4246
  ctx.addIssue({
4216
- code: z190.ZodIssueCode.custom,
4247
+ code: z191.ZodIssueCode.custom,
4217
4248
  message: "Voltage oscilloscope traces must use volts_per_div, not amps_per_div."
4218
4249
  });
4219
4250
  }
4220
4251
  if (currentReferences > 0 && data.volts_per_div !== void 0) {
4221
4252
  ctx.addIssue({
4222
- code: z190.ZodIssueCode.custom,
4253
+ code: z191.ZodIssueCode.custom,
4223
4254
  message: "Current oscilloscope traces must use amps_per_div, not volts_per_div."
4224
4255
  });
4225
4256
  }
@@ -4227,8 +4258,8 @@ var simulation_oscilloscope_trace = z190.object({
4227
4258
  expectTypesMatch(true);
4228
4259
 
4229
4260
  // src/any_circuit_element.ts
4230
- import { z as z191 } from "zod";
4231
- var any_circuit_element = z191.union([
4261
+ import { z as z192 } from "zod";
4262
+ var any_circuit_element = z192.union([
4232
4263
  source_trace,
4233
4264
  source_port,
4234
4265
  source_component_internal_connection,
@@ -4307,6 +4338,7 @@ var any_circuit_element = z191.union([
4307
4338
  pcb_trace_error,
4308
4339
  pcb_trace_missing_error,
4309
4340
  pcb_placement_error,
4341
+ pcb_packing_error,
4310
4342
  pcb_panelization_placement_error,
4311
4343
  pcb_port_not_matched_error,
4312
4344
  pcb_port_not_connected_error,
@@ -4481,6 +4513,7 @@ export {
4481
4513
  pcb_note_path,
4482
4514
  pcb_note_rect,
4483
4515
  pcb_note_text,
4516
+ pcb_packing_error,
4484
4517
  pcb_pad_pad_clearance_error,
4485
4518
  pcb_pad_trace_clearance_error,
4486
4519
  pcb_panel,