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