@deepintel-ltd/farmpro-contracts 1.0.2 → 1.0.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.
Files changed (100) hide show
  1. package/dist/index.d.ts +41 -0
  2. package/dist/index.d.ts.map +1 -0
  3. package/dist/index.js +81 -0
  4. package/dist/routes/analytics.routes.d.ts +754 -0
  5. package/dist/routes/analytics.routes.d.ts.map +1 -0
  6. package/dist/routes/analytics.routes.js +24 -0
  7. package/dist/routes/auth.routes.d.ts +3836 -0
  8. package/dist/routes/auth.routes.d.ts.map +1 -0
  9. package/dist/routes/auth.routes.js +158 -0
  10. package/dist/routes/documents.routes.d.ts +2476 -0
  11. package/dist/routes/documents.routes.d.ts.map +1 -0
  12. package/dist/routes/documents.routes.js +100 -0
  13. package/dist/routes/equipment.routes.d.ts +3617 -0
  14. package/dist/routes/equipment.routes.d.ts.map +1 -0
  15. package/dist/routes/equipment.routes.js +118 -0
  16. package/dist/routes/farms.routes.d.ts +2202 -0
  17. package/dist/routes/farms.routes.d.ts.map +1 -0
  18. package/dist/routes/farms.routes.js +111 -0
  19. package/dist/routes/fields.routes.d.ts +3389 -0
  20. package/dist/routes/fields.routes.d.ts.map +1 -0
  21. package/dist/routes/fields.routes.js +95 -0
  22. package/dist/routes/finance.routes.d.ts +6855 -0
  23. package/dist/routes/finance.routes.d.ts.map +1 -0
  24. package/dist/routes/finance.routes.js +259 -0
  25. package/dist/routes/harvest.routes.d.ts +2337 -0
  26. package/dist/routes/harvest.routes.d.ts.map +1 -0
  27. package/dist/routes/harvest.routes.js +99 -0
  28. package/dist/routes/index.d.ts +68 -0
  29. package/dist/routes/index.d.ts.map +1 -0
  30. package/dist/routes/index.js +43 -0
  31. package/dist/routes/inventory.routes.d.ts +2853 -0
  32. package/dist/routes/inventory.routes.d.ts.map +1 -0
  33. package/dist/routes/inventory.routes.js +121 -0
  34. package/dist/routes/soil-tests.routes.d.ts +3005 -0
  35. package/dist/routes/soil-tests.routes.d.ts.map +1 -0
  36. package/dist/routes/soil-tests.routes.js +98 -0
  37. package/dist/routes/suppliers.routes.d.ts +4190 -0
  38. package/dist/routes/suppliers.routes.d.ts.map +1 -0
  39. package/dist/routes/suppliers.routes.js +146 -0
  40. package/dist/routes/tasks.routes.d.ts +4192 -0
  41. package/dist/routes/tasks.routes.d.ts.map +1 -0
  42. package/dist/routes/tasks.routes.js +138 -0
  43. package/dist/routes/team.routes.d.ts +2210 -0
  44. package/dist/routes/team.routes.d.ts.map +1 -0
  45. package/dist/routes/team.routes.js +98 -0
  46. package/dist/routes/users.routes.d.ts +721 -0
  47. package/dist/routes/users.routes.d.ts.map +1 -0
  48. package/dist/routes/users.routes.js +35 -0
  49. package/dist/routes/weather.routes.d.ts +500 -0
  50. package/dist/routes/weather.routes.d.ts.map +1 -0
  51. package/dist/routes/weather.routes.js +23 -0
  52. package/dist/schemas/analytics.schemas.d.ts +1344 -0
  53. package/dist/schemas/analytics.schemas.d.ts.map +1 -0
  54. package/dist/schemas/analytics.schemas.js +73 -0
  55. package/dist/schemas/auth.schemas.d.ts +1093 -0
  56. package/dist/schemas/auth.schemas.d.ts.map +1 -0
  57. package/dist/schemas/auth.schemas.js +159 -0
  58. package/dist/schemas/common.schemas.d.ts +562 -0
  59. package/dist/schemas/common.schemas.d.ts.map +1 -0
  60. package/dist/schemas/common.schemas.js +122 -0
  61. package/dist/schemas/documents.schemas.d.ts +850 -0
  62. package/dist/schemas/documents.schemas.d.ts.map +1 -0
  63. package/dist/schemas/documents.schemas.js +75 -0
  64. package/dist/schemas/equipment.schemas.d.ts +1618 -0
  65. package/dist/schemas/equipment.schemas.d.ts.map +1 -0
  66. package/dist/schemas/equipment.schemas.js +125 -0
  67. package/dist/schemas/farms.schemas.d.ts +1171 -0
  68. package/dist/schemas/farms.schemas.d.ts.map +1 -0
  69. package/dist/schemas/farms.schemas.js +62 -0
  70. package/dist/schemas/fields.schemas.d.ts +2508 -0
  71. package/dist/schemas/fields.schemas.d.ts.map +1 -0
  72. package/dist/schemas/fields.schemas.js +125 -0
  73. package/dist/schemas/finance.schemas.d.ts +2869 -0
  74. package/dist/schemas/finance.schemas.d.ts.map +1 -0
  75. package/dist/schemas/finance.schemas.js +196 -0
  76. package/dist/schemas/harvest.schemas.d.ts +1051 -0
  77. package/dist/schemas/harvest.schemas.d.ts.map +1 -0
  78. package/dist/schemas/harvest.schemas.js +71 -0
  79. package/dist/schemas/inventory.schemas.d.ts +1138 -0
  80. package/dist/schemas/inventory.schemas.d.ts.map +1 -0
  81. package/dist/schemas/inventory.schemas.js +89 -0
  82. package/dist/schemas/soil-tests.schemas.d.ts +1885 -0
  83. package/dist/schemas/soil-tests.schemas.d.ts.map +1 -0
  84. package/dist/schemas/soil-tests.schemas.js +102 -0
  85. package/dist/schemas/suppliers.schemas.d.ts +1774 -0
  86. package/dist/schemas/suppliers.schemas.d.ts.map +1 -0
  87. package/dist/schemas/suppliers.schemas.js +121 -0
  88. package/dist/schemas/tasks.schemas.d.ts +1761 -0
  89. package/dist/schemas/tasks.schemas.d.ts.map +1 -0
  90. package/dist/schemas/tasks.schemas.js +121 -0
  91. package/dist/schemas/team.schemas.d.ts +583 -0
  92. package/dist/schemas/team.schemas.d.ts.map +1 -0
  93. package/dist/schemas/team.schemas.js +60 -0
  94. package/dist/schemas/users.schemas.d.ts +288 -0
  95. package/dist/schemas/users.schemas.d.ts.map +1 -0
  96. package/dist/schemas/users.schemas.js +32 -0
  97. package/dist/schemas/weather.schemas.d.ts +682 -0
  98. package/dist/schemas/weather.schemas.d.ts.map +1 -0
  99. package/dist/schemas/weather.schemas.js +49 -0
  100. package/package.json +1 -1
@@ -0,0 +1,1344 @@
1
+ import { z } from 'zod';
2
+ /**
3
+ * Analytics schemas - JSON:API compliant
4
+ */
5
+ export declare const performanceDataPointSchema: z.ZodObject<{
6
+ date: z.ZodString;
7
+ ndvi: z.ZodNullable<z.ZodNumber>;
8
+ moisture: z.ZodNullable<z.ZodNumber>;
9
+ rainfall: z.ZodNullable<z.ZodNumber>;
10
+ }, "strip", z.ZodTypeAny, {
11
+ date: string;
12
+ ndvi: number | null;
13
+ moisture: number | null;
14
+ rainfall: number | null;
15
+ }, {
16
+ date: string;
17
+ ndvi: number | null;
18
+ moisture: number | null;
19
+ rainfall: number | null;
20
+ }>;
21
+ export declare const yieldDataSchema: z.ZodObject<{
22
+ forecast: z.ZodNumber;
23
+ target: z.ZodNumber;
24
+ revenue: z.ZodNumber;
25
+ costs: z.ZodNumber;
26
+ }, "strip", z.ZodTypeAny, {
27
+ revenue: number;
28
+ forecast: number;
29
+ target: number;
30
+ costs: number;
31
+ }, {
32
+ revenue: number;
33
+ forecast: number;
34
+ target: number;
35
+ costs: number;
36
+ }>;
37
+ export declare const marketDataSchema: z.ZodObject<{
38
+ id: z.ZodString;
39
+ crop: z.ZodString;
40
+ price: z.ZodString;
41
+ trend: z.ZodEnum<["up", "down", "stable"]>;
42
+ }, "strip", z.ZodTypeAny, {
43
+ id: string;
44
+ crop: string;
45
+ price: string;
46
+ trend: "up" | "down" | "stable";
47
+ }, {
48
+ id: string;
49
+ crop: string;
50
+ price: string;
51
+ trend: "up" | "down" | "stable";
52
+ }>;
53
+ export declare const fieldPerformanceSchema: z.ZodObject<{
54
+ id: z.ZodString;
55
+ name: z.ZodString;
56
+ ndvi: z.ZodNumber;
57
+ trend: z.ZodEnum<["up", "down", "stable"]>;
58
+ moisture: z.ZodString;
59
+ issue: z.ZodNullable<z.ZodString>;
60
+ }, "strip", z.ZodTypeAny, {
61
+ id: string;
62
+ name: string;
63
+ ndvi: number;
64
+ moisture: string;
65
+ trend: "up" | "down" | "stable";
66
+ issue: string | null;
67
+ }, {
68
+ id: string;
69
+ name: string;
70
+ ndvi: number;
71
+ moisture: string;
72
+ trend: "up" | "down" | "stable";
73
+ issue: string | null;
74
+ }>;
75
+ export declare const profitabilityAnalysisSchema: z.ZodObject<{
76
+ totalRevenue: z.ZodNumber;
77
+ totalCosts: z.ZodNumber;
78
+ netProfit: z.ZodNumber;
79
+ profitMargin: z.ZodNumber;
80
+ fieldBreakdown: z.ZodOptional<z.ZodArray<z.ZodObject<{
81
+ fieldId: z.ZodString;
82
+ fieldName: z.ZodString;
83
+ revenue: z.ZodNumber;
84
+ costs: z.ZodNumber;
85
+ profit: z.ZodNumber;
86
+ margin: z.ZodNumber;
87
+ }, "strip", z.ZodTypeAny, {
88
+ fieldId: string;
89
+ fieldName: string;
90
+ revenue: number;
91
+ costs: number;
92
+ profit: number;
93
+ margin: number;
94
+ }, {
95
+ fieldId: string;
96
+ fieldName: string;
97
+ revenue: number;
98
+ costs: number;
99
+ profit: number;
100
+ margin: number;
101
+ }>, "many">>;
102
+ cropBreakdown: z.ZodOptional<z.ZodArray<z.ZodObject<{
103
+ crop: z.ZodString;
104
+ revenue: z.ZodNumber;
105
+ costs: z.ZodNumber;
106
+ profit: z.ZodNumber;
107
+ margin: z.ZodNumber;
108
+ }, "strip", z.ZodTypeAny, {
109
+ crop: string;
110
+ revenue: number;
111
+ costs: number;
112
+ profit: number;
113
+ margin: number;
114
+ }, {
115
+ crop: string;
116
+ revenue: number;
117
+ costs: number;
118
+ profit: number;
119
+ margin: number;
120
+ }>, "many">>;
121
+ }, "strip", z.ZodTypeAny, {
122
+ totalRevenue: number;
123
+ netProfit: number;
124
+ profitMargin: number;
125
+ totalCosts: number;
126
+ fieldBreakdown?: {
127
+ fieldId: string;
128
+ fieldName: string;
129
+ revenue: number;
130
+ costs: number;
131
+ profit: number;
132
+ margin: number;
133
+ }[] | undefined;
134
+ cropBreakdown?: {
135
+ crop: string;
136
+ revenue: number;
137
+ costs: number;
138
+ profit: number;
139
+ margin: number;
140
+ }[] | undefined;
141
+ }, {
142
+ totalRevenue: number;
143
+ netProfit: number;
144
+ profitMargin: number;
145
+ totalCosts: number;
146
+ fieldBreakdown?: {
147
+ fieldId: string;
148
+ fieldName: string;
149
+ revenue: number;
150
+ costs: number;
151
+ profit: number;
152
+ margin: number;
153
+ }[] | undefined;
154
+ cropBreakdown?: {
155
+ crop: string;
156
+ revenue: number;
157
+ costs: number;
158
+ profit: number;
159
+ margin: number;
160
+ }[] | undefined;
161
+ }>;
162
+ export declare const analyticsAttributesSchema: z.ZodObject<{
163
+ farmId: z.ZodString;
164
+ performanceData: z.ZodArray<z.ZodObject<{
165
+ date: z.ZodString;
166
+ ndvi: z.ZodNullable<z.ZodNumber>;
167
+ moisture: z.ZodNullable<z.ZodNumber>;
168
+ rainfall: z.ZodNullable<z.ZodNumber>;
169
+ }, "strip", z.ZodTypeAny, {
170
+ date: string;
171
+ ndvi: number | null;
172
+ moisture: number | null;
173
+ rainfall: number | null;
174
+ }, {
175
+ date: string;
176
+ ndvi: number | null;
177
+ moisture: number | null;
178
+ rainfall: number | null;
179
+ }>, "many">;
180
+ yield: z.ZodObject<{
181
+ forecast: z.ZodNumber;
182
+ target: z.ZodNumber;
183
+ revenue: z.ZodNumber;
184
+ costs: z.ZodNumber;
185
+ }, "strip", z.ZodTypeAny, {
186
+ revenue: number;
187
+ forecast: number;
188
+ target: number;
189
+ costs: number;
190
+ }, {
191
+ revenue: number;
192
+ forecast: number;
193
+ target: number;
194
+ costs: number;
195
+ }>;
196
+ marketData: z.ZodArray<z.ZodObject<{
197
+ id: z.ZodString;
198
+ crop: z.ZodString;
199
+ price: z.ZodString;
200
+ trend: z.ZodEnum<["up", "down", "stable"]>;
201
+ }, "strip", z.ZodTypeAny, {
202
+ id: string;
203
+ crop: string;
204
+ price: string;
205
+ trend: "up" | "down" | "stable";
206
+ }, {
207
+ id: string;
208
+ crop: string;
209
+ price: string;
210
+ trend: "up" | "down" | "stable";
211
+ }>, "many">;
212
+ fieldPerformance: z.ZodArray<z.ZodObject<{
213
+ id: z.ZodString;
214
+ name: z.ZodString;
215
+ ndvi: z.ZodNumber;
216
+ trend: z.ZodEnum<["up", "down", "stable"]>;
217
+ moisture: z.ZodString;
218
+ issue: z.ZodNullable<z.ZodString>;
219
+ }, "strip", z.ZodTypeAny, {
220
+ id: string;
221
+ name: string;
222
+ ndvi: number;
223
+ moisture: string;
224
+ trend: "up" | "down" | "stable";
225
+ issue: string | null;
226
+ }, {
227
+ id: string;
228
+ name: string;
229
+ ndvi: number;
230
+ moisture: string;
231
+ trend: "up" | "down" | "stable";
232
+ issue: string | null;
233
+ }>, "many">;
234
+ profitability: z.ZodOptional<z.ZodObject<{
235
+ totalRevenue: z.ZodNumber;
236
+ totalCosts: z.ZodNumber;
237
+ netProfit: z.ZodNumber;
238
+ profitMargin: z.ZodNumber;
239
+ fieldBreakdown: z.ZodOptional<z.ZodArray<z.ZodObject<{
240
+ fieldId: z.ZodString;
241
+ fieldName: z.ZodString;
242
+ revenue: z.ZodNumber;
243
+ costs: z.ZodNumber;
244
+ profit: z.ZodNumber;
245
+ margin: z.ZodNumber;
246
+ }, "strip", z.ZodTypeAny, {
247
+ fieldId: string;
248
+ fieldName: string;
249
+ revenue: number;
250
+ costs: number;
251
+ profit: number;
252
+ margin: number;
253
+ }, {
254
+ fieldId: string;
255
+ fieldName: string;
256
+ revenue: number;
257
+ costs: number;
258
+ profit: number;
259
+ margin: number;
260
+ }>, "many">>;
261
+ cropBreakdown: z.ZodOptional<z.ZodArray<z.ZodObject<{
262
+ crop: z.ZodString;
263
+ revenue: z.ZodNumber;
264
+ costs: z.ZodNumber;
265
+ profit: z.ZodNumber;
266
+ margin: z.ZodNumber;
267
+ }, "strip", z.ZodTypeAny, {
268
+ crop: string;
269
+ revenue: number;
270
+ costs: number;
271
+ profit: number;
272
+ margin: number;
273
+ }, {
274
+ crop: string;
275
+ revenue: number;
276
+ costs: number;
277
+ profit: number;
278
+ margin: number;
279
+ }>, "many">>;
280
+ }, "strip", z.ZodTypeAny, {
281
+ totalRevenue: number;
282
+ netProfit: number;
283
+ profitMargin: number;
284
+ totalCosts: number;
285
+ fieldBreakdown?: {
286
+ fieldId: string;
287
+ fieldName: string;
288
+ revenue: number;
289
+ costs: number;
290
+ profit: number;
291
+ margin: number;
292
+ }[] | undefined;
293
+ cropBreakdown?: {
294
+ crop: string;
295
+ revenue: number;
296
+ costs: number;
297
+ profit: number;
298
+ margin: number;
299
+ }[] | undefined;
300
+ }, {
301
+ totalRevenue: number;
302
+ netProfit: number;
303
+ profitMargin: number;
304
+ totalCosts: number;
305
+ fieldBreakdown?: {
306
+ fieldId: string;
307
+ fieldName: string;
308
+ revenue: number;
309
+ costs: number;
310
+ profit: number;
311
+ margin: number;
312
+ }[] | undefined;
313
+ cropBreakdown?: {
314
+ crop: string;
315
+ revenue: number;
316
+ costs: number;
317
+ profit: number;
318
+ margin: number;
319
+ }[] | undefined;
320
+ }>>;
321
+ }, "strip", z.ZodTypeAny, {
322
+ yield: {
323
+ revenue: number;
324
+ forecast: number;
325
+ target: number;
326
+ costs: number;
327
+ };
328
+ farmId: string;
329
+ performanceData: {
330
+ date: string;
331
+ ndvi: number | null;
332
+ moisture: number | null;
333
+ rainfall: number | null;
334
+ }[];
335
+ marketData: {
336
+ id: string;
337
+ crop: string;
338
+ price: string;
339
+ trend: "up" | "down" | "stable";
340
+ }[];
341
+ fieldPerformance: {
342
+ id: string;
343
+ name: string;
344
+ ndvi: number;
345
+ moisture: string;
346
+ trend: "up" | "down" | "stable";
347
+ issue: string | null;
348
+ }[];
349
+ profitability?: {
350
+ totalRevenue: number;
351
+ netProfit: number;
352
+ profitMargin: number;
353
+ totalCosts: number;
354
+ fieldBreakdown?: {
355
+ fieldId: string;
356
+ fieldName: string;
357
+ revenue: number;
358
+ costs: number;
359
+ profit: number;
360
+ margin: number;
361
+ }[] | undefined;
362
+ cropBreakdown?: {
363
+ crop: string;
364
+ revenue: number;
365
+ costs: number;
366
+ profit: number;
367
+ margin: number;
368
+ }[] | undefined;
369
+ } | undefined;
370
+ }, {
371
+ yield: {
372
+ revenue: number;
373
+ forecast: number;
374
+ target: number;
375
+ costs: number;
376
+ };
377
+ farmId: string;
378
+ performanceData: {
379
+ date: string;
380
+ ndvi: number | null;
381
+ moisture: number | null;
382
+ rainfall: number | null;
383
+ }[];
384
+ marketData: {
385
+ id: string;
386
+ crop: string;
387
+ price: string;
388
+ trend: "up" | "down" | "stable";
389
+ }[];
390
+ fieldPerformance: {
391
+ id: string;
392
+ name: string;
393
+ ndvi: number;
394
+ moisture: string;
395
+ trend: "up" | "down" | "stable";
396
+ issue: string | null;
397
+ }[];
398
+ profitability?: {
399
+ totalRevenue: number;
400
+ netProfit: number;
401
+ profitMargin: number;
402
+ totalCosts: number;
403
+ fieldBreakdown?: {
404
+ fieldId: string;
405
+ fieldName: string;
406
+ revenue: number;
407
+ costs: number;
408
+ profit: number;
409
+ margin: number;
410
+ }[] | undefined;
411
+ cropBreakdown?: {
412
+ crop: string;
413
+ revenue: number;
414
+ costs: number;
415
+ profit: number;
416
+ margin: number;
417
+ }[] | undefined;
418
+ } | undefined;
419
+ }>;
420
+ export declare const analyticsResourceSchema: z.ZodObject<{
421
+ type: z.ZodLiteral<string>;
422
+ id: z.ZodString;
423
+ attributes: z.ZodObject<{
424
+ farmId: z.ZodString;
425
+ performanceData: z.ZodArray<z.ZodObject<{
426
+ date: z.ZodString;
427
+ ndvi: z.ZodNullable<z.ZodNumber>;
428
+ moisture: z.ZodNullable<z.ZodNumber>;
429
+ rainfall: z.ZodNullable<z.ZodNumber>;
430
+ }, "strip", z.ZodTypeAny, {
431
+ date: string;
432
+ ndvi: number | null;
433
+ moisture: number | null;
434
+ rainfall: number | null;
435
+ }, {
436
+ date: string;
437
+ ndvi: number | null;
438
+ moisture: number | null;
439
+ rainfall: number | null;
440
+ }>, "many">;
441
+ yield: z.ZodObject<{
442
+ forecast: z.ZodNumber;
443
+ target: z.ZodNumber;
444
+ revenue: z.ZodNumber;
445
+ costs: z.ZodNumber;
446
+ }, "strip", z.ZodTypeAny, {
447
+ revenue: number;
448
+ forecast: number;
449
+ target: number;
450
+ costs: number;
451
+ }, {
452
+ revenue: number;
453
+ forecast: number;
454
+ target: number;
455
+ costs: number;
456
+ }>;
457
+ marketData: z.ZodArray<z.ZodObject<{
458
+ id: z.ZodString;
459
+ crop: z.ZodString;
460
+ price: z.ZodString;
461
+ trend: z.ZodEnum<["up", "down", "stable"]>;
462
+ }, "strip", z.ZodTypeAny, {
463
+ id: string;
464
+ crop: string;
465
+ price: string;
466
+ trend: "up" | "down" | "stable";
467
+ }, {
468
+ id: string;
469
+ crop: string;
470
+ price: string;
471
+ trend: "up" | "down" | "stable";
472
+ }>, "many">;
473
+ fieldPerformance: z.ZodArray<z.ZodObject<{
474
+ id: z.ZodString;
475
+ name: z.ZodString;
476
+ ndvi: z.ZodNumber;
477
+ trend: z.ZodEnum<["up", "down", "stable"]>;
478
+ moisture: z.ZodString;
479
+ issue: z.ZodNullable<z.ZodString>;
480
+ }, "strip", z.ZodTypeAny, {
481
+ id: string;
482
+ name: string;
483
+ ndvi: number;
484
+ moisture: string;
485
+ trend: "up" | "down" | "stable";
486
+ issue: string | null;
487
+ }, {
488
+ id: string;
489
+ name: string;
490
+ ndvi: number;
491
+ moisture: string;
492
+ trend: "up" | "down" | "stable";
493
+ issue: string | null;
494
+ }>, "many">;
495
+ profitability: z.ZodOptional<z.ZodObject<{
496
+ totalRevenue: z.ZodNumber;
497
+ totalCosts: z.ZodNumber;
498
+ netProfit: z.ZodNumber;
499
+ profitMargin: z.ZodNumber;
500
+ fieldBreakdown: z.ZodOptional<z.ZodArray<z.ZodObject<{
501
+ fieldId: z.ZodString;
502
+ fieldName: z.ZodString;
503
+ revenue: z.ZodNumber;
504
+ costs: z.ZodNumber;
505
+ profit: z.ZodNumber;
506
+ margin: z.ZodNumber;
507
+ }, "strip", z.ZodTypeAny, {
508
+ fieldId: string;
509
+ fieldName: string;
510
+ revenue: number;
511
+ costs: number;
512
+ profit: number;
513
+ margin: number;
514
+ }, {
515
+ fieldId: string;
516
+ fieldName: string;
517
+ revenue: number;
518
+ costs: number;
519
+ profit: number;
520
+ margin: number;
521
+ }>, "many">>;
522
+ cropBreakdown: z.ZodOptional<z.ZodArray<z.ZodObject<{
523
+ crop: z.ZodString;
524
+ revenue: z.ZodNumber;
525
+ costs: z.ZodNumber;
526
+ profit: z.ZodNumber;
527
+ margin: z.ZodNumber;
528
+ }, "strip", z.ZodTypeAny, {
529
+ crop: string;
530
+ revenue: number;
531
+ costs: number;
532
+ profit: number;
533
+ margin: number;
534
+ }, {
535
+ crop: string;
536
+ revenue: number;
537
+ costs: number;
538
+ profit: number;
539
+ margin: number;
540
+ }>, "many">>;
541
+ }, "strip", z.ZodTypeAny, {
542
+ totalRevenue: number;
543
+ netProfit: number;
544
+ profitMargin: number;
545
+ totalCosts: number;
546
+ fieldBreakdown?: {
547
+ fieldId: string;
548
+ fieldName: string;
549
+ revenue: number;
550
+ costs: number;
551
+ profit: number;
552
+ margin: number;
553
+ }[] | undefined;
554
+ cropBreakdown?: {
555
+ crop: string;
556
+ revenue: number;
557
+ costs: number;
558
+ profit: number;
559
+ margin: number;
560
+ }[] | undefined;
561
+ }, {
562
+ totalRevenue: number;
563
+ netProfit: number;
564
+ profitMargin: number;
565
+ totalCosts: number;
566
+ fieldBreakdown?: {
567
+ fieldId: string;
568
+ fieldName: string;
569
+ revenue: number;
570
+ costs: number;
571
+ profit: number;
572
+ margin: number;
573
+ }[] | undefined;
574
+ cropBreakdown?: {
575
+ crop: string;
576
+ revenue: number;
577
+ costs: number;
578
+ profit: number;
579
+ margin: number;
580
+ }[] | undefined;
581
+ }>>;
582
+ }, "strip", z.ZodTypeAny, {
583
+ yield: {
584
+ revenue: number;
585
+ forecast: number;
586
+ target: number;
587
+ costs: number;
588
+ };
589
+ farmId: string;
590
+ performanceData: {
591
+ date: string;
592
+ ndvi: number | null;
593
+ moisture: number | null;
594
+ rainfall: number | null;
595
+ }[];
596
+ marketData: {
597
+ id: string;
598
+ crop: string;
599
+ price: string;
600
+ trend: "up" | "down" | "stable";
601
+ }[];
602
+ fieldPerformance: {
603
+ id: string;
604
+ name: string;
605
+ ndvi: number;
606
+ moisture: string;
607
+ trend: "up" | "down" | "stable";
608
+ issue: string | null;
609
+ }[];
610
+ profitability?: {
611
+ totalRevenue: number;
612
+ netProfit: number;
613
+ profitMargin: number;
614
+ totalCosts: number;
615
+ fieldBreakdown?: {
616
+ fieldId: string;
617
+ fieldName: string;
618
+ revenue: number;
619
+ costs: number;
620
+ profit: number;
621
+ margin: number;
622
+ }[] | undefined;
623
+ cropBreakdown?: {
624
+ crop: string;
625
+ revenue: number;
626
+ costs: number;
627
+ profit: number;
628
+ margin: number;
629
+ }[] | undefined;
630
+ } | undefined;
631
+ }, {
632
+ yield: {
633
+ revenue: number;
634
+ forecast: number;
635
+ target: number;
636
+ costs: number;
637
+ };
638
+ farmId: string;
639
+ performanceData: {
640
+ date: string;
641
+ ndvi: number | null;
642
+ moisture: number | null;
643
+ rainfall: number | null;
644
+ }[];
645
+ marketData: {
646
+ id: string;
647
+ crop: string;
648
+ price: string;
649
+ trend: "up" | "down" | "stable";
650
+ }[];
651
+ fieldPerformance: {
652
+ id: string;
653
+ name: string;
654
+ ndvi: number;
655
+ moisture: string;
656
+ trend: "up" | "down" | "stable";
657
+ issue: string | null;
658
+ }[];
659
+ profitability?: {
660
+ totalRevenue: number;
661
+ netProfit: number;
662
+ profitMargin: number;
663
+ totalCosts: number;
664
+ fieldBreakdown?: {
665
+ fieldId: string;
666
+ fieldName: string;
667
+ revenue: number;
668
+ costs: number;
669
+ profit: number;
670
+ margin: number;
671
+ }[] | undefined;
672
+ cropBreakdown?: {
673
+ crop: string;
674
+ revenue: number;
675
+ costs: number;
676
+ profit: number;
677
+ margin: number;
678
+ }[] | undefined;
679
+ } | undefined;
680
+ }>;
681
+ relationships: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
682
+ links: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
683
+ meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
684
+ }, "strip", z.ZodTypeAny, {
685
+ type: string;
686
+ id: string;
687
+ attributes: {
688
+ yield: {
689
+ revenue: number;
690
+ forecast: number;
691
+ target: number;
692
+ costs: number;
693
+ };
694
+ farmId: string;
695
+ performanceData: {
696
+ date: string;
697
+ ndvi: number | null;
698
+ moisture: number | null;
699
+ rainfall: number | null;
700
+ }[];
701
+ marketData: {
702
+ id: string;
703
+ crop: string;
704
+ price: string;
705
+ trend: "up" | "down" | "stable";
706
+ }[];
707
+ fieldPerformance: {
708
+ id: string;
709
+ name: string;
710
+ ndvi: number;
711
+ moisture: string;
712
+ trend: "up" | "down" | "stable";
713
+ issue: string | null;
714
+ }[];
715
+ profitability?: {
716
+ totalRevenue: number;
717
+ netProfit: number;
718
+ profitMargin: number;
719
+ totalCosts: number;
720
+ fieldBreakdown?: {
721
+ fieldId: string;
722
+ fieldName: string;
723
+ revenue: number;
724
+ costs: number;
725
+ profit: number;
726
+ margin: number;
727
+ }[] | undefined;
728
+ cropBreakdown?: {
729
+ crop: string;
730
+ revenue: number;
731
+ costs: number;
732
+ profit: number;
733
+ margin: number;
734
+ }[] | undefined;
735
+ } | undefined;
736
+ };
737
+ relationships?: Record<string, unknown> | undefined;
738
+ links?: Record<string, string> | undefined;
739
+ meta?: Record<string, unknown> | undefined;
740
+ }, {
741
+ type: string;
742
+ id: string;
743
+ attributes: {
744
+ yield: {
745
+ revenue: number;
746
+ forecast: number;
747
+ target: number;
748
+ costs: number;
749
+ };
750
+ farmId: string;
751
+ performanceData: {
752
+ date: string;
753
+ ndvi: number | null;
754
+ moisture: number | null;
755
+ rainfall: number | null;
756
+ }[];
757
+ marketData: {
758
+ id: string;
759
+ crop: string;
760
+ price: string;
761
+ trend: "up" | "down" | "stable";
762
+ }[];
763
+ fieldPerformance: {
764
+ id: string;
765
+ name: string;
766
+ ndvi: number;
767
+ moisture: string;
768
+ trend: "up" | "down" | "stable";
769
+ issue: string | null;
770
+ }[];
771
+ profitability?: {
772
+ totalRevenue: number;
773
+ netProfit: number;
774
+ profitMargin: number;
775
+ totalCosts: number;
776
+ fieldBreakdown?: {
777
+ fieldId: string;
778
+ fieldName: string;
779
+ revenue: number;
780
+ costs: number;
781
+ profit: number;
782
+ margin: number;
783
+ }[] | undefined;
784
+ cropBreakdown?: {
785
+ crop: string;
786
+ revenue: number;
787
+ costs: number;
788
+ profit: number;
789
+ margin: number;
790
+ }[] | undefined;
791
+ } | undefined;
792
+ };
793
+ relationships?: Record<string, unknown> | undefined;
794
+ links?: Record<string, string> | undefined;
795
+ meta?: Record<string, unknown> | undefined;
796
+ }>;
797
+ export declare const analyticsResponseSchema: z.ZodObject<{
798
+ data: z.ZodObject<{
799
+ type: z.ZodLiteral<string>;
800
+ id: z.ZodString;
801
+ attributes: z.ZodObject<{
802
+ farmId: z.ZodString;
803
+ performanceData: z.ZodArray<z.ZodObject<{
804
+ date: z.ZodString;
805
+ ndvi: z.ZodNullable<z.ZodNumber>;
806
+ moisture: z.ZodNullable<z.ZodNumber>;
807
+ rainfall: z.ZodNullable<z.ZodNumber>;
808
+ }, "strip", z.ZodTypeAny, {
809
+ date: string;
810
+ ndvi: number | null;
811
+ moisture: number | null;
812
+ rainfall: number | null;
813
+ }, {
814
+ date: string;
815
+ ndvi: number | null;
816
+ moisture: number | null;
817
+ rainfall: number | null;
818
+ }>, "many">;
819
+ yield: z.ZodObject<{
820
+ forecast: z.ZodNumber;
821
+ target: z.ZodNumber;
822
+ revenue: z.ZodNumber;
823
+ costs: z.ZodNumber;
824
+ }, "strip", z.ZodTypeAny, {
825
+ revenue: number;
826
+ forecast: number;
827
+ target: number;
828
+ costs: number;
829
+ }, {
830
+ revenue: number;
831
+ forecast: number;
832
+ target: number;
833
+ costs: number;
834
+ }>;
835
+ marketData: z.ZodArray<z.ZodObject<{
836
+ id: z.ZodString;
837
+ crop: z.ZodString;
838
+ price: z.ZodString;
839
+ trend: z.ZodEnum<["up", "down", "stable"]>;
840
+ }, "strip", z.ZodTypeAny, {
841
+ id: string;
842
+ crop: string;
843
+ price: string;
844
+ trend: "up" | "down" | "stable";
845
+ }, {
846
+ id: string;
847
+ crop: string;
848
+ price: string;
849
+ trend: "up" | "down" | "stable";
850
+ }>, "many">;
851
+ fieldPerformance: z.ZodArray<z.ZodObject<{
852
+ id: z.ZodString;
853
+ name: z.ZodString;
854
+ ndvi: z.ZodNumber;
855
+ trend: z.ZodEnum<["up", "down", "stable"]>;
856
+ moisture: z.ZodString;
857
+ issue: z.ZodNullable<z.ZodString>;
858
+ }, "strip", z.ZodTypeAny, {
859
+ id: string;
860
+ name: string;
861
+ ndvi: number;
862
+ moisture: string;
863
+ trend: "up" | "down" | "stable";
864
+ issue: string | null;
865
+ }, {
866
+ id: string;
867
+ name: string;
868
+ ndvi: number;
869
+ moisture: string;
870
+ trend: "up" | "down" | "stable";
871
+ issue: string | null;
872
+ }>, "many">;
873
+ profitability: z.ZodOptional<z.ZodObject<{
874
+ totalRevenue: z.ZodNumber;
875
+ totalCosts: z.ZodNumber;
876
+ netProfit: z.ZodNumber;
877
+ profitMargin: z.ZodNumber;
878
+ fieldBreakdown: z.ZodOptional<z.ZodArray<z.ZodObject<{
879
+ fieldId: z.ZodString;
880
+ fieldName: z.ZodString;
881
+ revenue: z.ZodNumber;
882
+ costs: z.ZodNumber;
883
+ profit: z.ZodNumber;
884
+ margin: z.ZodNumber;
885
+ }, "strip", z.ZodTypeAny, {
886
+ fieldId: string;
887
+ fieldName: string;
888
+ revenue: number;
889
+ costs: number;
890
+ profit: number;
891
+ margin: number;
892
+ }, {
893
+ fieldId: string;
894
+ fieldName: string;
895
+ revenue: number;
896
+ costs: number;
897
+ profit: number;
898
+ margin: number;
899
+ }>, "many">>;
900
+ cropBreakdown: z.ZodOptional<z.ZodArray<z.ZodObject<{
901
+ crop: z.ZodString;
902
+ revenue: z.ZodNumber;
903
+ costs: z.ZodNumber;
904
+ profit: z.ZodNumber;
905
+ margin: z.ZodNumber;
906
+ }, "strip", z.ZodTypeAny, {
907
+ crop: string;
908
+ revenue: number;
909
+ costs: number;
910
+ profit: number;
911
+ margin: number;
912
+ }, {
913
+ crop: string;
914
+ revenue: number;
915
+ costs: number;
916
+ profit: number;
917
+ margin: number;
918
+ }>, "many">>;
919
+ }, "strip", z.ZodTypeAny, {
920
+ totalRevenue: number;
921
+ netProfit: number;
922
+ profitMargin: number;
923
+ totalCosts: number;
924
+ fieldBreakdown?: {
925
+ fieldId: string;
926
+ fieldName: string;
927
+ revenue: number;
928
+ costs: number;
929
+ profit: number;
930
+ margin: number;
931
+ }[] | undefined;
932
+ cropBreakdown?: {
933
+ crop: string;
934
+ revenue: number;
935
+ costs: number;
936
+ profit: number;
937
+ margin: number;
938
+ }[] | undefined;
939
+ }, {
940
+ totalRevenue: number;
941
+ netProfit: number;
942
+ profitMargin: number;
943
+ totalCosts: number;
944
+ fieldBreakdown?: {
945
+ fieldId: string;
946
+ fieldName: string;
947
+ revenue: number;
948
+ costs: number;
949
+ profit: number;
950
+ margin: number;
951
+ }[] | undefined;
952
+ cropBreakdown?: {
953
+ crop: string;
954
+ revenue: number;
955
+ costs: number;
956
+ profit: number;
957
+ margin: number;
958
+ }[] | undefined;
959
+ }>>;
960
+ }, "strip", z.ZodTypeAny, {
961
+ yield: {
962
+ revenue: number;
963
+ forecast: number;
964
+ target: number;
965
+ costs: number;
966
+ };
967
+ farmId: string;
968
+ performanceData: {
969
+ date: string;
970
+ ndvi: number | null;
971
+ moisture: number | null;
972
+ rainfall: number | null;
973
+ }[];
974
+ marketData: {
975
+ id: string;
976
+ crop: string;
977
+ price: string;
978
+ trend: "up" | "down" | "stable";
979
+ }[];
980
+ fieldPerformance: {
981
+ id: string;
982
+ name: string;
983
+ ndvi: number;
984
+ moisture: string;
985
+ trend: "up" | "down" | "stable";
986
+ issue: string | null;
987
+ }[];
988
+ profitability?: {
989
+ totalRevenue: number;
990
+ netProfit: number;
991
+ profitMargin: number;
992
+ totalCosts: number;
993
+ fieldBreakdown?: {
994
+ fieldId: string;
995
+ fieldName: string;
996
+ revenue: number;
997
+ costs: number;
998
+ profit: number;
999
+ margin: number;
1000
+ }[] | undefined;
1001
+ cropBreakdown?: {
1002
+ crop: string;
1003
+ revenue: number;
1004
+ costs: number;
1005
+ profit: number;
1006
+ margin: number;
1007
+ }[] | undefined;
1008
+ } | undefined;
1009
+ }, {
1010
+ yield: {
1011
+ revenue: number;
1012
+ forecast: number;
1013
+ target: number;
1014
+ costs: number;
1015
+ };
1016
+ farmId: string;
1017
+ performanceData: {
1018
+ date: string;
1019
+ ndvi: number | null;
1020
+ moisture: number | null;
1021
+ rainfall: number | null;
1022
+ }[];
1023
+ marketData: {
1024
+ id: string;
1025
+ crop: string;
1026
+ price: string;
1027
+ trend: "up" | "down" | "stable";
1028
+ }[];
1029
+ fieldPerformance: {
1030
+ id: string;
1031
+ name: string;
1032
+ ndvi: number;
1033
+ moisture: string;
1034
+ trend: "up" | "down" | "stable";
1035
+ issue: string | null;
1036
+ }[];
1037
+ profitability?: {
1038
+ totalRevenue: number;
1039
+ netProfit: number;
1040
+ profitMargin: number;
1041
+ totalCosts: number;
1042
+ fieldBreakdown?: {
1043
+ fieldId: string;
1044
+ fieldName: string;
1045
+ revenue: number;
1046
+ costs: number;
1047
+ profit: number;
1048
+ margin: number;
1049
+ }[] | undefined;
1050
+ cropBreakdown?: {
1051
+ crop: string;
1052
+ revenue: number;
1053
+ costs: number;
1054
+ profit: number;
1055
+ margin: number;
1056
+ }[] | undefined;
1057
+ } | undefined;
1058
+ }>;
1059
+ relationships: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1060
+ links: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
1061
+ meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1062
+ }, "strip", z.ZodTypeAny, {
1063
+ type: string;
1064
+ id: string;
1065
+ attributes: {
1066
+ yield: {
1067
+ revenue: number;
1068
+ forecast: number;
1069
+ target: number;
1070
+ costs: number;
1071
+ };
1072
+ farmId: string;
1073
+ performanceData: {
1074
+ date: string;
1075
+ ndvi: number | null;
1076
+ moisture: number | null;
1077
+ rainfall: number | null;
1078
+ }[];
1079
+ marketData: {
1080
+ id: string;
1081
+ crop: string;
1082
+ price: string;
1083
+ trend: "up" | "down" | "stable";
1084
+ }[];
1085
+ fieldPerformance: {
1086
+ id: string;
1087
+ name: string;
1088
+ ndvi: number;
1089
+ moisture: string;
1090
+ trend: "up" | "down" | "stable";
1091
+ issue: string | null;
1092
+ }[];
1093
+ profitability?: {
1094
+ totalRevenue: number;
1095
+ netProfit: number;
1096
+ profitMargin: number;
1097
+ totalCosts: number;
1098
+ fieldBreakdown?: {
1099
+ fieldId: string;
1100
+ fieldName: string;
1101
+ revenue: number;
1102
+ costs: number;
1103
+ profit: number;
1104
+ margin: number;
1105
+ }[] | undefined;
1106
+ cropBreakdown?: {
1107
+ crop: string;
1108
+ revenue: number;
1109
+ costs: number;
1110
+ profit: number;
1111
+ margin: number;
1112
+ }[] | undefined;
1113
+ } | undefined;
1114
+ };
1115
+ relationships?: Record<string, unknown> | undefined;
1116
+ links?: Record<string, string> | undefined;
1117
+ meta?: Record<string, unknown> | undefined;
1118
+ }, {
1119
+ type: string;
1120
+ id: string;
1121
+ attributes: {
1122
+ yield: {
1123
+ revenue: number;
1124
+ forecast: number;
1125
+ target: number;
1126
+ costs: number;
1127
+ };
1128
+ farmId: string;
1129
+ performanceData: {
1130
+ date: string;
1131
+ ndvi: number | null;
1132
+ moisture: number | null;
1133
+ rainfall: number | null;
1134
+ }[];
1135
+ marketData: {
1136
+ id: string;
1137
+ crop: string;
1138
+ price: string;
1139
+ trend: "up" | "down" | "stable";
1140
+ }[];
1141
+ fieldPerformance: {
1142
+ id: string;
1143
+ name: string;
1144
+ ndvi: number;
1145
+ moisture: string;
1146
+ trend: "up" | "down" | "stable";
1147
+ issue: string | null;
1148
+ }[];
1149
+ profitability?: {
1150
+ totalRevenue: number;
1151
+ netProfit: number;
1152
+ profitMargin: number;
1153
+ totalCosts: number;
1154
+ fieldBreakdown?: {
1155
+ fieldId: string;
1156
+ fieldName: string;
1157
+ revenue: number;
1158
+ costs: number;
1159
+ profit: number;
1160
+ margin: number;
1161
+ }[] | undefined;
1162
+ cropBreakdown?: {
1163
+ crop: string;
1164
+ revenue: number;
1165
+ costs: number;
1166
+ profit: number;
1167
+ margin: number;
1168
+ }[] | undefined;
1169
+ } | undefined;
1170
+ };
1171
+ relationships?: Record<string, unknown> | undefined;
1172
+ links?: Record<string, string> | undefined;
1173
+ meta?: Record<string, unknown> | undefined;
1174
+ }>;
1175
+ included: z.ZodOptional<z.ZodArray<z.ZodObject<{
1176
+ type: z.ZodString;
1177
+ id: z.ZodString;
1178
+ attributes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1179
+ relationships: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1180
+ links: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
1181
+ meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1182
+ }, "strip", z.ZodTypeAny, {
1183
+ type: string;
1184
+ id: string;
1185
+ attributes?: Record<string, unknown> | undefined;
1186
+ relationships?: Record<string, unknown> | undefined;
1187
+ links?: Record<string, string> | undefined;
1188
+ meta?: Record<string, unknown> | undefined;
1189
+ }, {
1190
+ type: string;
1191
+ id: string;
1192
+ attributes?: Record<string, unknown> | undefined;
1193
+ relationships?: Record<string, unknown> | undefined;
1194
+ links?: Record<string, string> | undefined;
1195
+ meta?: Record<string, unknown> | undefined;
1196
+ }>, "many">>;
1197
+ meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1198
+ links: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
1199
+ }, "strip", z.ZodTypeAny, {
1200
+ data: {
1201
+ type: string;
1202
+ id: string;
1203
+ attributes: {
1204
+ yield: {
1205
+ revenue: number;
1206
+ forecast: number;
1207
+ target: number;
1208
+ costs: number;
1209
+ };
1210
+ farmId: string;
1211
+ performanceData: {
1212
+ date: string;
1213
+ ndvi: number | null;
1214
+ moisture: number | null;
1215
+ rainfall: number | null;
1216
+ }[];
1217
+ marketData: {
1218
+ id: string;
1219
+ crop: string;
1220
+ price: string;
1221
+ trend: "up" | "down" | "stable";
1222
+ }[];
1223
+ fieldPerformance: {
1224
+ id: string;
1225
+ name: string;
1226
+ ndvi: number;
1227
+ moisture: string;
1228
+ trend: "up" | "down" | "stable";
1229
+ issue: string | null;
1230
+ }[];
1231
+ profitability?: {
1232
+ totalRevenue: number;
1233
+ netProfit: number;
1234
+ profitMargin: number;
1235
+ totalCosts: number;
1236
+ fieldBreakdown?: {
1237
+ fieldId: string;
1238
+ fieldName: string;
1239
+ revenue: number;
1240
+ costs: number;
1241
+ profit: number;
1242
+ margin: number;
1243
+ }[] | undefined;
1244
+ cropBreakdown?: {
1245
+ crop: string;
1246
+ revenue: number;
1247
+ costs: number;
1248
+ profit: number;
1249
+ margin: number;
1250
+ }[] | undefined;
1251
+ } | undefined;
1252
+ };
1253
+ relationships?: Record<string, unknown> | undefined;
1254
+ links?: Record<string, string> | undefined;
1255
+ meta?: Record<string, unknown> | undefined;
1256
+ };
1257
+ links?: Record<string, string> | undefined;
1258
+ meta?: Record<string, unknown> | undefined;
1259
+ included?: {
1260
+ type: string;
1261
+ id: string;
1262
+ attributes?: Record<string, unknown> | undefined;
1263
+ relationships?: Record<string, unknown> | undefined;
1264
+ links?: Record<string, string> | undefined;
1265
+ meta?: Record<string, unknown> | undefined;
1266
+ }[] | undefined;
1267
+ }, {
1268
+ data: {
1269
+ type: string;
1270
+ id: string;
1271
+ attributes: {
1272
+ yield: {
1273
+ revenue: number;
1274
+ forecast: number;
1275
+ target: number;
1276
+ costs: number;
1277
+ };
1278
+ farmId: string;
1279
+ performanceData: {
1280
+ date: string;
1281
+ ndvi: number | null;
1282
+ moisture: number | null;
1283
+ rainfall: number | null;
1284
+ }[];
1285
+ marketData: {
1286
+ id: string;
1287
+ crop: string;
1288
+ price: string;
1289
+ trend: "up" | "down" | "stable";
1290
+ }[];
1291
+ fieldPerformance: {
1292
+ id: string;
1293
+ name: string;
1294
+ ndvi: number;
1295
+ moisture: string;
1296
+ trend: "up" | "down" | "stable";
1297
+ issue: string | null;
1298
+ }[];
1299
+ profitability?: {
1300
+ totalRevenue: number;
1301
+ netProfit: number;
1302
+ profitMargin: number;
1303
+ totalCosts: number;
1304
+ fieldBreakdown?: {
1305
+ fieldId: string;
1306
+ fieldName: string;
1307
+ revenue: number;
1308
+ costs: number;
1309
+ profit: number;
1310
+ margin: number;
1311
+ }[] | undefined;
1312
+ cropBreakdown?: {
1313
+ crop: string;
1314
+ revenue: number;
1315
+ costs: number;
1316
+ profit: number;
1317
+ margin: number;
1318
+ }[] | undefined;
1319
+ } | undefined;
1320
+ };
1321
+ relationships?: Record<string, unknown> | undefined;
1322
+ links?: Record<string, string> | undefined;
1323
+ meta?: Record<string, unknown> | undefined;
1324
+ };
1325
+ links?: Record<string, string> | undefined;
1326
+ meta?: Record<string, unknown> | undefined;
1327
+ included?: {
1328
+ type: string;
1329
+ id: string;
1330
+ attributes?: Record<string, unknown> | undefined;
1331
+ relationships?: Record<string, unknown> | undefined;
1332
+ links?: Record<string, string> | undefined;
1333
+ meta?: Record<string, unknown> | undefined;
1334
+ }[] | undefined;
1335
+ }>;
1336
+ export type PerformanceDataPoint = z.infer<typeof performanceDataPointSchema>;
1337
+ export type YieldData = z.infer<typeof yieldDataSchema>;
1338
+ export type MarketData = z.infer<typeof marketDataSchema>;
1339
+ export type FieldPerformance = z.infer<typeof fieldPerformanceSchema>;
1340
+ export type ProfitabilityAnalysis = z.infer<typeof profitabilityAnalysisSchema>;
1341
+ export type AnalyticsAttributes = z.infer<typeof analyticsAttributesSchema>;
1342
+ export type AnalyticsResource = z.infer<typeof analyticsResourceSchema>;
1343
+ export type AnalyticsResponse = z.infer<typeof analyticsResponseSchema>;
1344
+ //# sourceMappingURL=analytics.schemas.d.ts.map