@deepintel-ltd/farmpro-contracts 1.16.2 → 1.16.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -61,6 +61,10 @@ export declare const fieldAttributesSchema: z.ZodObject<{
61
61
  plantingDate: z.ZodNullable<z.ZodString>;
62
62
  expectedHarvestDate: z.ZodNullable<z.ZodString>;
63
63
  cropStage: z.ZodNullable<z.ZodEnum<["planted", "growing", "flowering", "mature", "harvested"]>>;
64
+ /** Established plant population (plants per hectare). Null if not recorded. */
65
+ standCountPerHa: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
66
+ /** Optional target stand for gap display (plants per hectare). */
67
+ targetStandPerHa: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
64
68
  coverImage: z.ZodOptional<z.ZodNullable<z.ZodString>>;
65
69
  historicalNdvi: z.ZodOptional<z.ZodArray<z.ZodObject<{
66
70
  date: z.ZodString;
@@ -118,6 +122,8 @@ export declare const fieldAttributesSchema: z.ZodObject<{
118
122
  soilType: string | null;
119
123
  expectedHarvestDate: string | null;
120
124
  cropStage: "planted" | "growing" | "flowering" | "mature" | "harvested" | null;
125
+ standCountPerHa?: number | null | undefined;
126
+ targetStandPerHa?: number | null | undefined;
121
127
  coverImage?: string | null | undefined;
122
128
  historicalNdvi?: {
123
129
  value: number;
@@ -150,6 +156,8 @@ export declare const fieldAttributesSchema: z.ZodObject<{
150
156
  soilType: string | null;
151
157
  expectedHarvestDate: string | null;
152
158
  cropStage: "planted" | "growing" | "flowering" | "mature" | "harvested" | null;
159
+ standCountPerHa?: number | null | undefined;
160
+ targetStandPerHa?: number | null | undefined;
153
161
  coverImage?: string | null | undefined;
154
162
  historicalNdvi?: {
155
163
  value: number;
@@ -185,6 +193,8 @@ export declare const createFieldAttributesSchema: z.ZodObject<{
185
193
  plantingDate: z.ZodOptional<z.ZodString>;
186
194
  expectedHarvestDate: z.ZodOptional<z.ZodString>;
187
195
  cropStage: z.ZodOptional<z.ZodEnum<["planted", "growing", "flowering", "mature", "harvested"]>>;
196
+ standCountPerHa: z.ZodOptional<z.ZodNumber>;
197
+ targetStandPerHa: z.ZodOptional<z.ZodNumber>;
188
198
  }, "strip", z.ZodTypeAny, {
189
199
  name: string;
190
200
  crop?: string | undefined;
@@ -199,6 +209,8 @@ export declare const createFieldAttributesSchema: z.ZodObject<{
199
209
  soilType?: string | undefined;
200
210
  expectedHarvestDate?: string | undefined;
201
211
  cropStage?: "planted" | "growing" | "flowering" | "mature" | "harvested" | undefined;
212
+ standCountPerHa?: number | undefined;
213
+ targetStandPerHa?: number | undefined;
202
214
  }, {
203
215
  name: string;
204
216
  crop?: string | undefined;
@@ -213,6 +225,8 @@ export declare const createFieldAttributesSchema: z.ZodObject<{
213
225
  soilType?: string | undefined;
214
226
  expectedHarvestDate?: string | undefined;
215
227
  cropStage?: "planted" | "growing" | "flowering" | "mature" | "harvested" | undefined;
228
+ standCountPerHa?: number | undefined;
229
+ targetStandPerHa?: number | undefined;
216
230
  }>;
217
231
  export declare const updateFieldAttributesSchema: z.ZodObject<{
218
232
  name: z.ZodOptional<z.ZodString>;
@@ -236,6 +250,8 @@ export declare const updateFieldAttributesSchema: z.ZodObject<{
236
250
  plantingDate: z.ZodOptional<z.ZodNullable<z.ZodString>>;
237
251
  expectedHarvestDate: z.ZodOptional<z.ZodNullable<z.ZodString>>;
238
252
  cropStage: z.ZodOptional<z.ZodNullable<z.ZodEnum<["planted", "growing", "flowering", "mature", "harvested"]>>>;
253
+ standCountPerHa: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
254
+ targetStandPerHa: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
239
255
  cropHistory: z.ZodOptional<z.ZodArray<z.ZodObject<{
240
256
  id: z.ZodString;
241
257
  season: z.ZodString;
@@ -277,6 +293,8 @@ export declare const updateFieldAttributesSchema: z.ZodObject<{
277
293
  soilType?: string | undefined;
278
294
  expectedHarvestDate?: string | null | undefined;
279
295
  cropStage?: "planted" | "growing" | "flowering" | "mature" | "harvested" | null | undefined;
296
+ standCountPerHa?: number | null | undefined;
297
+ targetStandPerHa?: number | null | undefined;
280
298
  coverImage?: string | null | undefined;
281
299
  cropHistory?: {
282
300
  id: string;
@@ -302,6 +320,8 @@ export declare const updateFieldAttributesSchema: z.ZodObject<{
302
320
  soilType?: string | undefined;
303
321
  expectedHarvestDate?: string | null | undefined;
304
322
  cropStage?: "planted" | "growing" | "flowering" | "mature" | "harvested" | null | undefined;
323
+ standCountPerHa?: number | null | undefined;
324
+ targetStandPerHa?: number | null | undefined;
305
325
  coverImage?: string | null | undefined;
306
326
  cropHistory?: {
307
327
  id: string;
@@ -320,11 +340,15 @@ export declare const recordPlantingAttributesSchema: z.ZodObject<{
320
340
  variety: z.ZodOptional<z.ZodString>;
321
341
  notes: z.ZodOptional<z.ZodString>;
322
342
  cropStage: z.ZodOptional<z.ZodEnum<["planted", "growing", "flowering", "mature", "harvested"]>>;
343
+ standCountPerHa: z.ZodOptional<z.ZodNumber>;
344
+ targetStandPerHa: z.ZodOptional<z.ZodNumber>;
323
345
  }, "strip", z.ZodTypeAny, {
324
346
  currentCrop: string;
325
347
  plantingDate: string;
326
348
  expectedHarvestDate?: string | undefined;
327
349
  cropStage?: "planted" | "growing" | "flowering" | "mature" | "harvested" | undefined;
350
+ standCountPerHa?: number | undefined;
351
+ targetStandPerHa?: number | undefined;
328
352
  variety?: string | undefined;
329
353
  notes?: string | undefined;
330
354
  }, {
@@ -332,6 +356,8 @@ export declare const recordPlantingAttributesSchema: z.ZodObject<{
332
356
  plantingDate: string;
333
357
  expectedHarvestDate?: string | undefined;
334
358
  cropStage?: "planted" | "growing" | "flowering" | "mature" | "harvested" | undefined;
359
+ standCountPerHa?: number | undefined;
360
+ targetStandPerHa?: number | undefined;
335
361
  variety?: string | undefined;
336
362
  notes?: string | undefined;
337
363
  }>;
@@ -344,11 +370,15 @@ export declare const recordPlantingSchema: z.ZodObject<{
344
370
  variety: z.ZodOptional<z.ZodString>;
345
371
  notes: z.ZodOptional<z.ZodString>;
346
372
  cropStage: z.ZodOptional<z.ZodEnum<["planted", "growing", "flowering", "mature", "harvested"]>>;
373
+ standCountPerHa: z.ZodOptional<z.ZodNumber>;
374
+ targetStandPerHa: z.ZodOptional<z.ZodNumber>;
347
375
  }, "strip", z.ZodTypeAny, {
348
376
  currentCrop: string;
349
377
  plantingDate: string;
350
378
  expectedHarvestDate?: string | undefined;
351
379
  cropStage?: "planted" | "growing" | "flowering" | "mature" | "harvested" | undefined;
380
+ standCountPerHa?: number | undefined;
381
+ targetStandPerHa?: number | undefined;
352
382
  variety?: string | undefined;
353
383
  notes?: string | undefined;
354
384
  }, {
@@ -356,6 +386,8 @@ export declare const recordPlantingSchema: z.ZodObject<{
356
386
  plantingDate: string;
357
387
  expectedHarvestDate?: string | undefined;
358
388
  cropStage?: "planted" | "growing" | "flowering" | "mature" | "harvested" | undefined;
389
+ standCountPerHa?: number | undefined;
390
+ targetStandPerHa?: number | undefined;
359
391
  variety?: string | undefined;
360
392
  notes?: string | undefined;
361
393
  }>;
@@ -366,6 +398,8 @@ export declare const recordPlantingSchema: z.ZodObject<{
366
398
  plantingDate: string;
367
399
  expectedHarvestDate?: string | undefined;
368
400
  cropStage?: "planted" | "growing" | "flowering" | "mature" | "harvested" | undefined;
401
+ standCountPerHa?: number | undefined;
402
+ targetStandPerHa?: number | undefined;
369
403
  variety?: string | undefined;
370
404
  notes?: string | undefined;
371
405
  };
@@ -376,6 +410,8 @@ export declare const recordPlantingSchema: z.ZodObject<{
376
410
  plantingDate: string;
377
411
  expectedHarvestDate?: string | undefined;
378
412
  cropStage?: "planted" | "growing" | "flowering" | "mature" | "harvested" | undefined;
413
+ standCountPerHa?: number | undefined;
414
+ targetStandPerHa?: number | undefined;
379
415
  variety?: string | undefined;
380
416
  notes?: string | undefined;
381
417
  };
@@ -402,6 +438,8 @@ export declare const createFieldSchema: z.ZodObject<{
402
438
  plantingDate: z.ZodOptional<z.ZodString>;
403
439
  expectedHarvestDate: z.ZodOptional<z.ZodString>;
404
440
  cropStage: z.ZodOptional<z.ZodEnum<["planted", "growing", "flowering", "mature", "harvested"]>>;
441
+ standCountPerHa: z.ZodOptional<z.ZodNumber>;
442
+ targetStandPerHa: z.ZodOptional<z.ZodNumber>;
405
443
  }, "strip", z.ZodTypeAny, {
406
444
  name: string;
407
445
  crop?: string | undefined;
@@ -416,6 +454,8 @@ export declare const createFieldSchema: z.ZodObject<{
416
454
  soilType?: string | undefined;
417
455
  expectedHarvestDate?: string | undefined;
418
456
  cropStage?: "planted" | "growing" | "flowering" | "mature" | "harvested" | undefined;
457
+ standCountPerHa?: number | undefined;
458
+ targetStandPerHa?: number | undefined;
419
459
  }, {
420
460
  name: string;
421
461
  crop?: string | undefined;
@@ -430,6 +470,8 @@ export declare const createFieldSchema: z.ZodObject<{
430
470
  soilType?: string | undefined;
431
471
  expectedHarvestDate?: string | undefined;
432
472
  cropStage?: "planted" | "growing" | "flowering" | "mature" | "harvested" | undefined;
473
+ standCountPerHa?: number | undefined;
474
+ targetStandPerHa?: number | undefined;
433
475
  }>;
434
476
  relationships: z.ZodObject<{
435
477
  farm: z.ZodObject<{
@@ -485,6 +527,8 @@ export declare const createFieldSchema: z.ZodObject<{
485
527
  soilType?: string | undefined;
486
528
  expectedHarvestDate?: string | undefined;
487
529
  cropStage?: "planted" | "growing" | "flowering" | "mature" | "harvested" | undefined;
530
+ standCountPerHa?: number | undefined;
531
+ targetStandPerHa?: number | undefined;
488
532
  };
489
533
  relationships: {
490
534
  farm: {
@@ -510,6 +554,8 @@ export declare const createFieldSchema: z.ZodObject<{
510
554
  soilType?: string | undefined;
511
555
  expectedHarvestDate?: string | undefined;
512
556
  cropStage?: "planted" | "growing" | "flowering" | "mature" | "harvested" | undefined;
557
+ standCountPerHa?: number | undefined;
558
+ targetStandPerHa?: number | undefined;
513
559
  };
514
560
  relationships: {
515
561
  farm: {
@@ -545,6 +591,8 @@ export declare const updateFieldSchema: z.ZodObject<{
545
591
  plantingDate: z.ZodOptional<z.ZodNullable<z.ZodString>>;
546
592
  expectedHarvestDate: z.ZodOptional<z.ZodNullable<z.ZodString>>;
547
593
  cropStage: z.ZodOptional<z.ZodNullable<z.ZodEnum<["planted", "growing", "flowering", "mature", "harvested"]>>>;
594
+ standCountPerHa: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
595
+ targetStandPerHa: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
548
596
  cropHistory: z.ZodOptional<z.ZodArray<z.ZodObject<{
549
597
  id: z.ZodString;
550
598
  season: z.ZodString;
@@ -586,6 +634,8 @@ export declare const updateFieldSchema: z.ZodObject<{
586
634
  soilType?: string | undefined;
587
635
  expectedHarvestDate?: string | null | undefined;
588
636
  cropStage?: "planted" | "growing" | "flowering" | "mature" | "harvested" | null | undefined;
637
+ standCountPerHa?: number | null | undefined;
638
+ targetStandPerHa?: number | null | undefined;
589
639
  coverImage?: string | null | undefined;
590
640
  cropHistory?: {
591
641
  id: string;
@@ -611,6 +661,8 @@ export declare const updateFieldSchema: z.ZodObject<{
611
661
  soilType?: string | undefined;
612
662
  expectedHarvestDate?: string | null | undefined;
613
663
  cropStage?: "planted" | "growing" | "flowering" | "mature" | "harvested" | null | undefined;
664
+ standCountPerHa?: number | null | undefined;
665
+ targetStandPerHa?: number | null | undefined;
614
666
  coverImage?: string | null | undefined;
615
667
  cropHistory?: {
616
668
  id: string;
@@ -640,6 +692,8 @@ export declare const updateFieldSchema: z.ZodObject<{
640
692
  soilType?: string | undefined;
641
693
  expectedHarvestDate?: string | null | undefined;
642
694
  cropStage?: "planted" | "growing" | "flowering" | "mature" | "harvested" | null | undefined;
695
+ standCountPerHa?: number | null | undefined;
696
+ targetStandPerHa?: number | null | undefined;
643
697
  coverImage?: string | null | undefined;
644
698
  cropHistory?: {
645
699
  id: string;
@@ -669,6 +723,8 @@ export declare const updateFieldSchema: z.ZodObject<{
669
723
  soilType?: string | undefined;
670
724
  expectedHarvestDate?: string | null | undefined;
671
725
  cropStage?: "planted" | "growing" | "flowering" | "mature" | "harvested" | null | undefined;
726
+ standCountPerHa?: number | null | undefined;
727
+ targetStandPerHa?: number | null | undefined;
672
728
  coverImage?: string | null | undefined;
673
729
  cropHistory?: {
674
730
  id: string;
@@ -706,6 +762,10 @@ export declare const fieldResourceSchema: z.ZodObject<{
706
762
  plantingDate: z.ZodNullable<z.ZodString>;
707
763
  expectedHarvestDate: z.ZodNullable<z.ZodString>;
708
764
  cropStage: z.ZodNullable<z.ZodEnum<["planted", "growing", "flowering", "mature", "harvested"]>>;
765
+ /** Established plant population (plants per hectare). Null if not recorded. */
766
+ standCountPerHa: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
767
+ /** Optional target stand for gap display (plants per hectare). */
768
+ targetStandPerHa: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
709
769
  coverImage: z.ZodOptional<z.ZodNullable<z.ZodString>>;
710
770
  historicalNdvi: z.ZodOptional<z.ZodArray<z.ZodObject<{
711
771
  date: z.ZodString;
@@ -763,6 +823,8 @@ export declare const fieldResourceSchema: z.ZodObject<{
763
823
  soilType: string | null;
764
824
  expectedHarvestDate: string | null;
765
825
  cropStage: "planted" | "growing" | "flowering" | "mature" | "harvested" | null;
826
+ standCountPerHa?: number | null | undefined;
827
+ targetStandPerHa?: number | null | undefined;
766
828
  coverImage?: string | null | undefined;
767
829
  historicalNdvi?: {
768
830
  value: number;
@@ -795,6 +857,8 @@ export declare const fieldResourceSchema: z.ZodObject<{
795
857
  soilType: string | null;
796
858
  expectedHarvestDate: string | null;
797
859
  cropStage: "planted" | "growing" | "flowering" | "mature" | "harvested" | null;
860
+ standCountPerHa?: number | null | undefined;
861
+ targetStandPerHa?: number | null | undefined;
798
862
  coverImage?: string | null | undefined;
799
863
  historicalNdvi?: {
800
864
  value: number;
@@ -834,6 +898,8 @@ export declare const fieldResourceSchema: z.ZodObject<{
834
898
  soilType: string | null;
835
899
  expectedHarvestDate: string | null;
836
900
  cropStage: "planted" | "growing" | "flowering" | "mature" | "harvested" | null;
901
+ standCountPerHa?: number | null | undefined;
902
+ targetStandPerHa?: number | null | undefined;
837
903
  coverImage?: string | null | undefined;
838
904
  historicalNdvi?: {
839
905
  value: number;
@@ -873,6 +939,8 @@ export declare const fieldResourceSchema: z.ZodObject<{
873
939
  soilType: string | null;
874
940
  expectedHarvestDate: string | null;
875
941
  cropStage: "planted" | "growing" | "flowering" | "mature" | "harvested" | null;
942
+ standCountPerHa?: number | null | undefined;
943
+ targetStandPerHa?: number | null | undefined;
876
944
  coverImage?: string | null | undefined;
877
945
  historicalNdvi?: {
878
946
  value: number;
@@ -917,6 +985,10 @@ export declare const fieldDetailResourceSchema: z.ZodObject<{
917
985
  plantingDate: z.ZodNullable<z.ZodString>;
918
986
  expectedHarvestDate: z.ZodNullable<z.ZodString>;
919
987
  cropStage: z.ZodNullable<z.ZodEnum<["planted", "growing", "flowering", "mature", "harvested"]>>;
988
+ /** Established plant population (plants per hectare). Null if not recorded. */
989
+ standCountPerHa: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
990
+ /** Optional target stand for gap display (plants per hectare). */
991
+ targetStandPerHa: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
920
992
  coverImage: z.ZodOptional<z.ZodNullable<z.ZodString>>;
921
993
  historicalNdvi: z.ZodOptional<z.ZodArray<z.ZodObject<{
922
994
  date: z.ZodString;
@@ -974,6 +1046,8 @@ export declare const fieldDetailResourceSchema: z.ZodObject<{
974
1046
  soilType: string | null;
975
1047
  expectedHarvestDate: string | null;
976
1048
  cropStage: "planted" | "growing" | "flowering" | "mature" | "harvested" | null;
1049
+ standCountPerHa?: number | null | undefined;
1050
+ targetStandPerHa?: number | null | undefined;
977
1051
  coverImage?: string | null | undefined;
978
1052
  historicalNdvi?: {
979
1053
  value: number;
@@ -1006,6 +1080,8 @@ export declare const fieldDetailResourceSchema: z.ZodObject<{
1006
1080
  soilType: string | null;
1007
1081
  expectedHarvestDate: string | null;
1008
1082
  cropStage: "planted" | "growing" | "flowering" | "mature" | "harvested" | null;
1083
+ standCountPerHa?: number | null | undefined;
1084
+ targetStandPerHa?: number | null | undefined;
1009
1085
  coverImage?: string | null | undefined;
1010
1086
  historicalNdvi?: {
1011
1087
  value: number;
@@ -1240,6 +1316,8 @@ export declare const fieldDetailResourceSchema: z.ZodObject<{
1240
1316
  soilType: string | null;
1241
1317
  expectedHarvestDate: string | null;
1242
1318
  cropStage: "planted" | "growing" | "flowering" | "mature" | "harvested" | null;
1319
+ standCountPerHa?: number | null | undefined;
1320
+ targetStandPerHa?: number | null | undefined;
1243
1321
  coverImage?: string | null | undefined;
1244
1322
  historicalNdvi?: {
1245
1323
  value: number;
@@ -1313,6 +1391,8 @@ export declare const fieldDetailResourceSchema: z.ZodObject<{
1313
1391
  soilType: string | null;
1314
1392
  expectedHarvestDate: string | null;
1315
1393
  cropStage: "planted" | "growing" | "flowering" | "mature" | "harvested" | null;
1394
+ standCountPerHa?: number | null | undefined;
1395
+ targetStandPerHa?: number | null | undefined;
1316
1396
  coverImage?: string | null | undefined;
1317
1397
  historicalNdvi?: {
1318
1398
  value: number;
@@ -1392,6 +1472,10 @@ export declare const fieldResponseSchema: z.ZodObject<{
1392
1472
  plantingDate: z.ZodNullable<z.ZodString>;
1393
1473
  expectedHarvestDate: z.ZodNullable<z.ZodString>;
1394
1474
  cropStage: z.ZodNullable<z.ZodEnum<["planted", "growing", "flowering", "mature", "harvested"]>>;
1475
+ /** Established plant population (plants per hectare). Null if not recorded. */
1476
+ standCountPerHa: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
1477
+ /** Optional target stand for gap display (plants per hectare). */
1478
+ targetStandPerHa: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
1395
1479
  coverImage: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1396
1480
  historicalNdvi: z.ZodOptional<z.ZodArray<z.ZodObject<{
1397
1481
  date: z.ZodString;
@@ -1449,6 +1533,8 @@ export declare const fieldResponseSchema: z.ZodObject<{
1449
1533
  soilType: string | null;
1450
1534
  expectedHarvestDate: string | null;
1451
1535
  cropStage: "planted" | "growing" | "flowering" | "mature" | "harvested" | null;
1536
+ standCountPerHa?: number | null | undefined;
1537
+ targetStandPerHa?: number | null | undefined;
1452
1538
  coverImage?: string | null | undefined;
1453
1539
  historicalNdvi?: {
1454
1540
  value: number;
@@ -1481,6 +1567,8 @@ export declare const fieldResponseSchema: z.ZodObject<{
1481
1567
  soilType: string | null;
1482
1568
  expectedHarvestDate: string | null;
1483
1569
  cropStage: "planted" | "growing" | "flowering" | "mature" | "harvested" | null;
1570
+ standCountPerHa?: number | null | undefined;
1571
+ targetStandPerHa?: number | null | undefined;
1484
1572
  coverImage?: string | null | undefined;
1485
1573
  historicalNdvi?: {
1486
1574
  value: number;
@@ -1520,6 +1608,8 @@ export declare const fieldResponseSchema: z.ZodObject<{
1520
1608
  soilType: string | null;
1521
1609
  expectedHarvestDate: string | null;
1522
1610
  cropStage: "planted" | "growing" | "flowering" | "mature" | "harvested" | null;
1611
+ standCountPerHa?: number | null | undefined;
1612
+ targetStandPerHa?: number | null | undefined;
1523
1613
  coverImage?: string | null | undefined;
1524
1614
  historicalNdvi?: {
1525
1615
  value: number;
@@ -1559,6 +1649,8 @@ export declare const fieldResponseSchema: z.ZodObject<{
1559
1649
  soilType: string | null;
1560
1650
  expectedHarvestDate: string | null;
1561
1651
  cropStage: "planted" | "growing" | "flowering" | "mature" | "harvested" | null;
1652
+ standCountPerHa?: number | null | undefined;
1653
+ targetStandPerHa?: number | null | undefined;
1562
1654
  coverImage?: string | null | undefined;
1563
1655
  historicalNdvi?: {
1564
1656
  value: number;
@@ -1624,6 +1716,8 @@ export declare const fieldResponseSchema: z.ZodObject<{
1624
1716
  soilType: string | null;
1625
1717
  expectedHarvestDate: string | null;
1626
1718
  cropStage: "planted" | "growing" | "flowering" | "mature" | "harvested" | null;
1719
+ standCountPerHa?: number | null | undefined;
1720
+ targetStandPerHa?: number | null | undefined;
1627
1721
  coverImage?: string | null | undefined;
1628
1722
  historicalNdvi?: {
1629
1723
  value: number;
@@ -1675,6 +1769,8 @@ export declare const fieldResponseSchema: z.ZodObject<{
1675
1769
  soilType: string | null;
1676
1770
  expectedHarvestDate: string | null;
1677
1771
  cropStage: "planted" | "growing" | "flowering" | "mature" | "harvested" | null;
1772
+ standCountPerHa?: number | null | undefined;
1773
+ targetStandPerHa?: number | null | undefined;
1678
1774
  coverImage?: string | null | undefined;
1679
1775
  historicalNdvi?: {
1680
1776
  value: number;
@@ -1731,6 +1827,10 @@ export declare const fieldDetailResponseSchema: z.ZodObject<{
1731
1827
  plantingDate: z.ZodNullable<z.ZodString>;
1732
1828
  expectedHarvestDate: z.ZodNullable<z.ZodString>;
1733
1829
  cropStage: z.ZodNullable<z.ZodEnum<["planted", "growing", "flowering", "mature", "harvested"]>>;
1830
+ /** Established plant population (plants per hectare). Null if not recorded. */
1831
+ standCountPerHa: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
1832
+ /** Optional target stand for gap display (plants per hectare). */
1833
+ targetStandPerHa: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
1734
1834
  coverImage: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1735
1835
  historicalNdvi: z.ZodOptional<z.ZodArray<z.ZodObject<{
1736
1836
  date: z.ZodString;
@@ -1788,6 +1888,8 @@ export declare const fieldDetailResponseSchema: z.ZodObject<{
1788
1888
  soilType: string | null;
1789
1889
  expectedHarvestDate: string | null;
1790
1890
  cropStage: "planted" | "growing" | "flowering" | "mature" | "harvested" | null;
1891
+ standCountPerHa?: number | null | undefined;
1892
+ targetStandPerHa?: number | null | undefined;
1791
1893
  coverImage?: string | null | undefined;
1792
1894
  historicalNdvi?: {
1793
1895
  value: number;
@@ -1820,6 +1922,8 @@ export declare const fieldDetailResponseSchema: z.ZodObject<{
1820
1922
  soilType: string | null;
1821
1923
  expectedHarvestDate: string | null;
1822
1924
  cropStage: "planted" | "growing" | "flowering" | "mature" | "harvested" | null;
1925
+ standCountPerHa?: number | null | undefined;
1926
+ targetStandPerHa?: number | null | undefined;
1823
1927
  coverImage?: string | null | undefined;
1824
1928
  historicalNdvi?: {
1825
1929
  value: number;
@@ -2054,6 +2158,8 @@ export declare const fieldDetailResponseSchema: z.ZodObject<{
2054
2158
  soilType: string | null;
2055
2159
  expectedHarvestDate: string | null;
2056
2160
  cropStage: "planted" | "growing" | "flowering" | "mature" | "harvested" | null;
2161
+ standCountPerHa?: number | null | undefined;
2162
+ targetStandPerHa?: number | null | undefined;
2057
2163
  coverImage?: string | null | undefined;
2058
2164
  historicalNdvi?: {
2059
2165
  value: number;
@@ -2127,6 +2233,8 @@ export declare const fieldDetailResponseSchema: z.ZodObject<{
2127
2233
  soilType: string | null;
2128
2234
  expectedHarvestDate: string | null;
2129
2235
  cropStage: "planted" | "growing" | "flowering" | "mature" | "harvested" | null;
2236
+ standCountPerHa?: number | null | undefined;
2237
+ targetStandPerHa?: number | null | undefined;
2130
2238
  coverImage?: string | null | undefined;
2131
2239
  historicalNdvi?: {
2132
2240
  value: number;
@@ -2226,6 +2334,8 @@ export declare const fieldDetailResponseSchema: z.ZodObject<{
2226
2334
  soilType: string | null;
2227
2335
  expectedHarvestDate: string | null;
2228
2336
  cropStage: "planted" | "growing" | "flowering" | "mature" | "harvested" | null;
2337
+ standCountPerHa?: number | null | undefined;
2338
+ targetStandPerHa?: number | null | undefined;
2229
2339
  coverImage?: string | null | undefined;
2230
2340
  historicalNdvi?: {
2231
2341
  value: number;
@@ -2311,6 +2421,8 @@ export declare const fieldDetailResponseSchema: z.ZodObject<{
2311
2421
  soilType: string | null;
2312
2422
  expectedHarvestDate: string | null;
2313
2423
  cropStage: "planted" | "growing" | "flowering" | "mature" | "harvested" | null;
2424
+ standCountPerHa?: number | null | undefined;
2425
+ targetStandPerHa?: number | null | undefined;
2314
2426
  coverImage?: string | null | undefined;
2315
2427
  historicalNdvi?: {
2316
2428
  value: number;
@@ -2401,6 +2513,10 @@ export declare const fieldListResponseSchema: z.ZodObject<{
2401
2513
  plantingDate: z.ZodNullable<z.ZodString>;
2402
2514
  expectedHarvestDate: z.ZodNullable<z.ZodString>;
2403
2515
  cropStage: z.ZodNullable<z.ZodEnum<["planted", "growing", "flowering", "mature", "harvested"]>>;
2516
+ /** Established plant population (plants per hectare). Null if not recorded. */
2517
+ standCountPerHa: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
2518
+ /** Optional target stand for gap display (plants per hectare). */
2519
+ targetStandPerHa: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
2404
2520
  coverImage: z.ZodOptional<z.ZodNullable<z.ZodString>>;
2405
2521
  historicalNdvi: z.ZodOptional<z.ZodArray<z.ZodObject<{
2406
2522
  date: z.ZodString;
@@ -2458,6 +2574,8 @@ export declare const fieldListResponseSchema: z.ZodObject<{
2458
2574
  soilType: string | null;
2459
2575
  expectedHarvestDate: string | null;
2460
2576
  cropStage: "planted" | "growing" | "flowering" | "mature" | "harvested" | null;
2577
+ standCountPerHa?: number | null | undefined;
2578
+ targetStandPerHa?: number | null | undefined;
2461
2579
  coverImage?: string | null | undefined;
2462
2580
  historicalNdvi?: {
2463
2581
  value: number;
@@ -2490,6 +2608,8 @@ export declare const fieldListResponseSchema: z.ZodObject<{
2490
2608
  soilType: string | null;
2491
2609
  expectedHarvestDate: string | null;
2492
2610
  cropStage: "planted" | "growing" | "flowering" | "mature" | "harvested" | null;
2611
+ standCountPerHa?: number | null | undefined;
2612
+ targetStandPerHa?: number | null | undefined;
2493
2613
  coverImage?: string | null | undefined;
2494
2614
  historicalNdvi?: {
2495
2615
  value: number;
@@ -2529,6 +2649,8 @@ export declare const fieldListResponseSchema: z.ZodObject<{
2529
2649
  soilType: string | null;
2530
2650
  expectedHarvestDate: string | null;
2531
2651
  cropStage: "planted" | "growing" | "flowering" | "mature" | "harvested" | null;
2652
+ standCountPerHa?: number | null | undefined;
2653
+ targetStandPerHa?: number | null | undefined;
2532
2654
  coverImage?: string | null | undefined;
2533
2655
  historicalNdvi?: {
2534
2656
  value: number;
@@ -2568,6 +2690,8 @@ export declare const fieldListResponseSchema: z.ZodObject<{
2568
2690
  soilType: string | null;
2569
2691
  expectedHarvestDate: string | null;
2570
2692
  cropStage: "planted" | "growing" | "flowering" | "mature" | "harvested" | null;
2693
+ standCountPerHa?: number | null | undefined;
2694
+ targetStandPerHa?: number | null | undefined;
2571
2695
  coverImage?: string | null | undefined;
2572
2696
  historicalNdvi?: {
2573
2697
  value: number;
@@ -2633,6 +2757,8 @@ export declare const fieldListResponseSchema: z.ZodObject<{
2633
2757
  soilType: string | null;
2634
2758
  expectedHarvestDate: string | null;
2635
2759
  cropStage: "planted" | "growing" | "flowering" | "mature" | "harvested" | null;
2760
+ standCountPerHa?: number | null | undefined;
2761
+ targetStandPerHa?: number | null | undefined;
2636
2762
  coverImage?: string | null | undefined;
2637
2763
  historicalNdvi?: {
2638
2764
  value: number;
@@ -2684,6 +2810,8 @@ export declare const fieldListResponseSchema: z.ZodObject<{
2684
2810
  soilType: string | null;
2685
2811
  expectedHarvestDate: string | null;
2686
2812
  cropStage: "planted" | "growing" | "flowering" | "mature" | "harvested" | null;
2813
+ standCountPerHa?: number | null | undefined;
2814
+ targetStandPerHa?: number | null | undefined;
2687
2815
  coverImage?: string | null | undefined;
2688
2816
  historicalNdvi?: {
2689
2817
  value: number;
@@ -1 +1 @@
1
- {"version":3,"file":"fields.schemas.d.ts","sourceRoot":"","sources":["../../src/schemas/fields.schemas.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fields.schemas.d.ts","sourceRoot":"","sources":["../../src/schemas/fields.schemas.ts"],"names":[],"mappings":"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"}
@@ -37,6 +37,10 @@ export const fieldAttributesSchema = z.object({
37
37
  plantingDate: z.string().datetime().nullable(),
38
38
  expectedHarvestDate: z.string().datetime().nullable(),
39
39
  cropStage: cropStageSchema.nullable(),
40
+ /** Established plant population (plants per hectare). Null if not recorded. */
41
+ standCountPerHa: z.number().positive().max(10_000_000).nullable().optional(),
42
+ /** Optional target stand for gap display (plants per hectare). */
43
+ targetStandPerHa: z.number().positive().max(10_000_000).nullable().optional(),
40
44
  // Card cover: preset:<id> or /files/view/fields/...
41
45
  coverImage: z.string().max(500).nullable().optional(),
42
46
  // Historical data
@@ -56,6 +60,8 @@ export const createFieldAttributesSchema = z.object({
56
60
  plantingDate: z.string().datetime().optional(),
57
61
  expectedHarvestDate: z.string().datetime().optional(),
58
62
  cropStage: cropStageSchema.optional(),
63
+ standCountPerHa: z.number().positive().max(10_000_000).optional(),
64
+ targetStandPerHa: z.number().positive().max(10_000_000).optional(),
59
65
  });
60
66
  // Field attributes for update (input) — nullable crop lifecycle fields allow clearing values
61
67
  export const updateFieldAttributesSchema = createFieldAttributesSchema
@@ -68,6 +74,8 @@ export const updateFieldAttributesSchema = createFieldAttributesSchema
68
74
  plantingDate: z.string().datetime().nullable().optional(),
69
75
  expectedHarvestDate: z.string().datetime().nullable().optional(),
70
76
  cropStage: cropStageSchema.nullable().optional(),
77
+ standCountPerHa: z.number().positive().max(10_000_000).nullable().optional(),
78
+ targetStandPerHa: z.number().positive().max(10_000_000).nullable().optional(),
71
79
  cropHistory: z.array(cropHistoryEntrySchema).optional(),
72
80
  /** `preset:<id>`, upload URL, or null to clear to category default */
73
81
  coverImage: z.string().max(500).nullable().optional(),
@@ -80,6 +88,8 @@ export const recordPlantingAttributesSchema = z.object({
80
88
  variety: z.string().max(200).optional(),
81
89
  notes: z.string().optional(),
82
90
  cropStage: cropStageSchema.optional(),
91
+ standCountPerHa: z.number().positive().max(10_000_000).optional(),
92
+ targetStandPerHa: z.number().positive().max(10_000_000).optional(),
83
93
  });
84
94
  export const recordPlantingSchema = z.object({
85
95
  type: z.literal('field-plantings'),