@campfire-interactive/master-data-client 3.0.2 → 3.1.2

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.
Files changed (44) hide show
  1. package/dist/client.d.ts +10 -0
  2. package/dist/client.d.ts.map +1 -1
  3. package/dist/client.js +15 -0
  4. package/dist/client.js.map +1 -1
  5. package/dist/equipment.d.ts +17 -0
  6. package/dist/equipment.d.ts.map +1 -0
  7. package/dist/{suppliers.js → equipment.js} +21 -22
  8. package/dist/equipment.js.map +1 -0
  9. package/dist/index.d.ts +6 -1
  10. package/dist/index.d.ts.map +1 -1
  11. package/dist/index.js +11 -1
  12. package/dist/index.js.map +1 -1
  13. package/dist/partTypeDefaults.d.ts +12 -0
  14. package/dist/partTypeDefaults.d.ts.map +1 -0
  15. package/dist/{partFamilies.js → partTypeDefaults.js} +12 -9
  16. package/dist/partTypeDefaults.js.map +1 -0
  17. package/dist/partTypes.d.ts +13 -0
  18. package/dist/partTypes.d.ts.map +1 -0
  19. package/dist/partTypes.js +57 -0
  20. package/dist/partTypes.js.map +1 -0
  21. package/dist/processFamilies.d.ts +18 -0
  22. package/dist/processFamilies.d.ts.map +1 -0
  23. package/dist/processFamilies.js +52 -0
  24. package/dist/processFamilies.js.map +1 -0
  25. package/dist/rateCatalog.d.ts +44 -0
  26. package/dist/rateCatalog.d.ts.map +1 -0
  27. package/dist/rateCatalog.js +126 -0
  28. package/dist/rateCatalog.js.map +1 -0
  29. package/dist/rateLibraries.d.ts +3 -1
  30. package/dist/rateLibraries.d.ts.map +1 -1
  31. package/dist/rateLibraries.js +8 -0
  32. package/dist/rateLibraries.js.map +1 -1
  33. package/dist/rates.d.ts.map +1 -1
  34. package/dist/rates.js +10 -0
  35. package/dist/rates.js.map +1 -1
  36. package/dist/types.d.ts +327 -7
  37. package/dist/types.d.ts.map +1 -1
  38. package/package.json +1 -1
  39. package/dist/partFamilies.d.ts +0 -12
  40. package/dist/partFamilies.d.ts.map +0 -1
  41. package/dist/partFamilies.js.map +0 -1
  42. package/dist/suppliers.d.ts +0 -14
  43. package/dist/suppliers.d.ts.map +0 -1
  44. package/dist/suppliers.js.map +0 -1
package/dist/types.d.ts CHANGED
@@ -111,7 +111,7 @@ export type QuoteStatus = 'draft' | 'costing_requested' | 'costing_in_progress'
111
111
  */
112
112
  export type QuoteCallerRole = 'omsf' | 'cpq' | 'admin';
113
113
  /**
114
- * Quote type discriminator (added 3.1.0). `rfq` = new-business quote (the
114
+ * Quote type discriminator (added 3.0.2). `rfq` = new-business quote (the
115
115
  * default and the only kind before 2026-07). `eco` = Engineering Change
116
116
  * Order quote — a change against an already-awarded quote's assembly,
117
117
  * priced and approved as its own quote. Immutable post-create. When 'eco',
@@ -204,13 +204,13 @@ export interface Quote {
204
204
  */
205
205
  effectiveVolumesByYear: EffectiveVolumeByYear[] | null;
206
206
  status: QuoteStatus;
207
- /** rfq | eco — see {@link QuoteType}. Immutable post-create. (3.1.0) */
207
+ /** rfq | eco — see {@link QuoteType}. Immutable post-create. (3.0.2) */
208
208
  quoteType: QuoteType;
209
209
  /**
210
210
  * ECO-only: the source quote's as-awarded unit price/cost, frozen at ECO
211
211
  * creation. The stored operands for delta reporting — readers compute
212
212
  * delta = effective − baseline; the delta itself is never stored. Always
213
- * null on rfq-type quotes. Decimal-as-string like targetPrice. (3.1.0)
213
+ * null on rfq-type quotes. Decimal-as-string like targetPrice. (3.0.2)
214
214
  */
215
215
  baselineUnitPrice: string | null;
216
216
  baselineUnitCost: string | null;
@@ -288,13 +288,13 @@ export interface CreateQuoteInput {
288
288
  /**
289
289
  * Quote type — defaults to 'rfq'. Immutable post-create. When 'eco',
290
290
  * `referenceQuoteId` becomes REQUIRED and must point to an in-tenant,
291
- * AWARDED, non-eco quote (server-validated). (3.1.0)
291
+ * AWARDED, non-eco quote (server-validated). (3.0.2)
292
292
  */
293
293
  quoteType?: QuoteType;
294
294
  /** ECO-only (422 otherwise): frozen as-awarded unit price of the source
295
- * quote. Decimal as number or string; string preferred. (3.1.0) */
295
+ * quote. Decimal as number or string; string preferred. (3.0.2) */
296
296
  baselineUnitPrice?: number | string;
297
- /** ECO-only (422 otherwise): frozen as-awarded unit cost. (3.1.0) */
297
+ /** ECO-only (422 otherwise): frozen as-awarded unit cost. (3.0.2) */
298
298
  baselineUnitCost?: number | string;
299
299
  }
300
300
  /**
@@ -356,7 +356,7 @@ export interface ListQuotesOptions {
356
356
  quality?: 'draft' | 'verified';
357
357
  customerCompanyId?: string;
358
358
  programId?: string;
359
- /** Filter by quote type. Omitting returns both kinds. (3.1.0) */
359
+ /** Filter by quote type. Omitting returns both kinds. (3.0.2) */
360
360
  quoteType?: QuoteType;
361
361
  include?: ('customerCompany' | 'program')[];
362
362
  }
@@ -422,9 +422,14 @@ export interface Plant {
422
422
  region: string | null;
423
423
  headcount: number | null;
424
424
  annualCapacityHours: number | null;
425
+ /** Annual throughput capacity in units (distinct from annualCapacityHours). */
426
+ annualCapacityUnits: number | null;
425
427
  /** 0..1. */
426
428
  currentUtilization: number | null;
427
429
  riskLevel: string | null;
430
+ /** Plant operating currency (ISO 4217). Ergonomic default for rate entry;
431
+ * rate values carry their own authoritative currency. Defaults to "USD". */
432
+ currency: string;
428
433
  numShifts: number;
429
434
  hoursPerShift: number;
430
435
  workingDaysPerYear: number;
@@ -449,8 +454,10 @@ export interface CreatePlantInput {
449
454
  region?: string;
450
455
  headcount?: number;
451
456
  annualCapacityHours?: number;
457
+ annualCapacityUnits?: number;
452
458
  currentUtilization?: number;
453
459
  riskLevel?: string;
460
+ currency?: string;
454
461
  numShifts?: number;
455
462
  hoursPerShift?: number;
456
463
  workingDaysPerYear?: number;
@@ -467,8 +474,10 @@ export interface UpdatePlantInput {
467
474
  region?: string | null;
468
475
  headcount?: number | null;
469
476
  annualCapacityHours?: number | null;
477
+ annualCapacityUnits?: number | null;
470
478
  currentUtilization?: number | null;
471
479
  riskLevel?: string | null;
480
+ currency?: string;
472
481
  numShifts?: number;
473
482
  hoursPerShift?: number;
474
483
  workingDaysPerYear?: number;
@@ -536,6 +545,8 @@ export interface MergePlantsRequest {
536
545
  export type RateLibraryStatus = 'draft' | 'active' | 'archived';
537
546
  export type RateEntryKind = 'labor' | 'machine' | 'overhead' | 'material' | 'freight';
538
547
  export type RateSourcingMode = 'fixed' | 'indexed';
548
+ export type RateRollForwardMode = 'carry_forward_flagged' | 'blank_force_entry';
549
+ export type RateValueOrigin = 'entered' | 'escalated' | 'overridden' | 'carried_forward';
539
550
  export interface RateLibrary {
540
551
  id: string;
541
552
  tenantId: string;
@@ -545,6 +556,13 @@ export interface RateLibrary {
545
556
  currency: string;
546
557
  effectiveDate: string;
547
558
  effectiveTo: string | null;
559
+ /** Multi-year projection horizon (calendar years) + book-level escalation
560
+ * and roll-forward policy. Carried over from CPQ's RateBook. Null horizon
561
+ * = single-window library. Added in the 2026-07-02 rate superset. */
562
+ horizonStart: number | null;
563
+ horizonEnd: number | null;
564
+ escalationPct: number;
565
+ rollForwardMode: RateRollForwardMode;
548
566
  status: RateLibraryStatus;
549
567
  quality: 'draft' | 'verified';
550
568
  version: number;
@@ -568,17 +586,35 @@ export interface RateEntry {
568
586
  rateLibraryId: string;
569
587
  kind: RateEntryKind;
570
588
  plantId: string | null;
589
+ /** Equipment scope for machine-burden rates (superset). */
590
+ equipmentId: string | null;
591
+ equipmentCode: string | null;
571
592
  skillTier: string | null;
572
593
  materialId: string | null;
594
+ /** Material grade code — resolves to a RateGrade for density. */
595
+ gradeCode: string | null;
573
596
  regionId: string | null;
574
597
  lane: string | null;
598
+ /** Freight mode + packaging container qualifiers. */
599
+ mode: string | null;
600
+ container: string | null;
575
601
  /** Decimal serialized as string to preserve precision across the wire. */
576
602
  rate: string;
603
+ /** Canonical mass-basis cost (Decimal string), derived for material rates. */
604
+ ratePerKg: string | null;
577
605
  unit: string;
578
606
  currency: string;
607
+ /** Per-year projection window (null = inherits the library window). */
608
+ effectiveFrom: string | null;
609
+ effectiveTo: string | null;
610
+ /** Per-row escalation override (null = inherit the library default). */
611
+ escalationPct: number | null;
612
+ origin: RateValueOrigin;
579
613
  sourcingMode: RateSourcingMode;
580
614
  indexRef: string | null;
581
615
  lastSyncedAt: string | null;
616
+ sourceSystem: string | null;
617
+ externalRef: string | null;
582
618
  notes: string | null;
583
619
  createdBy: string;
584
620
  updatedBy: string;
@@ -592,6 +628,10 @@ export interface CreateRateLibraryInput {
592
628
  currency?: string;
593
629
  effectiveDate: string;
594
630
  effectiveTo?: string | null;
631
+ horizonStart?: number | null;
632
+ horizonEnd?: number | null;
633
+ escalationPct?: number;
634
+ rollForwardMode?: RateRollForwardMode;
595
635
  }
596
636
  export interface UpdateRateLibraryInput {
597
637
  name?: string;
@@ -600,6 +640,19 @@ export interface UpdateRateLibraryInput {
600
640
  effectiveDate?: string;
601
641
  effectiveTo?: string | null;
602
642
  quality?: 'draft' | 'verified';
643
+ horizonStart?: number | null;
644
+ horizonEnd?: number | null;
645
+ escalationPct?: number;
646
+ rollForwardMode?: RateRollForwardMode;
647
+ }
648
+ export interface RollForwardResult {
649
+ libraryId: string;
650
+ horizonStart: number;
651
+ horizonEnd: number;
652
+ mode: RateRollForwardMode;
653
+ seedsProjected: number;
654
+ rowsCreated: number;
655
+ rowsReplaced: number;
603
656
  }
604
657
  export interface ListRateLibrariesOptions {
605
658
  limit?: number;
@@ -618,29 +671,53 @@ export interface GetRateLibraryOptions {
618
671
  export interface CreateRateEntryInput {
619
672
  kind: RateEntryKind;
620
673
  plantId?: string | null;
674
+ equipmentId?: string | null;
675
+ equipmentCode?: string | null;
621
676
  skillTier?: string | null;
622
677
  materialId?: string | null;
678
+ gradeCode?: string | null;
623
679
  regionId?: string | null;
624
680
  lane?: string | null;
681
+ mode?: string | null;
682
+ container?: string | null;
625
683
  /** Number accepted; string preferred for precision. */
626
684
  rate: number | string;
685
+ ratePerKg?: number | string | null;
627
686
  unit: string;
628
687
  currency?: string;
688
+ effectiveFrom?: string | null;
689
+ effectiveTo?: string | null;
690
+ escalationPct?: number | null;
691
+ origin?: RateValueOrigin;
629
692
  sourcingMode?: RateSourcingMode;
630
693
  indexRef?: string | null;
694
+ sourceSystem?: string | null;
695
+ externalRef?: string | null;
631
696
  notes?: string | null;
632
697
  }
633
698
  export interface UpdateRateEntryInput {
634
699
  plantId?: string | null;
700
+ equipmentId?: string | null;
701
+ equipmentCode?: string | null;
635
702
  skillTier?: string | null;
636
703
  materialId?: string | null;
704
+ gradeCode?: string | null;
637
705
  regionId?: string | null;
638
706
  lane?: string | null;
707
+ mode?: string | null;
708
+ container?: string | null;
639
709
  rate?: number | string;
710
+ ratePerKg?: number | string | null;
640
711
  unit?: string;
641
712
  currency?: string;
713
+ effectiveFrom?: string | null;
714
+ effectiveTo?: string | null;
715
+ escalationPct?: number | null;
716
+ origin?: RateValueOrigin;
642
717
  sourcingMode?: RateSourcingMode;
643
718
  indexRef?: string | null;
719
+ sourceSystem?: string | null;
720
+ externalRef?: string | null;
644
721
  notes?: string | null;
645
722
  }
646
723
  export interface ListRateEntriesOptions {
@@ -649,10 +726,15 @@ export interface ListRateEntriesOptions {
649
726
  export interface RateLookupInput {
650
727
  kind: RateEntryKind;
651
728
  plantId?: string | null;
729
+ equipmentId?: string | null;
730
+ equipmentCode?: string | null;
652
731
  skillTier?: string | null;
653
732
  materialId?: string | null;
733
+ gradeCode?: string | null;
654
734
  regionId?: string | null;
655
735
  lane?: string | null;
736
+ mode?: string | null;
737
+ container?: string | null;
656
738
  /** ISO date (YYYY-MM-DD). Defaults to today. */
657
739
  asOf?: string;
658
740
  }
@@ -664,6 +746,8 @@ export interface RateLookupResult {
664
746
  kind: RateEntryKind;
665
747
  /** Decimal serialized as string. */
666
748
  rate: string;
749
+ /** Decimal serialized as string; null when not a mass-basis material rate. */
750
+ ratePerKg: string | null;
667
751
  unit: string;
668
752
  currency: string;
669
753
  sourcingMode: RateSourcingMode;
@@ -673,12 +757,187 @@ export interface RateLookupResult {
673
757
  /** Echoes the dimensions on the matched entry — handy for consumer audit logging. */
674
758
  resolvedFrom: {
675
759
  plantId: string | null;
760
+ equipmentId: string | null;
761
+ equipmentCode: string | null;
676
762
  skillTier: string | null;
677
763
  materialId: string | null;
764
+ gradeCode: string | null;
678
765
  regionId: string | null;
679
766
  lane: string | null;
767
+ mode: string | null;
768
+ container: string | null;
680
769
  };
681
770
  }
771
+ export interface PlantEquipment {
772
+ id: string;
773
+ tenantId: string;
774
+ plantId: string;
775
+ code: string;
776
+ name: string;
777
+ processFamily: string;
778
+ capacityHoursPerYear: number;
779
+ cavities: number;
780
+ /** OEE availability factor (0..1). */
781
+ availabilityPct: number;
782
+ /** OEE performance factor (0..1). */
783
+ performancePct: number;
784
+ /** CPQ-authored operational defaults — advisory metadata for non-CPQ apps. */
785
+ defaultHeadcount: number;
786
+ defaultAutomationPct: number;
787
+ defaultMachinesPerOperator: number;
788
+ defaultSetupCrew: number;
789
+ status: PlantStatus;
790
+ quality: 'draft' | 'verified';
791
+ createdBy: string;
792
+ updatedBy: string;
793
+ createdAt: string;
794
+ updatedAt: string;
795
+ plant?: Plant;
796
+ }
797
+ export interface CreateEquipmentInput {
798
+ plantId: string;
799
+ code: string;
800
+ name: string;
801
+ processFamily: string;
802
+ capacityHoursPerYear?: number;
803
+ cavities?: number;
804
+ availabilityPct?: number;
805
+ performancePct?: number;
806
+ defaultHeadcount?: number;
807
+ defaultAutomationPct?: number;
808
+ defaultMachinesPerOperator?: number;
809
+ defaultSetupCrew?: number;
810
+ quality?: 'draft' | 'verified';
811
+ }
812
+ export interface UpdateEquipmentInput {
813
+ code?: string;
814
+ name?: string;
815
+ processFamily?: string;
816
+ capacityHoursPerYear?: number;
817
+ cavities?: number;
818
+ availabilityPct?: number;
819
+ performancePct?: number;
820
+ defaultHeadcount?: number;
821
+ defaultAutomationPct?: number;
822
+ defaultMachinesPerOperator?: number;
823
+ defaultSetupCrew?: number;
824
+ quality?: 'draft' | 'verified';
825
+ }
826
+ export interface ListEquipmentOptions {
827
+ limit?: number;
828
+ cursor?: string;
829
+ sort?: string;
830
+ q?: string;
831
+ status?: PlantStatus | 'all';
832
+ quality?: 'draft' | 'verified';
833
+ plantId?: string;
834
+ processFamily?: string;
835
+ include?: 'plant'[];
836
+ }
837
+ export interface GetEquipmentOptions {
838
+ include?: 'plant'[];
839
+ }
840
+ export interface ProcessFamily {
841
+ id: string;
842
+ tenantId: string;
843
+ code: string;
844
+ name: string;
845
+ description: string | null;
846
+ sortOrder: number;
847
+ status: PlantStatus;
848
+ createdBy: string;
849
+ updatedBy: string;
850
+ createdAt: string;
851
+ updatedAt: string;
852
+ }
853
+ export interface CreateProcessFamilyInput {
854
+ code: string;
855
+ name: string;
856
+ description?: string;
857
+ sortOrder?: number;
858
+ }
859
+ export interface UpdateProcessFamilyInput {
860
+ name?: string;
861
+ description?: string | null;
862
+ sortOrder?: number;
863
+ status?: 'active' | 'archived';
864
+ }
865
+ export interface Uom {
866
+ id: string;
867
+ tenantId: string;
868
+ code: string;
869
+ name: string;
870
+ dimension: string | null;
871
+ createdBy: string;
872
+ updatedBy: string;
873
+ createdAt: string;
874
+ updatedAt: string;
875
+ }
876
+ export interface CreateUomInput {
877
+ code: string;
878
+ name: string;
879
+ dimension?: string;
880
+ }
881
+ export interface UpdateUomInput {
882
+ name?: string;
883
+ dimension?: string | null;
884
+ }
885
+ export interface RateLine {
886
+ id: string;
887
+ tenantId: string;
888
+ code: string;
889
+ name: string;
890
+ kind: RateEntryKind;
891
+ allowedUoms: string[];
892
+ description: string | null;
893
+ sortOrder: number;
894
+ status: PlantStatus;
895
+ createdBy: string;
896
+ updatedBy: string;
897
+ createdAt: string;
898
+ updatedAt: string;
899
+ }
900
+ export interface CreateRateLineInput {
901
+ code: string;
902
+ name: string;
903
+ kind: RateEntryKind;
904
+ allowedUoms?: string[];
905
+ description?: string;
906
+ sortOrder?: number;
907
+ }
908
+ export interface UpdateRateLineInput {
909
+ name?: string;
910
+ kind?: RateEntryKind;
911
+ allowedUoms?: string[];
912
+ description?: string | null;
913
+ sortOrder?: number;
914
+ status?: 'active' | 'archived';
915
+ }
916
+ export interface RateGrade {
917
+ id: string;
918
+ tenantId: string;
919
+ code: string;
920
+ name: string;
921
+ materialId: string | null;
922
+ density: number | null;
923
+ status: PlantStatus;
924
+ createdBy: string;
925
+ updatedBy: string;
926
+ createdAt: string;
927
+ updatedAt: string;
928
+ }
929
+ export interface CreateRateGradeInput {
930
+ code: string;
931
+ name: string;
932
+ materialId?: string | null;
933
+ density?: number | null;
934
+ }
935
+ export interface UpdateRateGradeInput {
936
+ name?: string;
937
+ materialId?: string | null;
938
+ density?: number | null;
939
+ status?: 'active' | 'archived';
940
+ }
682
941
  export type ExchangeRateStatus = 'draft' | 'active' | 'archived';
683
942
  export type ExchangeRateScope = 'tenant' | 'global';
684
943
  export interface ExchangeRate {
@@ -782,7 +1041,10 @@ export interface Part {
782
1041
  manufacturingPartNumber: string | null;
783
1042
  name: string;
784
1043
  description: string | null;
1044
+ /** @deprecated free-text; use partTypeId (governed PartType catalog). */
785
1045
  partType: string | null;
1046
+ /** The per-tenant PartType this part is classified as. */
1047
+ partTypeId: string | null;
786
1048
  /** The per-tenant PartCategory this part belongs to. */
787
1049
  partCategoryId: string | null;
788
1050
  manufacturer: string | null;
@@ -795,6 +1057,9 @@ export interface Part {
795
1057
  createdAt: string;
796
1058
  updatedAt: string;
797
1059
  partCategory?: PartCategory;
1060
+ /** Resolved PartType (?include=partType). Named partTypeRef server-side during
1061
+ * the additive window; exposed here as the resolved catalog row. */
1062
+ partTypeRef?: PartType;
798
1063
  currentRevision?: PartRevision;
799
1064
  revisions?: PartRevision[];
800
1065
  /** Which app most-recently wrote any field on this row (provenance). */
@@ -826,7 +1091,9 @@ export interface CreatePartInput {
826
1091
  manufacturingPartNumber?: string | null;
827
1092
  name: string;
828
1093
  description?: string | null;
1094
+ /** @deprecated free-text; use partTypeId. */
829
1095
  partType?: string | null;
1096
+ partTypeId?: string | null;
830
1097
  partCategoryId?: string | null;
831
1098
  manufacturer?: string | null;
832
1099
  quality?: 'draft' | 'verified';
@@ -836,7 +1103,9 @@ export interface UpdatePartInput {
836
1103
  manufacturingPartNumber?: string | null;
837
1104
  name?: string;
838
1105
  description?: string | null;
1106
+ /** @deprecated free-text; use partTypeId. */
839
1107
  partType?: string | null;
1108
+ partTypeId?: string | null;
840
1109
  partCategoryId?: string | null;
841
1110
  manufacturer?: string | null;
842
1111
  quality?: 'draft' | 'verified';
@@ -862,6 +1131,7 @@ export interface ListPartsOptions {
862
1131
  status?: PartStatus | 'all';
863
1132
  quality?: 'draft' | 'verified';
864
1133
  partCategoryId?: string;
1134
+ partTypeId?: string;
865
1135
  partType?: string;
866
1136
  manufacturer?: string;
867
1137
  include?: string[];
@@ -974,6 +1244,56 @@ export interface ListPartCategoriesOptions {
974
1244
  /** When true, request only active categories (drops archived). */
975
1245
  activeOnly?: boolean;
976
1246
  }
1247
+ export interface PartTypeDefault {
1248
+ id: string;
1249
+ code: string;
1250
+ name: string;
1251
+ displayOrder: number;
1252
+ createdBy: string;
1253
+ updatedBy: string;
1254
+ createdAt: string;
1255
+ updatedAt: string;
1256
+ }
1257
+ export interface CreatePartTypeDefaultInput {
1258
+ code: string;
1259
+ name: string;
1260
+ displayOrder?: number;
1261
+ }
1262
+ export interface UpdatePartTypeDefaultInput {
1263
+ code?: string;
1264
+ name?: string;
1265
+ displayOrder?: number;
1266
+ }
1267
+ export type PartTypeStatus = 'active' | 'archived';
1268
+ export interface PartType {
1269
+ id: string;
1270
+ tenantId: string;
1271
+ code: string;
1272
+ name: string;
1273
+ displayOrder: number;
1274
+ status: PartTypeStatus;
1275
+ /** True for tool-seeded defaults: protected (no delete/archive/code-change). */
1276
+ isDefault: boolean;
1277
+ createdBy: string;
1278
+ updatedBy: string;
1279
+ createdAt: string;
1280
+ updatedAt: string;
1281
+ }
1282
+ export interface CreatePartTypeInput {
1283
+ code: string;
1284
+ name: string;
1285
+ displayOrder?: number;
1286
+ }
1287
+ export interface UpdatePartTypeInput {
1288
+ code?: string;
1289
+ name?: string;
1290
+ displayOrder?: number;
1291
+ status?: PartTypeStatus;
1292
+ }
1293
+ export interface ListPartTypesOptions {
1294
+ /** When true, request only active types (drops archived). */
1295
+ activeOnly?: boolean;
1296
+ }
977
1297
  export interface AuditLogEntry {
978
1298
  id: string;
979
1299
  tenantId: string | null;