@routeflow/sdk 1.0.1 → 1.0.4

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 (87) hide show
  1. package/dist/api/mutations/ai.d.ts +123 -0
  2. package/dist/api/mutations/ai.d.ts.map +1 -0
  3. package/dist/api/mutations/ai.js +153 -0
  4. package/dist/api/mutations/ai.js.map +1 -0
  5. package/dist/api/mutations/assets.d.ts +72 -0
  6. package/dist/api/mutations/assets.d.ts.map +1 -0
  7. package/dist/api/mutations/assets.js +154 -0
  8. package/dist/api/mutations/assets.js.map +1 -0
  9. package/dist/api/mutations/customers.d.ts +84 -0
  10. package/dist/api/mutations/customers.d.ts.map +1 -0
  11. package/dist/api/mutations/customers.js +49 -0
  12. package/dist/api/mutations/customers.js.map +1 -0
  13. package/dist/api/mutations/documents.d.ts +77 -0
  14. package/dist/api/mutations/documents.d.ts.map +1 -0
  15. package/dist/api/mutations/documents.js +85 -0
  16. package/dist/api/mutations/documents.js.map +1 -0
  17. package/dist/api/mutations/extractions.d.ts +102 -0
  18. package/dist/api/mutations/extractions.d.ts.map +1 -0
  19. package/dist/api/mutations/extractions.js +97 -0
  20. package/dist/api/mutations/extractions.js.map +1 -0
  21. package/dist/api/mutations/index.d.ts +10 -0
  22. package/dist/api/mutations/index.d.ts.map +1 -1
  23. package/dist/api/mutations/index.js +70 -1
  24. package/dist/api/mutations/index.js.map +1 -1
  25. package/dist/api/mutations/messages.d.ts +32 -0
  26. package/dist/api/mutations/messages.d.ts.map +1 -0
  27. package/dist/api/mutations/messages.js +35 -0
  28. package/dist/api/mutations/messages.js.map +1 -0
  29. package/dist/api/mutations/orgs.d.ts +31 -0
  30. package/dist/api/mutations/orgs.d.ts.map +1 -0
  31. package/dist/api/mutations/orgs.js +59 -0
  32. package/dist/api/mutations/orgs.js.map +1 -0
  33. package/dist/api/mutations/referrals.d.ts +43 -0
  34. package/dist/api/mutations/referrals.d.ts.map +1 -0
  35. package/dist/api/mutations/referrals.js +49 -0
  36. package/dist/api/mutations/referrals.js.map +1 -0
  37. package/dist/api/mutations/statements.d.ts +122 -0
  38. package/dist/api/mutations/statements.d.ts.map +1 -0
  39. package/dist/api/mutations/statements.js +93 -0
  40. package/dist/api/mutations/statements.js.map +1 -0
  41. package/dist/api/mutations/stops.d.ts +8 -2
  42. package/dist/api/mutations/stops.d.ts.map +1 -1
  43. package/dist/api/mutations/stops.js +5 -3
  44. package/dist/api/mutations/stops.js.map +1 -1
  45. package/dist/api/queries/assets.d.ts +33 -0
  46. package/dist/api/queries/assets.d.ts.map +1 -0
  47. package/dist/api/queries/assets.js +74 -0
  48. package/dist/api/queries/assets.js.map +1 -0
  49. package/dist/api/queries/customers.d.ts +37 -0
  50. package/dist/api/queries/customers.d.ts.map +1 -0
  51. package/dist/api/queries/customers.js +52 -0
  52. package/dist/api/queries/customers.js.map +1 -0
  53. package/dist/api/queries/documents.d.ts +32 -0
  54. package/dist/api/queries/documents.d.ts.map +1 -0
  55. package/dist/api/queries/documents.js +91 -0
  56. package/dist/api/queries/documents.js.map +1 -0
  57. package/dist/api/queries/extractions.d.ts +27 -0
  58. package/dist/api/queries/extractions.d.ts.map +1 -0
  59. package/dist/api/queries/extractions.js +39 -0
  60. package/dist/api/queries/extractions.js.map +1 -0
  61. package/dist/api/queries/index.d.ts +8 -0
  62. package/dist/api/queries/index.d.ts.map +1 -1
  63. package/dist/api/queries/index.js +54 -1
  64. package/dist/api/queries/index.js.map +1 -1
  65. package/dist/api/queries/messages.d.ts +23 -0
  66. package/dist/api/queries/messages.d.ts.map +1 -0
  67. package/dist/api/queries/messages.js +50 -0
  68. package/dist/api/queries/messages.js.map +1 -0
  69. package/dist/api/queries/orgs.d.ts +6 -0
  70. package/dist/api/queries/orgs.d.ts.map +1 -0
  71. package/dist/api/queries/orgs.js +41 -0
  72. package/dist/api/queries/orgs.js.map +1 -0
  73. package/dist/api/queries/referrals.d.ts +56 -0
  74. package/dist/api/queries/referrals.d.ts.map +1 -0
  75. package/dist/api/queries/referrals.js +64 -0
  76. package/dist/api/queries/referrals.js.map +1 -0
  77. package/dist/api/queries/statements.d.ts +76 -0
  78. package/dist/api/queries/statements.d.ts.map +1 -0
  79. package/dist/api/queries/statements.js +123 -0
  80. package/dist/api/queries/statements.js.map +1 -0
  81. package/dist/api/queries/tracking.js +2 -2
  82. package/dist/api/queries/tracking.js.map +1 -1
  83. package/dist/api/types.d.ts +72 -1
  84. package/dist/api/types.d.ts.map +1 -1
  85. package/dist/api/types.js +41 -0
  86. package/dist/api/types.js.map +1 -1
  87. package/package.json +13 -5
@@ -0,0 +1,123 @@
1
+ /**
2
+ * AI Assistant Mutations
3
+ *
4
+ * Mutation hooks for interacting with the AI assistant.
5
+ */
6
+ import { type UseMutationOptions } from '@tanstack/react-query';
7
+ interface ChatMessage {
8
+ role: 'user' | 'assistant' | 'system';
9
+ content: string;
10
+ }
11
+ interface ChatRequest {
12
+ messages: ChatMessage[];
13
+ model?: string;
14
+ }
15
+ interface ToolCall {
16
+ id: string;
17
+ name: string;
18
+ input: Record<string, unknown>;
19
+ output: Record<string, unknown>;
20
+ state: 'completed' | 'error';
21
+ }
22
+ interface ChatResponse {
23
+ content: string;
24
+ toolCalls?: ToolCall[];
25
+ usage?: {
26
+ input_tokens: number;
27
+ output_tokens: number;
28
+ };
29
+ }
30
+ interface AnalyzeDocumentRequest {
31
+ image: string;
32
+ prompt?: string;
33
+ documentType?: 'BOL' | 'POD' | 'INVOICE' | 'OTHER';
34
+ }
35
+ interface AnalyzeDocumentResponse {
36
+ analysis: Record<string, unknown>;
37
+ documentType?: string;
38
+ usage?: {
39
+ input_tokens: number;
40
+ output_tokens: number;
41
+ };
42
+ }
43
+ interface DailyCheckResponse {
44
+ success: boolean;
45
+ checkedOrgs: number;
46
+ results: Array<{
47
+ orgId: string;
48
+ issues: number;
49
+ critical: number;
50
+ notificationSent: boolean;
51
+ }>;
52
+ }
53
+ /**
54
+ * Hook for chatting with the AI assistant
55
+ *
56
+ * @example
57
+ * ```tsx
58
+ * const { mutate: sendMessage, isPending } = useChatWithAI();
59
+ *
60
+ * sendMessage({
61
+ * messages: [
62
+ * { role: 'user', content: 'What is the fleet status?' }
63
+ * ]
64
+ * }, {
65
+ * onSuccess: (response) => {
66
+ * console.log('AI Response:', response.content);
67
+ * console.log('Tools Used:', response.toolCalls);
68
+ * }
69
+ * });
70
+ * ```
71
+ */
72
+ export declare function useChatWithAI(options?: Omit<UseMutationOptions<ChatResponse, Error, ChatRequest>, 'mutationFn'>): import("@tanstack/react-query").UseMutationResult<ChatResponse, Error, ChatRequest, unknown>;
73
+ /**
74
+ * Hook for analyzing documents with AI vision
75
+ *
76
+ * @example
77
+ * ```tsx
78
+ * const { mutate: analyzeDoc, isPending } = useAnalyzeDocument();
79
+ *
80
+ * analyzeDoc({
81
+ * image: base64ImageData,
82
+ * documentType: 'BOL',
83
+ * prompt: 'Extract all shipping information'
84
+ * }, {
85
+ * onSuccess: (result) => {
86
+ * console.log('Analysis:', result.analysis);
87
+ * }
88
+ * });
89
+ * ```
90
+ */
91
+ export declare function useAnalyzeDocument(options?: Omit<UseMutationOptions<AnalyzeDocumentResponse, Error, AnalyzeDocumentRequest>, 'mutationFn'>): import("@tanstack/react-query").UseMutationResult<AnalyzeDocumentResponse, Error, AnalyzeDocumentRequest, unknown>;
92
+ /**
93
+ * Hook for running daily fleet health check
94
+ *
95
+ * @example
96
+ * ```tsx
97
+ * const { mutate: runCheck, isPending } = useRunDailyCheck();
98
+ *
99
+ * runCheck(undefined, {
100
+ * onSuccess: (result) => {
101
+ * console.log('Check complete:', result.checkedOrgs);
102
+ * console.log('Issues found:', result.results);
103
+ * }
104
+ * });
105
+ * ```
106
+ */
107
+ export declare function useRunDailyCheck(options?: Omit<UseMutationOptions<DailyCheckResponse, Error, void>, 'mutationFn'>): import("@tanstack/react-query").UseMutationResult<DailyCheckResponse, Error, void, unknown>;
108
+ /**
109
+ * Type guard for checking if AI response included tool calls
110
+ */
111
+ export declare function hasToolCalls(response: ChatResponse): response is ChatResponse & {
112
+ toolCalls: ToolCall[];
113
+ };
114
+ /**
115
+ * Extract tool call by name from AI response
116
+ */
117
+ export declare function getToolCall(response: ChatResponse, toolName: string): ToolCall | undefined;
118
+ /**
119
+ * Get all tool calls from AI response
120
+ */
121
+ export declare function getAllToolCalls(response: ChatResponse): ToolCall[];
122
+ export type { ChatMessage, ChatRequest, ChatResponse, ToolCall, AnalyzeDocumentRequest, AnalyzeDocumentResponse, DailyCheckResponse, };
123
+ //# sourceMappingURL=ai.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai.d.ts","sourceRoot":"","sources":["../../../src/api/mutations/ai.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAA+B,KAAK,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAW7F,UAAU,WAAW;IACnB,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,QAAQ,CAAC;IACtC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,UAAU,WAAW;IACnB,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,UAAU,QAAQ;IAChB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC;CAC9B;AAED,UAAU,YAAY;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC;IACvB,KAAK,CAAC,EAAE;QACN,YAAY,EAAE,MAAM,CAAC;QACrB,aAAa,EAAE,MAAM,CAAC;KACvB,CAAC;CACH;AAED,UAAU,sBAAsB;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,KAAK,GAAG,KAAK,GAAG,SAAS,GAAG,OAAO,CAAC;CACpD;AAED,UAAU,uBAAuB;IAC/B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE;QACN,YAAY,EAAE,MAAM,CAAC;QACrB,aAAa,EAAE,MAAM,CAAC;KACvB,CAAC;CACH;AAED,UAAU,kBAAkB;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,KAAK,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;QACjB,gBAAgB,EAAE,OAAO,CAAC;KAC3B,CAAC,CAAC;CACJ;AA+BD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,aAAa,CAC3B,OAAO,CAAC,EAAE,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,KAAK,EAAE,WAAW,CAAC,EAAE,YAAY,CAAC,gGA+BnF;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,CAAC,EAAE,IAAI,CACZ,kBAAkB,CAAC,uBAAuB,EAAE,KAAK,EAAE,sBAAsB,CAAC,EAC1E,YAAY,CACb,sHAMF;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,CAAC,EAAE,IAAI,CAAC,kBAAkB,CAAC,kBAAkB,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,YAAY,CAAC,+FAMlF;AAMD;;GAEG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,YAAY,GAAG,QAAQ,IAAI,YAAY,GAAG;IAAE,SAAS,EAAE,QAAQ,EAAE,CAAA;CAAE,CAEzG;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,CAE1F;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,YAAY,GAAG,QAAQ,EAAE,CAElE;AAMD,YAAY,EACV,WAAW,EACX,WAAW,EACX,YAAY,EACZ,QAAQ,EACR,sBAAsB,EACtB,uBAAuB,EACvB,kBAAkB,GACnB,CAAC"}
@@ -0,0 +1,153 @@
1
+ "use strict";
2
+ /**
3
+ * AI Assistant Mutations
4
+ *
5
+ * Mutation hooks for interacting with the AI assistant.
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.useChatWithAI = useChatWithAI;
9
+ exports.useAnalyzeDocument = useAnalyzeDocument;
10
+ exports.useRunDailyCheck = useRunDailyCheck;
11
+ exports.hasToolCalls = hasToolCalls;
12
+ exports.getToolCall = getToolCall;
13
+ exports.getAllToolCalls = getAllToolCalls;
14
+ const react_query_1 = require("@tanstack/react-query");
15
+ const client_1 = require("../client");
16
+ const types_1 = require("../types");
17
+ // ============================================================================
18
+ // API FUNCTIONS
19
+ // ============================================================================
20
+ /**
21
+ * Send a chat message to the AI assistant
22
+ */
23
+ async function chatWithAI(request) {
24
+ return (0, client_1.apiRequest)('post', '/api/ai/chat', request);
25
+ }
26
+ /**
27
+ * Analyze a document using Claude Vision API
28
+ */
29
+ async function analyzeDocument(request) {
30
+ return (0, client_1.apiRequest)('post', '/api/ai/analyze-document', request);
31
+ }
32
+ /**
33
+ * Run daily fleet health check
34
+ */
35
+ async function runDailyCheck() {
36
+ return (0, client_1.apiRequest)('post', '/api/ai/daily-check', {});
37
+ }
38
+ // ============================================================================
39
+ // MUTATION HOOKS
40
+ // ============================================================================
41
+ /**
42
+ * Hook for chatting with the AI assistant
43
+ *
44
+ * @example
45
+ * ```tsx
46
+ * const { mutate: sendMessage, isPending } = useChatWithAI();
47
+ *
48
+ * sendMessage({
49
+ * messages: [
50
+ * { role: 'user', content: 'What is the fleet status?' }
51
+ * ]
52
+ * }, {
53
+ * onSuccess: (response) => {
54
+ * console.log('AI Response:', response.content);
55
+ * console.log('Tools Used:', response.toolCalls);
56
+ * }
57
+ * });
58
+ * ```
59
+ */
60
+ function useChatWithAI(options) {
61
+ const queryClient = (0, react_query_1.useQueryClient)();
62
+ return (0, react_query_1.useMutation)({
63
+ mutationFn: chatWithAI,
64
+ onSuccess: (...args) => {
65
+ // If AI made changes (tool calls), invalidate relevant queries
66
+ const [response] = args;
67
+ if (response.toolCalls && response.toolCalls.length > 0) {
68
+ const toolNames = response.toolCalls.map((tc) => tc.name);
69
+ // Invalidate queries based on which tools were called
70
+ if (toolNames.includes('add_driver')) {
71
+ void queryClient.invalidateQueries({ queryKey: types_1.queryKeys.drivers.all });
72
+ }
73
+ if (toolNames.includes('create_route')) {
74
+ void queryClient.invalidateQueries({ queryKey: types_1.queryKeys.runs.all });
75
+ }
76
+ if (toolNames.includes('get_fleet_status')) {
77
+ void queryClient.invalidateQueries({ queryKey: types_1.queryKeys.runs.all });
78
+ void queryClient.invalidateQueries({ queryKey: types_1.queryKeys.drivers.all });
79
+ }
80
+ // Note: Notifications don't need query invalidation
81
+ }
82
+ options?.onSuccess?.(...args);
83
+ },
84
+ ...options,
85
+ });
86
+ }
87
+ /**
88
+ * Hook for analyzing documents with AI vision
89
+ *
90
+ * @example
91
+ * ```tsx
92
+ * const { mutate: analyzeDoc, isPending } = useAnalyzeDocument();
93
+ *
94
+ * analyzeDoc({
95
+ * image: base64ImageData,
96
+ * documentType: 'BOL',
97
+ * prompt: 'Extract all shipping information'
98
+ * }, {
99
+ * onSuccess: (result) => {
100
+ * console.log('Analysis:', result.analysis);
101
+ * }
102
+ * });
103
+ * ```
104
+ */
105
+ function useAnalyzeDocument(options) {
106
+ return (0, react_query_1.useMutation)({
107
+ mutationFn: analyzeDocument,
108
+ ...options,
109
+ });
110
+ }
111
+ /**
112
+ * Hook for running daily fleet health check
113
+ *
114
+ * @example
115
+ * ```tsx
116
+ * const { mutate: runCheck, isPending } = useRunDailyCheck();
117
+ *
118
+ * runCheck(undefined, {
119
+ * onSuccess: (result) => {
120
+ * console.log('Check complete:', result.checkedOrgs);
121
+ * console.log('Issues found:', result.results);
122
+ * }
123
+ * });
124
+ * ```
125
+ */
126
+ function useRunDailyCheck(options) {
127
+ return (0, react_query_1.useMutation)({
128
+ mutationFn: runDailyCheck,
129
+ ...options,
130
+ });
131
+ }
132
+ // ============================================================================
133
+ // HELPER TYPES FOR TOOL OUTPUTS
134
+ // ============================================================================
135
+ /**
136
+ * Type guard for checking if AI response included tool calls
137
+ */
138
+ function hasToolCalls(response) {
139
+ return response.toolCalls !== undefined && response.toolCalls.length > 0;
140
+ }
141
+ /**
142
+ * Extract tool call by name from AI response
143
+ */
144
+ function getToolCall(response, toolName) {
145
+ return response.toolCalls?.find((tc) => tc.name === toolName);
146
+ }
147
+ /**
148
+ * Get all tool calls from AI response
149
+ */
150
+ function getAllToolCalls(response) {
151
+ return response.toolCalls || [];
152
+ }
153
+ //# sourceMappingURL=ai.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai.js","sourceRoot":"","sources":["../../../src/api/mutations/ai.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,72 @@
1
+ import type { UseMutationOptions } from '@tanstack/react-query';
2
+ import type { Truck, Trailer, CreateTruckDto, UpdateTruckDto, CreateTrailerDto, UpdateTrailerDto } from '../types';
3
+ type CreateTruckOptions = Omit<UseMutationOptions<Truck, Error, CreateTruckDto>, 'mutationFn'>;
4
+ type UpdateTruckOptions = Omit<UseMutationOptions<Truck, Error, {
5
+ id: string;
6
+ data: UpdateTruckDto;
7
+ }>, 'mutationFn'>;
8
+ type DeleteTruckOptions = Omit<UseMutationOptions<void, Error, string>, 'mutationFn'>;
9
+ type AssignTruckOptions = Omit<UseMutationOptions<Truck, Error, {
10
+ id: string;
11
+ driverId: string;
12
+ }>, 'mutationFn'>;
13
+ type UnassignTruckOptions = Omit<UseMutationOptions<Truck, Error, string>, 'mutationFn'>;
14
+ export declare function useCreateTruck(options?: CreateTruckOptions): import("@tanstack/react-query").UseMutationResult<Truck, Error, {
15
+ truckNumber: string;
16
+ year?: number;
17
+ make?: string;
18
+ model?: string;
19
+ vin?: string;
20
+ licensePlate?: string;
21
+ status?: "ACTIVE" | "IN_SHOP" | "INACTIVE";
22
+ mileage?: number;
23
+ fuelType?: "DIESEL" | "GASOLINE" | "ELECTRIC" | "HYBRID";
24
+ insuranceExpiry?: string;
25
+ lastServiceDate?: string;
26
+ notes?: string;
27
+ }, unknown>;
28
+ export declare function useUpdateTruck(options?: UpdateTruckOptions): import("@tanstack/react-query").UseMutationResult<Truck, Error, {
29
+ id: string;
30
+ data: UpdateTruckDto;
31
+ }, unknown>;
32
+ export declare function useDeleteTruck(options?: DeleteTruckOptions): import("@tanstack/react-query").UseMutationResult<void, Error, string, unknown>;
33
+ export declare function useAssignTruck(options?: AssignTruckOptions): import("@tanstack/react-query").UseMutationResult<Truck, Error, {
34
+ id: string;
35
+ driverId: string;
36
+ }, unknown>;
37
+ export declare function useUnassignTruck(options?: UnassignTruckOptions): import("@tanstack/react-query").UseMutationResult<Truck, Error, string, unknown>;
38
+ type CreateTrailerOptions = Omit<UseMutationOptions<Trailer, Error, CreateTrailerDto>, 'mutationFn'>;
39
+ type UpdateTrailerOptions = Omit<UseMutationOptions<Trailer, Error, {
40
+ id: string;
41
+ data: UpdateTrailerDto;
42
+ }>, 'mutationFn'>;
43
+ type DeleteTrailerOptions = Omit<UseMutationOptions<void, Error, string>, 'mutationFn'>;
44
+ type AssignTrailerOptions = Omit<UseMutationOptions<Trailer, Error, {
45
+ id: string;
46
+ driverId: string;
47
+ }>, 'mutationFn'>;
48
+ type UnassignTrailerOptions = Omit<UseMutationOptions<Trailer, Error, string>, 'mutationFn'>;
49
+ export declare function useCreateTrailer(options?: CreateTrailerOptions): import("@tanstack/react-query").UseMutationResult<Trailer, Error, {
50
+ trailerNumber: string;
51
+ type: "RGN" | "SD" | "FLATBED" | "REEFER" | "DRY_VAN" | "STEP_DECK" | "LOWBOY";
52
+ length?: string;
53
+ weightCapacity?: string;
54
+ status?: "ACTIVE" | "IN_SHOP" | "INACTIVE";
55
+ vin?: string;
56
+ licensePlate?: string;
57
+ registrationExpiry?: string;
58
+ lastInspectionDate?: string;
59
+ notes?: string;
60
+ }, unknown>;
61
+ export declare function useUpdateTrailer(options?: UpdateTrailerOptions): import("@tanstack/react-query").UseMutationResult<Trailer, Error, {
62
+ id: string;
63
+ data: UpdateTrailerDto;
64
+ }, unknown>;
65
+ export declare function useDeleteTrailer(options?: DeleteTrailerOptions): import("@tanstack/react-query").UseMutationResult<void, Error, string, unknown>;
66
+ export declare function useAssignTrailer(options?: AssignTrailerOptions): import("@tanstack/react-query").UseMutationResult<Trailer, Error, {
67
+ id: string;
68
+ driverId: string;
69
+ }, unknown>;
70
+ export declare function useUnassignTrailer(options?: UnassignTrailerOptions): import("@tanstack/react-query").UseMutationResult<Trailer, Error, string, unknown>;
71
+ export {};
72
+ //# sourceMappingURL=assets.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assets.d.ts","sourceRoot":"","sources":["../../../src/api/mutations/assets.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAGhE,OAAO,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AA6CnH,KAAK,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,KAAK,EAAE,cAAc,CAAC,EAAE,YAAY,CAAC,CAAC;AAC/F,KAAK,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,KAAK,EAAE;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,cAAc,CAAA;CAAE,CAAC,EAAE,YAAY,CAAC,CAAC;AACrH,KAAK,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE,YAAY,CAAC,CAAC;AACtF,KAAK,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,KAAK,EAAE;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,EAAE,YAAY,CAAC,CAAC;AACjH,KAAK,oBAAoB,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE,YAAY,CAAC,CAAC;AAEzF,wBAAgB,cAAc,CAAC,OAAO,CAAC,EAAE,kBAAkB;;;;;;;;;;;;;YAU1D;AAED,wBAAgB,cAAc,CAAC,OAAO,CAAC,EAAE,kBAAkB;QAjBW,MAAM;UAAQ,cAAc;YA4BjG;AAED,wBAAgB,cAAc,CAAC,OAAO,CAAC,EAAE,kBAAkB,mFAU1D;AAED,wBAAgB,cAAc,CAAC,OAAO,CAAC,EAAE,kBAAkB;QAxCW,MAAM;cAAY,MAAM;YAmD7F;AAED,wBAAgB,gBAAgB,CAAC,OAAO,CAAC,EAAE,oBAAoB,oFAW9D;AAGD,KAAK,oBAAoB,GAAG,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,KAAK,EAAE,gBAAgB,CAAC,EAAE,YAAY,CAAC,CAAC;AACrG,KAAK,oBAAoB,GAAG,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,KAAK,EAAE;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,gBAAgB,CAAA;CAAE,CAAC,EAAE,YAAY,CAAC,CAAC;AAC3H,KAAK,oBAAoB,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE,YAAY,CAAC,CAAC;AACxF,KAAK,oBAAoB,GAAG,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,KAAK,EAAE;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,EAAE,YAAY,CAAC,CAAC;AACrH,KAAK,sBAAsB,GAAG,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE,YAAY,CAAC,CAAC;AAE7F,wBAAgB,gBAAgB,CAAC,OAAO,CAAC,EAAE,oBAAoB;;;;;;;;;;;YAU9D;AAED,wBAAgB,gBAAgB,CAAC,OAAO,CAAC,EAAE,oBAAoB;QAjBW,MAAM;UAAQ,gBAAgB;YA4BvG;AAED,wBAAgB,gBAAgB,CAAC,OAAO,CAAC,EAAE,oBAAoB,mFAU9D;AAED,wBAAgB,gBAAgB,CAAC,OAAO,CAAC,EAAE,oBAAoB;QAxCW,MAAM;cAAY,MAAM;YAmDjG;AAED,wBAAgB,kBAAkB,CAAC,OAAO,CAAC,EAAE,sBAAsB,sFAWlE"}
@@ -0,0 +1,154 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useCreateTruck = useCreateTruck;
4
+ exports.useUpdateTruck = useUpdateTruck;
5
+ exports.useDeleteTruck = useDeleteTruck;
6
+ exports.useAssignTruck = useAssignTruck;
7
+ exports.useUnassignTruck = useUnassignTruck;
8
+ exports.useCreateTrailer = useCreateTrailer;
9
+ exports.useUpdateTrailer = useUpdateTrailer;
10
+ exports.useDeleteTrailer = useDeleteTrailer;
11
+ exports.useAssignTrailer = useAssignTrailer;
12
+ exports.useUnassignTrailer = useUnassignTrailer;
13
+ const react_query_1 = require("@tanstack/react-query");
14
+ const client_1 = require("../client");
15
+ const types_1 = require("../types");
16
+ // Truck mutations
17
+ async function createTruck(data) {
18
+ return (0, client_1.apiRequest)('post', '/api/trucks', data);
19
+ }
20
+ async function updateTruck({ id, data }) {
21
+ return (0, client_1.apiRequest)('patch', `/api/trucks/${id}`, data);
22
+ }
23
+ async function deleteTruck(id) {
24
+ return (0, client_1.apiRequest)('delete', `/api/trucks/${id}`);
25
+ }
26
+ async function assignTruck({ id, driverId }) {
27
+ return (0, client_1.apiRequest)('post', `/api/trucks/${id}/assign`, { driverId });
28
+ }
29
+ async function unassignTruck(id) {
30
+ return (0, client_1.apiRequest)('post', `/api/trucks/${id}/unassign`);
31
+ }
32
+ // Trailer mutations
33
+ async function createTrailer(data) {
34
+ return (0, client_1.apiRequest)('post', '/api/trailers', data);
35
+ }
36
+ async function updateTrailer({ id, data }) {
37
+ return (0, client_1.apiRequest)('patch', `/api/trailers/${id}`, data);
38
+ }
39
+ async function deleteTrailer(id) {
40
+ return (0, client_1.apiRequest)('delete', `/api/trailers/${id}`);
41
+ }
42
+ async function assignTrailer({ id, driverId }) {
43
+ return (0, client_1.apiRequest)('post', `/api/trailers/${id}/assign`, { driverId });
44
+ }
45
+ async function unassignTrailer(id) {
46
+ return (0, client_1.apiRequest)('post', `/api/trailers/${id}/unassign`);
47
+ }
48
+ function useCreateTruck(options) {
49
+ const queryClient = (0, react_query_1.useQueryClient)();
50
+ return (0, react_query_1.useMutation)({
51
+ mutationFn: createTruck,
52
+ onSettled: () => {
53
+ void queryClient.invalidateQueries({ queryKey: types_1.queryKeys.trucks.all });
54
+ },
55
+ ...options,
56
+ });
57
+ }
58
+ function useUpdateTruck(options) {
59
+ const queryClient = (0, react_query_1.useQueryClient)();
60
+ return (0, react_query_1.useMutation)({
61
+ mutationFn: updateTruck,
62
+ onSettled: (_data, _error, variables) => {
63
+ void queryClient.invalidateQueries({ queryKey: types_1.queryKeys.trucks.detail(variables.id) });
64
+ void queryClient.invalidateQueries({ queryKey: types_1.queryKeys.trucks.lists() });
65
+ },
66
+ ...options,
67
+ });
68
+ }
69
+ function useDeleteTruck(options) {
70
+ const queryClient = (0, react_query_1.useQueryClient)();
71
+ return (0, react_query_1.useMutation)({
72
+ mutationFn: deleteTruck,
73
+ onSettled: () => {
74
+ void queryClient.invalidateQueries({ queryKey: types_1.queryKeys.trucks.all });
75
+ },
76
+ ...options,
77
+ });
78
+ }
79
+ function useAssignTruck(options) {
80
+ const queryClient = (0, react_query_1.useQueryClient)();
81
+ return (0, react_query_1.useMutation)({
82
+ mutationFn: assignTruck,
83
+ onSettled: (_data, _error, variables) => {
84
+ void queryClient.invalidateQueries({ queryKey: types_1.queryKeys.trucks.detail(variables.id) });
85
+ void queryClient.invalidateQueries({ queryKey: types_1.queryKeys.drivers.all });
86
+ },
87
+ ...options,
88
+ });
89
+ }
90
+ function useUnassignTruck(options) {
91
+ const queryClient = (0, react_query_1.useQueryClient)();
92
+ return (0, react_query_1.useMutation)({
93
+ mutationFn: unassignTruck,
94
+ onSettled: (_data, _error, variables) => {
95
+ void queryClient.invalidateQueries({ queryKey: types_1.queryKeys.trucks.detail(variables) });
96
+ void queryClient.invalidateQueries({ queryKey: types_1.queryKeys.drivers.all });
97
+ },
98
+ ...options,
99
+ });
100
+ }
101
+ function useCreateTrailer(options) {
102
+ const queryClient = (0, react_query_1.useQueryClient)();
103
+ return (0, react_query_1.useMutation)({
104
+ mutationFn: createTrailer,
105
+ onSettled: () => {
106
+ void queryClient.invalidateQueries({ queryKey: types_1.queryKeys.trailers.all });
107
+ },
108
+ ...options,
109
+ });
110
+ }
111
+ function useUpdateTrailer(options) {
112
+ const queryClient = (0, react_query_1.useQueryClient)();
113
+ return (0, react_query_1.useMutation)({
114
+ mutationFn: updateTrailer,
115
+ onSettled: (_data, _error, variables) => {
116
+ void queryClient.invalidateQueries({ queryKey: types_1.queryKeys.trailers.detail(variables.id) });
117
+ void queryClient.invalidateQueries({ queryKey: types_1.queryKeys.trailers.lists() });
118
+ },
119
+ ...options,
120
+ });
121
+ }
122
+ function useDeleteTrailer(options) {
123
+ const queryClient = (0, react_query_1.useQueryClient)();
124
+ return (0, react_query_1.useMutation)({
125
+ mutationFn: deleteTrailer,
126
+ onSettled: () => {
127
+ void queryClient.invalidateQueries({ queryKey: types_1.queryKeys.trailers.all });
128
+ },
129
+ ...options,
130
+ });
131
+ }
132
+ function useAssignTrailer(options) {
133
+ const queryClient = (0, react_query_1.useQueryClient)();
134
+ return (0, react_query_1.useMutation)({
135
+ mutationFn: assignTrailer,
136
+ onSettled: (_data, _error, variables) => {
137
+ void queryClient.invalidateQueries({ queryKey: types_1.queryKeys.trailers.detail(variables.id) });
138
+ void queryClient.invalidateQueries({ queryKey: types_1.queryKeys.drivers.all });
139
+ },
140
+ ...options,
141
+ });
142
+ }
143
+ function useUnassignTrailer(options) {
144
+ const queryClient = (0, react_query_1.useQueryClient)();
145
+ return (0, react_query_1.useMutation)({
146
+ mutationFn: unassignTrailer,
147
+ onSettled: (_data, _error, variables) => {
148
+ void queryClient.invalidateQueries({ queryKey: types_1.queryKeys.trailers.detail(variables) });
149
+ void queryClient.invalidateQueries({ queryKey: types_1.queryKeys.drivers.all });
150
+ },
151
+ ...options,
152
+ });
153
+ }
154
+ //# sourceMappingURL=assets.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assets.js","sourceRoot":"","sources":["../../../src/api/mutations/assets.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,84 @@
1
+ import type { UseMutationOptions } from '@tanstack/react-query';
2
+ import type { Customer, CreateCustomerDto, UpdateCustomerDto } from '../types';
3
+ type CreateCustomerOptions = Omit<UseMutationOptions<Customer, Error, CreateCustomerDto>, 'mutationFn'>;
4
+ type UpdateCustomerOptions = Omit<UseMutationOptions<Customer, Error, {
5
+ id: string;
6
+ data: UpdateCustomerDto;
7
+ }>, 'mutationFn'>;
8
+ type DeleteCustomerOptions = Omit<UseMutationOptions<Customer, Error, string>, 'mutationFn'>;
9
+ export declare function useCreateCustomer(options?: CreateCustomerOptions): import("@tanstack/react-query").UseMutationResult<{
10
+ id: string;
11
+ type: "BROKER" | "SHIPPER" | "CARRIER";
12
+ companyName: string;
13
+ contactName?: string;
14
+ email?: string;
15
+ phone?: string;
16
+ mcNumber?: string;
17
+ dotNumber?: string;
18
+ address?: string;
19
+ city?: string;
20
+ state?: string;
21
+ zipCode?: string;
22
+ country?: string;
23
+ notes?: string;
24
+ isActive: boolean;
25
+ createdAt: string;
26
+ updatedAt: string;
27
+ }, Error, {
28
+ type: "BROKER" | "SHIPPER" | "CARRIER";
29
+ companyName: string;
30
+ contactName?: string;
31
+ email?: string;
32
+ phone?: string;
33
+ mcNumber?: string;
34
+ dotNumber?: string;
35
+ address?: string;
36
+ city?: string;
37
+ state?: string;
38
+ zipCode?: string;
39
+ country?: string;
40
+ notes?: string;
41
+ }, unknown>;
42
+ export declare function useUpdateCustomer(options?: UpdateCustomerOptions): import("@tanstack/react-query").UseMutationResult<{
43
+ id: string;
44
+ type: "BROKER" | "SHIPPER" | "CARRIER";
45
+ companyName: string;
46
+ contactName?: string;
47
+ email?: string;
48
+ phone?: string;
49
+ mcNumber?: string;
50
+ dotNumber?: string;
51
+ address?: string;
52
+ city?: string;
53
+ state?: string;
54
+ zipCode?: string;
55
+ country?: string;
56
+ notes?: string;
57
+ isActive: boolean;
58
+ createdAt: string;
59
+ updatedAt: string;
60
+ }, Error, {
61
+ id: string;
62
+ data: UpdateCustomerDto;
63
+ }, unknown>;
64
+ export declare function useDeleteCustomer(options?: DeleteCustomerOptions): import("@tanstack/react-query").UseMutationResult<{
65
+ id: string;
66
+ type: "BROKER" | "SHIPPER" | "CARRIER";
67
+ companyName: string;
68
+ contactName?: string;
69
+ email?: string;
70
+ phone?: string;
71
+ mcNumber?: string;
72
+ dotNumber?: string;
73
+ address?: string;
74
+ city?: string;
75
+ state?: string;
76
+ zipCode?: string;
77
+ country?: string;
78
+ notes?: string;
79
+ isActive: boolean;
80
+ createdAt: string;
81
+ updatedAt: string;
82
+ }, Error, string, unknown>;
83
+ export {};
84
+ //# sourceMappingURL=customers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"customers.d.ts","sourceRoot":"","sources":["../../../src/api/mutations/customers.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAGhE,OAAO,KAAK,EAAE,QAAQ,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAc/E,KAAK,qBAAqB,GAAG,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,KAAK,EAAE,iBAAiB,CAAC,EAAE,YAAY,CAAC,CAAC;AACxG,KAAK,qBAAqB,GAAG,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,KAAK,EAAE;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,iBAAiB,CAAA;CAAE,CAAC,EAAE,YAAY,CAAC,CAAC;AAC9H,KAAK,qBAAqB,GAAG,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE,YAAY,CAAC,CAAC;AAE7F,wBAAgB,iBAAiB,CAAC,OAAO,CAAC,EAAE,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YAUhE;AAED,wBAAgB,iBAAiB,CAAC,OAAO,CAAC,EAAE,qBAAqB;;;;;;;;;;;;;;;;;;;QAfW,MAAM;UAAQ,iBAAiB;YA0B1G;AAED,wBAAgB,iBAAiB,CAAC,OAAO,CAAC,EAAE,qBAAqB;;;;;;;;;;;;;;;;;;2BAUhE"}
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useCreateCustomer = useCreateCustomer;
4
+ exports.useUpdateCustomer = useUpdateCustomer;
5
+ exports.useDeleteCustomer = useDeleteCustomer;
6
+ const react_query_1 = require("@tanstack/react-query");
7
+ const client_1 = require("../client");
8
+ const types_1 = require("../types");
9
+ async function createCustomer(data) {
10
+ return (0, client_1.apiRequest)('post', '/api/customers', data);
11
+ }
12
+ async function updateCustomer({ id, data }) {
13
+ return (0, client_1.apiRequest)('patch', `/api/customers/${id}`, data);
14
+ }
15
+ async function deleteCustomer(id) {
16
+ return (0, client_1.apiRequest)('delete', `/api/customers/${id}`);
17
+ }
18
+ function useCreateCustomer(options) {
19
+ const queryClient = (0, react_query_1.useQueryClient)();
20
+ return (0, react_query_1.useMutation)({
21
+ mutationFn: createCustomer,
22
+ onSettled: () => {
23
+ void queryClient.invalidateQueries({ queryKey: types_1.queryKeys.customers.all });
24
+ },
25
+ ...options,
26
+ });
27
+ }
28
+ function useUpdateCustomer(options) {
29
+ const queryClient = (0, react_query_1.useQueryClient)();
30
+ return (0, react_query_1.useMutation)({
31
+ mutationFn: updateCustomer,
32
+ onSettled: (_data, _error, variables) => {
33
+ void queryClient.invalidateQueries({ queryKey: types_1.queryKeys.customers.detail(variables.id) });
34
+ void queryClient.invalidateQueries({ queryKey: types_1.queryKeys.customers.lists() });
35
+ },
36
+ ...options,
37
+ });
38
+ }
39
+ function useDeleteCustomer(options) {
40
+ const queryClient = (0, react_query_1.useQueryClient)();
41
+ return (0, react_query_1.useMutation)({
42
+ mutationFn: deleteCustomer,
43
+ onSettled: () => {
44
+ void queryClient.invalidateQueries({ queryKey: types_1.queryKeys.customers.all });
45
+ },
46
+ ...options,
47
+ });
48
+ }
49
+ //# sourceMappingURL=customers.js.map