@deepintel-ltd/farmpro-contracts 1.5.2 → 1.5.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.
@@ -425,4 +425,1445 @@ export declare const historicalNDVIDataPointSchema: z.ZodObject<{
425
425
  time?: string | undefined;
426
426
  }>;
427
427
  export type HistoricalNDVIDataPoint = z.infer<typeof historicalNDVIDataPointSchema>;
428
+ export declare const nutrientValueSchema: z.ZodObject<{
429
+ value: z.ZodNullable<z.ZodNumber>;
430
+ unit: z.ZodEnum<["ppm", "kg/ha", "g/kg", "%", "cmol(c)/kg"]>;
431
+ source: z.ZodEnum<["manual", "regional_api", "global_api", "predicted"]>;
432
+ confidence: z.ZodNumber;
433
+ lastUpdated: z.ZodString;
434
+ sourceId: z.ZodOptional<z.ZodString>;
435
+ }, "strip", z.ZodTypeAny, {
436
+ value: number | null;
437
+ source: "manual" | "regional_api" | "global_api" | "predicted";
438
+ unit: "ppm" | "kg/ha" | "g/kg" | "%" | "cmol(c)/kg";
439
+ confidence: number;
440
+ lastUpdated: string;
441
+ sourceId?: string | undefined;
442
+ }, {
443
+ value: number | null;
444
+ source: "manual" | "regional_api" | "global_api" | "predicted";
445
+ unit: "ppm" | "kg/ha" | "g/kg" | "%" | "cmol(c)/kg";
446
+ confidence: number;
447
+ lastUpdated: string;
448
+ sourceId?: string | undefined;
449
+ }>;
450
+ export declare const dataSourceInfoSchema: z.ZodObject<{
451
+ source: z.ZodEnum<["manual", "regional_api", "global_api", "predicted"]>;
452
+ sourceId: z.ZodOptional<z.ZodString>;
453
+ priority: z.ZodNumber;
454
+ confidence: z.ZodNumber;
455
+ date: z.ZodString;
456
+ notes: z.ZodOptional<z.ZodString>;
457
+ }, "strip", z.ZodTypeAny, {
458
+ date: string;
459
+ source: "manual" | "regional_api" | "global_api" | "predicted";
460
+ priority: number;
461
+ confidence: number;
462
+ notes?: string | undefined;
463
+ sourceId?: string | undefined;
464
+ }, {
465
+ date: string;
466
+ source: "manual" | "regional_api" | "global_api" | "predicted";
467
+ priority: number;
468
+ confidence: number;
469
+ notes?: string | undefined;
470
+ sourceId?: string | undefined;
471
+ }>;
472
+ export declare const qualityAssessmentSchema: z.ZodObject<{
473
+ quality: z.ZodEnum<["excellent", "good", "fair", "poor", "critical"]>;
474
+ recommendation: z.ZodString;
475
+ optimalRange: z.ZodOptional<z.ZodObject<{
476
+ min: z.ZodNumber;
477
+ max: z.ZodNumber;
478
+ }, "strip", z.ZodTypeAny, {
479
+ min: number;
480
+ max: number;
481
+ }, {
482
+ min: number;
483
+ max: number;
484
+ }>>;
485
+ currentStatus: z.ZodEnum<["optimal", "low", "high", "critical"]>;
486
+ }, "strip", z.ZodTypeAny, {
487
+ recommendation: string;
488
+ quality: "critical" | "poor" | "fair" | "good" | "excellent";
489
+ currentStatus: "critical" | "low" | "high" | "optimal";
490
+ optimalRange?: {
491
+ min: number;
492
+ max: number;
493
+ } | undefined;
494
+ }, {
495
+ recommendation: string;
496
+ quality: "critical" | "poor" | "fair" | "good" | "excellent";
497
+ currentStatus: "critical" | "low" | "high" | "optimal";
498
+ optimalRange?: {
499
+ min: number;
500
+ max: number;
501
+ } | undefined;
502
+ }>;
503
+ export declare const completenessAssessmentSchema: z.ZodObject<{
504
+ score: z.ZodNumber;
505
+ missingFields: z.ZodArray<z.ZodString, "many">;
506
+ completeness: z.ZodEnum<["complete", "mostly_complete", "partial", "incomplete"]>;
507
+ }, "strip", z.ZodTypeAny, {
508
+ score: number;
509
+ missingFields: string[];
510
+ completeness: "complete" | "mostly_complete" | "partial" | "incomplete";
511
+ }, {
512
+ score: number;
513
+ missingFields: string[];
514
+ completeness: "complete" | "mostly_complete" | "partial" | "incomplete";
515
+ }>;
516
+ export declare const soilRecommendationSchema: z.ZodObject<{
517
+ priority: z.ZodNumber;
518
+ action: z.ZodString;
519
+ details: z.ZodString;
520
+ timing: z.ZodString;
521
+ severity: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "critical"]>>;
522
+ confidence: z.ZodOptional<z.ZodNumber>;
523
+ }, "strip", z.ZodTypeAny, {
524
+ priority: number;
525
+ action: string;
526
+ details: string;
527
+ timing: string;
528
+ severity?: "critical" | "low" | "medium" | "high" | undefined;
529
+ confidence?: number | undefined;
530
+ }, {
531
+ priority: number;
532
+ action: string;
533
+ details: string;
534
+ timing: string;
535
+ severity?: "critical" | "low" | "medium" | "high" | undefined;
536
+ confidence?: number | undefined;
537
+ }>;
538
+ export declare const seasonalRecommendationSchema: z.ZodObject<{
539
+ priority: z.ZodNumber;
540
+ action: z.ZodString;
541
+ details: z.ZodString;
542
+ timing: z.ZodString;
543
+ confidence: z.ZodOptional<z.ZodNumber>;
544
+ }, "strip", z.ZodTypeAny, {
545
+ priority: number;
546
+ action: string;
547
+ details: string;
548
+ timing: string;
549
+ confidence?: number | undefined;
550
+ }, {
551
+ priority: number;
552
+ action: string;
553
+ details: string;
554
+ timing: string;
555
+ confidence?: number | undefined;
556
+ }>;
557
+ export declare const intelligentFertilizerRecommendationSchema: z.ZodObject<{
558
+ inventoryItemId: z.ZodOptional<z.ZodString>;
559
+ productName: z.ZodOptional<z.ZodString>;
560
+ quantity: z.ZodNumber;
561
+ unit: z.ZodString;
562
+ reason: z.ZodString;
563
+ estimatedCost: z.ZodOptional<z.ZodNumber>;
564
+ applicationTiming: z.ZodOptional<z.ZodString>;
565
+ confidence: z.ZodOptional<z.ZodNumber>;
566
+ }, "strip", z.ZodTypeAny, {
567
+ unit: string;
568
+ quantity: number;
569
+ reason: string;
570
+ inventoryItemId?: string | undefined;
571
+ estimatedCost?: number | undefined;
572
+ confidence?: number | undefined;
573
+ productName?: string | undefined;
574
+ applicationTiming?: string | undefined;
575
+ }, {
576
+ unit: string;
577
+ quantity: number;
578
+ reason: string;
579
+ inventoryItemId?: string | undefined;
580
+ estimatedCost?: number | undefined;
581
+ confidence?: number | undefined;
582
+ productName?: string | undefined;
583
+ applicationTiming?: string | undefined;
584
+ }>;
585
+ export declare const longTermRecommendationSchema: z.ZodObject<{
586
+ priority: z.ZodNumber;
587
+ action: z.ZodString;
588
+ details: z.ZodString;
589
+ timeframe: z.ZodString;
590
+ expectedImpact: z.ZodString;
591
+ confidence: z.ZodOptional<z.ZodNumber>;
592
+ }, "strip", z.ZodTypeAny, {
593
+ priority: number;
594
+ action: string;
595
+ details: string;
596
+ timeframe: string;
597
+ expectedImpact: string;
598
+ confidence?: number | undefined;
599
+ }, {
600
+ priority: number;
601
+ action: string;
602
+ details: string;
603
+ timeframe: string;
604
+ expectedImpact: string;
605
+ confidence?: number | undefined;
606
+ }>;
607
+ export declare const intelligentSoilProfileSchema: z.ZodObject<{
608
+ fieldId: z.ZodString;
609
+ fieldName: z.ZodString;
610
+ coordinates: z.ZodObject<{
611
+ latitude: z.ZodNumber;
612
+ longitude: z.ZodNumber;
613
+ }, "strip", z.ZodTypeAny, {
614
+ latitude: number;
615
+ longitude: number;
616
+ }, {
617
+ latitude: number;
618
+ longitude: number;
619
+ }>;
620
+ nutrients: z.ZodObject<{
621
+ pH: z.ZodObject<{
622
+ value: z.ZodNullable<z.ZodNumber>;
623
+ unit: z.ZodEnum<["ppm", "kg/ha", "g/kg", "%", "cmol(c)/kg"]>;
624
+ source: z.ZodEnum<["manual", "regional_api", "global_api", "predicted"]>;
625
+ confidence: z.ZodNumber;
626
+ lastUpdated: z.ZodString;
627
+ sourceId: z.ZodOptional<z.ZodString>;
628
+ }, "strip", z.ZodTypeAny, {
629
+ value: number | null;
630
+ source: "manual" | "regional_api" | "global_api" | "predicted";
631
+ unit: "ppm" | "kg/ha" | "g/kg" | "%" | "cmol(c)/kg";
632
+ confidence: number;
633
+ lastUpdated: string;
634
+ sourceId?: string | undefined;
635
+ }, {
636
+ value: number | null;
637
+ source: "manual" | "regional_api" | "global_api" | "predicted";
638
+ unit: "ppm" | "kg/ha" | "g/kg" | "%" | "cmol(c)/kg";
639
+ confidence: number;
640
+ lastUpdated: string;
641
+ sourceId?: string | undefined;
642
+ }>;
643
+ nitrogen: z.ZodObject<{
644
+ value: z.ZodNullable<z.ZodNumber>;
645
+ unit: z.ZodEnum<["ppm", "kg/ha", "g/kg", "%", "cmol(c)/kg"]>;
646
+ source: z.ZodEnum<["manual", "regional_api", "global_api", "predicted"]>;
647
+ confidence: z.ZodNumber;
648
+ lastUpdated: z.ZodString;
649
+ sourceId: z.ZodOptional<z.ZodString>;
650
+ }, "strip", z.ZodTypeAny, {
651
+ value: number | null;
652
+ source: "manual" | "regional_api" | "global_api" | "predicted";
653
+ unit: "ppm" | "kg/ha" | "g/kg" | "%" | "cmol(c)/kg";
654
+ confidence: number;
655
+ lastUpdated: string;
656
+ sourceId?: string | undefined;
657
+ }, {
658
+ value: number | null;
659
+ source: "manual" | "regional_api" | "global_api" | "predicted";
660
+ unit: "ppm" | "kg/ha" | "g/kg" | "%" | "cmol(c)/kg";
661
+ confidence: number;
662
+ lastUpdated: string;
663
+ sourceId?: string | undefined;
664
+ }>;
665
+ phosphorus: z.ZodObject<{
666
+ value: z.ZodNullable<z.ZodNumber>;
667
+ unit: z.ZodEnum<["ppm", "kg/ha", "g/kg", "%", "cmol(c)/kg"]>;
668
+ source: z.ZodEnum<["manual", "regional_api", "global_api", "predicted"]>;
669
+ confidence: z.ZodNumber;
670
+ lastUpdated: z.ZodString;
671
+ sourceId: z.ZodOptional<z.ZodString>;
672
+ }, "strip", z.ZodTypeAny, {
673
+ value: number | null;
674
+ source: "manual" | "regional_api" | "global_api" | "predicted";
675
+ unit: "ppm" | "kg/ha" | "g/kg" | "%" | "cmol(c)/kg";
676
+ confidence: number;
677
+ lastUpdated: string;
678
+ sourceId?: string | undefined;
679
+ }, {
680
+ value: number | null;
681
+ source: "manual" | "regional_api" | "global_api" | "predicted";
682
+ unit: "ppm" | "kg/ha" | "g/kg" | "%" | "cmol(c)/kg";
683
+ confidence: number;
684
+ lastUpdated: string;
685
+ sourceId?: string | undefined;
686
+ }>;
687
+ potassium: z.ZodObject<{
688
+ value: z.ZodNullable<z.ZodNumber>;
689
+ unit: z.ZodEnum<["ppm", "kg/ha", "g/kg", "%", "cmol(c)/kg"]>;
690
+ source: z.ZodEnum<["manual", "regional_api", "global_api", "predicted"]>;
691
+ confidence: z.ZodNumber;
692
+ lastUpdated: z.ZodString;
693
+ sourceId: z.ZodOptional<z.ZodString>;
694
+ }, "strip", z.ZodTypeAny, {
695
+ value: number | null;
696
+ source: "manual" | "regional_api" | "global_api" | "predicted";
697
+ unit: "ppm" | "kg/ha" | "g/kg" | "%" | "cmol(c)/kg";
698
+ confidence: number;
699
+ lastUpdated: string;
700
+ sourceId?: string | undefined;
701
+ }, {
702
+ value: number | null;
703
+ source: "manual" | "regional_api" | "global_api" | "predicted";
704
+ unit: "ppm" | "kg/ha" | "g/kg" | "%" | "cmol(c)/kg";
705
+ confidence: number;
706
+ lastUpdated: string;
707
+ sourceId?: string | undefined;
708
+ }>;
709
+ organicMatter: z.ZodObject<{
710
+ value: z.ZodNullable<z.ZodNumber>;
711
+ unit: z.ZodEnum<["ppm", "kg/ha", "g/kg", "%", "cmol(c)/kg"]>;
712
+ source: z.ZodEnum<["manual", "regional_api", "global_api", "predicted"]>;
713
+ confidence: z.ZodNumber;
714
+ lastUpdated: z.ZodString;
715
+ sourceId: z.ZodOptional<z.ZodString>;
716
+ }, "strip", z.ZodTypeAny, {
717
+ value: number | null;
718
+ source: "manual" | "regional_api" | "global_api" | "predicted";
719
+ unit: "ppm" | "kg/ha" | "g/kg" | "%" | "cmol(c)/kg";
720
+ confidence: number;
721
+ lastUpdated: string;
722
+ sourceId?: string | undefined;
723
+ }, {
724
+ value: number | null;
725
+ source: "manual" | "regional_api" | "global_api" | "predicted";
726
+ unit: "ppm" | "kg/ha" | "g/kg" | "%" | "cmol(c)/kg";
727
+ confidence: number;
728
+ lastUpdated: string;
729
+ sourceId?: string | undefined;
730
+ }>;
731
+ organicCarbon: z.ZodObject<{
732
+ value: z.ZodNullable<z.ZodNumber>;
733
+ unit: z.ZodEnum<["ppm", "kg/ha", "g/kg", "%", "cmol(c)/kg"]>;
734
+ source: z.ZodEnum<["manual", "regional_api", "global_api", "predicted"]>;
735
+ confidence: z.ZodNumber;
736
+ lastUpdated: z.ZodString;
737
+ sourceId: z.ZodOptional<z.ZodString>;
738
+ }, "strip", z.ZodTypeAny, {
739
+ value: number | null;
740
+ source: "manual" | "regional_api" | "global_api" | "predicted";
741
+ unit: "ppm" | "kg/ha" | "g/kg" | "%" | "cmol(c)/kg";
742
+ confidence: number;
743
+ lastUpdated: string;
744
+ sourceId?: string | undefined;
745
+ }, {
746
+ value: number | null;
747
+ source: "manual" | "regional_api" | "global_api" | "predicted";
748
+ unit: "ppm" | "kg/ha" | "g/kg" | "%" | "cmol(c)/kg";
749
+ confidence: number;
750
+ lastUpdated: string;
751
+ sourceId?: string | undefined;
752
+ }>;
753
+ cec: z.ZodObject<{
754
+ value: z.ZodNullable<z.ZodNumber>;
755
+ unit: z.ZodEnum<["ppm", "kg/ha", "g/kg", "%", "cmol(c)/kg"]>;
756
+ source: z.ZodEnum<["manual", "regional_api", "global_api", "predicted"]>;
757
+ confidence: z.ZodNumber;
758
+ lastUpdated: z.ZodString;
759
+ sourceId: z.ZodOptional<z.ZodString>;
760
+ }, "strip", z.ZodTypeAny, {
761
+ value: number | null;
762
+ source: "manual" | "regional_api" | "global_api" | "predicted";
763
+ unit: "ppm" | "kg/ha" | "g/kg" | "%" | "cmol(c)/kg";
764
+ confidence: number;
765
+ lastUpdated: string;
766
+ sourceId?: string | undefined;
767
+ }, {
768
+ value: number | null;
769
+ source: "manual" | "regional_api" | "global_api" | "predicted";
770
+ unit: "ppm" | "kg/ha" | "g/kg" | "%" | "cmol(c)/kg";
771
+ confidence: number;
772
+ lastUpdated: string;
773
+ sourceId?: string | undefined;
774
+ }>;
775
+ }, "strip", z.ZodTypeAny, {
776
+ pH: {
777
+ value: number | null;
778
+ source: "manual" | "regional_api" | "global_api" | "predicted";
779
+ unit: "ppm" | "kg/ha" | "g/kg" | "%" | "cmol(c)/kg";
780
+ confidence: number;
781
+ lastUpdated: string;
782
+ sourceId?: string | undefined;
783
+ };
784
+ nitrogen: {
785
+ value: number | null;
786
+ source: "manual" | "regional_api" | "global_api" | "predicted";
787
+ unit: "ppm" | "kg/ha" | "g/kg" | "%" | "cmol(c)/kg";
788
+ confidence: number;
789
+ lastUpdated: string;
790
+ sourceId?: string | undefined;
791
+ };
792
+ phosphorus: {
793
+ value: number | null;
794
+ source: "manual" | "regional_api" | "global_api" | "predicted";
795
+ unit: "ppm" | "kg/ha" | "g/kg" | "%" | "cmol(c)/kg";
796
+ confidence: number;
797
+ lastUpdated: string;
798
+ sourceId?: string | undefined;
799
+ };
800
+ potassium: {
801
+ value: number | null;
802
+ source: "manual" | "regional_api" | "global_api" | "predicted";
803
+ unit: "ppm" | "kg/ha" | "g/kg" | "%" | "cmol(c)/kg";
804
+ confidence: number;
805
+ lastUpdated: string;
806
+ sourceId?: string | undefined;
807
+ };
808
+ organicMatter: {
809
+ value: number | null;
810
+ source: "manual" | "regional_api" | "global_api" | "predicted";
811
+ unit: "ppm" | "kg/ha" | "g/kg" | "%" | "cmol(c)/kg";
812
+ confidence: number;
813
+ lastUpdated: string;
814
+ sourceId?: string | undefined;
815
+ };
816
+ organicCarbon: {
817
+ value: number | null;
818
+ source: "manual" | "regional_api" | "global_api" | "predicted";
819
+ unit: "ppm" | "kg/ha" | "g/kg" | "%" | "cmol(c)/kg";
820
+ confidence: number;
821
+ lastUpdated: string;
822
+ sourceId?: string | undefined;
823
+ };
824
+ cec: {
825
+ value: number | null;
826
+ source: "manual" | "regional_api" | "global_api" | "predicted";
827
+ unit: "ppm" | "kg/ha" | "g/kg" | "%" | "cmol(c)/kg";
828
+ confidence: number;
829
+ lastUpdated: string;
830
+ sourceId?: string | undefined;
831
+ };
832
+ }, {
833
+ pH: {
834
+ value: number | null;
835
+ source: "manual" | "regional_api" | "global_api" | "predicted";
836
+ unit: "ppm" | "kg/ha" | "g/kg" | "%" | "cmol(c)/kg";
837
+ confidence: number;
838
+ lastUpdated: string;
839
+ sourceId?: string | undefined;
840
+ };
841
+ nitrogen: {
842
+ value: number | null;
843
+ source: "manual" | "regional_api" | "global_api" | "predicted";
844
+ unit: "ppm" | "kg/ha" | "g/kg" | "%" | "cmol(c)/kg";
845
+ confidence: number;
846
+ lastUpdated: string;
847
+ sourceId?: string | undefined;
848
+ };
849
+ phosphorus: {
850
+ value: number | null;
851
+ source: "manual" | "regional_api" | "global_api" | "predicted";
852
+ unit: "ppm" | "kg/ha" | "g/kg" | "%" | "cmol(c)/kg";
853
+ confidence: number;
854
+ lastUpdated: string;
855
+ sourceId?: string | undefined;
856
+ };
857
+ potassium: {
858
+ value: number | null;
859
+ source: "manual" | "regional_api" | "global_api" | "predicted";
860
+ unit: "ppm" | "kg/ha" | "g/kg" | "%" | "cmol(c)/kg";
861
+ confidence: number;
862
+ lastUpdated: string;
863
+ sourceId?: string | undefined;
864
+ };
865
+ organicMatter: {
866
+ value: number | null;
867
+ source: "manual" | "regional_api" | "global_api" | "predicted";
868
+ unit: "ppm" | "kg/ha" | "g/kg" | "%" | "cmol(c)/kg";
869
+ confidence: number;
870
+ lastUpdated: string;
871
+ sourceId?: string | undefined;
872
+ };
873
+ organicCarbon: {
874
+ value: number | null;
875
+ source: "manual" | "regional_api" | "global_api" | "predicted";
876
+ unit: "ppm" | "kg/ha" | "g/kg" | "%" | "cmol(c)/kg";
877
+ confidence: number;
878
+ lastUpdated: string;
879
+ sourceId?: string | undefined;
880
+ };
881
+ cec: {
882
+ value: number | null;
883
+ source: "manual" | "regional_api" | "global_api" | "predicted";
884
+ unit: "ppm" | "kg/ha" | "g/kg" | "%" | "cmol(c)/kg";
885
+ confidence: number;
886
+ lastUpdated: string;
887
+ sourceId?: string | undefined;
888
+ };
889
+ }>;
890
+ properties: z.ZodObject<{
891
+ texture: z.ZodObject<{
892
+ sand: z.ZodNumber;
893
+ silt: z.ZodNumber;
894
+ clay: z.ZodNumber;
895
+ classification: z.ZodString;
896
+ }, "strip", z.ZodTypeAny, {
897
+ sand: number;
898
+ silt: number;
899
+ clay: number;
900
+ classification: string;
901
+ }, {
902
+ sand: number;
903
+ silt: number;
904
+ clay: number;
905
+ classification: string;
906
+ }>;
907
+ bulkDensity: z.ZodNumber;
908
+ }, "strip", z.ZodTypeAny, {
909
+ texture: {
910
+ sand: number;
911
+ silt: number;
912
+ clay: number;
913
+ classification: string;
914
+ };
915
+ bulkDensity: number;
916
+ }, {
917
+ texture: {
918
+ sand: number;
919
+ silt: number;
920
+ clay: number;
921
+ classification: string;
922
+ };
923
+ bulkDensity: number;
924
+ }>;
925
+ dataSources: z.ZodRecord<z.ZodString, z.ZodObject<{
926
+ source: z.ZodEnum<["manual", "regional_api", "global_api", "predicted"]>;
927
+ sourceId: z.ZodOptional<z.ZodString>;
928
+ priority: z.ZodNumber;
929
+ confidence: z.ZodNumber;
930
+ date: z.ZodString;
931
+ notes: z.ZodOptional<z.ZodString>;
932
+ }, "strip", z.ZodTypeAny, {
933
+ date: string;
934
+ source: "manual" | "regional_api" | "global_api" | "predicted";
935
+ priority: number;
936
+ confidence: number;
937
+ notes?: string | undefined;
938
+ sourceId?: string | undefined;
939
+ }, {
940
+ date: string;
941
+ source: "manual" | "regional_api" | "global_api" | "predicted";
942
+ priority: number;
943
+ confidence: number;
944
+ notes?: string | undefined;
945
+ sourceId?: string | undefined;
946
+ }>>;
947
+ quality: z.ZodObject<{
948
+ overall: z.ZodEnum<["excellent", "good", "fair", "poor", "critical"]>;
949
+ score: z.ZodNumber;
950
+ assessments: z.ZodObject<{
951
+ pH: z.ZodObject<{
952
+ quality: z.ZodEnum<["excellent", "good", "fair", "poor", "critical"]>;
953
+ recommendation: z.ZodString;
954
+ optimalRange: z.ZodOptional<z.ZodObject<{
955
+ min: z.ZodNumber;
956
+ max: z.ZodNumber;
957
+ }, "strip", z.ZodTypeAny, {
958
+ min: number;
959
+ max: number;
960
+ }, {
961
+ min: number;
962
+ max: number;
963
+ }>>;
964
+ currentStatus: z.ZodEnum<["optimal", "low", "high", "critical"]>;
965
+ }, "strip", z.ZodTypeAny, {
966
+ recommendation: string;
967
+ quality: "critical" | "poor" | "fair" | "good" | "excellent";
968
+ currentStatus: "critical" | "low" | "high" | "optimal";
969
+ optimalRange?: {
970
+ min: number;
971
+ max: number;
972
+ } | undefined;
973
+ }, {
974
+ recommendation: string;
975
+ quality: "critical" | "poor" | "fair" | "good" | "excellent";
976
+ currentStatus: "critical" | "low" | "high" | "optimal";
977
+ optimalRange?: {
978
+ min: number;
979
+ max: number;
980
+ } | undefined;
981
+ }>;
982
+ organicMatter: z.ZodObject<{
983
+ quality: z.ZodEnum<["excellent", "good", "fair", "poor", "critical"]>;
984
+ recommendation: z.ZodString;
985
+ optimalRange: z.ZodOptional<z.ZodObject<{
986
+ min: z.ZodNumber;
987
+ max: z.ZodNumber;
988
+ }, "strip", z.ZodTypeAny, {
989
+ min: number;
990
+ max: number;
991
+ }, {
992
+ min: number;
993
+ max: number;
994
+ }>>;
995
+ currentStatus: z.ZodEnum<["optimal", "low", "high", "critical"]>;
996
+ }, "strip", z.ZodTypeAny, {
997
+ recommendation: string;
998
+ quality: "critical" | "poor" | "fair" | "good" | "excellent";
999
+ currentStatus: "critical" | "low" | "high" | "optimal";
1000
+ optimalRange?: {
1001
+ min: number;
1002
+ max: number;
1003
+ } | undefined;
1004
+ }, {
1005
+ recommendation: string;
1006
+ quality: "critical" | "poor" | "fair" | "good" | "excellent";
1007
+ currentStatus: "critical" | "low" | "high" | "optimal";
1008
+ optimalRange?: {
1009
+ min: number;
1010
+ max: number;
1011
+ } | undefined;
1012
+ }>;
1013
+ completeness: z.ZodObject<{
1014
+ score: z.ZodNumber;
1015
+ missingFields: z.ZodArray<z.ZodString, "many">;
1016
+ completeness: z.ZodEnum<["complete", "mostly_complete", "partial", "incomplete"]>;
1017
+ }, "strip", z.ZodTypeAny, {
1018
+ score: number;
1019
+ missingFields: string[];
1020
+ completeness: "complete" | "mostly_complete" | "partial" | "incomplete";
1021
+ }, {
1022
+ score: number;
1023
+ missingFields: string[];
1024
+ completeness: "complete" | "mostly_complete" | "partial" | "incomplete";
1025
+ }>;
1026
+ }, "strip", z.ZodTypeAny, {
1027
+ pH: {
1028
+ recommendation: string;
1029
+ quality: "critical" | "poor" | "fair" | "good" | "excellent";
1030
+ currentStatus: "critical" | "low" | "high" | "optimal";
1031
+ optimalRange?: {
1032
+ min: number;
1033
+ max: number;
1034
+ } | undefined;
1035
+ };
1036
+ organicMatter: {
1037
+ recommendation: string;
1038
+ quality: "critical" | "poor" | "fair" | "good" | "excellent";
1039
+ currentStatus: "critical" | "low" | "high" | "optimal";
1040
+ optimalRange?: {
1041
+ min: number;
1042
+ max: number;
1043
+ } | undefined;
1044
+ };
1045
+ completeness: {
1046
+ score: number;
1047
+ missingFields: string[];
1048
+ completeness: "complete" | "mostly_complete" | "partial" | "incomplete";
1049
+ };
1050
+ }, {
1051
+ pH: {
1052
+ recommendation: string;
1053
+ quality: "critical" | "poor" | "fair" | "good" | "excellent";
1054
+ currentStatus: "critical" | "low" | "high" | "optimal";
1055
+ optimalRange?: {
1056
+ min: number;
1057
+ max: number;
1058
+ } | undefined;
1059
+ };
1060
+ organicMatter: {
1061
+ recommendation: string;
1062
+ quality: "critical" | "poor" | "fair" | "good" | "excellent";
1063
+ currentStatus: "critical" | "low" | "high" | "optimal";
1064
+ optimalRange?: {
1065
+ min: number;
1066
+ max: number;
1067
+ } | undefined;
1068
+ };
1069
+ completeness: {
1070
+ score: number;
1071
+ missingFields: string[];
1072
+ completeness: "complete" | "mostly_complete" | "partial" | "incomplete";
1073
+ };
1074
+ }>;
1075
+ }, "strip", z.ZodTypeAny, {
1076
+ overall: "critical" | "poor" | "fair" | "good" | "excellent";
1077
+ score: number;
1078
+ assessments: {
1079
+ pH: {
1080
+ recommendation: string;
1081
+ quality: "critical" | "poor" | "fair" | "good" | "excellent";
1082
+ currentStatus: "critical" | "low" | "high" | "optimal";
1083
+ optimalRange?: {
1084
+ min: number;
1085
+ max: number;
1086
+ } | undefined;
1087
+ };
1088
+ organicMatter: {
1089
+ recommendation: string;
1090
+ quality: "critical" | "poor" | "fair" | "good" | "excellent";
1091
+ currentStatus: "critical" | "low" | "high" | "optimal";
1092
+ optimalRange?: {
1093
+ min: number;
1094
+ max: number;
1095
+ } | undefined;
1096
+ };
1097
+ completeness: {
1098
+ score: number;
1099
+ missingFields: string[];
1100
+ completeness: "complete" | "mostly_complete" | "partial" | "incomplete";
1101
+ };
1102
+ };
1103
+ }, {
1104
+ overall: "critical" | "poor" | "fair" | "good" | "excellent";
1105
+ score: number;
1106
+ assessments: {
1107
+ pH: {
1108
+ recommendation: string;
1109
+ quality: "critical" | "poor" | "fair" | "good" | "excellent";
1110
+ currentStatus: "critical" | "low" | "high" | "optimal";
1111
+ optimalRange?: {
1112
+ min: number;
1113
+ max: number;
1114
+ } | undefined;
1115
+ };
1116
+ organicMatter: {
1117
+ recommendation: string;
1118
+ quality: "critical" | "poor" | "fair" | "good" | "excellent";
1119
+ currentStatus: "critical" | "low" | "high" | "optimal";
1120
+ optimalRange?: {
1121
+ min: number;
1122
+ max: number;
1123
+ } | undefined;
1124
+ };
1125
+ completeness: {
1126
+ score: number;
1127
+ missingFields: string[];
1128
+ completeness: "complete" | "mostly_complete" | "partial" | "incomplete";
1129
+ };
1130
+ };
1131
+ }>;
1132
+ temporal: z.ZodObject<{
1133
+ latestUpdate: z.ZodString;
1134
+ testHistory: z.ZodArray<z.ZodObject<{
1135
+ id: z.ZodString;
1136
+ date: z.ZodString;
1137
+ pH: z.ZodNumber;
1138
+ nitrogen: z.ZodNullable<z.ZodNumber>;
1139
+ phosphorus: z.ZodNullable<z.ZodNumber>;
1140
+ potassium: z.ZodNullable<z.ZodNumber>;
1141
+ }, "strip", z.ZodTypeAny, {
1142
+ date: string;
1143
+ id: string;
1144
+ pH: number;
1145
+ nitrogen: number | null;
1146
+ phosphorus: number | null;
1147
+ potassium: number | null;
1148
+ }, {
1149
+ date: string;
1150
+ id: string;
1151
+ pH: number;
1152
+ nitrogen: number | null;
1153
+ phosphorus: number | null;
1154
+ potassium: number | null;
1155
+ }>, "many">;
1156
+ trends: z.ZodOptional<z.ZodObject<{
1157
+ pH: z.ZodOptional<z.ZodObject<{
1158
+ direction: z.ZodEnum<["increasing", "decreasing", "stable"]>;
1159
+ rate: z.ZodNumber;
1160
+ }, "strip", z.ZodTypeAny, {
1161
+ direction: "stable" | "increasing" | "decreasing";
1162
+ rate: number;
1163
+ }, {
1164
+ direction: "stable" | "increasing" | "decreasing";
1165
+ rate: number;
1166
+ }>>;
1167
+ nitrogen: z.ZodOptional<z.ZodObject<{
1168
+ direction: z.ZodEnum<["increasing", "decreasing", "stable"]>;
1169
+ rate: z.ZodNumber;
1170
+ }, "strip", z.ZodTypeAny, {
1171
+ direction: "stable" | "increasing" | "decreasing";
1172
+ rate: number;
1173
+ }, {
1174
+ direction: "stable" | "increasing" | "decreasing";
1175
+ rate: number;
1176
+ }>>;
1177
+ phosphorus: z.ZodOptional<z.ZodObject<{
1178
+ direction: z.ZodEnum<["increasing", "decreasing", "stable"]>;
1179
+ rate: z.ZodNumber;
1180
+ }, "strip", z.ZodTypeAny, {
1181
+ direction: "stable" | "increasing" | "decreasing";
1182
+ rate: number;
1183
+ }, {
1184
+ direction: "stable" | "increasing" | "decreasing";
1185
+ rate: number;
1186
+ }>>;
1187
+ potassium: z.ZodOptional<z.ZodObject<{
1188
+ direction: z.ZodEnum<["increasing", "decreasing", "stable"]>;
1189
+ rate: z.ZodNumber;
1190
+ }, "strip", z.ZodTypeAny, {
1191
+ direction: "stable" | "increasing" | "decreasing";
1192
+ rate: number;
1193
+ }, {
1194
+ direction: "stable" | "increasing" | "decreasing";
1195
+ rate: number;
1196
+ }>>;
1197
+ organicMatter: z.ZodOptional<z.ZodObject<{
1198
+ direction: z.ZodEnum<["increasing", "decreasing", "stable"]>;
1199
+ rate: z.ZodNumber;
1200
+ }, "strip", z.ZodTypeAny, {
1201
+ direction: "stable" | "increasing" | "decreasing";
1202
+ rate: number;
1203
+ }, {
1204
+ direction: "stable" | "increasing" | "decreasing";
1205
+ rate: number;
1206
+ }>>;
1207
+ }, "strip", z.ZodTypeAny, {
1208
+ pH?: {
1209
+ direction: "stable" | "increasing" | "decreasing";
1210
+ rate: number;
1211
+ } | undefined;
1212
+ nitrogen?: {
1213
+ direction: "stable" | "increasing" | "decreasing";
1214
+ rate: number;
1215
+ } | undefined;
1216
+ phosphorus?: {
1217
+ direction: "stable" | "increasing" | "decreasing";
1218
+ rate: number;
1219
+ } | undefined;
1220
+ potassium?: {
1221
+ direction: "stable" | "increasing" | "decreasing";
1222
+ rate: number;
1223
+ } | undefined;
1224
+ organicMatter?: {
1225
+ direction: "stable" | "increasing" | "decreasing";
1226
+ rate: number;
1227
+ } | undefined;
1228
+ }, {
1229
+ pH?: {
1230
+ direction: "stable" | "increasing" | "decreasing";
1231
+ rate: number;
1232
+ } | undefined;
1233
+ nitrogen?: {
1234
+ direction: "stable" | "increasing" | "decreasing";
1235
+ rate: number;
1236
+ } | undefined;
1237
+ phosphorus?: {
1238
+ direction: "stable" | "increasing" | "decreasing";
1239
+ rate: number;
1240
+ } | undefined;
1241
+ potassium?: {
1242
+ direction: "stable" | "increasing" | "decreasing";
1243
+ rate: number;
1244
+ } | undefined;
1245
+ organicMatter?: {
1246
+ direction: "stable" | "increasing" | "decreasing";
1247
+ rate: number;
1248
+ } | undefined;
1249
+ }>>;
1250
+ }, "strip", z.ZodTypeAny, {
1251
+ latestUpdate: string;
1252
+ testHistory: {
1253
+ date: string;
1254
+ id: string;
1255
+ pH: number;
1256
+ nitrogen: number | null;
1257
+ phosphorus: number | null;
1258
+ potassium: number | null;
1259
+ }[];
1260
+ trends?: {
1261
+ pH?: {
1262
+ direction: "stable" | "increasing" | "decreasing";
1263
+ rate: number;
1264
+ } | undefined;
1265
+ nitrogen?: {
1266
+ direction: "stable" | "increasing" | "decreasing";
1267
+ rate: number;
1268
+ } | undefined;
1269
+ phosphorus?: {
1270
+ direction: "stable" | "increasing" | "decreasing";
1271
+ rate: number;
1272
+ } | undefined;
1273
+ potassium?: {
1274
+ direction: "stable" | "increasing" | "decreasing";
1275
+ rate: number;
1276
+ } | undefined;
1277
+ organicMatter?: {
1278
+ direction: "stable" | "increasing" | "decreasing";
1279
+ rate: number;
1280
+ } | undefined;
1281
+ } | undefined;
1282
+ }, {
1283
+ latestUpdate: string;
1284
+ testHistory: {
1285
+ date: string;
1286
+ id: string;
1287
+ pH: number;
1288
+ nitrogen: number | null;
1289
+ phosphorus: number | null;
1290
+ potassium: number | null;
1291
+ }[];
1292
+ trends?: {
1293
+ pH?: {
1294
+ direction: "stable" | "increasing" | "decreasing";
1295
+ rate: number;
1296
+ } | undefined;
1297
+ nitrogen?: {
1298
+ direction: "stable" | "increasing" | "decreasing";
1299
+ rate: number;
1300
+ } | undefined;
1301
+ phosphorus?: {
1302
+ direction: "stable" | "increasing" | "decreasing";
1303
+ rate: number;
1304
+ } | undefined;
1305
+ potassium?: {
1306
+ direction: "stable" | "increasing" | "decreasing";
1307
+ rate: number;
1308
+ } | undefined;
1309
+ organicMatter?: {
1310
+ direction: "stable" | "increasing" | "decreasing";
1311
+ rate: number;
1312
+ } | undefined;
1313
+ } | undefined;
1314
+ }>;
1315
+ recommendations: z.ZodObject<{
1316
+ immediate: z.ZodArray<z.ZodObject<{
1317
+ priority: z.ZodNumber;
1318
+ action: z.ZodString;
1319
+ details: z.ZodString;
1320
+ timing: z.ZodString;
1321
+ severity: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "critical"]>>;
1322
+ confidence: z.ZodOptional<z.ZodNumber>;
1323
+ }, "strip", z.ZodTypeAny, {
1324
+ priority: number;
1325
+ action: string;
1326
+ details: string;
1327
+ timing: string;
1328
+ severity?: "critical" | "low" | "medium" | "high" | undefined;
1329
+ confidence?: number | undefined;
1330
+ }, {
1331
+ priority: number;
1332
+ action: string;
1333
+ details: string;
1334
+ timing: string;
1335
+ severity?: "critical" | "low" | "medium" | "high" | undefined;
1336
+ confidence?: number | undefined;
1337
+ }>, "many">;
1338
+ seasonal: z.ZodArray<z.ZodObject<{
1339
+ priority: z.ZodNumber;
1340
+ action: z.ZodString;
1341
+ details: z.ZodString;
1342
+ timing: z.ZodString;
1343
+ confidence: z.ZodOptional<z.ZodNumber>;
1344
+ }, "strip", z.ZodTypeAny, {
1345
+ priority: number;
1346
+ action: string;
1347
+ details: string;
1348
+ timing: string;
1349
+ confidence?: number | undefined;
1350
+ }, {
1351
+ priority: number;
1352
+ action: string;
1353
+ details: string;
1354
+ timing: string;
1355
+ confidence?: number | undefined;
1356
+ }>, "many">;
1357
+ fertilizer: z.ZodArray<z.ZodObject<{
1358
+ inventoryItemId: z.ZodOptional<z.ZodString>;
1359
+ productName: z.ZodOptional<z.ZodString>;
1360
+ quantity: z.ZodNumber;
1361
+ unit: z.ZodString;
1362
+ reason: z.ZodString;
1363
+ estimatedCost: z.ZodOptional<z.ZodNumber>;
1364
+ applicationTiming: z.ZodOptional<z.ZodString>;
1365
+ confidence: z.ZodOptional<z.ZodNumber>;
1366
+ }, "strip", z.ZodTypeAny, {
1367
+ unit: string;
1368
+ quantity: number;
1369
+ reason: string;
1370
+ inventoryItemId?: string | undefined;
1371
+ estimatedCost?: number | undefined;
1372
+ confidence?: number | undefined;
1373
+ productName?: string | undefined;
1374
+ applicationTiming?: string | undefined;
1375
+ }, {
1376
+ unit: string;
1377
+ quantity: number;
1378
+ reason: string;
1379
+ inventoryItemId?: string | undefined;
1380
+ estimatedCost?: number | undefined;
1381
+ confidence?: number | undefined;
1382
+ productName?: string | undefined;
1383
+ applicationTiming?: string | undefined;
1384
+ }>, "many">;
1385
+ longTerm: z.ZodOptional<z.ZodArray<z.ZodObject<{
1386
+ priority: z.ZodNumber;
1387
+ action: z.ZodString;
1388
+ details: z.ZodString;
1389
+ timeframe: z.ZodString;
1390
+ expectedImpact: z.ZodString;
1391
+ confidence: z.ZodOptional<z.ZodNumber>;
1392
+ }, "strip", z.ZodTypeAny, {
1393
+ priority: number;
1394
+ action: string;
1395
+ details: string;
1396
+ timeframe: string;
1397
+ expectedImpact: string;
1398
+ confidence?: number | undefined;
1399
+ }, {
1400
+ priority: number;
1401
+ action: string;
1402
+ details: string;
1403
+ timeframe: string;
1404
+ expectedImpact: string;
1405
+ confidence?: number | undefined;
1406
+ }>, "many">>;
1407
+ summary: z.ZodOptional<z.ZodString>;
1408
+ }, "strip", z.ZodTypeAny, {
1409
+ fertilizer: {
1410
+ unit: string;
1411
+ quantity: number;
1412
+ reason: string;
1413
+ inventoryItemId?: string | undefined;
1414
+ estimatedCost?: number | undefined;
1415
+ confidence?: number | undefined;
1416
+ productName?: string | undefined;
1417
+ applicationTiming?: string | undefined;
1418
+ }[];
1419
+ immediate: {
1420
+ priority: number;
1421
+ action: string;
1422
+ details: string;
1423
+ timing: string;
1424
+ severity?: "critical" | "low" | "medium" | "high" | undefined;
1425
+ confidence?: number | undefined;
1426
+ }[];
1427
+ seasonal: {
1428
+ priority: number;
1429
+ action: string;
1430
+ details: string;
1431
+ timing: string;
1432
+ confidence?: number | undefined;
1433
+ }[];
1434
+ summary?: string | undefined;
1435
+ longTerm?: {
1436
+ priority: number;
1437
+ action: string;
1438
+ details: string;
1439
+ timeframe: string;
1440
+ expectedImpact: string;
1441
+ confidence?: number | undefined;
1442
+ }[] | undefined;
1443
+ }, {
1444
+ fertilizer: {
1445
+ unit: string;
1446
+ quantity: number;
1447
+ reason: string;
1448
+ inventoryItemId?: string | undefined;
1449
+ estimatedCost?: number | undefined;
1450
+ confidence?: number | undefined;
1451
+ productName?: string | undefined;
1452
+ applicationTiming?: string | undefined;
1453
+ }[];
1454
+ immediate: {
1455
+ priority: number;
1456
+ action: string;
1457
+ details: string;
1458
+ timing: string;
1459
+ severity?: "critical" | "low" | "medium" | "high" | undefined;
1460
+ confidence?: number | undefined;
1461
+ }[];
1462
+ seasonal: {
1463
+ priority: number;
1464
+ action: string;
1465
+ details: string;
1466
+ timing: string;
1467
+ confidence?: number | undefined;
1468
+ }[];
1469
+ summary?: string | undefined;
1470
+ longTerm?: {
1471
+ priority: number;
1472
+ action: string;
1473
+ details: string;
1474
+ timeframe: string;
1475
+ expectedImpact: string;
1476
+ confidence?: number | undefined;
1477
+ }[] | undefined;
1478
+ }>;
1479
+ metadata: z.ZodObject<{
1480
+ confidence: z.ZodNumber;
1481
+ completeness: z.ZodNumber;
1482
+ lastValidated: z.ZodString;
1483
+ nextRecommendedTest: z.ZodOptional<z.ZodString>;
1484
+ }, "strip", z.ZodTypeAny, {
1485
+ confidence: number;
1486
+ completeness: number;
1487
+ lastValidated: string;
1488
+ nextRecommendedTest?: string | undefined;
1489
+ }, {
1490
+ confidence: number;
1491
+ completeness: number;
1492
+ lastValidated: string;
1493
+ nextRecommendedTest?: string | undefined;
1494
+ }>;
1495
+ }, "strip", z.ZodTypeAny, {
1496
+ coordinates: {
1497
+ latitude: number;
1498
+ longitude: number;
1499
+ };
1500
+ metadata: {
1501
+ confidence: number;
1502
+ completeness: number;
1503
+ lastValidated: string;
1504
+ nextRecommendedTest?: string | undefined;
1505
+ };
1506
+ fieldId: string;
1507
+ fieldName: string;
1508
+ recommendations: {
1509
+ fertilizer: {
1510
+ unit: string;
1511
+ quantity: number;
1512
+ reason: string;
1513
+ inventoryItemId?: string | undefined;
1514
+ estimatedCost?: number | undefined;
1515
+ confidence?: number | undefined;
1516
+ productName?: string | undefined;
1517
+ applicationTiming?: string | undefined;
1518
+ }[];
1519
+ immediate: {
1520
+ priority: number;
1521
+ action: string;
1522
+ details: string;
1523
+ timing: string;
1524
+ severity?: "critical" | "low" | "medium" | "high" | undefined;
1525
+ confidence?: number | undefined;
1526
+ }[];
1527
+ seasonal: {
1528
+ priority: number;
1529
+ action: string;
1530
+ details: string;
1531
+ timing: string;
1532
+ confidence?: number | undefined;
1533
+ }[];
1534
+ summary?: string | undefined;
1535
+ longTerm?: {
1536
+ priority: number;
1537
+ action: string;
1538
+ details: string;
1539
+ timeframe: string;
1540
+ expectedImpact: string;
1541
+ confidence?: number | undefined;
1542
+ }[] | undefined;
1543
+ };
1544
+ quality: {
1545
+ overall: "critical" | "poor" | "fair" | "good" | "excellent";
1546
+ score: number;
1547
+ assessments: {
1548
+ pH: {
1549
+ recommendation: string;
1550
+ quality: "critical" | "poor" | "fair" | "good" | "excellent";
1551
+ currentStatus: "critical" | "low" | "high" | "optimal";
1552
+ optimalRange?: {
1553
+ min: number;
1554
+ max: number;
1555
+ } | undefined;
1556
+ };
1557
+ organicMatter: {
1558
+ recommendation: string;
1559
+ quality: "critical" | "poor" | "fair" | "good" | "excellent";
1560
+ currentStatus: "critical" | "low" | "high" | "optimal";
1561
+ optimalRange?: {
1562
+ min: number;
1563
+ max: number;
1564
+ } | undefined;
1565
+ };
1566
+ completeness: {
1567
+ score: number;
1568
+ missingFields: string[];
1569
+ completeness: "complete" | "mostly_complete" | "partial" | "incomplete";
1570
+ };
1571
+ };
1572
+ };
1573
+ nutrients: {
1574
+ pH: {
1575
+ value: number | null;
1576
+ source: "manual" | "regional_api" | "global_api" | "predicted";
1577
+ unit: "ppm" | "kg/ha" | "g/kg" | "%" | "cmol(c)/kg";
1578
+ confidence: number;
1579
+ lastUpdated: string;
1580
+ sourceId?: string | undefined;
1581
+ };
1582
+ nitrogen: {
1583
+ value: number | null;
1584
+ source: "manual" | "regional_api" | "global_api" | "predicted";
1585
+ unit: "ppm" | "kg/ha" | "g/kg" | "%" | "cmol(c)/kg";
1586
+ confidence: number;
1587
+ lastUpdated: string;
1588
+ sourceId?: string | undefined;
1589
+ };
1590
+ phosphorus: {
1591
+ value: number | null;
1592
+ source: "manual" | "regional_api" | "global_api" | "predicted";
1593
+ unit: "ppm" | "kg/ha" | "g/kg" | "%" | "cmol(c)/kg";
1594
+ confidence: number;
1595
+ lastUpdated: string;
1596
+ sourceId?: string | undefined;
1597
+ };
1598
+ potassium: {
1599
+ value: number | null;
1600
+ source: "manual" | "regional_api" | "global_api" | "predicted";
1601
+ unit: "ppm" | "kg/ha" | "g/kg" | "%" | "cmol(c)/kg";
1602
+ confidence: number;
1603
+ lastUpdated: string;
1604
+ sourceId?: string | undefined;
1605
+ };
1606
+ organicMatter: {
1607
+ value: number | null;
1608
+ source: "manual" | "regional_api" | "global_api" | "predicted";
1609
+ unit: "ppm" | "kg/ha" | "g/kg" | "%" | "cmol(c)/kg";
1610
+ confidence: number;
1611
+ lastUpdated: string;
1612
+ sourceId?: string | undefined;
1613
+ };
1614
+ organicCarbon: {
1615
+ value: number | null;
1616
+ source: "manual" | "regional_api" | "global_api" | "predicted";
1617
+ unit: "ppm" | "kg/ha" | "g/kg" | "%" | "cmol(c)/kg";
1618
+ confidence: number;
1619
+ lastUpdated: string;
1620
+ sourceId?: string | undefined;
1621
+ };
1622
+ cec: {
1623
+ value: number | null;
1624
+ source: "manual" | "regional_api" | "global_api" | "predicted";
1625
+ unit: "ppm" | "kg/ha" | "g/kg" | "%" | "cmol(c)/kg";
1626
+ confidence: number;
1627
+ lastUpdated: string;
1628
+ sourceId?: string | undefined;
1629
+ };
1630
+ };
1631
+ properties: {
1632
+ texture: {
1633
+ sand: number;
1634
+ silt: number;
1635
+ clay: number;
1636
+ classification: string;
1637
+ };
1638
+ bulkDensity: number;
1639
+ };
1640
+ dataSources: Record<string, {
1641
+ date: string;
1642
+ source: "manual" | "regional_api" | "global_api" | "predicted";
1643
+ priority: number;
1644
+ confidence: number;
1645
+ notes?: string | undefined;
1646
+ sourceId?: string | undefined;
1647
+ }>;
1648
+ temporal: {
1649
+ latestUpdate: string;
1650
+ testHistory: {
1651
+ date: string;
1652
+ id: string;
1653
+ pH: number;
1654
+ nitrogen: number | null;
1655
+ phosphorus: number | null;
1656
+ potassium: number | null;
1657
+ }[];
1658
+ trends?: {
1659
+ pH?: {
1660
+ direction: "stable" | "increasing" | "decreasing";
1661
+ rate: number;
1662
+ } | undefined;
1663
+ nitrogen?: {
1664
+ direction: "stable" | "increasing" | "decreasing";
1665
+ rate: number;
1666
+ } | undefined;
1667
+ phosphorus?: {
1668
+ direction: "stable" | "increasing" | "decreasing";
1669
+ rate: number;
1670
+ } | undefined;
1671
+ potassium?: {
1672
+ direction: "stable" | "increasing" | "decreasing";
1673
+ rate: number;
1674
+ } | undefined;
1675
+ organicMatter?: {
1676
+ direction: "stable" | "increasing" | "decreasing";
1677
+ rate: number;
1678
+ } | undefined;
1679
+ } | undefined;
1680
+ };
1681
+ }, {
1682
+ coordinates: {
1683
+ latitude: number;
1684
+ longitude: number;
1685
+ };
1686
+ metadata: {
1687
+ confidence: number;
1688
+ completeness: number;
1689
+ lastValidated: string;
1690
+ nextRecommendedTest?: string | undefined;
1691
+ };
1692
+ fieldId: string;
1693
+ fieldName: string;
1694
+ recommendations: {
1695
+ fertilizer: {
1696
+ unit: string;
1697
+ quantity: number;
1698
+ reason: string;
1699
+ inventoryItemId?: string | undefined;
1700
+ estimatedCost?: number | undefined;
1701
+ confidence?: number | undefined;
1702
+ productName?: string | undefined;
1703
+ applicationTiming?: string | undefined;
1704
+ }[];
1705
+ immediate: {
1706
+ priority: number;
1707
+ action: string;
1708
+ details: string;
1709
+ timing: string;
1710
+ severity?: "critical" | "low" | "medium" | "high" | undefined;
1711
+ confidence?: number | undefined;
1712
+ }[];
1713
+ seasonal: {
1714
+ priority: number;
1715
+ action: string;
1716
+ details: string;
1717
+ timing: string;
1718
+ confidence?: number | undefined;
1719
+ }[];
1720
+ summary?: string | undefined;
1721
+ longTerm?: {
1722
+ priority: number;
1723
+ action: string;
1724
+ details: string;
1725
+ timeframe: string;
1726
+ expectedImpact: string;
1727
+ confidence?: number | undefined;
1728
+ }[] | undefined;
1729
+ };
1730
+ quality: {
1731
+ overall: "critical" | "poor" | "fair" | "good" | "excellent";
1732
+ score: number;
1733
+ assessments: {
1734
+ pH: {
1735
+ recommendation: string;
1736
+ quality: "critical" | "poor" | "fair" | "good" | "excellent";
1737
+ currentStatus: "critical" | "low" | "high" | "optimal";
1738
+ optimalRange?: {
1739
+ min: number;
1740
+ max: number;
1741
+ } | undefined;
1742
+ };
1743
+ organicMatter: {
1744
+ recommendation: string;
1745
+ quality: "critical" | "poor" | "fair" | "good" | "excellent";
1746
+ currentStatus: "critical" | "low" | "high" | "optimal";
1747
+ optimalRange?: {
1748
+ min: number;
1749
+ max: number;
1750
+ } | undefined;
1751
+ };
1752
+ completeness: {
1753
+ score: number;
1754
+ missingFields: string[];
1755
+ completeness: "complete" | "mostly_complete" | "partial" | "incomplete";
1756
+ };
1757
+ };
1758
+ };
1759
+ nutrients: {
1760
+ pH: {
1761
+ value: number | null;
1762
+ source: "manual" | "regional_api" | "global_api" | "predicted";
1763
+ unit: "ppm" | "kg/ha" | "g/kg" | "%" | "cmol(c)/kg";
1764
+ confidence: number;
1765
+ lastUpdated: string;
1766
+ sourceId?: string | undefined;
1767
+ };
1768
+ nitrogen: {
1769
+ value: number | null;
1770
+ source: "manual" | "regional_api" | "global_api" | "predicted";
1771
+ unit: "ppm" | "kg/ha" | "g/kg" | "%" | "cmol(c)/kg";
1772
+ confidence: number;
1773
+ lastUpdated: string;
1774
+ sourceId?: string | undefined;
1775
+ };
1776
+ phosphorus: {
1777
+ value: number | null;
1778
+ source: "manual" | "regional_api" | "global_api" | "predicted";
1779
+ unit: "ppm" | "kg/ha" | "g/kg" | "%" | "cmol(c)/kg";
1780
+ confidence: number;
1781
+ lastUpdated: string;
1782
+ sourceId?: string | undefined;
1783
+ };
1784
+ potassium: {
1785
+ value: number | null;
1786
+ source: "manual" | "regional_api" | "global_api" | "predicted";
1787
+ unit: "ppm" | "kg/ha" | "g/kg" | "%" | "cmol(c)/kg";
1788
+ confidence: number;
1789
+ lastUpdated: string;
1790
+ sourceId?: string | undefined;
1791
+ };
1792
+ organicMatter: {
1793
+ value: number | null;
1794
+ source: "manual" | "regional_api" | "global_api" | "predicted";
1795
+ unit: "ppm" | "kg/ha" | "g/kg" | "%" | "cmol(c)/kg";
1796
+ confidence: number;
1797
+ lastUpdated: string;
1798
+ sourceId?: string | undefined;
1799
+ };
1800
+ organicCarbon: {
1801
+ value: number | null;
1802
+ source: "manual" | "regional_api" | "global_api" | "predicted";
1803
+ unit: "ppm" | "kg/ha" | "g/kg" | "%" | "cmol(c)/kg";
1804
+ confidence: number;
1805
+ lastUpdated: string;
1806
+ sourceId?: string | undefined;
1807
+ };
1808
+ cec: {
1809
+ value: number | null;
1810
+ source: "manual" | "regional_api" | "global_api" | "predicted";
1811
+ unit: "ppm" | "kg/ha" | "g/kg" | "%" | "cmol(c)/kg";
1812
+ confidence: number;
1813
+ lastUpdated: string;
1814
+ sourceId?: string | undefined;
1815
+ };
1816
+ };
1817
+ properties: {
1818
+ texture: {
1819
+ sand: number;
1820
+ silt: number;
1821
+ clay: number;
1822
+ classification: string;
1823
+ };
1824
+ bulkDensity: number;
1825
+ };
1826
+ dataSources: Record<string, {
1827
+ date: string;
1828
+ source: "manual" | "regional_api" | "global_api" | "predicted";
1829
+ priority: number;
1830
+ confidence: number;
1831
+ notes?: string | undefined;
1832
+ sourceId?: string | undefined;
1833
+ }>;
1834
+ temporal: {
1835
+ latestUpdate: string;
1836
+ testHistory: {
1837
+ date: string;
1838
+ id: string;
1839
+ pH: number;
1840
+ nitrogen: number | null;
1841
+ phosphorus: number | null;
1842
+ potassium: number | null;
1843
+ }[];
1844
+ trends?: {
1845
+ pH?: {
1846
+ direction: "stable" | "increasing" | "decreasing";
1847
+ rate: number;
1848
+ } | undefined;
1849
+ nitrogen?: {
1850
+ direction: "stable" | "increasing" | "decreasing";
1851
+ rate: number;
1852
+ } | undefined;
1853
+ phosphorus?: {
1854
+ direction: "stable" | "increasing" | "decreasing";
1855
+ rate: number;
1856
+ } | undefined;
1857
+ potassium?: {
1858
+ direction: "stable" | "increasing" | "decreasing";
1859
+ rate: number;
1860
+ } | undefined;
1861
+ organicMatter?: {
1862
+ direction: "stable" | "increasing" | "decreasing";
1863
+ rate: number;
1864
+ } | undefined;
1865
+ } | undefined;
1866
+ };
1867
+ }>;
1868
+ export type IntelligentSoilProfile = z.infer<typeof intelligentSoilProfileSchema>;
428
1869
  //# sourceMappingURL=field-monitoring.schemas.d.ts.map