@routeflow/types 1.0.5 → 1.0.7

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/package.json CHANGED
@@ -1 +1 @@
1
- {"name":"@routeflow/types","version":"1.0.5","description":"Auto-generated TypeScript types from the RouteFlow API OpenAPI specification","main":"dist/exports.js","types":"dist/exports.d.ts","exports":{".":{"types":"./dist/exports.d.ts","default":"./dist/exports.js"},"./raw":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"files":["dist","src"],"scripts":{"generate":"openapi-typescript http://localhost:3001/api/docs-json -o src/index.ts","generate:prod":"openapi-typescript https://api.routeflow.app/api/docs-json -o src/index.ts","build":"tsc","type-check":"tsc --noEmit","prepublishOnly":"npm run build"},"repository":{"type":"git","url":"git+https://github.com/souldevsoul/routeflow-types.git"},"keywords":["routeflow","api","types","typescript","openapi"],"author":"S2S Engineering","license":"MIT","devDependencies":{"openapi-typescript":"^7.4.3","typescript":"^5.7.2"},"publishConfig":{"access":"public"}}
1
+ {"name":"@routeflow/types","version":"1.0.7","description":"Auto-generated TypeScript types from the RouteFlow API OpenAPI specification","main":"dist/exports.js","types":"dist/exports.d.ts","exports":{".":{"types":"./dist/exports.d.ts","default":"./dist/exports.js"},"./raw":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"files":["dist","src"],"scripts":{"generate":"openapi-typescript http://localhost:3001/api/docs-json -o src/index.ts","generate:prod":"openapi-typescript https://api.routeflow.app/api/docs-json -o src/index.ts","build":"tsc","type-check":"tsc --noEmit","prepublishOnly":"npm run build"},"repository":{"type":"git","url":"git+https://github.com/souldevsoul/routeflow-types.git"},"keywords":["routeflow","api","types","typescript","openapi"],"author":"S2S Engineering","license":"MIT","devDependencies":{"openapi-typescript":"^7.4.3","typescript":"^5.7.2"},"publishConfig":{"access":"public"}}
package/src/exports.ts CHANGED
@@ -83,7 +83,13 @@ export type DriverDispatchStatus =
83
83
 
84
84
  export type CustomerType = 'BROKER' | 'SHIPPER' | 'CARRIER';
85
85
 
86
- export type StatementStatus = 'DRAFT' | 'PENDING' | 'APPROVED' | 'PAID';
86
+ // New Driver Profile Enums
87
+ export type EmploymentStatus = 'ACTIVE' | 'TERMINATED' | 'APPLICANT';
88
+ export type CdlClass = 'A' | 'B' | 'C';
89
+ export type ComplianceStatus = 'COMPLIANT' | 'WARNING' | 'EXPIRED' | 'PENDING';
90
+ export type DriverType = 'SOLO' | 'TEAM';
91
+
92
+ // export type StatementStatus = 'DRAFT' | 'PENDING' | 'APPROVED' | 'PAID';
87
93
 
88
94
  export type MessageType = 'TEXT' | 'IMAGE' | 'DOCUMENT' | 'SYSTEM';
89
95
 
@@ -93,6 +99,32 @@ export type ExtractedAssetType = 'DRIVER' | 'TRUCK' | 'TRAILER';
93
99
 
94
100
  export type ExtractedAssetStatus = 'PENDING' | 'APPROVED' | 'REJECTED' | 'MERGED';
95
101
 
102
+ // Email-to-Run Feature Enums
103
+ export type InboundEmailStatus =
104
+ | 'RECEIVED'
105
+ | 'PROCESSING'
106
+ | 'AWAITING_SIGNATURE'
107
+ | 'SIGNED'
108
+ | 'FORWARDED'
109
+ | 'COMPLETED'
110
+ | 'FAILED';
111
+
112
+ export type DocumentSourceType = 'UPLOAD' | 'TELEGRAM' | 'EMAIL' | 'API';
113
+
114
+ export type ExpenseType =
115
+ | 'FUEL'
116
+ | 'REPAIR'
117
+ | 'MAINTENANCE'
118
+ | 'TOLL'
119
+ | 'PARKING'
120
+ | 'SCALE'
121
+ | 'LUMPER'
122
+ | 'DETENTION'
123
+ | 'INSURANCE'
124
+ | 'OTHER';
125
+
126
+ export type ExpenseStatus = 'PENDING' | 'APPROVED' | 'REJECTED' | 'PAID';
127
+
96
128
  // ============================================================================
97
129
  // ENTITY TYPES - WITH Response DTOs (✅ Re-exported from generated types)
98
130
  // ============================================================================
@@ -106,8 +138,8 @@ export type Message = components['schemas']['MessageResponseDto'];
106
138
  export type MessageList = components['schemas']['MessageListResponseDto'];
107
139
 
108
140
  // Statement (has ResponseDto in API)
109
- export type DriverStatement = components['schemas']['StatementResponseDto'];
110
- export type StatementList = components['schemas']['StatementListResponseDto'];
141
+ // export type DriverStatement = components['schemas']['StatementResponseDto'];
142
+ // export type StatementList = components['schemas']['StatementListResponseDto'];
111
143
 
112
144
  // Referral (has ResponseDto in API)
113
145
  export type Referral = components['schemas']['ReferralResponseDto'];
@@ -167,6 +199,51 @@ export interface Driver {
167
199
  createdAt: string;
168
200
  updatedAt: string;
169
201
  user?: User;
202
+
203
+ // Address
204
+ streetAddress?: string | null;
205
+ city?: string | null;
206
+ state?: string | null;
207
+ zipCode?: string | null;
208
+ country?: string | null;
209
+
210
+ // Emergency Contact
211
+ emergencyName?: string | null;
212
+ emergencyPhone?: string | null;
213
+
214
+ // Employment
215
+ employmentStatus?: EmploymentStatus;
216
+ hireDate?: string | null;
217
+ terminationDate?: string | null;
218
+
219
+ // Compliance - CDL
220
+ cdlNumber?: string | null;
221
+ cdlState?: string | null;
222
+ cdlClass?: CdlClass | null;
223
+ cdlExpiry?: string | null;
224
+ cdlEndorsements?: string[];
225
+
226
+ // Compliance - Medical
227
+ medicalCardNumber?: string | null;
228
+ medicalCardExpiry?: string | null;
229
+ medicalExamDate?: string | null;
230
+ medicalExaminer?: string | null;
231
+
232
+ // Computed compliance status
233
+ complianceStatus?: ComplianceStatus;
234
+ complianceNotes?: string | null;
235
+
236
+ // Team driver
237
+ teamDriverId?: string | null;
238
+ teamDriver?: Driver | null;
239
+ teamPartner?: Driver | null;
240
+ isTeamLead?: boolean;
241
+ teamStartDate?: string | null;
242
+ driverType?: DriverType;
243
+
244
+ // Dispatcher
245
+ assignedDispatcherId?: string | null;
246
+ assignedDispatcher?: User | null;
170
247
  }
171
248
 
172
249
  export interface Run {
@@ -339,20 +416,171 @@ export interface ParsedDocument {
339
416
  orgId: string;
340
417
  createdAt: string;
341
418
  updatedAt: string;
419
+ // Signing workflow fields
420
+ needsSignature: boolean;
421
+ signatureData: string | null;
422
+ signedAt: string | null;
423
+ signedByName: string | null;
424
+ signedByEmail: string | null;
425
+ signingToken: string | null;
426
+ signingTokenExp: string | null;
427
+ sourceType: DocumentSourceType;
428
+ sourceEmailId: string | null;
429
+ }
430
+
431
+ // ============================================================================
432
+ // EMAIL-TO-RUN FEATURE ENTITIES
433
+ // ============================================================================
434
+
435
+ export interface UserSignature {
436
+ id: string;
437
+ signatureData: string;
438
+ userId: string;
439
+ createdAt: string;
440
+ updatedAt: string;
441
+ }
442
+
443
+ export interface ClientEmail {
444
+ id: string;
445
+ localPart: string;
446
+ isActive: boolean;
447
+ forwardTo: string[];
448
+ orgId: string;
449
+ customerId: string | null;
450
+ createdAt: string;
451
+ updatedAt: string;
452
+ // Extended response fields
453
+ fullEmail?: string;
454
+ customerName?: string;
455
+ emailCount?: number;
456
+ lastEmailAt?: string | null;
342
457
  }
343
458
 
344
- export interface StatementLineItem {
345
- description: string;
346
- type: 'EARNING' | 'DEDUCTION';
459
+ export interface InboundEmail {
460
+ id: string;
461
+ messageId: string;
462
+ fromEmail: string;
463
+ fromName: string | null;
464
+ subject: string | null;
465
+ textBody: string | null;
466
+ htmlBody: string | null;
467
+ receivedAt: string;
468
+ processedAt: string | null;
469
+ status: InboundEmailStatus;
470
+ errorMessage: string | null;
471
+ clientEmailId: string;
472
+ attachments?: EmailAttachment[];
473
+ clientEmailLocalPart?: string;
474
+ }
475
+
476
+ export interface EmailAttachment {
477
+ id: string;
478
+ fileName: string;
479
+ mimeType: string;
480
+ fileSize: number;
481
+ fileUrl: string;
482
+ inboundEmailId: string;
483
+ parsedDocumentId: string | null;
484
+ }
485
+
486
+ export interface Expense {
487
+ id: string;
488
+ type: ExpenseType;
347
489
  amount: number;
490
+ description: string | null;
491
+ date: string;
492
+ vendor: string | null;
493
+ receiptUrl: string | null;
494
+ status: ExpenseStatus;
495
+ aiConfidence: number | null;
496
+ aiMatchNotes: string | null;
497
+ sourceEmailId: string | null;
498
+ approvedById: string | null;
499
+ approvedAt: string | null;
500
+ rejectedById: string | null;
501
+ rejectedAt: string | null;
502
+ rejectionReason: string | null;
503
+ orgId: string;
504
+ runId: string | null;
505
+ driverId: string | null;
506
+ truckId: string | null;
507
+ trailerId: string | null;
508
+ createdAt: string;
509
+ updatedAt: string;
510
+ // Extended response fields
511
+ driverName?: string;
512
+ truckNumber?: string;
513
+ trailerNumber?: string;
514
+ runName?: string;
515
+ aiSuggestion?: ExpenseAISuggestion;
516
+ }
517
+
518
+ export interface ExpenseAISuggestion {
519
+ driverId?: string;
520
+ driverName?: string;
521
+ truckId?: string;
522
+ truckNumber?: string;
523
+ trailerId?: string;
524
+ trailerNumber?: string;
348
525
  runId?: string;
526
+ runName?: string;
527
+ confidence: number;
528
+ }
529
+
530
+ export interface ExpenseStats {
531
+ totalPending: number;
532
+ totalApproved: number;
533
+ pendingAmount: number;
534
+ approvedAmount: number;
535
+ byType: Record<ExpenseType, number>;
536
+ }
537
+
538
+ // Document signing response
539
+ export interface DocumentToSign {
540
+ id: string;
541
+ documentUrl: string;
542
+ fileName: string | null;
543
+ mimeType: string | null;
544
+ isSigned: boolean;
545
+ signedAt: string | null;
546
+ isExpired: boolean;
547
+ expiresAt: string | null;
548
+ // Parsed data
549
+ brokerName?: string;
349
550
  loadNumber?: string;
551
+ rate?: number;
552
+ pickupLocation?: string;
553
+ deliveryLocation?: string;
554
+ pickupDate?: string;
555
+ deliveryDate?: string;
556
+ equipmentType?: string;
557
+ commodity?: string;
558
+ weight?: number;
559
+ organizationName: string;
560
+ hasSavedSignature?: boolean;
561
+ savedSignaturePreview?: string;
350
562
  }
351
563
 
352
- // ============================================================================
353
- // AUTH RESPONSE TYPES
354
- // ============================================================================
564
+ export interface SignDocumentResponse {
565
+ success: boolean;
566
+ message: string;
567
+ createdRunId?: string;
568
+ forwarded?: boolean;
569
+ forwardedTo?: string[];
570
+ }
355
571
 
572
+ // export interface StatementLineItem {
573
+ // description: string;
574
+ // type: 'EARNING' | 'DEDUCTION';
575
+ // amount: number;
576
+ // runId?: string;
577
+ // loadNumber?: string;
578
+ // }
579
+ //
580
+ // // ============================================================================
581
+ // // AUTH RESPONSE TYPES
582
+ // // ============================================================================
583
+ //
356
584
  export interface AuthResponse {
357
585
  accessToken: string;
358
586
  refreshToken: string;
@@ -467,9 +695,9 @@ export type CreateMessageDto = components['schemas']['CreateMessageDto'];
467
695
  export type MarkReadDto = components['schemas']['MarkReadDto'];
468
696
 
469
697
  // Statement DTOs
470
- export type CreateStatementDto = components['schemas']['CreateStatementDto'];
471
- export type UpdateStatementDto = components['schemas']['UpdateStatementDto'];
472
- export type GenerateStatementDto = components['schemas']['GenerateStatementDto'];
698
+ // export type CreateStatementDto = components['schemas']['CreateStatementDto'];
699
+ // export type UpdateStatementDto = components['schemas']['UpdateStatementDto'];
700
+ // export type GenerateStatementDto = components['schemas']['GenerateStatementDto'];
473
701
 
474
702
  // Referral DTOs
475
703
  export type CreateReferralDto = components['schemas']['CreateReferralDto'];
@@ -484,6 +712,134 @@ export type MergeExtractionDto = components['schemas']['MergeExtractionDto'];
484
712
  export type BulkApproveDto = components['schemas']['BulkApproveDto'];
485
713
  export type BulkRejectDto = components['schemas']['BulkRejectDto'];
486
714
 
715
+ // Driver Management DTOs (new)
716
+ export type UpdateDriverDto = components['schemas']['UpdateDriverDto'];
717
+ export type UpdateComplianceDto = components['schemas']['UpdateComplianceDto'];
718
+ export type AssignDispatcherDto = components['schemas']['AssignDispatcherDto'];
719
+ export type LinkTeamDriverDto = components['schemas']['LinkTeamDriverDto'];
720
+ export type ReactivateRunDto = components['schemas']['ReactivateRunDto'];
721
+ export type CancelRunDto = components['schemas']['CancelRunDto'];
722
+
723
+ // Compliance Warning Response
724
+ export interface ComplianceWarning {
725
+ driverId: string;
726
+ driverName: string;
727
+ type: 'CDL' | 'MEDICAL';
728
+ expiryDate: string;
729
+ daysUntilExpiry: number;
730
+ status: ComplianceStatus;
731
+ }
732
+
733
+ // Dispatcher Assignment History
734
+ export interface DispatcherAssignmentHistory {
735
+ id: string;
736
+ driverId: string;
737
+ dispatcherId: string | null;
738
+ dispatcher?: User | null;
739
+ assignedById: string;
740
+ assignedBy?: User;
741
+ reason?: string | null;
742
+ createdAt: string;
743
+ }
744
+
745
+ // ============================================================================
746
+ // EMAIL-TO-RUN REQUEST DTOs (manual until OpenAPI regeneration)
747
+ // ============================================================================
748
+
749
+ // Signature DTOs
750
+ export interface SaveSignatureRequest {
751
+ signatureData: string;
752
+ }
753
+
754
+ // Client Email DTOs
755
+ export interface CreateClientEmailRequest {
756
+ localPart: string;
757
+ customerId?: string;
758
+ forwardTo?: string[];
759
+ }
760
+
761
+ export interface UpdateClientEmailRequest {
762
+ localPart?: string;
763
+ customerId?: string;
764
+ forwardTo?: string[];
765
+ isActive?: boolean;
766
+ }
767
+
768
+ export interface SendInvitationRequest {
769
+ recipientEmail: string;
770
+ customMessage?: string;
771
+ }
772
+
773
+ // Expense DTOs
774
+ export interface CreateExpenseRequest {
775
+ type: ExpenseType;
776
+ amount: number;
777
+ description?: string;
778
+ date: string;
779
+ vendor?: string;
780
+ receiptUrl?: string;
781
+ driverId?: string;
782
+ truckId?: string;
783
+ trailerId?: string;
784
+ runId?: string;
785
+ }
786
+
787
+ export interface UpdateExpenseRequest {
788
+ type?: ExpenseType;
789
+ amount?: number;
790
+ description?: string;
791
+ date?: string;
792
+ vendor?: string;
793
+ receiptUrl?: string;
794
+ driverId?: string;
795
+ truckId?: string;
796
+ trailerId?: string;
797
+ runId?: string;
798
+ }
799
+
800
+ export interface AssociateExpenseRequest {
801
+ driverId?: string;
802
+ truckId?: string;
803
+ trailerId?: string;
804
+ runId?: string;
805
+ }
806
+
807
+ export interface RejectExpenseRequest {
808
+ reason: string;
809
+ }
810
+
811
+ export interface ExpenseFilters {
812
+ type?: ExpenseType;
813
+ status?: ExpenseStatus;
814
+ driverId?: string;
815
+ truckId?: string;
816
+ runId?: string;
817
+ fromDate?: string;
818
+ toDate?: string;
819
+ search?: string;
820
+ page?: number;
821
+ limit?: number;
822
+ }
823
+
824
+ // Signing DTOs
825
+ export interface SignDocumentRequest {
826
+ signatureData: string;
827
+ signedByName?: string;
828
+ signedByEmail?: string;
829
+ useSavedSignature?: boolean;
830
+ }
831
+
832
+ // Inbound Email Filters
833
+ export interface InboundEmailFilters {
834
+ status?: InboundEmailStatus;
835
+ clientEmailId?: string;
836
+ fromDate?: string;
837
+ toDate?: string;
838
+ search?: string;
839
+ page?: number;
840
+ limit?: number;
841
+ }
842
+
487
843
  // ============================================================================
488
844
  // REQUEST TYPE ALIASES (for SDK compatibility)
489
845
  // ============================================================================
@@ -504,8 +860,8 @@ export type UpdateCustomerRequest = UpdateCustomerDto;
504
860
 
505
861
  export type CreateMessageRequest = CreateMessageDto;
506
862
 
507
- export type CreateStatementRequest = CreateStatementDto;
508
- export type UpdateStatementRequest = UpdateStatementDto;
863
+ // export type CreateStatementRequest = CreateStatementDto;
864
+ // export type UpdateStatementRequest = UpdateStatementDto;
509
865
 
510
866
  export type CreateReferralRequest = CreateReferralDto;
511
867
  export type UpdateReferralRequest = UpdateReferralDto;
@@ -532,8 +888,31 @@ export type PaginatedDrivers = PaginatedResponse<User>;
532
888
  export type PaginatedTrucks = PaginatedResponse<Truck>;
533
889
  export type PaginatedTrailers = PaginatedResponse<Trailer>;
534
890
  export type PaginatedCustomers = PaginatedResponse<Customer>;
535
- export type PaginatedStatements = PaginatedResponse<DriverStatement>;
891
+ // export type PaginatedStatements = PaginatedResponse<DriverStatement>;
536
892
  export type PaginatedMessages = PaginatedResponse<Message>;
893
+ export type PaginatedExpenses = PaginatedResponse<Expense>;
894
+ export type PaginatedInboundEmails = PaginatedResponse<InboundEmail>;
895
+
896
+ // List response types for Email-to-Run feature
897
+ export interface ClientEmailListResponse {
898
+ data: ClientEmail[];
899
+ total: number;
900
+ }
901
+
902
+ export interface InboundEmailListResponse {
903
+ data: InboundEmail[];
904
+ total: number;
905
+ page: number;
906
+ limit: number;
907
+ }
908
+
909
+ export interface ExpenseListResponse {
910
+ data: Expense[];
911
+ total: number;
912
+ page: number;
913
+ limit: number;
914
+ pendingCount?: number;
915
+ }
537
916
 
538
917
  // ============================================================================
539
918
  // TYPE HELPERS