@deepintel-ltd/farmpro-contracts 1.3.1 → 1.3.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +5 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -1
- package/dist/routes/admin.routes.d.ts +747 -0
- package/dist/routes/admin.routes.d.ts.map +1 -0
- package/dist/routes/admin.routes.js +26 -0
- package/dist/routes/agent-workflows.routes.d.ts +2900 -0
- package/dist/routes/agent-workflows.routes.d.ts.map +1 -0
- package/dist/routes/agent-workflows.routes.js +160 -0
- package/dist/routes/field-monitoring.routes.d.ts +568 -23
- package/dist/routes/field-monitoring.routes.d.ts.map +1 -1
- package/dist/routes/field-monitoring.routes.js +64 -0
- package/dist/routes/field-observations.routes.d.ts +130 -58
- package/dist/routes/field-observations.routes.d.ts.map +1 -1
- package/dist/routes/index.d.ts +6 -0
- package/dist/routes/index.d.ts.map +1 -1
- package/dist/routes/index.js +4 -0
- package/dist/routes/tasks.routes.d.ts +408 -0
- package/dist/routes/tasks.routes.d.ts.map +1 -1
- package/dist/routes/weather.routes.d.ts +264 -17
- package/dist/routes/weather.routes.d.ts.map +1 -1
- package/dist/schemas/admin.schemas.d.ts +1063 -0
- package/dist/schemas/admin.schemas.d.ts.map +1 -0
- package/dist/schemas/admin.schemas.js +63 -0
- package/dist/schemas/agent-workflows.schemas.d.ts +2399 -0
- package/dist/schemas/agent-workflows.schemas.d.ts.map +1 -0
- package/dist/schemas/agent-workflows.schemas.js +70 -0
- package/dist/schemas/field-monitoring.schemas.d.ts +215 -9
- package/dist/schemas/field-monitoring.schemas.d.ts.map +1 -1
- package/dist/schemas/field-monitoring.schemas.js +26 -2
- package/dist/schemas/field-observations.schemas.d.ts +100 -40
- package/dist/schemas/field-observations.schemas.d.ts.map +1 -1
- package/dist/schemas/field-observations.schemas.js +2 -24
- package/dist/schemas/recommendations.schemas.d.ts +112 -0
- package/dist/schemas/recommendations.schemas.d.ts.map +1 -0
- package/dist/schemas/recommendations.schemas.js +32 -0
- package/dist/schemas/tasks.schemas.d.ts +344 -0
- package/dist/schemas/tasks.schemas.d.ts.map +1 -1
- package/dist/schemas/tasks.schemas.js +9 -0
- package/dist/schemas/weather.schemas.d.ts +780 -44
- package/dist/schemas/weather.schemas.d.ts.map +1 -1
- package/dist/schemas/weather.schemas.js +2 -1
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-workflows.schemas.d.ts","sourceRoot":"","sources":["../../src/schemas/agent-workflows.schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AASxB;;;;;;GAMG;AAGH,eAAO,MAAM,yBAAyB,mDAIpC,CAAC;AAGH,eAAO,MAAM,qBAAqB,0EAKhC,CAAC;AAGH,eAAO,MAAM,2BAA2B,uDAKtC,CAAC;AAGH,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAK1C,CAAC;AAGH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAU7B,CAAC;AAGH,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAWhB,CAAC;AAI3B,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAGvC,CAAC;AAGF,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAEvC,CAAC;AAEF,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAE3C,CAAC;AAGF,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAC5E,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AACpE,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAChF,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,+BAA+B,CAAC,CAAC;AACxF,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAC9D,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAC;AACpF,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAChF,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAChF,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,+BAA+B,CAAC,CAAC"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.agentWorkflowListResponseSchema = exports.agentWorkflowResponseSchema = exports.agentWorkflowResourceSchema = exports.agentWorkflowAttributesSchema = exports.agentResultsSchema = exports.agentRecommendationResultSchema = exports.recommendationOutcomeSchema = exports.workflowOutcomeSchema = exports.agentWorkflowStatusSchema = void 0;
|
|
4
|
+
const zod_1 = require("zod");
|
|
5
|
+
const recommendations_schemas_1 = require("./recommendations.schemas");
|
|
6
|
+
const common_schemas_1 = require("./common.schemas");
|
|
7
|
+
/**
|
|
8
|
+
* Agent Workflow Schemas
|
|
9
|
+
*
|
|
10
|
+
* Defines the data contracts for logging and tracking the autonomous,
|
|
11
|
+
* event-driven workflows performed by the system's agents, such as the
|
|
12
|
+
* process of turning a recommendation into a task.
|
|
13
|
+
*/
|
|
14
|
+
// The overall status of an agent workflow
|
|
15
|
+
exports.agentWorkflowStatusSchema = zod_1.z.enum([
|
|
16
|
+
'in_progress',
|
|
17
|
+
'completed',
|
|
18
|
+
'failed',
|
|
19
|
+
]);
|
|
20
|
+
// The final outcome of a recommendation-to-task workflow
|
|
21
|
+
exports.workflowOutcomeSchema = zod_1.z.enum([
|
|
22
|
+
'task_created',
|
|
23
|
+
'task_updated',
|
|
24
|
+
'no_action_needed',
|
|
25
|
+
'error',
|
|
26
|
+
]);
|
|
27
|
+
// The outcome for a single recommendation within a workflow
|
|
28
|
+
exports.recommendationOutcomeSchema = zod_1.z.enum([
|
|
29
|
+
'created',
|
|
30
|
+
'updated',
|
|
31
|
+
'skipped',
|
|
32
|
+
'error',
|
|
33
|
+
]);
|
|
34
|
+
// Result for a single recommendation processed by the agent
|
|
35
|
+
exports.agentRecommendationResultSchema = zod_1.z.object({
|
|
36
|
+
recommendation: recommendations_schemas_1.recommendationSchema,
|
|
37
|
+
outcome: exports.recommendationOutcomeSchema,
|
|
38
|
+
taskId: zod_1.z.string().uuid().optional(),
|
|
39
|
+
reason: zod_1.z.string(),
|
|
40
|
+
});
|
|
41
|
+
// The `agentResults` object that will be stored as JSON in the database
|
|
42
|
+
exports.agentResultsSchema = zod_1.z.object({
|
|
43
|
+
summary: zod_1.z.object({
|
|
44
|
+
sourceType: zod_1.z.string(),
|
|
45
|
+
tasksCreated: zod_1.z.number().int(),
|
|
46
|
+
tasksUpdated: zod_1.z.number().int(),
|
|
47
|
+
skipped: zod_1.z.number().int(),
|
|
48
|
+
}),
|
|
49
|
+
results: zod_1.z.array(exports.agentRecommendationResultSchema),
|
|
50
|
+
// Optionally include other agent reviews for full traceability
|
|
51
|
+
taskReview: zod_1.z.any().optional(),
|
|
52
|
+
});
|
|
53
|
+
// The main attributes for an AgentWorkflow record
|
|
54
|
+
exports.agentWorkflowAttributesSchema = zod_1.z.object({
|
|
55
|
+
workflowType: zod_1.z.literal('recommendation_to_task'),
|
|
56
|
+
triggerEvent: zod_1.z.string(), // e.g., 'observation.analysis.completed'
|
|
57
|
+
triggerId: zod_1.z.string(), // ID of the observation, alert, etc.
|
|
58
|
+
fieldId: zod_1.z.string().uuid(),
|
|
59
|
+
farmId: zod_1.z.string().uuid(),
|
|
60
|
+
status: exports.agentWorkflowStatusSchema,
|
|
61
|
+
outcome: exports.workflowOutcomeSchema.nullable(),
|
|
62
|
+
agentResults: exports.agentResultsSchema.nullable(),
|
|
63
|
+
errorMessage: zod_1.z.string().nullable(),
|
|
64
|
+
completedAt: zod_1.z.date().nullable(),
|
|
65
|
+
}).merge(common_schemas_1.timestampsSchema);
|
|
66
|
+
// JSON:API resource schemas
|
|
67
|
+
exports.agentWorkflowResourceSchema = (0, common_schemas_1.createJsonApiResourceSchema)('agent-workflows', exports.agentWorkflowAttributesSchema);
|
|
68
|
+
// Response schemas
|
|
69
|
+
exports.agentWorkflowResponseSchema = (0, common_schemas_1.jsonApiSingleResponseSchema)(exports.agentWorkflowResourceSchema);
|
|
70
|
+
exports.agentWorkflowListResponseSchema = (0, common_schemas_1.jsonApiCollectionResponseSchema)(exports.agentWorkflowResourceSchema);
|
|
@@ -24,7 +24,7 @@ export declare const fieldMonitoringSummarySchema: z.ZodObject<{
|
|
|
24
24
|
currentNDWI: number | null;
|
|
25
25
|
currentEVI: number | null;
|
|
26
26
|
currentCropHealth: "poor" | "fair" | "good" | "excellent" | null;
|
|
27
|
-
currentWaterStress: "
|
|
27
|
+
currentWaterStress: "low" | "medium" | "high" | "none" | null;
|
|
28
28
|
overallStatus: "ok" | "critical" | "warning";
|
|
29
29
|
activeAlertCount: number;
|
|
30
30
|
lastAlertDate: string | null;
|
|
@@ -40,7 +40,7 @@ export declare const fieldMonitoringSummarySchema: z.ZodObject<{
|
|
|
40
40
|
currentNDWI: number | null;
|
|
41
41
|
currentEVI: number | null;
|
|
42
42
|
currentCropHealth: "poor" | "fair" | "good" | "excellent" | null;
|
|
43
|
-
currentWaterStress: "
|
|
43
|
+
currentWaterStress: "low" | "medium" | "high" | "none" | null;
|
|
44
44
|
overallStatus: "ok" | "critical" | "warning";
|
|
45
45
|
activeAlertCount: number;
|
|
46
46
|
lastAlertDate: string | null;
|
|
@@ -88,7 +88,86 @@ export declare const fieldAlertSchema: z.ZodObject<{
|
|
|
88
88
|
severity: z.ZodEnum<["low", "medium", "high", "critical"]>;
|
|
89
89
|
title: z.ZodString;
|
|
90
90
|
message: z.ZodString;
|
|
91
|
-
|
|
91
|
+
recommendations: z.ZodNullable<z.ZodArray<z.ZodObject<{
|
|
92
|
+
priority: z.ZodNumber;
|
|
93
|
+
action: z.ZodString;
|
|
94
|
+
details: z.ZodString;
|
|
95
|
+
timing: z.ZodString;
|
|
96
|
+
severity: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "critical"]>>;
|
|
97
|
+
confidence: z.ZodOptional<z.ZodNumber>;
|
|
98
|
+
materials: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
99
|
+
inventoryItemId: z.ZodOptional<z.ZodString>;
|
|
100
|
+
name: z.ZodString;
|
|
101
|
+
quantity: z.ZodNumber;
|
|
102
|
+
unit: z.ZodString;
|
|
103
|
+
costPerUnit: z.ZodOptional<z.ZodNumber>;
|
|
104
|
+
totalCost: z.ZodOptional<z.ZodNumber>;
|
|
105
|
+
availability: z.ZodOptional<z.ZodString>;
|
|
106
|
+
}, "strip", z.ZodTypeAny, {
|
|
107
|
+
name: string;
|
|
108
|
+
unit: string;
|
|
109
|
+
quantity: number;
|
|
110
|
+
inventoryItemId?: string | undefined;
|
|
111
|
+
totalCost?: number | undefined;
|
|
112
|
+
costPerUnit?: number | undefined;
|
|
113
|
+
availability?: string | undefined;
|
|
114
|
+
}, {
|
|
115
|
+
name: string;
|
|
116
|
+
unit: string;
|
|
117
|
+
quantity: number;
|
|
118
|
+
inventoryItemId?: string | undefined;
|
|
119
|
+
totalCost?: number | undefined;
|
|
120
|
+
costPerUnit?: number | undefined;
|
|
121
|
+
availability?: string | undefined;
|
|
122
|
+
}>, "many">>;
|
|
123
|
+
applicationMethod: z.ZodOptional<z.ZodString>;
|
|
124
|
+
expectedOutcome: z.ZodOptional<z.ZodString>;
|
|
125
|
+
preventiveMeasures: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
126
|
+
estimatedTime: z.ZodOptional<z.ZodString>;
|
|
127
|
+
riskLevel: z.ZodOptional<z.ZodString>;
|
|
128
|
+
}, "strip", z.ZodTypeAny, {
|
|
129
|
+
priority: number;
|
|
130
|
+
action: string;
|
|
131
|
+
details: string;
|
|
132
|
+
timing: string;
|
|
133
|
+
severity?: "critical" | "low" | "medium" | "high" | undefined;
|
|
134
|
+
confidence?: number | undefined;
|
|
135
|
+
materials?: {
|
|
136
|
+
name: string;
|
|
137
|
+
unit: string;
|
|
138
|
+
quantity: number;
|
|
139
|
+
inventoryItemId?: string | undefined;
|
|
140
|
+
totalCost?: number | undefined;
|
|
141
|
+
costPerUnit?: number | undefined;
|
|
142
|
+
availability?: string | undefined;
|
|
143
|
+
}[] | undefined;
|
|
144
|
+
applicationMethod?: string | undefined;
|
|
145
|
+
expectedOutcome?: string | undefined;
|
|
146
|
+
preventiveMeasures?: string[] | undefined;
|
|
147
|
+
estimatedTime?: string | undefined;
|
|
148
|
+
riskLevel?: string | undefined;
|
|
149
|
+
}, {
|
|
150
|
+
priority: number;
|
|
151
|
+
action: string;
|
|
152
|
+
details: string;
|
|
153
|
+
timing: string;
|
|
154
|
+
severity?: "critical" | "low" | "medium" | "high" | undefined;
|
|
155
|
+
confidence?: number | undefined;
|
|
156
|
+
materials?: {
|
|
157
|
+
name: string;
|
|
158
|
+
unit: string;
|
|
159
|
+
quantity: number;
|
|
160
|
+
inventoryItemId?: string | undefined;
|
|
161
|
+
totalCost?: number | undefined;
|
|
162
|
+
costPerUnit?: number | undefined;
|
|
163
|
+
availability?: string | undefined;
|
|
164
|
+
}[] | undefined;
|
|
165
|
+
applicationMethod?: string | undefined;
|
|
166
|
+
expectedOutcome?: string | undefined;
|
|
167
|
+
preventiveMeasures?: string[] | undefined;
|
|
168
|
+
estimatedTime?: string | undefined;
|
|
169
|
+
riskLevel?: string | undefined;
|
|
170
|
+
}>, "many">>;
|
|
92
171
|
status: z.ZodEnum<["active", "acknowledged", "resolved"]>;
|
|
93
172
|
acknowledgedAt: z.ZodNullable<z.ZodString>;
|
|
94
173
|
acknowledgedBy: z.ZodNullable<z.ZodString>;
|
|
@@ -104,12 +183,33 @@ export declare const fieldAlertSchema: z.ZodObject<{
|
|
|
104
183
|
title: string;
|
|
105
184
|
createdAt: string;
|
|
106
185
|
fieldId: string;
|
|
107
|
-
|
|
108
|
-
|
|
186
|
+
recommendations: {
|
|
187
|
+
priority: number;
|
|
188
|
+
action: string;
|
|
189
|
+
details: string;
|
|
190
|
+
timing: string;
|
|
191
|
+
severity?: "critical" | "low" | "medium" | "high" | undefined;
|
|
192
|
+
confidence?: number | undefined;
|
|
193
|
+
materials?: {
|
|
194
|
+
name: string;
|
|
195
|
+
unit: string;
|
|
196
|
+
quantity: number;
|
|
197
|
+
inventoryItemId?: string | undefined;
|
|
198
|
+
totalCost?: number | undefined;
|
|
199
|
+
costPerUnit?: number | undefined;
|
|
200
|
+
availability?: string | undefined;
|
|
201
|
+
}[] | undefined;
|
|
202
|
+
applicationMethod?: string | undefined;
|
|
203
|
+
expectedOutcome?: string | undefined;
|
|
204
|
+
preventiveMeasures?: string[] | undefined;
|
|
205
|
+
estimatedTime?: string | undefined;
|
|
206
|
+
riskLevel?: string | undefined;
|
|
207
|
+
}[] | null;
|
|
208
|
+
severity: "critical" | "low" | "medium" | "high";
|
|
209
|
+
confidence: number | null;
|
|
109
210
|
acknowledgedAt: string | null;
|
|
110
211
|
acknowledgedBy: string | null;
|
|
111
212
|
resolvedAt: string | null;
|
|
112
|
-
confidence: number | null;
|
|
113
213
|
generatedBy: string;
|
|
114
214
|
fieldName?: string | undefined;
|
|
115
215
|
}, {
|
|
@@ -120,12 +220,33 @@ export declare const fieldAlertSchema: z.ZodObject<{
|
|
|
120
220
|
title: string;
|
|
121
221
|
createdAt: string;
|
|
122
222
|
fieldId: string;
|
|
123
|
-
|
|
124
|
-
|
|
223
|
+
recommendations: {
|
|
224
|
+
priority: number;
|
|
225
|
+
action: string;
|
|
226
|
+
details: string;
|
|
227
|
+
timing: string;
|
|
228
|
+
severity?: "critical" | "low" | "medium" | "high" | undefined;
|
|
229
|
+
confidence?: number | undefined;
|
|
230
|
+
materials?: {
|
|
231
|
+
name: string;
|
|
232
|
+
unit: string;
|
|
233
|
+
quantity: number;
|
|
234
|
+
inventoryItemId?: string | undefined;
|
|
235
|
+
totalCost?: number | undefined;
|
|
236
|
+
costPerUnit?: number | undefined;
|
|
237
|
+
availability?: string | undefined;
|
|
238
|
+
}[] | undefined;
|
|
239
|
+
applicationMethod?: string | undefined;
|
|
240
|
+
expectedOutcome?: string | undefined;
|
|
241
|
+
preventiveMeasures?: string[] | undefined;
|
|
242
|
+
estimatedTime?: string | undefined;
|
|
243
|
+
riskLevel?: string | undefined;
|
|
244
|
+
}[] | null;
|
|
245
|
+
severity: "critical" | "low" | "medium" | "high";
|
|
246
|
+
confidence: number | null;
|
|
125
247
|
acknowledgedAt: string | null;
|
|
126
248
|
acknowledgedBy: string | null;
|
|
127
249
|
resolvedAt: string | null;
|
|
128
|
-
confidence: number | null;
|
|
129
250
|
generatedBy: string;
|
|
130
251
|
fieldName?: string | undefined;
|
|
131
252
|
}>;
|
|
@@ -213,4 +334,89 @@ export declare const fieldMonitoringErrorResponseSchema: z.ZodObject<{
|
|
|
213
334
|
message: string;
|
|
214
335
|
code?: string | undefined;
|
|
215
336
|
}>;
|
|
337
|
+
export declare const soilReadingSchema: z.ZodObject<{
|
|
338
|
+
readingDate: z.ZodString;
|
|
339
|
+
soilMoisture: z.ZodNullable<z.ZodNumber>;
|
|
340
|
+
surfaceTemp: z.ZodNullable<z.ZodNumber>;
|
|
341
|
+
temp10cm: z.ZodNullable<z.ZodNumber>;
|
|
342
|
+
}, "strip", z.ZodTypeAny, {
|
|
343
|
+
readingDate: string;
|
|
344
|
+
soilMoisture: number | null;
|
|
345
|
+
surfaceTemp: number | null;
|
|
346
|
+
temp10cm: number | null;
|
|
347
|
+
}, {
|
|
348
|
+
readingDate: string;
|
|
349
|
+
soilMoisture: number | null;
|
|
350
|
+
surfaceTemp: number | null;
|
|
351
|
+
temp10cm: number | null;
|
|
352
|
+
}>;
|
|
353
|
+
export declare const soilTrendSchema: z.ZodObject<{
|
|
354
|
+
fieldId: z.ZodString;
|
|
355
|
+
fieldName: z.ZodString;
|
|
356
|
+
readings: z.ZodArray<z.ZodObject<{
|
|
357
|
+
readingDate: z.ZodString;
|
|
358
|
+
soilMoisture: z.ZodNullable<z.ZodNumber>;
|
|
359
|
+
surfaceTemp: z.ZodNullable<z.ZodNumber>;
|
|
360
|
+
temp10cm: z.ZodNullable<z.ZodNumber>;
|
|
361
|
+
}, "strip", z.ZodTypeAny, {
|
|
362
|
+
readingDate: string;
|
|
363
|
+
soilMoisture: number | null;
|
|
364
|
+
surfaceTemp: number | null;
|
|
365
|
+
temp10cm: number | null;
|
|
366
|
+
}, {
|
|
367
|
+
readingDate: string;
|
|
368
|
+
soilMoisture: number | null;
|
|
369
|
+
surfaceTemp: number | null;
|
|
370
|
+
temp10cm: number | null;
|
|
371
|
+
}>, "many">;
|
|
372
|
+
avgMoisture: z.ZodNullable<z.ZodNumber>;
|
|
373
|
+
moistureTrend: z.ZodNullable<z.ZodEnum<["increasing", "stable", "decreasing"]>>;
|
|
374
|
+
lastReadingDate: z.ZodNullable<z.ZodString>;
|
|
375
|
+
}, "strip", z.ZodTypeAny, {
|
|
376
|
+
fieldId: string;
|
|
377
|
+
fieldName: string;
|
|
378
|
+
readings: {
|
|
379
|
+
readingDate: string;
|
|
380
|
+
soilMoisture: number | null;
|
|
381
|
+
surfaceTemp: number | null;
|
|
382
|
+
temp10cm: number | null;
|
|
383
|
+
}[];
|
|
384
|
+
avgMoisture: number | null;
|
|
385
|
+
moistureTrend: "stable" | "increasing" | "decreasing" | null;
|
|
386
|
+
lastReadingDate: string | null;
|
|
387
|
+
}, {
|
|
388
|
+
fieldId: string;
|
|
389
|
+
fieldName: string;
|
|
390
|
+
readings: {
|
|
391
|
+
readingDate: string;
|
|
392
|
+
soilMoisture: number | null;
|
|
393
|
+
surfaceTemp: number | null;
|
|
394
|
+
temp10cm: number | null;
|
|
395
|
+
}[];
|
|
396
|
+
avgMoisture: number | null;
|
|
397
|
+
moistureTrend: "stable" | "increasing" | "decreasing" | null;
|
|
398
|
+
lastReadingDate: string | null;
|
|
399
|
+
}>;
|
|
400
|
+
export type SoilReading = z.infer<typeof soilReadingSchema>;
|
|
401
|
+
export type SoilTrend = z.infer<typeof soilTrendSchema>;
|
|
402
|
+
export declare const historicalNDVIDataPointSchema: z.ZodObject<{
|
|
403
|
+
date: z.ZodString;
|
|
404
|
+
ndvi: z.ZodNumber;
|
|
405
|
+
source: z.ZodEnum<["sentinel-2", "landsat-8", "modis"]>;
|
|
406
|
+
cloudCoverage: z.ZodNumber;
|
|
407
|
+
imageCoverage: z.ZodNumber;
|
|
408
|
+
}, "strip", z.ZodTypeAny, {
|
|
409
|
+
date: string;
|
|
410
|
+
source: "sentinel-2" | "landsat-8" | "modis";
|
|
411
|
+
ndvi: number;
|
|
412
|
+
cloudCoverage: number;
|
|
413
|
+
imageCoverage: number;
|
|
414
|
+
}, {
|
|
415
|
+
date: string;
|
|
416
|
+
source: "sentinel-2" | "landsat-8" | "modis";
|
|
417
|
+
ndvi: number;
|
|
418
|
+
cloudCoverage: number;
|
|
419
|
+
imageCoverage: number;
|
|
420
|
+
}>;
|
|
421
|
+
export type HistoricalNDVIDataPoint = z.infer<typeof historicalNDVIDataPointSchema>;
|
|
216
422
|
//# sourceMappingURL=field-monitoring.schemas.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"field-monitoring.schemas.d.ts","sourceRoot":"","sources":["../../src/schemas/field-monitoring.schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"field-monitoring.schemas.d.ts","sourceRoot":"","sources":["../../src/schemas/field-monitoring.schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoBvC,CAAC;AAEH,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAC1C,OAAO,4BAA4B,CACpC,CAAC;AAGF,eAAO,MAAM,wBAAwB;;;;;;;;;;;;EAInC,CAAC;AAEH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAG1E,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;EAKhC,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAGpE,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgB3B,CAAC;AAEH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAG1D,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;EAMhC,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAGpE,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;EAOpC,CAAC;AAEH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAG5E,eAAO,MAAM,oBAAoB;;;;;;;;;;;;EAI/B,CAAC;AAEH,eAAO,MAAM,iBAAiB;;;;;;EAE5B,CAAC;AAGH,eAAO,MAAM,6BAA6B;;;;;;;;;EAGxC,CAAC;AAEH,eAAO,MAAM,kCAAkC;;;;;;;;;EAG7C,CAAC;AAGH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;EAK5B,CAAC;AAEH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAO1B,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAC5D,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAGxD,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;EAMxC,CAAC;AAEH,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAC3C,OAAO,6BAA6B,CACrC,CAAC"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.fieldMonitoringErrorResponseSchema = exports.triggerAnalysisResponseSchema = exports.alertsQuerySchema = exports.ndviTrendQuerySchema = exports.farmMonitoringStatsSchema = exports.fieldComparisonSchema = exports.fieldAlertSchema = exports.weeklyNDVIStatsSchema = exports.ndviTrendDataPointSchema = exports.fieldMonitoringSummarySchema = void 0;
|
|
3
|
+
exports.historicalNDVIDataPointSchema = exports.soilTrendSchema = exports.soilReadingSchema = exports.fieldMonitoringErrorResponseSchema = exports.triggerAnalysisResponseSchema = exports.alertsQuerySchema = exports.ndviTrendQuerySchema = exports.farmMonitoringStatsSchema = exports.fieldComparisonSchema = exports.fieldAlertSchema = exports.weeklyNDVIStatsSchema = exports.ndviTrendDataPointSchema = exports.fieldMonitoringSummarySchema = void 0;
|
|
4
4
|
const zod_1 = require("zod");
|
|
5
|
+
const recommendations_schemas_1 = require("./recommendations.schemas");
|
|
5
6
|
// Field Monitoring Summary Schema
|
|
6
7
|
exports.fieldMonitoringSummarySchema = zod_1.z.object({
|
|
7
8
|
id: zod_1.z.string().uuid(),
|
|
@@ -46,7 +47,7 @@ exports.fieldAlertSchema = zod_1.z.object({
|
|
|
46
47
|
severity: zod_1.z.enum(['low', 'medium', 'high', 'critical']),
|
|
47
48
|
title: zod_1.z.string(),
|
|
48
49
|
message: zod_1.z.string(),
|
|
49
|
-
|
|
50
|
+
recommendations: zod_1.z.array(recommendations_schemas_1.recommendationSchema).nullable(),
|
|
50
51
|
status: zod_1.z.enum(['active', 'acknowledged', 'resolved']),
|
|
51
52
|
acknowledgedAt: zod_1.z.string().datetime().nullable(),
|
|
52
53
|
acknowledgedBy: zod_1.z.string().nullable(),
|
|
@@ -90,3 +91,26 @@ exports.fieldMonitoringErrorResponseSchema = zod_1.z.object({
|
|
|
90
91
|
message: zod_1.z.string(),
|
|
91
92
|
code: zod_1.z.string().optional(),
|
|
92
93
|
});
|
|
94
|
+
// Soil Monitoring Schemas
|
|
95
|
+
exports.soilReadingSchema = zod_1.z.object({
|
|
96
|
+
readingDate: zod_1.z.string().datetime(),
|
|
97
|
+
soilMoisture: zod_1.z.number().min(0).max(1).nullable(), // m³/m³
|
|
98
|
+
surfaceTemp: zod_1.z.number().nullable(), // Kelvins
|
|
99
|
+
temp10cm: zod_1.z.number().nullable(), // Kelvins
|
|
100
|
+
});
|
|
101
|
+
exports.soilTrendSchema = zod_1.z.object({
|
|
102
|
+
fieldId: zod_1.z.string().uuid(),
|
|
103
|
+
fieldName: zod_1.z.string(),
|
|
104
|
+
readings: zod_1.z.array(exports.soilReadingSchema),
|
|
105
|
+
avgMoisture: zod_1.z.number().nullable(),
|
|
106
|
+
moistureTrend: zod_1.z.enum(['increasing', 'stable', 'decreasing']).nullable(),
|
|
107
|
+
lastReadingDate: zod_1.z.string().datetime().nullable(),
|
|
108
|
+
});
|
|
109
|
+
// Historical NDVI Schemas
|
|
110
|
+
exports.historicalNDVIDataPointSchema = zod_1.z.object({
|
|
111
|
+
date: zod_1.z.string().datetime(),
|
|
112
|
+
ndvi: zod_1.z.number().min(-1).max(1),
|
|
113
|
+
source: zod_1.z.enum(['sentinel-2', 'landsat-8', 'modis']),
|
|
114
|
+
cloudCoverage: zod_1.z.number().min(0).max(100),
|
|
115
|
+
imageCoverage: zod_1.z.number().min(0).max(100),
|
|
116
|
+
});
|