circuit-json 0.0.121 → 0.0.122

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