circuit-json 0.0.431 → 0.0.433

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
@@ -1264,6 +1264,7 @@ var schematic_path = z69.object({
1264
1264
  schematic_symbol_id: z69.string().optional(),
1265
1265
  fill_color: z69.string().optional(),
1266
1266
  is_filled: z69.boolean().optional(),
1267
+ is_dashed: z69.boolean().default(false),
1267
1268
  stroke_width: distance.nullable().optional(),
1268
1269
  stroke_color: z69.string().optional(),
1269
1270
  dash_length: distance.optional(),
@@ -2715,243 +2716,266 @@ var pcb_silkscreen_oval = z120.object({
2715
2716
  }).describe("Defines a silkscreen oval on the PCB");
2716
2717
  expectTypesMatch(true);
2717
2718
 
2718
- // src/pcb/pcb_silkscreen_pill.ts
2719
+ // src/pcb/pcb_silkscreen_graphic.ts
2719
2720
  import { z as z121 } from "zod";
2720
- var pcb_silkscreen_pill = z121.object({
2721
- type: z121.literal("pcb_silkscreen_pill"),
2722
- pcb_silkscreen_pill_id: getZodPrefixedIdWithDefault("pcb_silkscreen_pill"),
2721
+ var pcb_silkscreen_graphic_base = z121.object({
2722
+ type: z121.literal("pcb_silkscreen_graphic"),
2723
+ pcb_silkscreen_graphic_id: getZodPrefixedIdWithDefault(
2724
+ "pcb_silkscreen_graphic"
2725
+ ),
2723
2726
  pcb_component_id: z121.string(),
2724
2727
  pcb_group_id: z121.string().optional(),
2725
2728
  subcircuit_id: z121.string().optional(),
2729
+ layer: visible_layer,
2730
+ image_asset: asset.optional()
2731
+ });
2732
+ var pcb_silkscreen_graphic_brep = pcb_silkscreen_graphic_base.extend({
2733
+ shape: z121.literal("brep"),
2734
+ brep_shape
2735
+ }).describe("Defines a BRep silkscreen graphic on the PCB");
2736
+ expectTypesMatch(
2737
+ true
2738
+ );
2739
+ var pcb_silkscreen_graphic = z121.discriminatedUnion("shape", [pcb_silkscreen_graphic_brep]).describe("Defines a silkscreen graphic on the PCB");
2740
+ expectTypesMatch(true);
2741
+
2742
+ // src/pcb/pcb_silkscreen_pill.ts
2743
+ import { z as z122 } from "zod";
2744
+ var pcb_silkscreen_pill = z122.object({
2745
+ type: z122.literal("pcb_silkscreen_pill"),
2746
+ pcb_silkscreen_pill_id: getZodPrefixedIdWithDefault("pcb_silkscreen_pill"),
2747
+ pcb_component_id: z122.string(),
2748
+ pcb_group_id: z122.string().optional(),
2749
+ subcircuit_id: z122.string().optional(),
2726
2750
  center: point,
2727
2751
  width: length,
2728
2752
  height: length,
2729
2753
  layer: layer_ref,
2730
- ccw_rotation: z121.number().optional()
2754
+ ccw_rotation: z122.number().optional()
2731
2755
  }).describe("Defines a silkscreen pill on the PCB");
2732
2756
  expectTypesMatch(true);
2733
2757
 
2734
2758
  // src/pcb/pcb_fabrication_note_text.ts
2735
- import { z as z122 } from "zod";
2736
- var pcb_fabrication_note_text = z122.object({
2737
- type: z122.literal("pcb_fabrication_note_text"),
2759
+ import { z as z123 } from "zod";
2760
+ var pcb_fabrication_note_text = z123.object({
2761
+ type: z123.literal("pcb_fabrication_note_text"),
2738
2762
  pcb_fabrication_note_text_id: getZodPrefixedIdWithDefault(
2739
2763
  "pcb_fabrication_note_text"
2740
2764
  ),
2741
- subcircuit_id: z122.string().optional(),
2742
- pcb_group_id: z122.string().optional(),
2743
- font: z122.literal("tscircuit2024").default("tscircuit2024"),
2765
+ subcircuit_id: z123.string().optional(),
2766
+ pcb_group_id: z123.string().optional(),
2767
+ font: z123.literal("tscircuit2024").default("tscircuit2024"),
2744
2768
  font_size: distance.default("1mm"),
2745
- pcb_component_id: z122.string(),
2746
- text: z122.string(),
2747
- ccw_rotation: z122.number().optional(),
2769
+ pcb_component_id: z123.string(),
2770
+ text: z123.string(),
2771
+ ccw_rotation: z123.number().optional(),
2748
2772
  layer: visible_layer,
2749
2773
  anchor_position: point.default({ x: 0, y: 0 }),
2750
- anchor_alignment: z122.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).default("center"),
2751
- color: z122.string().optional()
2774
+ anchor_alignment: z123.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).default("center"),
2775
+ color: z123.string().optional()
2752
2776
  }).describe(
2753
2777
  "Defines a fabrication note in text on the PCB, useful for leaving notes for assemblers or fabricators"
2754
2778
  );
2755
2779
  expectTypesMatch(true);
2756
2780
 
2757
2781
  // src/pcb/pcb_fabrication_note_path.ts
2758
- import { z as z123 } from "zod";
2759
- var pcb_fabrication_note_path = z123.object({
2760
- type: z123.literal("pcb_fabrication_note_path"),
2782
+ import { z as z124 } from "zod";
2783
+ var pcb_fabrication_note_path = z124.object({
2784
+ type: z124.literal("pcb_fabrication_note_path"),
2761
2785
  pcb_fabrication_note_path_id: getZodPrefixedIdWithDefault(
2762
2786
  "pcb_fabrication_note_path"
2763
2787
  ),
2764
- pcb_component_id: z123.string(),
2765
- subcircuit_id: z123.string().optional(),
2788
+ pcb_component_id: z124.string(),
2789
+ subcircuit_id: z124.string().optional(),
2766
2790
  layer: layer_ref,
2767
- route: z123.array(point),
2791
+ route: z124.array(point),
2768
2792
  stroke_width: length,
2769
- color: z123.string().optional()
2793
+ color: z124.string().optional()
2770
2794
  }).describe(
2771
2795
  "Defines a fabrication path on the PCB for fabricators or assemblers"
2772
2796
  );
2773
2797
  expectTypesMatch(true);
2774
2798
 
2775
2799
  // src/pcb/pcb_fabrication_note_rect.ts
2776
- import { z as z124 } from "zod";
2777
- var pcb_fabrication_note_rect = z124.object({
2778
- type: z124.literal("pcb_fabrication_note_rect"),
2800
+ import { z as z125 } from "zod";
2801
+ var pcb_fabrication_note_rect = z125.object({
2802
+ type: z125.literal("pcb_fabrication_note_rect"),
2779
2803
  pcb_fabrication_note_rect_id: getZodPrefixedIdWithDefault(
2780
2804
  "pcb_fabrication_note_rect"
2781
2805
  ),
2782
- pcb_component_id: z124.string(),
2783
- pcb_group_id: z124.string().optional(),
2784
- subcircuit_id: z124.string().optional(),
2806
+ pcb_component_id: z125.string(),
2807
+ pcb_group_id: z125.string().optional(),
2808
+ subcircuit_id: z125.string().optional(),
2785
2809
  center: point,
2786
2810
  width: length,
2787
2811
  height: length,
2788
2812
  layer: visible_layer,
2789
2813
  stroke_width: length.default("0.1mm"),
2790
2814
  corner_radius: length.optional(),
2791
- is_filled: z124.boolean().optional(),
2792
- has_stroke: z124.boolean().optional(),
2793
- is_stroke_dashed: z124.boolean().optional(),
2794
- color: z124.string().optional()
2815
+ is_filled: z125.boolean().optional(),
2816
+ has_stroke: z125.boolean().optional(),
2817
+ is_stroke_dashed: z125.boolean().optional(),
2818
+ color: z125.string().optional()
2795
2819
  }).describe("Defines a fabrication note rectangle on the PCB");
2796
2820
  expectTypesMatch(true);
2797
2821
 
2798
2822
  // src/pcb/pcb_fabrication_note_dimension.ts
2799
- import { z as z125 } from "zod";
2800
- var pcb_fabrication_note_dimension = z125.object({
2801
- type: z125.literal("pcb_fabrication_note_dimension"),
2823
+ import { z as z126 } from "zod";
2824
+ var pcb_fabrication_note_dimension = z126.object({
2825
+ type: z126.literal("pcb_fabrication_note_dimension"),
2802
2826
  pcb_fabrication_note_dimension_id: getZodPrefixedIdWithDefault(
2803
2827
  "pcb_fabrication_note_dimension"
2804
2828
  ),
2805
- pcb_component_id: z125.string(),
2806
- pcb_group_id: z125.string().optional(),
2807
- subcircuit_id: z125.string().optional(),
2829
+ pcb_component_id: z126.string(),
2830
+ pcb_group_id: z126.string().optional(),
2831
+ subcircuit_id: z126.string().optional(),
2808
2832
  layer: visible_layer,
2809
2833
  from: point,
2810
2834
  to: point,
2811
- text: z125.string().optional(),
2812
- text_ccw_rotation: z125.number().optional(),
2835
+ text: z126.string().optional(),
2836
+ text_ccw_rotation: z126.number().optional(),
2813
2837
  offset: length.optional(),
2814
2838
  offset_distance: length.optional(),
2815
- offset_direction: z125.object({
2816
- x: z125.number(),
2817
- y: z125.number()
2839
+ offset_direction: z126.object({
2840
+ x: z126.number(),
2841
+ y: z126.number()
2818
2842
  }).optional(),
2819
- font: z125.literal("tscircuit2024").default("tscircuit2024"),
2843
+ font: z126.literal("tscircuit2024").default("tscircuit2024"),
2820
2844
  font_size: length.default("1mm"),
2821
- color: z125.string().optional(),
2845
+ color: z126.string().optional(),
2822
2846
  arrow_size: length.default("1mm")
2823
2847
  }).describe("Defines a measurement annotation within PCB fabrication notes");
2824
2848
  expectTypesMatch(true);
2825
2849
 
2826
2850
  // src/pcb/pcb_note_text.ts
2827
- import { z as z126 } from "zod";
2828
- var pcb_note_text = z126.object({
2829
- type: z126.literal("pcb_note_text"),
2830
- pcb_note_text_id: getZodPrefixedIdWithDefault("pcb_note_text"),
2831
- pcb_component_id: z126.string().optional(),
2832
- pcb_group_id: z126.string().optional(),
2833
- subcircuit_id: z126.string().optional(),
2834
- name: z126.string().optional(),
2835
- font: z126.literal("tscircuit2024").default("tscircuit2024"),
2836
- font_size: distance.default("1mm"),
2837
- text: z126.string().optional(),
2838
- anchor_position: point.default({ x: 0, y: 0 }),
2839
- anchor_alignment: z126.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).default("center"),
2840
- layer: visible_layer.default("top"),
2841
- is_mirrored_from_top_view: z126.boolean().optional(),
2842
- color: z126.string().optional()
2843
- }).describe("Defines a documentation note in text on the PCB");
2844
- expectTypesMatch(true);
2845
-
2846
- // src/pcb/pcb_note_rect.ts
2847
2851
  import { z as z127 } from "zod";
2848
- var pcb_note_rect = z127.object({
2849
- type: z127.literal("pcb_note_rect"),
2850
- pcb_note_rect_id: getZodPrefixedIdWithDefault("pcb_note_rect"),
2852
+ var pcb_note_text = z127.object({
2853
+ type: z127.literal("pcb_note_text"),
2854
+ pcb_note_text_id: getZodPrefixedIdWithDefault("pcb_note_text"),
2851
2855
  pcb_component_id: z127.string().optional(),
2852
2856
  pcb_group_id: z127.string().optional(),
2853
2857
  subcircuit_id: z127.string().optional(),
2854
2858
  name: z127.string().optional(),
2859
+ font: z127.literal("tscircuit2024").default("tscircuit2024"),
2860
+ font_size: distance.default("1mm"),
2855
2861
  text: z127.string().optional(),
2856
- center: point,
2857
- width: length,
2858
- height: length,
2862
+ anchor_position: point.default({ x: 0, y: 0 }),
2863
+ anchor_alignment: z127.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).default("center"),
2859
2864
  layer: visible_layer.default("top"),
2860
- stroke_width: length.default("0.1mm"),
2861
- corner_radius: length.optional(),
2862
- is_filled: z127.boolean().optional(),
2863
- has_stroke: z127.boolean().optional(),
2864
- is_stroke_dashed: z127.boolean().optional(),
2865
+ is_mirrored_from_top_view: z127.boolean().optional(),
2865
2866
  color: z127.string().optional()
2866
- }).describe("Defines a rectangular documentation note on the PCB");
2867
+ }).describe("Defines a documentation note in text on the PCB");
2867
2868
  expectTypesMatch(true);
2868
2869
 
2869
- // src/pcb/pcb_note_path.ts
2870
+ // src/pcb/pcb_note_rect.ts
2870
2871
  import { z as z128 } from "zod";
2871
- var pcb_note_path = z128.object({
2872
- type: z128.literal("pcb_note_path"),
2873
- pcb_note_path_id: getZodPrefixedIdWithDefault("pcb_note_path"),
2872
+ var pcb_note_rect = z128.object({
2873
+ type: z128.literal("pcb_note_rect"),
2874
+ pcb_note_rect_id: getZodPrefixedIdWithDefault("pcb_note_rect"),
2874
2875
  pcb_component_id: z128.string().optional(),
2875
2876
  pcb_group_id: z128.string().optional(),
2876
2877
  subcircuit_id: z128.string().optional(),
2877
2878
  name: z128.string().optional(),
2878
2879
  text: z128.string().optional(),
2879
- route: z128.array(point),
2880
+ center: point,
2881
+ width: length,
2882
+ height: length,
2880
2883
  layer: visible_layer.default("top"),
2881
2884
  stroke_width: length.default("0.1mm"),
2885
+ corner_radius: length.optional(),
2886
+ is_filled: z128.boolean().optional(),
2887
+ has_stroke: z128.boolean().optional(),
2888
+ is_stroke_dashed: z128.boolean().optional(),
2882
2889
  color: z128.string().optional()
2883
- }).describe("Defines a polyline documentation note on the PCB");
2890
+ }).describe("Defines a rectangular documentation note on the PCB");
2884
2891
  expectTypesMatch(true);
2885
2892
 
2886
- // src/pcb/pcb_note_line.ts
2893
+ // src/pcb/pcb_note_path.ts
2887
2894
  import { z as z129 } from "zod";
2888
- var pcb_note_line = z129.object({
2889
- type: z129.literal("pcb_note_line"),
2890
- pcb_note_line_id: getZodPrefixedIdWithDefault("pcb_note_line"),
2895
+ var pcb_note_path = z129.object({
2896
+ type: z129.literal("pcb_note_path"),
2897
+ pcb_note_path_id: getZodPrefixedIdWithDefault("pcb_note_path"),
2891
2898
  pcb_component_id: z129.string().optional(),
2892
2899
  pcb_group_id: z129.string().optional(),
2893
2900
  subcircuit_id: z129.string().optional(),
2894
2901
  name: z129.string().optional(),
2895
2902
  text: z129.string().optional(),
2903
+ route: z129.array(point),
2904
+ layer: visible_layer.default("top"),
2905
+ stroke_width: length.default("0.1mm"),
2906
+ color: z129.string().optional()
2907
+ }).describe("Defines a polyline documentation note on the PCB");
2908
+ expectTypesMatch(true);
2909
+
2910
+ // src/pcb/pcb_note_line.ts
2911
+ import { z as z130 } from "zod";
2912
+ var pcb_note_line = z130.object({
2913
+ type: z130.literal("pcb_note_line"),
2914
+ pcb_note_line_id: getZodPrefixedIdWithDefault("pcb_note_line"),
2915
+ pcb_component_id: z130.string().optional(),
2916
+ pcb_group_id: z130.string().optional(),
2917
+ subcircuit_id: z130.string().optional(),
2918
+ name: z130.string().optional(),
2919
+ text: z130.string().optional(),
2896
2920
  x1: distance,
2897
2921
  y1: distance,
2898
2922
  x2: distance,
2899
2923
  y2: distance,
2900
2924
  layer: visible_layer.default("top"),
2901
2925
  stroke_width: distance.default("0.1mm"),
2902
- color: z129.string().optional(),
2903
- is_dashed: z129.boolean().optional()
2926
+ color: z130.string().optional(),
2927
+ is_dashed: z130.boolean().optional()
2904
2928
  }).describe("Defines a straight documentation note line on the PCB");
2905
2929
  expectTypesMatch(true);
2906
2930
 
2907
2931
  // src/pcb/pcb_note_dimension.ts
2908
- import { z as z130 } from "zod";
2909
- var pcb_note_dimension = z130.object({
2910
- type: z130.literal("pcb_note_dimension"),
2932
+ import { z as z131 } from "zod";
2933
+ var pcb_note_dimension = z131.object({
2934
+ type: z131.literal("pcb_note_dimension"),
2911
2935
  pcb_note_dimension_id: getZodPrefixedIdWithDefault("pcb_note_dimension"),
2912
- pcb_component_id: z130.string().optional(),
2913
- pcb_group_id: z130.string().optional(),
2914
- subcircuit_id: z130.string().optional(),
2915
- name: z130.string().optional(),
2936
+ pcb_component_id: z131.string().optional(),
2937
+ pcb_group_id: z131.string().optional(),
2938
+ subcircuit_id: z131.string().optional(),
2939
+ name: z131.string().optional(),
2916
2940
  from: point,
2917
2941
  to: point,
2918
- text: z130.string().optional(),
2919
- text_ccw_rotation: z130.number().optional(),
2942
+ text: z131.string().optional(),
2943
+ text_ccw_rotation: z131.number().optional(),
2920
2944
  offset_distance: length.optional(),
2921
- offset_direction: z130.object({
2922
- x: z130.number(),
2923
- y: z130.number()
2945
+ offset_direction: z131.object({
2946
+ x: z131.number(),
2947
+ y: z131.number()
2924
2948
  }).optional(),
2925
- font: z130.literal("tscircuit2024").default("tscircuit2024"),
2949
+ font: z131.literal("tscircuit2024").default("tscircuit2024"),
2926
2950
  font_size: length.default("1mm"),
2927
2951
  layer: visible_layer.default("top"),
2928
- color: z130.string().optional(),
2952
+ color: z131.string().optional(),
2929
2953
  arrow_size: length.default("1mm")
2930
2954
  }).describe("Defines a measurement annotation within PCB documentation notes");
2931
2955
  expectTypesMatch(true);
2932
2956
 
2933
2957
  // src/pcb/pcb_footprint_overlap_error.ts
2934
- import { z as z131 } from "zod";
2958
+ import { z as z132 } from "zod";
2935
2959
  var pcb_footprint_overlap_error = base_circuit_json_error.extend({
2936
- type: z131.literal("pcb_footprint_overlap_error"),
2960
+ type: z132.literal("pcb_footprint_overlap_error"),
2937
2961
  pcb_error_id: getZodPrefixedIdWithDefault("pcb_error"),
2938
- error_type: z131.literal("pcb_footprint_overlap_error").default("pcb_footprint_overlap_error"),
2939
- pcb_smtpad_ids: z131.array(z131.string()).optional(),
2940
- pcb_plated_hole_ids: z131.array(z131.string()).optional(),
2941
- pcb_hole_ids: z131.array(z131.string()).optional(),
2942
- pcb_keepout_ids: z131.array(z131.string()).optional()
2962
+ error_type: z132.literal("pcb_footprint_overlap_error").default("pcb_footprint_overlap_error"),
2963
+ pcb_smtpad_ids: z132.array(z132.string()).optional(),
2964
+ pcb_plated_hole_ids: z132.array(z132.string()).optional(),
2965
+ pcb_hole_ids: z132.array(z132.string()).optional(),
2966
+ pcb_keepout_ids: z132.array(z132.string()).optional()
2943
2967
  }).describe("Error emitted when a pcb footprint overlaps with another element");
2944
2968
  expectTypesMatch(
2945
2969
  true
2946
2970
  );
2947
2971
 
2948
2972
  // src/pcb/pcb_courtyard_overlap_error.ts
2949
- import { z as z132 } from "zod";
2973
+ import { z as z133 } from "zod";
2950
2974
  var pcb_courtyard_overlap_error = base_circuit_json_error.extend({
2951
- type: z132.literal("pcb_courtyard_overlap_error"),
2975
+ type: z133.literal("pcb_courtyard_overlap_error"),
2952
2976
  pcb_error_id: getZodPrefixedIdWithDefault("pcb_error"),
2953
- error_type: z132.literal("pcb_courtyard_overlap_error").default("pcb_courtyard_overlap_error"),
2954
- pcb_component_ids: z132.tuple([z132.string(), z132.string()])
2977
+ error_type: z133.literal("pcb_courtyard_overlap_error").default("pcb_courtyard_overlap_error"),
2978
+ pcb_component_ids: z133.tuple([z133.string(), z133.string()])
2955
2979
  }).describe(
2956
2980
  "Error emitted when the courtyard (CrtYd) of one PCB component overlaps with the courtyard of another"
2957
2981
  );
@@ -2960,49 +2984,49 @@ expectTypesMatch(
2960
2984
  );
2961
2985
 
2962
2986
  // src/pcb/pcb_keepout.ts
2963
- import { z as z133 } from "zod";
2964
- var pcb_keepout = z133.object({
2965
- type: z133.literal("pcb_keepout"),
2966
- shape: z133.literal("rect"),
2967
- pcb_group_id: z133.string().optional(),
2968
- subcircuit_id: z133.string().optional(),
2987
+ import { z as z134 } from "zod";
2988
+ var pcb_keepout = z134.object({
2989
+ type: z134.literal("pcb_keepout"),
2990
+ shape: z134.literal("rect"),
2991
+ pcb_group_id: z134.string().optional(),
2992
+ subcircuit_id: z134.string().optional(),
2969
2993
  center: point,
2970
2994
  width: distance,
2971
2995
  height: distance,
2972
- pcb_keepout_id: z133.string(),
2973
- layers: z133.array(z133.string()),
2996
+ pcb_keepout_id: z134.string(),
2997
+ layers: z134.array(z134.string()),
2974
2998
  // Specify layers where the keepout applies
2975
- description: z133.string().optional()
2999
+ description: z134.string().optional()
2976
3000
  // Optional description of the keepout
2977
3001
  }).or(
2978
- z133.object({
2979
- type: z133.literal("pcb_keepout"),
2980
- shape: z133.literal("circle"),
2981
- pcb_group_id: z133.string().optional(),
2982
- subcircuit_id: z133.string().optional(),
3002
+ z134.object({
3003
+ type: z134.literal("pcb_keepout"),
3004
+ shape: z134.literal("circle"),
3005
+ pcb_group_id: z134.string().optional(),
3006
+ subcircuit_id: z134.string().optional(),
2983
3007
  center: point,
2984
3008
  radius: distance,
2985
- pcb_keepout_id: z133.string(),
2986
- layers: z133.array(z133.string()),
3009
+ pcb_keepout_id: z134.string(),
3010
+ layers: z134.array(z134.string()),
2987
3011
  // Specify layers where the keepout applies
2988
- description: z133.string().optional()
3012
+ description: z134.string().optional()
2989
3013
  // Optional description of the keepout
2990
3014
  })
2991
3015
  );
2992
3016
  expectTypesMatch(true);
2993
3017
 
2994
3018
  // src/pcb/pcb_cutout.ts
2995
- import { z as z134 } from "zod";
2996
- var pcb_cutout_base = z134.object({
2997
- type: z134.literal("pcb_cutout"),
3019
+ import { z as z135 } from "zod";
3020
+ var pcb_cutout_base = z135.object({
3021
+ type: z135.literal("pcb_cutout"),
2998
3022
  pcb_cutout_id: getZodPrefixedIdWithDefault("pcb_cutout"),
2999
- pcb_group_id: z134.string().optional(),
3000
- subcircuit_id: z134.string().optional(),
3001
- pcb_board_id: z134.string().optional(),
3002
- pcb_panel_id: z134.string().optional()
3023
+ pcb_group_id: z135.string().optional(),
3024
+ subcircuit_id: z135.string().optional(),
3025
+ pcb_board_id: z135.string().optional(),
3026
+ pcb_panel_id: z135.string().optional()
3003
3027
  });
3004
3028
  var pcb_cutout_rect = pcb_cutout_base.extend({
3005
- shape: z134.literal("rect"),
3029
+ shape: z135.literal("rect"),
3006
3030
  center: point,
3007
3031
  width: length,
3008
3032
  height: length,
@@ -3011,26 +3035,26 @@ var pcb_cutout_rect = pcb_cutout_base.extend({
3011
3035
  });
3012
3036
  expectTypesMatch(true);
3013
3037
  var pcb_cutout_circle = pcb_cutout_base.extend({
3014
- shape: z134.literal("circle"),
3038
+ shape: z135.literal("circle"),
3015
3039
  center: point,
3016
3040
  radius: length
3017
3041
  });
3018
3042
  expectTypesMatch(true);
3019
3043
  var pcb_cutout_polygon = pcb_cutout_base.extend({
3020
- shape: z134.literal("polygon"),
3021
- points: z134.array(point)
3044
+ shape: z135.literal("polygon"),
3045
+ points: z135.array(point)
3022
3046
  });
3023
3047
  expectTypesMatch(true);
3024
3048
  var pcb_cutout_path = pcb_cutout_base.extend({
3025
- shape: z134.literal("path"),
3026
- route: z134.array(point),
3049
+ shape: z135.literal("path"),
3050
+ route: z135.array(point),
3027
3051
  slot_width: length,
3028
3052
  slot_length: length.optional(),
3029
3053
  space_between_slots: length.optional(),
3030
3054
  slot_corner_radius: length.optional()
3031
3055
  });
3032
3056
  expectTypesMatch(true);
3033
- var pcb_cutout = z134.discriminatedUnion("shape", [
3057
+ var pcb_cutout = z135.discriminatedUnion("shape", [
3034
3058
  pcb_cutout_rect,
3035
3059
  pcb_cutout_circle,
3036
3060
  pcb_cutout_polygon,
@@ -3039,169 +3063,169 @@ var pcb_cutout = z134.discriminatedUnion("shape", [
3039
3063
  expectTypesMatch(true);
3040
3064
 
3041
3065
  // src/pcb/pcb_missing_footprint_error.ts
3042
- import { z as z135 } from "zod";
3066
+ import { z as z136 } from "zod";
3043
3067
  var pcb_missing_footprint_error = base_circuit_json_error.extend({
3044
- type: z135.literal("pcb_missing_footprint_error"),
3068
+ type: z136.literal("pcb_missing_footprint_error"),
3045
3069
  pcb_missing_footprint_error_id: getZodPrefixedIdWithDefault(
3046
3070
  "pcb_missing_footprint_error"
3047
3071
  ),
3048
- pcb_group_id: z135.string().optional(),
3049
- subcircuit_id: z135.string().optional(),
3050
- error_type: z135.literal("pcb_missing_footprint_error").default("pcb_missing_footprint_error"),
3051
- source_component_id: z135.string()
3072
+ pcb_group_id: z136.string().optional(),
3073
+ subcircuit_id: z136.string().optional(),
3074
+ error_type: z136.literal("pcb_missing_footprint_error").default("pcb_missing_footprint_error"),
3075
+ source_component_id: z136.string()
3052
3076
  }).describe("Defines a missing footprint error on the PCB");
3053
3077
  expectTypesMatch(
3054
3078
  true
3055
3079
  );
3056
3080
 
3057
3081
  // src/pcb/external_footprint_load_error.ts
3058
- import { z as z136 } from "zod";
3082
+ import { z as z137 } from "zod";
3059
3083
  var external_footprint_load_error = base_circuit_json_error.extend({
3060
- type: z136.literal("external_footprint_load_error"),
3084
+ type: z137.literal("external_footprint_load_error"),
3061
3085
  external_footprint_load_error_id: getZodPrefixedIdWithDefault(
3062
3086
  "external_footprint_load_error"
3063
3087
  ),
3064
- pcb_component_id: z136.string(),
3065
- source_component_id: z136.string(),
3066
- pcb_group_id: z136.string().optional(),
3067
- subcircuit_id: z136.string().optional(),
3068
- footprinter_string: z136.string().optional(),
3069
- error_type: z136.literal("external_footprint_load_error").default("external_footprint_load_error")
3088
+ pcb_component_id: z137.string(),
3089
+ source_component_id: z137.string(),
3090
+ pcb_group_id: z137.string().optional(),
3091
+ subcircuit_id: z137.string().optional(),
3092
+ footprinter_string: z137.string().optional(),
3093
+ error_type: z137.literal("external_footprint_load_error").default("external_footprint_load_error")
3070
3094
  }).describe("Defines an error when an external footprint fails to load");
3071
3095
  expectTypesMatch(true);
3072
3096
 
3073
3097
  // src/pcb/circuit_json_footprint_load_error.ts
3074
- import { z as z137 } from "zod";
3098
+ import { z as z138 } from "zod";
3075
3099
  var circuit_json_footprint_load_error = base_circuit_json_error.extend({
3076
- type: z137.literal("circuit_json_footprint_load_error"),
3100
+ type: z138.literal("circuit_json_footprint_load_error"),
3077
3101
  circuit_json_footprint_load_error_id: getZodPrefixedIdWithDefault(
3078
3102
  "circuit_json_footprint_load_error"
3079
3103
  ),
3080
- pcb_component_id: z137.string(),
3081
- source_component_id: z137.string(),
3082
- pcb_group_id: z137.string().optional(),
3083
- subcircuit_id: z137.string().optional(),
3084
- error_type: z137.literal("circuit_json_footprint_load_error").default("circuit_json_footprint_load_error"),
3085
- circuit_json: z137.array(z137.any()).optional()
3104
+ pcb_component_id: z138.string(),
3105
+ source_component_id: z138.string(),
3106
+ pcb_group_id: z138.string().optional(),
3107
+ subcircuit_id: z138.string().optional(),
3108
+ error_type: z138.literal("circuit_json_footprint_load_error").default("circuit_json_footprint_load_error"),
3109
+ circuit_json: z138.array(z138.any()).optional()
3086
3110
  }).describe("Defines an error when a circuit JSON footprint fails to load");
3087
3111
  expectTypesMatch(true);
3088
3112
 
3089
3113
  // src/pcb/pcb_group.ts
3090
- import { z as z138 } from "zod";
3091
- var pcb_group = z138.object({
3092
- type: z138.literal("pcb_group"),
3114
+ import { z as z139 } from "zod";
3115
+ var pcb_group = z139.object({
3116
+ type: z139.literal("pcb_group"),
3093
3117
  pcb_group_id: getZodPrefixedIdWithDefault("pcb_group"),
3094
- source_group_id: z138.string(),
3095
- is_subcircuit: z138.boolean().optional(),
3096
- subcircuit_id: z138.string().optional(),
3118
+ source_group_id: z139.string(),
3119
+ is_subcircuit: z139.boolean().optional(),
3120
+ subcircuit_id: z139.string().optional(),
3097
3121
  width: length.optional(),
3098
3122
  height: length.optional(),
3099
3123
  center: point,
3100
- display_offset_x: z138.string().optional().describe(
3124
+ display_offset_x: z139.string().optional().describe(
3101
3125
  "How to display the x offset for this group, usually corresponding with how the user specified it"
3102
3126
  ),
3103
- display_offset_y: z138.string().optional().describe(
3127
+ display_offset_y: z139.string().optional().describe(
3104
3128
  "How to display the y offset for this group, usually corresponding with how the user specified it"
3105
3129
  ),
3106
- outline: z138.array(point).optional(),
3130
+ outline: z139.array(point).optional(),
3107
3131
  anchor_position: point.optional(),
3108
3132
  anchor_alignment: ninePointAnchor.default("center"),
3109
- position_mode: z138.enum(["packed", "relative_to_group_anchor", "none"]).optional(),
3110
- positioned_relative_to_pcb_group_id: z138.string().optional(),
3111
- positioned_relative_to_pcb_board_id: z138.string().optional(),
3112
- pcb_component_ids: z138.array(z138.string()),
3113
- child_layout_mode: z138.enum(["packed", "none"]).optional(),
3114
- name: z138.string().optional(),
3115
- description: z138.string().optional(),
3116
- layout_mode: z138.string().optional(),
3117
- autorouter_configuration: z138.object({
3133
+ position_mode: z139.enum(["packed", "relative_to_group_anchor", "none"]).optional(),
3134
+ positioned_relative_to_pcb_group_id: z139.string().optional(),
3135
+ positioned_relative_to_pcb_board_id: z139.string().optional(),
3136
+ pcb_component_ids: z139.array(z139.string()),
3137
+ child_layout_mode: z139.enum(["packed", "none"]).optional(),
3138
+ name: z139.string().optional(),
3139
+ description: z139.string().optional(),
3140
+ layout_mode: z139.string().optional(),
3141
+ autorouter_configuration: z139.object({
3118
3142
  trace_clearance: length
3119
3143
  }).optional(),
3120
- autorouter_used_string: z138.string().optional()
3144
+ autorouter_used_string: z139.string().optional()
3121
3145
  }).describe("Defines a group of components on the PCB");
3122
3146
  expectTypesMatch(true);
3123
3147
 
3124
3148
  // src/pcb/pcb_autorouting_error.ts
3125
- import { z as z139 } from "zod";
3149
+ import { z as z140 } from "zod";
3126
3150
  var pcb_autorouting_error = base_circuit_json_error.extend({
3127
- type: z139.literal("pcb_autorouting_error"),
3151
+ type: z140.literal("pcb_autorouting_error"),
3128
3152
  pcb_error_id: getZodPrefixedIdWithDefault("pcb_autorouting_error"),
3129
- error_type: z139.literal("pcb_autorouting_error").default("pcb_autorouting_error"),
3130
- subcircuit_id: z139.string().optional()
3153
+ error_type: z140.literal("pcb_autorouting_error").default("pcb_autorouting_error"),
3154
+ subcircuit_id: z140.string().optional()
3131
3155
  }).describe("The autorouting has failed to route a portion of the board");
3132
3156
  expectTypesMatch(true);
3133
3157
 
3134
3158
  // src/pcb/pcb_manual_edit_conflict_warning.ts
3135
- import { z as z140 } from "zod";
3136
- var pcb_manual_edit_conflict_warning = z140.object({
3137
- type: z140.literal("pcb_manual_edit_conflict_warning"),
3159
+ import { z as z141 } from "zod";
3160
+ var pcb_manual_edit_conflict_warning = z141.object({
3161
+ type: z141.literal("pcb_manual_edit_conflict_warning"),
3138
3162
  pcb_manual_edit_conflict_warning_id: getZodPrefixedIdWithDefault(
3139
3163
  "pcb_manual_edit_conflict_warning"
3140
3164
  ),
3141
- warning_type: z140.literal("pcb_manual_edit_conflict_warning").default("pcb_manual_edit_conflict_warning"),
3142
- message: z140.string(),
3143
- pcb_component_id: z140.string(),
3144
- pcb_group_id: z140.string().optional(),
3145
- subcircuit_id: z140.string().optional(),
3146
- source_component_id: z140.string()
3165
+ warning_type: z141.literal("pcb_manual_edit_conflict_warning").default("pcb_manual_edit_conflict_warning"),
3166
+ message: z141.string(),
3167
+ pcb_component_id: z141.string(),
3168
+ pcb_group_id: z141.string().optional(),
3169
+ subcircuit_id: z141.string().optional(),
3170
+ source_component_id: z141.string()
3147
3171
  }).describe(
3148
3172
  "Warning emitted when a component has both manual placement and explicit pcbX/pcbY coordinates"
3149
3173
  );
3150
3174
  expectTypesMatch(true);
3151
3175
 
3152
3176
  // src/pcb/pcb_connector_not_in_accessible_orientation_warning.ts
3153
- import { z as z141 } from "zod";
3154
- var connectorOrientationDirection = z141.enum(["x-", "x+", "y+", "y-"]);
3155
- var pcb_connector_not_in_accessible_orientation_warning = z141.object({
3156
- type: z141.literal("pcb_connector_not_in_accessible_orientation_warning"),
3177
+ import { z as z142 } from "zod";
3178
+ var connectorOrientationDirection = z142.enum(["x-", "x+", "y+", "y-"]);
3179
+ var pcb_connector_not_in_accessible_orientation_warning = z142.object({
3180
+ type: z142.literal("pcb_connector_not_in_accessible_orientation_warning"),
3157
3181
  pcb_connector_not_in_accessible_orientation_warning_id: getZodPrefixedIdWithDefault(
3158
3182
  "pcb_connector_not_in_accessible_orientation_warning"
3159
3183
  ),
3160
- warning_type: z141.literal("pcb_connector_not_in_accessible_orientation_warning").default("pcb_connector_not_in_accessible_orientation_warning"),
3161
- message: z141.string(),
3162
- pcb_component_id: z141.string(),
3163
- source_component_id: z141.string().optional(),
3164
- pcb_board_id: z141.string().optional(),
3184
+ warning_type: z142.literal("pcb_connector_not_in_accessible_orientation_warning").default("pcb_connector_not_in_accessible_orientation_warning"),
3185
+ message: z142.string(),
3186
+ pcb_component_id: z142.string(),
3187
+ source_component_id: z142.string().optional(),
3188
+ pcb_board_id: z142.string().optional(),
3165
3189
  facing_direction: connectorOrientationDirection,
3166
3190
  recommended_facing_direction: connectorOrientationDirection,
3167
- subcircuit_id: z141.string().optional()
3191
+ subcircuit_id: z142.string().optional()
3168
3192
  }).describe(
3169
3193
  "Warning emitted when a connector PCB component is facing inward toward the board and should be reoriented to an outward-facing direction"
3170
3194
  );
3171
3195
  expectTypesMatch(true);
3172
3196
 
3173
3197
  // src/pcb/supplier_footprint_mismatch_warning.ts
3174
- import { z as z142 } from "zod";
3175
- var supplier_footprint_mismatch_warning = z142.object({
3176
- type: z142.literal("supplier_footprint_mismatch_warning"),
3198
+ import { z as z143 } from "zod";
3199
+ var supplier_footprint_mismatch_warning = z143.object({
3200
+ type: z143.literal("supplier_footprint_mismatch_warning"),
3177
3201
  supplier_footprint_mismatch_warning_id: getZodPrefixedIdWithDefault(
3178
3202
  "supplier_footprint_mismatch_warning"
3179
3203
  ),
3180
- warning_type: z142.literal("supplier_footprint_mismatch_warning").default("supplier_footprint_mismatch_warning"),
3181
- message: z142.string(),
3182
- source_component_id: z142.string(),
3183
- pcb_component_id: z142.string().optional(),
3184
- pcb_group_id: z142.string().optional(),
3185
- subcircuit_id: z142.string().optional(),
3204
+ warning_type: z143.literal("supplier_footprint_mismatch_warning").default("supplier_footprint_mismatch_warning"),
3205
+ message: z143.string(),
3206
+ source_component_id: z143.string(),
3207
+ pcb_component_id: z143.string().optional(),
3208
+ pcb_group_id: z143.string().optional(),
3209
+ subcircuit_id: z143.string().optional(),
3186
3210
  supplier_name: supplier_name.optional(),
3187
- supplier_part_number: z142.string().optional(),
3188
- supplier_footprint_url: z142.string().optional(),
3189
- footprint_copper_intersection_over_union: z142.number()
3211
+ supplier_part_number: z143.string().optional(),
3212
+ supplier_footprint_url: z143.string().optional(),
3213
+ footprint_copper_intersection_over_union: z143.number()
3190
3214
  }).describe(
3191
3215
  "Warning emitted when a supplier part footprint does not match the expected footprint"
3192
3216
  );
3193
3217
  expectTypesMatch(true);
3194
3218
 
3195
3219
  // src/pcb/pcb_breakout_point.ts
3196
- import { z as z143 } from "zod";
3197
- var pcb_breakout_point = z143.object({
3198
- type: z143.literal("pcb_breakout_point"),
3220
+ import { z as z144 } from "zod";
3221
+ var pcb_breakout_point = z144.object({
3222
+ type: z144.literal("pcb_breakout_point"),
3199
3223
  pcb_breakout_point_id: getZodPrefixedIdWithDefault("pcb_breakout_point"),
3200
- pcb_group_id: z143.string(),
3201
- subcircuit_id: z143.string().optional(),
3202
- source_trace_id: z143.string().optional(),
3203
- source_port_id: z143.string().optional(),
3204
- source_net_id: z143.string().optional(),
3224
+ pcb_group_id: z144.string(),
3225
+ subcircuit_id: z144.string().optional(),
3226
+ source_trace_id: z144.string().optional(),
3227
+ source_port_id: z144.string().optional(),
3228
+ source_net_id: z144.string().optional(),
3205
3229
  x: distance,
3206
3230
  y: distance
3207
3231
  }).describe(
@@ -3210,61 +3234,61 @@ var pcb_breakout_point = z143.object({
3210
3234
  expectTypesMatch(true);
3211
3235
 
3212
3236
  // src/pcb/pcb_ground_plane.ts
3213
- import { z as z144 } from "zod";
3214
- var pcb_ground_plane = z144.object({
3215
- type: z144.literal("pcb_ground_plane"),
3237
+ import { z as z145 } from "zod";
3238
+ var pcb_ground_plane = z145.object({
3239
+ type: z145.literal("pcb_ground_plane"),
3216
3240
  pcb_ground_plane_id: getZodPrefixedIdWithDefault("pcb_ground_plane"),
3217
- source_pcb_ground_plane_id: z144.string(),
3218
- source_net_id: z144.string(),
3219
- pcb_group_id: z144.string().optional(),
3220
- subcircuit_id: z144.string().optional()
3241
+ source_pcb_ground_plane_id: z145.string(),
3242
+ source_net_id: z145.string(),
3243
+ pcb_group_id: z145.string().optional(),
3244
+ subcircuit_id: z145.string().optional()
3221
3245
  }).describe("Defines a ground plane on the PCB");
3222
3246
  expectTypesMatch(true);
3223
3247
 
3224
3248
  // src/pcb/pcb_ground_plane_region.ts
3225
- import { z as z145 } from "zod";
3226
- var pcb_ground_plane_region = z145.object({
3227
- type: z145.literal("pcb_ground_plane_region"),
3249
+ import { z as z146 } from "zod";
3250
+ var pcb_ground_plane_region = z146.object({
3251
+ type: z146.literal("pcb_ground_plane_region"),
3228
3252
  pcb_ground_plane_region_id: getZodPrefixedIdWithDefault(
3229
3253
  "pcb_ground_plane_region"
3230
3254
  ),
3231
- pcb_ground_plane_id: z145.string(),
3232
- pcb_group_id: z145.string().optional(),
3233
- subcircuit_id: z145.string().optional(),
3255
+ pcb_ground_plane_id: z146.string(),
3256
+ pcb_group_id: z146.string().optional(),
3257
+ subcircuit_id: z146.string().optional(),
3234
3258
  layer: layer_ref,
3235
- points: z145.array(point)
3259
+ points: z146.array(point)
3236
3260
  }).describe("Defines a polygon region of a ground plane");
3237
3261
  expectTypesMatch(true);
3238
3262
 
3239
3263
  // src/pcb/pcb_thermal_spoke.ts
3240
- import { z as z146 } from "zod";
3241
- var pcb_thermal_spoke = z146.object({
3242
- type: z146.literal("pcb_thermal_spoke"),
3264
+ import { z as z147 } from "zod";
3265
+ var pcb_thermal_spoke = z147.object({
3266
+ type: z147.literal("pcb_thermal_spoke"),
3243
3267
  pcb_thermal_spoke_id: getZodPrefixedIdWithDefault("pcb_thermal_spoke"),
3244
- pcb_ground_plane_id: z146.string(),
3245
- shape: z146.string(),
3246
- spoke_count: z146.number(),
3268
+ pcb_ground_plane_id: z147.string(),
3269
+ shape: z147.string(),
3270
+ spoke_count: z147.number(),
3247
3271
  spoke_thickness: distance,
3248
3272
  spoke_inner_diameter: distance,
3249
3273
  spoke_outer_diameter: distance,
3250
- pcb_plated_hole_id: z146.string().optional(),
3251
- subcircuit_id: z146.string().optional()
3274
+ pcb_plated_hole_id: z147.string().optional(),
3275
+ subcircuit_id: z147.string().optional()
3252
3276
  }).describe("Pattern for connecting a ground plane to a plated hole");
3253
3277
  expectTypesMatch(true);
3254
3278
 
3255
3279
  // src/pcb/pcb_copper_pour.ts
3256
- import { z as z147 } from "zod";
3257
- var pcb_copper_pour_base = z147.object({
3258
- type: z147.literal("pcb_copper_pour"),
3280
+ import { z as z148 } from "zod";
3281
+ var pcb_copper_pour_base = z148.object({
3282
+ type: z148.literal("pcb_copper_pour"),
3259
3283
  pcb_copper_pour_id: getZodPrefixedIdWithDefault("pcb_copper_pour"),
3260
- pcb_group_id: z147.string().optional(),
3261
- subcircuit_id: z147.string().optional(),
3284
+ pcb_group_id: z148.string().optional(),
3285
+ subcircuit_id: z148.string().optional(),
3262
3286
  layer: layer_ref,
3263
- source_net_id: z147.string().optional(),
3264
- covered_with_solder_mask: z147.boolean().optional().default(true)
3287
+ source_net_id: z148.string().optional(),
3288
+ covered_with_solder_mask: z148.boolean().optional().default(true)
3265
3289
  });
3266
3290
  var pcb_copper_pour_rect = pcb_copper_pour_base.extend({
3267
- shape: z147.literal("rect"),
3291
+ shape: z148.literal("rect"),
3268
3292
  center: point,
3269
3293
  width: length,
3270
3294
  height: length,
@@ -3272,16 +3296,16 @@ var pcb_copper_pour_rect = pcb_copper_pour_base.extend({
3272
3296
  });
3273
3297
  expectTypesMatch(true);
3274
3298
  var pcb_copper_pour_brep = pcb_copper_pour_base.extend({
3275
- shape: z147.literal("brep"),
3299
+ shape: z148.literal("brep"),
3276
3300
  brep_shape
3277
3301
  });
3278
3302
  expectTypesMatch(true);
3279
3303
  var pcb_copper_pour_polygon = pcb_copper_pour_base.extend({
3280
- shape: z147.literal("polygon"),
3281
- points: z147.array(point)
3304
+ shape: z148.literal("polygon"),
3305
+ points: z148.array(point)
3282
3306
  });
3283
3307
  expectTypesMatch(true);
3284
- var pcb_copper_pour = z147.discriminatedUnion("shape", [
3308
+ var pcb_copper_pour = z148.discriminatedUnion("shape", [
3285
3309
  pcb_copper_pour_rect,
3286
3310
  pcb_copper_pour_brep,
3287
3311
  pcb_copper_pour_polygon
@@ -3289,99 +3313,99 @@ var pcb_copper_pour = z147.discriminatedUnion("shape", [
3289
3313
  expectTypesMatch(true);
3290
3314
 
3291
3315
  // src/pcb/pcb_component_outside_board_error.ts
3292
- import { z as z148 } from "zod";
3316
+ import { z as z149 } from "zod";
3293
3317
  var pcb_component_outside_board_error = base_circuit_json_error.extend({
3294
- type: z148.literal("pcb_component_outside_board_error"),
3318
+ type: z149.literal("pcb_component_outside_board_error"),
3295
3319
  pcb_component_outside_board_error_id: getZodPrefixedIdWithDefault(
3296
3320
  "pcb_component_outside_board_error"
3297
3321
  ),
3298
- error_type: z148.literal("pcb_component_outside_board_error").default("pcb_component_outside_board_error"),
3299
- pcb_component_id: z148.string(),
3300
- pcb_board_id: z148.string(),
3322
+ error_type: z149.literal("pcb_component_outside_board_error").default("pcb_component_outside_board_error"),
3323
+ pcb_component_id: z149.string(),
3324
+ pcb_board_id: z149.string(),
3301
3325
  component_center: point,
3302
- component_bounds: z148.object({
3303
- min_x: z148.number(),
3304
- max_x: z148.number(),
3305
- min_y: z148.number(),
3306
- max_y: z148.number()
3326
+ component_bounds: z149.object({
3327
+ min_x: z149.number(),
3328
+ max_x: z149.number(),
3329
+ min_y: z149.number(),
3330
+ max_y: z149.number()
3307
3331
  }),
3308
- subcircuit_id: z148.string().optional(),
3309
- source_component_id: z148.string().optional()
3332
+ subcircuit_id: z149.string().optional(),
3333
+ source_component_id: z149.string().optional()
3310
3334
  }).describe(
3311
3335
  "Error emitted when a PCB component is placed outside the board boundaries"
3312
3336
  );
3313
3337
  expectTypesMatch(true);
3314
3338
 
3315
3339
  // src/pcb/pcb_component_not_on_board_edge_error.ts
3316
- import { z as z149 } from "zod";
3340
+ import { z as z150 } from "zod";
3317
3341
  var pcb_component_not_on_board_edge_error = base_circuit_json_error.extend({
3318
- type: z149.literal("pcb_component_not_on_board_edge_error"),
3342
+ type: z150.literal("pcb_component_not_on_board_edge_error"),
3319
3343
  pcb_component_not_on_board_edge_error_id: getZodPrefixedIdWithDefault(
3320
3344
  "pcb_component_not_on_board_edge_error"
3321
3345
  ),
3322
- error_type: z149.literal("pcb_component_not_on_board_edge_error").default("pcb_component_not_on_board_edge_error"),
3323
- pcb_component_id: z149.string(),
3324
- pcb_board_id: z149.string(),
3346
+ error_type: z150.literal("pcb_component_not_on_board_edge_error").default("pcb_component_not_on_board_edge_error"),
3347
+ pcb_component_id: z150.string(),
3348
+ pcb_board_id: z150.string(),
3325
3349
  component_center: point,
3326
- pad_to_nearest_board_edge_distance: z149.number(),
3327
- source_component_id: z149.string().optional(),
3328
- subcircuit_id: z149.string().optional()
3350
+ pad_to_nearest_board_edge_distance: z150.number(),
3351
+ source_component_id: z150.string().optional(),
3352
+ subcircuit_id: z150.string().optional()
3329
3353
  }).describe(
3330
3354
  "Error emitted when a component that must be placed on the board edge is centered away from the edge"
3331
3355
  );
3332
3356
  expectTypesMatch(true);
3333
3357
 
3334
3358
  // src/pcb/pcb_component_invalid_layer_error.ts
3335
- import { z as z150 } from "zod";
3359
+ import { z as z151 } from "zod";
3336
3360
  var pcb_component_invalid_layer_error = base_circuit_json_error.extend({
3337
- type: z150.literal("pcb_component_invalid_layer_error"),
3361
+ type: z151.literal("pcb_component_invalid_layer_error"),
3338
3362
  pcb_component_invalid_layer_error_id: getZodPrefixedIdWithDefault(
3339
3363
  "pcb_component_invalid_layer_error"
3340
3364
  ),
3341
- error_type: z150.literal("pcb_component_invalid_layer_error").default("pcb_component_invalid_layer_error"),
3342
- pcb_component_id: z150.string().optional(),
3343
- source_component_id: z150.string(),
3365
+ error_type: z151.literal("pcb_component_invalid_layer_error").default("pcb_component_invalid_layer_error"),
3366
+ pcb_component_id: z151.string().optional(),
3367
+ source_component_id: z151.string(),
3344
3368
  layer: layer_ref,
3345
- subcircuit_id: z150.string().optional()
3369
+ subcircuit_id: z151.string().optional()
3346
3370
  }).describe(
3347
3371
  "Error emitted when a component is placed on an invalid layer (components can only be on 'top' or 'bottom' layers)"
3348
3372
  );
3349
3373
  expectTypesMatch(true);
3350
3374
 
3351
3375
  // src/pcb/pcb_via_clearance_error.ts
3352
- import { z as z151 } from "zod";
3376
+ import { z as z152 } from "zod";
3353
3377
  var pcb_via_clearance_error = base_circuit_json_error.extend({
3354
- type: z151.literal("pcb_via_clearance_error"),
3378
+ type: z152.literal("pcb_via_clearance_error"),
3355
3379
  pcb_error_id: getZodPrefixedIdWithDefault("pcb_error"),
3356
- error_type: z151.literal("pcb_via_clearance_error").default("pcb_via_clearance_error"),
3357
- pcb_via_ids: z151.array(z151.string()).min(2),
3380
+ error_type: z152.literal("pcb_via_clearance_error").default("pcb_via_clearance_error"),
3381
+ pcb_via_ids: z152.array(z152.string()).min(2),
3358
3382
  minimum_clearance: distance.optional(),
3359
3383
  actual_clearance: distance.optional(),
3360
- pcb_center: z151.object({
3361
- x: z151.number().optional(),
3362
- y: z151.number().optional()
3384
+ pcb_center: z152.object({
3385
+ x: z152.number().optional(),
3386
+ y: z152.number().optional()
3363
3387
  }).optional(),
3364
- subcircuit_id: z151.string().optional()
3388
+ subcircuit_id: z152.string().optional()
3365
3389
  }).describe("Error emitted when vias are closer than the allowed clearance");
3366
3390
  expectTypesMatch(true);
3367
3391
 
3368
3392
  // src/pcb/pcb_via_trace_clearance_error.ts
3369
- import { z as z152 } from "zod";
3393
+ import { z as z153 } from "zod";
3370
3394
  var pcb_via_trace_clearance_error = base_circuit_json_error.extend({
3371
- type: z152.literal("pcb_via_trace_clearance_error"),
3395
+ type: z153.literal("pcb_via_trace_clearance_error"),
3372
3396
  pcb_via_trace_clearance_error_id: getZodPrefixedIdWithDefault(
3373
3397
  "pcb_via_trace_clearance_error"
3374
3398
  ),
3375
- error_type: z152.literal("pcb_via_trace_clearance_error").default("pcb_via_trace_clearance_error"),
3376
- pcb_via_id: z152.string(),
3377
- pcb_trace_id: z152.string(),
3399
+ error_type: z153.literal("pcb_via_trace_clearance_error").default("pcb_via_trace_clearance_error"),
3400
+ pcb_via_id: z153.string(),
3401
+ pcb_trace_id: z153.string(),
3378
3402
  minimum_clearance: distance.optional(),
3379
3403
  actual_clearance: distance.optional(),
3380
- center: z152.object({
3381
- x: z152.number().optional(),
3382
- y: z152.number().optional()
3404
+ center: z153.object({
3405
+ x: z153.number().optional(),
3406
+ y: z153.number().optional()
3383
3407
  }).optional(),
3384
- subcircuit_id: z152.string().optional()
3408
+ subcircuit_id: z153.string().optional()
3385
3409
  }).describe(
3386
3410
  "Error emitted when a via and trace are closer than the allowed clearance"
3387
3411
  );
@@ -3390,41 +3414,41 @@ expectTypesMatch(
3390
3414
  );
3391
3415
 
3392
3416
  // src/pcb/pcb_pad_pad_clearance_error.ts
3393
- import { z as z153 } from "zod";
3417
+ import { z as z154 } from "zod";
3394
3418
  var pcb_pad_pad_clearance_error = base_circuit_json_error.extend({
3395
- type: z153.literal("pcb_pad_pad_clearance_error"),
3419
+ type: z154.literal("pcb_pad_pad_clearance_error"),
3396
3420
  pcb_pad_pad_clearance_error_id: getZodPrefixedIdWithDefault(
3397
3421
  "pcb_pad_pad_clearance_error"
3398
3422
  ),
3399
- error_type: z153.literal("pcb_pad_pad_clearance_error").default("pcb_pad_pad_clearance_error"),
3400
- pcb_pad_ids: z153.array(z153.string()).min(2),
3423
+ error_type: z154.literal("pcb_pad_pad_clearance_error").default("pcb_pad_pad_clearance_error"),
3424
+ pcb_pad_ids: z154.array(z154.string()).min(2),
3401
3425
  minimum_clearance: distance.optional(),
3402
3426
  actual_clearance: distance.optional(),
3403
- center: z153.object({
3404
- x: z153.number().optional(),
3405
- y: z153.number().optional()
3427
+ center: z154.object({
3428
+ x: z154.number().optional(),
3429
+ y: z154.number().optional()
3406
3430
  }).optional(),
3407
- subcircuit_id: z153.string().optional()
3431
+ subcircuit_id: z154.string().optional()
3408
3432
  }).describe("Error emitted when pads are closer than the allowed clearance");
3409
3433
  expectTypesMatch(true);
3410
3434
 
3411
3435
  // src/pcb/pcb_pad_trace_clearance_error.ts
3412
- import { z as z154 } from "zod";
3436
+ import { z as z155 } from "zod";
3413
3437
  var pcb_pad_trace_clearance_error = base_circuit_json_error.extend({
3414
- type: z154.literal("pcb_pad_trace_clearance_error"),
3438
+ type: z155.literal("pcb_pad_trace_clearance_error"),
3415
3439
  pcb_pad_trace_clearance_error_id: getZodPrefixedIdWithDefault(
3416
3440
  "pcb_pad_trace_clearance_error"
3417
3441
  ),
3418
- error_type: z154.literal("pcb_pad_trace_clearance_error").default("pcb_pad_trace_clearance_error"),
3419
- pcb_pad_id: z154.string(),
3420
- pcb_trace_id: z154.string(),
3442
+ error_type: z155.literal("pcb_pad_trace_clearance_error").default("pcb_pad_trace_clearance_error"),
3443
+ pcb_pad_id: z155.string(),
3444
+ pcb_trace_id: z155.string(),
3421
3445
  minimum_clearance: distance.optional(),
3422
3446
  actual_clearance: distance.optional(),
3423
- center: z154.object({
3424
- x: z154.number().optional(),
3425
- y: z154.number().optional()
3447
+ center: z155.object({
3448
+ x: z155.number().optional(),
3449
+ y: z155.number().optional()
3426
3450
  }).optional(),
3427
- subcircuit_id: z154.string().optional()
3451
+ subcircuit_id: z155.string().optional()
3428
3452
  }).describe(
3429
3453
  "Error emitted when a pad and trace are closer than allowed clearance"
3430
3454
  );
@@ -3433,89 +3457,89 @@ expectTypesMatch(
3433
3457
  );
3434
3458
 
3435
3459
  // src/pcb/pcb_courtyard_rect.ts
3436
- import { z as z155 } from "zod";
3437
- var pcb_courtyard_rect = z155.object({
3438
- type: z155.literal("pcb_courtyard_rect"),
3460
+ import { z as z156 } from "zod";
3461
+ var pcb_courtyard_rect = z156.object({
3462
+ type: z156.literal("pcb_courtyard_rect"),
3439
3463
  pcb_courtyard_rect_id: getZodPrefixedIdWithDefault("pcb_courtyard_rect"),
3440
- pcb_component_id: z155.string(),
3441
- pcb_group_id: z155.string().optional(),
3442
- subcircuit_id: z155.string().optional(),
3464
+ pcb_component_id: z156.string(),
3465
+ pcb_group_id: z156.string().optional(),
3466
+ subcircuit_id: z156.string().optional(),
3443
3467
  center: point,
3444
3468
  width: length,
3445
3469
  height: length,
3446
3470
  layer: visible_layer,
3447
3471
  ccw_rotation: rotation.optional(),
3448
- color: z155.string().optional()
3472
+ color: z156.string().optional()
3449
3473
  }).describe("Defines a courtyard rectangle on the PCB");
3450
3474
  expectTypesMatch(true);
3451
3475
 
3452
3476
  // src/pcb/pcb_courtyard_outline.ts
3453
- import { z as z156 } from "zod";
3454
- var pcb_courtyard_outline = z156.object({
3455
- type: z156.literal("pcb_courtyard_outline"),
3477
+ import { z as z157 } from "zod";
3478
+ var pcb_courtyard_outline = z157.object({
3479
+ type: z157.literal("pcb_courtyard_outline"),
3456
3480
  pcb_courtyard_outline_id: getZodPrefixedIdWithDefault(
3457
3481
  "pcb_courtyard_outline"
3458
3482
  ),
3459
- pcb_component_id: z156.string(),
3460
- pcb_group_id: z156.string().optional(),
3461
- subcircuit_id: z156.string().optional(),
3483
+ pcb_component_id: z157.string(),
3484
+ pcb_group_id: z157.string().optional(),
3485
+ subcircuit_id: z157.string().optional(),
3462
3486
  layer: visible_layer,
3463
- outline: z156.array(point).min(2)
3487
+ outline: z157.array(point).min(2)
3464
3488
  }).describe("Defines a courtyard outline on the PCB");
3465
3489
  expectTypesMatch(true);
3466
3490
 
3467
3491
  // src/pcb/pcb_courtyard_polygon.ts
3468
- import { z as z157 } from "zod";
3469
- var pcb_courtyard_polygon = z157.object({
3470
- type: z157.literal("pcb_courtyard_polygon"),
3492
+ import { z as z158 } from "zod";
3493
+ var pcb_courtyard_polygon = z158.object({
3494
+ type: z158.literal("pcb_courtyard_polygon"),
3471
3495
  pcb_courtyard_polygon_id: getZodPrefixedIdWithDefault(
3472
3496
  "pcb_courtyard_polygon"
3473
3497
  ),
3474
- pcb_component_id: z157.string(),
3475
- pcb_group_id: z157.string().optional(),
3476
- subcircuit_id: z157.string().optional(),
3498
+ pcb_component_id: z158.string(),
3499
+ pcb_group_id: z158.string().optional(),
3500
+ subcircuit_id: z158.string().optional(),
3477
3501
  layer: visible_layer,
3478
- points: z157.array(point).min(3),
3479
- color: z157.string().optional()
3502
+ points: z158.array(point).min(3),
3503
+ color: z158.string().optional()
3480
3504
  }).describe("Defines a courtyard polygon on the PCB");
3481
3505
  expectTypesMatch(true);
3482
3506
 
3483
3507
  // src/pcb/pcb_courtyard_circle.ts
3484
- import { z as z158 } from "zod";
3485
- var pcb_courtyard_circle = z158.object({
3486
- type: z158.literal("pcb_courtyard_circle"),
3508
+ import { z as z159 } from "zod";
3509
+ var pcb_courtyard_circle = z159.object({
3510
+ type: z159.literal("pcb_courtyard_circle"),
3487
3511
  pcb_courtyard_circle_id: getZodPrefixedIdWithDefault(
3488
3512
  "pcb_courtyard_circle"
3489
3513
  ),
3490
- pcb_component_id: z158.string(),
3491
- pcb_group_id: z158.string().optional(),
3492
- subcircuit_id: z158.string().optional(),
3514
+ pcb_component_id: z159.string(),
3515
+ pcb_group_id: z159.string().optional(),
3516
+ subcircuit_id: z159.string().optional(),
3493
3517
  center: point,
3494
3518
  radius: length,
3495
3519
  layer: visible_layer,
3496
- color: z158.string().optional()
3520
+ color: z159.string().optional()
3497
3521
  }).describe("Defines a courtyard circle on the PCB");
3498
3522
  expectTypesMatch(true);
3499
3523
 
3500
3524
  // src/pcb/pcb_courtyard_pill.ts
3501
- import { z as z159 } from "zod";
3502
- var pcb_courtyard_pill = z159.object({
3503
- type: z159.literal("pcb_courtyard_pill"),
3525
+ import { z as z160 } from "zod";
3526
+ var pcb_courtyard_pill = z160.object({
3527
+ type: z160.literal("pcb_courtyard_pill"),
3504
3528
  pcb_courtyard_pill_id: getZodPrefixedIdWithDefault("pcb_courtyard_pill"),
3505
- pcb_component_id: z159.string(),
3506
- pcb_group_id: z159.string().optional(),
3507
- subcircuit_id: z159.string().optional(),
3529
+ pcb_component_id: z160.string(),
3530
+ pcb_group_id: z160.string().optional(),
3531
+ subcircuit_id: z160.string().optional(),
3508
3532
  center: point,
3509
3533
  width: length,
3510
3534
  height: length,
3511
3535
  radius: length,
3512
3536
  layer: visible_layer,
3513
- color: z159.string().optional()
3537
+ color: z160.string().optional()
3514
3538
  }).describe("Defines a courtyard pill on the PCB");
3515
3539
  expectTypesMatch(true);
3516
3540
 
3517
3541
  // src/cad/cad_component.ts
3518
- import { z as z160 } from "zod";
3542
+ import { z as z161 } from "zod";
3519
3543
 
3520
3544
  // src/cad/cad_model_conventions.ts
3521
3545
  var cad_model_formats = [
@@ -3546,49 +3570,49 @@ var cadModelDefaultDirectionMap = {
3546
3570
  };
3547
3571
 
3548
3572
  // src/cad/cad_component.ts
3549
- var cad_component = z160.object({
3550
- type: z160.literal("cad_component"),
3551
- cad_component_id: z160.string(),
3552
- pcb_component_id: z160.string(),
3553
- source_component_id: z160.string(),
3573
+ var cad_component = z161.object({
3574
+ type: z161.literal("cad_component"),
3575
+ cad_component_id: z161.string(),
3576
+ pcb_component_id: z161.string(),
3577
+ source_component_id: z161.string(),
3554
3578
  position: point3,
3555
3579
  rotation: point3.optional(),
3556
3580
  size: point3.optional(),
3557
3581
  layer: layer_ref.optional(),
3558
- subcircuit_id: z160.string().optional(),
3582
+ subcircuit_id: z161.string().optional(),
3559
3583
  // These are all ways to generate/load the 3d model
3560
- footprinter_string: z160.string().optional(),
3561
- model_obj_url: z160.string().optional(),
3562
- model_stl_url: z160.string().optional(),
3563
- model_3mf_url: z160.string().optional(),
3564
- model_gltf_url: z160.string().optional(),
3565
- model_glb_url: z160.string().optional(),
3566
- model_step_url: z160.string().optional(),
3567
- model_wrl_url: z160.string().optional(),
3584
+ footprinter_string: z161.string().optional(),
3585
+ model_obj_url: z161.string().optional(),
3586
+ model_stl_url: z161.string().optional(),
3587
+ model_3mf_url: z161.string().optional(),
3588
+ model_gltf_url: z161.string().optional(),
3589
+ model_glb_url: z161.string().optional(),
3590
+ model_step_url: z161.string().optional(),
3591
+ model_wrl_url: z161.string().optional(),
3568
3592
  model_asset: asset.optional(),
3569
- model_unit_to_mm_scale_factor: z160.number().optional(),
3570
- model_board_normal_direction: z160.enum(cad_model_axis_directions).optional().describe(
3593
+ model_unit_to_mm_scale_factor: z161.number().optional(),
3594
+ model_board_normal_direction: z161.enum(cad_model_axis_directions).optional().describe(
3571
3595
  `The direction in the model's coordinate space that is considered "up" or "coming out of the board surface"`
3572
3596
  ),
3573
3597
  model_origin_position: point3.optional(),
3574
- model_origin_alignment: z160.enum([
3598
+ model_origin_alignment: z161.enum([
3575
3599
  "unknown",
3576
3600
  "center",
3577
3601
  "center_of_component_on_board_surface",
3578
3602
  "bottom_center_of_component"
3579
3603
  ]).optional(),
3580
- model_object_fit: z160.enum(["contain_within_bounds", "fill_bounds"]).optional().default("contain_within_bounds"),
3581
- model_jscad: z160.any().optional(),
3582
- show_as_translucent_model: z160.boolean().optional(),
3583
- show_as_bounding_box: z160.boolean().optional(),
3584
- anchor_alignment: z160.enum(["center", "center_of_component_on_board_surface"]).optional().default("center")
3604
+ model_object_fit: z161.enum(["contain_within_bounds", "fill_bounds"]).optional().default("contain_within_bounds"),
3605
+ model_jscad: z161.any().optional(),
3606
+ show_as_translucent_model: z161.boolean().optional(),
3607
+ show_as_bounding_box: z161.boolean().optional(),
3608
+ anchor_alignment: z161.enum(["center", "center_of_component_on_board_surface"]).optional().default("center")
3585
3609
  }).describe("Defines a component on the PCB");
3586
3610
  expectTypesMatch(true);
3587
3611
 
3588
3612
  // src/simulation/simulation_voltage_source.ts
3589
- import { z as z161 } from "zod";
3590
- var wave_shape = z161.enum(["sinewave", "square", "triangle", "sawtooth"]);
3591
- var percentage = z161.union([z161.string(), z161.number()]).transform((val) => {
3613
+ import { z as z162 } from "zod";
3614
+ var wave_shape = z162.enum(["sinewave", "square", "triangle", "sawtooth"]);
3615
+ var percentage = z162.union([z162.string(), z162.number()]).transform((val) => {
3592
3616
  if (typeof val === "string") {
3593
3617
  if (val.endsWith("%")) {
3594
3618
  return parseFloat(val.slice(0, -1)) / 100;
@@ -3597,30 +3621,30 @@ var percentage = z161.union([z161.string(), z161.number()]).transform((val) => {
3597
3621
  }
3598
3622
  return val;
3599
3623
  }).pipe(
3600
- z161.number().min(0, "Duty cycle must be non-negative").max(1, "Duty cycle cannot be greater than 100%")
3624
+ z162.number().min(0, "Duty cycle must be non-negative").max(1, "Duty cycle cannot be greater than 100%")
3601
3625
  );
3602
- var simulation_dc_voltage_source = z161.object({
3603
- type: z161.literal("simulation_voltage_source"),
3626
+ var simulation_dc_voltage_source = z162.object({
3627
+ type: z162.literal("simulation_voltage_source"),
3604
3628
  simulation_voltage_source_id: getZodPrefixedIdWithDefault(
3605
3629
  "simulation_voltage_source"
3606
3630
  ),
3607
- is_dc_source: z161.literal(true).optional().default(true),
3608
- positive_source_port_id: z161.string().optional(),
3609
- negative_source_port_id: z161.string().optional(),
3610
- positive_source_net_id: z161.string().optional(),
3611
- negative_source_net_id: z161.string().optional(),
3631
+ is_dc_source: z162.literal(true).optional().default(true),
3632
+ positive_source_port_id: z162.string().optional(),
3633
+ negative_source_port_id: z162.string().optional(),
3634
+ positive_source_net_id: z162.string().optional(),
3635
+ negative_source_net_id: z162.string().optional(),
3612
3636
  voltage
3613
3637
  }).describe("Defines a DC voltage source for simulation");
3614
- var simulation_ac_voltage_source = z161.object({
3615
- type: z161.literal("simulation_voltage_source"),
3638
+ var simulation_ac_voltage_source = z162.object({
3639
+ type: z162.literal("simulation_voltage_source"),
3616
3640
  simulation_voltage_source_id: getZodPrefixedIdWithDefault(
3617
3641
  "simulation_voltage_source"
3618
3642
  ),
3619
- is_dc_source: z161.literal(false),
3620
- terminal1_source_port_id: z161.string().optional(),
3621
- terminal2_source_port_id: z161.string().optional(),
3622
- terminal1_source_net_id: z161.string().optional(),
3623
- terminal2_source_net_id: z161.string().optional(),
3643
+ is_dc_source: z162.literal(false),
3644
+ terminal1_source_port_id: z162.string().optional(),
3645
+ terminal2_source_port_id: z162.string().optional(),
3646
+ terminal1_source_net_id: z162.string().optional(),
3647
+ terminal2_source_net_id: z162.string().optional(),
3624
3648
  voltage: voltage.optional(),
3625
3649
  frequency: frequency.optional(),
3626
3650
  peak_to_peak_voltage: voltage.optional(),
@@ -3628,14 +3652,14 @@ var simulation_ac_voltage_source = z161.object({
3628
3652
  phase: rotation.optional(),
3629
3653
  duty_cycle: percentage.optional()
3630
3654
  }).describe("Defines an AC voltage source for simulation");
3631
- var simulation_voltage_source = z161.union([simulation_dc_voltage_source, simulation_ac_voltage_source]).describe("Defines a voltage source for simulation");
3655
+ var simulation_voltage_source = z162.union([simulation_dc_voltage_source, simulation_ac_voltage_source]).describe("Defines a voltage source for simulation");
3632
3656
  expectTypesMatch(true);
3633
3657
  expectTypesMatch(true);
3634
3658
  expectTypesMatch(true);
3635
3659
 
3636
3660
  // src/simulation/simulation_current_source.ts
3637
- import { z as z162 } from "zod";
3638
- var percentage2 = z162.union([z162.string(), z162.number()]).transform((val) => {
3661
+ import { z as z163 } from "zod";
3662
+ var percentage2 = z163.union([z163.string(), z163.number()]).transform((val) => {
3639
3663
  if (typeof val === "string") {
3640
3664
  if (val.endsWith("%")) {
3641
3665
  return parseFloat(val.slice(0, -1)) / 100;
@@ -3644,30 +3668,30 @@ var percentage2 = z162.union([z162.string(), z162.number()]).transform((val) =>
3644
3668
  }
3645
3669
  return val;
3646
3670
  }).pipe(
3647
- z162.number().min(0, "Duty cycle must be non-negative").max(1, "Duty cycle cannot be greater than 100%")
3671
+ z163.number().min(0, "Duty cycle must be non-negative").max(1, "Duty cycle cannot be greater than 100%")
3648
3672
  );
3649
- var simulation_dc_current_source = z162.object({
3650
- type: z162.literal("simulation_current_source"),
3673
+ var simulation_dc_current_source = z163.object({
3674
+ type: z163.literal("simulation_current_source"),
3651
3675
  simulation_current_source_id: getZodPrefixedIdWithDefault(
3652
3676
  "simulation_current_source"
3653
3677
  ),
3654
- is_dc_source: z162.literal(true).optional().default(true),
3655
- positive_source_port_id: z162.string().optional(),
3656
- negative_source_port_id: z162.string().optional(),
3657
- positive_source_net_id: z162.string().optional(),
3658
- negative_source_net_id: z162.string().optional(),
3678
+ is_dc_source: z163.literal(true).optional().default(true),
3679
+ positive_source_port_id: z163.string().optional(),
3680
+ negative_source_port_id: z163.string().optional(),
3681
+ positive_source_net_id: z163.string().optional(),
3682
+ negative_source_net_id: z163.string().optional(),
3659
3683
  current
3660
3684
  }).describe("Defines a DC current source for simulation");
3661
- var simulation_ac_current_source = z162.object({
3662
- type: z162.literal("simulation_current_source"),
3685
+ var simulation_ac_current_source = z163.object({
3686
+ type: z163.literal("simulation_current_source"),
3663
3687
  simulation_current_source_id: getZodPrefixedIdWithDefault(
3664
3688
  "simulation_current_source"
3665
3689
  ),
3666
- is_dc_source: z162.literal(false),
3667
- terminal1_source_port_id: z162.string().optional(),
3668
- terminal2_source_port_id: z162.string().optional(),
3669
- terminal1_source_net_id: z162.string().optional(),
3670
- terminal2_source_net_id: z162.string().optional(),
3690
+ is_dc_source: z163.literal(false),
3691
+ terminal1_source_port_id: z163.string().optional(),
3692
+ terminal2_source_port_id: z163.string().optional(),
3693
+ terminal1_source_net_id: z163.string().optional(),
3694
+ terminal2_source_net_id: z163.string().optional(),
3671
3695
  current: current.optional(),
3672
3696
  frequency: frequency.optional(),
3673
3697
  peak_to_peak_current: current.optional(),
@@ -3675,25 +3699,25 @@ var simulation_ac_current_source = z162.object({
3675
3699
  phase: rotation.optional(),
3676
3700
  duty_cycle: percentage2.optional()
3677
3701
  }).describe("Defines an AC current source for simulation");
3678
- var simulation_current_source = z162.union([simulation_dc_current_source, simulation_ac_current_source]).describe("Defines a current source for simulation");
3702
+ var simulation_current_source = z163.union([simulation_dc_current_source, simulation_ac_current_source]).describe("Defines a current source for simulation");
3679
3703
  expectTypesMatch(true);
3680
3704
  expectTypesMatch(true);
3681
3705
  expectTypesMatch(true);
3682
3706
 
3683
3707
  // src/simulation/simulation_experiment.ts
3684
- import { z as z163 } from "zod";
3685
- var experiment_type = z163.union([
3686
- z163.literal("spice_dc_sweep"),
3687
- z163.literal("spice_dc_operating_point"),
3688
- z163.literal("spice_transient_analysis"),
3689
- z163.literal("spice_ac_analysis")
3708
+ import { z as z164 } from "zod";
3709
+ var experiment_type = z164.union([
3710
+ z164.literal("spice_dc_sweep"),
3711
+ z164.literal("spice_dc_operating_point"),
3712
+ z164.literal("spice_transient_analysis"),
3713
+ z164.literal("spice_ac_analysis")
3690
3714
  ]);
3691
- var simulation_experiment = z163.object({
3692
- type: z163.literal("simulation_experiment"),
3715
+ var simulation_experiment = z164.object({
3716
+ type: z164.literal("simulation_experiment"),
3693
3717
  simulation_experiment_id: getZodPrefixedIdWithDefault(
3694
3718
  "simulation_experiment"
3695
3719
  ),
3696
- name: z163.string(),
3720
+ name: z164.string(),
3697
3721
  experiment_type,
3698
3722
  time_per_step: duration_ms.optional(),
3699
3723
  start_time_ms: ms.optional(),
@@ -3702,53 +3726,53 @@ var simulation_experiment = z163.object({
3702
3726
  expectTypesMatch(true);
3703
3727
 
3704
3728
  // src/simulation/simulation_transient_voltage_graph.ts
3705
- import { z as z164 } from "zod";
3706
- var simulation_transient_voltage_graph = z164.object({
3707
- type: z164.literal("simulation_transient_voltage_graph"),
3729
+ import { z as z165 } from "zod";
3730
+ var simulation_transient_voltage_graph = z165.object({
3731
+ type: z165.literal("simulation_transient_voltage_graph"),
3708
3732
  simulation_transient_voltage_graph_id: getZodPrefixedIdWithDefault(
3709
3733
  "simulation_transient_voltage_graph"
3710
3734
  ),
3711
- simulation_experiment_id: z164.string(),
3712
- timestamps_ms: z164.array(z164.number()).optional(),
3713
- voltage_levels: z164.array(z164.number()),
3714
- source_component_id: z164.string().optional(),
3715
- subcircuit_connectivity_map_key: z164.string().optional(),
3735
+ simulation_experiment_id: z165.string(),
3736
+ timestamps_ms: z165.array(z165.number()).optional(),
3737
+ voltage_levels: z165.array(z165.number()),
3738
+ source_component_id: z165.string().optional(),
3739
+ subcircuit_connectivity_map_key: z165.string().optional(),
3716
3740
  time_per_step: duration_ms,
3717
3741
  start_time_ms: ms,
3718
3742
  end_time_ms: ms,
3719
- name: z164.string().optional(),
3720
- color: z164.string().optional()
3743
+ name: z165.string().optional(),
3744
+ color: z165.string().optional()
3721
3745
  }).describe("Stores voltage measurements over time for a simulation");
3722
3746
  expectTypesMatch(true);
3723
3747
 
3724
3748
  // src/simulation/simulation_switch.ts
3725
- import { z as z165 } from "zod";
3726
- var simulation_switch = z165.object({
3727
- type: z165.literal("simulation_switch"),
3749
+ import { z as z166 } from "zod";
3750
+ var simulation_switch = z166.object({
3751
+ type: z166.literal("simulation_switch"),
3728
3752
  simulation_switch_id: getZodPrefixedIdWithDefault("simulation_switch"),
3729
- source_component_id: z165.string().optional(),
3753
+ source_component_id: z166.string().optional(),
3730
3754
  closes_at: ms.optional(),
3731
3755
  opens_at: ms.optional(),
3732
- starts_closed: z165.boolean().optional(),
3756
+ starts_closed: z166.boolean().optional(),
3733
3757
  switching_frequency: frequency.optional()
3734
3758
  }).describe("Defines a switch for simulation timing control");
3735
3759
  expectTypesMatch(true);
3736
3760
 
3737
3761
  // src/simulation/simulation_voltage_probe.ts
3738
- import { z as z166 } from "zod";
3739
- var simulation_voltage_probe = z166.object({
3740
- type: z166.literal("simulation_voltage_probe"),
3762
+ import { z as z167 } from "zod";
3763
+ var simulation_voltage_probe = z167.object({
3764
+ type: z167.literal("simulation_voltage_probe"),
3741
3765
  simulation_voltage_probe_id: getZodPrefixedIdWithDefault(
3742
3766
  "simulation_voltage_probe"
3743
3767
  ),
3744
- source_component_id: z166.string().optional(),
3745
- name: z166.string().optional(),
3746
- signal_input_source_port_id: z166.string().optional(),
3747
- signal_input_source_net_id: z166.string().optional(),
3748
- reference_input_source_port_id: z166.string().optional(),
3749
- reference_input_source_net_id: z166.string().optional(),
3750
- subcircuit_id: z166.string().optional(),
3751
- color: z166.string().optional()
3768
+ source_component_id: z167.string().optional(),
3769
+ name: z167.string().optional(),
3770
+ signal_input_source_port_id: z167.string().optional(),
3771
+ signal_input_source_net_id: z167.string().optional(),
3772
+ reference_input_source_port_id: z167.string().optional(),
3773
+ reference_input_source_net_id: z167.string().optional(),
3774
+ subcircuit_id: z167.string().optional(),
3775
+ color: z167.string().optional()
3752
3776
  }).describe(
3753
3777
  "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."
3754
3778
  ).superRefine((data, ctx) => {
@@ -3758,20 +3782,20 @@ var simulation_voltage_probe = z166.object({
3758
3782
  const has_nets = !!data.signal_input_source_net_id || !!data.reference_input_source_net_id;
3759
3783
  if (has_ports && has_nets) {
3760
3784
  ctx.addIssue({
3761
- code: z166.ZodIssueCode.custom,
3785
+ code: z167.ZodIssueCode.custom,
3762
3786
  message: "Cannot mix port and net connections in a differential probe."
3763
3787
  });
3764
3788
  } else if (has_ports) {
3765
3789
  if (!data.signal_input_source_port_id || !data.reference_input_source_port_id) {
3766
3790
  ctx.addIssue({
3767
- code: z166.ZodIssueCode.custom,
3791
+ code: z167.ZodIssueCode.custom,
3768
3792
  message: "Differential port probe requires both signal_input_source_port_id and reference_input_source_port_id."
3769
3793
  });
3770
3794
  }
3771
3795
  } else if (has_nets) {
3772
3796
  if (!data.signal_input_source_net_id || !data.reference_input_source_net_id) {
3773
3797
  ctx.addIssue({
3774
- code: z166.ZodIssueCode.custom,
3798
+ code: z167.ZodIssueCode.custom,
3775
3799
  message: "Differential net probe requires both signal_input_source_net_id and reference_input_source_net_id."
3776
3800
  });
3777
3801
  }
@@ -3779,7 +3803,7 @@ var simulation_voltage_probe = z166.object({
3779
3803
  } else {
3780
3804
  if (!!data.signal_input_source_port_id === !!data.signal_input_source_net_id) {
3781
3805
  ctx.addIssue({
3782
- code: z166.ZodIssueCode.custom,
3806
+ code: z167.ZodIssueCode.custom,
3783
3807
  message: "A voltage probe must have exactly one of signal_input_source_port_id or signal_input_source_net_id."
3784
3808
  });
3785
3809
  }
@@ -3788,50 +3812,50 @@ var simulation_voltage_probe = z166.object({
3788
3812
  expectTypesMatch(true);
3789
3813
 
3790
3814
  // src/simulation/simulation_unknown_experiment_error.ts
3791
- import { z as z167 } from "zod";
3815
+ import { z as z168 } from "zod";
3792
3816
  var simulation_unknown_experiment_error = base_circuit_json_error.extend({
3793
- type: z167.literal("simulation_unknown_experiment_error"),
3817
+ type: z168.literal("simulation_unknown_experiment_error"),
3794
3818
  simulation_unknown_experiment_error_id: getZodPrefixedIdWithDefault(
3795
3819
  "simulation_unknown_experiment_error"
3796
3820
  ),
3797
- error_type: z167.literal("simulation_unknown_experiment_error").default("simulation_unknown_experiment_error"),
3798
- simulation_experiment_id: z167.string().optional(),
3799
- subcircuit_id: z167.string().optional()
3821
+ error_type: z168.literal("simulation_unknown_experiment_error").default("simulation_unknown_experiment_error"),
3822
+ simulation_experiment_id: z168.string().optional(),
3823
+ subcircuit_id: z168.string().optional()
3800
3824
  }).describe("An unknown error occurred during the simulation experiment.");
3801
3825
  expectTypesMatch(true);
3802
3826
 
3803
3827
  // src/simulation/simulation_op_amp.ts
3804
- import { z as z168 } from "zod";
3805
- var simulation_op_amp = z168.object({
3806
- type: z168.literal("simulation_op_amp"),
3828
+ import { z as z169 } from "zod";
3829
+ var simulation_op_amp = z169.object({
3830
+ type: z169.literal("simulation_op_amp"),
3807
3831
  simulation_op_amp_id: getZodPrefixedIdWithDefault("simulation_op_amp"),
3808
- source_component_id: z168.string().optional(),
3809
- inverting_input_source_port_id: z168.string(),
3810
- non_inverting_input_source_port_id: z168.string(),
3811
- output_source_port_id: z168.string(),
3812
- positive_supply_source_port_id: z168.string(),
3813
- negative_supply_source_port_id: z168.string()
3832
+ source_component_id: z169.string().optional(),
3833
+ inverting_input_source_port_id: z169.string(),
3834
+ non_inverting_input_source_port_id: z169.string(),
3835
+ output_source_port_id: z169.string(),
3836
+ positive_supply_source_port_id: z169.string(),
3837
+ negative_supply_source_port_id: z169.string()
3814
3838
  }).describe("Defines a simple ideal operational amplifier for simulation");
3815
3839
  expectTypesMatch(true);
3816
3840
 
3817
3841
  // src/simulation/simulation_spice_subcircuit.ts
3818
- import { z as z169 } from "zod";
3819
- var simulation_spice_subcircuit = z169.object({
3820
- type: z169.literal("simulation_spice_subcircuit"),
3842
+ import { z as z170 } from "zod";
3843
+ var simulation_spice_subcircuit = z170.object({
3844
+ type: z170.literal("simulation_spice_subcircuit"),
3821
3845
  simulation_spice_subcircuit_id: getZodPrefixedIdWithDefault(
3822
3846
  "simulation_spice_subcircuit"
3823
3847
  ),
3824
- source_component_id: z169.string(),
3825
- spice_pin_to_source_port_map: z169.record(z169.string(), z169.string()),
3826
- subcircuit_source: z169.string()
3848
+ source_component_id: z170.string(),
3849
+ spice_pin_to_source_port_map: z170.record(z170.string(), z170.string()),
3850
+ subcircuit_source: z170.string()
3827
3851
  }).describe("Defines a custom SPICE subcircuit model for simulation");
3828
3852
  expectTypesMatch(
3829
3853
  true
3830
3854
  );
3831
3855
 
3832
3856
  // src/any_circuit_element.ts
3833
- import { z as z170 } from "zod";
3834
- var any_circuit_element = z170.union([
3857
+ import { z as z171 } from "zod";
3858
+ var any_circuit_element = z171.union([
3835
3859
  source_trace,
3836
3860
  source_port,
3837
3861
  source_component_internal_connection,
@@ -3902,6 +3926,7 @@ var any_circuit_element = z170.union([
3902
3926
  pcb_silkscreen_rect,
3903
3927
  pcb_silkscreen_circle,
3904
3928
  pcb_silkscreen_oval,
3929
+ pcb_silkscreen_graphic,
3905
3930
  pcb_trace_error,
3906
3931
  pcb_trace_missing_error,
3907
3932
  pcb_placement_error,
@@ -4078,6 +4103,8 @@ export {
4078
4103
  pcb_route_hint,
4079
4104
  pcb_route_hints,
4080
4105
  pcb_silkscreen_circle,
4106
+ pcb_silkscreen_graphic,
4107
+ pcb_silkscreen_graphic_brep,
4081
4108
  pcb_silkscreen_line,
4082
4109
  pcb_silkscreen_oval,
4083
4110
  pcb_silkscreen_path,