@deepintel-ltd/farmpro-contracts 1.7.8 → 1.7.9

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 (31) hide show
  1. package/dist/index.d.ts +11 -1
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +10 -0
  4. package/dist/routes/crop-profile.routes.d.ts +556 -0
  5. package/dist/routes/crop-profile.routes.d.ts.map +1 -0
  6. package/dist/routes/crop-profile.routes.js +55 -0
  7. package/dist/routes/index.d.ts +6 -0
  8. package/dist/routes/index.d.ts.map +1 -1
  9. package/dist/routes/index.js +4 -0
  10. package/dist/routes/measurements.routes.d.ts +1081 -0
  11. package/dist/routes/measurements.routes.d.ts.map +1 -0
  12. package/dist/routes/measurements.routes.js +69 -0
  13. package/dist/routes/monitoring-visualization.routes.d.ts +1637 -0
  14. package/dist/routes/monitoring-visualization.routes.d.ts.map +1 -1
  15. package/dist/routes/monitoring-visualization.routes.js +153 -0
  16. package/dist/routes/prescription-maps.routes.d.ts +1611 -40
  17. package/dist/routes/prescription-maps.routes.d.ts.map +1 -1
  18. package/dist/routes/prescription-maps.routes.js +75 -1
  19. package/dist/schemas/crop-profile.schemas.d.ts +724 -0
  20. package/dist/schemas/crop-profile.schemas.d.ts.map +1 -0
  21. package/dist/schemas/crop-profile.schemas.js +84 -0
  22. package/dist/schemas/measurements.schemas.d.ts +234 -0
  23. package/dist/schemas/measurements.schemas.d.ts.map +1 -0
  24. package/dist/schemas/measurements.schemas.js +57 -0
  25. package/dist/schemas/monitoring-visualization.schemas.d.ts +1703 -0
  26. package/dist/schemas/monitoring-visualization.schemas.d.ts.map +1 -1
  27. package/dist/schemas/monitoring-visualization.schemas.js +338 -0
  28. package/dist/schemas/prescription-maps.schemas.d.ts +400 -41
  29. package/dist/schemas/prescription-maps.schemas.d.ts.map +1 -1
  30. package/dist/schemas/prescription-maps.schemas.js +95 -2
  31. package/package.json +1 -1
@@ -0,0 +1,724 @@
1
+ import { z } from 'zod';
2
+ export declare const cropCropGrowthStageConfigSchema: z.ZodObject<{
3
+ stage: z.ZodString;
4
+ daysFromPlanting: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
5
+ healthyRange: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
6
+ warningRange: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
7
+ criticalBelow: z.ZodNumber;
8
+ description: z.ZodOptional<z.ZodString>;
9
+ recommendations: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
10
+ }, "strip", z.ZodTypeAny, {
11
+ stage: string;
12
+ daysFromPlanting: [number, number];
13
+ healthyRange: [number, number];
14
+ warningRange: [number, number];
15
+ criticalBelow: number;
16
+ description?: string | undefined;
17
+ recommendations?: string[] | undefined;
18
+ }, {
19
+ stage: string;
20
+ daysFromPlanting: [number, number];
21
+ healthyRange: [number, number];
22
+ warningRange: [number, number];
23
+ criticalBelow: number;
24
+ description?: string | undefined;
25
+ recommendations?: string[] | undefined;
26
+ }>;
27
+ export declare const alertConfigSchema: z.ZodObject<{
28
+ condition: z.ZodString;
29
+ message: z.ZodString;
30
+ actions: z.ZodArray<z.ZodString, "many">;
31
+ severity: z.ZodOptional<z.ZodEnum<["info", "warning", "critical"]>>;
32
+ }, "strip", z.ZodTypeAny, {
33
+ message: string;
34
+ condition: string;
35
+ actions: string[];
36
+ severity?: "critical" | "warning" | "info" | undefined;
37
+ }, {
38
+ message: string;
39
+ condition: string;
40
+ actions: string[];
41
+ severity?: "critical" | "warning" | "info" | undefined;
42
+ }>;
43
+ export declare const cropProfileSchema: z.ZodObject<{
44
+ id: z.ZodString;
45
+ cropType: z.ZodString;
46
+ cropVariety: z.ZodNullable<z.ZodString>;
47
+ stages: z.ZodArray<z.ZodObject<{
48
+ stage: z.ZodString;
49
+ daysFromPlanting: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
50
+ healthyRange: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
51
+ warningRange: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
52
+ criticalBelow: z.ZodNumber;
53
+ description: z.ZodOptional<z.ZodString>;
54
+ recommendations: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
55
+ }, "strip", z.ZodTypeAny, {
56
+ stage: string;
57
+ daysFromPlanting: [number, number];
58
+ healthyRange: [number, number];
59
+ warningRange: [number, number];
60
+ criticalBelow: number;
61
+ description?: string | undefined;
62
+ recommendations?: string[] | undefined;
63
+ }, {
64
+ stage: string;
65
+ daysFromPlanting: [number, number];
66
+ healthyRange: [number, number];
67
+ warningRange: [number, number];
68
+ criticalBelow: number;
69
+ description?: string | undefined;
70
+ recommendations?: string[] | undefined;
71
+ }>, "many">;
72
+ alerts: z.ZodNullable<z.ZodArray<z.ZodObject<{
73
+ condition: z.ZodString;
74
+ message: z.ZodString;
75
+ actions: z.ZodArray<z.ZodString, "many">;
76
+ severity: z.ZodOptional<z.ZodEnum<["info", "warning", "critical"]>>;
77
+ }, "strip", z.ZodTypeAny, {
78
+ message: string;
79
+ condition: string;
80
+ actions: string[];
81
+ severity?: "critical" | "warning" | "info" | undefined;
82
+ }, {
83
+ message: string;
84
+ condition: string;
85
+ actions: string[];
86
+ severity?: "critical" | "warning" | "info" | undefined;
87
+ }>, "many">>;
88
+ region: z.ZodNullable<z.ZodString>;
89
+ isDefault: z.ZodBoolean;
90
+ source: z.ZodNullable<z.ZodString>;
91
+ totalDays: z.ZodNumber;
92
+ }, "strip", z.ZodTypeAny, {
93
+ id: string;
94
+ source: string | null;
95
+ alerts: {
96
+ message: string;
97
+ condition: string;
98
+ actions: string[];
99
+ severity?: "critical" | "warning" | "info" | undefined;
100
+ }[] | null;
101
+ isDefault: boolean;
102
+ cropVariety: string | null;
103
+ cropType: string;
104
+ stages: {
105
+ stage: string;
106
+ daysFromPlanting: [number, number];
107
+ healthyRange: [number, number];
108
+ warningRange: [number, number];
109
+ criticalBelow: number;
110
+ description?: string | undefined;
111
+ recommendations?: string[] | undefined;
112
+ }[];
113
+ region: string | null;
114
+ totalDays: number;
115
+ }, {
116
+ id: string;
117
+ source: string | null;
118
+ alerts: {
119
+ message: string;
120
+ condition: string;
121
+ actions: string[];
122
+ severity?: "critical" | "warning" | "info" | undefined;
123
+ }[] | null;
124
+ isDefault: boolean;
125
+ cropVariety: string | null;
126
+ cropType: string;
127
+ stages: {
128
+ stage: string;
129
+ daysFromPlanting: [number, number];
130
+ healthyRange: [number, number];
131
+ warningRange: [number, number];
132
+ criticalBelow: number;
133
+ description?: string | undefined;
134
+ recommendations?: string[] | undefined;
135
+ }[];
136
+ region: string | null;
137
+ totalDays: number;
138
+ }>;
139
+ export declare const cropProfileListResponseSchema: z.ZodArray<z.ZodObject<{
140
+ id: z.ZodString;
141
+ cropType: z.ZodString;
142
+ cropVariety: z.ZodNullable<z.ZodString>;
143
+ stages: z.ZodArray<z.ZodObject<{
144
+ stage: z.ZodString;
145
+ daysFromPlanting: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
146
+ healthyRange: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
147
+ warningRange: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
148
+ criticalBelow: z.ZodNumber;
149
+ description: z.ZodOptional<z.ZodString>;
150
+ recommendations: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
151
+ }, "strip", z.ZodTypeAny, {
152
+ stage: string;
153
+ daysFromPlanting: [number, number];
154
+ healthyRange: [number, number];
155
+ warningRange: [number, number];
156
+ criticalBelow: number;
157
+ description?: string | undefined;
158
+ recommendations?: string[] | undefined;
159
+ }, {
160
+ stage: string;
161
+ daysFromPlanting: [number, number];
162
+ healthyRange: [number, number];
163
+ warningRange: [number, number];
164
+ criticalBelow: number;
165
+ description?: string | undefined;
166
+ recommendations?: string[] | undefined;
167
+ }>, "many">;
168
+ alerts: z.ZodNullable<z.ZodArray<z.ZodObject<{
169
+ condition: z.ZodString;
170
+ message: z.ZodString;
171
+ actions: z.ZodArray<z.ZodString, "many">;
172
+ severity: z.ZodOptional<z.ZodEnum<["info", "warning", "critical"]>>;
173
+ }, "strip", z.ZodTypeAny, {
174
+ message: string;
175
+ condition: string;
176
+ actions: string[];
177
+ severity?: "critical" | "warning" | "info" | undefined;
178
+ }, {
179
+ message: string;
180
+ condition: string;
181
+ actions: string[];
182
+ severity?: "critical" | "warning" | "info" | undefined;
183
+ }>, "many">>;
184
+ region: z.ZodNullable<z.ZodString>;
185
+ isDefault: z.ZodBoolean;
186
+ source: z.ZodNullable<z.ZodString>;
187
+ totalDays: z.ZodNumber;
188
+ }, "strip", z.ZodTypeAny, {
189
+ id: string;
190
+ source: string | null;
191
+ alerts: {
192
+ message: string;
193
+ condition: string;
194
+ actions: string[];
195
+ severity?: "critical" | "warning" | "info" | undefined;
196
+ }[] | null;
197
+ isDefault: boolean;
198
+ cropVariety: string | null;
199
+ cropType: string;
200
+ stages: {
201
+ stage: string;
202
+ daysFromPlanting: [number, number];
203
+ healthyRange: [number, number];
204
+ warningRange: [number, number];
205
+ criticalBelow: number;
206
+ description?: string | undefined;
207
+ recommendations?: string[] | undefined;
208
+ }[];
209
+ region: string | null;
210
+ totalDays: number;
211
+ }, {
212
+ id: string;
213
+ source: string | null;
214
+ alerts: {
215
+ message: string;
216
+ condition: string;
217
+ actions: string[];
218
+ severity?: "critical" | "warning" | "info" | undefined;
219
+ }[] | null;
220
+ isDefault: boolean;
221
+ cropVariety: string | null;
222
+ cropType: string;
223
+ stages: {
224
+ stage: string;
225
+ daysFromPlanting: [number, number];
226
+ healthyRange: [number, number];
227
+ warningRange: [number, number];
228
+ criticalBelow: number;
229
+ description?: string | undefined;
230
+ recommendations?: string[] | undefined;
231
+ }[];
232
+ region: string | null;
233
+ totalDays: number;
234
+ }>, "many">;
235
+ export declare const cropProfileResponseSchema: z.ZodObject<{
236
+ id: z.ZodString;
237
+ cropType: z.ZodString;
238
+ cropVariety: z.ZodNullable<z.ZodString>;
239
+ stages: z.ZodArray<z.ZodObject<{
240
+ stage: z.ZodString;
241
+ daysFromPlanting: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
242
+ healthyRange: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
243
+ warningRange: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
244
+ criticalBelow: z.ZodNumber;
245
+ description: z.ZodOptional<z.ZodString>;
246
+ recommendations: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
247
+ }, "strip", z.ZodTypeAny, {
248
+ stage: string;
249
+ daysFromPlanting: [number, number];
250
+ healthyRange: [number, number];
251
+ warningRange: [number, number];
252
+ criticalBelow: number;
253
+ description?: string | undefined;
254
+ recommendations?: string[] | undefined;
255
+ }, {
256
+ stage: string;
257
+ daysFromPlanting: [number, number];
258
+ healthyRange: [number, number];
259
+ warningRange: [number, number];
260
+ criticalBelow: number;
261
+ description?: string | undefined;
262
+ recommendations?: string[] | undefined;
263
+ }>, "many">;
264
+ alerts: z.ZodNullable<z.ZodArray<z.ZodObject<{
265
+ condition: z.ZodString;
266
+ message: z.ZodString;
267
+ actions: z.ZodArray<z.ZodString, "many">;
268
+ severity: z.ZodOptional<z.ZodEnum<["info", "warning", "critical"]>>;
269
+ }, "strip", z.ZodTypeAny, {
270
+ message: string;
271
+ condition: string;
272
+ actions: string[];
273
+ severity?: "critical" | "warning" | "info" | undefined;
274
+ }, {
275
+ message: string;
276
+ condition: string;
277
+ actions: string[];
278
+ severity?: "critical" | "warning" | "info" | undefined;
279
+ }>, "many">>;
280
+ region: z.ZodNullable<z.ZodString>;
281
+ isDefault: z.ZodBoolean;
282
+ source: z.ZodNullable<z.ZodString>;
283
+ totalDays: z.ZodNumber;
284
+ }, "strip", z.ZodTypeAny, {
285
+ id: string;
286
+ source: string | null;
287
+ alerts: {
288
+ message: string;
289
+ condition: string;
290
+ actions: string[];
291
+ severity?: "critical" | "warning" | "info" | undefined;
292
+ }[] | null;
293
+ isDefault: boolean;
294
+ cropVariety: string | null;
295
+ cropType: string;
296
+ stages: {
297
+ stage: string;
298
+ daysFromPlanting: [number, number];
299
+ healthyRange: [number, number];
300
+ warningRange: [number, number];
301
+ criticalBelow: number;
302
+ description?: string | undefined;
303
+ recommendations?: string[] | undefined;
304
+ }[];
305
+ region: string | null;
306
+ totalDays: number;
307
+ }, {
308
+ id: string;
309
+ source: string | null;
310
+ alerts: {
311
+ message: string;
312
+ condition: string;
313
+ actions: string[];
314
+ severity?: "critical" | "warning" | "info" | undefined;
315
+ }[] | null;
316
+ isDefault: boolean;
317
+ cropVariety: string | null;
318
+ cropType: string;
319
+ stages: {
320
+ stage: string;
321
+ daysFromPlanting: [number, number];
322
+ healthyRange: [number, number];
323
+ warningRange: [number, number];
324
+ criticalBelow: number;
325
+ description?: string | undefined;
326
+ recommendations?: string[] | undefined;
327
+ }[];
328
+ region: string | null;
329
+ totalDays: number;
330
+ }>;
331
+ export declare const currentStageAssessmentSchema: z.ZodObject<{
332
+ currentStage: z.ZodString;
333
+ daysSincePlanting: z.ZodNumber;
334
+ daysInStage: z.ZodNumber;
335
+ stageProgress: z.ZodNumber;
336
+ healthStatus: z.ZodEnum<["healthy", "warning", "critical", "unknown"]>;
337
+ currentNdvi: z.ZodNullable<z.ZodNumber>;
338
+ expectedNdviRange: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
339
+ ndviDeviation: z.ZodNullable<z.ZodNumber>;
340
+ recommendations: z.ZodArray<z.ZodString, "many">;
341
+ alerts: z.ZodArray<z.ZodObject<{
342
+ type: z.ZodEnum<["info", "warning", "critical"]>;
343
+ message: z.ZodString;
344
+ actions: z.ZodArray<z.ZodString, "many">;
345
+ }, "strip", z.ZodTypeAny, {
346
+ type: "critical" | "warning" | "info";
347
+ message: string;
348
+ actions: string[];
349
+ }, {
350
+ type: "critical" | "warning" | "info";
351
+ message: string;
352
+ actions: string[];
353
+ }>, "many">;
354
+ nextStage: z.ZodNullable<z.ZodString>;
355
+ daysToNextStage: z.ZodNullable<z.ZodNumber>;
356
+ expectedHarvestDate: z.ZodNullable<z.ZodString>;
357
+ cropProfile: z.ZodObject<{
358
+ cropType: z.ZodString;
359
+ cropVariety: z.ZodNullable<z.ZodString>;
360
+ region: z.ZodNullable<z.ZodString>;
361
+ }, "strip", z.ZodTypeAny, {
362
+ cropVariety: string | null;
363
+ cropType: string;
364
+ region: string | null;
365
+ }, {
366
+ cropVariety: string | null;
367
+ cropType: string;
368
+ region: string | null;
369
+ }>;
370
+ }, "strip", z.ZodTypeAny, {
371
+ expectedHarvestDate: string | null;
372
+ recommendations: string[];
373
+ alerts: {
374
+ type: "critical" | "warning" | "info";
375
+ message: string;
376
+ actions: string[];
377
+ }[];
378
+ currentStage: string;
379
+ currentNdvi: number | null;
380
+ daysSincePlanting: number;
381
+ daysInStage: number;
382
+ stageProgress: number;
383
+ healthStatus: "unknown" | "critical" | "warning" | "healthy";
384
+ expectedNdviRange: [number, number];
385
+ ndviDeviation: number | null;
386
+ nextStage: string | null;
387
+ daysToNextStage: number | null;
388
+ cropProfile: {
389
+ cropVariety: string | null;
390
+ cropType: string;
391
+ region: string | null;
392
+ };
393
+ }, {
394
+ expectedHarvestDate: string | null;
395
+ recommendations: string[];
396
+ alerts: {
397
+ type: "critical" | "warning" | "info";
398
+ message: string;
399
+ actions: string[];
400
+ }[];
401
+ currentStage: string;
402
+ currentNdvi: number | null;
403
+ daysSincePlanting: number;
404
+ daysInStage: number;
405
+ stageProgress: number;
406
+ healthStatus: "unknown" | "critical" | "warning" | "healthy";
407
+ expectedNdviRange: [number, number];
408
+ ndviDeviation: number | null;
409
+ nextStage: string | null;
410
+ daysToNextStage: number | null;
411
+ cropProfile: {
412
+ cropVariety: string | null;
413
+ cropType: string;
414
+ region: string | null;
415
+ };
416
+ }>;
417
+ export declare const fieldCropProfileResponseSchema: z.ZodObject<{
418
+ fieldId: z.ZodString;
419
+ cropProfile: z.ZodNullable<z.ZodObject<{
420
+ id: z.ZodString;
421
+ cropType: z.ZodString;
422
+ cropVariety: z.ZodNullable<z.ZodString>;
423
+ stages: z.ZodArray<z.ZodObject<{
424
+ stage: z.ZodString;
425
+ daysFromPlanting: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
426
+ healthyRange: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
427
+ warningRange: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
428
+ criticalBelow: z.ZodNumber;
429
+ description: z.ZodOptional<z.ZodString>;
430
+ recommendations: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
431
+ }, "strip", z.ZodTypeAny, {
432
+ stage: string;
433
+ daysFromPlanting: [number, number];
434
+ healthyRange: [number, number];
435
+ warningRange: [number, number];
436
+ criticalBelow: number;
437
+ description?: string | undefined;
438
+ recommendations?: string[] | undefined;
439
+ }, {
440
+ stage: string;
441
+ daysFromPlanting: [number, number];
442
+ healthyRange: [number, number];
443
+ warningRange: [number, number];
444
+ criticalBelow: number;
445
+ description?: string | undefined;
446
+ recommendations?: string[] | undefined;
447
+ }>, "many">;
448
+ alerts: z.ZodNullable<z.ZodArray<z.ZodObject<{
449
+ condition: z.ZodString;
450
+ message: z.ZodString;
451
+ actions: z.ZodArray<z.ZodString, "many">;
452
+ severity: z.ZodOptional<z.ZodEnum<["info", "warning", "critical"]>>;
453
+ }, "strip", z.ZodTypeAny, {
454
+ message: string;
455
+ condition: string;
456
+ actions: string[];
457
+ severity?: "critical" | "warning" | "info" | undefined;
458
+ }, {
459
+ message: string;
460
+ condition: string;
461
+ actions: string[];
462
+ severity?: "critical" | "warning" | "info" | undefined;
463
+ }>, "many">>;
464
+ region: z.ZodNullable<z.ZodString>;
465
+ isDefault: z.ZodBoolean;
466
+ source: z.ZodNullable<z.ZodString>;
467
+ totalDays: z.ZodNumber;
468
+ }, "strip", z.ZodTypeAny, {
469
+ id: string;
470
+ source: string | null;
471
+ alerts: {
472
+ message: string;
473
+ condition: string;
474
+ actions: string[];
475
+ severity?: "critical" | "warning" | "info" | undefined;
476
+ }[] | null;
477
+ isDefault: boolean;
478
+ cropVariety: string | null;
479
+ cropType: string;
480
+ stages: {
481
+ stage: string;
482
+ daysFromPlanting: [number, number];
483
+ healthyRange: [number, number];
484
+ warningRange: [number, number];
485
+ criticalBelow: number;
486
+ description?: string | undefined;
487
+ recommendations?: string[] | undefined;
488
+ }[];
489
+ region: string | null;
490
+ totalDays: number;
491
+ }, {
492
+ id: string;
493
+ source: string | null;
494
+ alerts: {
495
+ message: string;
496
+ condition: string;
497
+ actions: string[];
498
+ severity?: "critical" | "warning" | "info" | undefined;
499
+ }[] | null;
500
+ isDefault: boolean;
501
+ cropVariety: string | null;
502
+ cropType: string;
503
+ stages: {
504
+ stage: string;
505
+ daysFromPlanting: [number, number];
506
+ healthyRange: [number, number];
507
+ warningRange: [number, number];
508
+ criticalBelow: number;
509
+ description?: string | undefined;
510
+ recommendations?: string[] | undefined;
511
+ }[];
512
+ region: string | null;
513
+ totalDays: number;
514
+ }>>;
515
+ currentAssessment: z.ZodNullable<z.ZodObject<{
516
+ currentStage: z.ZodString;
517
+ daysSincePlanting: z.ZodNumber;
518
+ daysInStage: z.ZodNumber;
519
+ stageProgress: z.ZodNumber;
520
+ healthStatus: z.ZodEnum<["healthy", "warning", "critical", "unknown"]>;
521
+ currentNdvi: z.ZodNullable<z.ZodNumber>;
522
+ expectedNdviRange: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
523
+ ndviDeviation: z.ZodNullable<z.ZodNumber>;
524
+ recommendations: z.ZodArray<z.ZodString, "many">;
525
+ alerts: z.ZodArray<z.ZodObject<{
526
+ type: z.ZodEnum<["info", "warning", "critical"]>;
527
+ message: z.ZodString;
528
+ actions: z.ZodArray<z.ZodString, "many">;
529
+ }, "strip", z.ZodTypeAny, {
530
+ type: "critical" | "warning" | "info";
531
+ message: string;
532
+ actions: string[];
533
+ }, {
534
+ type: "critical" | "warning" | "info";
535
+ message: string;
536
+ actions: string[];
537
+ }>, "many">;
538
+ nextStage: z.ZodNullable<z.ZodString>;
539
+ daysToNextStage: z.ZodNullable<z.ZodNumber>;
540
+ expectedHarvestDate: z.ZodNullable<z.ZodString>;
541
+ cropProfile: z.ZodObject<{
542
+ cropType: z.ZodString;
543
+ cropVariety: z.ZodNullable<z.ZodString>;
544
+ region: z.ZodNullable<z.ZodString>;
545
+ }, "strip", z.ZodTypeAny, {
546
+ cropVariety: string | null;
547
+ cropType: string;
548
+ region: string | null;
549
+ }, {
550
+ cropVariety: string | null;
551
+ cropType: string;
552
+ region: string | null;
553
+ }>;
554
+ }, "strip", z.ZodTypeAny, {
555
+ expectedHarvestDate: string | null;
556
+ recommendations: string[];
557
+ alerts: {
558
+ type: "critical" | "warning" | "info";
559
+ message: string;
560
+ actions: string[];
561
+ }[];
562
+ currentStage: string;
563
+ currentNdvi: number | null;
564
+ daysSincePlanting: number;
565
+ daysInStage: number;
566
+ stageProgress: number;
567
+ healthStatus: "unknown" | "critical" | "warning" | "healthy";
568
+ expectedNdviRange: [number, number];
569
+ ndviDeviation: number | null;
570
+ nextStage: string | null;
571
+ daysToNextStage: number | null;
572
+ cropProfile: {
573
+ cropVariety: string | null;
574
+ cropType: string;
575
+ region: string | null;
576
+ };
577
+ }, {
578
+ expectedHarvestDate: string | null;
579
+ recommendations: string[];
580
+ alerts: {
581
+ type: "critical" | "warning" | "info";
582
+ message: string;
583
+ actions: string[];
584
+ }[];
585
+ currentStage: string;
586
+ currentNdvi: number | null;
587
+ daysSincePlanting: number;
588
+ daysInStage: number;
589
+ stageProgress: number;
590
+ healthStatus: "unknown" | "critical" | "warning" | "healthy";
591
+ expectedNdviRange: [number, number];
592
+ ndviDeviation: number | null;
593
+ nextStage: string | null;
594
+ daysToNextStage: number | null;
595
+ cropProfile: {
596
+ cropVariety: string | null;
597
+ cropType: string;
598
+ region: string | null;
599
+ };
600
+ }>>;
601
+ hasPlantingData: z.ZodBoolean;
602
+ plantingDate: z.ZodNullable<z.ZodString>;
603
+ }, "strip", z.ZodTypeAny, {
604
+ plantingDate: string | null;
605
+ fieldId: string;
606
+ cropProfile: {
607
+ id: string;
608
+ source: string | null;
609
+ alerts: {
610
+ message: string;
611
+ condition: string;
612
+ actions: string[];
613
+ severity?: "critical" | "warning" | "info" | undefined;
614
+ }[] | null;
615
+ isDefault: boolean;
616
+ cropVariety: string | null;
617
+ cropType: string;
618
+ stages: {
619
+ stage: string;
620
+ daysFromPlanting: [number, number];
621
+ healthyRange: [number, number];
622
+ warningRange: [number, number];
623
+ criticalBelow: number;
624
+ description?: string | undefined;
625
+ recommendations?: string[] | undefined;
626
+ }[];
627
+ region: string | null;
628
+ totalDays: number;
629
+ } | null;
630
+ currentAssessment: {
631
+ expectedHarvestDate: string | null;
632
+ recommendations: string[];
633
+ alerts: {
634
+ type: "critical" | "warning" | "info";
635
+ message: string;
636
+ actions: string[];
637
+ }[];
638
+ currentStage: string;
639
+ currentNdvi: number | null;
640
+ daysSincePlanting: number;
641
+ daysInStage: number;
642
+ stageProgress: number;
643
+ healthStatus: "unknown" | "critical" | "warning" | "healthy";
644
+ expectedNdviRange: [number, number];
645
+ ndviDeviation: number | null;
646
+ nextStage: string | null;
647
+ daysToNextStage: number | null;
648
+ cropProfile: {
649
+ cropVariety: string | null;
650
+ cropType: string;
651
+ region: string | null;
652
+ };
653
+ } | null;
654
+ hasPlantingData: boolean;
655
+ }, {
656
+ plantingDate: string | null;
657
+ fieldId: string;
658
+ cropProfile: {
659
+ id: string;
660
+ source: string | null;
661
+ alerts: {
662
+ message: string;
663
+ condition: string;
664
+ actions: string[];
665
+ severity?: "critical" | "warning" | "info" | undefined;
666
+ }[] | null;
667
+ isDefault: boolean;
668
+ cropVariety: string | null;
669
+ cropType: string;
670
+ stages: {
671
+ stage: string;
672
+ daysFromPlanting: [number, number];
673
+ healthyRange: [number, number];
674
+ warningRange: [number, number];
675
+ criticalBelow: number;
676
+ description?: string | undefined;
677
+ recommendations?: string[] | undefined;
678
+ }[];
679
+ region: string | null;
680
+ totalDays: number;
681
+ } | null;
682
+ currentAssessment: {
683
+ expectedHarvestDate: string | null;
684
+ recommendations: string[];
685
+ alerts: {
686
+ type: "critical" | "warning" | "info";
687
+ message: string;
688
+ actions: string[];
689
+ }[];
690
+ currentStage: string;
691
+ currentNdvi: number | null;
692
+ daysSincePlanting: number;
693
+ daysInStage: number;
694
+ stageProgress: number;
695
+ healthStatus: "unknown" | "critical" | "warning" | "healthy";
696
+ expectedNdviRange: [number, number];
697
+ ndviDeviation: number | null;
698
+ nextStage: string | null;
699
+ daysToNextStage: number | null;
700
+ cropProfile: {
701
+ cropVariety: string | null;
702
+ cropType: string;
703
+ region: string | null;
704
+ };
705
+ } | null;
706
+ hasPlantingData: boolean;
707
+ }>;
708
+ export declare const cropProfileErrorSchema: z.ZodObject<{
709
+ message: z.ZodString;
710
+ code: z.ZodString;
711
+ }, "strip", z.ZodTypeAny, {
712
+ code: string;
713
+ message: string;
714
+ }, {
715
+ code: string;
716
+ message: string;
717
+ }>;
718
+ export type CropGrowthStageConfig = z.infer<typeof cropCropGrowthStageConfigSchema>;
719
+ export type AlertConfig = z.infer<typeof alertConfigSchema>;
720
+ export type CropProfile = z.infer<typeof cropProfileSchema>;
721
+ export type CropProfileListResponse = z.infer<typeof cropProfileListResponseSchema>;
722
+ export type CurrentStageAssessment = z.infer<typeof currentStageAssessmentSchema>;
723
+ export type FieldCropProfileResponse = z.infer<typeof fieldCropProfileResponseSchema>;
724
+ //# sourceMappingURL=crop-profile.schemas.d.ts.map