circuit-json 0.0.436 → 0.0.438

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
@@ -396,135 +396,142 @@ expectTypesMatch(
396
396
  true
397
397
  );
398
398
 
399
- // src/source/properties/source_pin_attributes.ts
399
+ // src/source/source_simple_ammeter.ts
400
400
  import { z as z23 } from "zod";
401
- var source_pin_attributes = z23.object({
402
- must_be_connected: z23.boolean().optional(),
403
- provides_power: z23.boolean().optional(),
404
- requires_power: z23.boolean().optional(),
405
- provides_ground: z23.boolean().optional(),
406
- requires_ground: z23.boolean().optional(),
407
- provides_voltage: z23.union([z23.string(), z23.number()]).optional(),
408
- requires_voltage: z23.union([z23.string(), z23.number()]).optional(),
409
- do_not_connect: z23.boolean().optional(),
410
- include_in_board_pinout: z23.boolean().optional(),
411
- can_use_internal_pullup: z23.boolean().optional(),
412
- is_using_internal_pullup: z23.boolean().optional(),
413
- needs_external_pullup: z23.boolean().optional(),
414
- can_use_internal_pulldown: z23.boolean().optional(),
415
- is_using_internal_pulldown: z23.boolean().optional(),
416
- needs_external_pulldown: z23.boolean().optional(),
417
- can_use_open_drain: z23.boolean().optional(),
418
- is_using_open_drain: z23.boolean().optional(),
419
- can_use_push_pull: z23.boolean().optional(),
420
- is_using_push_pull: z23.boolean().optional(),
421
- should_have_decoupling_capacitor: z23.boolean().optional(),
422
- recommended_decoupling_capacitor_capacitance: z23.union([z23.string(), z23.number()]).optional(),
423
- is_configured_for_i2c_sda: z23.boolean().optional(),
424
- is_configured_for_i2c_scl: z23.boolean().optional(),
425
- is_configured_for_spi_mosi: z23.boolean().optional(),
426
- is_configured_for_spi_miso: z23.boolean().optional(),
427
- is_configured_for_spi_sck: z23.boolean().optional(),
428
- is_configured_for_spi_cs: z23.boolean().optional(),
429
- is_configured_for_uart_tx: z23.boolean().optional(),
430
- is_configured_for_uart_rx: z23.boolean().optional(),
431
- supports_i2c_sda: z23.boolean().optional(),
432
- supports_i2c_scl: z23.boolean().optional(),
433
- supports_spi_mosi: z23.boolean().optional(),
434
- supports_spi_miso: z23.boolean().optional(),
435
- supports_spi_sck: z23.boolean().optional(),
436
- supports_spi_cs: z23.boolean().optional(),
437
- supports_uart_tx: z23.boolean().optional(),
438
- supports_uart_rx: z23.boolean().optional()
401
+ var source_simple_ammeter = source_component_base.extend({
402
+ ftype: z23.literal("simple_ammeter")
403
+ });
404
+ expectTypesMatch(true);
405
+
406
+ // src/source/properties/source_pin_attributes.ts
407
+ import { z as z24 } from "zod";
408
+ var source_pin_attributes = z24.object({
409
+ must_be_connected: z24.boolean().optional(),
410
+ provides_power: z24.boolean().optional(),
411
+ requires_power: z24.boolean().optional(),
412
+ provides_ground: z24.boolean().optional(),
413
+ requires_ground: z24.boolean().optional(),
414
+ provides_voltage: z24.union([z24.string(), z24.number()]).optional(),
415
+ requires_voltage: z24.union([z24.string(), z24.number()]).optional(),
416
+ do_not_connect: z24.boolean().optional(),
417
+ include_in_board_pinout: z24.boolean().optional(),
418
+ can_use_internal_pullup: z24.boolean().optional(),
419
+ is_using_internal_pullup: z24.boolean().optional(),
420
+ needs_external_pullup: z24.boolean().optional(),
421
+ can_use_internal_pulldown: z24.boolean().optional(),
422
+ is_using_internal_pulldown: z24.boolean().optional(),
423
+ needs_external_pulldown: z24.boolean().optional(),
424
+ can_use_open_drain: z24.boolean().optional(),
425
+ is_using_open_drain: z24.boolean().optional(),
426
+ can_use_push_pull: z24.boolean().optional(),
427
+ is_using_push_pull: z24.boolean().optional(),
428
+ should_have_decoupling_capacitor: z24.boolean().optional(),
429
+ recommended_decoupling_capacitor_capacitance: z24.union([z24.string(), z24.number()]).optional(),
430
+ is_configured_for_i2c_sda: z24.boolean().optional(),
431
+ is_configured_for_i2c_scl: z24.boolean().optional(),
432
+ is_configured_for_spi_mosi: z24.boolean().optional(),
433
+ is_configured_for_spi_miso: z24.boolean().optional(),
434
+ is_configured_for_spi_sck: z24.boolean().optional(),
435
+ is_configured_for_spi_cs: z24.boolean().optional(),
436
+ is_configured_for_uart_tx: z24.boolean().optional(),
437
+ is_configured_for_uart_rx: z24.boolean().optional(),
438
+ supports_i2c_sda: z24.boolean().optional(),
439
+ supports_i2c_scl: z24.boolean().optional(),
440
+ supports_spi_mosi: z24.boolean().optional(),
441
+ supports_spi_miso: z24.boolean().optional(),
442
+ supports_spi_sck: z24.boolean().optional(),
443
+ supports_spi_cs: z24.boolean().optional(),
444
+ supports_uart_tx: z24.boolean().optional(),
445
+ supports_uart_rx: z24.boolean().optional()
439
446
  });
440
447
  expectTypesMatch(true);
441
448
 
442
449
  // src/source/any_source_component.ts
443
- import { z as z52 } from "zod";
450
+ import { z as z53 } from "zod";
444
451
 
445
452
  // src/source/source_simple_fuse.ts
446
- import { z as z24 } from "zod";
453
+ import { z as z25 } from "zod";
447
454
  var source_simple_fuse = source_component_base.extend({
448
- ftype: z24.literal("simple_fuse"),
449
- current_rating_amps: z24.number().describe("Nominal current in amps the fuse is rated for"),
450
- voltage_rating_volts: z24.number().describe("Voltage rating in volts, e.g. \xB15V would be 5")
455
+ ftype: z25.literal("simple_fuse"),
456
+ current_rating_amps: z25.number().describe("Nominal current in amps the fuse is rated for"),
457
+ voltage_rating_volts: z25.number().describe("Voltage rating in volts, e.g. \xB15V would be 5")
451
458
  });
452
459
  expectTypesMatch(true);
453
460
 
454
461
  // src/source/source_simple_battery.ts
455
- import { z as z25 } from "zod";
462
+ import { z as z26 } from "zod";
456
463
  var source_simple_battery = source_component_base.extend({
457
- ftype: z25.literal("simple_battery"),
464
+ ftype: z26.literal("simple_battery"),
458
465
  capacity: battery_capacity
459
466
  });
460
467
  expectTypesMatch(true);
461
468
 
462
469
  // src/source/source_simple_inductor.ts
463
- import { z as z26 } from "zod";
470
+ import { z as z27 } from "zod";
464
471
  var source_simple_inductor = source_component_base.extend({
465
- ftype: z26.literal("simple_inductor"),
472
+ ftype: z27.literal("simple_inductor"),
466
473
  inductance,
467
- display_inductance: z26.string().optional(),
468
- max_current_rating: z26.number().optional()
474
+ display_inductance: z27.string().optional(),
475
+ max_current_rating: z27.number().optional()
469
476
  });
470
477
  expectTypesMatch(true);
471
478
 
472
479
  // src/source/source_simple_push_button.ts
473
- import { z as z27 } from "zod";
480
+ import { z as z28 } from "zod";
474
481
  var source_simple_push_button = source_component_base.extend({
475
- ftype: z27.literal("simple_push_button")
482
+ ftype: z28.literal("simple_push_button")
476
483
  });
477
484
  expectTypesMatch(true);
478
485
 
479
486
  // src/source/source_simple_potentiometer.ts
480
- import { z as z28 } from "zod";
487
+ import { z as z29 } from "zod";
481
488
  var source_simple_potentiometer = source_component_base.extend({
482
- ftype: z28.literal("simple_potentiometer"),
489
+ ftype: z29.literal("simple_potentiometer"),
483
490
  max_resistance: resistance,
484
- display_max_resistance: z28.string().optional()
491
+ display_max_resistance: z29.string().optional()
485
492
  });
486
493
  expectTypesMatch(
487
494
  true
488
495
  );
489
496
 
490
497
  // src/source/source_simple_crystal.ts
491
- import { z as z29 } from "zod";
498
+ import { z as z30 } from "zod";
492
499
  var source_simple_crystal = source_component_base.extend({
493
- ftype: z29.literal("simple_crystal"),
494
- frequency: z29.number().describe("Frequency in Hz"),
495
- load_capacitance: z29.number().optional().describe("Load capacitance in pF"),
496
- pin_variant: z29.enum(["two_pin", "four_pin"]).optional()
500
+ ftype: z30.literal("simple_crystal"),
501
+ frequency: z30.number().describe("Frequency in Hz"),
502
+ load_capacitance: z30.number().optional().describe("Load capacitance in pF"),
503
+ pin_variant: z30.enum(["two_pin", "four_pin"]).optional()
497
504
  });
498
505
  expectTypesMatch(true);
499
506
 
500
507
  // src/source/source_simple_pin_header.ts
501
- import { z as z30 } from "zod";
508
+ import { z as z31 } from "zod";
502
509
  var source_simple_pin_header = source_component_base.extend({
503
- ftype: z30.literal("simple_pin_header"),
504
- pin_count: z30.number(),
505
- gender: z30.enum(["male", "female"]).optional().default("male")
510
+ ftype: z31.literal("simple_pin_header"),
511
+ pin_count: z31.number(),
512
+ gender: z31.enum(["male", "female"]).optional().default("male")
506
513
  });
507
514
  expectTypesMatch(true);
508
515
 
509
516
  // src/source/source_simple_connector.ts
510
- import { z as z31 } from "zod";
517
+ import { z as z32 } from "zod";
511
518
  var source_simple_connector = source_component_base.extend({
512
- ftype: z31.literal("simple_connector"),
513
- standard: z31.enum(["usb_c", "m2"]).optional()
519
+ ftype: z32.literal("simple_connector"),
520
+ standard: z32.enum(["usb_c", "m2"]).optional()
514
521
  });
515
522
  expectTypesMatch(true);
516
523
 
517
524
  // src/source/source_simple_pinout.ts
518
- import { z as z32 } from "zod";
525
+ import { z as z33 } from "zod";
519
526
  var source_simple_pinout = source_component_base.extend({
520
- ftype: z32.literal("simple_pinout")
527
+ ftype: z33.literal("simple_pinout")
521
528
  });
522
529
  expectTypesMatch(true);
523
530
 
524
531
  // src/source/source_simple_resonator.ts
525
- import { z as z33 } from "zod";
532
+ import { z as z34 } from "zod";
526
533
  var source_simple_resonator = source_component_base.extend({
527
- ftype: z33.literal("simple_resonator"),
534
+ ftype: z34.literal("simple_resonator"),
528
535
  load_capacitance: capacitance,
529
536
  equivalent_series_resistance: resistance.optional(),
530
537
  frequency
@@ -532,232 +539,232 @@ var source_simple_resonator = source_component_base.extend({
532
539
  expectTypesMatch(true);
533
540
 
534
541
  // src/source/source_simple_transistor.ts
535
- import { z as z34 } from "zod";
542
+ import { z as z35 } from "zod";
536
543
  var source_simple_transistor = source_component_base.extend({
537
- ftype: z34.literal("simple_transistor"),
538
- transistor_type: z34.enum(["npn", "pnp"])
544
+ ftype: z35.literal("simple_transistor"),
545
+ transistor_type: z35.enum(["npn", "pnp"])
539
546
  });
540
547
  expectTypesMatch(true);
541
548
 
542
549
  // src/source/source_simple_test_point.ts
543
- import { z as z35 } from "zod";
550
+ import { z as z36 } from "zod";
544
551
  var source_simple_test_point = source_component_base.extend({
545
- ftype: z35.literal("simple_test_point"),
546
- footprint_variant: z35.enum(["pad", "through_hole"]).optional(),
547
- pad_shape: z35.enum(["rect", "circle"]).optional(),
548
- pad_diameter: z35.union([z35.number(), z35.string()]).optional(),
549
- hole_diameter: z35.union([z35.number(), z35.string()]).optional(),
550
- width: z35.union([z35.number(), z35.string()]).optional(),
551
- height: z35.union([z35.number(), z35.string()]).optional()
552
+ ftype: z36.literal("simple_test_point"),
553
+ footprint_variant: z36.enum(["pad", "through_hole"]).optional(),
554
+ pad_shape: z36.enum(["rect", "circle"]).optional(),
555
+ pad_diameter: z36.union([z36.number(), z36.string()]).optional(),
556
+ hole_diameter: z36.union([z36.number(), z36.string()]).optional(),
557
+ width: z36.union([z36.number(), z36.string()]).optional(),
558
+ height: z36.union([z36.number(), z36.string()]).optional()
552
559
  });
553
560
  expectTypesMatch(true);
554
561
 
555
562
  // src/source/source_simple_mosfet.ts
556
- import { z as z36 } from "zod";
563
+ import { z as z37 } from "zod";
557
564
  var source_simple_mosfet = source_component_base.extend({
558
- ftype: z36.literal("simple_mosfet"),
559
- channel_type: z36.enum(["n", "p"]),
560
- mosfet_mode: z36.enum(["enhancement", "depletion"])
565
+ ftype: z37.literal("simple_mosfet"),
566
+ channel_type: z37.enum(["n", "p"]),
567
+ mosfet_mode: z37.enum(["enhancement", "depletion"])
561
568
  });
562
569
  expectTypesMatch(true);
563
570
 
564
571
  // src/source/source_simple_op_amp.ts
565
- import { z as z37 } from "zod";
572
+ import { z as z38 } from "zod";
566
573
  var source_simple_op_amp = source_component_base.extend({
567
- ftype: z37.literal("simple_op_amp")
574
+ ftype: z38.literal("simple_op_amp")
568
575
  });
569
576
  expectTypesMatch(true);
570
577
 
571
578
  // src/source/source_simple_switch.ts
572
- import { z as z38 } from "zod";
579
+ import { z as z39 } from "zod";
573
580
  var source_simple_switch = source_component_base.extend({
574
- ftype: z38.literal("simple_switch")
581
+ ftype: z39.literal("simple_switch")
575
582
  });
576
583
  expectTypesMatch(true);
577
584
 
578
585
  // src/source/source_project_metadata.ts
579
- import { z as z39 } from "zod";
580
- var source_project_metadata = z39.object({
581
- type: z39.literal("source_project_metadata"),
582
- name: z39.string().optional(),
583
- software_used_string: z39.string().optional(),
584
- project_url: z39.string().optional(),
586
+ import { z as z40 } from "zod";
587
+ var source_project_metadata = z40.object({
588
+ type: z40.literal("source_project_metadata"),
589
+ name: z40.string().optional(),
590
+ software_used_string: z40.string().optional(),
591
+ project_url: z40.string().optional(),
585
592
  created_at: timestamp.optional()
586
593
  });
587
594
  expectTypesMatch(true);
588
595
 
589
596
  // src/source/source_missing_property_error.ts
590
- import { z as z40 } from "zod";
597
+ import { z as z41 } from "zod";
591
598
  var source_missing_property_error = base_circuit_json_error.extend({
592
- type: z40.literal("source_missing_property_error"),
599
+ type: z41.literal("source_missing_property_error"),
593
600
  source_missing_property_error_id: getZodPrefixedIdWithDefault(
594
601
  "source_missing_property_error"
595
602
  ),
596
- source_component_id: z40.string(),
597
- property_name: z40.string(),
598
- subcircuit_id: z40.string().optional(),
599
- error_type: z40.literal("source_missing_property_error").default("source_missing_property_error")
603
+ source_component_id: z41.string(),
604
+ property_name: z41.string(),
605
+ subcircuit_id: z41.string().optional(),
606
+ error_type: z41.literal("source_missing_property_error").default("source_missing_property_error")
600
607
  }).describe("The source code is missing a property");
601
608
  expectTypesMatch(true);
602
609
 
603
610
  // src/source/source_failed_to_create_component_error.ts
604
- import { z as z41 } from "zod";
611
+ import { z as z42 } from "zod";
605
612
  var source_failed_to_create_component_error = base_circuit_json_error.extend({
606
- type: z41.literal("source_failed_to_create_component_error"),
613
+ type: z42.literal("source_failed_to_create_component_error"),
607
614
  source_failed_to_create_component_error_id: getZodPrefixedIdWithDefault(
608
615
  "source_failed_to_create_component_error"
609
616
  ),
610
- error_type: z41.literal("source_failed_to_create_component_error").default("source_failed_to_create_component_error"),
611
- component_name: z41.string().optional(),
612
- subcircuit_id: z41.string().optional(),
613
- parent_source_component_id: z41.string().optional(),
614
- pcb_center: z41.object({
615
- x: z41.number().optional(),
616
- y: z41.number().optional()
617
+ error_type: z42.literal("source_failed_to_create_component_error").default("source_failed_to_create_component_error"),
618
+ component_name: z42.string().optional(),
619
+ subcircuit_id: z42.string().optional(),
620
+ parent_source_component_id: z42.string().optional(),
621
+ pcb_center: z42.object({
622
+ x: z42.number().optional(),
623
+ y: z42.number().optional()
617
624
  }).optional(),
618
- schematic_center: z41.object({
619
- x: z41.number().optional(),
620
- y: z41.number().optional()
625
+ schematic_center: z42.object({
626
+ x: z42.number().optional(),
627
+ y: z42.number().optional()
621
628
  }).optional()
622
629
  }).describe("Error emitted when a component fails to be constructed");
623
630
  expectTypesMatch(true);
624
631
 
625
632
  // src/source/source_invalid_component_property_error.ts
626
- import { z as z42 } from "zod";
633
+ import { z as z43 } from "zod";
627
634
  var source_invalid_component_property_error = base_circuit_json_error.extend({
628
- type: z42.literal("source_invalid_component_property_error"),
635
+ type: z43.literal("source_invalid_component_property_error"),
629
636
  source_invalid_component_property_error_id: getZodPrefixedIdWithDefault(
630
637
  "source_invalid_component_property_error"
631
638
  ),
632
- source_component_id: z42.string(),
633
- property_name: z42.string(),
634
- property_value: z42.unknown().optional(),
635
- expected_format: z42.string().optional(),
636
- subcircuit_id: z42.string().optional(),
637
- error_type: z42.literal("source_invalid_component_property_error").default("source_invalid_component_property_error")
639
+ source_component_id: z43.string(),
640
+ property_name: z43.string(),
641
+ property_value: z43.unknown().optional(),
642
+ expected_format: z43.string().optional(),
643
+ subcircuit_id: z43.string().optional(),
644
+ error_type: z43.literal("source_invalid_component_property_error").default("source_invalid_component_property_error")
638
645
  }).describe("The source component property is invalid");
639
646
  expectTypesMatch(true);
640
647
 
641
648
  // src/source/source_trace_not_connected_error.ts
642
- import { z as z43 } from "zod";
649
+ import { z as z44 } from "zod";
643
650
  var source_trace_not_connected_error = base_circuit_json_error.extend({
644
- type: z43.literal("source_trace_not_connected_error"),
651
+ type: z44.literal("source_trace_not_connected_error"),
645
652
  source_trace_not_connected_error_id: getZodPrefixedIdWithDefault(
646
653
  "source_trace_not_connected_error"
647
654
  ),
648
- error_type: z43.literal("source_trace_not_connected_error").default("source_trace_not_connected_error"),
649
- subcircuit_id: z43.string().optional(),
650
- source_group_id: z43.string().optional(),
651
- source_trace_id: z43.string().optional(),
652
- connected_source_port_ids: z43.array(z43.string()).optional(),
653
- selectors_not_found: z43.array(z43.string()).optional()
655
+ error_type: z44.literal("source_trace_not_connected_error").default("source_trace_not_connected_error"),
656
+ subcircuit_id: z44.string().optional(),
657
+ source_group_id: z44.string().optional(),
658
+ source_trace_id: z44.string().optional(),
659
+ connected_source_port_ids: z44.array(z44.string()).optional(),
660
+ selectors_not_found: z44.array(z44.string()).optional()
654
661
  }).describe("Occurs when a source trace selector does not match any ports");
655
662
  expectTypesMatch(true);
656
663
 
657
664
  // src/source/source_property_ignored_warning.ts
658
- import { z as z44 } from "zod";
659
- var source_property_ignored_warning = z44.object({
660
- type: z44.literal("source_property_ignored_warning"),
665
+ import { z as z45 } from "zod";
666
+ var source_property_ignored_warning = z45.object({
667
+ type: z45.literal("source_property_ignored_warning"),
661
668
  source_property_ignored_warning_id: getZodPrefixedIdWithDefault(
662
669
  "source_property_ignored_warning"
663
670
  ),
664
- source_component_id: z44.string(),
665
- property_name: z44.string(),
666
- subcircuit_id: z44.string().optional(),
667
- error_type: z44.literal("source_property_ignored_warning").default("source_property_ignored_warning"),
668
- message: z44.string()
671
+ source_component_id: z45.string(),
672
+ property_name: z45.string(),
673
+ subcircuit_id: z45.string().optional(),
674
+ error_type: z45.literal("source_property_ignored_warning").default("source_property_ignored_warning"),
675
+ message: z45.string()
669
676
  }).describe("The source property was ignored");
670
677
  expectTypesMatch(true);
671
678
 
672
679
  // src/source/source_pin_missing_trace_warning.ts
673
- import { z as z45 } from "zod";
674
- var source_pin_missing_trace_warning = z45.object({
675
- type: z45.literal("source_pin_missing_trace_warning"),
680
+ import { z as z46 } from "zod";
681
+ var source_pin_missing_trace_warning = z46.object({
682
+ type: z46.literal("source_pin_missing_trace_warning"),
676
683
  source_pin_missing_trace_warning_id: getZodPrefixedIdWithDefault(
677
684
  "source_pin_missing_trace_warning"
678
685
  ),
679
- warning_type: z45.literal("source_pin_missing_trace_warning").default("source_pin_missing_trace_warning"),
680
- message: z45.string(),
681
- source_component_id: z45.string(),
682
- source_port_id: z45.string(),
683
- subcircuit_id: z45.string().optional()
686
+ warning_type: z46.literal("source_pin_missing_trace_warning").default("source_pin_missing_trace_warning"),
687
+ message: z46.string(),
688
+ source_component_id: z46.string(),
689
+ source_port_id: z46.string(),
690
+ subcircuit_id: z46.string().optional()
684
691
  }).describe(
685
692
  "Warning emitted when a source component pin is missing a trace connection"
686
693
  );
687
694
  expectTypesMatch(true);
688
695
 
689
696
  // src/source/source_missing_manufacturer_part_number_warning.ts
690
- import { z as z46 } from "zod";
691
- var source_missing_manufacturer_part_number_warning = z46.object({
692
- type: z46.literal("source_missing_manufacturer_part_number_warning"),
697
+ import { z as z47 } from "zod";
698
+ var source_missing_manufacturer_part_number_warning = z47.object({
699
+ type: z47.literal("source_missing_manufacturer_part_number_warning"),
693
700
  source_missing_manufacturer_part_number_warning_id: getZodPrefixedIdWithDefault(
694
701
  "source_missing_manufacturer_part_number_warning"
695
702
  ),
696
- warning_type: z46.literal("source_missing_manufacturer_part_number_warning").default("source_missing_manufacturer_part_number_warning"),
697
- message: z46.string(),
698
- source_component_id: z46.string(),
699
- standard: z46.string(),
700
- subcircuit_id: z46.string().optional()
703
+ warning_type: z47.literal("source_missing_manufacturer_part_number_warning").default("source_missing_manufacturer_part_number_warning"),
704
+ message: z47.string(),
705
+ source_component_id: z47.string(),
706
+ standard: z47.string(),
707
+ subcircuit_id: z47.string().optional()
701
708
  }).describe(
702
709
  "Warning emitted when a standard connector is missing manufacturer part number"
703
710
  );
704
711
  expectTypesMatch(true);
705
712
 
706
713
  // src/source/source_simple_voltage_probe.ts
707
- import { z as z47 } from "zod";
714
+ import { z as z48 } from "zod";
708
715
  var source_simple_voltage_probe = source_component_base.extend({
709
- ftype: z47.literal("simple_voltage_probe")
716
+ ftype: z48.literal("simple_voltage_probe")
710
717
  });
711
718
  expectTypesMatch(
712
719
  true
713
720
  );
714
721
 
715
722
  // src/source/source_interconnect.ts
716
- import { z as z48 } from "zod";
723
+ import { z as z49 } from "zod";
717
724
  var source_interconnect = source_component_base.extend({
718
- ftype: z48.literal("interconnect")
725
+ ftype: z49.literal("interconnect")
719
726
  });
720
727
  expectTypesMatch(true);
721
728
 
722
729
  // src/source/source_i2c_misconfigured_error.ts
723
- import { z as z49 } from "zod";
730
+ import { z as z50 } from "zod";
724
731
  var source_i2c_misconfigured_error = base_circuit_json_error.extend({
725
- type: z49.literal("source_i2c_misconfigured_error"),
732
+ type: z50.literal("source_i2c_misconfigured_error"),
726
733
  source_i2c_misconfigured_error_id: getZodPrefixedIdWithDefault(
727
734
  "source_i2c_misconfigured_error"
728
735
  ),
729
- error_type: z49.literal("source_i2c_misconfigured_error").default("source_i2c_misconfigured_error"),
730
- source_port_ids: z49.array(z49.string())
736
+ error_type: z50.literal("source_i2c_misconfigured_error").default("source_i2c_misconfigured_error"),
737
+ source_port_ids: z50.array(z50.string())
731
738
  }).describe(
732
739
  "Error emitted when incompatible I2C pins (e.g. SDA and SCL) are connected to the same net"
733
740
  );
734
741
  expectTypesMatch(true);
735
742
 
736
743
  // src/source/source_component_misconfigured_error.ts
737
- import { z as z50 } from "zod";
744
+ import { z as z51 } from "zod";
738
745
  var source_component_misconfigured_error = base_circuit_json_error.extend({
739
- type: z50.literal("source_component_misconfigured_error"),
746
+ type: z51.literal("source_component_misconfigured_error"),
740
747
  source_component_misconfigured_error_id: getZodPrefixedIdWithDefault(
741
748
  "source_component_misconfigured_error"
742
749
  ),
743
- error_type: z50.literal("source_component_misconfigured_error").default("source_component_misconfigured_error"),
744
- source_component_ids: z50.array(z50.string()),
745
- source_port_ids: z50.array(z50.string()).optional()
750
+ error_type: z51.literal("source_component_misconfigured_error").default("source_component_misconfigured_error"),
751
+ source_component_ids: z51.array(z51.string()),
752
+ source_port_ids: z51.array(z51.string()).optional()
746
753
  }).describe(
747
754
  "Error emitted when one or more source components have an invalid or conflicting configuration"
748
755
  );
749
756
  expectTypesMatch(true);
750
757
 
751
758
  // src/source/source_simple_voltage_source.ts
752
- import { z as z51 } from "zod";
759
+ import { z as z52 } from "zod";
753
760
  var source_simple_voltage_source = source_component_base.extend({
754
- ftype: z51.literal("simple_voltage_source"),
761
+ ftype: z52.literal("simple_voltage_source"),
755
762
  voltage,
756
763
  frequency: frequency.optional(),
757
764
  peak_to_peak_voltage: voltage.optional(),
758
- wave_shape: z51.enum(["sinewave", "square", "triangle", "sawtooth"]).optional(),
765
+ wave_shape: z52.enum(["sinewave", "square", "triangle", "sawtooth"]).optional(),
759
766
  phase: rotation.optional(),
760
- duty_cycle: z51.number().optional().describe("Duty cycle as a fraction (0 to 1)"),
767
+ duty_cycle: z52.number().optional().describe("Duty cycle as a fraction (0 to 1)"),
761
768
  pulse_delay: ms.optional(),
762
769
  rise_time: ms.optional(),
763
770
  fall_time: ms.optional(),
@@ -769,7 +776,7 @@ expectTypesMatch(
769
776
  );
770
777
 
771
778
  // src/source/any_source_component.ts
772
- var any_source_component = z52.union([
779
+ var any_source_component = z53.union([
773
780
  source_simple_resistor,
774
781
  source_simple_capacitor,
775
782
  source_simple_diode,
@@ -779,6 +786,7 @@ var any_source_component = z52.union([
779
786
  source_simple_chip,
780
787
  source_simple_power_source,
781
788
  source_simple_current_source,
789
+ source_simple_ammeter,
782
790
  source_simple_battery,
783
791
  source_simple_inductor,
784
792
  source_simple_push_button,
@@ -811,121 +819,121 @@ var any_source_component = z52.union([
811
819
  expectTypesMatch(true);
812
820
 
813
821
  // src/source/source_port.ts
814
- import { z as z53 } from "zod";
815
- var source_port = z53.object({
816
- type: z53.literal("source_port"),
817
- pin_number: z53.number().optional(),
818
- port_hints: z53.array(z53.string()).optional(),
819
- name: z53.string(),
820
- source_port_id: z53.string(),
821
- source_component_id: z53.string().optional(),
822
- source_group_id: z53.string().optional(),
823
- most_frequently_referenced_by_name: z53.string().optional(),
824
- subcircuit_id: z53.string().optional(),
825
- subcircuit_connectivity_map_key: z53.string().optional()
822
+ import { z as z54 } from "zod";
823
+ var source_port = z54.object({
824
+ type: z54.literal("source_port"),
825
+ pin_number: z54.number().optional(),
826
+ port_hints: z54.array(z54.string()).optional(),
827
+ name: z54.string(),
828
+ source_port_id: z54.string(),
829
+ source_component_id: z54.string().optional(),
830
+ source_group_id: z54.string().optional(),
831
+ most_frequently_referenced_by_name: z54.string().optional(),
832
+ subcircuit_id: z54.string().optional(),
833
+ subcircuit_connectivity_map_key: z54.string().optional()
826
834
  }).merge(source_pin_attributes);
827
835
  expectTypesMatch(true);
828
836
 
829
837
  // src/source/source_component_internal_connection.ts
830
- import { z as z54 } from "zod";
831
- var source_component_internal_connection = z54.object({
832
- type: z54.literal("source_component_internal_connection"),
833
- source_component_internal_connection_id: z54.string(),
834
- source_component_id: z54.string(),
835
- source_port_ids: z54.array(z54.string()),
836
- subcircuit_id: z54.string().optional()
838
+ import { z as z55 } from "zod";
839
+ var source_component_internal_connection = z55.object({
840
+ type: z55.literal("source_component_internal_connection"),
841
+ source_component_internal_connection_id: z55.string(),
842
+ source_component_id: z55.string(),
843
+ source_port_ids: z55.array(z55.string()),
844
+ subcircuit_id: z55.string().optional()
837
845
  });
838
846
  expectTypesMatch(true);
839
847
 
840
848
  // src/source/source_trace.ts
841
- import { z as z55 } from "zod";
842
- var source_trace = z55.object({
843
- type: z55.literal("source_trace"),
844
- source_trace_id: z55.string(),
845
- connected_source_port_ids: z55.array(z55.string()),
846
- connected_source_net_ids: z55.array(z55.string()),
847
- subcircuit_id: z55.string().optional(),
848
- subcircuit_connectivity_map_key: z55.string().optional(),
849
- max_length: z55.number().optional(),
850
- min_trace_thickness: z55.number().optional(),
851
- display_name: z55.string().optional()
849
+ import { z as z56 } from "zod";
850
+ var source_trace = z56.object({
851
+ type: z56.literal("source_trace"),
852
+ source_trace_id: z56.string(),
853
+ connected_source_port_ids: z56.array(z56.string()),
854
+ connected_source_net_ids: z56.array(z56.string()),
855
+ subcircuit_id: z56.string().optional(),
856
+ subcircuit_connectivity_map_key: z56.string().optional(),
857
+ max_length: z56.number().optional(),
858
+ min_trace_thickness: z56.number().optional(),
859
+ display_name: z56.string().optional()
852
860
  });
853
861
  expectTypesMatch(true);
854
862
 
855
863
  // src/source/source_group.ts
856
- import { z as z56 } from "zod";
857
- var source_group = z56.object({
858
- type: z56.literal("source_group"),
859
- source_group_id: z56.string(),
860
- subcircuit_id: z56.string().optional(),
861
- parent_subcircuit_id: z56.string().optional(),
862
- parent_source_group_id: z56.string().optional(),
863
- is_subcircuit: z56.boolean().optional(),
864
- show_as_schematic_box: z56.boolean().optional(),
865
- name: z56.string().optional(),
866
- was_automatically_named: z56.boolean().optional()
864
+ import { z as z57 } from "zod";
865
+ var source_group = z57.object({
866
+ type: z57.literal("source_group"),
867
+ source_group_id: z57.string(),
868
+ subcircuit_id: z57.string().optional(),
869
+ parent_subcircuit_id: z57.string().optional(),
870
+ parent_source_group_id: z57.string().optional(),
871
+ is_subcircuit: z57.boolean().optional(),
872
+ show_as_schematic_box: z57.boolean().optional(),
873
+ name: z57.string().optional(),
874
+ was_automatically_named: z57.boolean().optional()
867
875
  });
868
876
  expectTypesMatch(true);
869
877
 
870
878
  // src/source/source_net.ts
871
- import { z as z57 } from "zod";
872
- var source_net = z57.object({
873
- type: z57.literal("source_net"),
874
- source_net_id: z57.string(),
875
- name: z57.string(),
876
- member_source_group_ids: z57.array(z57.string()),
877
- is_power: z57.boolean().optional(),
878
- is_ground: z57.boolean().optional(),
879
- is_digital_signal: z57.boolean().optional(),
880
- is_analog_signal: z57.boolean().optional(),
881
- is_positive_voltage_source: z57.boolean().optional(),
882
- trace_width: z57.number().optional(),
883
- subcircuit_id: z57.string().optional(),
884
- subcircuit_connectivity_map_key: z57.string().optional()
879
+ import { z as z58 } from "zod";
880
+ var source_net = z58.object({
881
+ type: z58.literal("source_net"),
882
+ source_net_id: z58.string(),
883
+ name: z58.string(),
884
+ member_source_group_ids: z58.array(z58.string()),
885
+ is_power: z58.boolean().optional(),
886
+ is_ground: z58.boolean().optional(),
887
+ is_digital_signal: z58.boolean().optional(),
888
+ is_analog_signal: z58.boolean().optional(),
889
+ is_positive_voltage_source: z58.boolean().optional(),
890
+ trace_width: z58.number().optional(),
891
+ subcircuit_id: z58.string().optional(),
892
+ subcircuit_connectivity_map_key: z58.string().optional()
885
893
  });
886
894
  expectTypesMatch(true);
887
895
 
888
896
  // src/source/source_board.ts
889
- import { z as z58 } from "zod";
890
- var source_board = z58.object({
891
- type: z58.literal("source_board"),
892
- source_board_id: z58.string(),
893
- source_group_id: z58.string(),
894
- title: z58.string().optional()
897
+ import { z as z59 } from "zod";
898
+ var source_board = z59.object({
899
+ type: z59.literal("source_board"),
900
+ source_board_id: z59.string(),
901
+ source_group_id: z59.string(),
902
+ title: z59.string().optional()
895
903
  }).describe("Defines a board in the source domain");
896
904
  expectTypesMatch(true);
897
905
 
898
906
  // src/source/source_ambiguous_port_reference.ts
899
- import { z as z59 } from "zod";
907
+ import { z as z60 } from "zod";
900
908
  var source_ambiguous_port_reference = base_circuit_json_error.extend({
901
- type: z59.literal("source_ambiguous_port_reference"),
909
+ type: z60.literal("source_ambiguous_port_reference"),
902
910
  source_ambiguous_port_reference_id: getZodPrefixedIdWithDefault(
903
911
  "source_ambiguous_port_reference"
904
912
  ),
905
- error_type: z59.literal("source_ambiguous_port_reference").default("source_ambiguous_port_reference"),
906
- source_port_id: z59.string().optional(),
907
- source_component_id: z59.string().optional()
913
+ error_type: z60.literal("source_ambiguous_port_reference").default("source_ambiguous_port_reference"),
914
+ source_port_id: z60.string().optional(),
915
+ source_component_id: z60.string().optional()
908
916
  }).describe(
909
917
  "Error emitted when a port hint matches multiple non-overlapping pads, making the port reference ambiguous"
910
918
  );
911
919
  expectTypesMatch(true);
912
920
 
913
921
  // src/source/source_pcb_ground_plane.ts
914
- import { z as z60 } from "zod";
915
- var source_pcb_ground_plane = z60.object({
916
- type: z60.literal("source_pcb_ground_plane"),
917
- source_pcb_ground_plane_id: z60.string(),
918
- source_group_id: z60.string(),
919
- source_net_id: z60.string(),
920
- subcircuit_id: z60.string().optional()
922
+ import { z as z61 } from "zod";
923
+ var source_pcb_ground_plane = z61.object({
924
+ type: z61.literal("source_pcb_ground_plane"),
925
+ source_pcb_ground_plane_id: z61.string(),
926
+ source_group_id: z61.string(),
927
+ source_net_id: z61.string(),
928
+ subcircuit_id: z61.string().optional()
921
929
  }).describe("Defines a ground plane in the source domain");
922
930
  expectTypesMatch(true);
923
931
 
924
932
  // src/source/source_manually_placed_via.ts
925
- import { z as z62 } from "zod";
933
+ import { z as z63 } from "zod";
926
934
 
927
935
  // src/pcb/properties/layer_ref.ts
928
- import { z as z61 } from "zod";
936
+ import { z as z62 } from "zod";
929
937
  var all_layers = [
930
938
  "top",
931
939
  "bottom",
@@ -936,9 +944,9 @@ var all_layers = [
936
944
  "inner5",
937
945
  "inner6"
938
946
  ];
939
- var layer_string = z61.enum(all_layers);
947
+ var layer_string = z62.enum(all_layers);
940
948
  var layer_ref = layer_string.or(
941
- z61.object({
949
+ z62.object({
942
950
  name: layer_string
943
951
  })
944
952
  ).transform((layer) => {
@@ -948,210 +956,210 @@ var layer_ref = layer_string.or(
948
956
  return layer.name;
949
957
  });
950
958
  expectTypesMatch(true);
951
- var visible_layer = z61.enum(["top", "bottom"]);
959
+ var visible_layer = z62.enum(["top", "bottom"]);
952
960
 
953
961
  // src/source/source_manually_placed_via.ts
954
- var source_manually_placed_via = z62.object({
955
- type: z62.literal("source_manually_placed_via"),
956
- source_manually_placed_via_id: z62.string(),
957
- source_group_id: z62.string(),
958
- source_net_id: z62.string(),
959
- subcircuit_id: z62.string().optional(),
960
- source_trace_id: z62.string().optional()
962
+ var source_manually_placed_via = z63.object({
963
+ type: z63.literal("source_manually_placed_via"),
964
+ source_manually_placed_via_id: z63.string(),
965
+ source_group_id: z63.string(),
966
+ source_net_id: z63.string(),
967
+ subcircuit_id: z63.string().optional(),
968
+ source_trace_id: z63.string().optional()
961
969
  }).describe("Defines a via that is manually placed in the source domain");
962
970
  expectTypesMatch(true);
963
971
 
964
972
  // src/source/source_no_power_pin_defined_warning.ts
965
- import { z as z63 } from "zod";
966
- var source_no_power_pin_defined_warning = z63.object({
967
- type: z63.literal("source_no_power_pin_defined_warning"),
973
+ import { z as z64 } from "zod";
974
+ var source_no_power_pin_defined_warning = z64.object({
975
+ type: z64.literal("source_no_power_pin_defined_warning"),
968
976
  source_no_power_pin_defined_warning_id: getZodPrefixedIdWithDefault(
969
977
  "source_no_power_pin_defined_warning"
970
978
  ),
971
- warning_type: z63.literal("source_no_power_pin_defined_warning").default("source_no_power_pin_defined_warning"),
972
- message: z63.string(),
973
- source_component_id: z63.string(),
974
- source_port_ids: z63.array(z63.string()),
975
- subcircuit_id: z63.string().optional()
979
+ warning_type: z64.literal("source_no_power_pin_defined_warning").default("source_no_power_pin_defined_warning"),
980
+ message: z64.string(),
981
+ source_component_id: z64.string(),
982
+ source_port_ids: z64.array(z64.string()),
983
+ subcircuit_id: z64.string().optional()
976
984
  }).describe(
977
985
  "Warning emitted when a chip has no source ports with requires_power=true"
978
986
  );
979
987
  expectTypesMatch(true);
980
988
 
981
989
  // src/source/source_no_ground_pin_defined_warning.ts
982
- import { z as z64 } from "zod";
983
- var source_no_ground_pin_defined_warning = z64.object({
984
- type: z64.literal("source_no_ground_pin_defined_warning"),
990
+ import { z as z65 } from "zod";
991
+ var source_no_ground_pin_defined_warning = z65.object({
992
+ type: z65.literal("source_no_ground_pin_defined_warning"),
985
993
  source_no_ground_pin_defined_warning_id: getZodPrefixedIdWithDefault(
986
994
  "source_no_ground_pin_defined_warning"
987
995
  ),
988
- warning_type: z64.literal("source_no_ground_pin_defined_warning").default("source_no_ground_pin_defined_warning"),
989
- message: z64.string(),
990
- source_component_id: z64.string(),
991
- source_port_ids: z64.array(z64.string()),
992
- subcircuit_id: z64.string().optional()
996
+ warning_type: z65.literal("source_no_ground_pin_defined_warning").default("source_no_ground_pin_defined_warning"),
997
+ message: z65.string(),
998
+ source_component_id: z65.string(),
999
+ source_port_ids: z65.array(z65.string()),
1000
+ subcircuit_id: z65.string().optional()
993
1001
  }).describe(
994
1002
  "Warning emitted when a chip has no source ports marked as ground pins"
995
1003
  );
996
1004
  expectTypesMatch(true);
997
1005
 
998
1006
  // src/source/source_component_pins_underspecified_warning.ts
999
- import { z as z65 } from "zod";
1000
- var source_component_pins_underspecified_warning = z65.object({
1001
- type: z65.literal("source_component_pins_underspecified_warning"),
1007
+ import { z as z66 } from "zod";
1008
+ var source_component_pins_underspecified_warning = z66.object({
1009
+ type: z66.literal("source_component_pins_underspecified_warning"),
1002
1010
  source_component_pins_underspecified_warning_id: getZodPrefixedIdWithDefault(
1003
1011
  "source_component_pins_underspecified_warning"
1004
1012
  ),
1005
- warning_type: z65.literal("source_component_pins_underspecified_warning").default("source_component_pins_underspecified_warning"),
1006
- message: z65.string(),
1007
- source_component_id: z65.string(),
1008
- source_port_ids: z65.array(z65.string()),
1009
- subcircuit_id: z65.string().optional()
1013
+ warning_type: z66.literal("source_component_pins_underspecified_warning").default("source_component_pins_underspecified_warning"),
1014
+ message: z66.string(),
1015
+ source_component_id: z66.string(),
1016
+ source_port_ids: z66.array(z66.string()),
1017
+ subcircuit_id: z66.string().optional()
1010
1018
  }).describe(
1011
1019
  "Warning emitted when all ports on a source component are underspecified"
1012
1020
  );
1013
1021
  expectTypesMatch(true);
1014
1022
 
1015
1023
  // src/source/source_pin_must_be_connected_error.ts
1016
- import { z as z66 } from "zod";
1024
+ import { z as z67 } from "zod";
1017
1025
  var source_pin_must_be_connected_error = base_circuit_json_error.extend({
1018
- type: z66.literal("source_pin_must_be_connected_error"),
1026
+ type: z67.literal("source_pin_must_be_connected_error"),
1019
1027
  source_pin_must_be_connected_error_id: getZodPrefixedIdWithDefault(
1020
1028
  "source_pin_must_be_connected_error"
1021
1029
  ),
1022
- error_type: z66.literal("source_pin_must_be_connected_error").default("source_pin_must_be_connected_error"),
1023
- source_component_id: z66.string(),
1024
- source_port_id: z66.string(),
1025
- subcircuit_id: z66.string().optional()
1030
+ error_type: z67.literal("source_pin_must_be_connected_error").default("source_pin_must_be_connected_error"),
1031
+ source_component_id: z67.string(),
1032
+ source_port_id: z67.string(),
1033
+ subcircuit_id: z67.string().optional()
1026
1034
  }).describe(
1027
1035
  "Error emitted when a pin with mustBeConnected attribute is not connected to any trace"
1028
1036
  );
1029
1037
  expectTypesMatch(true);
1030
1038
 
1031
1039
  // src/source/unknown_error_finding_part.ts
1032
- import { z as z67 } from "zod";
1040
+ import { z as z68 } from "zod";
1033
1041
  var unknown_error_finding_part = base_circuit_json_error.extend({
1034
- type: z67.literal("unknown_error_finding_part"),
1042
+ type: z68.literal("unknown_error_finding_part"),
1035
1043
  unknown_error_finding_part_id: getZodPrefixedIdWithDefault(
1036
1044
  "unknown_error_finding_part"
1037
1045
  ),
1038
- error_type: z67.literal("unknown_error_finding_part").default("unknown_error_finding_part"),
1039
- source_component_id: z67.string().optional(),
1040
- subcircuit_id: z67.string().optional()
1046
+ error_type: z68.literal("unknown_error_finding_part").default("unknown_error_finding_part"),
1047
+ source_component_id: z68.string().optional(),
1048
+ subcircuit_id: z68.string().optional()
1041
1049
  }).describe(
1042
1050
  "Error emitted when an unexpected error occurs while finding a part"
1043
1051
  );
1044
1052
  expectTypesMatch(true);
1045
1053
 
1046
1054
  // src/schematic/schematic_box.ts
1047
- import { z as z68 } from "zod";
1048
- var schematic_box = z68.object({
1049
- type: z68.literal("schematic_box"),
1050
- schematic_component_id: z68.string().optional(),
1051
- schematic_symbol_id: z68.string().optional(),
1055
+ import { z as z69 } from "zod";
1056
+ var schematic_box = z69.object({
1057
+ type: z69.literal("schematic_box"),
1058
+ schematic_component_id: z69.string().optional(),
1059
+ schematic_symbol_id: z69.string().optional(),
1052
1060
  width: distance,
1053
1061
  height: distance,
1054
- is_dashed: z68.boolean().default(false),
1062
+ is_dashed: z69.boolean().default(false),
1055
1063
  x: distance,
1056
1064
  y: distance,
1057
- subcircuit_id: z68.string().optional()
1065
+ subcircuit_id: z69.string().optional()
1058
1066
  }).describe("Draws a box on the schematic");
1059
1067
  expectTypesMatch(true);
1060
1068
 
1061
1069
  // src/schematic/schematic_path.ts
1062
- import { z as z69 } from "zod";
1063
- var schematic_path = z69.object({
1064
- type: z69.literal("schematic_path"),
1070
+ import { z as z70 } from "zod";
1071
+ var schematic_path = z70.object({
1072
+ type: z70.literal("schematic_path"),
1065
1073
  schematic_path_id: getZodPrefixedIdWithDefault("schematic_path"),
1066
- schematic_component_id: z69.string().optional(),
1067
- schematic_symbol_id: z69.string().optional(),
1068
- fill_color: z69.string().optional(),
1069
- is_filled: z69.boolean().optional(),
1070
- is_dashed: z69.boolean().default(false),
1074
+ schematic_component_id: z70.string().optional(),
1075
+ schematic_symbol_id: z70.string().optional(),
1076
+ fill_color: z70.string().optional(),
1077
+ is_filled: z70.boolean().optional(),
1078
+ is_dashed: z70.boolean().default(false),
1071
1079
  stroke_width: distance.nullable().optional(),
1072
- stroke_color: z69.string().optional(),
1080
+ stroke_color: z70.string().optional(),
1073
1081
  dash_length: distance.optional(),
1074
1082
  dash_gap: distance.optional(),
1075
- points: z69.array(point),
1076
- subcircuit_id: z69.string().optional()
1083
+ points: z70.array(point),
1084
+ subcircuit_id: z70.string().optional()
1077
1085
  });
1078
1086
  expectTypesMatch(true);
1079
1087
 
1080
1088
  // src/schematic/schematic_component.ts
1081
- import { z as z70 } from "zod";
1082
- var schematic_pin_styles = z70.record(
1083
- z70.object({
1089
+ import { z as z71 } from "zod";
1090
+ var schematic_pin_styles = z71.record(
1091
+ z71.object({
1084
1092
  left_margin: length.optional(),
1085
1093
  right_margin: length.optional(),
1086
1094
  top_margin: length.optional(),
1087
1095
  bottom_margin: length.optional()
1088
1096
  })
1089
1097
  );
1090
- var schematic_component_port_arrangement_by_size = z70.object({
1091
- left_size: z70.number(),
1092
- right_size: z70.number(),
1093
- top_size: z70.number().optional(),
1094
- bottom_size: z70.number().optional()
1098
+ var schematic_component_port_arrangement_by_size = z71.object({
1099
+ left_size: z71.number(),
1100
+ right_size: z71.number(),
1101
+ top_size: z71.number().optional(),
1102
+ bottom_size: z71.number().optional()
1095
1103
  });
1096
1104
  expectTypesMatch(true);
1097
- var schematic_component_port_arrangement_by_sides = z70.object({
1098
- left_side: z70.object({
1099
- pins: z70.array(z70.number()),
1105
+ var schematic_component_port_arrangement_by_sides = z71.object({
1106
+ left_side: z71.object({
1107
+ pins: z71.array(z71.number()),
1100
1108
  // @ts-ignore
1101
- direction: z70.enum(["top-to-bottom", "bottom-to-top"]).optional()
1109
+ direction: z71.enum(["top-to-bottom", "bottom-to-top"]).optional()
1102
1110
  }).optional(),
1103
- right_side: z70.object({
1104
- pins: z70.array(z70.number()),
1111
+ right_side: z71.object({
1112
+ pins: z71.array(z71.number()),
1105
1113
  // @ts-ignore
1106
- direction: z70.enum(["top-to-bottom", "bottom-to-top"]).optional()
1114
+ direction: z71.enum(["top-to-bottom", "bottom-to-top"]).optional()
1107
1115
  }).optional(),
1108
- top_side: z70.object({
1109
- pins: z70.array(z70.number()),
1116
+ top_side: z71.object({
1117
+ pins: z71.array(z71.number()),
1110
1118
  // @ts-ignore
1111
- direction: z70.enum(["left-to-right", "right-to-left"]).optional()
1119
+ direction: z71.enum(["left-to-right", "right-to-left"]).optional()
1112
1120
  }).optional(),
1113
- bottom_side: z70.object({
1114
- pins: z70.array(z70.number()),
1121
+ bottom_side: z71.object({
1122
+ pins: z71.array(z71.number()),
1115
1123
  // @ts-ignore
1116
- direction: z70.enum(["left-to-right", "right-to-left"]).optional()
1124
+ direction: z71.enum(["left-to-right", "right-to-left"]).optional()
1117
1125
  }).optional()
1118
1126
  });
1119
1127
  expectTypesMatch(true);
1120
- var port_arrangement = z70.union([
1128
+ var port_arrangement = z71.union([
1121
1129
  schematic_component_port_arrangement_by_size,
1122
1130
  schematic_component_port_arrangement_by_sides
1123
1131
  ]);
1124
- var schematic_component = z70.object({
1125
- type: z70.literal("schematic_component"),
1132
+ var schematic_component = z71.object({
1133
+ type: z71.literal("schematic_component"),
1126
1134
  size,
1127
1135
  center: point,
1128
- source_component_id: z70.string().optional(),
1129
- schematic_component_id: z70.string(),
1130
- schematic_symbol_id: z70.string().optional(),
1136
+ source_component_id: z71.string().optional(),
1137
+ schematic_component_id: z71.string(),
1138
+ schematic_symbol_id: z71.string().optional(),
1131
1139
  pin_spacing: length.optional(),
1132
1140
  pin_styles: schematic_pin_styles.optional(),
1133
1141
  box_width: length.optional(),
1134
- symbol_name: z70.string().optional(),
1142
+ symbol_name: z71.string().optional(),
1135
1143
  port_arrangement: port_arrangement.optional(),
1136
- port_labels: z70.record(z70.string()).optional(),
1137
- symbol_display_value: z70.string().optional(),
1138
- subcircuit_id: z70.string().optional(),
1139
- schematic_group_id: z70.string().optional(),
1140
- is_schematic_group: z70.boolean().optional(),
1141
- source_group_id: z70.string().optional(),
1142
- is_box_with_pins: z70.boolean().optional().default(true)
1144
+ port_labels: z71.record(z71.string()).optional(),
1145
+ symbol_display_value: z71.string().optional(),
1146
+ subcircuit_id: z71.string().optional(),
1147
+ schematic_group_id: z71.string().optional(),
1148
+ is_schematic_group: z71.boolean().optional(),
1149
+ source_group_id: z71.string().optional(),
1150
+ is_box_with_pins: z71.boolean().optional().default(true)
1143
1151
  });
1144
1152
  expectTypesMatch(true);
1145
1153
 
1146
1154
  // src/schematic/schematic_symbol.ts
1147
- import { z as z71 } from "zod";
1148
- var schematicSymbolMetadata = z71.object({
1155
+ import { z as z72 } from "zod";
1156
+ var schematicSymbolMetadata = z72.object({
1149
1157
  kicad_symbol: kicadSymbolMetadata.optional()
1150
- }).catchall(z71.unknown());
1151
- var schematic_symbol = z71.object({
1152
- type: z71.literal("schematic_symbol"),
1153
- schematic_symbol_id: z71.string(),
1154
- name: z71.string().optional(),
1158
+ }).catchall(z72.unknown());
1159
+ var schematic_symbol = z72.object({
1160
+ type: z72.literal("schematic_symbol"),
1161
+ schematic_symbol_id: z72.string(),
1162
+ name: z72.string().optional(),
1155
1163
  metadata: schematicSymbolMetadata.optional()
1156
1164
  }).describe(
1157
1165
  "Defines a named schematic symbol that can be referenced by components."
@@ -1159,121 +1167,121 @@ var schematic_symbol = z71.object({
1159
1167
  expectTypesMatch(true);
1160
1168
 
1161
1169
  // src/schematic/schematic_line.ts
1162
- import { z as z72 } from "zod";
1163
- var schematic_line = z72.object({
1164
- type: z72.literal("schematic_line"),
1170
+ import { z as z73 } from "zod";
1171
+ var schematic_line = z73.object({
1172
+ type: z73.literal("schematic_line"),
1165
1173
  schematic_line_id: getZodPrefixedIdWithDefault("schematic_line"),
1166
- schematic_component_id: z72.string().optional(),
1167
- schematic_symbol_id: z72.string().optional(),
1174
+ schematic_component_id: z73.string().optional(),
1175
+ schematic_symbol_id: z73.string().optional(),
1168
1176
  x1: distance,
1169
1177
  y1: distance,
1170
1178
  x2: distance,
1171
1179
  y2: distance,
1172
1180
  stroke_width: distance.nullable().optional(),
1173
- color: z72.string().default("#000000"),
1174
- is_dashed: z72.boolean().default(false),
1181
+ color: z73.string().default("#000000"),
1182
+ is_dashed: z73.boolean().default(false),
1175
1183
  dash_length: distance.optional(),
1176
1184
  dash_gap: distance.optional(),
1177
- subcircuit_id: z72.string().optional()
1185
+ subcircuit_id: z73.string().optional()
1178
1186
  }).describe("Draws a styled line on the schematic");
1179
1187
  expectTypesMatch(true);
1180
1188
 
1181
1189
  // src/schematic/schematic_rect.ts
1182
- import { z as z73 } from "zod";
1183
- var schematic_rect = z73.object({
1184
- type: z73.literal("schematic_rect"),
1190
+ import { z as z74 } from "zod";
1191
+ var schematic_rect = z74.object({
1192
+ type: z74.literal("schematic_rect"),
1185
1193
  schematic_rect_id: getZodPrefixedIdWithDefault("schematic_rect"),
1186
- schematic_component_id: z73.string().optional(),
1187
- schematic_symbol_id: z73.string().optional(),
1194
+ schematic_component_id: z74.string().optional(),
1195
+ schematic_symbol_id: z74.string().optional(),
1188
1196
  center: point,
1189
1197
  width: distance,
1190
1198
  height: distance,
1191
1199
  rotation: rotation.default(0),
1192
1200
  stroke_width: distance.nullable().optional(),
1193
- color: z73.string().default("#000000"),
1194
- is_filled: z73.boolean().default(false),
1195
- fill_color: z73.string().optional(),
1196
- is_dashed: z73.boolean().default(false),
1197
- subcircuit_id: z73.string().optional()
1201
+ color: z74.string().default("#000000"),
1202
+ is_filled: z74.boolean().default(false),
1203
+ fill_color: z74.string().optional(),
1204
+ is_dashed: z74.boolean().default(false),
1205
+ subcircuit_id: z74.string().optional()
1198
1206
  }).describe("Draws a styled rectangle on the schematic");
1199
1207
  expectTypesMatch(true);
1200
1208
 
1201
1209
  // src/schematic/schematic_circle.ts
1202
- import { z as z74 } from "zod";
1203
- var schematic_circle = z74.object({
1204
- type: z74.literal("schematic_circle"),
1210
+ import { z as z75 } from "zod";
1211
+ var schematic_circle = z75.object({
1212
+ type: z75.literal("schematic_circle"),
1205
1213
  schematic_circle_id: getZodPrefixedIdWithDefault("schematic_circle"),
1206
- schematic_component_id: z74.string().optional(),
1207
- schematic_symbol_id: z74.string().optional(),
1214
+ schematic_component_id: z75.string().optional(),
1215
+ schematic_symbol_id: z75.string().optional(),
1208
1216
  center: point,
1209
1217
  radius: distance,
1210
1218
  stroke_width: distance.nullable().optional(),
1211
- color: z74.string().default("#000000"),
1212
- is_filled: z74.boolean().default(false),
1213
- fill_color: z74.string().optional(),
1214
- is_dashed: z74.boolean().default(false),
1215
- subcircuit_id: z74.string().optional()
1219
+ color: z75.string().default("#000000"),
1220
+ is_filled: z75.boolean().default(false),
1221
+ fill_color: z75.string().optional(),
1222
+ is_dashed: z75.boolean().default(false),
1223
+ subcircuit_id: z75.string().optional()
1216
1224
  }).describe("Draws a styled circle on the schematic");
1217
1225
  expectTypesMatch(true);
1218
1226
 
1219
1227
  // src/schematic/schematic_arc.ts
1220
- import { z as z75 } from "zod";
1221
- var schematic_arc = z75.object({
1222
- type: z75.literal("schematic_arc"),
1228
+ import { z as z76 } from "zod";
1229
+ var schematic_arc = z76.object({
1230
+ type: z76.literal("schematic_arc"),
1223
1231
  schematic_arc_id: getZodPrefixedIdWithDefault("schematic_arc"),
1224
- schematic_component_id: z75.string().optional(),
1225
- schematic_symbol_id: z75.string().optional(),
1232
+ schematic_component_id: z76.string().optional(),
1233
+ schematic_symbol_id: z76.string().optional(),
1226
1234
  center: point,
1227
1235
  radius: distance,
1228
1236
  start_angle_degrees: rotation,
1229
1237
  end_angle_degrees: rotation,
1230
- direction: z75.enum(["clockwise", "counterclockwise"]).default("counterclockwise"),
1238
+ direction: z76.enum(["clockwise", "counterclockwise"]).default("counterclockwise"),
1231
1239
  stroke_width: distance.nullable().optional(),
1232
- color: z75.string().default("#000000"),
1233
- is_dashed: z75.boolean().default(false),
1234
- subcircuit_id: z75.string().optional()
1240
+ color: z76.string().default("#000000"),
1241
+ is_dashed: z76.boolean().default(false),
1242
+ subcircuit_id: z76.string().optional()
1235
1243
  }).describe("Draws a styled arc on the schematic");
1236
1244
  expectTypesMatch(true);
1237
1245
 
1238
1246
  // src/schematic/schematic_trace.ts
1239
- import { z as z76 } from "zod";
1240
- var schematic_trace = z76.object({
1241
- type: z76.literal("schematic_trace"),
1242
- schematic_trace_id: z76.string(),
1243
- source_trace_id: z76.string().optional(),
1244
- junctions: z76.array(
1245
- z76.object({
1246
- x: z76.number(),
1247
- y: z76.number()
1247
+ import { z as z77 } from "zod";
1248
+ var schematic_trace = z77.object({
1249
+ type: z77.literal("schematic_trace"),
1250
+ schematic_trace_id: z77.string(),
1251
+ source_trace_id: z77.string().optional(),
1252
+ junctions: z77.array(
1253
+ z77.object({
1254
+ x: z77.number(),
1255
+ y: z77.number()
1248
1256
  })
1249
1257
  ),
1250
- edges: z76.array(
1251
- z76.object({
1252
- from: z76.object({
1253
- x: z76.number(),
1254
- y: z76.number()
1258
+ edges: z77.array(
1259
+ z77.object({
1260
+ from: z77.object({
1261
+ x: z77.number(),
1262
+ y: z77.number()
1255
1263
  }),
1256
- to: z76.object({
1257
- x: z76.number(),
1258
- y: z76.number()
1264
+ to: z77.object({
1265
+ x: z77.number(),
1266
+ y: z77.number()
1259
1267
  }),
1260
- is_crossing: z76.boolean().optional(),
1261
- from_schematic_port_id: z76.string().optional(),
1262
- to_schematic_port_id: z76.string().optional()
1268
+ is_crossing: z77.boolean().optional(),
1269
+ from_schematic_port_id: z77.string().optional(),
1270
+ to_schematic_port_id: z77.string().optional()
1263
1271
  })
1264
1272
  ),
1265
- subcircuit_id: z76.string().optional(),
1273
+ subcircuit_id: z77.string().optional(),
1266
1274
  // TODO: make required in a future release
1267
- subcircuit_connectivity_map_key: z76.string().optional()
1275
+ subcircuit_connectivity_map_key: z77.string().optional()
1268
1276
  });
1269
1277
  expectTypesMatch(true);
1270
1278
 
1271
1279
  // src/schematic/schematic_text.ts
1272
- import { z as z78 } from "zod";
1280
+ import { z as z79 } from "zod";
1273
1281
 
1274
1282
  // src/common/FivePointAnchor.ts
1275
- import { z as z77 } from "zod";
1276
- var fivePointAnchor = z77.enum([
1283
+ import { z as z78 } from "zod";
1284
+ var fivePointAnchor = z78.enum([
1277
1285
  "center",
1278
1286
  "left",
1279
1287
  "right",
@@ -1283,111 +1291,111 @@ var fivePointAnchor = z77.enum([
1283
1291
  expectTypesMatch(true);
1284
1292
 
1285
1293
  // src/schematic/schematic_text.ts
1286
- var schematic_text = z78.object({
1287
- type: z78.literal("schematic_text"),
1288
- schematic_component_id: z78.string().optional(),
1289
- schematic_symbol_id: z78.string().optional(),
1290
- schematic_text_id: z78.string(),
1291
- text: z78.string(),
1292
- font_size: z78.number().default(0.18),
1293
- position: z78.object({
1294
+ var schematic_text = z79.object({
1295
+ type: z79.literal("schematic_text"),
1296
+ schematic_component_id: z79.string().optional(),
1297
+ schematic_symbol_id: z79.string().optional(),
1298
+ schematic_text_id: z79.string(),
1299
+ text: z79.string(),
1300
+ font_size: z79.number().default(0.18),
1301
+ position: z79.object({
1294
1302
  x: distance,
1295
1303
  y: distance
1296
1304
  }),
1297
- rotation: z78.number().default(0),
1298
- anchor: z78.union([fivePointAnchor.describe("legacy"), ninePointAnchor]).default("center"),
1299
- color: z78.string().default("#000000"),
1300
- subcircuit_id: z78.string().optional()
1305
+ rotation: z79.number().default(0),
1306
+ anchor: z79.union([fivePointAnchor.describe("legacy"), ninePointAnchor]).default("center"),
1307
+ color: z79.string().default("#000000"),
1308
+ subcircuit_id: z79.string().optional()
1301
1309
  });
1302
1310
  expectTypesMatch(true);
1303
1311
 
1304
1312
  // src/schematic/schematic_port.ts
1305
- import { z as z79 } from "zod";
1306
- var schematic_port = z79.object({
1307
- type: z79.literal("schematic_port"),
1308
- schematic_port_id: z79.string(),
1309
- source_port_id: z79.string(),
1310
- schematic_component_id: z79.string().optional(),
1313
+ import { z as z80 } from "zod";
1314
+ var schematic_port = z80.object({
1315
+ type: z80.literal("schematic_port"),
1316
+ schematic_port_id: z80.string(),
1317
+ source_port_id: z80.string(),
1318
+ schematic_component_id: z80.string().optional(),
1311
1319
  center: point,
1312
- facing_direction: z79.enum(["up", "down", "left", "right"]).optional(),
1313
- distance_from_component_edge: z79.number().optional(),
1314
- side_of_component: z79.enum(["top", "bottom", "left", "right"]).optional(),
1315
- true_ccw_index: z79.number().optional(),
1316
- pin_number: z79.number().optional(),
1317
- display_pin_label: z79.string().optional(),
1318
- subcircuit_id: z79.string().optional(),
1319
- is_connected: z79.boolean().optional(),
1320
- has_input_arrow: z79.boolean().optional(),
1321
- has_output_arrow: z79.boolean().optional(),
1322
- is_drawn_with_inversion_circle: z79.boolean().optional()
1320
+ facing_direction: z80.enum(["up", "down", "left", "right"]).optional(),
1321
+ distance_from_component_edge: z80.number().optional(),
1322
+ side_of_component: z80.enum(["top", "bottom", "left", "right"]).optional(),
1323
+ true_ccw_index: z80.number().optional(),
1324
+ pin_number: z80.number().optional(),
1325
+ display_pin_label: z80.string().optional(),
1326
+ subcircuit_id: z80.string().optional(),
1327
+ is_connected: z80.boolean().optional(),
1328
+ has_input_arrow: z80.boolean().optional(),
1329
+ has_output_arrow: z80.boolean().optional(),
1330
+ is_drawn_with_inversion_circle: z80.boolean().optional()
1323
1331
  }).describe("Defines a port on a schematic component");
1324
1332
  expectTypesMatch(true);
1325
1333
 
1326
1334
  // src/schematic/schematic_net_label.ts
1327
- import { z as z80 } from "zod";
1328
- var schematic_net_label = z80.object({
1329
- type: z80.literal("schematic_net_label"),
1335
+ import { z as z81 } from "zod";
1336
+ var schematic_net_label = z81.object({
1337
+ type: z81.literal("schematic_net_label"),
1330
1338
  schematic_net_label_id: getZodPrefixedIdWithDefault("schematic_net_label"),
1331
- schematic_trace_id: z80.string().optional(),
1332
- source_trace_id: z80.string().optional(),
1333
- source_net_id: z80.string(),
1339
+ schematic_trace_id: z81.string().optional(),
1340
+ source_trace_id: z81.string().optional(),
1341
+ source_net_id: z81.string(),
1334
1342
  center: point,
1335
1343
  anchor_position: point.optional(),
1336
- anchor_side: z80.enum(["top", "bottom", "left", "right"]),
1337
- text: z80.string(),
1338
- symbol_name: z80.string().optional(),
1339
- is_movable: z80.boolean().optional(),
1340
- subcircuit_id: z80.string().optional()
1344
+ anchor_side: z81.enum(["top", "bottom", "left", "right"]),
1345
+ text: z81.string(),
1346
+ symbol_name: z81.string().optional(),
1347
+ is_movable: z81.boolean().optional(),
1348
+ subcircuit_id: z81.string().optional()
1341
1349
  });
1342
1350
  expectTypesMatch(true);
1343
1351
 
1344
1352
  // src/schematic/schematic_error.ts
1345
- import { z as z81 } from "zod";
1353
+ import { z as z82 } from "zod";
1346
1354
  var schematic_error = base_circuit_json_error.extend({
1347
- type: z81.literal("schematic_error"),
1348
- schematic_error_id: z81.string(),
1355
+ type: z82.literal("schematic_error"),
1356
+ schematic_error_id: z82.string(),
1349
1357
  // eventually each error type should be broken out into a dir of files
1350
- error_type: z81.literal("schematic_port_not_found").default("schematic_port_not_found"),
1351
- subcircuit_id: z81.string().optional()
1358
+ error_type: z82.literal("schematic_port_not_found").default("schematic_port_not_found"),
1359
+ subcircuit_id: z82.string().optional()
1352
1360
  }).describe("Defines a schematic error on the schematic");
1353
1361
  expectTypesMatch(true);
1354
1362
 
1355
1363
  // src/schematic/schematic_layout_error.ts
1356
- import { z as z82 } from "zod";
1364
+ import { z as z83 } from "zod";
1357
1365
  var schematic_layout_error = base_circuit_json_error.extend({
1358
- type: z82.literal("schematic_layout_error"),
1366
+ type: z83.literal("schematic_layout_error"),
1359
1367
  schematic_layout_error_id: getZodPrefixedIdWithDefault(
1360
1368
  "schematic_layout_error"
1361
1369
  ),
1362
- error_type: z82.literal("schematic_layout_error").default("schematic_layout_error"),
1363
- source_group_id: z82.string(),
1364
- schematic_group_id: z82.string(),
1365
- subcircuit_id: z82.string().optional()
1370
+ error_type: z83.literal("schematic_layout_error").default("schematic_layout_error"),
1371
+ source_group_id: z83.string(),
1372
+ schematic_group_id: z83.string(),
1373
+ subcircuit_id: z83.string().optional()
1366
1374
  }).describe("Error emitted when schematic layout fails for a group");
1367
1375
  expectTypesMatch(true);
1368
1376
 
1369
1377
  // src/schematic/schematic_debug_object.ts
1370
- import { z as z83 } from "zod";
1371
- var schematic_debug_object_base = z83.object({
1372
- type: z83.literal("schematic_debug_object"),
1373
- label: z83.string().optional(),
1374
- subcircuit_id: z83.string().optional()
1378
+ import { z as z84 } from "zod";
1379
+ var schematic_debug_object_base = z84.object({
1380
+ type: z84.literal("schematic_debug_object"),
1381
+ label: z84.string().optional(),
1382
+ subcircuit_id: z84.string().optional()
1375
1383
  });
1376
1384
  var schematic_debug_rect = schematic_debug_object_base.extend({
1377
- shape: z83.literal("rect"),
1385
+ shape: z84.literal("rect"),
1378
1386
  center: point,
1379
1387
  size
1380
1388
  });
1381
1389
  var schematic_debug_line = schematic_debug_object_base.extend({
1382
- shape: z83.literal("line"),
1390
+ shape: z84.literal("line"),
1383
1391
  start: point,
1384
1392
  end: point
1385
1393
  });
1386
1394
  var schematic_debug_point = schematic_debug_object_base.extend({
1387
- shape: z83.literal("point"),
1395
+ shape: z84.literal("point"),
1388
1396
  center: point
1389
1397
  });
1390
- var schematic_debug_object = z83.discriminatedUnion("shape", [
1398
+ var schematic_debug_object = z84.discriminatedUnion("shape", [
1391
1399
  schematic_debug_rect,
1392
1400
  schematic_debug_line,
1393
1401
  schematic_debug_point
@@ -1395,152 +1403,152 @@ var schematic_debug_object = z83.discriminatedUnion("shape", [
1395
1403
  expectTypesMatch(true);
1396
1404
 
1397
1405
  // src/schematic/schematic_voltage_probe.ts
1398
- import { z as z84 } from "zod";
1399
- var schematic_voltage_probe = z84.object({
1400
- type: z84.literal("schematic_voltage_probe"),
1401
- schematic_voltage_probe_id: z84.string(),
1402
- source_component_id: z84.string().optional(),
1403
- name: z84.string().optional(),
1406
+ import { z as z85 } from "zod";
1407
+ var schematic_voltage_probe = z85.object({
1408
+ type: z85.literal("schematic_voltage_probe"),
1409
+ schematic_voltage_probe_id: z85.string(),
1410
+ source_component_id: z85.string().optional(),
1411
+ name: z85.string().optional(),
1404
1412
  position: point,
1405
- schematic_trace_id: z84.string(),
1413
+ schematic_trace_id: z85.string(),
1406
1414
  voltage: voltage.optional(),
1407
- subcircuit_id: z84.string().optional(),
1408
- color: z84.string().optional(),
1415
+ subcircuit_id: z85.string().optional(),
1416
+ color: z85.string().optional(),
1409
1417
  label_alignment: ninePointAnchor.optional()
1410
1418
  }).describe("Defines a voltage probe measurement point on a schematic trace");
1411
1419
  expectTypesMatch(true);
1412
1420
 
1413
1421
  // src/schematic/schematic_manual_edit_conflict_warning.ts
1414
- import { z as z85 } from "zod";
1415
- var schematic_manual_edit_conflict_warning = z85.object({
1416
- type: z85.literal("schematic_manual_edit_conflict_warning"),
1422
+ import { z as z86 } from "zod";
1423
+ var schematic_manual_edit_conflict_warning = z86.object({
1424
+ type: z86.literal("schematic_manual_edit_conflict_warning"),
1417
1425
  schematic_manual_edit_conflict_warning_id: getZodPrefixedIdWithDefault(
1418
1426
  "schematic_manual_edit_conflict_warning"
1419
1427
  ),
1420
- warning_type: z85.literal("schematic_manual_edit_conflict_warning").default("schematic_manual_edit_conflict_warning"),
1421
- message: z85.string(),
1422
- schematic_component_id: z85.string(),
1423
- schematic_group_id: z85.string().optional(),
1424
- subcircuit_id: z85.string().optional(),
1425
- source_component_id: z85.string()
1428
+ warning_type: z86.literal("schematic_manual_edit_conflict_warning").default("schematic_manual_edit_conflict_warning"),
1429
+ message: z86.string(),
1430
+ schematic_component_id: z86.string(),
1431
+ schematic_group_id: z86.string().optional(),
1432
+ subcircuit_id: z86.string().optional(),
1433
+ source_component_id: z86.string()
1426
1434
  }).describe(
1427
1435
  "Warning emitted when a component has both manual placement and explicit schX/schY coordinates"
1428
1436
  );
1429
1437
  expectTypesMatch(true);
1430
1438
 
1431
1439
  // src/schematic/schematic_group.ts
1432
- import { z as z86 } from "zod";
1433
- var schematic_group = z86.object({
1434
- type: z86.literal("schematic_group"),
1440
+ import { z as z87 } from "zod";
1441
+ var schematic_group = z87.object({
1442
+ type: z87.literal("schematic_group"),
1435
1443
  schematic_group_id: getZodPrefixedIdWithDefault("schematic_group"),
1436
- source_group_id: z86.string(),
1437
- is_subcircuit: z86.boolean().optional(),
1438
- subcircuit_id: z86.string().optional(),
1444
+ source_group_id: z87.string(),
1445
+ is_subcircuit: z87.boolean().optional(),
1446
+ subcircuit_id: z87.string().optional(),
1439
1447
  width: length,
1440
1448
  height: length,
1441
1449
  center: point,
1442
- schematic_component_ids: z86.array(z86.string()),
1443
- show_as_schematic_box: z86.boolean().optional(),
1444
- name: z86.string().optional(),
1445
- description: z86.string().optional()
1450
+ schematic_component_ids: z87.array(z87.string()),
1451
+ show_as_schematic_box: z87.boolean().optional(),
1452
+ name: z87.string().optional(),
1453
+ description: z87.string().optional()
1446
1454
  }).describe("Defines a group of components on the schematic");
1447
1455
  expectTypesMatch(true);
1448
1456
 
1449
1457
  // src/schematic/schematic_table.ts
1450
- import { z as z87 } from "zod";
1451
- var schematic_table = z87.object({
1452
- type: z87.literal("schematic_table"),
1458
+ import { z as z88 } from "zod";
1459
+ var schematic_table = z88.object({
1460
+ type: z88.literal("schematic_table"),
1453
1461
  schematic_table_id: getZodPrefixedIdWithDefault("schematic_table"),
1454
1462
  anchor_position: point,
1455
- column_widths: z87.array(distance),
1456
- row_heights: z87.array(distance),
1463
+ column_widths: z88.array(distance),
1464
+ row_heights: z88.array(distance),
1457
1465
  cell_padding: distance.optional(),
1458
1466
  border_width: distance.optional(),
1459
- subcircuit_id: z87.string().optional(),
1460
- schematic_component_id: z87.string().optional(),
1467
+ subcircuit_id: z88.string().optional(),
1468
+ schematic_component_id: z88.string().optional(),
1461
1469
  anchor: ninePointAnchor.optional()
1462
1470
  }).describe("Defines a table on the schematic");
1463
1471
  expectTypesMatch(true);
1464
1472
 
1465
1473
  // src/schematic/schematic_table_cell.ts
1466
- import { z as z88 } from "zod";
1467
- var schematic_table_cell = z88.object({
1468
- type: z88.literal("schematic_table_cell"),
1474
+ import { z as z89 } from "zod";
1475
+ var schematic_table_cell = z89.object({
1476
+ type: z89.literal("schematic_table_cell"),
1469
1477
  schematic_table_cell_id: getZodPrefixedIdWithDefault(
1470
1478
  "schematic_table_cell"
1471
1479
  ),
1472
- schematic_table_id: z88.string(),
1473
- start_row_index: z88.number(),
1474
- end_row_index: z88.number(),
1475
- start_column_index: z88.number(),
1476
- end_column_index: z88.number(),
1477
- text: z88.string().optional(),
1480
+ schematic_table_id: z89.string(),
1481
+ start_row_index: z89.number(),
1482
+ end_row_index: z89.number(),
1483
+ start_column_index: z89.number(),
1484
+ end_column_index: z89.number(),
1485
+ text: z89.string().optional(),
1478
1486
  center: point,
1479
1487
  width: distance,
1480
1488
  height: distance,
1481
- horizontal_align: z88.enum(["left", "center", "right"]).optional(),
1482
- vertical_align: z88.enum(["top", "middle", "bottom"]).optional(),
1489
+ horizontal_align: z89.enum(["left", "center", "right"]).optional(),
1490
+ vertical_align: z89.enum(["top", "middle", "bottom"]).optional(),
1483
1491
  font_size: distance.optional(),
1484
- subcircuit_id: z88.string().optional()
1492
+ subcircuit_id: z89.string().optional()
1485
1493
  }).describe("Defines a cell within a schematic_table");
1486
1494
  expectTypesMatch(true);
1487
1495
 
1488
1496
  // src/schematic/schematic_sheet.ts
1489
- import { z as z89 } from "zod";
1490
- var schematic_sheet = z89.object({
1491
- type: z89.literal("schematic_sheet"),
1497
+ import { z as z90 } from "zod";
1498
+ var schematic_sheet = z90.object({
1499
+ type: z90.literal("schematic_sheet"),
1492
1500
  schematic_sheet_id: getZodPrefixedIdWithDefault("schematic_sheet"),
1493
- name: z89.string().optional(),
1494
- subcircuit_id: z89.string().optional()
1501
+ name: z90.string().optional(),
1502
+ subcircuit_id: z90.string().optional()
1495
1503
  }).describe(
1496
1504
  "Defines a schematic sheet or page that components can be placed on"
1497
1505
  );
1498
1506
  expectTypesMatch(true);
1499
1507
 
1500
1508
  // src/pcb/properties/brep.ts
1501
- import { z as z90 } from "zod";
1502
- var point_with_bulge = z90.object({
1509
+ import { z as z91 } from "zod";
1510
+ var point_with_bulge = z91.object({
1503
1511
  x: distance,
1504
1512
  y: distance,
1505
- bulge: z90.number().optional()
1513
+ bulge: z91.number().optional()
1506
1514
  });
1507
1515
  expectTypesMatch(true);
1508
- var ring = z90.object({
1509
- vertices: z90.array(point_with_bulge)
1516
+ var ring = z91.object({
1517
+ vertices: z91.array(point_with_bulge)
1510
1518
  });
1511
1519
  expectTypesMatch(true);
1512
- var brep_shape = z90.object({
1520
+ var brep_shape = z91.object({
1513
1521
  outer_ring: ring,
1514
- inner_rings: z90.array(ring).default([])
1522
+ inner_rings: z91.array(ring).default([])
1515
1523
  });
1516
1524
  expectTypesMatch(true);
1517
1525
 
1518
1526
  // src/pcb/properties/pcb_route_hints.ts
1519
- import { z as z91 } from "zod";
1520
- var pcb_route_hint = z91.object({
1527
+ import { z as z92 } from "zod";
1528
+ var pcb_route_hint = z92.object({
1521
1529
  x: distance,
1522
1530
  y: distance,
1523
- via: z91.boolean().optional(),
1531
+ via: z92.boolean().optional(),
1524
1532
  via_to_layer: layer_ref.optional()
1525
1533
  });
1526
- var pcb_route_hints = z91.array(pcb_route_hint);
1534
+ var pcb_route_hints = z92.array(pcb_route_hint);
1527
1535
  expectTypesMatch(true);
1528
1536
  expectTypesMatch(true);
1529
1537
 
1530
1538
  // src/pcb/properties/route_hint_point.ts
1531
- import { z as z92 } from "zod";
1532
- var route_hint_point = z92.object({
1539
+ import { z as z93 } from "zod";
1540
+ var route_hint_point = z93.object({
1533
1541
  x: distance,
1534
1542
  y: distance,
1535
- via: z92.boolean().optional(),
1543
+ via: z93.boolean().optional(),
1536
1544
  to_layer: layer_ref.optional(),
1537
1545
  trace_width: distance.optional()
1538
1546
  });
1539
1547
  expectTypesMatch(true);
1540
1548
 
1541
1549
  // src/pcb/properties/manufacturing_drc_properties.ts
1542
- import { z as z93 } from "zod";
1543
- var manufacturing_drc_properties = z93.object({
1550
+ import { z as z94 } from "zod";
1551
+ var manufacturing_drc_properties = z94.object({
1544
1552
  min_trace_width: length.optional(),
1545
1553
  min_board_edge_clearance: length.optional(),
1546
1554
  min_via_hole_edge_to_via_hole_edge_clearance: length.optional(),
@@ -1555,27 +1563,27 @@ var manufacturing_drc_properties = z93.object({
1555
1563
  });
1556
1564
 
1557
1565
  // src/pcb/pcb_component.ts
1558
- import { z as z94 } from "zod";
1559
- var pcb_component = z94.object({
1560
- type: z94.literal("pcb_component"),
1566
+ import { z as z95 } from "zod";
1567
+ var pcb_component = z95.object({
1568
+ type: z95.literal("pcb_component"),
1561
1569
  pcb_component_id: getZodPrefixedIdWithDefault("pcb_component"),
1562
- source_component_id: z94.string(),
1570
+ source_component_id: z95.string(),
1563
1571
  center: point,
1564
1572
  layer: layer_ref,
1565
1573
  rotation,
1566
- display_offset_x: z94.string().optional().describe(
1574
+ display_offset_x: z95.string().optional().describe(
1567
1575
  "How to display the x offset for this part, usually corresponding with how the user specified it"
1568
1576
  ),
1569
- display_offset_y: z94.string().optional().describe(
1577
+ display_offset_y: z95.string().optional().describe(
1570
1578
  "How to display the y offset for this part, usually corresponding with how the user specified it"
1571
1579
  ),
1572
1580
  width: length,
1573
1581
  height: length,
1574
- do_not_place: z94.boolean().optional(),
1575
- is_allowed_to_be_off_board: z94.boolean().optional(),
1576
- subcircuit_id: z94.string().optional(),
1577
- pcb_group_id: z94.string().optional(),
1578
- position_mode: z94.enum([
1582
+ do_not_place: z95.boolean().optional(),
1583
+ is_allowed_to_be_off_board: z95.boolean().optional(),
1584
+ subcircuit_id: z95.string().optional(),
1585
+ pcb_group_id: z95.string().optional(),
1586
+ position_mode: z95.enum([
1579
1587
  "packed",
1580
1588
  "relative_to_group_anchor",
1581
1589
  "relative_to_another_component",
@@ -1583,129 +1591,129 @@ var pcb_component = z94.object({
1583
1591
  ]).optional(),
1584
1592
  anchor_position: point.optional(),
1585
1593
  anchor_alignment: ninePointAnchor.optional(),
1586
- positioned_relative_to_pcb_group_id: z94.string().optional(),
1587
- positioned_relative_to_pcb_board_id: z94.string().optional(),
1594
+ positioned_relative_to_pcb_group_id: z95.string().optional(),
1595
+ positioned_relative_to_pcb_board_id: z95.string().optional(),
1588
1596
  cable_insertion_center: point.optional(),
1589
- insertion_direction: z94.enum([
1597
+ insertion_direction: z95.enum([
1590
1598
  "from_above",
1591
1599
  "from_left",
1592
1600
  "from_right",
1593
1601
  "from_front",
1594
1602
  "from_back"
1595
1603
  ]).optional(),
1596
- metadata: z94.object({
1604
+ metadata: z95.object({
1597
1605
  kicad_footprint: kicadFootprintMetadata.optional()
1598
1606
  }).optional(),
1599
- obstructs_within_bounds: z94.boolean().default(true).describe(
1607
+ obstructs_within_bounds: z95.boolean().default(true).describe(
1600
1608
  "Does this component take up all the space within its bounds on a layer. This is generally true except for when separated pin headers are being represented by a single component (in which case, chips can be placed between the pin headers) or for tall modules where chips fit underneath"
1601
1609
  )
1602
1610
  }).describe("Defines a component on the PCB");
1603
1611
  expectTypesMatch(true);
1604
1612
 
1605
1613
  // src/pcb/pcb_hole.ts
1606
- import { z as z95 } from "zod";
1607
- var pcb_hole_circle = z95.object({
1608
- type: z95.literal("pcb_hole"),
1614
+ import { z as z96 } from "zod";
1615
+ var pcb_hole_circle = z96.object({
1616
+ type: z96.literal("pcb_hole"),
1609
1617
  pcb_hole_id: getZodPrefixedIdWithDefault("pcb_hole"),
1610
- pcb_group_id: z95.string().optional(),
1611
- subcircuit_id: z95.string().optional(),
1612
- pcb_component_id: z95.string().optional(),
1613
- hole_shape: z95.literal("circle"),
1614
- hole_diameter: z95.number(),
1618
+ pcb_group_id: z96.string().optional(),
1619
+ subcircuit_id: z96.string().optional(),
1620
+ pcb_component_id: z96.string().optional(),
1621
+ hole_shape: z96.literal("circle"),
1622
+ hole_diameter: z96.number(),
1615
1623
  x: distance,
1616
1624
  y: distance,
1617
- is_covered_with_solder_mask: z95.boolean().optional(),
1618
- soldermask_margin: z95.number().optional()
1625
+ is_covered_with_solder_mask: z96.boolean().optional(),
1626
+ soldermask_margin: z96.number().optional()
1619
1627
  });
1620
1628
  var pcb_hole_circle_shape = pcb_hole_circle.describe(
1621
1629
  "Defines a circular hole on the PCB"
1622
1630
  );
1623
1631
  expectTypesMatch(true);
1624
- var pcb_hole_rect = z95.object({
1625
- type: z95.literal("pcb_hole"),
1632
+ var pcb_hole_rect = z96.object({
1633
+ type: z96.literal("pcb_hole"),
1626
1634
  pcb_hole_id: getZodPrefixedIdWithDefault("pcb_hole"),
1627
- pcb_group_id: z95.string().optional(),
1628
- subcircuit_id: z95.string().optional(),
1629
- pcb_component_id: z95.string().optional(),
1630
- hole_shape: z95.literal("rect"),
1631
- hole_width: z95.number(),
1632
- hole_height: z95.number(),
1635
+ pcb_group_id: z96.string().optional(),
1636
+ subcircuit_id: z96.string().optional(),
1637
+ pcb_component_id: z96.string().optional(),
1638
+ hole_shape: z96.literal("rect"),
1639
+ hole_width: z96.number(),
1640
+ hole_height: z96.number(),
1633
1641
  x: distance,
1634
1642
  y: distance,
1635
- is_covered_with_solder_mask: z95.boolean().optional(),
1636
- soldermask_margin: z95.number().optional()
1643
+ is_covered_with_solder_mask: z96.boolean().optional(),
1644
+ soldermask_margin: z96.number().optional()
1637
1645
  });
1638
1646
  var pcb_hole_rect_shape = pcb_hole_rect.describe(
1639
1647
  "Defines a rectangular (square-capable) hole on the PCB. Use equal width/height for square."
1640
1648
  );
1641
1649
  expectTypesMatch(true);
1642
- var pcb_hole_circle_or_square = z95.object({
1643
- type: z95.literal("pcb_hole"),
1650
+ var pcb_hole_circle_or_square = z96.object({
1651
+ type: z96.literal("pcb_hole"),
1644
1652
  pcb_hole_id: getZodPrefixedIdWithDefault("pcb_hole"),
1645
- pcb_group_id: z95.string().optional(),
1646
- subcircuit_id: z95.string().optional(),
1647
- pcb_component_id: z95.string().optional(),
1648
- hole_shape: z95.enum(["circle", "square"]),
1649
- hole_diameter: z95.number(),
1653
+ pcb_group_id: z96.string().optional(),
1654
+ subcircuit_id: z96.string().optional(),
1655
+ pcb_component_id: z96.string().optional(),
1656
+ hole_shape: z96.enum(["circle", "square"]),
1657
+ hole_diameter: z96.number(),
1650
1658
  x: distance,
1651
1659
  y: distance,
1652
- is_covered_with_solder_mask: z95.boolean().optional(),
1653
- soldermask_margin: z95.number().optional()
1660
+ is_covered_with_solder_mask: z96.boolean().optional(),
1661
+ soldermask_margin: z96.number().optional()
1654
1662
  });
1655
1663
  var pcb_hole_circle_or_square_shape = pcb_hole_circle_or_square.describe(
1656
1664
  "Defines a circular or square hole on the PCB"
1657
1665
  );
1658
1666
  expectTypesMatch(true);
1659
- var pcb_hole_oval = z95.object({
1660
- type: z95.literal("pcb_hole"),
1667
+ var pcb_hole_oval = z96.object({
1668
+ type: z96.literal("pcb_hole"),
1661
1669
  pcb_hole_id: getZodPrefixedIdWithDefault("pcb_hole"),
1662
- pcb_group_id: z95.string().optional(),
1663
- subcircuit_id: z95.string().optional(),
1664
- pcb_component_id: z95.string().optional(),
1665
- hole_shape: z95.literal("oval"),
1666
- hole_width: z95.number(),
1667
- hole_height: z95.number(),
1670
+ pcb_group_id: z96.string().optional(),
1671
+ subcircuit_id: z96.string().optional(),
1672
+ pcb_component_id: z96.string().optional(),
1673
+ hole_shape: z96.literal("oval"),
1674
+ hole_width: z96.number(),
1675
+ hole_height: z96.number(),
1668
1676
  x: distance,
1669
1677
  y: distance,
1670
- is_covered_with_solder_mask: z95.boolean().optional(),
1671
- soldermask_margin: z95.number().optional()
1678
+ is_covered_with_solder_mask: z96.boolean().optional(),
1679
+ soldermask_margin: z96.number().optional()
1672
1680
  });
1673
1681
  var pcb_hole_oval_shape = pcb_hole_oval.describe(
1674
1682
  "Defines an oval hole on the PCB"
1675
1683
  );
1676
1684
  expectTypesMatch(true);
1677
- var pcb_hole_pill = z95.object({
1678
- type: z95.literal("pcb_hole"),
1685
+ var pcb_hole_pill = z96.object({
1686
+ type: z96.literal("pcb_hole"),
1679
1687
  pcb_hole_id: getZodPrefixedIdWithDefault("pcb_hole"),
1680
- pcb_group_id: z95.string().optional(),
1681
- subcircuit_id: z95.string().optional(),
1682
- pcb_component_id: z95.string().optional(),
1683
- hole_shape: z95.literal("pill"),
1684
- hole_width: z95.number(),
1685
- hole_height: z95.number(),
1688
+ pcb_group_id: z96.string().optional(),
1689
+ subcircuit_id: z96.string().optional(),
1690
+ pcb_component_id: z96.string().optional(),
1691
+ hole_shape: z96.literal("pill"),
1692
+ hole_width: z96.number(),
1693
+ hole_height: z96.number(),
1686
1694
  x: distance,
1687
1695
  y: distance,
1688
- is_covered_with_solder_mask: z95.boolean().optional(),
1689
- soldermask_margin: z95.number().optional()
1696
+ is_covered_with_solder_mask: z96.boolean().optional(),
1697
+ soldermask_margin: z96.number().optional()
1690
1698
  });
1691
1699
  var pcb_hole_pill_shape = pcb_hole_pill.describe(
1692
1700
  "Defines a pill-shaped hole on the PCB"
1693
1701
  );
1694
1702
  expectTypesMatch(true);
1695
- var pcb_hole_rotated_pill = z95.object({
1696
- type: z95.literal("pcb_hole"),
1703
+ var pcb_hole_rotated_pill = z96.object({
1704
+ type: z96.literal("pcb_hole"),
1697
1705
  pcb_hole_id: getZodPrefixedIdWithDefault("pcb_hole"),
1698
- pcb_group_id: z95.string().optional(),
1699
- subcircuit_id: z95.string().optional(),
1700
- pcb_component_id: z95.string().optional(),
1701
- hole_shape: z95.literal("rotated_pill"),
1702
- hole_width: z95.number(),
1703
- hole_height: z95.number(),
1706
+ pcb_group_id: z96.string().optional(),
1707
+ subcircuit_id: z96.string().optional(),
1708
+ pcb_component_id: z96.string().optional(),
1709
+ hole_shape: z96.literal("rotated_pill"),
1710
+ hole_width: z96.number(),
1711
+ hole_height: z96.number(),
1704
1712
  x: distance,
1705
1713
  y: distance,
1706
1714
  ccw_rotation: rotation,
1707
- is_covered_with_solder_mask: z95.boolean().optional(),
1708
- soldermask_margin: z95.number().optional()
1715
+ is_covered_with_solder_mask: z96.boolean().optional(),
1716
+ soldermask_margin: z96.number().optional()
1709
1717
  });
1710
1718
  var pcb_hole_rotated_pill_shape = pcb_hole_rotated_pill.describe(
1711
1719
  "Defines a rotated pill-shaped hole on the PCB"
@@ -1714,147 +1722,147 @@ expectTypesMatch(true);
1714
1722
  var pcb_hole = pcb_hole_circle_or_square.or(pcb_hole_oval).or(pcb_hole_pill).or(pcb_hole_rotated_pill).or(pcb_hole_circle).or(pcb_hole_rect);
1715
1723
 
1716
1724
  // src/pcb/pcb_plated_hole.ts
1717
- import { z as z96 } from "zod";
1718
- var pcb_plated_hole_circle = z96.object({
1719
- type: z96.literal("pcb_plated_hole"),
1720
- shape: z96.literal("circle"),
1721
- pcb_group_id: z96.string().optional(),
1722
- subcircuit_id: z96.string().optional(),
1723
- outer_diameter: z96.number(),
1724
- hole_diameter: z96.number(),
1725
- is_covered_with_solder_mask: z96.boolean().optional(),
1725
+ import { z as z97 } from "zod";
1726
+ var pcb_plated_hole_circle = z97.object({
1727
+ type: z97.literal("pcb_plated_hole"),
1728
+ shape: z97.literal("circle"),
1729
+ pcb_group_id: z97.string().optional(),
1730
+ subcircuit_id: z97.string().optional(),
1731
+ outer_diameter: z97.number(),
1732
+ hole_diameter: z97.number(),
1733
+ is_covered_with_solder_mask: z97.boolean().optional(),
1726
1734
  x: distance,
1727
1735
  y: distance,
1728
- layers: z96.array(layer_ref),
1729
- port_hints: z96.array(z96.string()).optional(),
1730
- pcb_component_id: z96.string().optional(),
1731
- pcb_port_id: z96.string().optional(),
1736
+ layers: z97.array(layer_ref),
1737
+ port_hints: z97.array(z97.string()).optional(),
1738
+ pcb_component_id: z97.string().optional(),
1739
+ pcb_port_id: z97.string().optional(),
1732
1740
  pcb_plated_hole_id: getZodPrefixedIdWithDefault("pcb_plated_hole"),
1733
- soldermask_margin: z96.number().optional()
1741
+ soldermask_margin: z97.number().optional()
1734
1742
  });
1735
- var pcb_plated_hole_oval = z96.object({
1736
- type: z96.literal("pcb_plated_hole"),
1737
- shape: z96.enum(["oval", "pill"]),
1738
- pcb_group_id: z96.string().optional(),
1739
- subcircuit_id: z96.string().optional(),
1740
- outer_width: z96.number(),
1741
- outer_height: z96.number(),
1742
- hole_width: z96.number(),
1743
- hole_height: z96.number(),
1744
- is_covered_with_solder_mask: z96.boolean().optional(),
1743
+ var pcb_plated_hole_oval = z97.object({
1744
+ type: z97.literal("pcb_plated_hole"),
1745
+ shape: z97.enum(["oval", "pill"]),
1746
+ pcb_group_id: z97.string().optional(),
1747
+ subcircuit_id: z97.string().optional(),
1748
+ outer_width: z97.number(),
1749
+ outer_height: z97.number(),
1750
+ hole_width: z97.number(),
1751
+ hole_height: z97.number(),
1752
+ is_covered_with_solder_mask: z97.boolean().optional(),
1745
1753
  x: distance,
1746
1754
  y: distance,
1747
1755
  ccw_rotation: rotation,
1748
- layers: z96.array(layer_ref),
1749
- port_hints: z96.array(z96.string()).optional(),
1750
- pcb_component_id: z96.string().optional(),
1751
- pcb_port_id: z96.string().optional(),
1756
+ layers: z97.array(layer_ref),
1757
+ port_hints: z97.array(z97.string()).optional(),
1758
+ pcb_component_id: z97.string().optional(),
1759
+ pcb_port_id: z97.string().optional(),
1752
1760
  pcb_plated_hole_id: getZodPrefixedIdWithDefault("pcb_plated_hole"),
1753
- soldermask_margin: z96.number().optional()
1761
+ soldermask_margin: z97.number().optional()
1754
1762
  });
1755
- var pcb_circular_hole_with_rect_pad = z96.object({
1756
- type: z96.literal("pcb_plated_hole"),
1757
- shape: z96.literal("circular_hole_with_rect_pad"),
1758
- pcb_group_id: z96.string().optional(),
1759
- subcircuit_id: z96.string().optional(),
1760
- hole_shape: z96.literal("circle"),
1761
- pad_shape: z96.literal("rect"),
1762
- hole_diameter: z96.number(),
1763
- rect_pad_width: z96.number(),
1764
- rect_pad_height: z96.number(),
1765
- rect_border_radius: z96.number().optional(),
1763
+ var pcb_circular_hole_with_rect_pad = z97.object({
1764
+ type: z97.literal("pcb_plated_hole"),
1765
+ shape: z97.literal("circular_hole_with_rect_pad"),
1766
+ pcb_group_id: z97.string().optional(),
1767
+ subcircuit_id: z97.string().optional(),
1768
+ hole_shape: z97.literal("circle"),
1769
+ pad_shape: z97.literal("rect"),
1770
+ hole_diameter: z97.number(),
1771
+ rect_pad_width: z97.number(),
1772
+ rect_pad_height: z97.number(),
1773
+ rect_border_radius: z97.number().optional(),
1766
1774
  hole_offset_x: distance.default(0),
1767
1775
  hole_offset_y: distance.default(0),
1768
- is_covered_with_solder_mask: z96.boolean().optional(),
1776
+ is_covered_with_solder_mask: z97.boolean().optional(),
1769
1777
  x: distance,
1770
1778
  y: distance,
1771
- layers: z96.array(layer_ref),
1772
- port_hints: z96.array(z96.string()).optional(),
1773
- pcb_component_id: z96.string().optional(),
1774
- pcb_port_id: z96.string().optional(),
1779
+ layers: z97.array(layer_ref),
1780
+ port_hints: z97.array(z97.string()).optional(),
1781
+ pcb_component_id: z97.string().optional(),
1782
+ pcb_port_id: z97.string().optional(),
1775
1783
  pcb_plated_hole_id: getZodPrefixedIdWithDefault("pcb_plated_hole"),
1776
- soldermask_margin: z96.number().optional(),
1784
+ soldermask_margin: z97.number().optional(),
1777
1785
  rect_ccw_rotation: rotation.optional()
1778
1786
  });
1779
- var pcb_pill_hole_with_rect_pad = z96.object({
1780
- type: z96.literal("pcb_plated_hole"),
1781
- shape: z96.literal("pill_hole_with_rect_pad"),
1782
- pcb_group_id: z96.string().optional(),
1783
- subcircuit_id: z96.string().optional(),
1784
- hole_shape: z96.literal("pill"),
1785
- pad_shape: z96.literal("rect"),
1786
- hole_width: z96.number(),
1787
- hole_height: z96.number(),
1788
- rect_pad_width: z96.number(),
1789
- rect_pad_height: z96.number(),
1790
- rect_border_radius: z96.number().optional(),
1787
+ var pcb_pill_hole_with_rect_pad = z97.object({
1788
+ type: z97.literal("pcb_plated_hole"),
1789
+ shape: z97.literal("pill_hole_with_rect_pad"),
1790
+ pcb_group_id: z97.string().optional(),
1791
+ subcircuit_id: z97.string().optional(),
1792
+ hole_shape: z97.literal("pill"),
1793
+ pad_shape: z97.literal("rect"),
1794
+ hole_width: z97.number(),
1795
+ hole_height: z97.number(),
1796
+ rect_pad_width: z97.number(),
1797
+ rect_pad_height: z97.number(),
1798
+ rect_border_radius: z97.number().optional(),
1791
1799
  hole_offset_x: distance.default(0),
1792
1800
  hole_offset_y: distance.default(0),
1793
- is_covered_with_solder_mask: z96.boolean().optional(),
1801
+ is_covered_with_solder_mask: z97.boolean().optional(),
1794
1802
  x: distance,
1795
1803
  y: distance,
1796
- layers: z96.array(layer_ref),
1797
- port_hints: z96.array(z96.string()).optional(),
1798
- pcb_component_id: z96.string().optional(),
1799
- pcb_port_id: z96.string().optional(),
1804
+ layers: z97.array(layer_ref),
1805
+ port_hints: z97.array(z97.string()).optional(),
1806
+ pcb_component_id: z97.string().optional(),
1807
+ pcb_port_id: z97.string().optional(),
1800
1808
  pcb_plated_hole_id: getZodPrefixedIdWithDefault("pcb_plated_hole"),
1801
- soldermask_margin: z96.number().optional()
1809
+ soldermask_margin: z97.number().optional()
1802
1810
  });
1803
- var pcb_rotated_pill_hole_with_rect_pad = z96.object({
1804
- type: z96.literal("pcb_plated_hole"),
1805
- shape: z96.literal("rotated_pill_hole_with_rect_pad"),
1806
- pcb_group_id: z96.string().optional(),
1807
- subcircuit_id: z96.string().optional(),
1808
- hole_shape: z96.literal("rotated_pill"),
1809
- pad_shape: z96.literal("rect"),
1810
- hole_width: z96.number(),
1811
- hole_height: z96.number(),
1811
+ var pcb_rotated_pill_hole_with_rect_pad = z97.object({
1812
+ type: z97.literal("pcb_plated_hole"),
1813
+ shape: z97.literal("rotated_pill_hole_with_rect_pad"),
1814
+ pcb_group_id: z97.string().optional(),
1815
+ subcircuit_id: z97.string().optional(),
1816
+ hole_shape: z97.literal("rotated_pill"),
1817
+ pad_shape: z97.literal("rect"),
1818
+ hole_width: z97.number(),
1819
+ hole_height: z97.number(),
1812
1820
  hole_ccw_rotation: rotation,
1813
- rect_pad_width: z96.number(),
1814
- rect_pad_height: z96.number(),
1815
- rect_border_radius: z96.number().optional(),
1821
+ rect_pad_width: z97.number(),
1822
+ rect_pad_height: z97.number(),
1823
+ rect_border_radius: z97.number().optional(),
1816
1824
  rect_ccw_rotation: rotation,
1817
1825
  hole_offset_x: distance.default(0),
1818
1826
  hole_offset_y: distance.default(0),
1819
- is_covered_with_solder_mask: z96.boolean().optional(),
1827
+ is_covered_with_solder_mask: z97.boolean().optional(),
1820
1828
  x: distance,
1821
1829
  y: distance,
1822
- layers: z96.array(layer_ref),
1823
- port_hints: z96.array(z96.string()).optional(),
1824
- pcb_component_id: z96.string().optional(),
1825
- pcb_port_id: z96.string().optional(),
1830
+ layers: z97.array(layer_ref),
1831
+ port_hints: z97.array(z97.string()).optional(),
1832
+ pcb_component_id: z97.string().optional(),
1833
+ pcb_port_id: z97.string().optional(),
1826
1834
  pcb_plated_hole_id: getZodPrefixedIdWithDefault("pcb_plated_hole"),
1827
- soldermask_margin: z96.number().optional()
1835
+ soldermask_margin: z97.number().optional()
1828
1836
  });
1829
- var pcb_hole_with_polygon_pad = z96.object({
1830
- type: z96.literal("pcb_plated_hole"),
1831
- shape: z96.literal("hole_with_polygon_pad"),
1832
- pcb_group_id: z96.string().optional(),
1833
- subcircuit_id: z96.string().optional(),
1834
- hole_shape: z96.enum(["circle", "oval", "pill", "rotated_pill"]),
1835
- hole_diameter: z96.number().optional(),
1836
- hole_width: z96.number().optional(),
1837
- hole_height: z96.number().optional(),
1838
- pad_outline: z96.array(
1839
- z96.object({
1837
+ var pcb_hole_with_polygon_pad = z97.object({
1838
+ type: z97.literal("pcb_plated_hole"),
1839
+ shape: z97.literal("hole_with_polygon_pad"),
1840
+ pcb_group_id: z97.string().optional(),
1841
+ subcircuit_id: z97.string().optional(),
1842
+ hole_shape: z97.enum(["circle", "oval", "pill", "rotated_pill"]),
1843
+ hole_diameter: z97.number().optional(),
1844
+ hole_width: z97.number().optional(),
1845
+ hole_height: z97.number().optional(),
1846
+ pad_outline: z97.array(
1847
+ z97.object({
1840
1848
  x: distance,
1841
1849
  y: distance
1842
1850
  })
1843
1851
  ).min(3),
1844
1852
  hole_offset_x: distance.default(0),
1845
1853
  hole_offset_y: distance.default(0),
1846
- is_covered_with_solder_mask: z96.boolean().optional(),
1854
+ is_covered_with_solder_mask: z97.boolean().optional(),
1847
1855
  x: distance,
1848
1856
  y: distance,
1849
- layers: z96.array(layer_ref),
1850
- port_hints: z96.array(z96.string()).optional(),
1851
- pcb_component_id: z96.string().optional(),
1852
- pcb_port_id: z96.string().optional(),
1857
+ layers: z97.array(layer_ref),
1858
+ port_hints: z97.array(z97.string()).optional(),
1859
+ pcb_component_id: z97.string().optional(),
1860
+ pcb_port_id: z97.string().optional(),
1853
1861
  pcb_plated_hole_id: getZodPrefixedIdWithDefault("pcb_plated_hole"),
1854
- soldermask_margin: z96.number().optional(),
1862
+ soldermask_margin: z97.number().optional(),
1855
1863
  ccw_rotation: rotation.optional()
1856
1864
  });
1857
- var pcb_plated_hole = z96.union([
1865
+ var pcb_plated_hole = z97.union([
1858
1866
  pcb_plated_hole_circle,
1859
1867
  pcb_plated_hole_oval,
1860
1868
  pcb_circular_hole_with_rect_pad,
@@ -1872,138 +1880,138 @@ expectTypesMatch(true);
1872
1880
  expectTypesMatch(true);
1873
1881
 
1874
1882
  // src/pcb/pcb_port.ts
1875
- import { z as z97 } from "zod";
1876
- var pcb_port = z97.object({
1877
- type: z97.literal("pcb_port"),
1883
+ import { z as z98 } from "zod";
1884
+ var pcb_port = z98.object({
1885
+ type: z98.literal("pcb_port"),
1878
1886
  pcb_port_id: getZodPrefixedIdWithDefault("pcb_port"),
1879
- pcb_group_id: z97.string().optional(),
1880
- subcircuit_id: z97.string().optional(),
1881
- source_port_id: z97.string(),
1882
- pcb_component_id: z97.string().optional(),
1887
+ pcb_group_id: z98.string().optional(),
1888
+ subcircuit_id: z98.string().optional(),
1889
+ source_port_id: z98.string(),
1890
+ pcb_component_id: z98.string().optional(),
1883
1891
  x: distance,
1884
1892
  y: distance,
1885
- layers: z97.array(layer_ref),
1886
- is_board_pinout: z97.boolean().optional()
1893
+ layers: z98.array(layer_ref),
1894
+ is_board_pinout: z98.boolean().optional()
1887
1895
  }).describe("Defines a port on the PCB");
1888
1896
  expectTypesMatch(true);
1889
1897
 
1890
1898
  // src/pcb/pcb_smtpad.ts
1891
- import { z as z98 } from "zod";
1892
- var pcb_smtpad_circle = z98.object({
1893
- type: z98.literal("pcb_smtpad"),
1894
- shape: z98.literal("circle"),
1899
+ import { z as z99 } from "zod";
1900
+ var pcb_smtpad_circle = z99.object({
1901
+ type: z99.literal("pcb_smtpad"),
1902
+ shape: z99.literal("circle"),
1895
1903
  pcb_smtpad_id: getZodPrefixedIdWithDefault("pcb_smtpad"),
1896
- pcb_group_id: z98.string().optional(),
1897
- subcircuit_id: z98.string().optional(),
1904
+ pcb_group_id: z99.string().optional(),
1905
+ subcircuit_id: z99.string().optional(),
1898
1906
  x: distance,
1899
1907
  y: distance,
1900
- radius: z98.number(),
1908
+ radius: z99.number(),
1901
1909
  layer: layer_ref,
1902
- port_hints: z98.array(z98.string()).optional(),
1903
- pcb_component_id: z98.string().optional(),
1904
- pcb_port_id: z98.string().optional(),
1905
- is_covered_with_solder_mask: z98.boolean().optional(),
1906
- soldermask_margin: z98.number().optional()
1910
+ port_hints: z99.array(z99.string()).optional(),
1911
+ pcb_component_id: z99.string().optional(),
1912
+ pcb_port_id: z99.string().optional(),
1913
+ is_covered_with_solder_mask: z99.boolean().optional(),
1914
+ soldermask_margin: z99.number().optional()
1907
1915
  });
1908
- var pcb_smtpad_rect = z98.object({
1909
- type: z98.literal("pcb_smtpad"),
1910
- shape: z98.literal("rect"),
1916
+ var pcb_smtpad_rect = z99.object({
1917
+ type: z99.literal("pcb_smtpad"),
1918
+ shape: z99.literal("rect"),
1911
1919
  pcb_smtpad_id: getZodPrefixedIdWithDefault("pcb_smtpad"),
1912
- pcb_group_id: z98.string().optional(),
1913
- subcircuit_id: z98.string().optional(),
1920
+ pcb_group_id: z99.string().optional(),
1921
+ subcircuit_id: z99.string().optional(),
1914
1922
  x: distance,
1915
1923
  y: distance,
1916
- width: z98.number(),
1917
- height: z98.number(),
1918
- rect_border_radius: z98.number().optional(),
1919
- corner_radius: z98.number().optional(),
1924
+ width: z99.number(),
1925
+ height: z99.number(),
1926
+ rect_border_radius: z99.number().optional(),
1927
+ corner_radius: z99.number().optional(),
1920
1928
  layer: layer_ref,
1921
- port_hints: z98.array(z98.string()).optional(),
1922
- pcb_component_id: z98.string().optional(),
1923
- pcb_port_id: z98.string().optional(),
1924
- is_covered_with_solder_mask: z98.boolean().optional(),
1925
- soldermask_margin: z98.number().optional(),
1926
- soldermask_margin_left: z98.number().optional(),
1927
- soldermask_margin_top: z98.number().optional(),
1928
- soldermask_margin_right: z98.number().optional(),
1929
- soldermask_margin_bottom: z98.number().optional()
1929
+ port_hints: z99.array(z99.string()).optional(),
1930
+ pcb_component_id: z99.string().optional(),
1931
+ pcb_port_id: z99.string().optional(),
1932
+ is_covered_with_solder_mask: z99.boolean().optional(),
1933
+ soldermask_margin: z99.number().optional(),
1934
+ soldermask_margin_left: z99.number().optional(),
1935
+ soldermask_margin_top: z99.number().optional(),
1936
+ soldermask_margin_right: z99.number().optional(),
1937
+ soldermask_margin_bottom: z99.number().optional()
1930
1938
  });
1931
- var pcb_smtpad_rotated_rect = z98.object({
1932
- type: z98.literal("pcb_smtpad"),
1933
- shape: z98.literal("rotated_rect"),
1939
+ var pcb_smtpad_rotated_rect = z99.object({
1940
+ type: z99.literal("pcb_smtpad"),
1941
+ shape: z99.literal("rotated_rect"),
1934
1942
  pcb_smtpad_id: getZodPrefixedIdWithDefault("pcb_smtpad"),
1935
- pcb_group_id: z98.string().optional(),
1936
- subcircuit_id: z98.string().optional(),
1943
+ pcb_group_id: z99.string().optional(),
1944
+ subcircuit_id: z99.string().optional(),
1937
1945
  x: distance,
1938
1946
  y: distance,
1939
- width: z98.number(),
1940
- height: z98.number(),
1941
- rect_border_radius: z98.number().optional(),
1942
- corner_radius: z98.number().optional(),
1947
+ width: z99.number(),
1948
+ height: z99.number(),
1949
+ rect_border_radius: z99.number().optional(),
1950
+ corner_radius: z99.number().optional(),
1943
1951
  ccw_rotation: rotation,
1944
1952
  layer: layer_ref,
1945
- port_hints: z98.array(z98.string()).optional(),
1946
- pcb_component_id: z98.string().optional(),
1947
- pcb_port_id: z98.string().optional(),
1948
- is_covered_with_solder_mask: z98.boolean().optional(),
1949
- soldermask_margin: z98.number().optional(),
1950
- soldermask_margin_left: z98.number().optional(),
1951
- soldermask_margin_top: z98.number().optional(),
1952
- soldermask_margin_right: z98.number().optional(),
1953
- soldermask_margin_bottom: z98.number().optional()
1953
+ port_hints: z99.array(z99.string()).optional(),
1954
+ pcb_component_id: z99.string().optional(),
1955
+ pcb_port_id: z99.string().optional(),
1956
+ is_covered_with_solder_mask: z99.boolean().optional(),
1957
+ soldermask_margin: z99.number().optional(),
1958
+ soldermask_margin_left: z99.number().optional(),
1959
+ soldermask_margin_top: z99.number().optional(),
1960
+ soldermask_margin_right: z99.number().optional(),
1961
+ soldermask_margin_bottom: z99.number().optional()
1954
1962
  });
1955
- var pcb_smtpad_pill = z98.object({
1956
- type: z98.literal("pcb_smtpad"),
1957
- shape: z98.literal("pill"),
1963
+ var pcb_smtpad_pill = z99.object({
1964
+ type: z99.literal("pcb_smtpad"),
1965
+ shape: z99.literal("pill"),
1958
1966
  pcb_smtpad_id: getZodPrefixedIdWithDefault("pcb_smtpad"),
1959
- pcb_group_id: z98.string().optional(),
1960
- subcircuit_id: z98.string().optional(),
1967
+ pcb_group_id: z99.string().optional(),
1968
+ subcircuit_id: z99.string().optional(),
1961
1969
  x: distance,
1962
1970
  y: distance,
1963
- width: z98.number(),
1964
- height: z98.number(),
1965
- radius: z98.number(),
1971
+ width: z99.number(),
1972
+ height: z99.number(),
1973
+ radius: z99.number(),
1966
1974
  layer: layer_ref,
1967
- port_hints: z98.array(z98.string()).optional(),
1968
- pcb_component_id: z98.string().optional(),
1969
- pcb_port_id: z98.string().optional(),
1970
- is_covered_with_solder_mask: z98.boolean().optional(),
1971
- soldermask_margin: z98.number().optional()
1975
+ port_hints: z99.array(z99.string()).optional(),
1976
+ pcb_component_id: z99.string().optional(),
1977
+ pcb_port_id: z99.string().optional(),
1978
+ is_covered_with_solder_mask: z99.boolean().optional(),
1979
+ soldermask_margin: z99.number().optional()
1972
1980
  });
1973
- var pcb_smtpad_rotated_pill = z98.object({
1974
- type: z98.literal("pcb_smtpad"),
1975
- shape: z98.literal("rotated_pill"),
1981
+ var pcb_smtpad_rotated_pill = z99.object({
1982
+ type: z99.literal("pcb_smtpad"),
1983
+ shape: z99.literal("rotated_pill"),
1976
1984
  pcb_smtpad_id: getZodPrefixedIdWithDefault("pcb_smtpad"),
1977
- pcb_group_id: z98.string().optional(),
1978
- subcircuit_id: z98.string().optional(),
1985
+ pcb_group_id: z99.string().optional(),
1986
+ subcircuit_id: z99.string().optional(),
1979
1987
  x: distance,
1980
1988
  y: distance,
1981
- width: z98.number(),
1982
- height: z98.number(),
1983
- radius: z98.number(),
1989
+ width: z99.number(),
1990
+ height: z99.number(),
1991
+ radius: z99.number(),
1984
1992
  ccw_rotation: rotation,
1985
1993
  layer: layer_ref,
1986
- port_hints: z98.array(z98.string()).optional(),
1987
- pcb_component_id: z98.string().optional(),
1988
- pcb_port_id: z98.string().optional(),
1989
- is_covered_with_solder_mask: z98.boolean().optional(),
1990
- soldermask_margin: z98.number().optional()
1994
+ port_hints: z99.array(z99.string()).optional(),
1995
+ pcb_component_id: z99.string().optional(),
1996
+ pcb_port_id: z99.string().optional(),
1997
+ is_covered_with_solder_mask: z99.boolean().optional(),
1998
+ soldermask_margin: z99.number().optional()
1991
1999
  });
1992
- var pcb_smtpad_polygon = z98.object({
1993
- type: z98.literal("pcb_smtpad"),
1994
- shape: z98.literal("polygon"),
2000
+ var pcb_smtpad_polygon = z99.object({
2001
+ type: z99.literal("pcb_smtpad"),
2002
+ shape: z99.literal("polygon"),
1995
2003
  pcb_smtpad_id: getZodPrefixedIdWithDefault("pcb_smtpad"),
1996
- pcb_group_id: z98.string().optional(),
1997
- subcircuit_id: z98.string().optional(),
1998
- points: z98.array(point),
2004
+ pcb_group_id: z99.string().optional(),
2005
+ subcircuit_id: z99.string().optional(),
2006
+ points: z99.array(point),
1999
2007
  layer: layer_ref,
2000
- port_hints: z98.array(z98.string()).optional(),
2001
- pcb_component_id: z98.string().optional(),
2002
- pcb_port_id: z98.string().optional(),
2003
- is_covered_with_solder_mask: z98.boolean().optional(),
2004
- soldermask_margin: z98.number().optional()
2008
+ port_hints: z99.array(z99.string()).optional(),
2009
+ pcb_component_id: z99.string().optional(),
2010
+ pcb_port_id: z99.string().optional(),
2011
+ is_covered_with_solder_mask: z99.boolean().optional(),
2012
+ soldermask_margin: z99.number().optional()
2005
2013
  });
2006
- var pcb_smtpad = z98.discriminatedUnion("shape", [
2014
+ var pcb_smtpad = z99.discriminatedUnion("shape", [
2007
2015
  pcb_smtpad_circle,
2008
2016
  pcb_smtpad_rect,
2009
2017
  pcb_smtpad_rotated_rect,
@@ -2019,79 +2027,79 @@ expectTypesMatch(true);
2019
2027
  expectTypesMatch(true);
2020
2028
 
2021
2029
  // src/pcb/pcb_solder_paste.ts
2022
- import { z as z99 } from "zod";
2023
- var pcb_solder_paste_circle = z99.object({
2024
- type: z99.literal("pcb_solder_paste"),
2025
- shape: z99.literal("circle"),
2030
+ import { z as z100 } from "zod";
2031
+ var pcb_solder_paste_circle = z100.object({
2032
+ type: z100.literal("pcb_solder_paste"),
2033
+ shape: z100.literal("circle"),
2026
2034
  pcb_solder_paste_id: getZodPrefixedIdWithDefault("pcb_solder_paste"),
2027
- pcb_group_id: z99.string().optional(),
2028
- subcircuit_id: z99.string().optional(),
2035
+ pcb_group_id: z100.string().optional(),
2036
+ subcircuit_id: z100.string().optional(),
2029
2037
  x: distance,
2030
2038
  y: distance,
2031
- radius: z99.number(),
2039
+ radius: z100.number(),
2032
2040
  layer: layer_ref,
2033
- pcb_component_id: z99.string().optional(),
2034
- pcb_smtpad_id: z99.string().optional()
2041
+ pcb_component_id: z100.string().optional(),
2042
+ pcb_smtpad_id: z100.string().optional()
2035
2043
  });
2036
- var pcb_solder_paste_rect = z99.object({
2037
- type: z99.literal("pcb_solder_paste"),
2038
- shape: z99.literal("rect"),
2044
+ var pcb_solder_paste_rect = z100.object({
2045
+ type: z100.literal("pcb_solder_paste"),
2046
+ shape: z100.literal("rect"),
2039
2047
  pcb_solder_paste_id: getZodPrefixedIdWithDefault("pcb_solder_paste"),
2040
- pcb_group_id: z99.string().optional(),
2041
- subcircuit_id: z99.string().optional(),
2048
+ pcb_group_id: z100.string().optional(),
2049
+ subcircuit_id: z100.string().optional(),
2042
2050
  x: distance,
2043
2051
  y: distance,
2044
- width: z99.number(),
2045
- height: z99.number(),
2052
+ width: z100.number(),
2053
+ height: z100.number(),
2046
2054
  layer: layer_ref,
2047
- pcb_component_id: z99.string().optional(),
2048
- pcb_smtpad_id: z99.string().optional()
2055
+ pcb_component_id: z100.string().optional(),
2056
+ pcb_smtpad_id: z100.string().optional()
2049
2057
  });
2050
- var pcb_solder_paste_pill = z99.object({
2051
- type: z99.literal("pcb_solder_paste"),
2052
- shape: z99.literal("pill"),
2058
+ var pcb_solder_paste_pill = z100.object({
2059
+ type: z100.literal("pcb_solder_paste"),
2060
+ shape: z100.literal("pill"),
2053
2061
  pcb_solder_paste_id: getZodPrefixedIdWithDefault("pcb_solder_paste"),
2054
- pcb_group_id: z99.string().optional(),
2055
- subcircuit_id: z99.string().optional(),
2062
+ pcb_group_id: z100.string().optional(),
2063
+ subcircuit_id: z100.string().optional(),
2056
2064
  x: distance,
2057
2065
  y: distance,
2058
- width: z99.number(),
2059
- height: z99.number(),
2060
- radius: z99.number(),
2066
+ width: z100.number(),
2067
+ height: z100.number(),
2068
+ radius: z100.number(),
2061
2069
  layer: layer_ref,
2062
- pcb_component_id: z99.string().optional(),
2063
- pcb_smtpad_id: z99.string().optional()
2070
+ pcb_component_id: z100.string().optional(),
2071
+ pcb_smtpad_id: z100.string().optional()
2064
2072
  });
2065
- var pcb_solder_paste_rotated_rect = z99.object({
2066
- type: z99.literal("pcb_solder_paste"),
2067
- shape: z99.literal("rotated_rect"),
2073
+ var pcb_solder_paste_rotated_rect = z100.object({
2074
+ type: z100.literal("pcb_solder_paste"),
2075
+ shape: z100.literal("rotated_rect"),
2068
2076
  pcb_solder_paste_id: getZodPrefixedIdWithDefault("pcb_solder_paste"),
2069
- pcb_group_id: z99.string().optional(),
2070
- subcircuit_id: z99.string().optional(),
2077
+ pcb_group_id: z100.string().optional(),
2078
+ subcircuit_id: z100.string().optional(),
2071
2079
  x: distance,
2072
2080
  y: distance,
2073
- width: z99.number(),
2074
- height: z99.number(),
2081
+ width: z100.number(),
2082
+ height: z100.number(),
2075
2083
  ccw_rotation: distance,
2076
2084
  layer: layer_ref,
2077
- pcb_component_id: z99.string().optional(),
2078
- pcb_smtpad_id: z99.string().optional()
2085
+ pcb_component_id: z100.string().optional(),
2086
+ pcb_smtpad_id: z100.string().optional()
2079
2087
  });
2080
- var pcb_solder_paste_oval = z99.object({
2081
- type: z99.literal("pcb_solder_paste"),
2082
- shape: z99.literal("oval"),
2088
+ var pcb_solder_paste_oval = z100.object({
2089
+ type: z100.literal("pcb_solder_paste"),
2090
+ shape: z100.literal("oval"),
2083
2091
  pcb_solder_paste_id: getZodPrefixedIdWithDefault("pcb_solder_paste"),
2084
- pcb_group_id: z99.string().optional(),
2085
- subcircuit_id: z99.string().optional(),
2092
+ pcb_group_id: z100.string().optional(),
2093
+ subcircuit_id: z100.string().optional(),
2086
2094
  x: distance,
2087
2095
  y: distance,
2088
- width: z99.number(),
2089
- height: z99.number(),
2096
+ width: z100.number(),
2097
+ height: z100.number(),
2090
2098
  layer: layer_ref,
2091
- pcb_component_id: z99.string().optional(),
2092
- pcb_smtpad_id: z99.string().optional()
2099
+ pcb_component_id: z100.string().optional(),
2100
+ pcb_smtpad_id: z100.string().optional()
2093
2101
  });
2094
- var pcb_solder_paste = z99.union([
2102
+ var pcb_solder_paste = z100.union([
2095
2103
  pcb_solder_paste_circle,
2096
2104
  pcb_solder_paste_rect,
2097
2105
  pcb_solder_paste_pill,
@@ -2107,173 +2115,173 @@ expectTypesMatch(
2107
2115
  expectTypesMatch(true);
2108
2116
 
2109
2117
  // src/pcb/pcb_text.ts
2110
- import { z as z100 } from "zod";
2111
- var pcb_text = z100.object({
2112
- type: z100.literal("pcb_text"),
2118
+ import { z as z101 } from "zod";
2119
+ var pcb_text = z101.object({
2120
+ type: z101.literal("pcb_text"),
2113
2121
  pcb_text_id: getZodPrefixedIdWithDefault("pcb_text"),
2114
- pcb_group_id: z100.string().optional(),
2115
- subcircuit_id: z100.string().optional(),
2116
- text: z100.string(),
2122
+ pcb_group_id: z101.string().optional(),
2123
+ subcircuit_id: z101.string().optional(),
2124
+ text: z101.string(),
2117
2125
  center: point,
2118
2126
  layer: layer_ref,
2119
2127
  width: length,
2120
2128
  height: length,
2121
- lines: z100.number(),
2129
+ lines: z101.number(),
2122
2130
  // @ts-ignore
2123
- align: z100.enum(["bottom-left"])
2131
+ align: z101.enum(["bottom-left"])
2124
2132
  }).describe("Defines text on the PCB");
2125
2133
  expectTypesMatch(true);
2126
2134
 
2127
2135
  // src/pcb/pcb_trace.ts
2128
- import { z as z101 } from "zod";
2129
- var pcb_trace_route_point_wire = z101.object({
2130
- route_type: z101.literal("wire"),
2136
+ import { z as z102 } from "zod";
2137
+ var pcb_trace_route_point_wire = z102.object({
2138
+ route_type: z102.literal("wire"),
2131
2139
  x: distance,
2132
2140
  y: distance,
2133
2141
  width: distance,
2134
- copper_pour_id: z101.string().optional(),
2135
- is_inside_copper_pour: z101.boolean().optional(),
2136
- start_pcb_port_id: z101.string().optional(),
2137
- end_pcb_port_id: z101.string().optional(),
2142
+ copper_pour_id: z102.string().optional(),
2143
+ is_inside_copper_pour: z102.boolean().optional(),
2144
+ start_pcb_port_id: z102.string().optional(),
2145
+ end_pcb_port_id: z102.string().optional(),
2138
2146
  layer: layer_ref
2139
2147
  });
2140
- var pcb_trace_route_point_via = z101.object({
2141
- route_type: z101.literal("via"),
2148
+ var pcb_trace_route_point_via = z102.object({
2149
+ route_type: z102.literal("via"),
2142
2150
  x: distance,
2143
2151
  y: distance,
2144
- copper_pour_id: z101.string().optional(),
2145
- is_inside_copper_pour: z101.boolean().optional(),
2152
+ copper_pour_id: z102.string().optional(),
2153
+ is_inside_copper_pour: z102.boolean().optional(),
2146
2154
  hole_diameter: distance.optional(),
2147
2155
  outer_diameter: distance.optional(),
2148
2156
  from_layer: layer_ref,
2149
2157
  to_layer: layer_ref
2150
2158
  });
2151
- var pcb_trace_route_point_through_pad = z101.object({
2152
- route_type: z101.literal("through_pad"),
2159
+ var pcb_trace_route_point_through_pad = z102.object({
2160
+ route_type: z102.literal("through_pad"),
2153
2161
  start: point,
2154
2162
  end: point,
2155
2163
  width: distance,
2156
2164
  start_layer: layer_ref,
2157
2165
  end_layer: layer_ref,
2158
- pcb_smtpad_id: z101.string().optional(),
2159
- pcb_plated_hole_id: z101.string().optional()
2166
+ pcb_smtpad_id: z102.string().optional(),
2167
+ pcb_plated_hole_id: z102.string().optional()
2160
2168
  });
2161
- var pcb_trace_route_point = z101.union([
2169
+ var pcb_trace_route_point = z102.union([
2162
2170
  pcb_trace_route_point_wire,
2163
2171
  pcb_trace_route_point_via,
2164
2172
  pcb_trace_route_point_through_pad
2165
2173
  ]);
2166
- var pcb_trace = z101.object({
2167
- type: z101.literal("pcb_trace"),
2168
- source_trace_id: z101.string().optional(),
2169
- pcb_component_id: z101.string().optional(),
2174
+ var pcb_trace = z102.object({
2175
+ type: z102.literal("pcb_trace"),
2176
+ source_trace_id: z102.string().optional(),
2177
+ pcb_component_id: z102.string().optional(),
2170
2178
  pcb_trace_id: getZodPrefixedIdWithDefault("pcb_trace"),
2171
- pcb_group_id: z101.string().optional(),
2172
- subcircuit_id: z101.string().optional(),
2173
- route_thickness_mode: z101.enum(["constant", "interpolated"]).default("constant").optional(),
2174
- route_order_index: z101.number().optional(),
2175
- should_round_corners: z101.boolean().optional(),
2176
- trace_length: z101.number().optional(),
2177
- highlight_color: z101.string().optional(),
2178
- route: z101.array(pcb_trace_route_point)
2179
+ pcb_group_id: z102.string().optional(),
2180
+ subcircuit_id: z102.string().optional(),
2181
+ route_thickness_mode: z102.enum(["constant", "interpolated"]).default("constant").optional(),
2182
+ route_order_index: z102.number().optional(),
2183
+ should_round_corners: z102.boolean().optional(),
2184
+ trace_length: z102.number().optional(),
2185
+ highlight_color: z102.string().optional(),
2186
+ route: z102.array(pcb_trace_route_point)
2179
2187
  }).describe("Defines a trace on the PCB");
2180
2188
  expectTypesMatch(true);
2181
2189
  expectTypesMatch(true);
2182
2190
 
2183
2191
  // src/pcb/pcb_trace_warning.ts
2184
- import { z as z102 } from "zod";
2185
- var pcb_trace_warning = z102.object({
2186
- type: z102.literal("pcb_trace_warning"),
2192
+ import { z as z103 } from "zod";
2193
+ var pcb_trace_warning = z103.object({
2194
+ type: z103.literal("pcb_trace_warning"),
2187
2195
  pcb_trace_warning_id: getZodPrefixedIdWithDefault("pcb_trace_warning"),
2188
- warning_type: z102.literal("pcb_trace_warning").default("pcb_trace_warning"),
2189
- message: z102.string(),
2196
+ warning_type: z103.literal("pcb_trace_warning").default("pcb_trace_warning"),
2197
+ message: z103.string(),
2190
2198
  center: point.optional(),
2191
- pcb_trace_id: z102.string(),
2192
- source_trace_id: z102.string(),
2193
- pcb_component_ids: z102.array(z102.string()),
2194
- pcb_port_ids: z102.array(z102.string()),
2195
- subcircuit_id: z102.string().optional()
2199
+ pcb_trace_id: z103.string(),
2200
+ source_trace_id: z103.string(),
2201
+ pcb_component_ids: z103.array(z103.string()),
2202
+ pcb_port_ids: z103.array(z103.string()),
2203
+ subcircuit_id: z103.string().optional()
2196
2204
  }).describe("Defines a trace warning on the PCB");
2197
2205
  expectTypesMatch(true);
2198
2206
 
2199
2207
  // src/pcb/pcb_trace_error.ts
2200
- import { z as z103 } from "zod";
2208
+ import { z as z104 } from "zod";
2201
2209
  var pcb_trace_error = base_circuit_json_error.extend({
2202
- type: z103.literal("pcb_trace_error"),
2210
+ type: z104.literal("pcb_trace_error"),
2203
2211
  pcb_trace_error_id: getZodPrefixedIdWithDefault("pcb_trace_error"),
2204
- error_type: z103.literal("pcb_trace_error").default("pcb_trace_error"),
2212
+ error_type: z104.literal("pcb_trace_error").default("pcb_trace_error"),
2205
2213
  center: point.optional(),
2206
- pcb_trace_id: z103.string(),
2207
- source_trace_id: z103.string(),
2208
- pcb_component_ids: z103.array(z103.string()),
2209
- pcb_port_ids: z103.array(z103.string()),
2210
- subcircuit_id: z103.string().optional()
2214
+ pcb_trace_id: z104.string(),
2215
+ source_trace_id: z104.string(),
2216
+ pcb_component_ids: z104.array(z104.string()),
2217
+ pcb_port_ids: z104.array(z104.string()),
2218
+ subcircuit_id: z104.string().optional()
2211
2219
  }).describe("Defines a trace error on the PCB");
2212
2220
  expectTypesMatch(true);
2213
2221
 
2214
2222
  // src/pcb/pcb_trace_missing_error.ts
2215
- import { z as z104 } from "zod";
2223
+ import { z as z105 } from "zod";
2216
2224
  var pcb_trace_missing_error = base_circuit_json_error.extend({
2217
- type: z104.literal("pcb_trace_missing_error"),
2225
+ type: z105.literal("pcb_trace_missing_error"),
2218
2226
  pcb_trace_missing_error_id: getZodPrefixedIdWithDefault(
2219
2227
  "pcb_trace_missing_error"
2220
2228
  ),
2221
- error_type: z104.literal("pcb_trace_missing_error").default("pcb_trace_missing_error"),
2229
+ error_type: z105.literal("pcb_trace_missing_error").default("pcb_trace_missing_error"),
2222
2230
  center: point.optional(),
2223
- source_trace_id: z104.string(),
2224
- pcb_component_ids: z104.array(z104.string()),
2225
- pcb_port_ids: z104.array(z104.string()),
2226
- subcircuit_id: z104.string().optional()
2231
+ source_trace_id: z105.string(),
2232
+ pcb_component_ids: z105.array(z105.string()),
2233
+ pcb_port_ids: z105.array(z105.string()),
2234
+ subcircuit_id: z105.string().optional()
2227
2235
  }).describe(
2228
2236
  "Defines an error when a source trace has no corresponding PCB trace"
2229
2237
  );
2230
2238
  expectTypesMatch(true);
2231
2239
 
2232
2240
  // src/pcb/pcb_port_not_matched_error.ts
2233
- import { z as z105 } from "zod";
2241
+ import { z as z106 } from "zod";
2234
2242
  var pcb_port_not_matched_error = base_circuit_json_error.extend({
2235
- type: z105.literal("pcb_port_not_matched_error"),
2243
+ type: z106.literal("pcb_port_not_matched_error"),
2236
2244
  pcb_error_id: getZodPrefixedIdWithDefault("pcb_error"),
2237
- error_type: z105.literal("pcb_port_not_matched_error").default("pcb_port_not_matched_error"),
2238
- pcb_component_ids: z105.array(z105.string()),
2239
- subcircuit_id: z105.string().optional()
2245
+ error_type: z106.literal("pcb_port_not_matched_error").default("pcb_port_not_matched_error"),
2246
+ pcb_component_ids: z106.array(z106.string()),
2247
+ subcircuit_id: z106.string().optional()
2240
2248
  }).describe("Defines a trace error on the PCB where a port is not matched");
2241
2249
  expectTypesMatch(true);
2242
2250
 
2243
2251
  // src/pcb/pcb_port_not_connected_error.ts
2244
- import { z as z106 } from "zod";
2252
+ import { z as z107 } from "zod";
2245
2253
  var pcb_port_not_connected_error = base_circuit_json_error.extend({
2246
- type: z106.literal("pcb_port_not_connected_error"),
2254
+ type: z107.literal("pcb_port_not_connected_error"),
2247
2255
  pcb_port_not_connected_error_id: getZodPrefixedIdWithDefault(
2248
2256
  "pcb_port_not_connected_error"
2249
2257
  ),
2250
- error_type: z106.literal("pcb_port_not_connected_error").default("pcb_port_not_connected_error"),
2251
- pcb_port_ids: z106.array(z106.string()),
2252
- pcb_component_ids: z106.array(z106.string()),
2253
- subcircuit_id: z106.string().optional()
2258
+ error_type: z107.literal("pcb_port_not_connected_error").default("pcb_port_not_connected_error"),
2259
+ pcb_port_ids: z107.array(z107.string()),
2260
+ pcb_component_ids: z107.array(z107.string()),
2261
+ subcircuit_id: z107.string().optional()
2254
2262
  }).describe("Defines an error when a pcb port is not connected to any trace");
2255
2263
  expectTypesMatch(
2256
2264
  true
2257
2265
  );
2258
2266
 
2259
2267
  // src/pcb/pcb_net.ts
2260
- import { z as z107 } from "zod";
2261
- var pcb_net = z107.object({
2262
- type: z107.literal("pcb_net"),
2268
+ import { z as z108 } from "zod";
2269
+ var pcb_net = z108.object({
2270
+ type: z108.literal("pcb_net"),
2263
2271
  pcb_net_id: getZodPrefixedIdWithDefault("pcb_net"),
2264
- source_net_id: z107.string().optional(),
2265
- highlight_color: z107.string().optional()
2272
+ source_net_id: z108.string().optional(),
2273
+ highlight_color: z108.string().optional()
2266
2274
  }).describe("Defines a net on the PCB");
2267
2275
  expectTypesMatch(true);
2268
2276
 
2269
2277
  // src/pcb/pcb_via.ts
2270
- import { z as z108 } from "zod";
2271
- var pcb_via = z108.object({
2272
- type: z108.literal("pcb_via"),
2278
+ import { z as z109 } from "zod";
2279
+ var pcb_via = z109.object({
2280
+ type: z109.literal("pcb_via"),
2273
2281
  pcb_via_id: getZodPrefixedIdWithDefault("pcb_via"),
2274
- pcb_group_id: z108.string().optional(),
2275
- subcircuit_id: z108.string().optional(),
2276
- subcircuit_connectivity_map_key: z108.string().optional(),
2282
+ pcb_group_id: z109.string().optional(),
2283
+ subcircuit_id: z109.string().optional(),
2284
+ subcircuit_connectivity_map_key: z109.string().optional(),
2277
2285
  x: distance,
2278
2286
  y: distance,
2279
2287
  outer_diameter: distance.default("0.6mm"),
@@ -2282,103 +2290,103 @@ var pcb_via = z108.object({
2282
2290
  from_layer: layer_ref.optional(),
2283
2291
  /** @deprecated */
2284
2292
  to_layer: layer_ref.optional(),
2285
- layers: z108.array(layer_ref),
2286
- pcb_trace_id: z108.string().optional(),
2287
- net_is_assignable: z108.boolean().optional(),
2288
- net_assigned: z108.boolean().optional(),
2289
- is_tented: z108.boolean().optional()
2293
+ layers: z109.array(layer_ref),
2294
+ pcb_trace_id: z109.string().optional(),
2295
+ net_is_assignable: z109.boolean().optional(),
2296
+ net_assigned: z109.boolean().optional(),
2297
+ is_tented: z109.boolean().optional()
2290
2298
  }).describe("Defines a via on the PCB");
2291
2299
  expectTypesMatch(true);
2292
2300
 
2293
2301
  // src/pcb/pcb_board.ts
2294
- import { z as z109 } from "zod";
2295
- var pcb_board = z109.object({
2296
- type: z109.literal("pcb_board"),
2302
+ import { z as z110 } from "zod";
2303
+ var pcb_board = z110.object({
2304
+ type: z110.literal("pcb_board"),
2297
2305
  pcb_board_id: getZodPrefixedIdWithDefault("pcb_board"),
2298
- pcb_panel_id: z109.string().optional(),
2299
- carrier_pcb_board_id: z109.string().optional(),
2300
- is_subcircuit: z109.boolean().optional(),
2301
- subcircuit_id: z109.string().optional(),
2302
- is_mounted_to_carrier_board: z109.boolean().optional(),
2306
+ pcb_panel_id: z110.string().optional(),
2307
+ carrier_pcb_board_id: z110.string().optional(),
2308
+ is_subcircuit: z110.boolean().optional(),
2309
+ subcircuit_id: z110.string().optional(),
2310
+ is_mounted_to_carrier_board: z110.boolean().optional(),
2303
2311
  width: length.optional(),
2304
2312
  height: length.optional(),
2305
2313
  center: point,
2306
- display_offset_x: z109.string().optional().describe(
2314
+ display_offset_x: z110.string().optional().describe(
2307
2315
  "How to display the x offset for this board, usually corresponding with how the user specified it"
2308
2316
  ),
2309
- display_offset_y: z109.string().optional().describe(
2317
+ display_offset_y: z110.string().optional().describe(
2310
2318
  "How to display the y offset for this board, usually corresponding with how the user specified it"
2311
2319
  ),
2312
2320
  thickness: length.optional().default(1.4),
2313
- num_layers: z109.number().optional().default(4),
2314
- outline: z109.array(point).optional(),
2315
- shape: z109.enum(["rect", "polygon"]).optional(),
2316
- material: z109.enum(["fr4", "fr1"]).default("fr4"),
2317
- solder_mask_color: z109.string().optional(),
2318
- silkscreen_color: z109.string().optional(),
2321
+ num_layers: z110.number().optional().default(4),
2322
+ outline: z110.array(point).optional(),
2323
+ shape: z110.enum(["rect", "polygon"]).optional(),
2324
+ material: z110.enum(["fr4", "fr1"]).default("fr4"),
2325
+ solder_mask_color: z110.string().optional(),
2326
+ silkscreen_color: z110.string().optional(),
2319
2327
  anchor_position: point.optional(),
2320
2328
  anchor_alignment: ninePointAnchor.optional(),
2321
- position_mode: z109.enum(["relative_to_panel_anchor", "none"]).optional()
2329
+ position_mode: z110.enum(["relative_to_panel_anchor", "none"]).optional()
2322
2330
  }).merge(manufacturing_drc_properties).describe("Defines the board outline of the PCB");
2323
2331
  expectTypesMatch(true);
2324
2332
 
2325
2333
  // src/pcb/pcb_panel.ts
2326
- import { z as z110 } from "zod";
2327
- var pcb_panel = z110.object({
2328
- type: z110.literal("pcb_panel"),
2334
+ import { z as z111 } from "zod";
2335
+ var pcb_panel = z111.object({
2336
+ type: z111.literal("pcb_panel"),
2329
2337
  pcb_panel_id: getZodPrefixedIdWithDefault("pcb_panel"),
2330
2338
  width: length,
2331
2339
  height: length,
2332
2340
  center: point,
2333
2341
  thickness: length.optional().default(1.4),
2334
- covered_with_solder_mask: z110.boolean().optional().default(true)
2342
+ covered_with_solder_mask: z111.boolean().optional().default(true)
2335
2343
  }).describe("Defines a PCB panel that can contain multiple boards");
2336
2344
  expectTypesMatch(true);
2337
2345
 
2338
2346
  // src/pcb/pcb_placement_error.ts
2339
- import { z as z111 } from "zod";
2347
+ import { z as z112 } from "zod";
2340
2348
  var pcb_placement_error = base_circuit_json_error.extend({
2341
- type: z111.literal("pcb_placement_error"),
2349
+ type: z112.literal("pcb_placement_error"),
2342
2350
  pcb_placement_error_id: getZodPrefixedIdWithDefault("pcb_placement_error"),
2343
- error_type: z111.literal("pcb_placement_error").default("pcb_placement_error"),
2344
- subcircuit_id: z111.string().optional()
2351
+ error_type: z112.literal("pcb_placement_error").default("pcb_placement_error"),
2352
+ subcircuit_id: z112.string().optional()
2345
2353
  }).describe("Defines a placement error on the PCB");
2346
2354
  expectTypesMatch(true);
2347
2355
 
2348
2356
  // src/pcb/pcb_panelization_placement_error.ts
2349
- import { z as z112 } from "zod";
2357
+ import { z as z113 } from "zod";
2350
2358
  var pcb_panelization_placement_error = base_circuit_json_error.extend({
2351
- type: z112.literal("pcb_panelization_placement_error"),
2359
+ type: z113.literal("pcb_panelization_placement_error"),
2352
2360
  pcb_panelization_placement_error_id: getZodPrefixedIdWithDefault(
2353
2361
  "pcb_panelization_placement_error"
2354
2362
  ),
2355
- error_type: z112.literal("pcb_panelization_placement_error").default("pcb_panelization_placement_error"),
2356
- pcb_panel_id: z112.string().optional(),
2357
- pcb_board_id: z112.string().optional(),
2358
- subcircuit_id: z112.string().optional()
2363
+ error_type: z113.literal("pcb_panelization_placement_error").default("pcb_panelization_placement_error"),
2364
+ pcb_panel_id: z113.string().optional(),
2365
+ pcb_board_id: z113.string().optional(),
2366
+ subcircuit_id: z113.string().optional()
2359
2367
  }).describe("Defines a panelization placement error on the PCB");
2360
2368
  expectTypesMatch(true);
2361
2369
 
2362
2370
  // src/pcb/pcb_trace_hint.ts
2363
- import { z as z113 } from "zod";
2364
- var pcb_trace_hint = z113.object({
2365
- type: z113.literal("pcb_trace_hint"),
2371
+ import { z as z114 } from "zod";
2372
+ var pcb_trace_hint = z114.object({
2373
+ type: z114.literal("pcb_trace_hint"),
2366
2374
  pcb_trace_hint_id: getZodPrefixedIdWithDefault("pcb_trace_hint"),
2367
- pcb_port_id: z113.string(),
2368
- pcb_component_id: z113.string(),
2369
- route: z113.array(route_hint_point),
2370
- subcircuit_id: z113.string().optional()
2375
+ pcb_port_id: z114.string(),
2376
+ pcb_component_id: z114.string(),
2377
+ route: z114.array(route_hint_point),
2378
+ subcircuit_id: z114.string().optional()
2371
2379
  }).describe("A hint that can be used during generation of a PCB trace");
2372
2380
  expectTypesMatch(true);
2373
2381
 
2374
2382
  // src/pcb/pcb_silkscreen_line.ts
2375
- import { z as z114 } from "zod";
2376
- var pcb_silkscreen_line = z114.object({
2377
- type: z114.literal("pcb_silkscreen_line"),
2383
+ import { z as z115 } from "zod";
2384
+ var pcb_silkscreen_line = z115.object({
2385
+ type: z115.literal("pcb_silkscreen_line"),
2378
2386
  pcb_silkscreen_line_id: getZodPrefixedIdWithDefault("pcb_silkscreen_line"),
2379
- pcb_component_id: z114.string(),
2380
- pcb_group_id: z114.string().optional(),
2381
- subcircuit_id: z114.string().optional(),
2387
+ pcb_component_id: z115.string(),
2388
+ pcb_group_id: z115.string().optional(),
2389
+ subcircuit_id: z115.string().optional(),
2382
2390
  stroke_width: distance.default("0.1mm"),
2383
2391
  x1: distance,
2384
2392
  y1: distance,
@@ -2389,32 +2397,32 @@ var pcb_silkscreen_line = z114.object({
2389
2397
  expectTypesMatch(true);
2390
2398
 
2391
2399
  // src/pcb/pcb_silkscreen_path.ts
2392
- import { z as z115 } from "zod";
2393
- var pcb_silkscreen_path = z115.object({
2394
- type: z115.literal("pcb_silkscreen_path"),
2400
+ import { z as z116 } from "zod";
2401
+ var pcb_silkscreen_path = z116.object({
2402
+ type: z116.literal("pcb_silkscreen_path"),
2395
2403
  pcb_silkscreen_path_id: getZodPrefixedIdWithDefault("pcb_silkscreen_path"),
2396
- pcb_component_id: z115.string(),
2397
- pcb_group_id: z115.string().optional(),
2398
- subcircuit_id: z115.string().optional(),
2404
+ pcb_component_id: z116.string(),
2405
+ pcb_group_id: z116.string().optional(),
2406
+ subcircuit_id: z116.string().optional(),
2399
2407
  layer: visible_layer,
2400
- route: z115.array(point),
2408
+ route: z116.array(point),
2401
2409
  stroke_width: length
2402
2410
  }).describe("Defines a silkscreen path on the PCB");
2403
2411
  expectTypesMatch(true);
2404
2412
 
2405
2413
  // src/pcb/pcb_silkscreen_text.ts
2406
- import { z as z116 } from "zod";
2407
- var pcb_silkscreen_text = z116.object({
2408
- type: z116.literal("pcb_silkscreen_text"),
2414
+ import { z as z117 } from "zod";
2415
+ var pcb_silkscreen_text = z117.object({
2416
+ type: z117.literal("pcb_silkscreen_text"),
2409
2417
  pcb_silkscreen_text_id: getZodPrefixedIdWithDefault("pcb_silkscreen_text"),
2410
- pcb_group_id: z116.string().optional(),
2411
- subcircuit_id: z116.string().optional(),
2412
- font: z116.literal("tscircuit2024").default("tscircuit2024"),
2418
+ pcb_group_id: z117.string().optional(),
2419
+ subcircuit_id: z117.string().optional(),
2420
+ font: z117.literal("tscircuit2024").default("tscircuit2024"),
2413
2421
  font_size: distance.default("0.2mm"),
2414
- pcb_component_id: z116.string(),
2415
- text: z116.string(),
2416
- is_knockout: z116.boolean().default(false).optional(),
2417
- knockout_padding: z116.object({
2422
+ pcb_component_id: z117.string(),
2423
+ text: z117.string(),
2424
+ is_knockout: z117.boolean().default(false).optional(),
2425
+ knockout_padding: z117.object({
2418
2426
  left: length,
2419
2427
  top: length,
2420
2428
  bottom: length,
@@ -2425,27 +2433,27 @@ var pcb_silkscreen_text = z116.object({
2425
2433
  bottom: "0.2mm",
2426
2434
  right: "0.2mm"
2427
2435
  }).optional(),
2428
- ccw_rotation: z116.number().optional(),
2436
+ ccw_rotation: z117.number().optional(),
2429
2437
  layer: layer_ref,
2430
- is_mirrored: z116.boolean().default(false).optional(),
2438
+ is_mirrored: z117.boolean().default(false).optional(),
2431
2439
  anchor_position: point.default({ x: 0, y: 0 }),
2432
2440
  anchor_alignment: ninePointAnchor.default("center")
2433
2441
  }).describe("Defines silkscreen text on the PCB");
2434
2442
  expectTypesMatch(true);
2435
2443
 
2436
2444
  // src/pcb/pcb_copper_text.ts
2437
- import { z as z117 } from "zod";
2438
- var pcb_copper_text = z117.object({
2439
- type: z117.literal("pcb_copper_text"),
2445
+ import { z as z118 } from "zod";
2446
+ var pcb_copper_text = z118.object({
2447
+ type: z118.literal("pcb_copper_text"),
2440
2448
  pcb_copper_text_id: getZodPrefixedIdWithDefault("pcb_copper_text"),
2441
- pcb_group_id: z117.string().optional(),
2442
- subcircuit_id: z117.string().optional(),
2443
- font: z117.literal("tscircuit2024").default("tscircuit2024"),
2449
+ pcb_group_id: z118.string().optional(),
2450
+ subcircuit_id: z118.string().optional(),
2451
+ font: z118.literal("tscircuit2024").default("tscircuit2024"),
2444
2452
  font_size: distance.default("0.2mm"),
2445
- pcb_component_id: z117.string(),
2446
- text: z117.string(),
2447
- is_knockout: z117.boolean().default(false).optional(),
2448
- knockout_padding: z117.object({
2453
+ pcb_component_id: z118.string(),
2454
+ text: z118.string(),
2455
+ is_knockout: z118.boolean().default(false).optional(),
2456
+ knockout_padding: z118.object({
2449
2457
  left: length,
2450
2458
  top: length,
2451
2459
  bottom: length,
@@ -2456,61 +2464,61 @@ var pcb_copper_text = z117.object({
2456
2464
  bottom: "0.2mm",
2457
2465
  right: "0.2mm"
2458
2466
  }).optional(),
2459
- ccw_rotation: z117.number().optional(),
2467
+ ccw_rotation: z118.number().optional(),
2460
2468
  layer: layer_ref,
2461
- is_mirrored: z117.boolean().default(false).optional(),
2469
+ is_mirrored: z118.boolean().default(false).optional(),
2462
2470
  anchor_position: point.default({ x: 0, y: 0 }),
2463
2471
  anchor_alignment: ninePointAnchor.default("center")
2464
2472
  }).describe("Defines copper text on the PCB");
2465
2473
  expectTypesMatch(true);
2466
2474
 
2467
2475
  // src/pcb/pcb_silkscreen_rect.ts
2468
- import { z as z118 } from "zod";
2469
- var pcb_silkscreen_rect = z118.object({
2470
- type: z118.literal("pcb_silkscreen_rect"),
2476
+ import { z as z119 } from "zod";
2477
+ var pcb_silkscreen_rect = z119.object({
2478
+ type: z119.literal("pcb_silkscreen_rect"),
2471
2479
  pcb_silkscreen_rect_id: getZodPrefixedIdWithDefault("pcb_silkscreen_rect"),
2472
- pcb_component_id: z118.string(),
2473
- pcb_group_id: z118.string().optional(),
2474
- subcircuit_id: z118.string().optional(),
2480
+ pcb_component_id: z119.string(),
2481
+ pcb_group_id: z119.string().optional(),
2482
+ subcircuit_id: z119.string().optional(),
2475
2483
  center: point,
2476
2484
  width: length,
2477
2485
  height: length,
2478
2486
  layer: layer_ref,
2479
2487
  stroke_width: length.default("1mm"),
2480
2488
  corner_radius: length.optional(),
2481
- is_filled: z118.boolean().default(true).optional(),
2482
- has_stroke: z118.boolean().optional(),
2483
- is_stroke_dashed: z118.boolean().optional(),
2484
- ccw_rotation: z118.number().optional()
2489
+ is_filled: z119.boolean().default(true).optional(),
2490
+ has_stroke: z119.boolean().optional(),
2491
+ is_stroke_dashed: z119.boolean().optional(),
2492
+ ccw_rotation: z119.number().optional()
2485
2493
  }).describe("Defines a silkscreen rect on the PCB");
2486
2494
  expectTypesMatch(true);
2487
2495
 
2488
2496
  // src/pcb/pcb_silkscreen_circle.ts
2489
- import { z as z119 } from "zod";
2490
- var pcb_silkscreen_circle = z119.object({
2491
- type: z119.literal("pcb_silkscreen_circle"),
2497
+ import { z as z120 } from "zod";
2498
+ var pcb_silkscreen_circle = z120.object({
2499
+ type: z120.literal("pcb_silkscreen_circle"),
2492
2500
  pcb_silkscreen_circle_id: getZodPrefixedIdWithDefault(
2493
2501
  "pcb_silkscreen_circle"
2494
2502
  ),
2495
- pcb_component_id: z119.string(),
2496
- pcb_group_id: z119.string().optional(),
2497
- subcircuit_id: z119.string().optional(),
2503
+ pcb_component_id: z120.string(),
2504
+ pcb_group_id: z120.string().optional(),
2505
+ subcircuit_id: z120.string().optional(),
2498
2506
  center: point,
2499
2507
  radius: length,
2500
2508
  layer: visible_layer,
2501
2509
  stroke_width: length.default("1mm"),
2502
- is_filled: z119.boolean().optional()
2510
+ is_filled: z120.boolean().optional()
2503
2511
  }).describe("Defines a silkscreen circle on the PCB");
2504
2512
  expectTypesMatch(true);
2505
2513
 
2506
2514
  // src/pcb/pcb_silkscreen_oval.ts
2507
- import { z as z120 } from "zod";
2508
- var pcb_silkscreen_oval = z120.object({
2509
- type: z120.literal("pcb_silkscreen_oval"),
2515
+ import { z as z121 } from "zod";
2516
+ var pcb_silkscreen_oval = z121.object({
2517
+ type: z121.literal("pcb_silkscreen_oval"),
2510
2518
  pcb_silkscreen_oval_id: getZodPrefixedIdWithDefault("pcb_silkscreen_oval"),
2511
- pcb_component_id: z120.string(),
2512
- pcb_group_id: z120.string().optional(),
2513
- subcircuit_id: z120.string().optional(),
2519
+ pcb_component_id: z121.string(),
2520
+ pcb_group_id: z121.string().optional(),
2521
+ subcircuit_id: z121.string().optional(),
2514
2522
  center: point,
2515
2523
  radius_x: distance,
2516
2524
  radius_y: distance,
@@ -2520,265 +2528,265 @@ var pcb_silkscreen_oval = z120.object({
2520
2528
  expectTypesMatch(true);
2521
2529
 
2522
2530
  // src/pcb/pcb_silkscreen_graphic.ts
2523
- import { z as z121 } from "zod";
2524
- var pcb_silkscreen_graphic_base = z121.object({
2525
- type: z121.literal("pcb_silkscreen_graphic"),
2531
+ import { z as z122 } from "zod";
2532
+ var pcb_silkscreen_graphic_base = z122.object({
2533
+ type: z122.literal("pcb_silkscreen_graphic"),
2526
2534
  pcb_silkscreen_graphic_id: getZodPrefixedIdWithDefault(
2527
2535
  "pcb_silkscreen_graphic"
2528
2536
  ),
2529
- pcb_component_id: z121.string(),
2530
- pcb_group_id: z121.string().optional(),
2531
- subcircuit_id: z121.string().optional(),
2537
+ pcb_component_id: z122.string(),
2538
+ pcb_group_id: z122.string().optional(),
2539
+ subcircuit_id: z122.string().optional(),
2532
2540
  layer: visible_layer,
2533
2541
  image_asset: asset.optional()
2534
2542
  });
2535
2543
  var pcb_silkscreen_graphic_brep = pcb_silkscreen_graphic_base.extend({
2536
- shape: z121.literal("brep"),
2544
+ shape: z122.literal("brep"),
2537
2545
  brep_shape
2538
2546
  }).describe("Defines a BRep silkscreen graphic on the PCB");
2539
2547
  expectTypesMatch(
2540
2548
  true
2541
2549
  );
2542
- var pcb_silkscreen_graphic = z121.discriminatedUnion("shape", [pcb_silkscreen_graphic_brep]).describe("Defines a silkscreen graphic on the PCB");
2550
+ var pcb_silkscreen_graphic = z122.discriminatedUnion("shape", [pcb_silkscreen_graphic_brep]).describe("Defines a silkscreen graphic on the PCB");
2543
2551
  expectTypesMatch(true);
2544
2552
 
2545
2553
  // src/pcb/pcb_silkscreen_pill.ts
2546
- import { z as z122 } from "zod";
2547
- var pcb_silkscreen_pill = z122.object({
2548
- type: z122.literal("pcb_silkscreen_pill"),
2554
+ import { z as z123 } from "zod";
2555
+ var pcb_silkscreen_pill = z123.object({
2556
+ type: z123.literal("pcb_silkscreen_pill"),
2549
2557
  pcb_silkscreen_pill_id: getZodPrefixedIdWithDefault("pcb_silkscreen_pill"),
2550
- pcb_component_id: z122.string(),
2551
- pcb_group_id: z122.string().optional(),
2552
- subcircuit_id: z122.string().optional(),
2558
+ pcb_component_id: z123.string(),
2559
+ pcb_group_id: z123.string().optional(),
2560
+ subcircuit_id: z123.string().optional(),
2553
2561
  center: point,
2554
2562
  width: length,
2555
2563
  height: length,
2556
2564
  layer: layer_ref,
2557
- ccw_rotation: z122.number().optional()
2565
+ ccw_rotation: z123.number().optional()
2558
2566
  }).describe("Defines a silkscreen pill on the PCB");
2559
2567
  expectTypesMatch(true);
2560
2568
 
2561
2569
  // src/pcb/pcb_fabrication_note_text.ts
2562
- import { z as z123 } from "zod";
2563
- var pcb_fabrication_note_text = z123.object({
2564
- type: z123.literal("pcb_fabrication_note_text"),
2570
+ import { z as z124 } from "zod";
2571
+ var pcb_fabrication_note_text = z124.object({
2572
+ type: z124.literal("pcb_fabrication_note_text"),
2565
2573
  pcb_fabrication_note_text_id: getZodPrefixedIdWithDefault(
2566
2574
  "pcb_fabrication_note_text"
2567
2575
  ),
2568
- subcircuit_id: z123.string().optional(),
2569
- pcb_group_id: z123.string().optional(),
2570
- font: z123.literal("tscircuit2024").default("tscircuit2024"),
2576
+ subcircuit_id: z124.string().optional(),
2577
+ pcb_group_id: z124.string().optional(),
2578
+ font: z124.literal("tscircuit2024").default("tscircuit2024"),
2571
2579
  font_size: distance.default("1mm"),
2572
- pcb_component_id: z123.string(),
2573
- text: z123.string(),
2574
- ccw_rotation: z123.number().optional(),
2580
+ pcb_component_id: z124.string(),
2581
+ text: z124.string(),
2582
+ ccw_rotation: z124.number().optional(),
2575
2583
  layer: visible_layer,
2576
2584
  anchor_position: point.default({ x: 0, y: 0 }),
2577
- anchor_alignment: z123.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).default("center"),
2578
- color: z123.string().optional()
2585
+ anchor_alignment: z124.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).default("center"),
2586
+ color: z124.string().optional()
2579
2587
  }).describe(
2580
2588
  "Defines a fabrication note in text on the PCB, useful for leaving notes for assemblers or fabricators"
2581
2589
  );
2582
2590
  expectTypesMatch(true);
2583
2591
 
2584
2592
  // src/pcb/pcb_fabrication_note_path.ts
2585
- import { z as z124 } from "zod";
2586
- var pcb_fabrication_note_path = z124.object({
2587
- type: z124.literal("pcb_fabrication_note_path"),
2593
+ import { z as z125 } from "zod";
2594
+ var pcb_fabrication_note_path = z125.object({
2595
+ type: z125.literal("pcb_fabrication_note_path"),
2588
2596
  pcb_fabrication_note_path_id: getZodPrefixedIdWithDefault(
2589
2597
  "pcb_fabrication_note_path"
2590
2598
  ),
2591
- pcb_component_id: z124.string(),
2592
- subcircuit_id: z124.string().optional(),
2599
+ pcb_component_id: z125.string(),
2600
+ subcircuit_id: z125.string().optional(),
2593
2601
  layer: layer_ref,
2594
- route: z124.array(point),
2602
+ route: z125.array(point),
2595
2603
  stroke_width: length,
2596
- color: z124.string().optional()
2604
+ color: z125.string().optional()
2597
2605
  }).describe(
2598
2606
  "Defines a fabrication path on the PCB for fabricators or assemblers"
2599
2607
  );
2600
2608
  expectTypesMatch(true);
2601
2609
 
2602
2610
  // src/pcb/pcb_fabrication_note_rect.ts
2603
- import { z as z125 } from "zod";
2604
- var pcb_fabrication_note_rect = z125.object({
2605
- type: z125.literal("pcb_fabrication_note_rect"),
2611
+ import { z as z126 } from "zod";
2612
+ var pcb_fabrication_note_rect = z126.object({
2613
+ type: z126.literal("pcb_fabrication_note_rect"),
2606
2614
  pcb_fabrication_note_rect_id: getZodPrefixedIdWithDefault(
2607
2615
  "pcb_fabrication_note_rect"
2608
2616
  ),
2609
- pcb_component_id: z125.string(),
2610
- pcb_group_id: z125.string().optional(),
2611
- subcircuit_id: z125.string().optional(),
2617
+ pcb_component_id: z126.string(),
2618
+ pcb_group_id: z126.string().optional(),
2619
+ subcircuit_id: z126.string().optional(),
2612
2620
  center: point,
2613
2621
  width: length,
2614
2622
  height: length,
2615
2623
  layer: visible_layer,
2616
2624
  stroke_width: length.default("0.1mm"),
2617
2625
  corner_radius: length.optional(),
2618
- is_filled: z125.boolean().optional(),
2619
- has_stroke: z125.boolean().optional(),
2620
- is_stroke_dashed: z125.boolean().optional(),
2621
- color: z125.string().optional()
2626
+ is_filled: z126.boolean().optional(),
2627
+ has_stroke: z126.boolean().optional(),
2628
+ is_stroke_dashed: z126.boolean().optional(),
2629
+ color: z126.string().optional()
2622
2630
  }).describe("Defines a fabrication note rectangle on the PCB");
2623
2631
  expectTypesMatch(true);
2624
2632
 
2625
2633
  // src/pcb/pcb_fabrication_note_dimension.ts
2626
- import { z as z126 } from "zod";
2627
- var pcb_fabrication_note_dimension = z126.object({
2628
- type: z126.literal("pcb_fabrication_note_dimension"),
2634
+ import { z as z127 } from "zod";
2635
+ var pcb_fabrication_note_dimension = z127.object({
2636
+ type: z127.literal("pcb_fabrication_note_dimension"),
2629
2637
  pcb_fabrication_note_dimension_id: getZodPrefixedIdWithDefault(
2630
2638
  "pcb_fabrication_note_dimension"
2631
2639
  ),
2632
- pcb_component_id: z126.string(),
2633
- pcb_group_id: z126.string().optional(),
2634
- subcircuit_id: z126.string().optional(),
2640
+ pcb_component_id: z127.string(),
2641
+ pcb_group_id: z127.string().optional(),
2642
+ subcircuit_id: z127.string().optional(),
2635
2643
  layer: visible_layer,
2636
2644
  from: point,
2637
2645
  to: point,
2638
- text: z126.string().optional(),
2639
- text_ccw_rotation: z126.number().optional(),
2646
+ text: z127.string().optional(),
2647
+ text_ccw_rotation: z127.number().optional(),
2640
2648
  offset: length.optional(),
2641
2649
  offset_distance: length.optional(),
2642
- offset_direction: z126.object({
2643
- x: z126.number(),
2644
- y: z126.number()
2650
+ offset_direction: z127.object({
2651
+ x: z127.number(),
2652
+ y: z127.number()
2645
2653
  }).optional(),
2646
- font: z126.literal("tscircuit2024").default("tscircuit2024"),
2654
+ font: z127.literal("tscircuit2024").default("tscircuit2024"),
2647
2655
  font_size: length.default("1mm"),
2648
- color: z126.string().optional(),
2656
+ color: z127.string().optional(),
2649
2657
  arrow_size: length.default("1mm")
2650
2658
  }).describe("Defines a measurement annotation within PCB fabrication notes");
2651
2659
  expectTypesMatch(true);
2652
2660
 
2653
2661
  // src/pcb/pcb_note_text.ts
2654
- import { z as z127 } from "zod";
2655
- var pcb_note_text = z127.object({
2656
- type: z127.literal("pcb_note_text"),
2657
- pcb_note_text_id: getZodPrefixedIdWithDefault("pcb_note_text"),
2658
- pcb_component_id: z127.string().optional(),
2659
- pcb_group_id: z127.string().optional(),
2660
- subcircuit_id: z127.string().optional(),
2661
- name: z127.string().optional(),
2662
- font: z127.literal("tscircuit2024").default("tscircuit2024"),
2663
- font_size: distance.default("1mm"),
2664
- text: z127.string().optional(),
2665
- anchor_position: point.default({ x: 0, y: 0 }),
2666
- anchor_alignment: z127.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).default("center"),
2667
- layer: visible_layer.default("top"),
2668
- is_mirrored_from_top_view: z127.boolean().optional(),
2669
- color: z127.string().optional()
2670
- }).describe("Defines a documentation note in text on the PCB");
2671
- expectTypesMatch(true);
2672
-
2673
- // src/pcb/pcb_note_rect.ts
2674
2662
  import { z as z128 } from "zod";
2675
- var pcb_note_rect = z128.object({
2676
- type: z128.literal("pcb_note_rect"),
2677
- pcb_note_rect_id: getZodPrefixedIdWithDefault("pcb_note_rect"),
2663
+ var pcb_note_text = z128.object({
2664
+ type: z128.literal("pcb_note_text"),
2665
+ pcb_note_text_id: getZodPrefixedIdWithDefault("pcb_note_text"),
2678
2666
  pcb_component_id: z128.string().optional(),
2679
2667
  pcb_group_id: z128.string().optional(),
2680
2668
  subcircuit_id: z128.string().optional(),
2681
2669
  name: z128.string().optional(),
2670
+ font: z128.literal("tscircuit2024").default("tscircuit2024"),
2671
+ font_size: distance.default("1mm"),
2682
2672
  text: z128.string().optional(),
2683
- center: point,
2684
- width: length,
2685
- height: length,
2673
+ anchor_position: point.default({ x: 0, y: 0 }),
2674
+ anchor_alignment: z128.enum(["center", "top_left", "top_right", "bottom_left", "bottom_right"]).default("center"),
2686
2675
  layer: visible_layer.default("top"),
2687
- stroke_width: length.default("0.1mm"),
2688
- corner_radius: length.optional(),
2689
- is_filled: z128.boolean().optional(),
2690
- has_stroke: z128.boolean().optional(),
2691
- is_stroke_dashed: z128.boolean().optional(),
2676
+ is_mirrored_from_top_view: z128.boolean().optional(),
2692
2677
  color: z128.string().optional()
2693
- }).describe("Defines a rectangular documentation note on the PCB");
2678
+ }).describe("Defines a documentation note in text on the PCB");
2694
2679
  expectTypesMatch(true);
2695
2680
 
2696
- // src/pcb/pcb_note_path.ts
2681
+ // src/pcb/pcb_note_rect.ts
2697
2682
  import { z as z129 } from "zod";
2698
- var pcb_note_path = z129.object({
2699
- type: z129.literal("pcb_note_path"),
2700
- pcb_note_path_id: getZodPrefixedIdWithDefault("pcb_note_path"),
2683
+ var pcb_note_rect = z129.object({
2684
+ type: z129.literal("pcb_note_rect"),
2685
+ pcb_note_rect_id: getZodPrefixedIdWithDefault("pcb_note_rect"),
2701
2686
  pcb_component_id: z129.string().optional(),
2702
2687
  pcb_group_id: z129.string().optional(),
2703
2688
  subcircuit_id: z129.string().optional(),
2704
2689
  name: z129.string().optional(),
2705
2690
  text: z129.string().optional(),
2706
- route: z129.array(point),
2691
+ center: point,
2692
+ width: length,
2693
+ height: length,
2707
2694
  layer: visible_layer.default("top"),
2708
2695
  stroke_width: length.default("0.1mm"),
2696
+ corner_radius: length.optional(),
2697
+ is_filled: z129.boolean().optional(),
2698
+ has_stroke: z129.boolean().optional(),
2699
+ is_stroke_dashed: z129.boolean().optional(),
2709
2700
  color: z129.string().optional()
2710
- }).describe("Defines a polyline documentation note on the PCB");
2701
+ }).describe("Defines a rectangular documentation note on the PCB");
2711
2702
  expectTypesMatch(true);
2712
2703
 
2713
- // src/pcb/pcb_note_line.ts
2704
+ // src/pcb/pcb_note_path.ts
2714
2705
  import { z as z130 } from "zod";
2715
- var pcb_note_line = z130.object({
2716
- type: z130.literal("pcb_note_line"),
2717
- pcb_note_line_id: getZodPrefixedIdWithDefault("pcb_note_line"),
2706
+ var pcb_note_path = z130.object({
2707
+ type: z130.literal("pcb_note_path"),
2708
+ pcb_note_path_id: getZodPrefixedIdWithDefault("pcb_note_path"),
2718
2709
  pcb_component_id: z130.string().optional(),
2719
2710
  pcb_group_id: z130.string().optional(),
2720
2711
  subcircuit_id: z130.string().optional(),
2721
2712
  name: z130.string().optional(),
2722
2713
  text: z130.string().optional(),
2714
+ route: z130.array(point),
2715
+ layer: visible_layer.default("top"),
2716
+ stroke_width: length.default("0.1mm"),
2717
+ color: z130.string().optional()
2718
+ }).describe("Defines a polyline documentation note on the PCB");
2719
+ expectTypesMatch(true);
2720
+
2721
+ // src/pcb/pcb_note_line.ts
2722
+ import { z as z131 } from "zod";
2723
+ var pcb_note_line = z131.object({
2724
+ type: z131.literal("pcb_note_line"),
2725
+ pcb_note_line_id: getZodPrefixedIdWithDefault("pcb_note_line"),
2726
+ pcb_component_id: z131.string().optional(),
2727
+ pcb_group_id: z131.string().optional(),
2728
+ subcircuit_id: z131.string().optional(),
2729
+ name: z131.string().optional(),
2730
+ text: z131.string().optional(),
2723
2731
  x1: distance,
2724
2732
  y1: distance,
2725
2733
  x2: distance,
2726
2734
  y2: distance,
2727
2735
  layer: visible_layer.default("top"),
2728
2736
  stroke_width: distance.default("0.1mm"),
2729
- color: z130.string().optional(),
2730
- is_dashed: z130.boolean().optional()
2737
+ color: z131.string().optional(),
2738
+ is_dashed: z131.boolean().optional()
2731
2739
  }).describe("Defines a straight documentation note line on the PCB");
2732
2740
  expectTypesMatch(true);
2733
2741
 
2734
2742
  // src/pcb/pcb_note_dimension.ts
2735
- import { z as z131 } from "zod";
2736
- var pcb_note_dimension = z131.object({
2737
- type: z131.literal("pcb_note_dimension"),
2743
+ import { z as z132 } from "zod";
2744
+ var pcb_note_dimension = z132.object({
2745
+ type: z132.literal("pcb_note_dimension"),
2738
2746
  pcb_note_dimension_id: getZodPrefixedIdWithDefault("pcb_note_dimension"),
2739
- pcb_component_id: z131.string().optional(),
2740
- pcb_group_id: z131.string().optional(),
2741
- subcircuit_id: z131.string().optional(),
2742
- name: z131.string().optional(),
2747
+ pcb_component_id: z132.string().optional(),
2748
+ pcb_group_id: z132.string().optional(),
2749
+ subcircuit_id: z132.string().optional(),
2750
+ name: z132.string().optional(),
2743
2751
  from: point,
2744
2752
  to: point,
2745
- text: z131.string().optional(),
2746
- text_ccw_rotation: z131.number().optional(),
2753
+ text: z132.string().optional(),
2754
+ text_ccw_rotation: z132.number().optional(),
2747
2755
  offset_distance: length.optional(),
2748
- offset_direction: z131.object({
2749
- x: z131.number(),
2750
- y: z131.number()
2756
+ offset_direction: z132.object({
2757
+ x: z132.number(),
2758
+ y: z132.number()
2751
2759
  }).optional(),
2752
- font: z131.literal("tscircuit2024").default("tscircuit2024"),
2760
+ font: z132.literal("tscircuit2024").default("tscircuit2024"),
2753
2761
  font_size: length.default("1mm"),
2754
2762
  layer: visible_layer.default("top"),
2755
- color: z131.string().optional(),
2763
+ color: z132.string().optional(),
2756
2764
  arrow_size: length.default("1mm")
2757
2765
  }).describe("Defines a measurement annotation within PCB documentation notes");
2758
2766
  expectTypesMatch(true);
2759
2767
 
2760
2768
  // src/pcb/pcb_footprint_overlap_error.ts
2761
- import { z as z132 } from "zod";
2769
+ import { z as z133 } from "zod";
2762
2770
  var pcb_footprint_overlap_error = base_circuit_json_error.extend({
2763
- type: z132.literal("pcb_footprint_overlap_error"),
2771
+ type: z133.literal("pcb_footprint_overlap_error"),
2764
2772
  pcb_error_id: getZodPrefixedIdWithDefault("pcb_error"),
2765
- error_type: z132.literal("pcb_footprint_overlap_error").default("pcb_footprint_overlap_error"),
2766
- pcb_smtpad_ids: z132.array(z132.string()).optional(),
2767
- pcb_plated_hole_ids: z132.array(z132.string()).optional(),
2768
- pcb_hole_ids: z132.array(z132.string()).optional(),
2769
- pcb_keepout_ids: z132.array(z132.string()).optional()
2773
+ error_type: z133.literal("pcb_footprint_overlap_error").default("pcb_footprint_overlap_error"),
2774
+ pcb_smtpad_ids: z133.array(z133.string()).optional(),
2775
+ pcb_plated_hole_ids: z133.array(z133.string()).optional(),
2776
+ pcb_hole_ids: z133.array(z133.string()).optional(),
2777
+ pcb_keepout_ids: z133.array(z133.string()).optional()
2770
2778
  }).describe("Error emitted when a pcb footprint overlaps with another element");
2771
2779
  expectTypesMatch(
2772
2780
  true
2773
2781
  );
2774
2782
 
2775
2783
  // src/pcb/pcb_courtyard_overlap_error.ts
2776
- import { z as z133 } from "zod";
2784
+ import { z as z134 } from "zod";
2777
2785
  var pcb_courtyard_overlap_error = base_circuit_json_error.extend({
2778
- type: z133.literal("pcb_courtyard_overlap_error"),
2786
+ type: z134.literal("pcb_courtyard_overlap_error"),
2779
2787
  pcb_error_id: getZodPrefixedIdWithDefault("pcb_error"),
2780
- error_type: z133.literal("pcb_courtyard_overlap_error").default("pcb_courtyard_overlap_error"),
2781
- pcb_component_ids: z133.tuple([z133.string(), z133.string()])
2788
+ error_type: z134.literal("pcb_courtyard_overlap_error").default("pcb_courtyard_overlap_error"),
2789
+ pcb_component_ids: z134.tuple([z134.string(), z134.string()])
2782
2790
  }).describe(
2783
2791
  "Error emitted when the courtyard (CrtYd) of one PCB component overlaps with the courtyard of another"
2784
2792
  );
@@ -2787,49 +2795,49 @@ expectTypesMatch(
2787
2795
  );
2788
2796
 
2789
2797
  // src/pcb/pcb_keepout.ts
2790
- import { z as z134 } from "zod";
2791
- var pcb_keepout = z134.object({
2792
- type: z134.literal("pcb_keepout"),
2793
- shape: z134.literal("rect"),
2794
- pcb_group_id: z134.string().optional(),
2795
- subcircuit_id: z134.string().optional(),
2798
+ import { z as z135 } from "zod";
2799
+ var pcb_keepout = z135.object({
2800
+ type: z135.literal("pcb_keepout"),
2801
+ shape: z135.literal("rect"),
2802
+ pcb_group_id: z135.string().optional(),
2803
+ subcircuit_id: z135.string().optional(),
2796
2804
  center: point,
2797
2805
  width: distance,
2798
2806
  height: distance,
2799
- pcb_keepout_id: z134.string(),
2800
- layers: z134.array(z134.string()),
2807
+ pcb_keepout_id: z135.string(),
2808
+ layers: z135.array(z135.string()),
2801
2809
  // Specify layers where the keepout applies
2802
- description: z134.string().optional()
2810
+ description: z135.string().optional()
2803
2811
  // Optional description of the keepout
2804
2812
  }).or(
2805
- z134.object({
2806
- type: z134.literal("pcb_keepout"),
2807
- shape: z134.literal("circle"),
2808
- pcb_group_id: z134.string().optional(),
2809
- subcircuit_id: z134.string().optional(),
2813
+ z135.object({
2814
+ type: z135.literal("pcb_keepout"),
2815
+ shape: z135.literal("circle"),
2816
+ pcb_group_id: z135.string().optional(),
2817
+ subcircuit_id: z135.string().optional(),
2810
2818
  center: point,
2811
2819
  radius: distance,
2812
- pcb_keepout_id: z134.string(),
2813
- layers: z134.array(z134.string()),
2820
+ pcb_keepout_id: z135.string(),
2821
+ layers: z135.array(z135.string()),
2814
2822
  // Specify layers where the keepout applies
2815
- description: z134.string().optional()
2823
+ description: z135.string().optional()
2816
2824
  // Optional description of the keepout
2817
2825
  })
2818
2826
  );
2819
2827
  expectTypesMatch(true);
2820
2828
 
2821
2829
  // src/pcb/pcb_cutout.ts
2822
- import { z as z135 } from "zod";
2823
- var pcb_cutout_base = z135.object({
2824
- type: z135.literal("pcb_cutout"),
2830
+ import { z as z136 } from "zod";
2831
+ var pcb_cutout_base = z136.object({
2832
+ type: z136.literal("pcb_cutout"),
2825
2833
  pcb_cutout_id: getZodPrefixedIdWithDefault("pcb_cutout"),
2826
- pcb_group_id: z135.string().optional(),
2827
- subcircuit_id: z135.string().optional(),
2828
- pcb_board_id: z135.string().optional(),
2829
- pcb_panel_id: z135.string().optional()
2834
+ pcb_group_id: z136.string().optional(),
2835
+ subcircuit_id: z136.string().optional(),
2836
+ pcb_board_id: z136.string().optional(),
2837
+ pcb_panel_id: z136.string().optional()
2830
2838
  });
2831
2839
  var pcb_cutout_rect = pcb_cutout_base.extend({
2832
- shape: z135.literal("rect"),
2840
+ shape: z136.literal("rect"),
2833
2841
  center: point,
2834
2842
  width: length,
2835
2843
  height: length,
@@ -2838,26 +2846,26 @@ var pcb_cutout_rect = pcb_cutout_base.extend({
2838
2846
  });
2839
2847
  expectTypesMatch(true);
2840
2848
  var pcb_cutout_circle = pcb_cutout_base.extend({
2841
- shape: z135.literal("circle"),
2849
+ shape: z136.literal("circle"),
2842
2850
  center: point,
2843
2851
  radius: length
2844
2852
  });
2845
2853
  expectTypesMatch(true);
2846
2854
  var pcb_cutout_polygon = pcb_cutout_base.extend({
2847
- shape: z135.literal("polygon"),
2848
- points: z135.array(point)
2855
+ shape: z136.literal("polygon"),
2856
+ points: z136.array(point)
2849
2857
  });
2850
2858
  expectTypesMatch(true);
2851
2859
  var pcb_cutout_path = pcb_cutout_base.extend({
2852
- shape: z135.literal("path"),
2853
- route: z135.array(point),
2860
+ shape: z136.literal("path"),
2861
+ route: z136.array(point),
2854
2862
  slot_width: length,
2855
2863
  slot_length: length.optional(),
2856
2864
  space_between_slots: length.optional(),
2857
2865
  slot_corner_radius: length.optional()
2858
2866
  });
2859
2867
  expectTypesMatch(true);
2860
- var pcb_cutout = z135.discriminatedUnion("shape", [
2868
+ var pcb_cutout = z136.discriminatedUnion("shape", [
2861
2869
  pcb_cutout_rect,
2862
2870
  pcb_cutout_circle,
2863
2871
  pcb_cutout_polygon,
@@ -2866,169 +2874,169 @@ var pcb_cutout = z135.discriminatedUnion("shape", [
2866
2874
  expectTypesMatch(true);
2867
2875
 
2868
2876
  // src/pcb/pcb_missing_footprint_error.ts
2869
- import { z as z136 } from "zod";
2877
+ import { z as z137 } from "zod";
2870
2878
  var pcb_missing_footprint_error = base_circuit_json_error.extend({
2871
- type: z136.literal("pcb_missing_footprint_error"),
2879
+ type: z137.literal("pcb_missing_footprint_error"),
2872
2880
  pcb_missing_footprint_error_id: getZodPrefixedIdWithDefault(
2873
2881
  "pcb_missing_footprint_error"
2874
2882
  ),
2875
- pcb_group_id: z136.string().optional(),
2876
- subcircuit_id: z136.string().optional(),
2877
- error_type: z136.literal("pcb_missing_footprint_error").default("pcb_missing_footprint_error"),
2878
- source_component_id: z136.string()
2883
+ pcb_group_id: z137.string().optional(),
2884
+ subcircuit_id: z137.string().optional(),
2885
+ error_type: z137.literal("pcb_missing_footprint_error").default("pcb_missing_footprint_error"),
2886
+ source_component_id: z137.string()
2879
2887
  }).describe("Defines a missing footprint error on the PCB");
2880
2888
  expectTypesMatch(
2881
2889
  true
2882
2890
  );
2883
2891
 
2884
2892
  // src/pcb/external_footprint_load_error.ts
2885
- import { z as z137 } from "zod";
2893
+ import { z as z138 } from "zod";
2886
2894
  var external_footprint_load_error = base_circuit_json_error.extend({
2887
- type: z137.literal("external_footprint_load_error"),
2895
+ type: z138.literal("external_footprint_load_error"),
2888
2896
  external_footprint_load_error_id: getZodPrefixedIdWithDefault(
2889
2897
  "external_footprint_load_error"
2890
2898
  ),
2891
- pcb_component_id: z137.string(),
2892
- source_component_id: z137.string(),
2893
- pcb_group_id: z137.string().optional(),
2894
- subcircuit_id: z137.string().optional(),
2895
- footprinter_string: z137.string().optional(),
2896
- error_type: z137.literal("external_footprint_load_error").default("external_footprint_load_error")
2899
+ pcb_component_id: z138.string(),
2900
+ source_component_id: z138.string(),
2901
+ pcb_group_id: z138.string().optional(),
2902
+ subcircuit_id: z138.string().optional(),
2903
+ footprinter_string: z138.string().optional(),
2904
+ error_type: z138.literal("external_footprint_load_error").default("external_footprint_load_error")
2897
2905
  }).describe("Defines an error when an external footprint fails to load");
2898
2906
  expectTypesMatch(true);
2899
2907
 
2900
2908
  // src/pcb/circuit_json_footprint_load_error.ts
2901
- import { z as z138 } from "zod";
2909
+ import { z as z139 } from "zod";
2902
2910
  var circuit_json_footprint_load_error = base_circuit_json_error.extend({
2903
- type: z138.literal("circuit_json_footprint_load_error"),
2911
+ type: z139.literal("circuit_json_footprint_load_error"),
2904
2912
  circuit_json_footprint_load_error_id: getZodPrefixedIdWithDefault(
2905
2913
  "circuit_json_footprint_load_error"
2906
2914
  ),
2907
- pcb_component_id: z138.string(),
2908
- source_component_id: z138.string(),
2909
- pcb_group_id: z138.string().optional(),
2910
- subcircuit_id: z138.string().optional(),
2911
- error_type: z138.literal("circuit_json_footprint_load_error").default("circuit_json_footprint_load_error"),
2912
- circuit_json: z138.array(z138.any()).optional()
2915
+ pcb_component_id: z139.string(),
2916
+ source_component_id: z139.string(),
2917
+ pcb_group_id: z139.string().optional(),
2918
+ subcircuit_id: z139.string().optional(),
2919
+ error_type: z139.literal("circuit_json_footprint_load_error").default("circuit_json_footprint_load_error"),
2920
+ circuit_json: z139.array(z139.any()).optional()
2913
2921
  }).describe("Defines an error when a circuit JSON footprint fails to load");
2914
2922
  expectTypesMatch(true);
2915
2923
 
2916
2924
  // src/pcb/pcb_group.ts
2917
- import { z as z139 } from "zod";
2918
- var pcb_group = z139.object({
2919
- type: z139.literal("pcb_group"),
2925
+ import { z as z140 } from "zod";
2926
+ var pcb_group = z140.object({
2927
+ type: z140.literal("pcb_group"),
2920
2928
  pcb_group_id: getZodPrefixedIdWithDefault("pcb_group"),
2921
- source_group_id: z139.string(),
2922
- is_subcircuit: z139.boolean().optional(),
2923
- subcircuit_id: z139.string().optional(),
2929
+ source_group_id: z140.string(),
2930
+ is_subcircuit: z140.boolean().optional(),
2931
+ subcircuit_id: z140.string().optional(),
2924
2932
  width: length.optional(),
2925
2933
  height: length.optional(),
2926
2934
  center: point,
2927
- display_offset_x: z139.string().optional().describe(
2935
+ display_offset_x: z140.string().optional().describe(
2928
2936
  "How to display the x offset for this group, usually corresponding with how the user specified it"
2929
2937
  ),
2930
- display_offset_y: z139.string().optional().describe(
2938
+ display_offset_y: z140.string().optional().describe(
2931
2939
  "How to display the y offset for this group, usually corresponding with how the user specified it"
2932
2940
  ),
2933
- outline: z139.array(point).optional(),
2941
+ outline: z140.array(point).optional(),
2934
2942
  anchor_position: point.optional(),
2935
2943
  anchor_alignment: ninePointAnchor.default("center"),
2936
- position_mode: z139.enum(["packed", "relative_to_group_anchor", "none"]).optional(),
2937
- positioned_relative_to_pcb_group_id: z139.string().optional(),
2938
- positioned_relative_to_pcb_board_id: z139.string().optional(),
2939
- pcb_component_ids: z139.array(z139.string()),
2940
- child_layout_mode: z139.enum(["packed", "none"]).optional(),
2941
- name: z139.string().optional(),
2942
- description: z139.string().optional(),
2943
- layout_mode: z139.string().optional(),
2944
- autorouter_configuration: z139.object({
2944
+ position_mode: z140.enum(["packed", "relative_to_group_anchor", "none"]).optional(),
2945
+ positioned_relative_to_pcb_group_id: z140.string().optional(),
2946
+ positioned_relative_to_pcb_board_id: z140.string().optional(),
2947
+ pcb_component_ids: z140.array(z140.string()),
2948
+ child_layout_mode: z140.enum(["packed", "none"]).optional(),
2949
+ name: z140.string().optional(),
2950
+ description: z140.string().optional(),
2951
+ layout_mode: z140.string().optional(),
2952
+ autorouter_configuration: z140.object({
2945
2953
  trace_clearance: length
2946
2954
  }).optional(),
2947
- autorouter_used_string: z139.string().optional()
2955
+ autorouter_used_string: z140.string().optional()
2948
2956
  }).describe("Defines a group of components on the PCB");
2949
2957
  expectTypesMatch(true);
2950
2958
 
2951
2959
  // src/pcb/pcb_autorouting_error.ts
2952
- import { z as z140 } from "zod";
2960
+ import { z as z141 } from "zod";
2953
2961
  var pcb_autorouting_error = base_circuit_json_error.extend({
2954
- type: z140.literal("pcb_autorouting_error"),
2962
+ type: z141.literal("pcb_autorouting_error"),
2955
2963
  pcb_error_id: getZodPrefixedIdWithDefault("pcb_autorouting_error"),
2956
- error_type: z140.literal("pcb_autorouting_error").default("pcb_autorouting_error"),
2957
- subcircuit_id: z140.string().optional()
2964
+ error_type: z141.literal("pcb_autorouting_error").default("pcb_autorouting_error"),
2965
+ subcircuit_id: z141.string().optional()
2958
2966
  }).describe("The autorouting has failed to route a portion of the board");
2959
2967
  expectTypesMatch(true);
2960
2968
 
2961
2969
  // src/pcb/pcb_manual_edit_conflict_warning.ts
2962
- import { z as z141 } from "zod";
2963
- var pcb_manual_edit_conflict_warning = z141.object({
2964
- type: z141.literal("pcb_manual_edit_conflict_warning"),
2970
+ import { z as z142 } from "zod";
2971
+ var pcb_manual_edit_conflict_warning = z142.object({
2972
+ type: z142.literal("pcb_manual_edit_conflict_warning"),
2965
2973
  pcb_manual_edit_conflict_warning_id: getZodPrefixedIdWithDefault(
2966
2974
  "pcb_manual_edit_conflict_warning"
2967
2975
  ),
2968
- warning_type: z141.literal("pcb_manual_edit_conflict_warning").default("pcb_manual_edit_conflict_warning"),
2969
- message: z141.string(),
2970
- pcb_component_id: z141.string(),
2971
- pcb_group_id: z141.string().optional(),
2972
- subcircuit_id: z141.string().optional(),
2973
- source_component_id: z141.string()
2976
+ warning_type: z142.literal("pcb_manual_edit_conflict_warning").default("pcb_manual_edit_conflict_warning"),
2977
+ message: z142.string(),
2978
+ pcb_component_id: z142.string(),
2979
+ pcb_group_id: z142.string().optional(),
2980
+ subcircuit_id: z142.string().optional(),
2981
+ source_component_id: z142.string()
2974
2982
  }).describe(
2975
2983
  "Warning emitted when a component has both manual placement and explicit pcbX/pcbY coordinates"
2976
2984
  );
2977
2985
  expectTypesMatch(true);
2978
2986
 
2979
2987
  // src/pcb/pcb_connector_not_in_accessible_orientation_warning.ts
2980
- import { z as z142 } from "zod";
2981
- var connectorOrientationDirection = z142.enum(["x-", "x+", "y+", "y-"]);
2982
- var pcb_connector_not_in_accessible_orientation_warning = z142.object({
2983
- type: z142.literal("pcb_connector_not_in_accessible_orientation_warning"),
2988
+ import { z as z143 } from "zod";
2989
+ var connectorOrientationDirection = z143.enum(["x-", "x+", "y+", "y-"]);
2990
+ var pcb_connector_not_in_accessible_orientation_warning = z143.object({
2991
+ type: z143.literal("pcb_connector_not_in_accessible_orientation_warning"),
2984
2992
  pcb_connector_not_in_accessible_orientation_warning_id: getZodPrefixedIdWithDefault(
2985
2993
  "pcb_connector_not_in_accessible_orientation_warning"
2986
2994
  ),
2987
- warning_type: z142.literal("pcb_connector_not_in_accessible_orientation_warning").default("pcb_connector_not_in_accessible_orientation_warning"),
2988
- message: z142.string(),
2989
- pcb_component_id: z142.string(),
2990
- source_component_id: z142.string().optional(),
2991
- pcb_board_id: z142.string().optional(),
2995
+ warning_type: z143.literal("pcb_connector_not_in_accessible_orientation_warning").default("pcb_connector_not_in_accessible_orientation_warning"),
2996
+ message: z143.string(),
2997
+ pcb_component_id: z143.string(),
2998
+ source_component_id: z143.string().optional(),
2999
+ pcb_board_id: z143.string().optional(),
2992
3000
  facing_direction: connectorOrientationDirection,
2993
3001
  recommended_facing_direction: connectorOrientationDirection,
2994
- subcircuit_id: z142.string().optional()
3002
+ subcircuit_id: z143.string().optional()
2995
3003
  }).describe(
2996
3004
  "Warning emitted when a connector PCB component is facing inward toward the board and should be reoriented to an outward-facing direction"
2997
3005
  );
2998
3006
  expectTypesMatch(true);
2999
3007
 
3000
3008
  // src/pcb/supplier_footprint_mismatch_warning.ts
3001
- import { z as z143 } from "zod";
3002
- var supplier_footprint_mismatch_warning = z143.object({
3003
- type: z143.literal("supplier_footprint_mismatch_warning"),
3009
+ import { z as z144 } from "zod";
3010
+ var supplier_footprint_mismatch_warning = z144.object({
3011
+ type: z144.literal("supplier_footprint_mismatch_warning"),
3004
3012
  supplier_footprint_mismatch_warning_id: getZodPrefixedIdWithDefault(
3005
3013
  "supplier_footprint_mismatch_warning"
3006
3014
  ),
3007
- warning_type: z143.literal("supplier_footprint_mismatch_warning").default("supplier_footprint_mismatch_warning"),
3008
- message: z143.string(),
3009
- source_component_id: z143.string(),
3010
- pcb_component_id: z143.string().optional(),
3011
- pcb_group_id: z143.string().optional(),
3012
- subcircuit_id: z143.string().optional(),
3015
+ warning_type: z144.literal("supplier_footprint_mismatch_warning").default("supplier_footprint_mismatch_warning"),
3016
+ message: z144.string(),
3017
+ source_component_id: z144.string(),
3018
+ pcb_component_id: z144.string().optional(),
3019
+ pcb_group_id: z144.string().optional(),
3020
+ subcircuit_id: z144.string().optional(),
3013
3021
  supplier_name: supplier_name.optional(),
3014
- supplier_part_number: z143.string().optional(),
3015
- supplier_footprint_url: z143.string().optional(),
3016
- footprint_copper_intersection_over_union: z143.number()
3022
+ supplier_part_number: z144.string().optional(),
3023
+ supplier_footprint_url: z144.string().optional(),
3024
+ footprint_copper_intersection_over_union: z144.number()
3017
3025
  }).describe(
3018
3026
  "Warning emitted when a supplier part footprint does not match the expected footprint"
3019
3027
  );
3020
3028
  expectTypesMatch(true);
3021
3029
 
3022
3030
  // src/pcb/pcb_breakout_point.ts
3023
- import { z as z144 } from "zod";
3024
- var pcb_breakout_point = z144.object({
3025
- type: z144.literal("pcb_breakout_point"),
3031
+ import { z as z145 } from "zod";
3032
+ var pcb_breakout_point = z145.object({
3033
+ type: z145.literal("pcb_breakout_point"),
3026
3034
  pcb_breakout_point_id: getZodPrefixedIdWithDefault("pcb_breakout_point"),
3027
- pcb_group_id: z144.string(),
3028
- subcircuit_id: z144.string().optional(),
3029
- source_trace_id: z144.string().optional(),
3030
- source_port_id: z144.string().optional(),
3031
- source_net_id: z144.string().optional(),
3035
+ pcb_group_id: z145.string(),
3036
+ subcircuit_id: z145.string().optional(),
3037
+ source_trace_id: z145.string().optional(),
3038
+ source_port_id: z145.string().optional(),
3039
+ source_net_id: z145.string().optional(),
3032
3040
  x: distance,
3033
3041
  y: distance
3034
3042
  }).describe(
@@ -3037,61 +3045,61 @@ var pcb_breakout_point = z144.object({
3037
3045
  expectTypesMatch(true);
3038
3046
 
3039
3047
  // src/pcb/pcb_ground_plane.ts
3040
- import { z as z145 } from "zod";
3041
- var pcb_ground_plane = z145.object({
3042
- type: z145.literal("pcb_ground_plane"),
3048
+ import { z as z146 } from "zod";
3049
+ var pcb_ground_plane = z146.object({
3050
+ type: z146.literal("pcb_ground_plane"),
3043
3051
  pcb_ground_plane_id: getZodPrefixedIdWithDefault("pcb_ground_plane"),
3044
- source_pcb_ground_plane_id: z145.string(),
3045
- source_net_id: z145.string(),
3046
- pcb_group_id: z145.string().optional(),
3047
- subcircuit_id: z145.string().optional()
3052
+ source_pcb_ground_plane_id: z146.string(),
3053
+ source_net_id: z146.string(),
3054
+ pcb_group_id: z146.string().optional(),
3055
+ subcircuit_id: z146.string().optional()
3048
3056
  }).describe("Defines a ground plane on the PCB");
3049
3057
  expectTypesMatch(true);
3050
3058
 
3051
3059
  // src/pcb/pcb_ground_plane_region.ts
3052
- import { z as z146 } from "zod";
3053
- var pcb_ground_plane_region = z146.object({
3054
- type: z146.literal("pcb_ground_plane_region"),
3060
+ import { z as z147 } from "zod";
3061
+ var pcb_ground_plane_region = z147.object({
3062
+ type: z147.literal("pcb_ground_plane_region"),
3055
3063
  pcb_ground_plane_region_id: getZodPrefixedIdWithDefault(
3056
3064
  "pcb_ground_plane_region"
3057
3065
  ),
3058
- pcb_ground_plane_id: z146.string(),
3059
- pcb_group_id: z146.string().optional(),
3060
- subcircuit_id: z146.string().optional(),
3066
+ pcb_ground_plane_id: z147.string(),
3067
+ pcb_group_id: z147.string().optional(),
3068
+ subcircuit_id: z147.string().optional(),
3061
3069
  layer: layer_ref,
3062
- points: z146.array(point)
3070
+ points: z147.array(point)
3063
3071
  }).describe("Defines a polygon region of a ground plane");
3064
3072
  expectTypesMatch(true);
3065
3073
 
3066
3074
  // src/pcb/pcb_thermal_spoke.ts
3067
- import { z as z147 } from "zod";
3068
- var pcb_thermal_spoke = z147.object({
3069
- type: z147.literal("pcb_thermal_spoke"),
3075
+ import { z as z148 } from "zod";
3076
+ var pcb_thermal_spoke = z148.object({
3077
+ type: z148.literal("pcb_thermal_spoke"),
3070
3078
  pcb_thermal_spoke_id: getZodPrefixedIdWithDefault("pcb_thermal_spoke"),
3071
- pcb_ground_plane_id: z147.string(),
3072
- shape: z147.string(),
3073
- spoke_count: z147.number(),
3079
+ pcb_ground_plane_id: z148.string(),
3080
+ shape: z148.string(),
3081
+ spoke_count: z148.number(),
3074
3082
  spoke_thickness: distance,
3075
3083
  spoke_inner_diameter: distance,
3076
3084
  spoke_outer_diameter: distance,
3077
- pcb_plated_hole_id: z147.string().optional(),
3078
- subcircuit_id: z147.string().optional()
3085
+ pcb_plated_hole_id: z148.string().optional(),
3086
+ subcircuit_id: z148.string().optional()
3079
3087
  }).describe("Pattern for connecting a ground plane to a plated hole");
3080
3088
  expectTypesMatch(true);
3081
3089
 
3082
3090
  // src/pcb/pcb_copper_pour.ts
3083
- import { z as z148 } from "zod";
3084
- var pcb_copper_pour_base = z148.object({
3085
- type: z148.literal("pcb_copper_pour"),
3091
+ import { z as z149 } from "zod";
3092
+ var pcb_copper_pour_base = z149.object({
3093
+ type: z149.literal("pcb_copper_pour"),
3086
3094
  pcb_copper_pour_id: getZodPrefixedIdWithDefault("pcb_copper_pour"),
3087
- pcb_group_id: z148.string().optional(),
3088
- subcircuit_id: z148.string().optional(),
3095
+ pcb_group_id: z149.string().optional(),
3096
+ subcircuit_id: z149.string().optional(),
3089
3097
  layer: layer_ref,
3090
- source_net_id: z148.string().optional(),
3091
- covered_with_solder_mask: z148.boolean().optional().default(true)
3098
+ source_net_id: z149.string().optional(),
3099
+ covered_with_solder_mask: z149.boolean().optional().default(true)
3092
3100
  });
3093
3101
  var pcb_copper_pour_rect = pcb_copper_pour_base.extend({
3094
- shape: z148.literal("rect"),
3102
+ shape: z149.literal("rect"),
3095
3103
  center: point,
3096
3104
  width: length,
3097
3105
  height: length,
@@ -3099,16 +3107,16 @@ var pcb_copper_pour_rect = pcb_copper_pour_base.extend({
3099
3107
  });
3100
3108
  expectTypesMatch(true);
3101
3109
  var pcb_copper_pour_brep = pcb_copper_pour_base.extend({
3102
- shape: z148.literal("brep"),
3110
+ shape: z149.literal("brep"),
3103
3111
  brep_shape
3104
3112
  });
3105
3113
  expectTypesMatch(true);
3106
3114
  var pcb_copper_pour_polygon = pcb_copper_pour_base.extend({
3107
- shape: z148.literal("polygon"),
3108
- points: z148.array(point)
3115
+ shape: z149.literal("polygon"),
3116
+ points: z149.array(point)
3109
3117
  });
3110
3118
  expectTypesMatch(true);
3111
- var pcb_copper_pour = z148.discriminatedUnion("shape", [
3119
+ var pcb_copper_pour = z149.discriminatedUnion("shape", [
3112
3120
  pcb_copper_pour_rect,
3113
3121
  pcb_copper_pour_brep,
3114
3122
  pcb_copper_pour_polygon
@@ -3116,99 +3124,99 @@ var pcb_copper_pour = z148.discriminatedUnion("shape", [
3116
3124
  expectTypesMatch(true);
3117
3125
 
3118
3126
  // src/pcb/pcb_component_outside_board_error.ts
3119
- import { z as z149 } from "zod";
3127
+ import { z as z150 } from "zod";
3120
3128
  var pcb_component_outside_board_error = base_circuit_json_error.extend({
3121
- type: z149.literal("pcb_component_outside_board_error"),
3129
+ type: z150.literal("pcb_component_outside_board_error"),
3122
3130
  pcb_component_outside_board_error_id: getZodPrefixedIdWithDefault(
3123
3131
  "pcb_component_outside_board_error"
3124
3132
  ),
3125
- error_type: z149.literal("pcb_component_outside_board_error").default("pcb_component_outside_board_error"),
3126
- pcb_component_id: z149.string(),
3127
- pcb_board_id: z149.string(),
3133
+ error_type: z150.literal("pcb_component_outside_board_error").default("pcb_component_outside_board_error"),
3134
+ pcb_component_id: z150.string(),
3135
+ pcb_board_id: z150.string(),
3128
3136
  component_center: point,
3129
- component_bounds: z149.object({
3130
- min_x: z149.number(),
3131
- max_x: z149.number(),
3132
- min_y: z149.number(),
3133
- max_y: z149.number()
3137
+ component_bounds: z150.object({
3138
+ min_x: z150.number(),
3139
+ max_x: z150.number(),
3140
+ min_y: z150.number(),
3141
+ max_y: z150.number()
3134
3142
  }),
3135
- subcircuit_id: z149.string().optional(),
3136
- source_component_id: z149.string().optional()
3143
+ subcircuit_id: z150.string().optional(),
3144
+ source_component_id: z150.string().optional()
3137
3145
  }).describe(
3138
3146
  "Error emitted when a PCB component is placed outside the board boundaries"
3139
3147
  );
3140
3148
  expectTypesMatch(true);
3141
3149
 
3142
3150
  // src/pcb/pcb_component_not_on_board_edge_error.ts
3143
- import { z as z150 } from "zod";
3151
+ import { z as z151 } from "zod";
3144
3152
  var pcb_component_not_on_board_edge_error = base_circuit_json_error.extend({
3145
- type: z150.literal("pcb_component_not_on_board_edge_error"),
3153
+ type: z151.literal("pcb_component_not_on_board_edge_error"),
3146
3154
  pcb_component_not_on_board_edge_error_id: getZodPrefixedIdWithDefault(
3147
3155
  "pcb_component_not_on_board_edge_error"
3148
3156
  ),
3149
- error_type: z150.literal("pcb_component_not_on_board_edge_error").default("pcb_component_not_on_board_edge_error"),
3150
- pcb_component_id: z150.string(),
3151
- pcb_board_id: z150.string(),
3157
+ error_type: z151.literal("pcb_component_not_on_board_edge_error").default("pcb_component_not_on_board_edge_error"),
3158
+ pcb_component_id: z151.string(),
3159
+ pcb_board_id: z151.string(),
3152
3160
  component_center: point,
3153
- pad_to_nearest_board_edge_distance: z150.number(),
3154
- source_component_id: z150.string().optional(),
3155
- subcircuit_id: z150.string().optional()
3161
+ pad_to_nearest_board_edge_distance: z151.number(),
3162
+ source_component_id: z151.string().optional(),
3163
+ subcircuit_id: z151.string().optional()
3156
3164
  }).describe(
3157
3165
  "Error emitted when a component that must be placed on the board edge is centered away from the edge"
3158
3166
  );
3159
3167
  expectTypesMatch(true);
3160
3168
 
3161
3169
  // src/pcb/pcb_component_invalid_layer_error.ts
3162
- import { z as z151 } from "zod";
3170
+ import { z as z152 } from "zod";
3163
3171
  var pcb_component_invalid_layer_error = base_circuit_json_error.extend({
3164
- type: z151.literal("pcb_component_invalid_layer_error"),
3172
+ type: z152.literal("pcb_component_invalid_layer_error"),
3165
3173
  pcb_component_invalid_layer_error_id: getZodPrefixedIdWithDefault(
3166
3174
  "pcb_component_invalid_layer_error"
3167
3175
  ),
3168
- error_type: z151.literal("pcb_component_invalid_layer_error").default("pcb_component_invalid_layer_error"),
3169
- pcb_component_id: z151.string().optional(),
3170
- source_component_id: z151.string(),
3176
+ error_type: z152.literal("pcb_component_invalid_layer_error").default("pcb_component_invalid_layer_error"),
3177
+ pcb_component_id: z152.string().optional(),
3178
+ source_component_id: z152.string(),
3171
3179
  layer: layer_ref,
3172
- subcircuit_id: z151.string().optional()
3180
+ subcircuit_id: z152.string().optional()
3173
3181
  }).describe(
3174
3182
  "Error emitted when a component is placed on an invalid layer (components can only be on 'top' or 'bottom' layers)"
3175
3183
  );
3176
3184
  expectTypesMatch(true);
3177
3185
 
3178
3186
  // src/pcb/pcb_via_clearance_error.ts
3179
- import { z as z152 } from "zod";
3187
+ import { z as z153 } from "zod";
3180
3188
  var pcb_via_clearance_error = base_circuit_json_error.extend({
3181
- type: z152.literal("pcb_via_clearance_error"),
3189
+ type: z153.literal("pcb_via_clearance_error"),
3182
3190
  pcb_error_id: getZodPrefixedIdWithDefault("pcb_error"),
3183
- error_type: z152.literal("pcb_via_clearance_error").default("pcb_via_clearance_error"),
3184
- pcb_via_ids: z152.array(z152.string()).min(2),
3191
+ error_type: z153.literal("pcb_via_clearance_error").default("pcb_via_clearance_error"),
3192
+ pcb_via_ids: z153.array(z153.string()).min(2),
3185
3193
  minimum_clearance: distance.optional(),
3186
3194
  actual_clearance: distance.optional(),
3187
- pcb_center: z152.object({
3188
- x: z152.number().optional(),
3189
- y: z152.number().optional()
3195
+ pcb_center: z153.object({
3196
+ x: z153.number().optional(),
3197
+ y: z153.number().optional()
3190
3198
  }).optional(),
3191
- subcircuit_id: z152.string().optional()
3199
+ subcircuit_id: z153.string().optional()
3192
3200
  }).describe("Error emitted when vias are closer than the allowed clearance");
3193
3201
  expectTypesMatch(true);
3194
3202
 
3195
3203
  // src/pcb/pcb_via_trace_clearance_error.ts
3196
- import { z as z153 } from "zod";
3204
+ import { z as z154 } from "zod";
3197
3205
  var pcb_via_trace_clearance_error = base_circuit_json_error.extend({
3198
- type: z153.literal("pcb_via_trace_clearance_error"),
3206
+ type: z154.literal("pcb_via_trace_clearance_error"),
3199
3207
  pcb_via_trace_clearance_error_id: getZodPrefixedIdWithDefault(
3200
3208
  "pcb_via_trace_clearance_error"
3201
3209
  ),
3202
- error_type: z153.literal("pcb_via_trace_clearance_error").default("pcb_via_trace_clearance_error"),
3203
- pcb_via_id: z153.string(),
3204
- pcb_trace_id: z153.string(),
3210
+ error_type: z154.literal("pcb_via_trace_clearance_error").default("pcb_via_trace_clearance_error"),
3211
+ pcb_via_id: z154.string(),
3212
+ pcb_trace_id: z154.string(),
3205
3213
  minimum_clearance: distance.optional(),
3206
3214
  actual_clearance: distance.optional(),
3207
- center: z153.object({
3208
- x: z153.number().optional(),
3209
- y: z153.number().optional()
3215
+ center: z154.object({
3216
+ x: z154.number().optional(),
3217
+ y: z154.number().optional()
3210
3218
  }).optional(),
3211
- subcircuit_id: z153.string().optional()
3219
+ subcircuit_id: z154.string().optional()
3212
3220
  }).describe(
3213
3221
  "Error emitted when a via and trace are closer than the allowed clearance"
3214
3222
  );
@@ -3217,41 +3225,41 @@ expectTypesMatch(
3217
3225
  );
3218
3226
 
3219
3227
  // src/pcb/pcb_pad_pad_clearance_error.ts
3220
- import { z as z154 } from "zod";
3228
+ import { z as z155 } from "zod";
3221
3229
  var pcb_pad_pad_clearance_error = base_circuit_json_error.extend({
3222
- type: z154.literal("pcb_pad_pad_clearance_error"),
3230
+ type: z155.literal("pcb_pad_pad_clearance_error"),
3223
3231
  pcb_pad_pad_clearance_error_id: getZodPrefixedIdWithDefault(
3224
3232
  "pcb_pad_pad_clearance_error"
3225
3233
  ),
3226
- error_type: z154.literal("pcb_pad_pad_clearance_error").default("pcb_pad_pad_clearance_error"),
3227
- pcb_pad_ids: z154.array(z154.string()).min(2),
3234
+ error_type: z155.literal("pcb_pad_pad_clearance_error").default("pcb_pad_pad_clearance_error"),
3235
+ pcb_pad_ids: z155.array(z155.string()).min(2),
3228
3236
  minimum_clearance: distance.optional(),
3229
3237
  actual_clearance: distance.optional(),
3230
- center: z154.object({
3231
- x: z154.number().optional(),
3232
- y: z154.number().optional()
3238
+ center: z155.object({
3239
+ x: z155.number().optional(),
3240
+ y: z155.number().optional()
3233
3241
  }).optional(),
3234
- subcircuit_id: z154.string().optional()
3242
+ subcircuit_id: z155.string().optional()
3235
3243
  }).describe("Error emitted when pads are closer than the allowed clearance");
3236
3244
  expectTypesMatch(true);
3237
3245
 
3238
3246
  // src/pcb/pcb_pad_trace_clearance_error.ts
3239
- import { z as z155 } from "zod";
3247
+ import { z as z156 } from "zod";
3240
3248
  var pcb_pad_trace_clearance_error = base_circuit_json_error.extend({
3241
- type: z155.literal("pcb_pad_trace_clearance_error"),
3249
+ type: z156.literal("pcb_pad_trace_clearance_error"),
3242
3250
  pcb_pad_trace_clearance_error_id: getZodPrefixedIdWithDefault(
3243
3251
  "pcb_pad_trace_clearance_error"
3244
3252
  ),
3245
- error_type: z155.literal("pcb_pad_trace_clearance_error").default("pcb_pad_trace_clearance_error"),
3246
- pcb_pad_id: z155.string(),
3247
- pcb_trace_id: z155.string(),
3253
+ error_type: z156.literal("pcb_pad_trace_clearance_error").default("pcb_pad_trace_clearance_error"),
3254
+ pcb_pad_id: z156.string(),
3255
+ pcb_trace_id: z156.string(),
3248
3256
  minimum_clearance: distance.optional(),
3249
3257
  actual_clearance: distance.optional(),
3250
- center: z155.object({
3251
- x: z155.number().optional(),
3252
- y: z155.number().optional()
3258
+ center: z156.object({
3259
+ x: z156.number().optional(),
3260
+ y: z156.number().optional()
3253
3261
  }).optional(),
3254
- subcircuit_id: z155.string().optional()
3262
+ subcircuit_id: z156.string().optional()
3255
3263
  }).describe(
3256
3264
  "Error emitted when a pad and trace are closer than allowed clearance"
3257
3265
  );
@@ -3260,89 +3268,89 @@ expectTypesMatch(
3260
3268
  );
3261
3269
 
3262
3270
  // src/pcb/pcb_courtyard_rect.ts
3263
- import { z as z156 } from "zod";
3264
- var pcb_courtyard_rect = z156.object({
3265
- type: z156.literal("pcb_courtyard_rect"),
3271
+ import { z as z157 } from "zod";
3272
+ var pcb_courtyard_rect = z157.object({
3273
+ type: z157.literal("pcb_courtyard_rect"),
3266
3274
  pcb_courtyard_rect_id: getZodPrefixedIdWithDefault("pcb_courtyard_rect"),
3267
- pcb_component_id: z156.string(),
3268
- pcb_group_id: z156.string().optional(),
3269
- subcircuit_id: z156.string().optional(),
3275
+ pcb_component_id: z157.string(),
3276
+ pcb_group_id: z157.string().optional(),
3277
+ subcircuit_id: z157.string().optional(),
3270
3278
  center: point,
3271
3279
  width: length,
3272
3280
  height: length,
3273
3281
  layer: visible_layer,
3274
3282
  ccw_rotation: rotation.optional(),
3275
- color: z156.string().optional()
3283
+ color: z157.string().optional()
3276
3284
  }).describe("Defines a courtyard rectangle on the PCB");
3277
3285
  expectTypesMatch(true);
3278
3286
 
3279
3287
  // src/pcb/pcb_courtyard_outline.ts
3280
- import { z as z157 } from "zod";
3281
- var pcb_courtyard_outline = z157.object({
3282
- type: z157.literal("pcb_courtyard_outline"),
3288
+ import { z as z158 } from "zod";
3289
+ var pcb_courtyard_outline = z158.object({
3290
+ type: z158.literal("pcb_courtyard_outline"),
3283
3291
  pcb_courtyard_outline_id: getZodPrefixedIdWithDefault(
3284
3292
  "pcb_courtyard_outline"
3285
3293
  ),
3286
- pcb_component_id: z157.string(),
3287
- pcb_group_id: z157.string().optional(),
3288
- subcircuit_id: z157.string().optional(),
3294
+ pcb_component_id: z158.string(),
3295
+ pcb_group_id: z158.string().optional(),
3296
+ subcircuit_id: z158.string().optional(),
3289
3297
  layer: visible_layer,
3290
- outline: z157.array(point).min(2)
3298
+ outline: z158.array(point).min(2)
3291
3299
  }).describe("Defines a courtyard outline on the PCB");
3292
3300
  expectTypesMatch(true);
3293
3301
 
3294
3302
  // src/pcb/pcb_courtyard_polygon.ts
3295
- import { z as z158 } from "zod";
3296
- var pcb_courtyard_polygon = z158.object({
3297
- type: z158.literal("pcb_courtyard_polygon"),
3303
+ import { z as z159 } from "zod";
3304
+ var pcb_courtyard_polygon = z159.object({
3305
+ type: z159.literal("pcb_courtyard_polygon"),
3298
3306
  pcb_courtyard_polygon_id: getZodPrefixedIdWithDefault(
3299
3307
  "pcb_courtyard_polygon"
3300
3308
  ),
3301
- pcb_component_id: z158.string(),
3302
- pcb_group_id: z158.string().optional(),
3303
- subcircuit_id: z158.string().optional(),
3309
+ pcb_component_id: z159.string(),
3310
+ pcb_group_id: z159.string().optional(),
3311
+ subcircuit_id: z159.string().optional(),
3304
3312
  layer: visible_layer,
3305
- points: z158.array(point).min(3),
3306
- color: z158.string().optional()
3313
+ points: z159.array(point).min(3),
3314
+ color: z159.string().optional()
3307
3315
  }).describe("Defines a courtyard polygon on the PCB");
3308
3316
  expectTypesMatch(true);
3309
3317
 
3310
3318
  // src/pcb/pcb_courtyard_circle.ts
3311
- import { z as z159 } from "zod";
3312
- var pcb_courtyard_circle = z159.object({
3313
- type: z159.literal("pcb_courtyard_circle"),
3319
+ import { z as z160 } from "zod";
3320
+ var pcb_courtyard_circle = z160.object({
3321
+ type: z160.literal("pcb_courtyard_circle"),
3314
3322
  pcb_courtyard_circle_id: getZodPrefixedIdWithDefault(
3315
3323
  "pcb_courtyard_circle"
3316
3324
  ),
3317
- pcb_component_id: z159.string(),
3318
- pcb_group_id: z159.string().optional(),
3319
- subcircuit_id: z159.string().optional(),
3325
+ pcb_component_id: z160.string(),
3326
+ pcb_group_id: z160.string().optional(),
3327
+ subcircuit_id: z160.string().optional(),
3320
3328
  center: point,
3321
3329
  radius: length,
3322
3330
  layer: visible_layer,
3323
- color: z159.string().optional()
3331
+ color: z160.string().optional()
3324
3332
  }).describe("Defines a courtyard circle on the PCB");
3325
3333
  expectTypesMatch(true);
3326
3334
 
3327
3335
  // src/pcb/pcb_courtyard_pill.ts
3328
- import { z as z160 } from "zod";
3329
- var pcb_courtyard_pill = z160.object({
3330
- type: z160.literal("pcb_courtyard_pill"),
3336
+ import { z as z161 } from "zod";
3337
+ var pcb_courtyard_pill = z161.object({
3338
+ type: z161.literal("pcb_courtyard_pill"),
3331
3339
  pcb_courtyard_pill_id: getZodPrefixedIdWithDefault("pcb_courtyard_pill"),
3332
- pcb_component_id: z160.string(),
3333
- pcb_group_id: z160.string().optional(),
3334
- subcircuit_id: z160.string().optional(),
3340
+ pcb_component_id: z161.string(),
3341
+ pcb_group_id: z161.string().optional(),
3342
+ subcircuit_id: z161.string().optional(),
3335
3343
  center: point,
3336
3344
  width: length,
3337
3345
  height: length,
3338
3346
  radius: length,
3339
3347
  layer: visible_layer,
3340
- color: z160.string().optional()
3348
+ color: z161.string().optional()
3341
3349
  }).describe("Defines a courtyard pill on the PCB");
3342
3350
  expectTypesMatch(true);
3343
3351
 
3344
3352
  // src/cad/cad_component.ts
3345
- import { z as z161 } from "zod";
3353
+ import { z as z162 } from "zod";
3346
3354
 
3347
3355
  // src/cad/cad_model_conventions.ts
3348
3356
  var cad_model_formats = [
@@ -3373,49 +3381,49 @@ var cadModelDefaultDirectionMap = {
3373
3381
  };
3374
3382
 
3375
3383
  // src/cad/cad_component.ts
3376
- var cad_component = z161.object({
3377
- type: z161.literal("cad_component"),
3378
- cad_component_id: z161.string(),
3379
- pcb_component_id: z161.string(),
3380
- source_component_id: z161.string(),
3384
+ var cad_component = z162.object({
3385
+ type: z162.literal("cad_component"),
3386
+ cad_component_id: z162.string(),
3387
+ pcb_component_id: z162.string(),
3388
+ source_component_id: z162.string(),
3381
3389
  position: point3,
3382
3390
  rotation: point3.optional(),
3383
3391
  size: point3.optional(),
3384
3392
  layer: layer_ref.optional(),
3385
- subcircuit_id: z161.string().optional(),
3393
+ subcircuit_id: z162.string().optional(),
3386
3394
  // These are all ways to generate/load the 3d model
3387
- footprinter_string: z161.string().optional(),
3388
- model_obj_url: z161.string().optional(),
3389
- model_stl_url: z161.string().optional(),
3390
- model_3mf_url: z161.string().optional(),
3391
- model_gltf_url: z161.string().optional(),
3392
- model_glb_url: z161.string().optional(),
3393
- model_step_url: z161.string().optional(),
3394
- model_wrl_url: z161.string().optional(),
3395
+ footprinter_string: z162.string().optional(),
3396
+ model_obj_url: z162.string().optional(),
3397
+ model_stl_url: z162.string().optional(),
3398
+ model_3mf_url: z162.string().optional(),
3399
+ model_gltf_url: z162.string().optional(),
3400
+ model_glb_url: z162.string().optional(),
3401
+ model_step_url: z162.string().optional(),
3402
+ model_wrl_url: z162.string().optional(),
3395
3403
  model_asset: asset.optional(),
3396
- model_unit_to_mm_scale_factor: z161.number().optional(),
3397
- model_board_normal_direction: z161.enum(cad_model_axis_directions).optional().describe(
3404
+ model_unit_to_mm_scale_factor: z162.number().optional(),
3405
+ model_board_normal_direction: z162.enum(cad_model_axis_directions).optional().describe(
3398
3406
  `The direction in the model's coordinate space that is considered "up" or "coming out of the board surface"`
3399
3407
  ),
3400
3408
  model_origin_position: point3.optional(),
3401
- model_origin_alignment: z161.enum([
3409
+ model_origin_alignment: z162.enum([
3402
3410
  "unknown",
3403
3411
  "center",
3404
3412
  "center_of_component_on_board_surface",
3405
3413
  "bottom_center_of_component"
3406
3414
  ]).optional(),
3407
- model_object_fit: z161.enum(["contain_within_bounds", "fill_bounds"]).optional().default("contain_within_bounds"),
3408
- model_jscad: z161.any().optional(),
3409
- show_as_translucent_model: z161.boolean().optional(),
3410
- show_as_bounding_box: z161.boolean().optional(),
3411
- anchor_alignment: z161.enum(["center", "center_of_component_on_board_surface"]).optional().default("center")
3415
+ model_object_fit: z162.enum(["contain_within_bounds", "fill_bounds"]).optional().default("contain_within_bounds"),
3416
+ model_jscad: z162.any().optional(),
3417
+ show_as_translucent_model: z162.boolean().optional(),
3418
+ show_as_bounding_box: z162.boolean().optional(),
3419
+ anchor_alignment: z162.enum(["center", "center_of_component_on_board_surface"]).optional().default("center")
3412
3420
  }).describe("Defines a component on the PCB");
3413
3421
  expectTypesMatch(true);
3414
3422
 
3415
3423
  // src/simulation/simulation_voltage_source.ts
3416
- import { z as z162 } from "zod";
3417
- var wave_shape = z162.enum(["sinewave", "square", "triangle", "sawtooth"]);
3418
- var percentage = z162.union([z162.string(), z162.number()]).transform((val) => {
3424
+ import { z as z163 } from "zod";
3425
+ var wave_shape = z163.enum(["sinewave", "square", "triangle", "sawtooth"]);
3426
+ var percentage = z163.union([z163.string(), z163.number()]).transform((val) => {
3419
3427
  if (typeof val === "string") {
3420
3428
  if (val.endsWith("%")) {
3421
3429
  return parseFloat(val.slice(0, -1)) / 100;
@@ -3424,30 +3432,30 @@ var percentage = z162.union([z162.string(), z162.number()]).transform((val) => {
3424
3432
  }
3425
3433
  return val;
3426
3434
  }).pipe(
3427
- z162.number().min(0, "Duty cycle must be non-negative").max(1, "Duty cycle cannot be greater than 100%")
3435
+ z163.number().min(0, "Duty cycle must be non-negative").max(1, "Duty cycle cannot be greater than 100%")
3428
3436
  );
3429
- var simulation_dc_voltage_source = z162.object({
3430
- type: z162.literal("simulation_voltage_source"),
3437
+ var simulation_dc_voltage_source = z163.object({
3438
+ type: z163.literal("simulation_voltage_source"),
3431
3439
  simulation_voltage_source_id: getZodPrefixedIdWithDefault(
3432
3440
  "simulation_voltage_source"
3433
3441
  ),
3434
- is_dc_source: z162.literal(true).optional().default(true),
3435
- positive_source_port_id: z162.string().optional(),
3436
- negative_source_port_id: z162.string().optional(),
3437
- positive_source_net_id: z162.string().optional(),
3438
- negative_source_net_id: z162.string().optional(),
3442
+ is_dc_source: z163.literal(true).optional().default(true),
3443
+ positive_source_port_id: z163.string().optional(),
3444
+ negative_source_port_id: z163.string().optional(),
3445
+ positive_source_net_id: z163.string().optional(),
3446
+ negative_source_net_id: z163.string().optional(),
3439
3447
  voltage
3440
3448
  }).describe("Defines a DC voltage source for simulation");
3441
- var simulation_ac_voltage_source = z162.object({
3442
- type: z162.literal("simulation_voltage_source"),
3449
+ var simulation_ac_voltage_source = z163.object({
3450
+ type: z163.literal("simulation_voltage_source"),
3443
3451
  simulation_voltage_source_id: getZodPrefixedIdWithDefault(
3444
3452
  "simulation_voltage_source"
3445
3453
  ),
3446
- is_dc_source: z162.literal(false),
3447
- terminal1_source_port_id: z162.string().optional(),
3448
- terminal2_source_port_id: z162.string().optional(),
3449
- terminal1_source_net_id: z162.string().optional(),
3450
- terminal2_source_net_id: z162.string().optional(),
3454
+ is_dc_source: z163.literal(false),
3455
+ terminal1_source_port_id: z163.string().optional(),
3456
+ terminal2_source_port_id: z163.string().optional(),
3457
+ terminal1_source_net_id: z163.string().optional(),
3458
+ terminal2_source_net_id: z163.string().optional(),
3451
3459
  voltage: voltage.optional(),
3452
3460
  frequency: frequency.optional(),
3453
3461
  peak_to_peak_voltage: voltage.optional(),
@@ -3460,14 +3468,14 @@ var simulation_ac_voltage_source = z162.object({
3460
3468
  pulse_width: ms.optional(),
3461
3469
  period: ms.optional()
3462
3470
  }).describe("Defines an AC voltage source for simulation");
3463
- var simulation_voltage_source = z162.union([simulation_dc_voltage_source, simulation_ac_voltage_source]).describe("Defines a voltage source for simulation");
3471
+ var simulation_voltage_source = z163.union([simulation_dc_voltage_source, simulation_ac_voltage_source]).describe("Defines a voltage source for simulation");
3464
3472
  expectTypesMatch(true);
3465
3473
  expectTypesMatch(true);
3466
3474
  expectTypesMatch(true);
3467
3475
 
3468
3476
  // src/simulation/simulation_current_source.ts
3469
- import { z as z163 } from "zod";
3470
- var percentage2 = z163.union([z163.string(), z163.number()]).transform((val) => {
3477
+ import { z as z164 } from "zod";
3478
+ var percentage2 = z164.union([z164.string(), z164.number()]).transform((val) => {
3471
3479
  if (typeof val === "string") {
3472
3480
  if (val.endsWith("%")) {
3473
3481
  return parseFloat(val.slice(0, -1)) / 100;
@@ -3476,30 +3484,30 @@ var percentage2 = z163.union([z163.string(), z163.number()]).transform((val) =>
3476
3484
  }
3477
3485
  return val;
3478
3486
  }).pipe(
3479
- z163.number().min(0, "Duty cycle must be non-negative").max(1, "Duty cycle cannot be greater than 100%")
3487
+ z164.number().min(0, "Duty cycle must be non-negative").max(1, "Duty cycle cannot be greater than 100%")
3480
3488
  );
3481
- var simulation_dc_current_source = z163.object({
3482
- type: z163.literal("simulation_current_source"),
3489
+ var simulation_dc_current_source = z164.object({
3490
+ type: z164.literal("simulation_current_source"),
3483
3491
  simulation_current_source_id: getZodPrefixedIdWithDefault(
3484
3492
  "simulation_current_source"
3485
3493
  ),
3486
- is_dc_source: z163.literal(true).optional().default(true),
3487
- positive_source_port_id: z163.string().optional(),
3488
- negative_source_port_id: z163.string().optional(),
3489
- positive_source_net_id: z163.string().optional(),
3490
- negative_source_net_id: z163.string().optional(),
3494
+ is_dc_source: z164.literal(true).optional().default(true),
3495
+ positive_source_port_id: z164.string().optional(),
3496
+ negative_source_port_id: z164.string().optional(),
3497
+ positive_source_net_id: z164.string().optional(),
3498
+ negative_source_net_id: z164.string().optional(),
3491
3499
  current
3492
3500
  }).describe("Defines a DC current source for simulation");
3493
- var simulation_ac_current_source = z163.object({
3494
- type: z163.literal("simulation_current_source"),
3501
+ var simulation_ac_current_source = z164.object({
3502
+ type: z164.literal("simulation_current_source"),
3495
3503
  simulation_current_source_id: getZodPrefixedIdWithDefault(
3496
3504
  "simulation_current_source"
3497
3505
  ),
3498
- is_dc_source: z163.literal(false),
3499
- terminal1_source_port_id: z163.string().optional(),
3500
- terminal2_source_port_id: z163.string().optional(),
3501
- terminal1_source_net_id: z163.string().optional(),
3502
- terminal2_source_net_id: z163.string().optional(),
3506
+ is_dc_source: z164.literal(false),
3507
+ terminal1_source_port_id: z164.string().optional(),
3508
+ terminal2_source_port_id: z164.string().optional(),
3509
+ terminal1_source_net_id: z164.string().optional(),
3510
+ terminal2_source_net_id: z164.string().optional(),
3503
3511
  current: current.optional(),
3504
3512
  frequency: frequency.optional(),
3505
3513
  peak_to_peak_current: current.optional(),
@@ -3507,31 +3515,31 @@ var simulation_ac_current_source = z163.object({
3507
3515
  phase: rotation.optional(),
3508
3516
  duty_cycle: percentage2.optional()
3509
3517
  }).describe("Defines an AC current source for simulation");
3510
- var simulation_current_source = z163.union([simulation_dc_current_source, simulation_ac_current_source]).describe("Defines a current source for simulation");
3518
+ var simulation_current_source = z164.union([simulation_dc_current_source, simulation_ac_current_source]).describe("Defines a current source for simulation");
3511
3519
  expectTypesMatch(true);
3512
3520
  expectTypesMatch(true);
3513
3521
  expectTypesMatch(true);
3514
3522
 
3515
3523
  // src/simulation/simulation_experiment.ts
3516
- import { z as z164 } from "zod";
3517
- var experiment_type = z164.union([
3518
- z164.literal("spice_dc_sweep"),
3519
- z164.literal("spice_dc_operating_point"),
3520
- z164.literal("spice_transient_analysis"),
3521
- z164.literal("spice_ac_analysis")
3524
+ import { z as z165 } from "zod";
3525
+ var experiment_type = z165.union([
3526
+ z165.literal("spice_dc_sweep"),
3527
+ z165.literal("spice_dc_operating_point"),
3528
+ z165.literal("spice_transient_analysis"),
3529
+ z165.literal("spice_ac_analysis")
3522
3530
  ]);
3523
- var spice_simulation_options = z164.object({
3524
- method: z164.enum(["trap", "gear"]).optional(),
3525
- reltol: z164.union([z164.number(), z164.string()]).optional(),
3526
- abstol: z164.union([z164.number(), z164.string()]).optional(),
3527
- vntol: z164.union([z164.number(), z164.string()]).optional()
3531
+ var spice_simulation_options = z165.object({
3532
+ method: z165.enum(["trap", "gear"]).optional(),
3533
+ reltol: z165.union([z165.number(), z165.string()]).optional(),
3534
+ abstol: z165.union([z165.number(), z165.string()]).optional(),
3535
+ vntol: z165.union([z165.number(), z165.string()]).optional()
3528
3536
  }).describe("SPICE solver options for a simulation experiment");
3529
- var simulation_experiment = z164.object({
3530
- type: z164.literal("simulation_experiment"),
3537
+ var simulation_experiment = z165.object({
3538
+ type: z165.literal("simulation_experiment"),
3531
3539
  simulation_experiment_id: getZodPrefixedIdWithDefault(
3532
3540
  "simulation_experiment"
3533
3541
  ),
3534
- name: z164.string(),
3542
+ name: z165.string(),
3535
3543
  experiment_type,
3536
3544
  time_per_step: duration_ms.optional(),
3537
3545
  start_time_ms: ms.optional(),
@@ -3541,80 +3549,73 @@ var simulation_experiment = z164.object({
3541
3549
  expectTypesMatch(true);
3542
3550
 
3543
3551
  // src/simulation/simulation_transient_voltage_graph.ts
3544
- import { z as z165 } from "zod";
3545
- var simulation_transient_voltage_graph = z165.object({
3546
- type: z165.literal("simulation_transient_voltage_graph"),
3552
+ import { z as z166 } from "zod";
3553
+ var simulation_transient_voltage_graph = z166.object({
3554
+ type: z166.literal("simulation_transient_voltage_graph"),
3547
3555
  simulation_transient_voltage_graph_id: getZodPrefixedIdWithDefault(
3548
3556
  "simulation_transient_voltage_graph"
3549
3557
  ),
3550
- simulation_experiment_id: z165.string(),
3551
- timestamps_ms: z165.array(z165.number()).optional(),
3552
- voltage_levels: z165.array(z165.number()),
3553
- source_component_id: z165.string().optional(),
3554
- subcircuit_connectivity_map_key: z165.string().optional(),
3558
+ simulation_experiment_id: z166.string(),
3559
+ timestamps_ms: z166.array(z166.number()).optional(),
3560
+ voltage_levels: z166.array(z166.number()),
3561
+ source_component_id: z166.string().optional(),
3562
+ subcircuit_connectivity_map_key: z166.string().optional(),
3555
3563
  time_per_step: duration_ms,
3556
3564
  start_time_ms: ms,
3557
3565
  end_time_ms: ms,
3558
- name: z165.string().optional(),
3559
- color: z165.string().optional()
3566
+ name: z166.string().optional(),
3567
+ color: z166.string().optional()
3560
3568
  }).describe("Stores voltage measurements over time for a simulation");
3561
3569
  expectTypesMatch(true);
3562
3570
 
3563
3571
  // src/simulation/simulation_transient_current_graph.ts
3564
- import { z as z166 } from "zod";
3565
- var simulation_transient_current_graph = z166.object({
3566
- type: z166.literal("simulation_transient_current_graph"),
3572
+ import { z as z167 } from "zod";
3573
+ var simulation_transient_current_graph = z167.object({
3574
+ type: z167.literal("simulation_transient_current_graph"),
3567
3575
  simulation_transient_current_graph_id: getZodPrefixedIdWithDefault(
3568
3576
  "simulation_transient_current_graph"
3569
3577
  ),
3570
- simulation_experiment_id: z166.string(),
3571
- timestamps_ms: z166.array(z166.number()).optional(),
3572
- current_levels: z166.array(z166.number()),
3573
- source_component_id: z166.string().optional(),
3574
- subcircuit_connectivity_map_key: z166.string().optional(),
3578
+ simulation_experiment_id: z167.string(),
3579
+ timestamps_ms: z167.array(z167.number()).optional(),
3580
+ current_levels: z167.array(z167.number()),
3581
+ source_component_id: z167.string().optional(),
3582
+ subcircuit_connectivity_map_key: z167.string().optional(),
3575
3583
  time_per_step: duration_ms,
3576
3584
  start_time_ms: ms,
3577
3585
  end_time_ms: ms,
3578
- name: z166.string().optional(),
3579
- color: z166.string().optional()
3586
+ name: z167.string().optional(),
3587
+ color: z167.string().optional()
3580
3588
  }).describe("Stores current measurements over time for a simulation");
3581
3589
  expectTypesMatch(true);
3582
3590
 
3583
3591
  // src/simulation/simulation_switch.ts
3584
- import { z as z167 } from "zod";
3585
- var simulation_switch = z167.object({
3586
- type: z167.literal("simulation_switch"),
3592
+ import { z as z168 } from "zod";
3593
+ var simulation_switch = z168.object({
3594
+ type: z168.literal("simulation_switch"),
3587
3595
  simulation_switch_id: getZodPrefixedIdWithDefault("simulation_switch"),
3588
- source_component_id: z167.string().optional(),
3596
+ source_component_id: z168.string().optional(),
3589
3597
  closes_at: ms.optional(),
3590
3598
  opens_at: ms.optional(),
3591
- starts_closed: z167.boolean().optional(),
3599
+ starts_closed: z168.boolean().optional(),
3592
3600
  switching_frequency: frequency.optional()
3593
3601
  }).describe("Defines a switch for simulation timing control");
3594
3602
  expectTypesMatch(true);
3595
3603
 
3596
3604
  // src/simulation/simulation_voltage_probe.ts
3597
- import { z as z168 } from "zod";
3598
- var simulation_voltage_probe_display_options = z168.object({
3599
- label: z168.string().optional(),
3600
- center: z168.number().optional(),
3601
- offset_divs: z168.number().optional(),
3602
- units_per_div: z168.number().optional()
3603
- });
3604
- var simulation_voltage_probe = z168.object({
3605
- type: z168.literal("simulation_voltage_probe"),
3605
+ import { z as z169 } from "zod";
3606
+ var simulation_voltage_probe = z169.object({
3607
+ type: z169.literal("simulation_voltage_probe"),
3606
3608
  simulation_voltage_probe_id: getZodPrefixedIdWithDefault(
3607
3609
  "simulation_voltage_probe"
3608
3610
  ),
3609
- source_component_id: z168.string().optional(),
3610
- name: z168.string().optional(),
3611
- signal_input_source_port_id: z168.string().optional(),
3612
- signal_input_source_net_id: z168.string().optional(),
3613
- reference_input_source_port_id: z168.string().optional(),
3614
- reference_input_source_net_id: z168.string().optional(),
3615
- subcircuit_id: z168.string().optional(),
3616
- color: z168.string().optional(),
3617
- display_options: simulation_voltage_probe_display_options.optional()
3611
+ source_component_id: z169.string().optional(),
3612
+ name: z169.string().optional(),
3613
+ signal_input_source_port_id: z169.string().optional(),
3614
+ signal_input_source_net_id: z169.string().optional(),
3615
+ reference_input_source_port_id: z169.string().optional(),
3616
+ reference_input_source_net_id: z169.string().optional(),
3617
+ subcircuit_id: z169.string().optional(),
3618
+ color: z169.string().optional()
3618
3619
  }).describe(
3619
3620
  "Defines a voltage probe for simulation. If a reference input is not provided, it measures against ground. If a reference input is provided, it measures the differential voltage between two points."
3620
3621
  ).superRefine((data, ctx) => {
@@ -3624,20 +3625,20 @@ var simulation_voltage_probe = z168.object({
3624
3625
  const has_nets = !!data.signal_input_source_net_id || !!data.reference_input_source_net_id;
3625
3626
  if (has_ports && has_nets) {
3626
3627
  ctx.addIssue({
3627
- code: z168.ZodIssueCode.custom,
3628
+ code: z169.ZodIssueCode.custom,
3628
3629
  message: "Cannot mix port and net connections in a differential probe."
3629
3630
  });
3630
3631
  } else if (has_ports) {
3631
3632
  if (!data.signal_input_source_port_id || !data.reference_input_source_port_id) {
3632
3633
  ctx.addIssue({
3633
- code: z168.ZodIssueCode.custom,
3634
+ code: z169.ZodIssueCode.custom,
3634
3635
  message: "Differential port probe requires both signal_input_source_port_id and reference_input_source_port_id."
3635
3636
  });
3636
3637
  }
3637
3638
  } else if (has_nets) {
3638
3639
  if (!data.signal_input_source_net_id || !data.reference_input_source_net_id) {
3639
3640
  ctx.addIssue({
3640
- code: z168.ZodIssueCode.custom,
3641
+ code: z169.ZodIssueCode.custom,
3641
3642
  message: "Differential net probe requires both signal_input_source_net_id and reference_input_source_net_id."
3642
3643
  });
3643
3644
  }
@@ -3645,37 +3646,29 @@ var simulation_voltage_probe = z168.object({
3645
3646
  } else {
3646
3647
  if (!!data.signal_input_source_port_id === !!data.signal_input_source_net_id) {
3647
3648
  ctx.addIssue({
3648
- code: z168.ZodIssueCode.custom,
3649
+ code: z169.ZodIssueCode.custom,
3649
3650
  message: "A voltage probe must have exactly one of signal_input_source_port_id or signal_input_source_net_id."
3650
3651
  });
3651
3652
  }
3652
3653
  }
3653
3654
  });
3654
3655
  expectTypesMatch(true);
3655
- expectTypesMatch(true);
3656
3656
 
3657
3657
  // src/simulation/simulation_current_probe.ts
3658
- import { z as z169 } from "zod";
3659
- var simulation_current_probe_display_options = z169.object({
3660
- label: z169.string().optional(),
3661
- center: z169.number().optional(),
3662
- offset_divs: z169.number().optional(),
3663
- units_per_div: z169.number().optional()
3664
- });
3665
- var simulation_current_probe = z169.object({
3666
- type: z169.literal("simulation_current_probe"),
3658
+ import { z as z170 } from "zod";
3659
+ var simulation_current_probe = z170.object({
3660
+ type: z170.literal("simulation_current_probe"),
3667
3661
  simulation_current_probe_id: getZodPrefixedIdWithDefault(
3668
3662
  "simulation_current_probe"
3669
3663
  ),
3670
- source_component_id: z169.string().optional(),
3671
- name: z169.string().optional(),
3672
- positive_source_port_id: z169.string().optional(),
3673
- negative_source_port_id: z169.string().optional(),
3674
- positive_source_net_id: z169.string().optional(),
3675
- negative_source_net_id: z169.string().optional(),
3676
- subcircuit_id: z169.string().optional(),
3677
- color: z169.string().optional(),
3678
- display_options: simulation_current_probe_display_options.optional()
3664
+ source_component_id: z170.string().optional(),
3665
+ name: z170.string().optional(),
3666
+ positive_source_port_id: z170.string().optional(),
3667
+ negative_source_port_id: z170.string().optional(),
3668
+ positive_source_net_id: z170.string().optional(),
3669
+ negative_source_net_id: z170.string().optional(),
3670
+ subcircuit_id: z170.string().optional(),
3671
+ color: z170.string().optional()
3679
3672
  }).describe(
3680
3673
  "Defines a current probe for simulation. It measures current flowing from the positive endpoint to the negative endpoint."
3681
3674
  ).superRefine((data, ctx) => {
@@ -3687,7 +3680,7 @@ var simulation_current_probe = z169.object({
3687
3680
  const hasNets = hasPositiveNet || hasNegativeNet;
3688
3681
  if (hasPorts && hasNets) {
3689
3682
  ctx.addIssue({
3690
- code: z169.ZodIssueCode.custom,
3683
+ code: z170.ZodIssueCode.custom,
3691
3684
  message: "Cannot mix port and net connections in a current probe."
3692
3685
  });
3693
3686
  return;
@@ -3695,7 +3688,7 @@ var simulation_current_probe = z169.object({
3695
3688
  if (hasPorts) {
3696
3689
  if (!hasPositivePort || !hasNegativePort) {
3697
3690
  ctx.addIssue({
3698
- code: z169.ZodIssueCode.custom,
3691
+ code: z170.ZodIssueCode.custom,
3699
3692
  message: "Current probe using source ports requires both positive_source_port_id and negative_source_port_id."
3700
3693
  });
3701
3694
  }
@@ -3704,65 +3697,114 @@ var simulation_current_probe = z169.object({
3704
3697
  if (hasNets) {
3705
3698
  if (!hasPositiveNet || !hasNegativeNet) {
3706
3699
  ctx.addIssue({
3707
- code: z169.ZodIssueCode.custom,
3700
+ code: z170.ZodIssueCode.custom,
3708
3701
  message: "Current probe using source nets requires both positive_source_net_id and negative_source_net_id."
3709
3702
  });
3710
3703
  }
3711
3704
  return;
3712
3705
  }
3713
3706
  ctx.addIssue({
3714
- code: z169.ZodIssueCode.custom,
3707
+ code: z170.ZodIssueCode.custom,
3715
3708
  message: "A current probe must have either positive/negative source port ids or positive/negative source net ids."
3716
3709
  });
3717
3710
  });
3718
3711
  expectTypesMatch(true);
3719
- expectTypesMatch(true);
3720
3712
 
3721
3713
  // src/simulation/simulation_unknown_experiment_error.ts
3722
- import { z as z170 } from "zod";
3714
+ import { z as z171 } from "zod";
3723
3715
  var simulation_unknown_experiment_error = base_circuit_json_error.extend({
3724
- type: z170.literal("simulation_unknown_experiment_error"),
3716
+ type: z171.literal("simulation_unknown_experiment_error"),
3725
3717
  simulation_unknown_experiment_error_id: getZodPrefixedIdWithDefault(
3726
3718
  "simulation_unknown_experiment_error"
3727
3719
  ),
3728
- error_type: z170.literal("simulation_unknown_experiment_error").default("simulation_unknown_experiment_error"),
3729
- simulation_experiment_id: z170.string().optional(),
3730
- subcircuit_id: z170.string().optional()
3720
+ error_type: z171.literal("simulation_unknown_experiment_error").default("simulation_unknown_experiment_error"),
3721
+ simulation_experiment_id: z171.string().optional(),
3722
+ subcircuit_id: z171.string().optional()
3731
3723
  }).describe("An unknown error occurred during the simulation experiment.");
3732
3724
  expectTypesMatch(true);
3733
3725
 
3734
3726
  // src/simulation/simulation_op_amp.ts
3735
- import { z as z171 } from "zod";
3736
- var simulation_op_amp = z171.object({
3737
- type: z171.literal("simulation_op_amp"),
3727
+ import { z as z172 } from "zod";
3728
+ var simulation_op_amp = z172.object({
3729
+ type: z172.literal("simulation_op_amp"),
3738
3730
  simulation_op_amp_id: getZodPrefixedIdWithDefault("simulation_op_amp"),
3739
- source_component_id: z171.string().optional(),
3740
- inverting_input_source_port_id: z171.string(),
3741
- non_inverting_input_source_port_id: z171.string(),
3742
- output_source_port_id: z171.string(),
3743
- positive_supply_source_port_id: z171.string(),
3744
- negative_supply_source_port_id: z171.string()
3731
+ source_component_id: z172.string().optional(),
3732
+ inverting_input_source_port_id: z172.string(),
3733
+ non_inverting_input_source_port_id: z172.string(),
3734
+ output_source_port_id: z172.string(),
3735
+ positive_supply_source_port_id: z172.string(),
3736
+ negative_supply_source_port_id: z172.string()
3745
3737
  }).describe("Defines a simple ideal operational amplifier for simulation");
3746
3738
  expectTypesMatch(true);
3747
3739
 
3748
3740
  // src/simulation/simulation_spice_subcircuit.ts
3749
- import { z as z172 } from "zod";
3750
- var simulation_spice_subcircuit = z172.object({
3751
- type: z172.literal("simulation_spice_subcircuit"),
3741
+ import { z as z173 } from "zod";
3742
+ var simulation_spice_subcircuit = z173.object({
3743
+ type: z173.literal("simulation_spice_subcircuit"),
3752
3744
  simulation_spice_subcircuit_id: getZodPrefixedIdWithDefault(
3753
3745
  "simulation_spice_subcircuit"
3754
3746
  ),
3755
- source_component_id: z172.string(),
3756
- spice_pin_to_source_port_map: z172.record(z172.string(), z172.string()),
3757
- subcircuit_source: z172.string()
3747
+ source_component_id: z173.string(),
3748
+ spice_pin_to_source_port_map: z173.record(z173.string(), z173.string()),
3749
+ subcircuit_source: z173.string()
3758
3750
  }).describe("Defines a custom SPICE subcircuit model for simulation");
3759
3751
  expectTypesMatch(
3760
3752
  true
3761
3753
  );
3762
3754
 
3755
+ // src/simulation/simulation_oscilloscope_trace.ts
3756
+ import { z as z174 } from "zod";
3757
+ var hasValue = (value) => value !== void 0;
3758
+ var simulation_oscilloscope_trace = z174.object({
3759
+ type: z174.literal("simulation_oscilloscope_trace"),
3760
+ simulation_oscilloscope_trace_id: getZodPrefixedIdWithDefault(
3761
+ "simulation_oscilloscope_trace"
3762
+ ),
3763
+ simulation_transient_voltage_graph_id: z174.string().optional(),
3764
+ simulation_transient_current_graph_id: z174.string().optional(),
3765
+ simulation_voltage_probe_id: z174.string().optional(),
3766
+ simulation_current_probe_id: z174.string().optional(),
3767
+ display_name: z174.string().optional(),
3768
+ color: z174.string().optional(),
3769
+ display_center_value: z174.number().optional(),
3770
+ display_center_offset_divs: z174.number().optional(),
3771
+ volts_per_div: z174.number().positive().optional(),
3772
+ amps_per_div: z174.number().positive().optional()
3773
+ }).describe(
3774
+ "Defines how a simulation measurement is rendered as an oscilloscope-style trace."
3775
+ ).superRefine((data, ctx) => {
3776
+ const voltageReferences = [
3777
+ data.simulation_transient_voltage_graph_id,
3778
+ data.simulation_voltage_probe_id
3779
+ ].filter(hasValue).length;
3780
+ const currentReferences = [
3781
+ data.simulation_transient_current_graph_id,
3782
+ data.simulation_current_probe_id
3783
+ ].filter(hasValue).length;
3784
+ if (voltageReferences + currentReferences !== 1) {
3785
+ ctx.addIssue({
3786
+ code: z174.ZodIssueCode.custom,
3787
+ message: "An oscilloscope trace must reference exactly one voltage graph, current graph, voltage probe, or current probe."
3788
+ });
3789
+ }
3790
+ if (voltageReferences > 0 && data.amps_per_div !== void 0) {
3791
+ ctx.addIssue({
3792
+ code: z174.ZodIssueCode.custom,
3793
+ message: "Voltage oscilloscope traces must use volts_per_div, not amps_per_div."
3794
+ });
3795
+ }
3796
+ if (currentReferences > 0 && data.volts_per_div !== void 0) {
3797
+ ctx.addIssue({
3798
+ code: z174.ZodIssueCode.custom,
3799
+ message: "Current oscilloscope traces must use amps_per_div, not volts_per_div."
3800
+ });
3801
+ }
3802
+ });
3803
+ expectTypesMatch(true);
3804
+
3763
3805
  // src/any_circuit_element.ts
3764
- import { z as z173 } from "zod";
3765
- var any_circuit_element = z173.union([
3806
+ import { z as z175 } from "zod";
3807
+ var any_circuit_element = z175.union([
3766
3808
  source_trace,
3767
3809
  source_port,
3768
3810
  source_component_internal_connection,
@@ -3900,6 +3942,7 @@ var any_circuit_element = z173.union([
3900
3942
  simulation_switch,
3901
3943
  simulation_voltage_probe,
3902
3944
  simulation_current_probe,
3945
+ simulation_oscilloscope_trace,
3903
3946
  simulation_unknown_experiment_error,
3904
3947
  simulation_op_amp,
3905
3948
  simulation_spice_subcircuit
@@ -4079,19 +4122,18 @@ export {
4079
4122
  simulation_ac_current_source,
4080
4123
  simulation_ac_voltage_source,
4081
4124
  simulation_current_probe,
4082
- simulation_current_probe_display_options,
4083
4125
  simulation_current_source,
4084
4126
  simulation_dc_current_source,
4085
4127
  simulation_dc_voltage_source,
4086
4128
  simulation_experiment,
4087
4129
  simulation_op_amp,
4130
+ simulation_oscilloscope_trace,
4088
4131
  simulation_spice_subcircuit,
4089
4132
  simulation_switch,
4090
4133
  simulation_transient_current_graph,
4091
4134
  simulation_transient_voltage_graph,
4092
4135
  simulation_unknown_experiment_error,
4093
4136
  simulation_voltage_probe,
4094
- simulation_voltage_probe_display_options,
4095
4137
  simulation_voltage_source,
4096
4138
  size,
4097
4139
  source_ambiguous_port_reference,
@@ -4118,6 +4160,7 @@ export {
4118
4160
  source_port,
4119
4161
  source_project_metadata,
4120
4162
  source_property_ignored_warning,
4163
+ source_simple_ammeter,
4121
4164
  source_simple_battery,
4122
4165
  source_simple_capacitor,
4123
4166
  source_simple_chip,