@deepintel-ltd/farmpro-contracts 1.5.12 → 1.5.13

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.
@@ -9,32 +9,36 @@ import { z } from 'zod';
9
9
  export declare const agentWorkflowsRouter: {
10
10
  listWorkflows: {
11
11
  query: z.ZodObject<{
12
- farmId: z.ZodOptional<z.ZodString>;
13
- fieldId: z.ZodOptional<z.ZodString>;
14
- status: z.ZodOptional<z.ZodEnum<["in_progress", "completed", "failed"]>>;
15
- triggerEvent: z.ZodOptional<z.ZodString>;
16
- startDate: z.ZodOptional<z.ZodString>;
17
- endDate: z.ZodOptional<z.ZodString>;
18
- limit: z.ZodDefault<z.ZodNumber>;
19
- offset: z.ZodDefault<z.ZodNumber>;
12
+ 'page[number]': z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
13
+ 'page[size]': z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
14
+ 'filter[startDate]': z.ZodOptional<z.ZodString>;
15
+ 'filter[endDate]': z.ZodOptional<z.ZodString>;
16
+ 'filter[crop]': z.ZodOptional<z.ZodString>;
17
+ } & {
18
+ 'filter[farmId]': z.ZodOptional<z.ZodString>;
19
+ 'filter[fieldId]': z.ZodOptional<z.ZodString>;
20
+ 'filter[status]': z.ZodOptional<z.ZodEnum<["in_progress", "completed", "failed"]>>;
21
+ 'filter[triggerEvent]': z.ZodOptional<z.ZodString>;
20
22
  }, "strip", z.ZodTypeAny, {
21
- limit: number;
22
- offset: number;
23
- status?: "completed" | "in_progress" | "failed" | undefined;
24
- farmId?: string | undefined;
25
- fieldId?: string | undefined;
26
- triggerEvent?: string | undefined;
27
- startDate?: string | undefined;
28
- endDate?: string | undefined;
23
+ 'page[number]'?: number | undefined;
24
+ 'page[size]'?: number | undefined;
25
+ 'filter[startDate]'?: string | undefined;
26
+ 'filter[endDate]'?: string | undefined;
27
+ 'filter[status]'?: "completed" | "in_progress" | "failed" | undefined;
28
+ 'filter[crop]'?: string | undefined;
29
+ 'filter[fieldId]'?: string | undefined;
30
+ 'filter[farmId]'?: string | undefined;
31
+ 'filter[triggerEvent]'?: string | undefined;
29
32
  }, {
30
- status?: "completed" | "in_progress" | "failed" | undefined;
31
- farmId?: string | undefined;
32
- fieldId?: string | undefined;
33
- limit?: number | undefined;
34
- offset?: number | undefined;
35
- triggerEvent?: string | undefined;
36
- startDate?: string | undefined;
37
- endDate?: string | undefined;
33
+ 'page[number]'?: number | undefined;
34
+ 'page[size]'?: number | undefined;
35
+ 'filter[startDate]'?: string | undefined;
36
+ 'filter[endDate]'?: string | undefined;
37
+ 'filter[status]'?: "completed" | "in_progress" | "failed" | undefined;
38
+ 'filter[crop]'?: string | undefined;
39
+ 'filter[fieldId]'?: string | undefined;
40
+ 'filter[farmId]'?: string | undefined;
41
+ 'filter[triggerEvent]'?: string | undefined;
38
42
  }>;
39
43
  summary: "List agent workflows with filters";
40
44
  method: "GET";
@@ -1341,17 +1345,18 @@ export declare const agentWorkflowsRouter: {
1341
1345
  };
1342
1346
  getWorkflowsByFarm: {
1343
1347
  query: z.ZodObject<{
1344
- status: z.ZodOptional<z.ZodEnum<["in_progress", "completed", "failed"]>>;
1345
- limit: z.ZodDefault<z.ZodNumber>;
1346
- offset: z.ZodDefault<z.ZodNumber>;
1348
+ 'page[number]': z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
1349
+ 'page[size]': z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
1350
+ } & {
1351
+ 'filter[status]': z.ZodOptional<z.ZodEnum<["in_progress", "completed", "failed"]>>;
1347
1352
  }, "strip", z.ZodTypeAny, {
1348
- limit: number;
1349
- offset: number;
1350
- status?: "completed" | "in_progress" | "failed" | undefined;
1353
+ 'page[number]'?: number | undefined;
1354
+ 'page[size]'?: number | undefined;
1355
+ 'filter[status]'?: "completed" | "in_progress" | "failed" | undefined;
1351
1356
  }, {
1352
- status?: "completed" | "in_progress" | "failed" | undefined;
1353
- limit?: number | undefined;
1354
- offset?: number | undefined;
1357
+ 'page[number]'?: number | undefined;
1358
+ 'page[size]'?: number | undefined;
1359
+ 'filter[status]'?: "completed" | "in_progress" | "failed" | undefined;
1355
1360
  }>;
1356
1361
  summary: "Get all workflows for a farm";
1357
1362
  method: "GET";
@@ -2006,17 +2011,18 @@ export declare const agentWorkflowsRouter: {
2006
2011
  };
2007
2012
  getWorkflowsByField: {
2008
2013
  query: z.ZodObject<{
2009
- status: z.ZodOptional<z.ZodEnum<["in_progress", "completed", "failed"]>>;
2010
- limit: z.ZodDefault<z.ZodNumber>;
2011
- offset: z.ZodDefault<z.ZodNumber>;
2014
+ 'page[number]': z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
2015
+ 'page[size]': z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
2016
+ } & {
2017
+ 'filter[status]': z.ZodOptional<z.ZodEnum<["in_progress", "completed", "failed"]>>;
2012
2018
  }, "strip", z.ZodTypeAny, {
2013
- limit: number;
2014
- offset: number;
2015
- status?: "completed" | "in_progress" | "failed" | undefined;
2019
+ 'page[number]'?: number | undefined;
2020
+ 'page[size]'?: number | undefined;
2021
+ 'filter[status]'?: "completed" | "in_progress" | "failed" | undefined;
2016
2022
  }, {
2017
- status?: "completed" | "in_progress" | "failed" | undefined;
2018
- limit?: number | undefined;
2019
- offset?: number | undefined;
2023
+ 'page[number]'?: number | undefined;
2024
+ 'page[size]'?: number | undefined;
2025
+ 'filter[status]'?: "completed" | "in_progress" | "failed" | undefined;
2020
2026
  }>;
2021
2027
  summary: "Get all workflows for a field";
2022
2028
  method: "GET";
@@ -1 +1 @@
1
- {"version":3,"file":"agent-workflows.routes.d.ts","sourceRoot":"","sources":["../../src/routes/agent-workflows.routes.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AASxB;;;;;;GAMG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+J/B,CAAC"}
1
+ {"version":3,"file":"agent-workflows.routes.d.ts","sourceRoot":"","sources":["../../src/routes/agent-workflows.routes.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAaxB;;;;;;GAMG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2J/B,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import { initContract } from '@ts-rest/core';
2
2
  import { z } from 'zod';
3
3
  import { agentWorkflowResponseSchema, agentWorkflowListResponseSchema, agentWorkflowStatusSchema, } from '../schemas/agent-workflows.schemas';
4
+ import { jsonApiPaginationQuerySchema, jsonApiFilterQuerySchema, } from '../schemas/common.schemas';
4
5
  const c = initContract();
5
6
  /**
6
7
  * Agent Workflows Routes
@@ -16,16 +17,14 @@ export const agentWorkflowsRouter = c.router({
16
17
  listWorkflows: {
17
18
  method: 'GET',
18
19
  path: '/agent-workflows',
19
- query: z.object({
20
- farmId: z.string().uuid().optional(),
21
- fieldId: z.string().uuid().optional(),
22
- status: agentWorkflowStatusSchema.optional(),
23
- triggerEvent: z.string().optional(), // e.g., 'observation.analysis.completed'
24
- startDate: z.string().datetime().optional(),
25
- endDate: z.string().datetime().optional(),
26
- limit: z.coerce.number().int().min(1).max(100).default(20),
27
- offset: z.coerce.number().int().min(0).default(0),
28
- }),
20
+ query: jsonApiPaginationQuerySchema
21
+ .merge(jsonApiFilterQuerySchema)
22
+ .merge(z.object({
23
+ 'filter[farmId]': z.string().uuid().optional(),
24
+ 'filter[fieldId]': z.string().uuid().optional(),
25
+ 'filter[status]': agentWorkflowStatusSchema.optional(),
26
+ 'filter[triggerEvent]': z.string().optional(), // e.g., 'observation.analysis.completed'
27
+ })),
29
28
  responses: {
30
29
  200: agentWorkflowListResponseSchema,
31
30
  400: z.object({
@@ -64,11 +63,10 @@ export const agentWorkflowsRouter = c.router({
64
63
  getWorkflowsByFarm: {
65
64
  method: 'GET',
66
65
  path: '/farms/:farmId/agent-workflows',
67
- query: z.object({
68
- status: agentWorkflowStatusSchema.optional(),
69
- limit: z.coerce.number().int().min(1).max(100).default(20),
70
- offset: z.coerce.number().int().min(0).default(0),
71
- }),
66
+ query: jsonApiPaginationQuerySchema
67
+ .merge(z.object({
68
+ 'filter[status]': agentWorkflowStatusSchema.optional(),
69
+ })),
72
70
  responses: {
73
71
  200: agentWorkflowListResponseSchema,
74
72
  404: z.object({
@@ -88,11 +86,10 @@ export const agentWorkflowsRouter = c.router({
88
86
  getWorkflowsByField: {
89
87
  method: 'GET',
90
88
  path: '/fields/:fieldId/agent-workflows',
91
- query: z.object({
92
- status: agentWorkflowStatusSchema.optional(),
93
- limit: z.coerce.number().int().min(1).max(100).default(20),
94
- offset: z.coerce.number().int().min(0).default(0),
95
- }),
89
+ query: jsonApiPaginationQuerySchema
90
+ .merge(z.object({
91
+ 'filter[status]': agentWorkflowStatusSchema.optional(),
92
+ })),
96
93
  responses: {
97
94
  200: agentWorkflowListResponseSchema,
98
95
  404: z.object({
@@ -5,8 +5,8 @@ export declare const agentsRouter: {
5
5
  description: "Send a message to the agronomics agent and receive AI-powered farming advice. Supports file uploads for soil tests and documents. The agent can create soil tests and tasks based on your requests.";
6
6
  method: "POST";
7
7
  contentType: "multipart/form-data";
8
- body: z.ZodUnion<[z.ZodObject<{
9
- data: z.ZodObject<{
8
+ body: z.ZodObject<{
9
+ data: z.ZodUnion<[z.ZodObject<{
10
10
  type: z.ZodLiteral<"agent-chat-requests">;
11
11
  attributes: z.ZodObject<{
12
12
  message: z.ZodString;
@@ -66,85 +66,7 @@ export declare const agentsRouter: {
66
66
  content: string;
67
67
  }[] | undefined;
68
68
  };
69
- }>;
70
- }, "strip", z.ZodTypeAny, {
71
- data: {
72
- type: "agent-chat-requests";
73
- attributes: {
74
- message: string;
75
- farmId?: string | undefined;
76
- fieldId?: string | undefined;
77
- conversationId?: string | undefined;
78
- conversationHistory?: {
79
- role: "user" | "assistant";
80
- content: string;
81
- }[] | undefined;
82
- };
83
- };
84
- }, {
85
- data: {
86
- type: "agent-chat-requests";
87
- attributes: {
88
- message: string;
89
- farmId?: string | undefined;
90
- fieldId?: string | undefined;
91
- conversationId?: string | undefined;
92
- conversationHistory?: {
93
- role: "user" | "assistant";
94
- content: string;
95
- }[] | undefined;
96
- };
97
- };
98
- }>, z.ZodObject<{
99
- data: z.ZodObject<{
100
- type: z.ZodLiteral<"agent-chat-requests">;
101
- attributes: z.ZodObject<{
102
- message: z.ZodString;
103
- farmId: z.ZodOptional<z.ZodString>;
104
- fieldId: z.ZodOptional<z.ZodString>;
105
- conversationId: z.ZodOptional<z.ZodString>;
106
- conversationHistory: z.ZodOptional<z.ZodArray<z.ZodObject<{
107
- role: z.ZodEnum<["user", "assistant"]>;
108
- content: z.ZodString;
109
- }, "strip", z.ZodTypeAny, {
110
- role: "user" | "assistant";
111
- content: string;
112
- }, {
113
- role: "user" | "assistant";
114
- content: string;
115
- }>, "many">>;
116
- }, "strip", z.ZodTypeAny, {
117
- message: string;
118
- farmId?: string | undefined;
119
- fieldId?: string | undefined;
120
- conversationId?: string | undefined;
121
- conversationHistory?: {
122
- role: "user" | "assistant";
123
- content: string;
124
- }[] | undefined;
125
- }, {
126
- message: string;
127
- farmId?: string | undefined;
128
- fieldId?: string | undefined;
129
- conversationId?: string | undefined;
130
- conversationHistory?: {
131
- role: "user" | "assistant";
132
- content: string;
133
- }[] | undefined;
134
- }>;
135
- }, "strip", z.ZodTypeAny, {
136
- type: "agent-chat-requests";
137
- attributes: {
138
- message: string;
139
- farmId?: string | undefined;
140
- fieldId?: string | undefined;
141
- conversationId?: string | undefined;
142
- conversationHistory?: {
143
- role: "user" | "assistant";
144
- content: string;
145
- }[] | undefined;
146
- };
147
- }, {
69
+ }>, z.ZodEffects<z.ZodString, {
148
70
  type: "agent-chat-requests";
149
71
  attributes: {
150
72
  message: string;
@@ -156,8 +78,9 @@ export declare const agentsRouter: {
156
78
  content: string;
157
79
  }[] | undefined;
158
80
  };
159
- }>;
81
+ }, string>]>;
160
82
  file: z.ZodOptional<z.ZodType<import("buffer").File, z.ZodTypeDef, import("buffer").File>>;
83
+ files: z.ZodOptional<z.ZodUnion<[z.ZodType<import("buffer").File, z.ZodTypeDef, import("buffer").File>, z.ZodArray<z.ZodType<import("buffer").File, z.ZodTypeDef, import("buffer").File>, "many">]>>;
161
84
  }, "strip", z.ZodTypeAny, {
162
85
  data: {
163
86
  type: "agent-chat-requests";
@@ -173,8 +96,9 @@ export declare const agentsRouter: {
173
96
  };
174
97
  };
175
98
  file?: import("buffer").File | undefined;
99
+ files?: import("buffer").File | import("buffer").File[] | undefined;
176
100
  }, {
177
- data: {
101
+ data: string | {
178
102
  type: "agent-chat-requests";
179
103
  attributes: {
180
104
  message: string;
@@ -188,7 +112,8 @@ export declare const agentsRouter: {
188
112
  };
189
113
  };
190
114
  file?: import("buffer").File | undefined;
191
- }>]>;
115
+ files?: import("buffer").File | import("buffer").File[] | undefined;
116
+ }>;
192
117
  path: "/agents/agronomics/chat";
193
118
  responses: {
194
119
  200: z.ZodObject<{
@@ -1 +1 @@
1
- {"version":3,"file":"agents.routes.d.ts","sourceRoot":"","sources":["../../src/routes/agents.routes.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAWxB,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2DvB,CAAC"}
1
+ {"version":3,"file":"agents.routes.d.ts","sourceRoot":"","sources":["../../src/routes/agents.routes.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAWxB,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmFvB,CAAC"}
@@ -9,10 +9,36 @@ export const agentsRouter = c.router({
9
9
  method: 'POST',
10
10
  path: '/agents/agronomics/chat',
11
11
  contentType: 'multipart/form-data', // Support file uploads
12
- body: z.union([
13
- z.object({ data: chatRequestSchema }), // JSON body
14
- z.object({ data: chatRequestSchema, file: z.instanceof(File).optional() }), // Multipart with optional file
15
- ]),
12
+ body: z.object({
13
+ // In multipart/form-data, 'data' comes as a JSON string that needs to be parsed
14
+ // Accept both string (from form-data) and object (already parsed) for flexibility
15
+ data: z.union([
16
+ chatRequestSchema, // Already an object
17
+ z.string().transform((str, ctx) => {
18
+ try {
19
+ const parsed = JSON.parse(str);
20
+ return chatRequestSchema.parse(parsed);
21
+ }
22
+ catch (error) {
23
+ if (error instanceof z.ZodError) {
24
+ ctx.addIssue({
25
+ code: z.ZodIssueCode.custom,
26
+ message: `Invalid data structure: ${error.errors.map(e => e.message).join(', ')}`,
27
+ });
28
+ }
29
+ else {
30
+ ctx.addIssue({
31
+ code: z.ZodIssueCode.custom,
32
+ message: 'Invalid JSON in data field',
33
+ });
34
+ }
35
+ return z.NEVER;
36
+ }
37
+ }),
38
+ ]),
39
+ file: z.instanceof(File).optional(),
40
+ files: z.union([z.instanceof(File), z.array(z.instanceof(File))]).optional(),
41
+ }),
16
42
  responses: {
17
43
  200: agentChatResponseSchema,
18
44
  400: jsonApiErrorResponseSchema,
@@ -1001,32 +1001,36 @@ export declare const fieldObservationsRouter: {
1001
1001
  };
1002
1002
  listFieldObservations: {
1003
1003
  query: z.ZodObject<{
1004
- fieldId: z.ZodOptional<z.ZodString>;
1005
- status: z.ZodOptional<z.ZodEnum<["pending", "processing", "completed", "failed"]>>;
1006
- observationType: z.ZodOptional<z.ZodString>;
1007
- severity: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "critical"]>>;
1008
- startDate: z.ZodOptional<z.ZodString>;
1009
- endDate: z.ZodOptional<z.ZodString>;
1010
- page: z.ZodDefault<z.ZodString>;
1011
- pageSize: z.ZodDefault<z.ZodString>;
1004
+ 'page[number]': z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
1005
+ 'page[size]': z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
1006
+ 'filter[startDate]': z.ZodOptional<z.ZodString>;
1007
+ 'filter[endDate]': z.ZodOptional<z.ZodString>;
1008
+ 'filter[crop]': z.ZodOptional<z.ZodString>;
1009
+ } & {
1010
+ 'filter[fieldId]': z.ZodOptional<z.ZodString>;
1011
+ 'filter[status]': z.ZodOptional<z.ZodEnum<["pending", "processing", "completed", "failed"]>>;
1012
+ 'filter[observationType]': z.ZodOptional<z.ZodString>;
1013
+ 'filter[severity]': z.ZodOptional<z.ZodEnum<["low", "medium", "high", "critical"]>>;
1012
1014
  }, "strip", z.ZodTypeAny, {
1013
- pageSize: string;
1014
- page: string;
1015
- status?: "pending" | "completed" | "failed" | "processing" | undefined;
1016
- fieldId?: string | undefined;
1017
- severity?: "critical" | "low" | "medium" | "high" | undefined;
1018
- startDate?: string | undefined;
1019
- endDate?: string | undefined;
1020
- observationType?: string | undefined;
1015
+ 'page[number]'?: number | undefined;
1016
+ 'page[size]'?: number | undefined;
1017
+ 'filter[startDate]'?: string | undefined;
1018
+ 'filter[endDate]'?: string | undefined;
1019
+ 'filter[status]'?: "pending" | "completed" | "failed" | "processing" | undefined;
1020
+ 'filter[crop]'?: string | undefined;
1021
+ 'filter[fieldId]'?: string | undefined;
1022
+ 'filter[observationType]'?: string | undefined;
1023
+ 'filter[severity]'?: "critical" | "low" | "medium" | "high" | undefined;
1021
1024
  }, {
1022
- status?: "pending" | "completed" | "failed" | "processing" | undefined;
1023
- pageSize?: string | undefined;
1024
- fieldId?: string | undefined;
1025
- severity?: "critical" | "low" | "medium" | "high" | undefined;
1026
- startDate?: string | undefined;
1027
- endDate?: string | undefined;
1028
- observationType?: string | undefined;
1029
- page?: string | undefined;
1025
+ 'page[number]'?: number | undefined;
1026
+ 'page[size]'?: number | undefined;
1027
+ 'filter[startDate]'?: string | undefined;
1028
+ 'filter[endDate]'?: string | undefined;
1029
+ 'filter[status]'?: "pending" | "completed" | "failed" | "processing" | undefined;
1030
+ 'filter[crop]'?: string | undefined;
1031
+ 'filter[fieldId]'?: string | undefined;
1032
+ 'filter[observationType]'?: string | undefined;
1033
+ 'filter[severity]'?: "critical" | "low" | "medium" | "high" | undefined;
1030
1034
  }>;
1031
1035
  summary: "List all observations for a field";
1032
1036
  method: "GET";
@@ -1854,32 +1858,36 @@ export declare const fieldObservationsRouter: {
1854
1858
  };
1855
1859
  listFarmObservations: {
1856
1860
  query: z.ZodObject<{
1857
- fieldId: z.ZodOptional<z.ZodString>;
1858
- status: z.ZodOptional<z.ZodEnum<["pending", "processing", "completed", "failed"]>>;
1859
- observationType: z.ZodOptional<z.ZodString>;
1860
- severity: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "critical"]>>;
1861
- startDate: z.ZodOptional<z.ZodString>;
1862
- endDate: z.ZodOptional<z.ZodString>;
1863
- page: z.ZodDefault<z.ZodString>;
1864
- pageSize: z.ZodDefault<z.ZodString>;
1861
+ 'page[number]': z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
1862
+ 'page[size]': z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
1863
+ 'filter[startDate]': z.ZodOptional<z.ZodString>;
1864
+ 'filter[endDate]': z.ZodOptional<z.ZodString>;
1865
+ 'filter[crop]': z.ZodOptional<z.ZodString>;
1866
+ } & {
1867
+ 'filter[fieldId]': z.ZodOptional<z.ZodString>;
1868
+ 'filter[status]': z.ZodOptional<z.ZodEnum<["pending", "processing", "completed", "failed"]>>;
1869
+ 'filter[observationType]': z.ZodOptional<z.ZodString>;
1870
+ 'filter[severity]': z.ZodOptional<z.ZodEnum<["low", "medium", "high", "critical"]>>;
1865
1871
  }, "strip", z.ZodTypeAny, {
1866
- pageSize: string;
1867
- page: string;
1868
- status?: "pending" | "completed" | "failed" | "processing" | undefined;
1869
- fieldId?: string | undefined;
1870
- severity?: "critical" | "low" | "medium" | "high" | undefined;
1871
- startDate?: string | undefined;
1872
- endDate?: string | undefined;
1873
- observationType?: string | undefined;
1872
+ 'page[number]'?: number | undefined;
1873
+ 'page[size]'?: number | undefined;
1874
+ 'filter[startDate]'?: string | undefined;
1875
+ 'filter[endDate]'?: string | undefined;
1876
+ 'filter[status]'?: "pending" | "completed" | "failed" | "processing" | undefined;
1877
+ 'filter[crop]'?: string | undefined;
1878
+ 'filter[fieldId]'?: string | undefined;
1879
+ 'filter[observationType]'?: string | undefined;
1880
+ 'filter[severity]'?: "critical" | "low" | "medium" | "high" | undefined;
1874
1881
  }, {
1875
- status?: "pending" | "completed" | "failed" | "processing" | undefined;
1876
- pageSize?: string | undefined;
1877
- fieldId?: string | undefined;
1878
- severity?: "critical" | "low" | "medium" | "high" | undefined;
1879
- startDate?: string | undefined;
1880
- endDate?: string | undefined;
1881
- observationType?: string | undefined;
1882
- page?: string | undefined;
1882
+ 'page[number]'?: number | undefined;
1883
+ 'page[size]'?: number | undefined;
1884
+ 'filter[startDate]'?: string | undefined;
1885
+ 'filter[endDate]'?: string | undefined;
1886
+ 'filter[status]'?: "pending" | "completed" | "failed" | "processing" | undefined;
1887
+ 'filter[crop]'?: string | undefined;
1888
+ 'filter[fieldId]'?: string | undefined;
1889
+ 'filter[observationType]'?: string | undefined;
1890
+ 'filter[severity]'?: "critical" | "low" | "medium" | "high" | undefined;
1883
1891
  }>;
1884
1892
  summary: "List all observations across all farm fields";
1885
1893
  method: "GET";
@@ -1 +1 @@
1
- {"version":3,"file":"field-observations.routes.d.ts","sourceRoot":"","sources":["../../src/routes/field-observations.routes.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAYxB,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoHlC,CAAC"}
1
+ {"version":3,"file":"field-observations.routes.d.ts","sourceRoot":"","sources":["../../src/routes/field-observations.routes.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAYxB,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoHlC,CAAC"}