@deepintel-ltd/farmpro-contracts 1.5.11 → 1.5.12
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/routes/agents.routes.d.ts +104 -16
- package/dist/routes/agents.routes.d.ts.map +1 -1
- package/dist/routes/agents.routes.js +6 -14
- package/dist/routes/soil-tests.routes.d.ts +688 -0
- package/dist/routes/soil-tests.routes.d.ts.map +1 -1
- package/dist/routes/soil-tests.routes.js +20 -0
- package/dist/routes/team.routes.d.ts +73 -3
- package/dist/routes/team.routes.d.ts.map +1 -1
- package/dist/routes/team.routes.js +2 -1
- package/dist/schemas/agents.schemas.d.ts +8 -0
- package/dist/schemas/agents.schemas.d.ts.map +1 -1
- package/dist/schemas/agents.schemas.js +3 -0
- package/package.json +1 -1
|
@@ -1,28 +1,17 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
export declare const agentsRouter: {
|
|
3
3
|
chatWithAgronomics: {
|
|
4
|
-
metadata: {
|
|
5
|
-
openapi: {
|
|
6
|
-
parameters: {
|
|
7
|
-
name: string;
|
|
8
|
-
in: string;
|
|
9
|
-
required: boolean;
|
|
10
|
-
schema: {
|
|
11
|
-
type: string;
|
|
12
|
-
enum: string[];
|
|
13
|
-
};
|
|
14
|
-
}[];
|
|
15
|
-
};
|
|
16
|
-
};
|
|
17
4
|
summary: "Chat with the agronomics AI agent";
|
|
18
|
-
description: "Send a message to the agronomics agent and receive AI-powered farming advice based on your
|
|
5
|
+
description: "Send a message to the agronomics agent and receive AI-powered farming advice. Supports file uploads for soil tests and documents. The agent can create soil tests and tasks based on your requests.";
|
|
19
6
|
method: "POST";
|
|
20
|
-
|
|
7
|
+
contentType: "multipart/form-data";
|
|
8
|
+
body: z.ZodUnion<[z.ZodObject<{
|
|
21
9
|
data: z.ZodObject<{
|
|
22
10
|
type: z.ZodLiteral<"agent-chat-requests">;
|
|
23
11
|
attributes: z.ZodObject<{
|
|
24
12
|
message: z.ZodString;
|
|
25
13
|
farmId: z.ZodOptional<z.ZodString>;
|
|
14
|
+
fieldId: z.ZodOptional<z.ZodString>;
|
|
26
15
|
conversationId: z.ZodOptional<z.ZodString>;
|
|
27
16
|
conversationHistory: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
28
17
|
role: z.ZodEnum<["user", "assistant"]>;
|
|
@@ -37,6 +26,7 @@ export declare const agentsRouter: {
|
|
|
37
26
|
}, "strip", z.ZodTypeAny, {
|
|
38
27
|
message: string;
|
|
39
28
|
farmId?: string | undefined;
|
|
29
|
+
fieldId?: string | undefined;
|
|
40
30
|
conversationId?: string | undefined;
|
|
41
31
|
conversationHistory?: {
|
|
42
32
|
role: "user" | "assistant";
|
|
@@ -45,6 +35,7 @@ export declare const agentsRouter: {
|
|
|
45
35
|
}, {
|
|
46
36
|
message: string;
|
|
47
37
|
farmId?: string | undefined;
|
|
38
|
+
fieldId?: string | undefined;
|
|
48
39
|
conversationId?: string | undefined;
|
|
49
40
|
conversationHistory?: {
|
|
50
41
|
role: "user" | "assistant";
|
|
@@ -56,6 +47,7 @@ export declare const agentsRouter: {
|
|
|
56
47
|
attributes: {
|
|
57
48
|
message: string;
|
|
58
49
|
farmId?: string | undefined;
|
|
50
|
+
fieldId?: string | undefined;
|
|
59
51
|
conversationId?: string | undefined;
|
|
60
52
|
conversationHistory?: {
|
|
61
53
|
role: "user" | "assistant";
|
|
@@ -67,6 +59,7 @@ export declare const agentsRouter: {
|
|
|
67
59
|
attributes: {
|
|
68
60
|
message: string;
|
|
69
61
|
farmId?: string | undefined;
|
|
62
|
+
fieldId?: string | undefined;
|
|
70
63
|
conversationId?: string | undefined;
|
|
71
64
|
conversationHistory?: {
|
|
72
65
|
role: "user" | "assistant";
|
|
@@ -80,6 +73,7 @@ export declare const agentsRouter: {
|
|
|
80
73
|
attributes: {
|
|
81
74
|
message: string;
|
|
82
75
|
farmId?: string | undefined;
|
|
76
|
+
fieldId?: string | undefined;
|
|
83
77
|
conversationId?: string | undefined;
|
|
84
78
|
conversationHistory?: {
|
|
85
79
|
role: "user" | "assistant";
|
|
@@ -93,6 +87,7 @@ export declare const agentsRouter: {
|
|
|
93
87
|
attributes: {
|
|
94
88
|
message: string;
|
|
95
89
|
farmId?: string | undefined;
|
|
90
|
+
fieldId?: string | undefined;
|
|
96
91
|
conversationId?: string | undefined;
|
|
97
92
|
conversationHistory?: {
|
|
98
93
|
role: "user" | "assistant";
|
|
@@ -100,7 +95,100 @@ export declare const agentsRouter: {
|
|
|
100
95
|
}[] | undefined;
|
|
101
96
|
};
|
|
102
97
|
};
|
|
103
|
-
}
|
|
98
|
+
}>, z.ZodObject<{
|
|
99
|
+
data: z.ZodObject<{
|
|
100
|
+
type: z.ZodLiteral<"agent-chat-requests">;
|
|
101
|
+
attributes: z.ZodObject<{
|
|
102
|
+
message: z.ZodString;
|
|
103
|
+
farmId: z.ZodOptional<z.ZodString>;
|
|
104
|
+
fieldId: z.ZodOptional<z.ZodString>;
|
|
105
|
+
conversationId: z.ZodOptional<z.ZodString>;
|
|
106
|
+
conversationHistory: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
107
|
+
role: z.ZodEnum<["user", "assistant"]>;
|
|
108
|
+
content: z.ZodString;
|
|
109
|
+
}, "strip", z.ZodTypeAny, {
|
|
110
|
+
role: "user" | "assistant";
|
|
111
|
+
content: string;
|
|
112
|
+
}, {
|
|
113
|
+
role: "user" | "assistant";
|
|
114
|
+
content: string;
|
|
115
|
+
}>, "many">>;
|
|
116
|
+
}, "strip", z.ZodTypeAny, {
|
|
117
|
+
message: string;
|
|
118
|
+
farmId?: string | undefined;
|
|
119
|
+
fieldId?: string | undefined;
|
|
120
|
+
conversationId?: string | undefined;
|
|
121
|
+
conversationHistory?: {
|
|
122
|
+
role: "user" | "assistant";
|
|
123
|
+
content: string;
|
|
124
|
+
}[] | undefined;
|
|
125
|
+
}, {
|
|
126
|
+
message: string;
|
|
127
|
+
farmId?: string | undefined;
|
|
128
|
+
fieldId?: string | undefined;
|
|
129
|
+
conversationId?: string | undefined;
|
|
130
|
+
conversationHistory?: {
|
|
131
|
+
role: "user" | "assistant";
|
|
132
|
+
content: string;
|
|
133
|
+
}[] | undefined;
|
|
134
|
+
}>;
|
|
135
|
+
}, "strip", z.ZodTypeAny, {
|
|
136
|
+
type: "agent-chat-requests";
|
|
137
|
+
attributes: {
|
|
138
|
+
message: string;
|
|
139
|
+
farmId?: string | undefined;
|
|
140
|
+
fieldId?: string | undefined;
|
|
141
|
+
conversationId?: string | undefined;
|
|
142
|
+
conversationHistory?: {
|
|
143
|
+
role: "user" | "assistant";
|
|
144
|
+
content: string;
|
|
145
|
+
}[] | undefined;
|
|
146
|
+
};
|
|
147
|
+
}, {
|
|
148
|
+
type: "agent-chat-requests";
|
|
149
|
+
attributes: {
|
|
150
|
+
message: string;
|
|
151
|
+
farmId?: string | undefined;
|
|
152
|
+
fieldId?: string | undefined;
|
|
153
|
+
conversationId?: string | undefined;
|
|
154
|
+
conversationHistory?: {
|
|
155
|
+
role: "user" | "assistant";
|
|
156
|
+
content: string;
|
|
157
|
+
}[] | undefined;
|
|
158
|
+
};
|
|
159
|
+
}>;
|
|
160
|
+
file: z.ZodOptional<z.ZodType<import("buffer").File, z.ZodTypeDef, import("buffer").File>>;
|
|
161
|
+
}, "strip", z.ZodTypeAny, {
|
|
162
|
+
data: {
|
|
163
|
+
type: "agent-chat-requests";
|
|
164
|
+
attributes: {
|
|
165
|
+
message: string;
|
|
166
|
+
farmId?: string | undefined;
|
|
167
|
+
fieldId?: string | undefined;
|
|
168
|
+
conversationId?: string | undefined;
|
|
169
|
+
conversationHistory?: {
|
|
170
|
+
role: "user" | "assistant";
|
|
171
|
+
content: string;
|
|
172
|
+
}[] | undefined;
|
|
173
|
+
};
|
|
174
|
+
};
|
|
175
|
+
file?: import("buffer").File | undefined;
|
|
176
|
+
}, {
|
|
177
|
+
data: {
|
|
178
|
+
type: "agent-chat-requests";
|
|
179
|
+
attributes: {
|
|
180
|
+
message: string;
|
|
181
|
+
farmId?: string | undefined;
|
|
182
|
+
fieldId?: string | undefined;
|
|
183
|
+
conversationId?: string | undefined;
|
|
184
|
+
conversationHistory?: {
|
|
185
|
+
role: "user" | "assistant";
|
|
186
|
+
content: string;
|
|
187
|
+
}[] | undefined;
|
|
188
|
+
};
|
|
189
|
+
};
|
|
190
|
+
file?: import("buffer").File | undefined;
|
|
191
|
+
}>]>;
|
|
104
192
|
path: "/agents/agronomics/chat";
|
|
105
193
|
responses: {
|
|
106
194
|
200: z.ZodObject<{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agents.routes.d.ts","sourceRoot":"","sources":["../../src/routes/agents.routes.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAWxB,eAAO,MAAM,YAAY
|
|
1
|
+
{"version":3,"file":"agents.routes.d.ts","sourceRoot":"","sources":["../../src/routes/agents.routes.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAWxB,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2DvB,CAAC"}
|
|
@@ -8,7 +8,11 @@ export const agentsRouter = c.router({
|
|
|
8
8
|
chatWithAgronomics: {
|
|
9
9
|
method: 'POST',
|
|
10
10
|
path: '/agents/agronomics/chat',
|
|
11
|
-
|
|
11
|
+
contentType: 'multipart/form-data', // Support file uploads
|
|
12
|
+
body: z.union([
|
|
13
|
+
z.object({ data: chatRequestSchema }), // JSON body
|
|
14
|
+
z.object({ data: chatRequestSchema, file: z.instanceof(File).optional() }), // Multipart with optional file
|
|
15
|
+
]),
|
|
12
16
|
responses: {
|
|
13
17
|
200: agentChatResponseSchema,
|
|
14
18
|
400: jsonApiErrorResponseSchema,
|
|
@@ -16,19 +20,7 @@ export const agentsRouter = c.router({
|
|
|
16
20
|
500: jsonApiErrorResponseSchema,
|
|
17
21
|
},
|
|
18
22
|
summary: 'Chat with the agronomics AI agent',
|
|
19
|
-
description: 'Send a message to the agronomics agent and receive AI-powered farming advice based on your
|
|
20
|
-
metadata: {
|
|
21
|
-
openapi: {
|
|
22
|
-
parameters: [
|
|
23
|
-
{
|
|
24
|
-
name: 'Content-Type',
|
|
25
|
-
in: 'header',
|
|
26
|
-
required: true,
|
|
27
|
-
schema: { type: 'string', enum: ['application/vnd.api+json'] },
|
|
28
|
-
},
|
|
29
|
-
],
|
|
30
|
-
},
|
|
31
|
-
},
|
|
23
|
+
description: 'Send a message to the agronomics agent and receive AI-powered farming advice. Supports file uploads for soil tests and documents. The agent can create soil tests and tasks based on your requests.',
|
|
32
24
|
},
|
|
33
25
|
// Get conversation history
|
|
34
26
|
getConversationHistory: {
|
|
@@ -3001,5 +3001,693 @@ export declare const soilTestsRouter: {
|
|
|
3001
3001
|
}>;
|
|
3002
3002
|
};
|
|
3003
3003
|
};
|
|
3004
|
+
uploadSoilSampleFile: {
|
|
3005
|
+
pathParams: z.ZodObject<{
|
|
3006
|
+
farmId: z.ZodString;
|
|
3007
|
+
}, "strip", z.ZodTypeAny, {
|
|
3008
|
+
farmId: string;
|
|
3009
|
+
}, {
|
|
3010
|
+
farmId: string;
|
|
3011
|
+
}>;
|
|
3012
|
+
summary: "Upload soil sample file";
|
|
3013
|
+
description: "Upload a PDF or DOCX soil sample file and automatically extract test results using AI";
|
|
3014
|
+
method: "POST";
|
|
3015
|
+
contentType: "multipart/form-data";
|
|
3016
|
+
body: z.ZodObject<{
|
|
3017
|
+
file: z.ZodAny;
|
|
3018
|
+
fieldId: z.ZodString;
|
|
3019
|
+
}, "strip", z.ZodTypeAny, {
|
|
3020
|
+
fieldId: string;
|
|
3021
|
+
file?: any;
|
|
3022
|
+
}, {
|
|
3023
|
+
fieldId: string;
|
|
3024
|
+
file?: any;
|
|
3025
|
+
}>;
|
|
3026
|
+
path: "/farms/:farmId/soil-tests/upload-sample";
|
|
3027
|
+
responses: {
|
|
3028
|
+
201: z.ZodObject<{
|
|
3029
|
+
data: z.ZodObject<{
|
|
3030
|
+
type: z.ZodLiteral<string>;
|
|
3031
|
+
id: z.ZodString;
|
|
3032
|
+
attributes: z.ZodObject<{
|
|
3033
|
+
fieldId: z.ZodString;
|
|
3034
|
+
fieldName: z.ZodOptional<z.ZodString>;
|
|
3035
|
+
testDate: z.ZodString;
|
|
3036
|
+
testedBy: z.ZodNullable<z.ZodString>;
|
|
3037
|
+
labName: z.ZodNullable<z.ZodString>;
|
|
3038
|
+
cropAtTimeOfTest: z.ZodNullable<z.ZodString>;
|
|
3039
|
+
pH: z.ZodNumber;
|
|
3040
|
+
nitrogen: z.ZodNullable<z.ZodNumber>;
|
|
3041
|
+
nitrogenUnit: z.ZodNullable<z.ZodEnum<["ppm", "kg/ha"]>>;
|
|
3042
|
+
phosphorus: z.ZodNullable<z.ZodNumber>;
|
|
3043
|
+
phosphorusUnit: z.ZodNullable<z.ZodEnum<["ppm", "kg/ha"]>>;
|
|
3044
|
+
potassium: z.ZodNullable<z.ZodNumber>;
|
|
3045
|
+
potassiumUnit: z.ZodNullable<z.ZodEnum<["ppm", "kg/ha"]>>;
|
|
3046
|
+
organicMatter: z.ZodNullable<z.ZodNumber>;
|
|
3047
|
+
testCost: z.ZodNullable<z.ZodNumber>;
|
|
3048
|
+
notes: z.ZodNullable<z.ZodString>;
|
|
3049
|
+
documentUrl: z.ZodNullable<z.ZodString>;
|
|
3050
|
+
recommendedFertilizers: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
3051
|
+
inventoryItemId: z.ZodString;
|
|
3052
|
+
quantity: z.ZodNumber;
|
|
3053
|
+
unit: z.ZodString;
|
|
3054
|
+
reason: z.ZodString;
|
|
3055
|
+
estimatedCost: z.ZodOptional<z.ZodNumber>;
|
|
3056
|
+
}, "strip", z.ZodTypeAny, {
|
|
3057
|
+
inventoryItemId: string;
|
|
3058
|
+
unit: string;
|
|
3059
|
+
quantity: number;
|
|
3060
|
+
reason: string;
|
|
3061
|
+
estimatedCost?: number | undefined;
|
|
3062
|
+
}, {
|
|
3063
|
+
inventoryItemId: string;
|
|
3064
|
+
unit: string;
|
|
3065
|
+
quantity: number;
|
|
3066
|
+
reason: string;
|
|
3067
|
+
estimatedCost?: number | undefined;
|
|
3068
|
+
}>, "many">>;
|
|
3069
|
+
recommendations: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
3070
|
+
createdBy: z.ZodNullable<z.ZodString>;
|
|
3071
|
+
} & {
|
|
3072
|
+
createdAt: z.ZodString;
|
|
3073
|
+
updatedAt: z.ZodString;
|
|
3074
|
+
}, "strip", z.ZodTypeAny, {
|
|
3075
|
+
createdAt: string;
|
|
3076
|
+
updatedAt: string;
|
|
3077
|
+
fieldId: string;
|
|
3078
|
+
notes: string | null;
|
|
3079
|
+
testDate: string;
|
|
3080
|
+
testedBy: string | null;
|
|
3081
|
+
labName: string | null;
|
|
3082
|
+
cropAtTimeOfTest: string | null;
|
|
3083
|
+
pH: number;
|
|
3084
|
+
nitrogen: number | null;
|
|
3085
|
+
nitrogenUnit: "ppm" | "kg/ha" | null;
|
|
3086
|
+
phosphorus: number | null;
|
|
3087
|
+
phosphorusUnit: "ppm" | "kg/ha" | null;
|
|
3088
|
+
potassium: number | null;
|
|
3089
|
+
potassiumUnit: "ppm" | "kg/ha" | null;
|
|
3090
|
+
organicMatter: number | null;
|
|
3091
|
+
testCost: number | null;
|
|
3092
|
+
documentUrl: string | null;
|
|
3093
|
+
createdBy: string | null;
|
|
3094
|
+
fieldName?: string | undefined;
|
|
3095
|
+
recommendedFertilizers?: {
|
|
3096
|
+
inventoryItemId: string;
|
|
3097
|
+
unit: string;
|
|
3098
|
+
quantity: number;
|
|
3099
|
+
reason: string;
|
|
3100
|
+
estimatedCost?: number | undefined;
|
|
3101
|
+
}[] | undefined;
|
|
3102
|
+
recommendations?: string | null | undefined;
|
|
3103
|
+
}, {
|
|
3104
|
+
createdAt: string;
|
|
3105
|
+
updatedAt: string;
|
|
3106
|
+
fieldId: string;
|
|
3107
|
+
notes: string | null;
|
|
3108
|
+
testDate: string;
|
|
3109
|
+
testedBy: string | null;
|
|
3110
|
+
labName: string | null;
|
|
3111
|
+
cropAtTimeOfTest: string | null;
|
|
3112
|
+
pH: number;
|
|
3113
|
+
nitrogen: number | null;
|
|
3114
|
+
nitrogenUnit: "ppm" | "kg/ha" | null;
|
|
3115
|
+
phosphorus: number | null;
|
|
3116
|
+
phosphorusUnit: "ppm" | "kg/ha" | null;
|
|
3117
|
+
potassium: number | null;
|
|
3118
|
+
potassiumUnit: "ppm" | "kg/ha" | null;
|
|
3119
|
+
organicMatter: number | null;
|
|
3120
|
+
testCost: number | null;
|
|
3121
|
+
documentUrl: string | null;
|
|
3122
|
+
createdBy: string | null;
|
|
3123
|
+
fieldName?: string | undefined;
|
|
3124
|
+
recommendedFertilizers?: {
|
|
3125
|
+
inventoryItemId: string;
|
|
3126
|
+
unit: string;
|
|
3127
|
+
quantity: number;
|
|
3128
|
+
reason: string;
|
|
3129
|
+
estimatedCost?: number | undefined;
|
|
3130
|
+
}[] | undefined;
|
|
3131
|
+
recommendations?: string | null | undefined;
|
|
3132
|
+
}>;
|
|
3133
|
+
relationships: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
3134
|
+
links: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
3135
|
+
meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
3136
|
+
}, "strip", z.ZodTypeAny, {
|
|
3137
|
+
type: string;
|
|
3138
|
+
id: string;
|
|
3139
|
+
attributes: {
|
|
3140
|
+
createdAt: string;
|
|
3141
|
+
updatedAt: string;
|
|
3142
|
+
fieldId: string;
|
|
3143
|
+
notes: string | null;
|
|
3144
|
+
testDate: string;
|
|
3145
|
+
testedBy: string | null;
|
|
3146
|
+
labName: string | null;
|
|
3147
|
+
cropAtTimeOfTest: string | null;
|
|
3148
|
+
pH: number;
|
|
3149
|
+
nitrogen: number | null;
|
|
3150
|
+
nitrogenUnit: "ppm" | "kg/ha" | null;
|
|
3151
|
+
phosphorus: number | null;
|
|
3152
|
+
phosphorusUnit: "ppm" | "kg/ha" | null;
|
|
3153
|
+
potassium: number | null;
|
|
3154
|
+
potassiumUnit: "ppm" | "kg/ha" | null;
|
|
3155
|
+
organicMatter: number | null;
|
|
3156
|
+
testCost: number | null;
|
|
3157
|
+
documentUrl: string | null;
|
|
3158
|
+
createdBy: string | null;
|
|
3159
|
+
fieldName?: string | undefined;
|
|
3160
|
+
recommendedFertilizers?: {
|
|
3161
|
+
inventoryItemId: string;
|
|
3162
|
+
unit: string;
|
|
3163
|
+
quantity: number;
|
|
3164
|
+
reason: string;
|
|
3165
|
+
estimatedCost?: number | undefined;
|
|
3166
|
+
}[] | undefined;
|
|
3167
|
+
recommendations?: string | null | undefined;
|
|
3168
|
+
};
|
|
3169
|
+
relationships?: Record<string, unknown> | undefined;
|
|
3170
|
+
links?: Record<string, string> | undefined;
|
|
3171
|
+
meta?: Record<string, unknown> | undefined;
|
|
3172
|
+
}, {
|
|
3173
|
+
type: string;
|
|
3174
|
+
id: string;
|
|
3175
|
+
attributes: {
|
|
3176
|
+
createdAt: string;
|
|
3177
|
+
updatedAt: string;
|
|
3178
|
+
fieldId: string;
|
|
3179
|
+
notes: string | null;
|
|
3180
|
+
testDate: string;
|
|
3181
|
+
testedBy: string | null;
|
|
3182
|
+
labName: string | null;
|
|
3183
|
+
cropAtTimeOfTest: string | null;
|
|
3184
|
+
pH: number;
|
|
3185
|
+
nitrogen: number | null;
|
|
3186
|
+
nitrogenUnit: "ppm" | "kg/ha" | null;
|
|
3187
|
+
phosphorus: number | null;
|
|
3188
|
+
phosphorusUnit: "ppm" | "kg/ha" | null;
|
|
3189
|
+
potassium: number | null;
|
|
3190
|
+
potassiumUnit: "ppm" | "kg/ha" | null;
|
|
3191
|
+
organicMatter: number | null;
|
|
3192
|
+
testCost: number | null;
|
|
3193
|
+
documentUrl: string | null;
|
|
3194
|
+
createdBy: string | null;
|
|
3195
|
+
fieldName?: string | undefined;
|
|
3196
|
+
recommendedFertilizers?: {
|
|
3197
|
+
inventoryItemId: string;
|
|
3198
|
+
unit: string;
|
|
3199
|
+
quantity: number;
|
|
3200
|
+
reason: string;
|
|
3201
|
+
estimatedCost?: number | undefined;
|
|
3202
|
+
}[] | undefined;
|
|
3203
|
+
recommendations?: string | null | undefined;
|
|
3204
|
+
};
|
|
3205
|
+
relationships?: Record<string, unknown> | undefined;
|
|
3206
|
+
links?: Record<string, string> | undefined;
|
|
3207
|
+
meta?: Record<string, unknown> | undefined;
|
|
3208
|
+
}>;
|
|
3209
|
+
included: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
3210
|
+
type: z.ZodString;
|
|
3211
|
+
id: z.ZodString;
|
|
3212
|
+
attributes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
3213
|
+
relationships: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
3214
|
+
links: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
3215
|
+
meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
3216
|
+
}, "strip", z.ZodTypeAny, {
|
|
3217
|
+
type: string;
|
|
3218
|
+
id: string;
|
|
3219
|
+
attributes?: Record<string, unknown> | undefined;
|
|
3220
|
+
relationships?: Record<string, unknown> | undefined;
|
|
3221
|
+
links?: Record<string, string> | undefined;
|
|
3222
|
+
meta?: Record<string, unknown> | undefined;
|
|
3223
|
+
}, {
|
|
3224
|
+
type: string;
|
|
3225
|
+
id: string;
|
|
3226
|
+
attributes?: Record<string, unknown> | undefined;
|
|
3227
|
+
relationships?: Record<string, unknown> | undefined;
|
|
3228
|
+
links?: Record<string, string> | undefined;
|
|
3229
|
+
meta?: Record<string, unknown> | undefined;
|
|
3230
|
+
}>, "many">>;
|
|
3231
|
+
meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
3232
|
+
links: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
3233
|
+
}, "strip", z.ZodTypeAny, {
|
|
3234
|
+
data: {
|
|
3235
|
+
type: string;
|
|
3236
|
+
id: string;
|
|
3237
|
+
attributes: {
|
|
3238
|
+
createdAt: string;
|
|
3239
|
+
updatedAt: string;
|
|
3240
|
+
fieldId: string;
|
|
3241
|
+
notes: string | null;
|
|
3242
|
+
testDate: string;
|
|
3243
|
+
testedBy: string | null;
|
|
3244
|
+
labName: string | null;
|
|
3245
|
+
cropAtTimeOfTest: string | null;
|
|
3246
|
+
pH: number;
|
|
3247
|
+
nitrogen: number | null;
|
|
3248
|
+
nitrogenUnit: "ppm" | "kg/ha" | null;
|
|
3249
|
+
phosphorus: number | null;
|
|
3250
|
+
phosphorusUnit: "ppm" | "kg/ha" | null;
|
|
3251
|
+
potassium: number | null;
|
|
3252
|
+
potassiumUnit: "ppm" | "kg/ha" | null;
|
|
3253
|
+
organicMatter: number | null;
|
|
3254
|
+
testCost: number | null;
|
|
3255
|
+
documentUrl: string | null;
|
|
3256
|
+
createdBy: string | null;
|
|
3257
|
+
fieldName?: string | undefined;
|
|
3258
|
+
recommendedFertilizers?: {
|
|
3259
|
+
inventoryItemId: string;
|
|
3260
|
+
unit: string;
|
|
3261
|
+
quantity: number;
|
|
3262
|
+
reason: string;
|
|
3263
|
+
estimatedCost?: number | undefined;
|
|
3264
|
+
}[] | undefined;
|
|
3265
|
+
recommendations?: string | null | undefined;
|
|
3266
|
+
};
|
|
3267
|
+
relationships?: Record<string, unknown> | undefined;
|
|
3268
|
+
links?: Record<string, string> | undefined;
|
|
3269
|
+
meta?: Record<string, unknown> | undefined;
|
|
3270
|
+
};
|
|
3271
|
+
links?: Record<string, string> | undefined;
|
|
3272
|
+
meta?: Record<string, unknown> | undefined;
|
|
3273
|
+
included?: {
|
|
3274
|
+
type: string;
|
|
3275
|
+
id: string;
|
|
3276
|
+
attributes?: Record<string, unknown> | undefined;
|
|
3277
|
+
relationships?: Record<string, unknown> | undefined;
|
|
3278
|
+
links?: Record<string, string> | undefined;
|
|
3279
|
+
meta?: Record<string, unknown> | undefined;
|
|
3280
|
+
}[] | undefined;
|
|
3281
|
+
}, {
|
|
3282
|
+
data: {
|
|
3283
|
+
type: string;
|
|
3284
|
+
id: string;
|
|
3285
|
+
attributes: {
|
|
3286
|
+
createdAt: string;
|
|
3287
|
+
updatedAt: string;
|
|
3288
|
+
fieldId: string;
|
|
3289
|
+
notes: string | null;
|
|
3290
|
+
testDate: string;
|
|
3291
|
+
testedBy: string | null;
|
|
3292
|
+
labName: string | null;
|
|
3293
|
+
cropAtTimeOfTest: string | null;
|
|
3294
|
+
pH: number;
|
|
3295
|
+
nitrogen: number | null;
|
|
3296
|
+
nitrogenUnit: "ppm" | "kg/ha" | null;
|
|
3297
|
+
phosphorus: number | null;
|
|
3298
|
+
phosphorusUnit: "ppm" | "kg/ha" | null;
|
|
3299
|
+
potassium: number | null;
|
|
3300
|
+
potassiumUnit: "ppm" | "kg/ha" | null;
|
|
3301
|
+
organicMatter: number | null;
|
|
3302
|
+
testCost: number | null;
|
|
3303
|
+
documentUrl: string | null;
|
|
3304
|
+
createdBy: string | null;
|
|
3305
|
+
fieldName?: string | undefined;
|
|
3306
|
+
recommendedFertilizers?: {
|
|
3307
|
+
inventoryItemId: string;
|
|
3308
|
+
unit: string;
|
|
3309
|
+
quantity: number;
|
|
3310
|
+
reason: string;
|
|
3311
|
+
estimatedCost?: number | undefined;
|
|
3312
|
+
}[] | undefined;
|
|
3313
|
+
recommendations?: string | null | undefined;
|
|
3314
|
+
};
|
|
3315
|
+
relationships?: Record<string, unknown> | undefined;
|
|
3316
|
+
links?: Record<string, string> | undefined;
|
|
3317
|
+
meta?: Record<string, unknown> | undefined;
|
|
3318
|
+
};
|
|
3319
|
+
links?: Record<string, string> | undefined;
|
|
3320
|
+
meta?: Record<string, unknown> | undefined;
|
|
3321
|
+
included?: {
|
|
3322
|
+
type: string;
|
|
3323
|
+
id: string;
|
|
3324
|
+
attributes?: Record<string, unknown> | undefined;
|
|
3325
|
+
relationships?: Record<string, unknown> | undefined;
|
|
3326
|
+
links?: Record<string, string> | undefined;
|
|
3327
|
+
meta?: Record<string, unknown> | undefined;
|
|
3328
|
+
}[] | undefined;
|
|
3329
|
+
}>;
|
|
3330
|
+
400: z.ZodObject<{
|
|
3331
|
+
errors: z.ZodArray<z.ZodObject<{
|
|
3332
|
+
id: z.ZodOptional<z.ZodString>;
|
|
3333
|
+
links: z.ZodOptional<z.ZodObject<{
|
|
3334
|
+
about: z.ZodOptional<z.ZodString>;
|
|
3335
|
+
}, "strip", z.ZodTypeAny, {
|
|
3336
|
+
about?: string | undefined;
|
|
3337
|
+
}, {
|
|
3338
|
+
about?: string | undefined;
|
|
3339
|
+
}>>;
|
|
3340
|
+
status: z.ZodOptional<z.ZodString>;
|
|
3341
|
+
code: z.ZodOptional<z.ZodString>;
|
|
3342
|
+
title: z.ZodOptional<z.ZodString>;
|
|
3343
|
+
detail: z.ZodOptional<z.ZodString>;
|
|
3344
|
+
source: z.ZodOptional<z.ZodObject<{
|
|
3345
|
+
pointer: z.ZodOptional<z.ZodString>;
|
|
3346
|
+
parameter: z.ZodOptional<z.ZodString>;
|
|
3347
|
+
}, "strip", z.ZodTypeAny, {
|
|
3348
|
+
pointer?: string | undefined;
|
|
3349
|
+
parameter?: string | undefined;
|
|
3350
|
+
}, {
|
|
3351
|
+
pointer?: string | undefined;
|
|
3352
|
+
parameter?: string | undefined;
|
|
3353
|
+
}>>;
|
|
3354
|
+
meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
3355
|
+
}, "strip", z.ZodTypeAny, {
|
|
3356
|
+
status?: string | undefined;
|
|
3357
|
+
code?: string | undefined;
|
|
3358
|
+
id?: string | undefined;
|
|
3359
|
+
links?: {
|
|
3360
|
+
about?: string | undefined;
|
|
3361
|
+
} | undefined;
|
|
3362
|
+
meta?: Record<string, unknown> | undefined;
|
|
3363
|
+
title?: string | undefined;
|
|
3364
|
+
detail?: string | undefined;
|
|
3365
|
+
source?: {
|
|
3366
|
+
pointer?: string | undefined;
|
|
3367
|
+
parameter?: string | undefined;
|
|
3368
|
+
} | undefined;
|
|
3369
|
+
}, {
|
|
3370
|
+
status?: string | undefined;
|
|
3371
|
+
code?: string | undefined;
|
|
3372
|
+
id?: string | undefined;
|
|
3373
|
+
links?: {
|
|
3374
|
+
about?: string | undefined;
|
|
3375
|
+
} | undefined;
|
|
3376
|
+
meta?: Record<string, unknown> | undefined;
|
|
3377
|
+
title?: string | undefined;
|
|
3378
|
+
detail?: string | undefined;
|
|
3379
|
+
source?: {
|
|
3380
|
+
pointer?: string | undefined;
|
|
3381
|
+
parameter?: string | undefined;
|
|
3382
|
+
} | undefined;
|
|
3383
|
+
}>, "many">;
|
|
3384
|
+
meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
3385
|
+
}, "strip", z.ZodTypeAny, {
|
|
3386
|
+
errors: {
|
|
3387
|
+
status?: string | undefined;
|
|
3388
|
+
code?: string | undefined;
|
|
3389
|
+
id?: string | undefined;
|
|
3390
|
+
links?: {
|
|
3391
|
+
about?: string | undefined;
|
|
3392
|
+
} | undefined;
|
|
3393
|
+
meta?: Record<string, unknown> | undefined;
|
|
3394
|
+
title?: string | undefined;
|
|
3395
|
+
detail?: string | undefined;
|
|
3396
|
+
source?: {
|
|
3397
|
+
pointer?: string | undefined;
|
|
3398
|
+
parameter?: string | undefined;
|
|
3399
|
+
} | undefined;
|
|
3400
|
+
}[];
|
|
3401
|
+
meta?: Record<string, unknown> | undefined;
|
|
3402
|
+
}, {
|
|
3403
|
+
errors: {
|
|
3404
|
+
status?: string | undefined;
|
|
3405
|
+
code?: string | undefined;
|
|
3406
|
+
id?: string | undefined;
|
|
3407
|
+
links?: {
|
|
3408
|
+
about?: string | undefined;
|
|
3409
|
+
} | undefined;
|
|
3410
|
+
meta?: Record<string, unknown> | undefined;
|
|
3411
|
+
title?: string | undefined;
|
|
3412
|
+
detail?: string | undefined;
|
|
3413
|
+
source?: {
|
|
3414
|
+
pointer?: string | undefined;
|
|
3415
|
+
parameter?: string | undefined;
|
|
3416
|
+
} | undefined;
|
|
3417
|
+
}[];
|
|
3418
|
+
meta?: Record<string, unknown> | undefined;
|
|
3419
|
+
}>;
|
|
3420
|
+
404: z.ZodObject<{
|
|
3421
|
+
errors: z.ZodArray<z.ZodObject<{
|
|
3422
|
+
id: z.ZodOptional<z.ZodString>;
|
|
3423
|
+
links: z.ZodOptional<z.ZodObject<{
|
|
3424
|
+
about: z.ZodOptional<z.ZodString>;
|
|
3425
|
+
}, "strip", z.ZodTypeAny, {
|
|
3426
|
+
about?: string | undefined;
|
|
3427
|
+
}, {
|
|
3428
|
+
about?: string | undefined;
|
|
3429
|
+
}>>;
|
|
3430
|
+
status: z.ZodOptional<z.ZodString>;
|
|
3431
|
+
code: z.ZodOptional<z.ZodString>;
|
|
3432
|
+
title: z.ZodOptional<z.ZodString>;
|
|
3433
|
+
detail: z.ZodOptional<z.ZodString>;
|
|
3434
|
+
source: z.ZodOptional<z.ZodObject<{
|
|
3435
|
+
pointer: z.ZodOptional<z.ZodString>;
|
|
3436
|
+
parameter: z.ZodOptional<z.ZodString>;
|
|
3437
|
+
}, "strip", z.ZodTypeAny, {
|
|
3438
|
+
pointer?: string | undefined;
|
|
3439
|
+
parameter?: string | undefined;
|
|
3440
|
+
}, {
|
|
3441
|
+
pointer?: string | undefined;
|
|
3442
|
+
parameter?: string | undefined;
|
|
3443
|
+
}>>;
|
|
3444
|
+
meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
3445
|
+
}, "strip", z.ZodTypeAny, {
|
|
3446
|
+
status?: string | undefined;
|
|
3447
|
+
code?: string | undefined;
|
|
3448
|
+
id?: string | undefined;
|
|
3449
|
+
links?: {
|
|
3450
|
+
about?: string | undefined;
|
|
3451
|
+
} | undefined;
|
|
3452
|
+
meta?: Record<string, unknown> | undefined;
|
|
3453
|
+
title?: string | undefined;
|
|
3454
|
+
detail?: string | undefined;
|
|
3455
|
+
source?: {
|
|
3456
|
+
pointer?: string | undefined;
|
|
3457
|
+
parameter?: string | undefined;
|
|
3458
|
+
} | undefined;
|
|
3459
|
+
}, {
|
|
3460
|
+
status?: string | undefined;
|
|
3461
|
+
code?: string | undefined;
|
|
3462
|
+
id?: string | undefined;
|
|
3463
|
+
links?: {
|
|
3464
|
+
about?: string | undefined;
|
|
3465
|
+
} | undefined;
|
|
3466
|
+
meta?: Record<string, unknown> | undefined;
|
|
3467
|
+
title?: string | undefined;
|
|
3468
|
+
detail?: string | undefined;
|
|
3469
|
+
source?: {
|
|
3470
|
+
pointer?: string | undefined;
|
|
3471
|
+
parameter?: string | undefined;
|
|
3472
|
+
} | undefined;
|
|
3473
|
+
}>, "many">;
|
|
3474
|
+
meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
3475
|
+
}, "strip", z.ZodTypeAny, {
|
|
3476
|
+
errors: {
|
|
3477
|
+
status?: string | undefined;
|
|
3478
|
+
code?: string | undefined;
|
|
3479
|
+
id?: string | undefined;
|
|
3480
|
+
links?: {
|
|
3481
|
+
about?: string | undefined;
|
|
3482
|
+
} | undefined;
|
|
3483
|
+
meta?: Record<string, unknown> | undefined;
|
|
3484
|
+
title?: string | undefined;
|
|
3485
|
+
detail?: string | undefined;
|
|
3486
|
+
source?: {
|
|
3487
|
+
pointer?: string | undefined;
|
|
3488
|
+
parameter?: string | undefined;
|
|
3489
|
+
} | undefined;
|
|
3490
|
+
}[];
|
|
3491
|
+
meta?: Record<string, unknown> | undefined;
|
|
3492
|
+
}, {
|
|
3493
|
+
errors: {
|
|
3494
|
+
status?: string | undefined;
|
|
3495
|
+
code?: string | undefined;
|
|
3496
|
+
id?: string | undefined;
|
|
3497
|
+
links?: {
|
|
3498
|
+
about?: string | undefined;
|
|
3499
|
+
} | undefined;
|
|
3500
|
+
meta?: Record<string, unknown> | undefined;
|
|
3501
|
+
title?: string | undefined;
|
|
3502
|
+
detail?: string | undefined;
|
|
3503
|
+
source?: {
|
|
3504
|
+
pointer?: string | undefined;
|
|
3505
|
+
parameter?: string | undefined;
|
|
3506
|
+
} | undefined;
|
|
3507
|
+
}[];
|
|
3508
|
+
meta?: Record<string, unknown> | undefined;
|
|
3509
|
+
}>;
|
|
3510
|
+
401: z.ZodObject<{
|
|
3511
|
+
errors: z.ZodArray<z.ZodObject<{
|
|
3512
|
+
id: z.ZodOptional<z.ZodString>;
|
|
3513
|
+
links: z.ZodOptional<z.ZodObject<{
|
|
3514
|
+
about: z.ZodOptional<z.ZodString>;
|
|
3515
|
+
}, "strip", z.ZodTypeAny, {
|
|
3516
|
+
about?: string | undefined;
|
|
3517
|
+
}, {
|
|
3518
|
+
about?: string | undefined;
|
|
3519
|
+
}>>;
|
|
3520
|
+
status: z.ZodOptional<z.ZodString>;
|
|
3521
|
+
code: z.ZodOptional<z.ZodString>;
|
|
3522
|
+
title: z.ZodOptional<z.ZodString>;
|
|
3523
|
+
detail: z.ZodOptional<z.ZodString>;
|
|
3524
|
+
source: z.ZodOptional<z.ZodObject<{
|
|
3525
|
+
pointer: z.ZodOptional<z.ZodString>;
|
|
3526
|
+
parameter: z.ZodOptional<z.ZodString>;
|
|
3527
|
+
}, "strip", z.ZodTypeAny, {
|
|
3528
|
+
pointer?: string | undefined;
|
|
3529
|
+
parameter?: string | undefined;
|
|
3530
|
+
}, {
|
|
3531
|
+
pointer?: string | undefined;
|
|
3532
|
+
parameter?: string | undefined;
|
|
3533
|
+
}>>;
|
|
3534
|
+
meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
3535
|
+
}, "strip", z.ZodTypeAny, {
|
|
3536
|
+
status?: string | undefined;
|
|
3537
|
+
code?: string | undefined;
|
|
3538
|
+
id?: string | undefined;
|
|
3539
|
+
links?: {
|
|
3540
|
+
about?: string | undefined;
|
|
3541
|
+
} | undefined;
|
|
3542
|
+
meta?: Record<string, unknown> | undefined;
|
|
3543
|
+
title?: string | undefined;
|
|
3544
|
+
detail?: string | undefined;
|
|
3545
|
+
source?: {
|
|
3546
|
+
pointer?: string | undefined;
|
|
3547
|
+
parameter?: string | undefined;
|
|
3548
|
+
} | undefined;
|
|
3549
|
+
}, {
|
|
3550
|
+
status?: string | undefined;
|
|
3551
|
+
code?: string | undefined;
|
|
3552
|
+
id?: string | undefined;
|
|
3553
|
+
links?: {
|
|
3554
|
+
about?: string | undefined;
|
|
3555
|
+
} | undefined;
|
|
3556
|
+
meta?: Record<string, unknown> | undefined;
|
|
3557
|
+
title?: string | undefined;
|
|
3558
|
+
detail?: string | undefined;
|
|
3559
|
+
source?: {
|
|
3560
|
+
pointer?: string | undefined;
|
|
3561
|
+
parameter?: string | undefined;
|
|
3562
|
+
} | undefined;
|
|
3563
|
+
}>, "many">;
|
|
3564
|
+
meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
3565
|
+
}, "strip", z.ZodTypeAny, {
|
|
3566
|
+
errors: {
|
|
3567
|
+
status?: string | undefined;
|
|
3568
|
+
code?: string | undefined;
|
|
3569
|
+
id?: string | undefined;
|
|
3570
|
+
links?: {
|
|
3571
|
+
about?: string | undefined;
|
|
3572
|
+
} | undefined;
|
|
3573
|
+
meta?: Record<string, unknown> | undefined;
|
|
3574
|
+
title?: string | undefined;
|
|
3575
|
+
detail?: string | undefined;
|
|
3576
|
+
source?: {
|
|
3577
|
+
pointer?: string | undefined;
|
|
3578
|
+
parameter?: string | undefined;
|
|
3579
|
+
} | undefined;
|
|
3580
|
+
}[];
|
|
3581
|
+
meta?: Record<string, unknown> | undefined;
|
|
3582
|
+
}, {
|
|
3583
|
+
errors: {
|
|
3584
|
+
status?: string | undefined;
|
|
3585
|
+
code?: string | undefined;
|
|
3586
|
+
id?: string | undefined;
|
|
3587
|
+
links?: {
|
|
3588
|
+
about?: string | undefined;
|
|
3589
|
+
} | undefined;
|
|
3590
|
+
meta?: Record<string, unknown> | undefined;
|
|
3591
|
+
title?: string | undefined;
|
|
3592
|
+
detail?: string | undefined;
|
|
3593
|
+
source?: {
|
|
3594
|
+
pointer?: string | undefined;
|
|
3595
|
+
parameter?: string | undefined;
|
|
3596
|
+
} | undefined;
|
|
3597
|
+
}[];
|
|
3598
|
+
meta?: Record<string, unknown> | undefined;
|
|
3599
|
+
}>;
|
|
3600
|
+
422: z.ZodObject<{
|
|
3601
|
+
errors: z.ZodArray<z.ZodObject<{
|
|
3602
|
+
id: z.ZodOptional<z.ZodString>;
|
|
3603
|
+
links: z.ZodOptional<z.ZodObject<{
|
|
3604
|
+
about: z.ZodOptional<z.ZodString>;
|
|
3605
|
+
}, "strip", z.ZodTypeAny, {
|
|
3606
|
+
about?: string | undefined;
|
|
3607
|
+
}, {
|
|
3608
|
+
about?: string | undefined;
|
|
3609
|
+
}>>;
|
|
3610
|
+
status: z.ZodOptional<z.ZodString>;
|
|
3611
|
+
code: z.ZodOptional<z.ZodString>;
|
|
3612
|
+
title: z.ZodOptional<z.ZodString>;
|
|
3613
|
+
detail: z.ZodOptional<z.ZodString>;
|
|
3614
|
+
source: z.ZodOptional<z.ZodObject<{
|
|
3615
|
+
pointer: z.ZodOptional<z.ZodString>;
|
|
3616
|
+
parameter: z.ZodOptional<z.ZodString>;
|
|
3617
|
+
}, "strip", z.ZodTypeAny, {
|
|
3618
|
+
pointer?: string | undefined;
|
|
3619
|
+
parameter?: string | undefined;
|
|
3620
|
+
}, {
|
|
3621
|
+
pointer?: string | undefined;
|
|
3622
|
+
parameter?: string | undefined;
|
|
3623
|
+
}>>;
|
|
3624
|
+
meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
3625
|
+
}, "strip", z.ZodTypeAny, {
|
|
3626
|
+
status?: string | undefined;
|
|
3627
|
+
code?: string | undefined;
|
|
3628
|
+
id?: string | undefined;
|
|
3629
|
+
links?: {
|
|
3630
|
+
about?: string | undefined;
|
|
3631
|
+
} | undefined;
|
|
3632
|
+
meta?: Record<string, unknown> | undefined;
|
|
3633
|
+
title?: string | undefined;
|
|
3634
|
+
detail?: string | undefined;
|
|
3635
|
+
source?: {
|
|
3636
|
+
pointer?: string | undefined;
|
|
3637
|
+
parameter?: string | undefined;
|
|
3638
|
+
} | undefined;
|
|
3639
|
+
}, {
|
|
3640
|
+
status?: string | undefined;
|
|
3641
|
+
code?: string | undefined;
|
|
3642
|
+
id?: string | undefined;
|
|
3643
|
+
links?: {
|
|
3644
|
+
about?: string | undefined;
|
|
3645
|
+
} | undefined;
|
|
3646
|
+
meta?: Record<string, unknown> | undefined;
|
|
3647
|
+
title?: string | undefined;
|
|
3648
|
+
detail?: string | undefined;
|
|
3649
|
+
source?: {
|
|
3650
|
+
pointer?: string | undefined;
|
|
3651
|
+
parameter?: string | undefined;
|
|
3652
|
+
} | undefined;
|
|
3653
|
+
}>, "many">;
|
|
3654
|
+
meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
3655
|
+
}, "strip", z.ZodTypeAny, {
|
|
3656
|
+
errors: {
|
|
3657
|
+
status?: string | undefined;
|
|
3658
|
+
code?: string | undefined;
|
|
3659
|
+
id?: string | undefined;
|
|
3660
|
+
links?: {
|
|
3661
|
+
about?: string | undefined;
|
|
3662
|
+
} | undefined;
|
|
3663
|
+
meta?: Record<string, unknown> | undefined;
|
|
3664
|
+
title?: string | undefined;
|
|
3665
|
+
detail?: string | undefined;
|
|
3666
|
+
source?: {
|
|
3667
|
+
pointer?: string | undefined;
|
|
3668
|
+
parameter?: string | undefined;
|
|
3669
|
+
} | undefined;
|
|
3670
|
+
}[];
|
|
3671
|
+
meta?: Record<string, unknown> | undefined;
|
|
3672
|
+
}, {
|
|
3673
|
+
errors: {
|
|
3674
|
+
status?: string | undefined;
|
|
3675
|
+
code?: string | undefined;
|
|
3676
|
+
id?: string | undefined;
|
|
3677
|
+
links?: {
|
|
3678
|
+
about?: string | undefined;
|
|
3679
|
+
} | undefined;
|
|
3680
|
+
meta?: Record<string, unknown> | undefined;
|
|
3681
|
+
title?: string | undefined;
|
|
3682
|
+
detail?: string | undefined;
|
|
3683
|
+
source?: {
|
|
3684
|
+
pointer?: string | undefined;
|
|
3685
|
+
parameter?: string | undefined;
|
|
3686
|
+
} | undefined;
|
|
3687
|
+
}[];
|
|
3688
|
+
meta?: Record<string, unknown> | undefined;
|
|
3689
|
+
}>;
|
|
3690
|
+
};
|
|
3691
|
+
};
|
|
3004
3692
|
};
|
|
3005
3693
|
//# sourceMappingURL=soil-tests.routes.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"soil-tests.routes.d.ts","sourceRoot":"","sources":["../../src/routes/soil-tests.routes.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAmBxB,eAAO,MAAM,eAAe
|
|
1
|
+
{"version":3,"file":"soil-tests.routes.d.ts","sourceRoot":"","sources":["../../src/routes/soil-tests.routes.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAmBxB,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkH1B,CAAC"}
|
|
@@ -92,4 +92,24 @@ export const soilTestsRouter = c.router({
|
|
|
92
92
|
summary: 'Delete soil test',
|
|
93
93
|
description: 'Delete a soil test record',
|
|
94
94
|
},
|
|
95
|
+
// Upload soil sample file and extract data
|
|
96
|
+
uploadSoilSampleFile: {
|
|
97
|
+
method: 'POST',
|
|
98
|
+
path: '/farms/:farmId/soil-tests/upload-sample',
|
|
99
|
+
pathParams: z.object({ farmId: z.string().uuid() }),
|
|
100
|
+
contentType: 'multipart/form-data',
|
|
101
|
+
body: z.object({
|
|
102
|
+
file: z.any(), // File type handled at runtime
|
|
103
|
+
fieldId: z.string().uuid(),
|
|
104
|
+
}),
|
|
105
|
+
responses: {
|
|
106
|
+
201: soilTestResponseSchema,
|
|
107
|
+
400: jsonApiErrorResponseSchema,
|
|
108
|
+
404: jsonApiErrorResponseSchema,
|
|
109
|
+
401: jsonApiErrorResponseSchema,
|
|
110
|
+
422: jsonApiErrorResponseSchema,
|
|
111
|
+
},
|
|
112
|
+
summary: 'Upload soil sample file',
|
|
113
|
+
description: 'Upload a PDF or DOCX soil sample file and automatically extract test results using AI',
|
|
114
|
+
},
|
|
95
115
|
});
|
|
@@ -2588,21 +2588,91 @@ export declare const teamRouter: {
|
|
|
2588
2588
|
farmId: string;
|
|
2589
2589
|
memberId: string;
|
|
2590
2590
|
}>;
|
|
2591
|
-
data: z.ZodOptional<z.ZodArray<z.
|
|
2591
|
+
data: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
2592
|
+
type: z.ZodLiteral<string>;
|
|
2593
|
+
id: z.ZodString;
|
|
2594
|
+
attributes: z.ZodObject<{
|
|
2595
|
+
accessToken: z.ZodString;
|
|
2596
|
+
refreshToken: z.ZodString;
|
|
2597
|
+
expiresIn: z.ZodNumber;
|
|
2598
|
+
tokenType: z.ZodDefault<z.ZodLiteral<"Bearer">>;
|
|
2599
|
+
}, "strip", z.ZodTypeAny, {
|
|
2600
|
+
refreshToken: string;
|
|
2601
|
+
accessToken: string;
|
|
2602
|
+
expiresIn: number;
|
|
2603
|
+
tokenType: "Bearer";
|
|
2604
|
+
}, {
|
|
2605
|
+
refreshToken: string;
|
|
2606
|
+
accessToken: string;
|
|
2607
|
+
expiresIn: number;
|
|
2608
|
+
tokenType?: "Bearer" | undefined;
|
|
2609
|
+
}>;
|
|
2610
|
+
relationships: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
2611
|
+
links: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
2612
|
+
meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
2613
|
+
}, "strip", z.ZodTypeAny, {
|
|
2614
|
+
type: string;
|
|
2615
|
+
id: string;
|
|
2616
|
+
attributes: {
|
|
2617
|
+
refreshToken: string;
|
|
2618
|
+
accessToken: string;
|
|
2619
|
+
expiresIn: number;
|
|
2620
|
+
tokenType: "Bearer";
|
|
2621
|
+
};
|
|
2622
|
+
relationships?: Record<string, unknown> | undefined;
|
|
2623
|
+
links?: Record<string, string> | undefined;
|
|
2624
|
+
meta?: Record<string, unknown> | undefined;
|
|
2625
|
+
}, {
|
|
2626
|
+
type: string;
|
|
2627
|
+
id: string;
|
|
2628
|
+
attributes: {
|
|
2629
|
+
refreshToken: string;
|
|
2630
|
+
accessToken: string;
|
|
2631
|
+
expiresIn: number;
|
|
2632
|
+
tokenType?: "Bearer" | undefined;
|
|
2633
|
+
};
|
|
2634
|
+
relationships?: Record<string, unknown> | undefined;
|
|
2635
|
+
links?: Record<string, string> | undefined;
|
|
2636
|
+
meta?: Record<string, unknown> | undefined;
|
|
2637
|
+
}>, "many">>;
|
|
2592
2638
|
}, "strip", z.ZodTypeAny, {
|
|
2593
2639
|
meta: {
|
|
2594
2640
|
message: string;
|
|
2595
2641
|
farmId: string;
|
|
2596
2642
|
memberId: string;
|
|
2597
2643
|
};
|
|
2598
|
-
data?:
|
|
2644
|
+
data?: {
|
|
2645
|
+
type: string;
|
|
2646
|
+
id: string;
|
|
2647
|
+
attributes: {
|
|
2648
|
+
refreshToken: string;
|
|
2649
|
+
accessToken: string;
|
|
2650
|
+
expiresIn: number;
|
|
2651
|
+
tokenType: "Bearer";
|
|
2652
|
+
};
|
|
2653
|
+
relationships?: Record<string, unknown> | undefined;
|
|
2654
|
+
links?: Record<string, string> | undefined;
|
|
2655
|
+
meta?: Record<string, unknown> | undefined;
|
|
2656
|
+
}[] | undefined;
|
|
2599
2657
|
}, {
|
|
2600
2658
|
meta: {
|
|
2601
2659
|
message: string;
|
|
2602
2660
|
farmId: string;
|
|
2603
2661
|
memberId: string;
|
|
2604
2662
|
};
|
|
2605
|
-
data?:
|
|
2663
|
+
data?: {
|
|
2664
|
+
type: string;
|
|
2665
|
+
id: string;
|
|
2666
|
+
attributes: {
|
|
2667
|
+
refreshToken: string;
|
|
2668
|
+
accessToken: string;
|
|
2669
|
+
expiresIn: number;
|
|
2670
|
+
tokenType?: "Bearer" | undefined;
|
|
2671
|
+
};
|
|
2672
|
+
relationships?: Record<string, unknown> | undefined;
|
|
2673
|
+
links?: Record<string, string> | undefined;
|
|
2674
|
+
meta?: Record<string, unknown> | undefined;
|
|
2675
|
+
}[] | undefined;
|
|
2606
2676
|
}>;
|
|
2607
2677
|
400: z.ZodObject<{
|
|
2608
2678
|
errors: z.ZodArray<z.ZodObject<{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"team.routes.d.ts","sourceRoot":"","sources":["../../src/routes/team.routes.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"team.routes.d.ts","sourceRoot":"","sources":["../../src/routes/team.routes.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAoBxB,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+KrB,CAAC"}
|
|
@@ -2,6 +2,7 @@ import { initContract } from '@ts-rest/core';
|
|
|
2
2
|
import { z } from 'zod';
|
|
3
3
|
import { createTeamMemberSchema, updateTeamMemberSchema, teamMemberResponseSchema, teamMemberListResponseSchema, teamMemberRoleSchema, } from '../schemas/team.schemas';
|
|
4
4
|
import { jsonApiErrorResponseSchema, jsonApiSuccessResponseSchema, jsonApiPaginationQuerySchema, jsonApiSortQuerySchema, jsonApiIncludeQuerySchema, jsonApiFilterQuerySchema } from '../schemas/common.schemas';
|
|
5
|
+
import { authSessionResourceSchema } from '../schemas/auth.schemas';
|
|
5
6
|
const c = initContract();
|
|
6
7
|
export const teamRouter = c.router({
|
|
7
8
|
// List team members for a farm
|
|
@@ -134,7 +135,7 @@ export const teamRouter = c.router({
|
|
|
134
135
|
farmId: z.string().uuid(),
|
|
135
136
|
memberId: z.string().uuid(),
|
|
136
137
|
}),
|
|
137
|
-
data: z.array(
|
|
138
|
+
data: z.array(authSessionResourceSchema).optional(),
|
|
138
139
|
})),
|
|
139
140
|
400: jsonApiErrorResponseSchema,
|
|
140
141
|
401: jsonApiErrorResponseSchema,
|
|
@@ -26,6 +26,7 @@ export declare const toolCallResultSchema: z.ZodObject<{
|
|
|
26
26
|
export declare const chatRequestAttributesSchema: z.ZodObject<{
|
|
27
27
|
message: z.ZodString;
|
|
28
28
|
farmId: z.ZodOptional<z.ZodString>;
|
|
29
|
+
fieldId: z.ZodOptional<z.ZodString>;
|
|
29
30
|
conversationId: z.ZodOptional<z.ZodString>;
|
|
30
31
|
conversationHistory: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
31
32
|
role: z.ZodEnum<["user", "assistant"]>;
|
|
@@ -40,6 +41,7 @@ export declare const chatRequestAttributesSchema: z.ZodObject<{
|
|
|
40
41
|
}, "strip", z.ZodTypeAny, {
|
|
41
42
|
message: string;
|
|
42
43
|
farmId?: string | undefined;
|
|
44
|
+
fieldId?: string | undefined;
|
|
43
45
|
conversationId?: string | undefined;
|
|
44
46
|
conversationHistory?: {
|
|
45
47
|
role: "user" | "assistant";
|
|
@@ -48,6 +50,7 @@ export declare const chatRequestAttributesSchema: z.ZodObject<{
|
|
|
48
50
|
}, {
|
|
49
51
|
message: string;
|
|
50
52
|
farmId?: string | undefined;
|
|
53
|
+
fieldId?: string | undefined;
|
|
51
54
|
conversationId?: string | undefined;
|
|
52
55
|
conversationHistory?: {
|
|
53
56
|
role: "user" | "assistant";
|
|
@@ -59,6 +62,7 @@ export declare const chatRequestSchema: z.ZodObject<{
|
|
|
59
62
|
attributes: z.ZodObject<{
|
|
60
63
|
message: z.ZodString;
|
|
61
64
|
farmId: z.ZodOptional<z.ZodString>;
|
|
65
|
+
fieldId: z.ZodOptional<z.ZodString>;
|
|
62
66
|
conversationId: z.ZodOptional<z.ZodString>;
|
|
63
67
|
conversationHistory: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
64
68
|
role: z.ZodEnum<["user", "assistant"]>;
|
|
@@ -73,6 +77,7 @@ export declare const chatRequestSchema: z.ZodObject<{
|
|
|
73
77
|
}, "strip", z.ZodTypeAny, {
|
|
74
78
|
message: string;
|
|
75
79
|
farmId?: string | undefined;
|
|
80
|
+
fieldId?: string | undefined;
|
|
76
81
|
conversationId?: string | undefined;
|
|
77
82
|
conversationHistory?: {
|
|
78
83
|
role: "user" | "assistant";
|
|
@@ -81,6 +86,7 @@ export declare const chatRequestSchema: z.ZodObject<{
|
|
|
81
86
|
}, {
|
|
82
87
|
message: string;
|
|
83
88
|
farmId?: string | undefined;
|
|
89
|
+
fieldId?: string | undefined;
|
|
84
90
|
conversationId?: string | undefined;
|
|
85
91
|
conversationHistory?: {
|
|
86
92
|
role: "user" | "assistant";
|
|
@@ -92,6 +98,7 @@ export declare const chatRequestSchema: z.ZodObject<{
|
|
|
92
98
|
attributes: {
|
|
93
99
|
message: string;
|
|
94
100
|
farmId?: string | undefined;
|
|
101
|
+
fieldId?: string | undefined;
|
|
95
102
|
conversationId?: string | undefined;
|
|
96
103
|
conversationHistory?: {
|
|
97
104
|
role: "user" | "assistant";
|
|
@@ -103,6 +110,7 @@ export declare const chatRequestSchema: z.ZodObject<{
|
|
|
103
110
|
attributes: {
|
|
104
111
|
message: string;
|
|
105
112
|
farmId?: string | undefined;
|
|
113
|
+
fieldId?: string | undefined;
|
|
106
114
|
conversationId?: string | undefined;
|
|
107
115
|
conversationHistory?: {
|
|
108
116
|
role: "user" | "assistant";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agents.schemas.d.ts","sourceRoot":"","sources":["../../src/schemas/agents.schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB;;GAEG;AAGH,eAAO,MAAM,iBAAiB,kCAAgC,CAAC;AAG/D,eAAO,MAAM,yBAAyB;;;;;;;;;EAGpC,CAAC;AAGH,eAAO,MAAM,oBAAoB;;;;;;;;;EAG/B,CAAC;AAGH,eAAO,MAAM,2BAA2B
|
|
1
|
+
{"version":3,"file":"agents.schemas.d.ts","sourceRoot":"","sources":["../../src/schemas/agents.schemas.ts"],"names":[],"mappings":"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"}
|
|
@@ -19,8 +19,11 @@ export const toolCallResultSchema = z.object({
|
|
|
19
19
|
export const chatRequestAttributesSchema = z.object({
|
|
20
20
|
message: z.string().min(1).max(5000),
|
|
21
21
|
farmId: z.string().uuid().optional(),
|
|
22
|
+
fieldId: z.string().uuid().optional(), // Optional field ID for context
|
|
22
23
|
conversationId: z.string().uuid().optional(), // Continue existing conversation
|
|
23
24
|
conversationHistory: z.array(conversationMessageSchema).optional(),
|
|
25
|
+
// File upload support (for soil tests, documents, etc.)
|
|
26
|
+
// Note: File is handled separately in multipart/form-data
|
|
24
27
|
});
|
|
25
28
|
// Chat request input (JSON:API format)
|
|
26
29
|
export const chatRequestSchema = z.object({
|