circuit-json 0.0.126 → 0.0.128

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
@@ -352,7 +352,7 @@ var source_simple_power_source = source_component_base.extend({
352
352
  expectTypesMatch(true);
353
353
 
354
354
  // src/source/any_source_component.ts
355
- import { z as z24 } from "zod";
355
+ import { z as z25 } from "zod";
356
356
 
357
357
  // src/source/source_simple_battery.ts
358
358
  import { z as z16 } from "zod";
@@ -419,8 +419,17 @@ var source_simple_transistor = source_component_base.extend({
419
419
  });
420
420
  expectTypesMatch(true);
421
421
 
422
+ // src/source/source_simple_mosfet.ts
423
+ import { z as z24 } from "zod";
424
+ var source_simple_mosfet = source_component_base.extend({
425
+ ftype: z24.literal("simple_mosfet"),
426
+ channel_type: z24.enum(["n", "p"]),
427
+ mosfet_mode: z24.enum(["enhancement", "depletion"])
428
+ });
429
+ expectTypesMatch(true);
430
+
422
431
  // src/source/any_source_component.ts
423
- var any_source_component = z24.union([
432
+ var any_source_component = z25.union([
424
433
  source_simple_resistor,
425
434
  source_simple_capacitor,
426
435
  source_simple_diode,
@@ -436,60 +445,62 @@ var any_source_component = z24.union([
436
445
  source_simple_crystal,
437
446
  source_simple_pin_header,
438
447
  source_simple_resonator,
439
- source_simple_transistor
448
+ source_simple_transistor,
449
+ source_simple_mosfet
440
450
  ]);
441
451
 
442
452
  // src/source/source_port.ts
443
- import { z as z25 } from "zod";
444
- var source_port = z25.object({
445
- type: z25.literal("source_port"),
446
- pin_number: z25.number().optional(),
447
- port_hints: z25.array(z25.string()).optional(),
448
- name: z25.string(),
449
- source_port_id: z25.string(),
450
- source_component_id: z25.string()
453
+ import { z as z26 } from "zod";
454
+ var source_port = z26.object({
455
+ type: z26.literal("source_port"),
456
+ pin_number: z26.number().optional(),
457
+ port_hints: z26.array(z26.string()).optional(),
458
+ name: z26.string(),
459
+ source_port_id: z26.string(),
460
+ source_component_id: z26.string()
451
461
  });
452
462
  expectTypesMatch(true);
453
463
 
454
464
  // src/source/source_trace.ts
455
- import { z as z26 } from "zod";
456
- var source_trace = z26.object({
457
- type: z26.literal("source_trace"),
458
- source_trace_id: z26.string(),
459
- connected_source_port_ids: z26.array(z26.string()),
460
- connected_source_net_ids: z26.array(z26.string()),
461
- subcircuit_connectivity_map_key: z26.string().optional(),
462
- max_length: z26.number().optional()
465
+ import { z as z27 } from "zod";
466
+ var source_trace = z27.object({
467
+ type: z27.literal("source_trace"),
468
+ source_trace_id: z27.string(),
469
+ connected_source_port_ids: z27.array(z27.string()),
470
+ connected_source_net_ids: z27.array(z27.string()),
471
+ subcircuit_connectivity_map_key: z27.string().optional(),
472
+ max_length: z27.number().optional(),
473
+ display_name: z27.string().optional()
463
474
  });
464
475
  expectTypesMatch(true);
465
476
 
466
477
  // src/source/source_group.ts
467
- import { z as z27 } from "zod";
468
- var source_group = z27.object({
469
- type: z27.literal("source_group"),
470
- source_group_id: z27.string(),
471
- name: z27.string().optional()
478
+ import { z as z28 } from "zod";
479
+ var source_group = z28.object({
480
+ type: z28.literal("source_group"),
481
+ source_group_id: z28.string(),
482
+ name: z28.string().optional()
472
483
  });
473
484
 
474
485
  // src/source/source_net.ts
475
- import { z as z28 } from "zod";
476
- var source_net = z28.object({
477
- type: z28.literal("source_net"),
478
- source_net_id: z28.string(),
479
- name: z28.string(),
480
- member_source_group_ids: z28.array(z28.string()),
481
- is_power: z28.boolean().optional(),
482
- is_ground: z28.boolean().optional(),
483
- is_digital_signal: z28.boolean().optional(),
484
- is_analog_signal: z28.boolean().optional(),
485
- trace_width: z28.number().optional()
486
+ import { z as z29 } from "zod";
487
+ var source_net = z29.object({
488
+ type: z29.literal("source_net"),
489
+ source_net_id: z29.string(),
490
+ name: z29.string(),
491
+ member_source_group_ids: z29.array(z29.string()),
492
+ is_power: z29.boolean().optional(),
493
+ is_ground: z29.boolean().optional(),
494
+ is_digital_signal: z29.boolean().optional(),
495
+ is_analog_signal: z29.boolean().optional(),
496
+ trace_width: z29.number().optional()
486
497
  });
487
498
 
488
499
  // src/schematic/schematic_box.ts
489
- import { z as z29 } from "zod";
490
- var schematic_box = z29.object({
491
- type: z29.literal("schematic_box"),
492
- schematic_component_id: z29.string(),
500
+ import { z as z30 } from "zod";
501
+ var schematic_box = z30.object({
502
+ type: z30.literal("schematic_box"),
503
+ schematic_component_id: z30.string(),
493
504
  width: distance,
494
505
  height: distance,
495
506
  x: distance,
@@ -498,82 +509,82 @@ var schematic_box = z29.object({
498
509
  expectTypesMatch(true);
499
510
 
500
511
  // src/schematic/schematic_path.ts
501
- import { z as z30 } from "zod";
502
- var schematic_path = z30.object({
503
- type: z30.literal("schematic_path"),
504
- schematic_component_id: z30.string(),
505
- fill_color: z30.enum(["red", "blue"]).optional(),
506
- is_filled: z30.boolean().optional(),
507
- points: z30.array(point)
512
+ import { z as z31 } from "zod";
513
+ var schematic_path = z31.object({
514
+ type: z31.literal("schematic_path"),
515
+ schematic_component_id: z31.string(),
516
+ fill_color: z31.enum(["red", "blue"]).optional(),
517
+ is_filled: z31.boolean().optional(),
518
+ points: z31.array(point)
508
519
  });
509
520
  expectTypesMatch(true);
510
521
 
511
522
  // src/schematic/schematic_component.ts
512
- import { z as z31 } from "zod";
513
- var schematic_pin_styles = z31.record(
514
- z31.object({
523
+ import { z as z32 } from "zod";
524
+ var schematic_pin_styles = z32.record(
525
+ z32.object({
515
526
  left_margin: length.optional(),
516
527
  right_margin: length.optional(),
517
528
  top_margin: length.optional(),
518
529
  bottom_margin: length.optional()
519
530
  })
520
531
  );
521
- var schematic_component_port_arrangement_by_size = z31.object({
522
- left_size: z31.number(),
523
- right_size: z31.number(),
524
- top_size: z31.number().optional(),
525
- bottom_size: z31.number().optional()
532
+ var schematic_component_port_arrangement_by_size = z32.object({
533
+ left_size: z32.number(),
534
+ right_size: z32.number(),
535
+ top_size: z32.number().optional(),
536
+ bottom_size: z32.number().optional()
526
537
  });
527
538
  expectTypesMatch(true);
528
- var schematic_component_port_arrangement_by_sides = z31.object({
529
- left_side: z31.object({
530
- pins: z31.array(z31.number()),
539
+ var schematic_component_port_arrangement_by_sides = z32.object({
540
+ left_side: z32.object({
541
+ pins: z32.array(z32.number()),
531
542
  // @ts-ignore
532
- direction: z31.enum(["top-to-bottom", "bottom-to-top"]).optional()
543
+ direction: z32.enum(["top-to-bottom", "bottom-to-top"]).optional()
533
544
  }).optional(),
534
- right_side: z31.object({
535
- pins: z31.array(z31.number()),
545
+ right_side: z32.object({
546
+ pins: z32.array(z32.number()),
536
547
  // @ts-ignore
537
- direction: z31.enum(["top-to-bottom", "bottom-to-top"]).optional()
548
+ direction: z32.enum(["top-to-bottom", "bottom-to-top"]).optional()
538
549
  }).optional(),
539
- top_side: z31.object({
540
- pins: z31.array(z31.number()),
550
+ top_side: z32.object({
551
+ pins: z32.array(z32.number()),
541
552
  // @ts-ignore
542
- direction: z31.enum(["left-to-right", "right-to-left"]).optional()
553
+ direction: z32.enum(["left-to-right", "right-to-left"]).optional()
543
554
  }).optional(),
544
- bottom_side: z31.object({
545
- pins: z31.array(z31.number()),
555
+ bottom_side: z32.object({
556
+ pins: z32.array(z32.number()),
546
557
  // @ts-ignore
547
- direction: z31.enum(["left-to-right", "right-to-left"]).optional()
558
+ direction: z32.enum(["left-to-right", "right-to-left"]).optional()
548
559
  }).optional()
549
560
  });
550
561
  expectTypesMatch(true);
551
- var port_arrangement = z31.union([
562
+ var port_arrangement = z32.union([
552
563
  schematic_component_port_arrangement_by_size,
553
564
  schematic_component_port_arrangement_by_sides
554
565
  ]);
555
- var schematic_component = z31.object({
556
- type: z31.literal("schematic_component"),
566
+ var schematic_component = z32.object({
567
+ type: z32.literal("schematic_component"),
557
568
  rotation: rotation.default(0),
558
569
  size,
559
570
  center: point,
560
- source_component_id: z31.string(),
561
- schematic_component_id: z31.string(),
571
+ source_component_id: z32.string(),
572
+ schematic_component_id: z32.string(),
562
573
  pin_spacing: length.optional(),
563
574
  pin_styles: schematic_pin_styles.optional(),
564
575
  box_width: length.optional(),
565
- symbol_name: z31.string().optional(),
576
+ symbol_name: z32.string().optional(),
566
577
  port_arrangement: port_arrangement.optional(),
567
- port_labels: z31.record(z31.string()).optional(),
568
- symbol_display_value: z31.string().optional()
578
+ port_labels: z32.record(z32.string()).optional(),
579
+ symbol_display_value: z32.string().optional()
569
580
  });
570
581
  expectTypesMatch(true);
571
582
 
572
583
  // src/schematic/schematic_line.ts
573
- import { z as z32 } from "zod";
574
- var schematic_line = z32.object({
575
- type: z32.literal("schematic_line"),
576
- schematic_component_id: z32.string(),
584
+ import { z as z33 } from "zod";
585
+ var schematic_line = z33.object({
586
+ type: z33.literal("schematic_line"),
587
+ schematic_component_id: z33.string(),
577
588
  x1: distance,
578
589
  x2: distance,
579
590
  y1: distance,
@@ -582,113 +593,113 @@ var schematic_line = z32.object({
582
593
  expectTypesMatch(true);
583
594
 
584
595
  // src/schematic/schematic_trace.ts
585
- import { z as z33 } from "zod";
586
- var schematic_trace = z33.object({
587
- type: z33.literal("schematic_trace"),
588
- schematic_trace_id: z33.string(),
589
- source_trace_id: z33.string(),
590
- junctions: z33.array(
591
- z33.object({
592
- x: z33.number(),
593
- y: z33.number()
596
+ import { z as z34 } from "zod";
597
+ var schematic_trace = z34.object({
598
+ type: z34.literal("schematic_trace"),
599
+ schematic_trace_id: z34.string(),
600
+ source_trace_id: z34.string(),
601
+ junctions: z34.array(
602
+ z34.object({
603
+ x: z34.number(),
604
+ y: z34.number()
594
605
  })
595
606
  ),
596
- edges: z33.array(
597
- z33.object({
598
- from: z33.object({
599
- x: z33.number(),
600
- y: z33.number()
607
+ edges: z34.array(
608
+ z34.object({
609
+ from: z34.object({
610
+ x: z34.number(),
611
+ y: z34.number()
601
612
  }),
602
- to: z33.object({
603
- x: z33.number(),
604
- y: z33.number()
613
+ to: z34.object({
614
+ x: z34.number(),
615
+ y: z34.number()
605
616
  }),
606
- is_crossing: z33.boolean().optional(),
607
- from_schematic_port_id: z33.string().optional(),
608
- to_schematic_port_id: z33.string().optional()
617
+ is_crossing: z34.boolean().optional(),
618
+ from_schematic_port_id: z34.string().optional(),
619
+ to_schematic_port_id: z34.string().optional()
609
620
  })
610
621
  )
611
622
  });
612
623
  expectTypesMatch(true);
613
624
 
614
625
  // src/schematic/schematic_text.ts
615
- import { z as z34 } from "zod";
616
- var schematic_text = z34.object({
617
- type: z34.literal("schematic_text"),
618
- schematic_component_id: z34.string(),
619
- schematic_text_id: z34.string(),
620
- text: z34.string(),
621
- position: z34.object({
626
+ import { z as z35 } from "zod";
627
+ var schematic_text = z35.object({
628
+ type: z35.literal("schematic_text"),
629
+ schematic_component_id: z35.string(),
630
+ schematic_text_id: z35.string(),
631
+ text: z35.string(),
632
+ position: z35.object({
622
633
  x: distance,
623
634
  y: distance
624
635
  }),
625
- rotation: z34.number().default(0),
626
- anchor: z34.enum(["center", "left", "right", "top", "bottom"]).default("center"),
627
- color: z34.string().default("#000000")
636
+ rotation: z35.number().default(0),
637
+ anchor: z35.enum(["center", "left", "right", "top", "bottom"]).default("center"),
638
+ color: z35.string().default("#000000")
628
639
  });
629
640
  expectTypesMatch(true);
630
641
 
631
642
  // src/schematic/schematic_port.ts
632
- import { z as z35 } from "zod";
633
- var schematic_port = z35.object({
634
- type: z35.literal("schematic_port"),
635
- schematic_port_id: z35.string(),
636
- source_port_id: z35.string(),
637
- schematic_component_id: z35.string().optional(),
643
+ import { z as z36 } from "zod";
644
+ var schematic_port = z36.object({
645
+ type: z36.literal("schematic_port"),
646
+ schematic_port_id: z36.string(),
647
+ source_port_id: z36.string(),
648
+ schematic_component_id: z36.string().optional(),
638
649
  center: point,
639
- facing_direction: z35.enum(["up", "down", "left", "right"]).optional(),
640
- distance_from_component_edge: z35.number().optional(),
641
- side_of_component: z35.enum(["top", "bottom", "left", "right"]).optional(),
642
- true_ccw_index: z35.number().optional(),
643
- pin_number: z35.number().optional(),
644
- display_pin_label: z35.string().optional()
650
+ facing_direction: z36.enum(["up", "down", "left", "right"]).optional(),
651
+ distance_from_component_edge: z36.number().optional(),
652
+ side_of_component: z36.enum(["top", "bottom", "left", "right"]).optional(),
653
+ true_ccw_index: z36.number().optional(),
654
+ pin_number: z36.number().optional(),
655
+ display_pin_label: z36.string().optional()
645
656
  }).describe("Defines a port on a schematic component");
646
657
  expectTypesMatch(true);
647
658
 
648
659
  // src/schematic/schematic_net_label.ts
649
- import { z as z36 } from "zod";
650
- var schematic_net_label = z36.object({
651
- type: z36.literal("schematic_net_label"),
652
- source_net_id: z36.string(),
660
+ import { z as z37 } from "zod";
661
+ var schematic_net_label = z37.object({
662
+ type: z37.literal("schematic_net_label"),
663
+ source_net_id: z37.string(),
653
664
  center: point,
654
665
  anchor_position: point.optional(),
655
- anchor_side: z36.enum(["top", "bottom", "left", "right"]),
656
- text: z36.string(),
657
- symbol_name: z36.string().optional()
666
+ anchor_side: z37.enum(["top", "bottom", "left", "right"]),
667
+ text: z37.string(),
668
+ symbol_name: z37.string().optional()
658
669
  });
659
670
 
660
671
  // src/schematic/schematic_error.ts
661
- import { z as z37 } from "zod";
662
- var schematic_error = z37.object({
663
- type: z37.literal("schematic_error"),
664
- schematic_error_id: z37.string(),
672
+ import { z as z38 } from "zod";
673
+ var schematic_error = z38.object({
674
+ type: z38.literal("schematic_error"),
675
+ schematic_error_id: z38.string(),
665
676
  // eventually each error type should be broken out into a dir of files
666
- error_type: z37.literal("schematic_port_not_found"),
667
- message: z37.string()
677
+ error_type: z38.literal("schematic_port_not_found"),
678
+ message: z38.string()
668
679
  }).describe("Defines a schematic error on the schematic");
669
680
  expectTypesMatch(true);
670
681
 
671
682
  // src/schematic/schematic_debug_object.ts
672
- import { z as z38 } from "zod";
673
- var schematic_debug_object_base = z38.object({
674
- type: z38.literal("schematic_debug_object"),
675
- label: z38.string().optional()
683
+ import { z as z39 } from "zod";
684
+ var schematic_debug_object_base = z39.object({
685
+ type: z39.literal("schematic_debug_object"),
686
+ label: z39.string().optional()
676
687
  });
677
688
  var schematic_debug_rect = schematic_debug_object_base.extend({
678
- shape: z38.literal("rect"),
689
+ shape: z39.literal("rect"),
679
690
  center: point,
680
691
  size
681
692
  });
682
693
  var schematic_debug_line = schematic_debug_object_base.extend({
683
- shape: z38.literal("line"),
694
+ shape: z39.literal("line"),
684
695
  start: point,
685
696
  end: point
686
697
  });
687
698
  var schematic_debug_point = schematic_debug_object_base.extend({
688
- shape: z38.literal("point"),
699
+ shape: z39.literal("point"),
689
700
  center: point
690
701
  });
691
- var schematic_debug_object = z38.discriminatedUnion("shape", [
702
+ var schematic_debug_object = z39.discriminatedUnion("shape", [
692
703
  schematic_debug_rect,
693
704
  schematic_debug_line,
694
705
  schematic_debug_point
@@ -696,18 +707,18 @@ var schematic_debug_object = z38.discriminatedUnion("shape", [
696
707
  expectTypesMatch(true);
697
708
 
698
709
  // src/schematic/schematic_voltage_probe.ts
699
- import { z as z39 } from "zod";
700
- var schematic_voltage_probe = z39.object({
701
- type: z39.literal("schematic_voltage_probe"),
702
- schematic_voltage_probe_id: z39.string(),
710
+ import { z as z40 } from "zod";
711
+ var schematic_voltage_probe = z40.object({
712
+ type: z40.literal("schematic_voltage_probe"),
713
+ schematic_voltage_probe_id: z40.string(),
703
714
  position: point,
704
- schematic_trace_id: z39.string(),
715
+ schematic_trace_id: z40.string(),
705
716
  voltage: voltage.optional()
706
717
  }).describe("Defines a voltage probe measurement point on a schematic trace");
707
718
  expectTypesMatch(true);
708
719
 
709
720
  // src/pcb/properties/layer_ref.ts
710
- import { z as z40 } from "zod";
721
+ import { z as z41 } from "zod";
711
722
  var all_layers = [
712
723
  "top",
713
724
  "bottom",
@@ -718,9 +729,9 @@ var all_layers = [
718
729
  "inner5",
719
730
  "inner6"
720
731
  ];
721
- var layer_string = z40.enum(all_layers);
732
+ var layer_string = z41.enum(all_layers);
722
733
  var layer_ref = layer_string.or(
723
- z40.object({
734
+ z41.object({
724
735
  name: layer_string
725
736
  })
726
737
  ).transform((layer) => {
@@ -729,34 +740,34 @@ var layer_ref = layer_string.or(
729
740
  }
730
741
  return layer.name;
731
742
  });
732
- var visible_layer = z40.enum(["top", "bottom"]);
743
+ var visible_layer = z41.enum(["top", "bottom"]);
733
744
 
734
745
  // src/pcb/properties/pcb_route_hints.ts
735
- import { z as z41 } from "zod";
736
- var pcb_route_hint = z41.object({
746
+ import { z as z42 } from "zod";
747
+ var pcb_route_hint = z42.object({
737
748
  x: distance,
738
749
  y: distance,
739
- via: z41.boolean().optional(),
750
+ via: z42.boolean().optional(),
740
751
  via_to_layer: layer_ref.optional()
741
752
  });
742
- var pcb_route_hints = z41.array(pcb_route_hint);
753
+ var pcb_route_hints = z42.array(pcb_route_hint);
743
754
 
744
755
  // src/pcb/properties/route_hint_point.ts
745
- import { z as z42 } from "zod";
746
- var route_hint_point = z42.object({
756
+ import { z as z43 } from "zod";
757
+ var route_hint_point = z43.object({
747
758
  x: distance,
748
759
  y: distance,
749
- via: z42.boolean().optional(),
760
+ via: z43.boolean().optional(),
750
761
  to_layer: layer_ref.optional(),
751
762
  trace_width: distance.optional()
752
763
  });
753
764
 
754
765
  // src/pcb/pcb_component.ts
755
- import { z as z43 } from "zod";
756
- var pcb_component = z43.object({
757
- type: z43.literal("pcb_component"),
766
+ import { z as z44 } from "zod";
767
+ var pcb_component = z44.object({
768
+ type: z44.literal("pcb_component"),
758
769
  pcb_component_id: getZodPrefixedIdWithDefault("pcb_component"),
759
- source_component_id: z43.string(),
770
+ source_component_id: z44.string(),
760
771
  center: point,
761
772
  layer: layer_ref,
762
773
  rotation,
@@ -766,12 +777,12 @@ var pcb_component = z43.object({
766
777
  expectTypesMatch(true);
767
778
 
768
779
  // src/pcb/pcb_hole.ts
769
- import { z as z44 } from "zod";
770
- var pcb_hole_circle_or_square = z44.object({
771
- type: z44.literal("pcb_hole"),
780
+ import { z as z45 } from "zod";
781
+ var pcb_hole_circle_or_square = z45.object({
782
+ type: z45.literal("pcb_hole"),
772
783
  pcb_hole_id: getZodPrefixedIdWithDefault("pcb_hole"),
773
- hole_shape: z44.enum(["circle", "square"]),
774
- hole_diameter: z44.number(),
784
+ hole_shape: z45.enum(["circle", "square"]),
785
+ hole_diameter: z45.number(),
775
786
  x: distance,
776
787
  y: distance
777
788
  });
@@ -779,12 +790,12 @@ var pcb_hole_circle_or_square_shape = pcb_hole_circle_or_square.describe(
779
790
  "Defines a circular or square hole on the PCB"
780
791
  );
781
792
  expectTypesMatch(true);
782
- var pcb_hole_oval = z44.object({
783
- type: z44.literal("pcb_hole"),
793
+ var pcb_hole_oval = z45.object({
794
+ type: z45.literal("pcb_hole"),
784
795
  pcb_hole_id: getZodPrefixedIdWithDefault("pcb_hole"),
785
- hole_shape: z44.literal("oval"),
786
- hole_width: z44.number(),
787
- hole_height: z44.number(),
796
+ hole_shape: z45.literal("oval"),
797
+ hole_width: z45.number(),
798
+ hole_height: z45.number(),
788
799
  x: distance,
789
800
  y: distance
790
801
  });
@@ -795,52 +806,52 @@ expectTypesMatch(true);
795
806
  var pcb_hole = pcb_hole_circle_or_square.or(pcb_hole_oval);
796
807
 
797
808
  // src/pcb/pcb_plated_hole.ts
798
- import { z as z45 } from "zod";
799
- var pcb_plated_hole_circle = z45.object({
800
- type: z45.literal("pcb_plated_hole"),
801
- shape: z45.literal("circle"),
802
- outer_diameter: z45.number(),
803
- hole_diameter: z45.number(),
809
+ import { z as z46 } from "zod";
810
+ var pcb_plated_hole_circle = z46.object({
811
+ type: z46.literal("pcb_plated_hole"),
812
+ shape: z46.literal("circle"),
813
+ outer_diameter: z46.number(),
814
+ hole_diameter: z46.number(),
804
815
  x: distance,
805
816
  y: distance,
806
- layers: z45.array(layer_ref),
807
- port_hints: z45.array(z45.string()).optional(),
808
- pcb_component_id: z45.string().optional(),
809
- pcb_port_id: z45.string().optional(),
817
+ layers: z46.array(layer_ref),
818
+ port_hints: z46.array(z46.string()).optional(),
819
+ pcb_component_id: z46.string().optional(),
820
+ pcb_port_id: z46.string().optional(),
810
821
  pcb_plated_hole_id: getZodPrefixedIdWithDefault("pcb_plated_hole")
811
822
  });
812
- var pcb_plated_hole_oval = z45.object({
813
- type: z45.literal("pcb_plated_hole"),
814
- shape: z45.enum(["oval", "pill"]),
815
- outer_width: z45.number(),
816
- outer_height: z45.number(),
817
- hole_width: z45.number(),
818
- hole_height: z45.number(),
823
+ var pcb_plated_hole_oval = z46.object({
824
+ type: z46.literal("pcb_plated_hole"),
825
+ shape: z46.enum(["oval", "pill"]),
826
+ outer_width: z46.number(),
827
+ outer_height: z46.number(),
828
+ hole_width: z46.number(),
829
+ hole_height: z46.number(),
819
830
  x: distance,
820
831
  y: distance,
821
- layers: z45.array(layer_ref),
822
- port_hints: z45.array(z45.string()).optional(),
823
- pcb_component_id: z45.string().optional(),
824
- pcb_port_id: z45.string().optional(),
832
+ layers: z46.array(layer_ref),
833
+ port_hints: z46.array(z46.string()).optional(),
834
+ pcb_component_id: z46.string().optional(),
835
+ pcb_port_id: z46.string().optional(),
825
836
  pcb_plated_hole_id: getZodPrefixedIdWithDefault("pcb_plated_hole")
826
837
  });
827
- var pcb_circular_hole_with_rect_pad = z45.object({
828
- type: z45.literal("pcb_plated_hole"),
829
- shape: z45.literal("circular_hole_with_rect_pad"),
830
- hole_shape: z45.literal("circle"),
831
- pad_shape: z45.literal("rect"),
832
- hole_diameter: z45.number(),
833
- rect_pad_width: z45.number(),
834
- rect_pad_height: z45.number(),
838
+ var pcb_circular_hole_with_rect_pad = z46.object({
839
+ type: z46.literal("pcb_plated_hole"),
840
+ shape: z46.literal("circular_hole_with_rect_pad"),
841
+ hole_shape: z46.literal("circle"),
842
+ pad_shape: z46.literal("rect"),
843
+ hole_diameter: z46.number(),
844
+ rect_pad_width: z46.number(),
845
+ rect_pad_height: z46.number(),
835
846
  x: distance,
836
847
  y: distance,
837
- layers: z45.array(layer_ref),
838
- port_hints: z45.array(z45.string()).optional(),
839
- pcb_component_id: z45.string().optional(),
840
- pcb_port_id: z45.string().optional(),
848
+ layers: z46.array(layer_ref),
849
+ port_hints: z46.array(z46.string()).optional(),
850
+ pcb_component_id: z46.string().optional(),
851
+ pcb_port_id: z46.string().optional(),
841
852
  pcb_plated_hole_id: getZodPrefixedIdWithDefault("pcb_plated_hole")
842
853
  });
843
- var pcb_plated_hole = z45.union([
854
+ var pcb_plated_hole = z46.union([
844
855
  pcb_plated_hole_circle,
845
856
  pcb_plated_hole_oval,
846
857
  pcb_circular_hole_with_rect_pad
@@ -852,157 +863,157 @@ expectTypesMatch(true);
852
863
  expectTypesMatch(true);
853
864
 
854
865
  // src/pcb/pcb_port.ts
855
- import { z as z46 } from "zod";
856
- var pcb_port = z46.object({
857
- type: z46.literal("pcb_port"),
866
+ import { z as z47 } from "zod";
867
+ var pcb_port = z47.object({
868
+ type: z47.literal("pcb_port"),
858
869
  pcb_port_id: getZodPrefixedIdWithDefault("pcb_port"),
859
- source_port_id: z46.string(),
860
- pcb_component_id: z46.string(),
870
+ source_port_id: z47.string(),
871
+ pcb_component_id: z47.string(),
861
872
  x: distance,
862
873
  y: distance,
863
- layers: z46.array(layer_ref)
874
+ layers: z47.array(layer_ref)
864
875
  }).describe("Defines a port on the PCB");
865
876
  expectTypesMatch(true);
866
877
 
867
878
  // src/pcb/pcb_smtpad.ts
868
- import { z as z47 } from "zod";
869
- var pcb_smtpad_circle = z47.object({
870
- type: z47.literal("pcb_smtpad"),
871
- shape: z47.literal("circle"),
879
+ import { z as z48 } from "zod";
880
+ var pcb_smtpad_circle = z48.object({
881
+ type: z48.literal("pcb_smtpad"),
882
+ shape: z48.literal("circle"),
872
883
  pcb_smtpad_id: getZodPrefixedIdWithDefault("pcb_smtpad"),
873
884
  x: distance,
874
885
  y: distance,
875
- radius: z47.number(),
886
+ radius: z48.number(),
876
887
  layer: layer_ref,
877
- port_hints: z47.array(z47.string()).optional(),
878
- pcb_component_id: z47.string().optional(),
879
- pcb_port_id: z47.string().optional()
888
+ port_hints: z48.array(z48.string()).optional(),
889
+ pcb_component_id: z48.string().optional(),
890
+ pcb_port_id: z48.string().optional()
880
891
  });
881
- var pcb_smtpad_rect = z47.object({
882
- type: z47.literal("pcb_smtpad"),
883
- shape: z47.literal("rect"),
892
+ var pcb_smtpad_rect = z48.object({
893
+ type: z48.literal("pcb_smtpad"),
894
+ shape: z48.literal("rect"),
884
895
  pcb_smtpad_id: getZodPrefixedIdWithDefault("pcb_smtpad"),
885
896
  x: distance,
886
897
  y: distance,
887
- width: z47.number(),
888
- height: z47.number(),
898
+ width: z48.number(),
899
+ height: z48.number(),
889
900
  layer: layer_ref,
890
- port_hints: z47.array(z47.string()).optional(),
891
- pcb_component_id: z47.string().optional(),
892
- pcb_port_id: z47.string().optional()
901
+ port_hints: z48.array(z48.string()).optional(),
902
+ pcb_component_id: z48.string().optional(),
903
+ pcb_port_id: z48.string().optional()
893
904
  });
894
- var pcb_smtpad_rotated_rect = z47.object({
895
- type: z47.literal("pcb_smtpad"),
896
- shape: z47.literal("rotated_rect"),
905
+ var pcb_smtpad_rotated_rect = z48.object({
906
+ type: z48.literal("pcb_smtpad"),
907
+ shape: z48.literal("rotated_rect"),
897
908
  pcb_smtpad_id: getZodPrefixedIdWithDefault("pcb_smtpad"),
898
909
  x: distance,
899
910
  y: distance,
900
- width: z47.number(),
901
- height: z47.number(),
911
+ width: z48.number(),
912
+ height: z48.number(),
902
913
  ccw_rotation: rotation,
903
914
  layer: layer_ref,
904
- port_hints: z47.array(z47.string()).optional(),
905
- pcb_component_id: z47.string().optional(),
906
- pcb_port_id: z47.string().optional()
915
+ port_hints: z48.array(z48.string()).optional(),
916
+ pcb_component_id: z48.string().optional(),
917
+ pcb_port_id: z48.string().optional()
907
918
  });
908
- var pcb_smtpad = z47.union([pcb_smtpad_circle, pcb_smtpad_rect, pcb_smtpad_rotated_rect]).describe("Defines an SMT pad on the PCB");
919
+ var pcb_smtpad = z48.union([pcb_smtpad_circle, pcb_smtpad_rect, pcb_smtpad_rotated_rect]).describe("Defines an SMT pad on the PCB");
909
920
  expectTypesMatch(true);
910
921
  expectTypesMatch(true);
911
922
  expectTypesMatch(true);
912
923
 
913
924
  // src/pcb/pcb_solder_paste.ts
914
- import { z as z48 } from "zod";
915
- var pcb_solder_paste_circle = z48.object({
916
- type: z48.literal("pcb_solder_paste"),
917
- shape: z48.literal("circle"),
925
+ import { z as z49 } from "zod";
926
+ var pcb_solder_paste_circle = z49.object({
927
+ type: z49.literal("pcb_solder_paste"),
928
+ shape: z49.literal("circle"),
918
929
  pcb_solder_paste_id: getZodPrefixedIdWithDefault("pcb_solder_paste"),
919
930
  x: distance,
920
931
  y: distance,
921
- radius: z48.number(),
932
+ radius: z49.number(),
922
933
  layer: layer_ref,
923
- pcb_component_id: z48.string().optional(),
924
- pcb_smtpad_id: z48.string().optional()
934
+ pcb_component_id: z49.string().optional(),
935
+ pcb_smtpad_id: z49.string().optional()
925
936
  });
926
- var pcb_solder_paste_rect = z48.object({
927
- type: z48.literal("pcb_solder_paste"),
928
- shape: z48.literal("rect"),
937
+ var pcb_solder_paste_rect = z49.object({
938
+ type: z49.literal("pcb_solder_paste"),
939
+ shape: z49.literal("rect"),
929
940
  pcb_solder_paste_id: getZodPrefixedIdWithDefault("pcb_solder_paste"),
930
941
  x: distance,
931
942
  y: distance,
932
- width: z48.number(),
933
- height: z48.number(),
943
+ width: z49.number(),
944
+ height: z49.number(),
934
945
  layer: layer_ref,
935
- pcb_component_id: z48.string().optional(),
936
- pcb_smtpad_id: z48.string().optional()
946
+ pcb_component_id: z49.string().optional(),
947
+ pcb_smtpad_id: z49.string().optional()
937
948
  });
938
- var pcb_solder_paste = z48.union([pcb_solder_paste_circle, pcb_solder_paste_rect]).describe("Defines solderpaste on the PCB");
949
+ var pcb_solder_paste = z49.union([pcb_solder_paste_circle, pcb_solder_paste_rect]).describe("Defines solderpaste on the PCB");
939
950
  expectTypesMatch(true);
940
951
  expectTypesMatch(true);
941
952
 
942
953
  // src/pcb/pcb_text.ts
943
- import { z as z49 } from "zod";
944
- var pcb_text = z49.object({
945
- type: z49.literal("pcb_text"),
954
+ import { z as z50 } from "zod";
955
+ var pcb_text = z50.object({
956
+ type: z50.literal("pcb_text"),
946
957
  pcb_text_id: getZodPrefixedIdWithDefault("pcb_text"),
947
- text: z49.string(),
958
+ text: z50.string(),
948
959
  center: point,
949
960
  layer: layer_ref,
950
961
  width: length,
951
962
  height: length,
952
- lines: z49.number(),
963
+ lines: z50.number(),
953
964
  // @ts-ignore
954
- align: z49.enum(["bottom-left"])
965
+ align: z50.enum(["bottom-left"])
955
966
  }).describe("Defines text on the PCB");
956
967
  expectTypesMatch(true);
957
968
 
958
969
  // src/pcb/pcb_trace.ts
959
- import { z as z50 } from "zod";
960
- var pcb_trace_route_point_wire = z50.object({
961
- route_type: z50.literal("wire"),
970
+ import { z as z51 } from "zod";
971
+ var pcb_trace_route_point_wire = z51.object({
972
+ route_type: z51.literal("wire"),
962
973
  x: distance,
963
974
  y: distance,
964
975
  width: distance,
965
- start_pcb_port_id: z50.string().optional(),
966
- end_pcb_port_id: z50.string().optional(),
976
+ start_pcb_port_id: z51.string().optional(),
977
+ end_pcb_port_id: z51.string().optional(),
967
978
  layer: layer_ref
968
979
  });
969
- var pcb_trace_route_point_via = z50.object({
970
- route_type: z50.literal("via"),
980
+ var pcb_trace_route_point_via = z51.object({
981
+ route_type: z51.literal("via"),
971
982
  x: distance,
972
983
  y: distance,
973
- from_layer: z50.string(),
974
- to_layer: z50.string()
984
+ from_layer: z51.string(),
985
+ to_layer: z51.string()
975
986
  });
976
- var pcb_trace_route_point = z50.union([
987
+ var pcb_trace_route_point = z51.union([
977
988
  pcb_trace_route_point_wire,
978
989
  pcb_trace_route_point_via
979
990
  ]);
980
- var pcb_trace = z50.object({
981
- type: z50.literal("pcb_trace"),
982
- source_trace_id: z50.string().optional(),
983
- pcb_component_id: z50.string().optional(),
991
+ var pcb_trace = z51.object({
992
+ type: z51.literal("pcb_trace"),
993
+ source_trace_id: z51.string().optional(),
994
+ pcb_component_id: z51.string().optional(),
984
995
  pcb_trace_id: getZodPrefixedIdWithDefault("pcb_trace"),
985
- route_thickness_mode: z50.enum(["constant", "interpolated"]).default("constant").optional(),
986
- route_order_index: z50.number().optional(),
987
- should_round_corners: z50.boolean().optional(),
988
- trace_length: z50.number().optional(),
989
- route: z50.array(
990
- z50.union([
991
- z50.object({
992
- route_type: z50.literal("wire"),
996
+ route_thickness_mode: z51.enum(["constant", "interpolated"]).default("constant").optional(),
997
+ route_order_index: z51.number().optional(),
998
+ should_round_corners: z51.boolean().optional(),
999
+ trace_length: z51.number().optional(),
1000
+ route: z51.array(
1001
+ z51.union([
1002
+ z51.object({
1003
+ route_type: z51.literal("wire"),
993
1004
  x: distance,
994
1005
  y: distance,
995
1006
  width: distance,
996
- start_pcb_port_id: z50.string().optional(),
997
- end_pcb_port_id: z50.string().optional(),
1007
+ start_pcb_port_id: z51.string().optional(),
1008
+ end_pcb_port_id: z51.string().optional(),
998
1009
  layer: layer_ref
999
1010
  }),
1000
- z50.object({
1001
- route_type: z50.literal("via"),
1011
+ z51.object({
1012
+ route_type: z51.literal("via"),
1002
1013
  x: distance,
1003
1014
  y: distance,
1004
- from_layer: z50.string(),
1005
- to_layer: z50.string()
1015
+ from_layer: z51.string(),
1016
+ to_layer: z51.string()
1006
1017
  })
1007
1018
  ])
1008
1019
  )
@@ -1011,34 +1022,34 @@ expectTypesMatch(true);
1011
1022
  expectTypesMatch(true);
1012
1023
 
1013
1024
  // src/pcb/pcb_trace_error.ts
1014
- import { z as z51 } from "zod";
1015
- var pcb_trace_error = z51.object({
1016
- type: z51.literal("pcb_trace_error"),
1025
+ import { z as z52 } from "zod";
1026
+ var pcb_trace_error = z52.object({
1027
+ type: z52.literal("pcb_trace_error"),
1017
1028
  pcb_trace_error_id: getZodPrefixedIdWithDefault("pcb_trace_error"),
1018
- error_type: z51.literal("pcb_trace_error"),
1019
- message: z51.string(),
1029
+ error_type: z52.literal("pcb_trace_error"),
1030
+ message: z52.string(),
1020
1031
  center: point.optional(),
1021
- pcb_trace_id: z51.string(),
1022
- source_trace_id: z51.string(),
1023
- pcb_component_ids: z51.array(z51.string()),
1024
- pcb_port_ids: z51.array(z51.string())
1032
+ pcb_trace_id: z52.string(),
1033
+ source_trace_id: z52.string(),
1034
+ pcb_component_ids: z52.array(z52.string()),
1035
+ pcb_port_ids: z52.array(z52.string())
1025
1036
  }).describe("Defines a trace error on the PCB");
1026
1037
  expectTypesMatch(true);
1027
1038
 
1028
1039
  // src/pcb/pcb_port_not_matched_error.ts
1029
- import { z as z52 } from "zod";
1030
- var pcb_port_not_matched_error = z52.object({
1031
- type: z52.literal("pcb_port_not_matched_error"),
1040
+ import { z as z53 } from "zod";
1041
+ var pcb_port_not_matched_error = z53.object({
1042
+ type: z53.literal("pcb_port_not_matched_error"),
1032
1043
  pcb_error_id: getZodPrefixedIdWithDefault("pcb_error"),
1033
- message: z52.string(),
1034
- pcb_component_ids: z52.array(z52.string())
1044
+ message: z53.string(),
1045
+ pcb_component_ids: z53.array(z53.string())
1035
1046
  }).describe("Defines a trace error on the PCB where a port is not matched");
1036
1047
  expectTypesMatch(true);
1037
1048
 
1038
1049
  // src/pcb/pcb_via.ts
1039
- import { z as z53 } from "zod";
1040
- var pcb_via = z53.object({
1041
- type: z53.literal("pcb_via"),
1050
+ import { z as z54 } from "zod";
1051
+ var pcb_via = z54.object({
1052
+ type: z54.literal("pcb_via"),
1042
1053
  pcb_via_id: getZodPrefixedIdWithDefault("pcb_via"),
1043
1054
  x: distance,
1044
1055
  y: distance,
@@ -1048,51 +1059,51 @@ var pcb_via = z53.object({
1048
1059
  from_layer: layer_ref.optional(),
1049
1060
  /** @deprecated */
1050
1061
  to_layer: layer_ref.optional(),
1051
- layers: z53.array(layer_ref),
1052
- pcb_trace_id: z53.string().optional()
1062
+ layers: z54.array(layer_ref),
1063
+ pcb_trace_id: z54.string().optional()
1053
1064
  }).describe("Defines a via on the PCB");
1054
1065
  expectTypesMatch(true);
1055
1066
 
1056
1067
  // src/pcb/pcb_board.ts
1057
- import { z as z54 } from "zod";
1058
- var pcb_board = z54.object({
1059
- type: z54.literal("pcb_board"),
1068
+ import { z as z55 } from "zod";
1069
+ var pcb_board = z55.object({
1070
+ type: z55.literal("pcb_board"),
1060
1071
  pcb_board_id: getZodPrefixedIdWithDefault("pcb_board"),
1061
1072
  width: length,
1062
1073
  height: length,
1063
1074
  center: point,
1064
1075
  thickness: length.optional().default(1.4),
1065
- num_layers: z54.number().optional().default(4),
1066
- outline: z54.array(point).optional()
1076
+ num_layers: z55.number().optional().default(4),
1077
+ outline: z55.array(point).optional()
1067
1078
  }).describe("Defines the board outline of the PCB");
1068
1079
  expectTypesMatch(true);
1069
1080
 
1070
1081
  // src/pcb/pcb_placement_error.ts
1071
- import { z as z55 } from "zod";
1072
- var pcb_placement_error = z55.object({
1073
- type: z55.literal("pcb_placement_error"),
1082
+ import { z as z56 } from "zod";
1083
+ var pcb_placement_error = z56.object({
1084
+ type: z56.literal("pcb_placement_error"),
1074
1085
  pcb_placement_error_id: getZodPrefixedIdWithDefault("pcb_placement_error"),
1075
- message: z55.string()
1086
+ message: z56.string()
1076
1087
  }).describe("Defines a placement error on the PCB");
1077
1088
  expectTypesMatch(true);
1078
1089
 
1079
1090
  // src/pcb/pcb_trace_hint.ts
1080
- import { z as z56 } from "zod";
1081
- var pcb_trace_hint = z56.object({
1082
- type: z56.literal("pcb_trace_hint"),
1091
+ import { z as z57 } from "zod";
1092
+ var pcb_trace_hint = z57.object({
1093
+ type: z57.literal("pcb_trace_hint"),
1083
1094
  pcb_trace_hint_id: getZodPrefixedIdWithDefault("pcb_trace_hint"),
1084
- pcb_port_id: z56.string(),
1085
- pcb_component_id: z56.string(),
1086
- route: z56.array(route_hint_point)
1095
+ pcb_port_id: z57.string(),
1096
+ pcb_component_id: z57.string(),
1097
+ route: z57.array(route_hint_point)
1087
1098
  }).describe("A hint that can be used during generation of a PCB trace");
1088
1099
  expectTypesMatch(true);
1089
1100
 
1090
1101
  // src/pcb/pcb_silkscreen_line.ts
1091
- import { z as z57 } from "zod";
1092
- var pcb_silkscreen_line = z57.object({
1093
- type: z57.literal("pcb_silkscreen_line"),
1102
+ import { z as z58 } from "zod";
1103
+ var pcb_silkscreen_line = z58.object({
1104
+ type: z58.literal("pcb_silkscreen_line"),
1094
1105
  pcb_silkscreen_line_id: getZodPrefixedIdWithDefault("pcb_silkscreen_line"),
1095
- pcb_component_id: z57.string(),
1106
+ pcb_component_id: z58.string(),
1096
1107
  stroke_width: distance.default("0.1mm"),
1097
1108
  x1: distance,
1098
1109
  y1: distance,
@@ -1103,40 +1114,40 @@ var pcb_silkscreen_line = z57.object({
1103
1114
  expectTypesMatch(true);
1104
1115
 
1105
1116
  // src/pcb/pcb_silkscreen_path.ts
1106
- import { z as z58 } from "zod";
1107
- var pcb_silkscreen_path = z58.object({
1108
- type: z58.literal("pcb_silkscreen_path"),
1117
+ import { z as z59 } from "zod";
1118
+ var pcb_silkscreen_path = z59.object({
1119
+ type: z59.literal("pcb_silkscreen_path"),
1109
1120
  pcb_silkscreen_path_id: getZodPrefixedIdWithDefault("pcb_silkscreen_path"),
1110
- pcb_component_id: z58.string(),
1121
+ pcb_component_id: z59.string(),
1111
1122
  layer: visible_layer,
1112
- route: z58.array(point),
1123
+ route: z59.array(point),
1113
1124
  stroke_width: length
1114
1125
  }).describe("Defines a silkscreen path on the PCB");
1115
1126
  expectTypesMatch(true);
1116
1127
 
1117
1128
  // src/pcb/pcb_silkscreen_text.ts
1118
- import { z as z59 } from "zod";
1119
- var pcb_silkscreen_text = z59.object({
1120
- type: z59.literal("pcb_silkscreen_text"),
1129
+ import { z as z60 } from "zod";
1130
+ var pcb_silkscreen_text = z60.object({
1131
+ type: z60.literal("pcb_silkscreen_text"),
1121
1132
  pcb_silkscreen_text_id: getZodPrefixedIdWithDefault("pcb_silkscreen_text"),
1122
- font: z59.literal("tscircuit2024").default("tscircuit2024"),
1133
+ font: z60.literal("tscircuit2024").default("tscircuit2024"),
1123
1134
  font_size: distance.default("0.2mm"),
1124
- pcb_component_id: z59.string(),
1125
- text: z59.string(),
1126
- ccw_rotation: z59.number().optional(),
1135
+ pcb_component_id: z60.string(),
1136
+ text: z60.string(),
1137
+ ccw_rotation: z60.number().optional(),
1127
1138
  layer: layer_ref,
1128
- is_mirrored: z59.boolean().default(false).optional(),
1139
+ is_mirrored: z60.boolean().default(false).optional(),
1129
1140
  anchor_position: point.default({ x: 0, y: 0 }),
1130
- anchor_alignment: z59.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).default("center")
1141
+ anchor_alignment: z60.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).default("center")
1131
1142
  }).describe("Defines silkscreen text on the PCB");
1132
1143
  expectTypesMatch(true);
1133
1144
 
1134
1145
  // src/pcb/pcb_silkscreen_rect.ts
1135
- import { z as z60 } from "zod";
1136
- var pcb_silkscreen_rect = z60.object({
1137
- type: z60.literal("pcb_silkscreen_rect"),
1146
+ import { z as z61 } from "zod";
1147
+ var pcb_silkscreen_rect = z61.object({
1148
+ type: z61.literal("pcb_silkscreen_rect"),
1138
1149
  pcb_silkscreen_rect_id: getZodPrefixedIdWithDefault("pcb_silkscreen_rect"),
1139
- pcb_component_id: z60.string(),
1150
+ pcb_component_id: z61.string(),
1140
1151
  center: point,
1141
1152
  width: length,
1142
1153
  height: length,
@@ -1145,13 +1156,13 @@ var pcb_silkscreen_rect = z60.object({
1145
1156
  expectTypesMatch(true);
1146
1157
 
1147
1158
  // src/pcb/pcb_silkscreen_circle.ts
1148
- import { z as z61 } from "zod";
1149
- var pcb_silkscreen_circle = z61.object({
1150
- type: z61.literal("pcb_silkscreen_circle"),
1159
+ import { z as z62 } from "zod";
1160
+ var pcb_silkscreen_circle = z62.object({
1161
+ type: z62.literal("pcb_silkscreen_circle"),
1151
1162
  pcb_silkscreen_circle_id: getZodPrefixedIdWithDefault(
1152
1163
  "pcb_silkscreen_circle"
1153
1164
  ),
1154
- pcb_component_id: z61.string(),
1165
+ pcb_component_id: z62.string(),
1155
1166
  center: point,
1156
1167
  radius: length,
1157
1168
  layer: visible_layer
@@ -1159,11 +1170,11 @@ var pcb_silkscreen_circle = z61.object({
1159
1170
  expectTypesMatch(true);
1160
1171
 
1161
1172
  // src/pcb/pcb_silkscreen_oval.ts
1162
- import { z as z62 } from "zod";
1163
- var pcb_silkscreen_oval = z62.object({
1164
- type: z62.literal("pcb_silkscreen_oval"),
1173
+ import { z as z63 } from "zod";
1174
+ var pcb_silkscreen_oval = z63.object({
1175
+ type: z63.literal("pcb_silkscreen_oval"),
1165
1176
  pcb_silkscreen_oval_id: getZodPrefixedIdWithDefault("pcb_silkscreen_oval"),
1166
- pcb_component_id: z62.string(),
1177
+ pcb_component_id: z63.string(),
1167
1178
  center: point,
1168
1179
  radius_x: distance,
1169
1180
  radius_y: distance,
@@ -1172,133 +1183,133 @@ var pcb_silkscreen_oval = z62.object({
1172
1183
  expectTypesMatch(true);
1173
1184
 
1174
1185
  // src/pcb/pcb_fabrication_note_text.ts
1175
- import { z as z63 } from "zod";
1176
- var pcb_fabrication_note_text = z63.object({
1177
- type: z63.literal("pcb_fabrication_note_text"),
1186
+ import { z as z64 } from "zod";
1187
+ var pcb_fabrication_note_text = z64.object({
1188
+ type: z64.literal("pcb_fabrication_note_text"),
1178
1189
  pcb_fabrication_note_text_id: getZodPrefixedIdWithDefault(
1179
1190
  "pcb_fabrication_note_text"
1180
1191
  ),
1181
- font: z63.literal("tscircuit2024").default("tscircuit2024"),
1192
+ font: z64.literal("tscircuit2024").default("tscircuit2024"),
1182
1193
  font_size: distance.default("1mm"),
1183
- pcb_component_id: z63.string(),
1184
- text: z63.string(),
1194
+ pcb_component_id: z64.string(),
1195
+ text: z64.string(),
1185
1196
  layer: visible_layer,
1186
1197
  anchor_position: point.default({ x: 0, y: 0 }),
1187
- anchor_alignment: z63.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).default("center"),
1188
- color: z63.string().optional()
1198
+ anchor_alignment: z64.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).default("center"),
1199
+ color: z64.string().optional()
1189
1200
  }).describe(
1190
1201
  "Defines a fabrication note in text on the PCB, useful for leaving notes for assemblers or fabricators"
1191
1202
  );
1192
1203
  expectTypesMatch(true);
1193
1204
 
1194
1205
  // src/pcb/pcb_fabrication_note_path.ts
1195
- import { z as z64 } from "zod";
1196
- var pcb_fabrication_note_path = z64.object({
1197
- type: z64.literal("pcb_fabrication_note_path"),
1206
+ import { z as z65 } from "zod";
1207
+ var pcb_fabrication_note_path = z65.object({
1208
+ type: z65.literal("pcb_fabrication_note_path"),
1198
1209
  pcb_fabrication_note_path_id: getZodPrefixedIdWithDefault(
1199
1210
  "pcb_fabrication_note_path"
1200
1211
  ),
1201
- pcb_component_id: z64.string(),
1212
+ pcb_component_id: z65.string(),
1202
1213
  layer: layer_ref,
1203
- route: z64.array(point),
1214
+ route: z65.array(point),
1204
1215
  stroke_width: length,
1205
- color: z64.string().optional()
1216
+ color: z65.string().optional()
1206
1217
  }).describe(
1207
1218
  "Defines a fabrication path on the PCB for fabricators or assemblers"
1208
1219
  );
1209
1220
  expectTypesMatch(true);
1210
1221
 
1211
1222
  // src/pcb/pcb_keepout.ts
1212
- import { z as z65 } from "zod";
1213
- var pcb_keepout = z65.object({
1214
- type: z65.literal("pcb_keepout"),
1215
- shape: z65.literal("rect"),
1223
+ import { z as z66 } from "zod";
1224
+ var pcb_keepout = z66.object({
1225
+ type: z66.literal("pcb_keepout"),
1226
+ shape: z66.literal("rect"),
1216
1227
  center: point,
1217
1228
  width: distance,
1218
1229
  height: distance,
1219
- pcb_keepout_id: z65.string(),
1220
- layers: z65.array(z65.string()),
1230
+ pcb_keepout_id: z66.string(),
1231
+ layers: z66.array(z66.string()),
1221
1232
  // Specify layers where the keepout applies
1222
- description: z65.string().optional()
1233
+ description: z66.string().optional()
1223
1234
  // Optional description of the keepout
1224
1235
  }).or(
1225
- z65.object({
1226
- type: z65.literal("pcb_keepout"),
1227
- shape: z65.literal("circle"),
1236
+ z66.object({
1237
+ type: z66.literal("pcb_keepout"),
1238
+ shape: z66.literal("circle"),
1228
1239
  center: point,
1229
1240
  radius: distance,
1230
- pcb_keepout_id: z65.string(),
1231
- layers: z65.array(z65.string()),
1241
+ pcb_keepout_id: z66.string(),
1242
+ layers: z66.array(z66.string()),
1232
1243
  // Specify layers where the keepout applies
1233
- description: z65.string().optional()
1244
+ description: z66.string().optional()
1234
1245
  // Optional description of the keepout
1235
1246
  })
1236
1247
  );
1237
1248
 
1238
1249
  // src/pcb/pcb_missing_footprint_error.ts
1239
- import { z as z66 } from "zod";
1240
- var pcb_missing_footprint_error = z66.object({
1241
- type: z66.literal("pcb_missing_footprint_error"),
1250
+ import { z as z67 } from "zod";
1251
+ var pcb_missing_footprint_error = z67.object({
1252
+ type: z67.literal("pcb_missing_footprint_error"),
1242
1253
  pcb_missing_footprint_error_id: getZodPrefixedIdWithDefault(
1243
1254
  "pcb_missing_footprint_error"
1244
1255
  ),
1245
- error_type: z66.literal("pcb_missing_footprint_error"),
1246
- source_component_id: z66.string(),
1247
- message: z66.string()
1256
+ error_type: z67.literal("pcb_missing_footprint_error"),
1257
+ source_component_id: z67.string(),
1258
+ message: z67.string()
1248
1259
  }).describe("Defines a missing footprint error on the PCB");
1249
1260
  expectTypesMatch(
1250
1261
  true
1251
1262
  );
1252
1263
 
1253
1264
  // src/pcb/pcb_manual_edit_conflict_error.ts
1254
- import { z as z67 } from "zod";
1255
- var pcb_manual_edit_conflict_error = z67.object({
1256
- type: z67.literal("pcb_manual_edit_conflict_error"),
1265
+ import { z as z68 } from "zod";
1266
+ var pcb_manual_edit_conflict_error = z68.object({
1267
+ type: z68.literal("pcb_manual_edit_conflict_error"),
1257
1268
  pcb_error_id: getZodPrefixedIdWithDefault("pcb_manual_edit_conflict_error"),
1258
- message: z67.string(),
1259
- pcb_component_id: z67.string(),
1260
- source_component_id: z67.string()
1269
+ message: z68.string(),
1270
+ pcb_component_id: z68.string(),
1271
+ source_component_id: z68.string()
1261
1272
  }).describe(
1262
1273
  "Error emitted when a component has both manual placement and explicit pcbX/pcbY coordinates"
1263
1274
  );
1264
1275
  expectTypesMatch(true);
1265
1276
 
1266
1277
  // src/pcb/pcb_group.ts
1267
- import { z as z68 } from "zod";
1268
- var pcb_group = z68.object({
1269
- type: z68.literal("pcb_group"),
1278
+ import { z as z69 } from "zod";
1279
+ var pcb_group = z69.object({
1280
+ type: z69.literal("pcb_group"),
1270
1281
  pcb_group_id: getZodPrefixedIdWithDefault("pcb_group"),
1271
1282
  width: length,
1272
1283
  height: length,
1273
1284
  center: point,
1274
- pcb_component_ids: z68.array(z68.string()),
1275
- name: z68.string().optional(),
1276
- description: z68.string().optional()
1285
+ pcb_component_ids: z69.array(z69.string()),
1286
+ name: z69.string().optional(),
1287
+ description: z69.string().optional()
1277
1288
  }).describe("Defines a group of components on the PCB");
1278
1289
  expectTypesMatch(true);
1279
1290
 
1280
1291
  // src/cad/cad_component.ts
1281
- import { z as z69 } from "zod";
1282
- var cad_component = z69.object({
1283
- type: z69.literal("cad_component"),
1284
- cad_component_id: z69.string(),
1285
- pcb_component_id: z69.string(),
1286
- source_component_id: z69.string(),
1292
+ import { z as z70 } from "zod";
1293
+ var cad_component = z70.object({
1294
+ type: z70.literal("cad_component"),
1295
+ cad_component_id: z70.string(),
1296
+ pcb_component_id: z70.string(),
1297
+ source_component_id: z70.string(),
1287
1298
  position: point3,
1288
1299
  rotation: point3.optional(),
1289
1300
  size: point3.optional(),
1290
1301
  layer: layer_ref.optional(),
1291
1302
  // These are all ways to generate/load the 3d model
1292
- footprinter_string: z69.string().optional(),
1293
- model_obj_url: z69.string().optional(),
1294
- model_stl_url: z69.string().optional(),
1295
- model_3mf_url: z69.string().optional(),
1296
- model_jscad: z69.any().optional()
1303
+ footprinter_string: z70.string().optional(),
1304
+ model_obj_url: z70.string().optional(),
1305
+ model_stl_url: z70.string().optional(),
1306
+ model_3mf_url: z70.string().optional(),
1307
+ model_jscad: z70.any().optional()
1297
1308
  }).describe("Defines a component on the PCB");
1298
1309
 
1299
1310
  // src/any_circuit_element.ts
1300
- import { z as z70 } from "zod";
1301
- var any_circuit_element = z70.union([
1311
+ import { z as z71 } from "zod";
1312
+ var any_circuit_element = z71.union([
1302
1313
  source_trace,
1303
1314
  source_port,
1304
1315
  any_source_component,
@@ -1316,6 +1327,7 @@ var any_circuit_element = z70.union([
1316
1327
  source_simple_pin_header,
1317
1328
  source_simple_resonator,
1318
1329
  source_simple_transistor,
1330
+ source_simple_mosfet,
1319
1331
  source_simple_potentiometer,
1320
1332
  source_simple_push_button,
1321
1333
  pcb_component,
@@ -1447,6 +1459,7 @@ export {
1447
1459
  source_simple_diode,
1448
1460
  source_simple_ground,
1449
1461
  source_simple_inductor,
1462
+ source_simple_mosfet,
1450
1463
  source_simple_pin_header,
1451
1464
  source_simple_potentiometer,
1452
1465
  source_simple_power_source,