circuit-json 0.0.104 → 0.0.105

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