@deepintel-ltd/farmpro-contracts 1.3.1 → 1.3.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.
Files changed (55) hide show
  1. package/dist/index.d.ts +7 -1
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +10 -1
  4. package/dist/routes/admin.routes.d.ts +747 -0
  5. package/dist/routes/admin.routes.d.ts.map +1 -0
  6. package/dist/routes/admin.routes.js +26 -0
  7. package/dist/routes/agent-workflows.routes.d.ts +2900 -0
  8. package/dist/routes/agent-workflows.routes.d.ts.map +1 -0
  9. package/dist/routes/agent-workflows.routes.js +160 -0
  10. package/dist/routes/documents.routes.d.ts +417 -0
  11. package/dist/routes/documents.routes.d.ts.map +1 -1
  12. package/dist/routes/documents.routes.js +16 -0
  13. package/dist/routes/field-monitoring.routes.d.ts +568 -23
  14. package/dist/routes/field-monitoring.routes.d.ts.map +1 -1
  15. package/dist/routes/field-monitoring.routes.js +64 -0
  16. package/dist/routes/field-observations.routes.d.ts +130 -58
  17. package/dist/routes/field-observations.routes.d.ts.map +1 -1
  18. package/dist/routes/health.routes.d.ts +317 -0
  19. package/dist/routes/health.routes.d.ts.map +1 -0
  20. package/dist/routes/health.routes.js +18 -0
  21. package/dist/routes/index.d.ts +9 -0
  22. package/dist/routes/index.d.ts.map +1 -1
  23. package/dist/routes/index.js +6 -0
  24. package/dist/routes/tasks.routes.d.ts +408 -0
  25. package/dist/routes/tasks.routes.d.ts.map +1 -1
  26. package/dist/routes/weather.routes.d.ts +264 -17
  27. package/dist/routes/weather.routes.d.ts.map +1 -1
  28. package/dist/schemas/admin.schemas.d.ts +1063 -0
  29. package/dist/schemas/admin.schemas.d.ts.map +1 -0
  30. package/dist/schemas/admin.schemas.js +63 -0
  31. package/dist/schemas/agent-workflows.schemas.d.ts +2399 -0
  32. package/dist/schemas/agent-workflows.schemas.d.ts.map +1 -0
  33. package/dist/schemas/agent-workflows.schemas.js +70 -0
  34. package/dist/schemas/documents.schemas.d.ts +202 -0
  35. package/dist/schemas/documents.schemas.d.ts.map +1 -1
  36. package/dist/schemas/documents.schemas.js +10 -1
  37. package/dist/schemas/field-monitoring.schemas.d.ts +215 -9
  38. package/dist/schemas/field-monitoring.schemas.d.ts.map +1 -1
  39. package/dist/schemas/field-monitoring.schemas.js +26 -2
  40. package/dist/schemas/field-observations.schemas.d.ts +100 -40
  41. package/dist/schemas/field-observations.schemas.d.ts.map +1 -1
  42. package/dist/schemas/field-observations.schemas.js +2 -24
  43. package/dist/schemas/health.schemas.d.ts +176 -0
  44. package/dist/schemas/health.schemas.d.ts.map +1 -0
  45. package/dist/schemas/health.schemas.js +26 -0
  46. package/dist/schemas/recommendations.schemas.d.ts +112 -0
  47. package/dist/schemas/recommendations.schemas.d.ts.map +1 -0
  48. package/dist/schemas/recommendations.schemas.js +32 -0
  49. package/dist/schemas/tasks.schemas.d.ts +344 -0
  50. package/dist/schemas/tasks.schemas.d.ts.map +1 -1
  51. package/dist/schemas/tasks.schemas.js +9 -0
  52. package/dist/schemas/weather.schemas.d.ts +780 -44
  53. package/dist/schemas/weather.schemas.d.ts.map +1 -1
  54. package/dist/schemas/weather.schemas.js +2 -1
  55. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-workflows.schemas.d.ts","sourceRoot":"","sources":["../../src/schemas/agent-workflows.schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AASxB;;;;;;GAMG;AAGH,eAAO,MAAM,yBAAyB,mDAIpC,CAAC;AAGH,eAAO,MAAM,qBAAqB,0EAKhC,CAAC;AAGH,eAAO,MAAM,2BAA2B,uDAKtC,CAAC;AAGH,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAK1C,CAAC;AAGH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAU7B,CAAC;AAGH,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAWhB,CAAC;AAI3B,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAGvC,CAAC;AAGF,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAEvC,CAAC;AAEF,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAE3C,CAAC;AAGF,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAC5E,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AACpE,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAChF,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,+BAA+B,CAAC,CAAC;AACxF,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAC9D,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAC;AACpF,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAChF,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAChF,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,+BAA+B,CAAC,CAAC"}
@@ -0,0 +1,70 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.agentWorkflowListResponseSchema = exports.agentWorkflowResponseSchema = exports.agentWorkflowResourceSchema = exports.agentWorkflowAttributesSchema = exports.agentResultsSchema = exports.agentRecommendationResultSchema = exports.recommendationOutcomeSchema = exports.workflowOutcomeSchema = exports.agentWorkflowStatusSchema = void 0;
4
+ const zod_1 = require("zod");
5
+ const recommendations_schemas_1 = require("./recommendations.schemas");
6
+ const common_schemas_1 = require("./common.schemas");
7
+ /**
8
+ * Agent Workflow Schemas
9
+ *
10
+ * Defines the data contracts for logging and tracking the autonomous,
11
+ * event-driven workflows performed by the system's agents, such as the
12
+ * process of turning a recommendation into a task.
13
+ */
14
+ // The overall status of an agent workflow
15
+ exports.agentWorkflowStatusSchema = zod_1.z.enum([
16
+ 'in_progress',
17
+ 'completed',
18
+ 'failed',
19
+ ]);
20
+ // The final outcome of a recommendation-to-task workflow
21
+ exports.workflowOutcomeSchema = zod_1.z.enum([
22
+ 'task_created',
23
+ 'task_updated',
24
+ 'no_action_needed',
25
+ 'error',
26
+ ]);
27
+ // The outcome for a single recommendation within a workflow
28
+ exports.recommendationOutcomeSchema = zod_1.z.enum([
29
+ 'created',
30
+ 'updated',
31
+ 'skipped',
32
+ 'error',
33
+ ]);
34
+ // Result for a single recommendation processed by the agent
35
+ exports.agentRecommendationResultSchema = zod_1.z.object({
36
+ recommendation: recommendations_schemas_1.recommendationSchema,
37
+ outcome: exports.recommendationOutcomeSchema,
38
+ taskId: zod_1.z.string().uuid().optional(),
39
+ reason: zod_1.z.string(),
40
+ });
41
+ // The `agentResults` object that will be stored as JSON in the database
42
+ exports.agentResultsSchema = zod_1.z.object({
43
+ summary: zod_1.z.object({
44
+ sourceType: zod_1.z.string(),
45
+ tasksCreated: zod_1.z.number().int(),
46
+ tasksUpdated: zod_1.z.number().int(),
47
+ skipped: zod_1.z.number().int(),
48
+ }),
49
+ results: zod_1.z.array(exports.agentRecommendationResultSchema),
50
+ // Optionally include other agent reviews for full traceability
51
+ taskReview: zod_1.z.any().optional(),
52
+ });
53
+ // The main attributes for an AgentWorkflow record
54
+ exports.agentWorkflowAttributesSchema = zod_1.z.object({
55
+ workflowType: zod_1.z.literal('recommendation_to_task'),
56
+ triggerEvent: zod_1.z.string(), // e.g., 'observation.analysis.completed'
57
+ triggerId: zod_1.z.string(), // ID of the observation, alert, etc.
58
+ fieldId: zod_1.z.string().uuid(),
59
+ farmId: zod_1.z.string().uuid(),
60
+ status: exports.agentWorkflowStatusSchema,
61
+ outcome: exports.workflowOutcomeSchema.nullable(),
62
+ agentResults: exports.agentResultsSchema.nullable(),
63
+ errorMessage: zod_1.z.string().nullable(),
64
+ completedAt: zod_1.z.date().nullable(),
65
+ }).merge(common_schemas_1.timestampsSchema);
66
+ // JSON:API resource schemas
67
+ exports.agentWorkflowResourceSchema = (0, common_schemas_1.createJsonApiResourceSchema)('agent-workflows', exports.agentWorkflowAttributesSchema);
68
+ // Response schemas
69
+ exports.agentWorkflowResponseSchema = (0, common_schemas_1.jsonApiSingleResponseSchema)(exports.agentWorkflowResourceSchema);
70
+ exports.agentWorkflowListResponseSchema = (0, common_schemas_1.jsonApiCollectionResponseSchema)(exports.agentWorkflowResourceSchema);
@@ -836,6 +836,205 @@ export declare const documentListResponseSchema: z.ZodObject<{
836
836
  meta?: Record<string, unknown> | undefined;
837
837
  }[] | undefined;
838
838
  }>;
839
+ export declare const uploadedFileAttributesSchema: z.ZodObject<{
840
+ fileUrl: z.ZodString;
841
+ fileSize: z.ZodNumber;
842
+ fileName: z.ZodString;
843
+ contentType: z.ZodOptional<z.ZodString>;
844
+ uploadedAt: z.ZodString;
845
+ }, "strip", z.ZodTypeAny, {
846
+ fileUrl: string;
847
+ fileSize: number;
848
+ fileName: string;
849
+ uploadedAt: string;
850
+ contentType?: string | undefined;
851
+ }, {
852
+ fileUrl: string;
853
+ fileSize: number;
854
+ fileName: string;
855
+ uploadedAt: string;
856
+ contentType?: string | undefined;
857
+ }>;
858
+ export declare const uploadedFileResourceSchema: z.ZodObject<{
859
+ type: z.ZodLiteral<string>;
860
+ id: z.ZodString;
861
+ attributes: z.ZodObject<{
862
+ fileUrl: z.ZodString;
863
+ fileSize: z.ZodNumber;
864
+ fileName: z.ZodString;
865
+ contentType: z.ZodOptional<z.ZodString>;
866
+ uploadedAt: z.ZodString;
867
+ }, "strip", z.ZodTypeAny, {
868
+ fileUrl: string;
869
+ fileSize: number;
870
+ fileName: string;
871
+ uploadedAt: string;
872
+ contentType?: string | undefined;
873
+ }, {
874
+ fileUrl: string;
875
+ fileSize: number;
876
+ fileName: string;
877
+ uploadedAt: string;
878
+ contentType?: string | undefined;
879
+ }>;
880
+ relationships: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
881
+ links: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
882
+ meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
883
+ }, "strip", z.ZodTypeAny, {
884
+ type: string;
885
+ id: string;
886
+ attributes: {
887
+ fileUrl: string;
888
+ fileSize: number;
889
+ fileName: string;
890
+ uploadedAt: string;
891
+ contentType?: string | undefined;
892
+ };
893
+ relationships?: Record<string, unknown> | undefined;
894
+ links?: Record<string, string> | undefined;
895
+ meta?: Record<string, unknown> | undefined;
896
+ }, {
897
+ type: string;
898
+ id: string;
899
+ attributes: {
900
+ fileUrl: string;
901
+ fileSize: number;
902
+ fileName: string;
903
+ uploadedAt: string;
904
+ contentType?: string | undefined;
905
+ };
906
+ relationships?: Record<string, unknown> | undefined;
907
+ links?: Record<string, string> | undefined;
908
+ meta?: Record<string, unknown> | undefined;
909
+ }>;
910
+ export declare const uploadedFileResponseSchema: z.ZodObject<{
911
+ data: z.ZodObject<{
912
+ type: z.ZodLiteral<string>;
913
+ id: z.ZodString;
914
+ attributes: z.ZodObject<{
915
+ fileUrl: z.ZodString;
916
+ fileSize: z.ZodNumber;
917
+ fileName: z.ZodString;
918
+ contentType: z.ZodOptional<z.ZodString>;
919
+ uploadedAt: z.ZodString;
920
+ }, "strip", z.ZodTypeAny, {
921
+ fileUrl: string;
922
+ fileSize: number;
923
+ fileName: string;
924
+ uploadedAt: string;
925
+ contentType?: string | undefined;
926
+ }, {
927
+ fileUrl: string;
928
+ fileSize: number;
929
+ fileName: string;
930
+ uploadedAt: string;
931
+ contentType?: string | undefined;
932
+ }>;
933
+ relationships: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
934
+ links: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
935
+ meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
936
+ }, "strip", z.ZodTypeAny, {
937
+ type: string;
938
+ id: string;
939
+ attributes: {
940
+ fileUrl: string;
941
+ fileSize: number;
942
+ fileName: string;
943
+ uploadedAt: string;
944
+ contentType?: string | undefined;
945
+ };
946
+ relationships?: Record<string, unknown> | undefined;
947
+ links?: Record<string, string> | undefined;
948
+ meta?: Record<string, unknown> | undefined;
949
+ }, {
950
+ type: string;
951
+ id: string;
952
+ attributes: {
953
+ fileUrl: string;
954
+ fileSize: number;
955
+ fileName: string;
956
+ uploadedAt: string;
957
+ contentType?: string | undefined;
958
+ };
959
+ relationships?: Record<string, unknown> | undefined;
960
+ links?: Record<string, string> | undefined;
961
+ meta?: Record<string, unknown> | undefined;
962
+ }>;
963
+ included: z.ZodOptional<z.ZodArray<z.ZodObject<{
964
+ type: z.ZodString;
965
+ id: z.ZodString;
966
+ attributes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
967
+ relationships: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
968
+ links: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
969
+ meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
970
+ }, "strip", z.ZodTypeAny, {
971
+ type: string;
972
+ id: string;
973
+ attributes?: Record<string, unknown> | undefined;
974
+ relationships?: Record<string, unknown> | undefined;
975
+ links?: Record<string, string> | undefined;
976
+ meta?: Record<string, unknown> | undefined;
977
+ }, {
978
+ type: string;
979
+ id: string;
980
+ attributes?: Record<string, unknown> | undefined;
981
+ relationships?: Record<string, unknown> | undefined;
982
+ links?: Record<string, string> | undefined;
983
+ meta?: Record<string, unknown> | undefined;
984
+ }>, "many">>;
985
+ meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
986
+ links: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
987
+ }, "strip", z.ZodTypeAny, {
988
+ data: {
989
+ type: string;
990
+ id: string;
991
+ attributes: {
992
+ fileUrl: string;
993
+ fileSize: number;
994
+ fileName: string;
995
+ uploadedAt: string;
996
+ contentType?: string | undefined;
997
+ };
998
+ relationships?: Record<string, unknown> | undefined;
999
+ links?: Record<string, string> | undefined;
1000
+ meta?: Record<string, unknown> | undefined;
1001
+ };
1002
+ links?: Record<string, string> | undefined;
1003
+ meta?: Record<string, unknown> | undefined;
1004
+ included?: {
1005
+ type: string;
1006
+ id: string;
1007
+ attributes?: Record<string, unknown> | undefined;
1008
+ relationships?: Record<string, unknown> | undefined;
1009
+ links?: Record<string, string> | undefined;
1010
+ meta?: Record<string, unknown> | undefined;
1011
+ }[] | undefined;
1012
+ }, {
1013
+ data: {
1014
+ type: string;
1015
+ id: string;
1016
+ attributes: {
1017
+ fileUrl: string;
1018
+ fileSize: number;
1019
+ fileName: string;
1020
+ uploadedAt: string;
1021
+ contentType?: string | undefined;
1022
+ };
1023
+ relationships?: Record<string, unknown> | undefined;
1024
+ links?: Record<string, string> | undefined;
1025
+ meta?: Record<string, unknown> | undefined;
1026
+ };
1027
+ links?: Record<string, string> | undefined;
1028
+ meta?: Record<string, unknown> | undefined;
1029
+ included?: {
1030
+ type: string;
1031
+ id: string;
1032
+ attributes?: Record<string, unknown> | undefined;
1033
+ relationships?: Record<string, unknown> | undefined;
1034
+ links?: Record<string, string> | undefined;
1035
+ meta?: Record<string, unknown> | undefined;
1036
+ }[] | undefined;
1037
+ }>;
839
1038
  export type DocumentType = z.infer<typeof documentTypeSchema>;
840
1039
  export type RelatedEntityType = z.infer<typeof relatedEntityTypeSchema>;
841
1040
  export type RelatedEntity = z.infer<typeof relatedEntitySchema>;
@@ -847,4 +1046,7 @@ export type UpdateDocumentInput = z.infer<typeof updateDocumentSchema>;
847
1046
  export type DocumentResource = z.infer<typeof documentResourceSchema>;
848
1047
  export type DocumentResponse = z.infer<typeof documentResponseSchema>;
849
1048
  export type DocumentListResponse = z.infer<typeof documentListResponseSchema>;
1049
+ export type UploadedFileAttributes = z.infer<typeof uploadedFileAttributesSchema>;
1050
+ export type UploadedFileResource = z.infer<typeof uploadedFileResourceSchema>;
1051
+ export type UploadedFileResponse = z.infer<typeof uploadedFileResponseSchema>;
850
1052
  //# sourceMappingURL=documents.schemas.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"documents.schemas.d.ts","sourceRoot":"","sources":["../../src/schemas/documents.schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAQxB;;GAEG;AAGH,eAAO,MAAM,kBAAkB,qGAQ7B,CAAC;AAGH,eAAO,MAAM,uBAAuB,2EAAyE,CAAC;AAG9G,eAAO,MAAM,mBAAmB;;;;;;;;;EAG9B,CAAC;AAGH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAYX,CAAC;AAG3B,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EASzC,CAAC;AAGH,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAOzC,CAAC;AAGH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAG/B,CAAC;AAGH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAI/B,CAAC;AAGH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAqE,CAAC;AAGzG,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAsD,CAAC;AAC1F,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAA0D,CAAC;AAGlG,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAC9D,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AACxE,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAChE,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAC1E,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,8BAA8B,CAAC,CAAC;AACtF,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,8BAA8B,CAAC,CAAC;AACtF,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AACvE,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AACvE,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AACtE,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AACtE,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC"}
1
+ {"version":3,"file":"documents.schemas.d.ts","sourceRoot":"","sources":["../../src/schemas/documents.schemas.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.documentListResponseSchema = exports.documentResponseSchema = exports.documentResourceSchema = exports.updateDocumentSchema = exports.createDocumentSchema = exports.updateDocumentAttributesSchema = exports.createDocumentAttributesSchema = exports.documentAttributesSchema = exports.relatedEntitySchema = exports.relatedEntityTypeSchema = exports.documentTypeSchema = void 0;
3
+ exports.uploadedFileResponseSchema = exports.uploadedFileResourceSchema = exports.uploadedFileAttributesSchema = exports.documentListResponseSchema = exports.documentResponseSchema = exports.documentResourceSchema = exports.updateDocumentSchema = exports.createDocumentSchema = exports.updateDocumentAttributesSchema = exports.createDocumentAttributesSchema = exports.documentAttributesSchema = exports.relatedEntitySchema = exports.relatedEntityTypeSchema = exports.documentTypeSchema = void 0;
4
4
  const zod_1 = require("zod");
5
5
  const common_schemas_1 = require("./common.schemas");
6
6
  /**
@@ -73,3 +73,12 @@ exports.documentResourceSchema = (0, common_schemas_1.createJsonApiResourceSchem
73
73
  // Document responses (JSON:API format)
74
74
  exports.documentResponseSchema = (0, common_schemas_1.jsonApiSingleResponseSchema)(exports.documentResourceSchema);
75
75
  exports.documentListResponseSchema = (0, common_schemas_1.jsonApiCollectionResponseSchema)(exports.documentResourceSchema);
76
+ exports.uploadedFileAttributesSchema = zod_1.z.object({
77
+ fileUrl: zod_1.z.string().url(),
78
+ fileSize: zod_1.z.number().int().positive(),
79
+ fileName: zod_1.z.string(),
80
+ contentType: zod_1.z.string().optional(),
81
+ uploadedAt: zod_1.z.string().datetime(),
82
+ });
83
+ exports.uploadedFileResourceSchema = (0, common_schemas_1.createJsonApiResourceSchema)('uploaded-files', exports.uploadedFileAttributesSchema);
84
+ exports.uploadedFileResponseSchema = (0, common_schemas_1.jsonApiSingleResponseSchema)(exports.uploadedFileResourceSchema);
@@ -24,7 +24,7 @@ export declare const fieldMonitoringSummarySchema: z.ZodObject<{
24
24
  currentNDWI: number | null;
25
25
  currentEVI: number | null;
26
26
  currentCropHealth: "poor" | "fair" | "good" | "excellent" | null;
27
- currentWaterStress: "high" | "medium" | "low" | "none" | null;
27
+ currentWaterStress: "low" | "medium" | "high" | "none" | null;
28
28
  overallStatus: "ok" | "critical" | "warning";
29
29
  activeAlertCount: number;
30
30
  lastAlertDate: string | null;
@@ -40,7 +40,7 @@ export declare const fieldMonitoringSummarySchema: z.ZodObject<{
40
40
  currentNDWI: number | null;
41
41
  currentEVI: number | null;
42
42
  currentCropHealth: "poor" | "fair" | "good" | "excellent" | null;
43
- currentWaterStress: "high" | "medium" | "low" | "none" | null;
43
+ currentWaterStress: "low" | "medium" | "high" | "none" | null;
44
44
  overallStatus: "ok" | "critical" | "warning";
45
45
  activeAlertCount: number;
46
46
  lastAlertDate: string | null;
@@ -88,7 +88,86 @@ export declare const fieldAlertSchema: z.ZodObject<{
88
88
  severity: z.ZodEnum<["low", "medium", "high", "critical"]>;
89
89
  title: z.ZodString;
90
90
  message: z.ZodString;
91
- recommendation: z.ZodNullable<z.ZodString>;
91
+ recommendations: z.ZodNullable<z.ZodArray<z.ZodObject<{
92
+ priority: z.ZodNumber;
93
+ action: z.ZodString;
94
+ details: z.ZodString;
95
+ timing: z.ZodString;
96
+ severity: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "critical"]>>;
97
+ confidence: z.ZodOptional<z.ZodNumber>;
98
+ materials: z.ZodOptional<z.ZodArray<z.ZodObject<{
99
+ inventoryItemId: z.ZodOptional<z.ZodString>;
100
+ name: z.ZodString;
101
+ quantity: z.ZodNumber;
102
+ unit: z.ZodString;
103
+ costPerUnit: z.ZodOptional<z.ZodNumber>;
104
+ totalCost: z.ZodOptional<z.ZodNumber>;
105
+ availability: z.ZodOptional<z.ZodString>;
106
+ }, "strip", z.ZodTypeAny, {
107
+ name: string;
108
+ unit: string;
109
+ quantity: number;
110
+ inventoryItemId?: string | undefined;
111
+ totalCost?: number | undefined;
112
+ costPerUnit?: number | undefined;
113
+ availability?: string | undefined;
114
+ }, {
115
+ name: string;
116
+ unit: string;
117
+ quantity: number;
118
+ inventoryItemId?: string | undefined;
119
+ totalCost?: number | undefined;
120
+ costPerUnit?: number | undefined;
121
+ availability?: string | undefined;
122
+ }>, "many">>;
123
+ applicationMethod: z.ZodOptional<z.ZodString>;
124
+ expectedOutcome: z.ZodOptional<z.ZodString>;
125
+ preventiveMeasures: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
126
+ estimatedTime: z.ZodOptional<z.ZodString>;
127
+ riskLevel: z.ZodOptional<z.ZodString>;
128
+ }, "strip", z.ZodTypeAny, {
129
+ priority: number;
130
+ action: string;
131
+ details: string;
132
+ timing: string;
133
+ severity?: "critical" | "low" | "medium" | "high" | undefined;
134
+ confidence?: number | undefined;
135
+ materials?: {
136
+ name: string;
137
+ unit: string;
138
+ quantity: number;
139
+ inventoryItemId?: string | undefined;
140
+ totalCost?: number | undefined;
141
+ costPerUnit?: number | undefined;
142
+ availability?: string | undefined;
143
+ }[] | undefined;
144
+ applicationMethod?: string | undefined;
145
+ expectedOutcome?: string | undefined;
146
+ preventiveMeasures?: string[] | undefined;
147
+ estimatedTime?: string | undefined;
148
+ riskLevel?: string | undefined;
149
+ }, {
150
+ priority: number;
151
+ action: string;
152
+ details: string;
153
+ timing: string;
154
+ severity?: "critical" | "low" | "medium" | "high" | undefined;
155
+ confidence?: number | undefined;
156
+ materials?: {
157
+ name: string;
158
+ unit: string;
159
+ quantity: number;
160
+ inventoryItemId?: string | undefined;
161
+ totalCost?: number | undefined;
162
+ costPerUnit?: number | undefined;
163
+ availability?: string | undefined;
164
+ }[] | undefined;
165
+ applicationMethod?: string | undefined;
166
+ expectedOutcome?: string | undefined;
167
+ preventiveMeasures?: string[] | undefined;
168
+ estimatedTime?: string | undefined;
169
+ riskLevel?: string | undefined;
170
+ }>, "many">>;
92
171
  status: z.ZodEnum<["active", "acknowledged", "resolved"]>;
93
172
  acknowledgedAt: z.ZodNullable<z.ZodString>;
94
173
  acknowledgedBy: z.ZodNullable<z.ZodString>;
@@ -104,12 +183,33 @@ export declare const fieldAlertSchema: z.ZodObject<{
104
183
  title: string;
105
184
  createdAt: string;
106
185
  fieldId: string;
107
- severity: "critical" | "high" | "medium" | "low";
108
- recommendation: string | null;
186
+ recommendations: {
187
+ priority: number;
188
+ action: string;
189
+ details: string;
190
+ timing: string;
191
+ severity?: "critical" | "low" | "medium" | "high" | undefined;
192
+ confidence?: number | undefined;
193
+ materials?: {
194
+ name: string;
195
+ unit: string;
196
+ quantity: number;
197
+ inventoryItemId?: string | undefined;
198
+ totalCost?: number | undefined;
199
+ costPerUnit?: number | undefined;
200
+ availability?: string | undefined;
201
+ }[] | undefined;
202
+ applicationMethod?: string | undefined;
203
+ expectedOutcome?: string | undefined;
204
+ preventiveMeasures?: string[] | undefined;
205
+ estimatedTime?: string | undefined;
206
+ riskLevel?: string | undefined;
207
+ }[] | null;
208
+ severity: "critical" | "low" | "medium" | "high";
209
+ confidence: number | null;
109
210
  acknowledgedAt: string | null;
110
211
  acknowledgedBy: string | null;
111
212
  resolvedAt: string | null;
112
- confidence: number | null;
113
213
  generatedBy: string;
114
214
  fieldName?: string | undefined;
115
215
  }, {
@@ -120,12 +220,33 @@ export declare const fieldAlertSchema: z.ZodObject<{
120
220
  title: string;
121
221
  createdAt: string;
122
222
  fieldId: string;
123
- severity: "critical" | "high" | "medium" | "low";
124
- recommendation: string | null;
223
+ recommendations: {
224
+ priority: number;
225
+ action: string;
226
+ details: string;
227
+ timing: string;
228
+ severity?: "critical" | "low" | "medium" | "high" | undefined;
229
+ confidence?: number | undefined;
230
+ materials?: {
231
+ name: string;
232
+ unit: string;
233
+ quantity: number;
234
+ inventoryItemId?: string | undefined;
235
+ totalCost?: number | undefined;
236
+ costPerUnit?: number | undefined;
237
+ availability?: string | undefined;
238
+ }[] | undefined;
239
+ applicationMethod?: string | undefined;
240
+ expectedOutcome?: string | undefined;
241
+ preventiveMeasures?: string[] | undefined;
242
+ estimatedTime?: string | undefined;
243
+ riskLevel?: string | undefined;
244
+ }[] | null;
245
+ severity: "critical" | "low" | "medium" | "high";
246
+ confidence: number | null;
125
247
  acknowledgedAt: string | null;
126
248
  acknowledgedBy: string | null;
127
249
  resolvedAt: string | null;
128
- confidence: number | null;
129
250
  generatedBy: string;
130
251
  fieldName?: string | undefined;
131
252
  }>;
@@ -213,4 +334,89 @@ export declare const fieldMonitoringErrorResponseSchema: z.ZodObject<{
213
334
  message: string;
214
335
  code?: string | undefined;
215
336
  }>;
337
+ export declare const soilReadingSchema: z.ZodObject<{
338
+ readingDate: z.ZodString;
339
+ soilMoisture: z.ZodNullable<z.ZodNumber>;
340
+ surfaceTemp: z.ZodNullable<z.ZodNumber>;
341
+ temp10cm: z.ZodNullable<z.ZodNumber>;
342
+ }, "strip", z.ZodTypeAny, {
343
+ readingDate: string;
344
+ soilMoisture: number | null;
345
+ surfaceTemp: number | null;
346
+ temp10cm: number | null;
347
+ }, {
348
+ readingDate: string;
349
+ soilMoisture: number | null;
350
+ surfaceTemp: number | null;
351
+ temp10cm: number | null;
352
+ }>;
353
+ export declare const soilTrendSchema: z.ZodObject<{
354
+ fieldId: z.ZodString;
355
+ fieldName: z.ZodString;
356
+ readings: z.ZodArray<z.ZodObject<{
357
+ readingDate: z.ZodString;
358
+ soilMoisture: z.ZodNullable<z.ZodNumber>;
359
+ surfaceTemp: z.ZodNullable<z.ZodNumber>;
360
+ temp10cm: z.ZodNullable<z.ZodNumber>;
361
+ }, "strip", z.ZodTypeAny, {
362
+ readingDate: string;
363
+ soilMoisture: number | null;
364
+ surfaceTemp: number | null;
365
+ temp10cm: number | null;
366
+ }, {
367
+ readingDate: string;
368
+ soilMoisture: number | null;
369
+ surfaceTemp: number | null;
370
+ temp10cm: number | null;
371
+ }>, "many">;
372
+ avgMoisture: z.ZodNullable<z.ZodNumber>;
373
+ moistureTrend: z.ZodNullable<z.ZodEnum<["increasing", "stable", "decreasing"]>>;
374
+ lastReadingDate: z.ZodNullable<z.ZodString>;
375
+ }, "strip", z.ZodTypeAny, {
376
+ fieldId: string;
377
+ fieldName: string;
378
+ readings: {
379
+ readingDate: string;
380
+ soilMoisture: number | null;
381
+ surfaceTemp: number | null;
382
+ temp10cm: number | null;
383
+ }[];
384
+ avgMoisture: number | null;
385
+ moistureTrend: "stable" | "increasing" | "decreasing" | null;
386
+ lastReadingDate: string | null;
387
+ }, {
388
+ fieldId: string;
389
+ fieldName: string;
390
+ readings: {
391
+ readingDate: string;
392
+ soilMoisture: number | null;
393
+ surfaceTemp: number | null;
394
+ temp10cm: number | null;
395
+ }[];
396
+ avgMoisture: number | null;
397
+ moistureTrend: "stable" | "increasing" | "decreasing" | null;
398
+ lastReadingDate: string | null;
399
+ }>;
400
+ export type SoilReading = z.infer<typeof soilReadingSchema>;
401
+ export type SoilTrend = z.infer<typeof soilTrendSchema>;
402
+ export declare const historicalNDVIDataPointSchema: z.ZodObject<{
403
+ date: z.ZodString;
404
+ ndvi: z.ZodNumber;
405
+ source: z.ZodEnum<["sentinel-2", "landsat-8", "modis"]>;
406
+ cloudCoverage: z.ZodNumber;
407
+ imageCoverage: z.ZodNumber;
408
+ }, "strip", z.ZodTypeAny, {
409
+ date: string;
410
+ source: "sentinel-2" | "landsat-8" | "modis";
411
+ ndvi: number;
412
+ cloudCoverage: number;
413
+ imageCoverage: number;
414
+ }, {
415
+ date: string;
416
+ source: "sentinel-2" | "landsat-8" | "modis";
417
+ ndvi: number;
418
+ cloudCoverage: number;
419
+ imageCoverage: number;
420
+ }>;
421
+ export type HistoricalNDVIDataPoint = z.infer<typeof historicalNDVIDataPointSchema>;
216
422
  //# sourceMappingURL=field-monitoring.schemas.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"field-monitoring.schemas.d.ts","sourceRoot":"","sources":["../../src/schemas/field-monitoring.schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoBvC,CAAC;AAEH,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAC1C,OAAO,4BAA4B,CACpC,CAAC;AAGF,eAAO,MAAM,wBAAwB;;;;;;;;;;;;EAInC,CAAC;AAEH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAG1E,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;EAKhC,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAGpE,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgB3B,CAAC;AAEH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAG1D,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;EAMhC,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAGpE,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;EAOpC,CAAC;AAEH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAG5E,eAAO,MAAM,oBAAoB;;;;;;;;;;;;EAI/B,CAAC;AAEH,eAAO,MAAM,iBAAiB;;;;;;EAE5B,CAAC;AAGH,eAAO,MAAM,6BAA6B;;;;;;;;;EAGxC,CAAC;AAEH,eAAO,MAAM,kCAAkC;;;;;;;;;EAG7C,CAAC"}
1
+ {"version":3,"file":"field-monitoring.schemas.d.ts","sourceRoot":"","sources":["../../src/schemas/field-monitoring.schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoBvC,CAAC;AAEH,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAC1C,OAAO,4BAA4B,CACpC,CAAC;AAGF,eAAO,MAAM,wBAAwB;;;;;;;;;;;;EAInC,CAAC;AAEH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAG1E,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;EAKhC,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAGpE,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgB3B,CAAC;AAEH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAG1D,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;EAMhC,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAGpE,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;EAOpC,CAAC;AAEH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAG5E,eAAO,MAAM,oBAAoB;;;;;;;;;;;;EAI/B,CAAC;AAEH,eAAO,MAAM,iBAAiB;;;;;;EAE5B,CAAC;AAGH,eAAO,MAAM,6BAA6B;;;;;;;;;EAGxC,CAAC;AAEH,eAAO,MAAM,kCAAkC;;;;;;;;;EAG7C,CAAC;AAGH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;EAK5B,CAAC;AAEH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAO1B,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAC5D,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAGxD,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;EAMxC,CAAC;AAEH,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAC3C,OAAO,6BAA6B,CACrC,CAAC"}
@@ -1,7 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.fieldMonitoringErrorResponseSchema = exports.triggerAnalysisResponseSchema = exports.alertsQuerySchema = exports.ndviTrendQuerySchema = exports.farmMonitoringStatsSchema = exports.fieldComparisonSchema = exports.fieldAlertSchema = exports.weeklyNDVIStatsSchema = exports.ndviTrendDataPointSchema = exports.fieldMonitoringSummarySchema = void 0;
3
+ exports.historicalNDVIDataPointSchema = exports.soilTrendSchema = exports.soilReadingSchema = exports.fieldMonitoringErrorResponseSchema = exports.triggerAnalysisResponseSchema = exports.alertsQuerySchema = exports.ndviTrendQuerySchema = exports.farmMonitoringStatsSchema = exports.fieldComparisonSchema = exports.fieldAlertSchema = exports.weeklyNDVIStatsSchema = exports.ndviTrendDataPointSchema = exports.fieldMonitoringSummarySchema = void 0;
4
4
  const zod_1 = require("zod");
5
+ const recommendations_schemas_1 = require("./recommendations.schemas");
5
6
  // Field Monitoring Summary Schema
6
7
  exports.fieldMonitoringSummarySchema = zod_1.z.object({
7
8
  id: zod_1.z.string().uuid(),
@@ -46,7 +47,7 @@ exports.fieldAlertSchema = zod_1.z.object({
46
47
  severity: zod_1.z.enum(['low', 'medium', 'high', 'critical']),
47
48
  title: zod_1.z.string(),
48
49
  message: zod_1.z.string(),
49
- recommendation: zod_1.z.string().nullable(),
50
+ recommendations: zod_1.z.array(recommendations_schemas_1.recommendationSchema).nullable(),
50
51
  status: zod_1.z.enum(['active', 'acknowledged', 'resolved']),
51
52
  acknowledgedAt: zod_1.z.string().datetime().nullable(),
52
53
  acknowledgedBy: zod_1.z.string().nullable(),
@@ -90,3 +91,26 @@ exports.fieldMonitoringErrorResponseSchema = zod_1.z.object({
90
91
  message: zod_1.z.string(),
91
92
  code: zod_1.z.string().optional(),
92
93
  });
94
+ // Soil Monitoring Schemas
95
+ exports.soilReadingSchema = zod_1.z.object({
96
+ readingDate: zod_1.z.string().datetime(),
97
+ soilMoisture: zod_1.z.number().min(0).max(1).nullable(), // m³/m³
98
+ surfaceTemp: zod_1.z.number().nullable(), // Kelvins
99
+ temp10cm: zod_1.z.number().nullable(), // Kelvins
100
+ });
101
+ exports.soilTrendSchema = zod_1.z.object({
102
+ fieldId: zod_1.z.string().uuid(),
103
+ fieldName: zod_1.z.string(),
104
+ readings: zod_1.z.array(exports.soilReadingSchema),
105
+ avgMoisture: zod_1.z.number().nullable(),
106
+ moistureTrend: zod_1.z.enum(['increasing', 'stable', 'decreasing']).nullable(),
107
+ lastReadingDate: zod_1.z.string().datetime().nullable(),
108
+ });
109
+ // Historical NDVI Schemas
110
+ exports.historicalNDVIDataPointSchema = zod_1.z.object({
111
+ date: zod_1.z.string().datetime(),
112
+ ndvi: zod_1.z.number().min(-1).max(1),
113
+ source: zod_1.z.enum(['sentinel-2', 'landsat-8', 'modis']),
114
+ cloudCoverage: zod_1.z.number().min(0).max(100),
115
+ imageCoverage: zod_1.z.number().min(0).max(100),
116
+ });