@deepintel-ltd/farmpro-contracts 1.15.6 → 1.16.1

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.
@@ -67,7 +67,7 @@ export declare const liveMonitorRouter: {
67
67
  cameras: z.ZodArray<z.ZodObject<{
68
68
  id: z.ZodString;
69
69
  name: z.ZodString;
70
- type: z.ZodEnum<["IP_CAMERA", "WEBCAM", "TRAIL_CAM", "DRONE", "PHONE"]>;
70
+ type: z.ZodEnum<["IP_CAMERA", "WEBCAM", "TRAIL_CAM", "DRONE", "PHONE", "PTZ"]>;
71
71
  location: z.ZodObject<{
72
72
  lat: z.ZodNumber;
73
73
  lng: z.ZodNumber;
@@ -84,11 +84,15 @@ export declare const liveMonitorRouter: {
84
84
  direction: z.ZodNullable<z.ZodNumber>;
85
85
  fieldOfView: z.ZodNullable<z.ZodNumber>;
86
86
  streamEnabled: z.ZodBoolean;
87
+ ingestMode: z.ZodOptional<z.ZodEnum<["ftp_push", "device_agent"]>>;
88
+ expectedIntervalSeconds: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
89
+ lastIngestAt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
90
+ ftpUsername: z.ZodOptional<z.ZodNullable<z.ZodString>>;
87
91
  } & {
88
92
  fieldId: z.ZodString;
89
93
  fieldName: z.ZodString;
90
94
  }, "strip", z.ZodTypeAny, {
91
- type: "IP_CAMERA" | "WEBCAM" | "TRAIL_CAM" | "DRONE" | "PHONE";
95
+ type: "IP_CAMERA" | "WEBCAM" | "TRAIL_CAM" | "DRONE" | "PHONE" | "PTZ";
92
96
  status: "ERROR" | "MAINTENANCE" | "ONLINE" | "OFFLINE" | "RECORDING";
93
97
  id: string;
94
98
  name: string;
@@ -103,8 +107,12 @@ export declare const liveMonitorRouter: {
103
107
  lastFrameAt: string | null;
104
108
  fieldOfView: number | null;
105
109
  streamEnabled: boolean;
110
+ ingestMode?: "ftp_push" | "device_agent" | undefined;
111
+ expectedIntervalSeconds?: number | null | undefined;
112
+ lastIngestAt?: string | null | undefined;
113
+ ftpUsername?: string | null | undefined;
106
114
  }, {
107
- type: "IP_CAMERA" | "WEBCAM" | "TRAIL_CAM" | "DRONE" | "PHONE";
115
+ type: "IP_CAMERA" | "WEBCAM" | "TRAIL_CAM" | "DRONE" | "PHONE" | "PTZ";
108
116
  status: "ERROR" | "MAINTENANCE" | "ONLINE" | "OFFLINE" | "RECORDING";
109
117
  id: string;
110
118
  name: string;
@@ -119,12 +127,16 @@ export declare const liveMonitorRouter: {
119
127
  lastFrameAt: string | null;
120
128
  fieldOfView: number | null;
121
129
  streamEnabled: boolean;
130
+ ingestMode?: "ftp_push" | "device_agent" | undefined;
131
+ expectedIntervalSeconds?: number | null | undefined;
132
+ lastIngestAt?: string | null | undefined;
133
+ ftpUsername?: string | null | undefined;
122
134
  }>, "many">;
123
135
  totalCameras: z.ZodNumber;
124
136
  }, "strip", z.ZodTypeAny, {
125
137
  farmId: string;
126
138
  cameras: {
127
- type: "IP_CAMERA" | "WEBCAM" | "TRAIL_CAM" | "DRONE" | "PHONE";
139
+ type: "IP_CAMERA" | "WEBCAM" | "TRAIL_CAM" | "DRONE" | "PHONE" | "PTZ";
128
140
  status: "ERROR" | "MAINTENANCE" | "ONLINE" | "OFFLINE" | "RECORDING";
129
141
  id: string;
130
142
  name: string;
@@ -139,12 +151,16 @@ export declare const liveMonitorRouter: {
139
151
  lastFrameAt: string | null;
140
152
  fieldOfView: number | null;
141
153
  streamEnabled: boolean;
154
+ ingestMode?: "ftp_push" | "device_agent" | undefined;
155
+ expectedIntervalSeconds?: number | null | undefined;
156
+ lastIngestAt?: string | null | undefined;
157
+ ftpUsername?: string | null | undefined;
142
158
  }[];
143
159
  totalCameras: number;
144
160
  }, {
145
161
  farmId: string;
146
162
  cameras: {
147
- type: "IP_CAMERA" | "WEBCAM" | "TRAIL_CAM" | "DRONE" | "PHONE";
163
+ type: "IP_CAMERA" | "WEBCAM" | "TRAIL_CAM" | "DRONE" | "PHONE" | "PTZ";
148
164
  status: "ERROR" | "MAINTENANCE" | "ONLINE" | "OFFLINE" | "RECORDING";
149
165
  id: string;
150
166
  name: string;
@@ -159,6 +175,10 @@ export declare const liveMonitorRouter: {
159
175
  lastFrameAt: string | null;
160
176
  fieldOfView: number | null;
161
177
  streamEnabled: boolean;
178
+ ingestMode?: "ftp_push" | "device_agent" | undefined;
179
+ expectedIntervalSeconds?: number | null | undefined;
180
+ lastIngestAt?: string | null | undefined;
181
+ ftpUsername?: string | null | undefined;
162
182
  }[];
163
183
  totalCameras: number;
164
184
  }>;
@@ -479,22 +499,22 @@ export declare const liveMonitorRouter: {
479
499
  resolution: z.ZodNullable<z.ZodString>;
480
500
  }, "strip", z.ZodTypeAny, {
481
501
  farmId: string;
502
+ imageUrl: string;
482
503
  capturedAt: string;
483
504
  resolution: string | null;
484
- imageUrl: string;
505
+ triggerType: "manual" | "scheduled" | "motion";
485
506
  cameraId: string;
486
507
  dataSaver: boolean;
487
508
  snapshotId: string;
488
- triggerType: "manual" | "scheduled" | "motion";
489
509
  }, {
490
510
  farmId: string;
511
+ imageUrl: string;
491
512
  capturedAt: string;
492
513
  resolution: string | null;
493
- imageUrl: string;
514
+ triggerType: "manual" | "scheduled" | "motion";
494
515
  cameraId: string;
495
516
  dataSaver: boolean;
496
517
  snapshotId: string;
497
- triggerType: "manual" | "scheduled" | "motion";
498
518
  }>;
499
519
  404: z.ZodObject<{
500
520
  message: z.ZodString;
@@ -1 +1 @@
1
- {"version":3,"file":"live-monitor.routes.d.ts","sourceRoot":"","sources":["../../src/routes/live-monitor.routes.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAexB,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiF5B,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,OAAO,iBAAiB,CAAC"}
1
+ {"version":3,"file":"live-monitor.routes.d.ts","sourceRoot":"","sources":["../../src/routes/live-monitor.routes.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAexB,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiF5B,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,OAAO,iBAAiB,CAAC"}
@@ -54,9 +54,9 @@ export declare const monitoringVisualizationRouter: {
54
54
  }, "strip", z.ZodTypeAny, {
55
55
  source: "sentinel-2" | "landsat-8" | "openweather-agro";
56
56
  fieldId: string;
57
+ imageUrl: string;
57
58
  cloudCoverage: number;
58
59
  resolution: string;
59
- imageUrl: string;
60
60
  captureDate: string;
61
61
  bounds: {
62
62
  north: number;
@@ -72,9 +72,9 @@ export declare const monitoringVisualizationRouter: {
72
72
  }, {
73
73
  source: "sentinel-2" | "landsat-8" | "openweather-agro";
74
74
  fieldId: string;
75
+ imageUrl: string;
75
76
  cloudCoverage: number;
76
77
  resolution: string;
77
- imageUrl: string;
78
78
  captureDate: string;
79
79
  bounds: {
80
80
  north: number;
@@ -154,12 +154,12 @@ export declare const monitoringVisualizationRouter: {
154
154
  label: z.ZodString;
155
155
  }, "strip", z.ZodTypeAny, {
156
156
  value: number;
157
- color: string;
158
157
  label: string;
158
+ color: string;
159
159
  }, {
160
160
  value: number;
161
- color: string;
162
161
  label: string;
162
+ color: string;
163
163
  }>, "many">;
164
164
  source: z.ZodString;
165
165
  }, "strip", z.ZodTypeAny, {
@@ -176,8 +176,8 @@ export declare const monitoringVisualizationRouter: {
176
176
  };
177
177
  colorScale: {
178
178
  value: number;
179
- color: string;
180
179
  label: string;
180
+ color: string;
181
181
  }[];
182
182
  }, {
183
183
  source: string;
@@ -193,8 +193,8 @@ export declare const monitoringVisualizationRouter: {
193
193
  };
194
194
  colorScale: {
195
195
  value: number;
196
- color: string;
197
196
  label: string;
197
+ color: string;
198
198
  }[];
199
199
  }>;
200
200
  404: z.ZodObject<{
@@ -283,12 +283,12 @@ export declare const monitoringVisualizationRouter: {
283
283
  label: z.ZodString;
284
284
  }, "strip", z.ZodTypeAny, {
285
285
  value: number;
286
- color: string;
287
286
  label: string;
287
+ color: string;
288
288
  }, {
289
289
  value: number;
290
- color: string;
291
290
  label: string;
291
+ color: string;
292
292
  }>, "many">;
293
293
  }, "strip", z.ZodTypeAny, {
294
294
  fieldId: string;
@@ -300,8 +300,8 @@ export declare const monitoringVisualizationRouter: {
300
300
  } | null;
301
301
  colorScale: {
302
302
  value: number;
303
- color: string;
304
303
  label: string;
304
+ color: string;
305
305
  }[];
306
306
  moistureImageUrl: string | null;
307
307
  hasRasterData: boolean;
@@ -323,8 +323,8 @@ export declare const monitoringVisualizationRouter: {
323
323
  } | null;
324
324
  colorScale: {
325
325
  value: number;
326
- color: string;
327
326
  label: string;
327
+ color: string;
328
328
  }[];
329
329
  moistureImageUrl: string | null;
330
330
  hasRasterData: boolean;
@@ -751,14 +751,14 @@ export declare const monitoringVisualizationRouter: {
751
751
  frameIndex: z.ZodNumber;
752
752
  }, "strip", z.ZodTypeAny, {
753
753
  date: string;
754
- cloudCoverage: number;
755
754
  imageUrl: string;
755
+ cloudCoverage: number;
756
756
  ndviMean: number | null;
757
757
  frameIndex: number;
758
758
  }, {
759
759
  date: string;
760
- cloudCoverage: number;
761
760
  imageUrl: string;
761
+ cloudCoverage: number;
762
762
  ndviMean: number | null;
763
763
  frameIndex: number;
764
764
  }>, "many">;
@@ -784,8 +784,8 @@ export declare const monitoringVisualizationRouter: {
784
784
  };
785
785
  frames: {
786
786
  date: string;
787
- cloudCoverage: number;
788
787
  imageUrl: string;
788
+ cloudCoverage: number;
789
789
  ndviMean: number | null;
790
790
  frameIndex: number;
791
791
  }[];
@@ -800,8 +800,8 @@ export declare const monitoringVisualizationRouter: {
800
800
  };
801
801
  frames: {
802
802
  date: string;
803
- cloudCoverage: number;
804
803
  imageUrl: string;
804
+ cloudCoverage: number;
805
805
  ndviMean: number | null;
806
806
  frameIndex: number;
807
807
  }[];
@@ -2245,7 +2245,7 @@ export declare const monitoringVisualizationRouter: {
2245
2245
  cameras: z.ZodArray<z.ZodObject<{
2246
2246
  id: z.ZodString;
2247
2247
  name: z.ZodString;
2248
- type: z.ZodEnum<["IP_CAMERA", "WEBCAM", "TRAIL_CAM", "DRONE", "PHONE"]>;
2248
+ type: z.ZodEnum<["IP_CAMERA", "WEBCAM", "TRAIL_CAM", "DRONE", "PHONE", "PTZ"]>;
2249
2249
  location: z.ZodObject<{
2250
2250
  lat: z.ZodNumber;
2251
2251
  lng: z.ZodNumber;
@@ -2262,8 +2262,12 @@ export declare const monitoringVisualizationRouter: {
2262
2262
  direction: z.ZodNullable<z.ZodNumber>;
2263
2263
  fieldOfView: z.ZodNullable<z.ZodNumber>;
2264
2264
  streamEnabled: z.ZodBoolean;
2265
+ ingestMode: z.ZodOptional<z.ZodEnum<["ftp_push", "device_agent"]>>;
2266
+ expectedIntervalSeconds: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
2267
+ lastIngestAt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
2268
+ ftpUsername: z.ZodOptional<z.ZodNullable<z.ZodString>>;
2265
2269
  }, "strip", z.ZodTypeAny, {
2266
- type: "IP_CAMERA" | "WEBCAM" | "TRAIL_CAM" | "DRONE" | "PHONE";
2270
+ type: "IP_CAMERA" | "WEBCAM" | "TRAIL_CAM" | "DRONE" | "PHONE" | "PTZ";
2267
2271
  status: "ERROR" | "MAINTENANCE" | "ONLINE" | "OFFLINE" | "RECORDING";
2268
2272
  id: string;
2269
2273
  name: string;
@@ -2276,8 +2280,12 @@ export declare const monitoringVisualizationRouter: {
2276
2280
  lastFrameAt: string | null;
2277
2281
  fieldOfView: number | null;
2278
2282
  streamEnabled: boolean;
2283
+ ingestMode?: "ftp_push" | "device_agent" | undefined;
2284
+ expectedIntervalSeconds?: number | null | undefined;
2285
+ lastIngestAt?: string | null | undefined;
2286
+ ftpUsername?: string | null | undefined;
2279
2287
  }, {
2280
- type: "IP_CAMERA" | "WEBCAM" | "TRAIL_CAM" | "DRONE" | "PHONE";
2288
+ type: "IP_CAMERA" | "WEBCAM" | "TRAIL_CAM" | "DRONE" | "PHONE" | "PTZ";
2281
2289
  status: "ERROR" | "MAINTENANCE" | "ONLINE" | "OFFLINE" | "RECORDING";
2282
2290
  id: string;
2283
2291
  name: string;
@@ -2290,12 +2298,16 @@ export declare const monitoringVisualizationRouter: {
2290
2298
  lastFrameAt: string | null;
2291
2299
  fieldOfView: number | null;
2292
2300
  streamEnabled: boolean;
2301
+ ingestMode?: "ftp_push" | "device_agent" | undefined;
2302
+ expectedIntervalSeconds?: number | null | undefined;
2303
+ lastIngestAt?: string | null | undefined;
2304
+ ftpUsername?: string | null | undefined;
2293
2305
  }>, "many">;
2294
2306
  totalCameras: z.ZodNumber;
2295
2307
  }, "strip", z.ZodTypeAny, {
2296
2308
  fieldId: string;
2297
2309
  cameras: {
2298
- type: "IP_CAMERA" | "WEBCAM" | "TRAIL_CAM" | "DRONE" | "PHONE";
2310
+ type: "IP_CAMERA" | "WEBCAM" | "TRAIL_CAM" | "DRONE" | "PHONE" | "PTZ";
2299
2311
  status: "ERROR" | "MAINTENANCE" | "ONLINE" | "OFFLINE" | "RECORDING";
2300
2312
  id: string;
2301
2313
  name: string;
@@ -2308,12 +2320,16 @@ export declare const monitoringVisualizationRouter: {
2308
2320
  lastFrameAt: string | null;
2309
2321
  fieldOfView: number | null;
2310
2322
  streamEnabled: boolean;
2323
+ ingestMode?: "ftp_push" | "device_agent" | undefined;
2324
+ expectedIntervalSeconds?: number | null | undefined;
2325
+ lastIngestAt?: string | null | undefined;
2326
+ ftpUsername?: string | null | undefined;
2311
2327
  }[];
2312
2328
  totalCameras: number;
2313
2329
  }, {
2314
2330
  fieldId: string;
2315
2331
  cameras: {
2316
- type: "IP_CAMERA" | "WEBCAM" | "TRAIL_CAM" | "DRONE" | "PHONE";
2332
+ type: "IP_CAMERA" | "WEBCAM" | "TRAIL_CAM" | "DRONE" | "PHONE" | "PTZ";
2317
2333
  status: "ERROR" | "MAINTENANCE" | "ONLINE" | "OFFLINE" | "RECORDING";
2318
2334
  id: string;
2319
2335
  name: string;
@@ -2326,6 +2342,10 @@ export declare const monitoringVisualizationRouter: {
2326
2342
  lastFrameAt: string | null;
2327
2343
  fieldOfView: number | null;
2328
2344
  streamEnabled: boolean;
2345
+ ingestMode?: "ftp_push" | "device_agent" | undefined;
2346
+ expectedIntervalSeconds?: number | null | undefined;
2347
+ lastIngestAt?: string | null | undefined;
2348
+ ftpUsername?: string | null | undefined;
2329
2349
  }[];
2330
2350
  totalCameras: number;
2331
2351
  }>;
@@ -2342,11 +2362,11 @@ export declare const monitoringVisualizationRouter: {
2342
2362
  };
2343
2363
  };
2344
2364
  createCamera: {
2345
- summary: "Register a new camera";
2365
+ summary: "Register a new camera (FTP-push returns one-time credentials)";
2346
2366
  method: "POST";
2347
2367
  body: z.ZodObject<{
2348
2368
  name: z.ZodString;
2349
- type: z.ZodEnum<["IP_CAMERA", "WEBCAM", "TRAIL_CAM", "DRONE", "PHONE"]>;
2369
+ type: z.ZodEnum<["IP_CAMERA", "WEBCAM", "TRAIL_CAM", "DRONE", "PHONE", "PTZ"]>;
2350
2370
  latitude: z.ZodNumber;
2351
2371
  longitude: z.ZodNumber;
2352
2372
  streamUrl: z.ZodOptional<z.ZodString>;
@@ -2355,8 +2375,10 @@ export declare const monitoringVisualizationRouter: {
2355
2375
  manufacturer: z.ZodOptional<z.ZodString>;
2356
2376
  model: z.ZodOptional<z.ZodString>;
2357
2377
  resolution: z.ZodOptional<z.ZodString>;
2378
+ ingestMode: z.ZodOptional<z.ZodEnum<["ftp_push", "device_agent"]>>;
2379
+ expectedIntervalSeconds: z.ZodOptional<z.ZodNumber>;
2358
2380
  }, "strip", z.ZodTypeAny, {
2359
- type: "IP_CAMERA" | "WEBCAM" | "TRAIL_CAM" | "DRONE" | "PHONE";
2381
+ type: "IP_CAMERA" | "WEBCAM" | "TRAIL_CAM" | "DRONE" | "PHONE" | "PTZ";
2360
2382
  name: string;
2361
2383
  latitude: number;
2362
2384
  longitude: number;
@@ -2365,9 +2387,11 @@ export declare const monitoringVisualizationRouter: {
2365
2387
  resolution?: string | undefined;
2366
2388
  manufacturer?: string | undefined;
2367
2389
  fieldOfView?: number | undefined;
2390
+ ingestMode?: "ftp_push" | "device_agent" | undefined;
2391
+ expectedIntervalSeconds?: number | undefined;
2368
2392
  streamUrl?: string | undefined;
2369
2393
  }, {
2370
- type: "IP_CAMERA" | "WEBCAM" | "TRAIL_CAM" | "DRONE" | "PHONE";
2394
+ type: "IP_CAMERA" | "WEBCAM" | "TRAIL_CAM" | "DRONE" | "PHONE" | "PTZ";
2371
2395
  name: string;
2372
2396
  latitude: number;
2373
2397
  longitude: number;
@@ -2376,6 +2400,8 @@ export declare const monitoringVisualizationRouter: {
2376
2400
  resolution?: string | undefined;
2377
2401
  manufacturer?: string | undefined;
2378
2402
  fieldOfView?: number | undefined;
2403
+ ingestMode?: "ftp_push" | "device_agent" | undefined;
2404
+ expectedIntervalSeconds?: number | undefined;
2379
2405
  streamUrl?: string | undefined;
2380
2406
  }>;
2381
2407
  path: "/farms/:farmId/fields/:fieldId/cameras";
@@ -2383,7 +2409,7 @@ export declare const monitoringVisualizationRouter: {
2383
2409
  201: z.ZodObject<{
2384
2410
  id: z.ZodString;
2385
2411
  name: z.ZodString;
2386
- type: z.ZodEnum<["IP_CAMERA", "WEBCAM", "TRAIL_CAM", "DRONE", "PHONE"]>;
2412
+ type: z.ZodEnum<["IP_CAMERA", "WEBCAM", "TRAIL_CAM", "DRONE", "PHONE", "PTZ"]>;
2387
2413
  location: z.ZodObject<{
2388
2414
  lat: z.ZodNumber;
2389
2415
  lng: z.ZodNumber;
@@ -2400,8 +2426,38 @@ export declare const monitoringVisualizationRouter: {
2400
2426
  direction: z.ZodNullable<z.ZodNumber>;
2401
2427
  fieldOfView: z.ZodNullable<z.ZodNumber>;
2402
2428
  streamEnabled: z.ZodBoolean;
2429
+ ingestMode: z.ZodOptional<z.ZodEnum<["ftp_push", "device_agent"]>>;
2430
+ expectedIntervalSeconds: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
2431
+ lastIngestAt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
2432
+ ftpUsername: z.ZodOptional<z.ZodNullable<z.ZodString>>;
2433
+ } & {
2434
+ ftp: z.ZodOptional<z.ZodObject<{
2435
+ host: z.ZodString;
2436
+ port: z.ZodNumber;
2437
+ username: z.ZodString;
2438
+ password: z.ZodString;
2439
+ path: z.ZodString;
2440
+ recommendedIntervalSeconds: z.ZodNumber;
2441
+ checklist: z.ZodArray<z.ZodString, "many">;
2442
+ }, "strip", z.ZodTypeAny, {
2443
+ path: string;
2444
+ password: string;
2445
+ host: string;
2446
+ port: number;
2447
+ username: string;
2448
+ recommendedIntervalSeconds: number;
2449
+ checklist: string[];
2450
+ }, {
2451
+ path: string;
2452
+ password: string;
2453
+ host: string;
2454
+ port: number;
2455
+ username: string;
2456
+ recommendedIntervalSeconds: number;
2457
+ checklist: string[];
2458
+ }>>;
2403
2459
  }, "strip", z.ZodTypeAny, {
2404
- type: "IP_CAMERA" | "WEBCAM" | "TRAIL_CAM" | "DRONE" | "PHONE";
2460
+ type: "IP_CAMERA" | "WEBCAM" | "TRAIL_CAM" | "DRONE" | "PHONE" | "PTZ";
2405
2461
  status: "ERROR" | "MAINTENANCE" | "ONLINE" | "OFFLINE" | "RECORDING";
2406
2462
  id: string;
2407
2463
  name: string;
@@ -2414,8 +2470,21 @@ export declare const monitoringVisualizationRouter: {
2414
2470
  lastFrameAt: string | null;
2415
2471
  fieldOfView: number | null;
2416
2472
  streamEnabled: boolean;
2473
+ ingestMode?: "ftp_push" | "device_agent" | undefined;
2474
+ expectedIntervalSeconds?: number | null | undefined;
2475
+ lastIngestAt?: string | null | undefined;
2476
+ ftpUsername?: string | null | undefined;
2477
+ ftp?: {
2478
+ path: string;
2479
+ password: string;
2480
+ host: string;
2481
+ port: number;
2482
+ username: string;
2483
+ recommendedIntervalSeconds: number;
2484
+ checklist: string[];
2485
+ } | undefined;
2417
2486
  }, {
2418
- type: "IP_CAMERA" | "WEBCAM" | "TRAIL_CAM" | "DRONE" | "PHONE";
2487
+ type: "IP_CAMERA" | "WEBCAM" | "TRAIL_CAM" | "DRONE" | "PHONE" | "PTZ";
2419
2488
  status: "ERROR" | "MAINTENANCE" | "ONLINE" | "OFFLINE" | "RECORDING";
2420
2489
  id: string;
2421
2490
  name: string;
@@ -2428,6 +2497,19 @@ export declare const monitoringVisualizationRouter: {
2428
2497
  lastFrameAt: string | null;
2429
2498
  fieldOfView: number | null;
2430
2499
  streamEnabled: boolean;
2500
+ ingestMode?: "ftp_push" | "device_agent" | undefined;
2501
+ expectedIntervalSeconds?: number | null | undefined;
2502
+ lastIngestAt?: string | null | undefined;
2503
+ ftpUsername?: string | null | undefined;
2504
+ ftp?: {
2505
+ path: string;
2506
+ password: string;
2507
+ host: string;
2508
+ port: number;
2509
+ username: string;
2510
+ recommendedIntervalSeconds: number;
2511
+ checklist: string[];
2512
+ } | undefined;
2431
2513
  }>;
2432
2514
  404: z.ZodObject<{
2433
2515
  message: z.ZodString;
@@ -2459,7 +2541,7 @@ export declare const monitoringVisualizationRouter: {
2459
2541
  200: z.ZodObject<{
2460
2542
  id: z.ZodString;
2461
2543
  name: z.ZodString;
2462
- type: z.ZodEnum<["IP_CAMERA", "WEBCAM", "TRAIL_CAM", "DRONE", "PHONE"]>;
2544
+ type: z.ZodEnum<["IP_CAMERA", "WEBCAM", "TRAIL_CAM", "DRONE", "PHONE", "PTZ"]>;
2463
2545
  location: z.ZodObject<{
2464
2546
  lat: z.ZodNumber;
2465
2547
  lng: z.ZodNumber;
@@ -2476,8 +2558,32 @@ export declare const monitoringVisualizationRouter: {
2476
2558
  direction: z.ZodNullable<z.ZodNumber>;
2477
2559
  fieldOfView: z.ZodNullable<z.ZodNumber>;
2478
2560
  streamEnabled: z.ZodBoolean;
2561
+ ingestMode: z.ZodOptional<z.ZodEnum<["ftp_push", "device_agent"]>>;
2562
+ expectedIntervalSeconds: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
2563
+ lastIngestAt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
2564
+ ftpUsername: z.ZodOptional<z.ZodNullable<z.ZodString>>;
2565
+ } & {
2566
+ snapshots: z.ZodOptional<z.ZodArray<z.ZodObject<{
2567
+ id: z.ZodString;
2568
+ imageUrl: z.ZodString;
2569
+ capturedAt: z.ZodString;
2570
+ triggerType: z.ZodOptional<z.ZodNullable<z.ZodString>>;
2571
+ metadata: z.ZodOptional<z.ZodUnknown>;
2572
+ }, "strip", z.ZodTypeAny, {
2573
+ id: string;
2574
+ imageUrl: string;
2575
+ capturedAt: string;
2576
+ metadata?: unknown;
2577
+ triggerType?: string | null | undefined;
2578
+ }, {
2579
+ id: string;
2580
+ imageUrl: string;
2581
+ capturedAt: string;
2582
+ metadata?: unknown;
2583
+ triggerType?: string | null | undefined;
2584
+ }>, "many">>;
2479
2585
  }, "strip", z.ZodTypeAny, {
2480
- type: "IP_CAMERA" | "WEBCAM" | "TRAIL_CAM" | "DRONE" | "PHONE";
2586
+ type: "IP_CAMERA" | "WEBCAM" | "TRAIL_CAM" | "DRONE" | "PHONE" | "PTZ";
2481
2587
  status: "ERROR" | "MAINTENANCE" | "ONLINE" | "OFFLINE" | "RECORDING";
2482
2588
  id: string;
2483
2589
  name: string;
@@ -2490,8 +2596,19 @@ export declare const monitoringVisualizationRouter: {
2490
2596
  lastFrameAt: string | null;
2491
2597
  fieldOfView: number | null;
2492
2598
  streamEnabled: boolean;
2599
+ ingestMode?: "ftp_push" | "device_agent" | undefined;
2600
+ expectedIntervalSeconds?: number | null | undefined;
2601
+ lastIngestAt?: string | null | undefined;
2602
+ ftpUsername?: string | null | undefined;
2603
+ snapshots?: {
2604
+ id: string;
2605
+ imageUrl: string;
2606
+ capturedAt: string;
2607
+ metadata?: unknown;
2608
+ triggerType?: string | null | undefined;
2609
+ }[] | undefined;
2493
2610
  }, {
2494
- type: "IP_CAMERA" | "WEBCAM" | "TRAIL_CAM" | "DRONE" | "PHONE";
2611
+ type: "IP_CAMERA" | "WEBCAM" | "TRAIL_CAM" | "DRONE" | "PHONE" | "PTZ";
2495
2612
  status: "ERROR" | "MAINTENANCE" | "ONLINE" | "OFFLINE" | "RECORDING";
2496
2613
  id: string;
2497
2614
  name: string;
@@ -2504,6 +2621,17 @@ export declare const monitoringVisualizationRouter: {
2504
2621
  lastFrameAt: string | null;
2505
2622
  fieldOfView: number | null;
2506
2623
  streamEnabled: boolean;
2624
+ ingestMode?: "ftp_push" | "device_agent" | undefined;
2625
+ expectedIntervalSeconds?: number | null | undefined;
2626
+ lastIngestAt?: string | null | undefined;
2627
+ ftpUsername?: string | null | undefined;
2628
+ snapshots?: {
2629
+ id: string;
2630
+ imageUrl: string;
2631
+ capturedAt: string;
2632
+ metadata?: unknown;
2633
+ triggerType?: string | null | undefined;
2634
+ }[] | undefined;
2507
2635
  }>;
2508
2636
  404: z.ZodObject<{
2509
2637
  message: z.ZodString;
@@ -2941,12 +3069,12 @@ export declare const monitoringVisualizationRouter: {
2941
3069
  label: z.ZodString;
2942
3070
  }, "strip", z.ZodTypeAny, {
2943
3071
  value: number;
2944
- color: string;
2945
3072
  label: string;
3073
+ color: string;
2946
3074
  }, {
2947
3075
  value: number;
2948
- color: string;
2949
3076
  label: string;
3077
+ color: string;
2950
3078
  }>, "many">;
2951
3079
  dataSource: z.ZodString;
2952
3080
  }, "strip", z.ZodTypeAny, {
@@ -2967,8 +3095,8 @@ export declare const monitoringVisualizationRouter: {
2967
3095
  };
2968
3096
  colorScale: {
2969
3097
  value: number;
2970
- color: string;
2971
3098
  label: string;
3099
+ color: string;
2972
3100
  }[];
2973
3101
  dataSource: string;
2974
3102
  }, {
@@ -2989,8 +3117,8 @@ export declare const monitoringVisualizationRouter: {
2989
3117
  };
2990
3118
  colorScale: {
2991
3119
  value: number;
2992
- color: string;
2993
3120
  label: string;
3121
+ color: string;
2994
3122
  }[];
2995
3123
  dataSource: string;
2996
3124
  }>;
@@ -3325,12 +3453,12 @@ export declare const monitoringVisualizationRouter: {
3325
3453
  label: z.ZodString;
3326
3454
  }, "strip", z.ZodTypeAny, {
3327
3455
  value: number;
3328
- color: string;
3329
3456
  label: string;
3457
+ color: string;
3330
3458
  }, {
3331
3459
  value: number;
3332
- color: string;
3333
3460
  label: string;
3461
+ color: string;
3334
3462
  }>, "many">;
3335
3463
  recommendations: z.ZodOptional<z.ZodArray<z.ZodObject<{
3336
3464
  slopeClass: z.ZodString;
@@ -3348,6 +3476,7 @@ export declare const monitoringVisualizationRouter: {
3348
3476
  }, "strip", z.ZodTypeAny, {
3349
3477
  unit: "percent" | "degrees";
3350
3478
  fieldId: string;
3479
+ imageUrl: string | null;
3351
3480
  classification: {
3352
3481
  description: string;
3353
3482
  color: string;
@@ -3357,7 +3486,6 @@ export declare const monitoringVisualizationRouter: {
3357
3486
  areaHectares: number;
3358
3487
  areaPercent: number;
3359
3488
  }[];
3360
- imageUrl: string | null;
3361
3489
  bounds: {
3362
3490
  north: number;
3363
3491
  south: number;
@@ -3372,8 +3500,8 @@ export declare const monitoringVisualizationRouter: {
3372
3500
  };
3373
3501
  colorScale: {
3374
3502
  value: number;
3375
- color: string;
3376
3503
  label: string;
3504
+ color: string;
3377
3505
  }[];
3378
3506
  recommendations?: {
3379
3507
  recommendation: string;
@@ -3383,6 +3511,7 @@ export declare const monitoringVisualizationRouter: {
3383
3511
  }, {
3384
3512
  unit: "percent" | "degrees";
3385
3513
  fieldId: string;
3514
+ imageUrl: string | null;
3386
3515
  classification: {
3387
3516
  description: string;
3388
3517
  color: string;
@@ -3392,7 +3521,6 @@ export declare const monitoringVisualizationRouter: {
3392
3521
  areaHectares: number;
3393
3522
  areaPercent: number;
3394
3523
  }[];
3395
- imageUrl: string | null;
3396
3524
  bounds: {
3397
3525
  north: number;
3398
3526
  south: number;
@@ -3407,8 +3535,8 @@ export declare const monitoringVisualizationRouter: {
3407
3535
  };
3408
3536
  colorScale: {
3409
3537
  value: number;
3410
- color: string;
3411
3538
  label: string;
3539
+ color: string;
3412
3540
  }[];
3413
3541
  recommendations?: {
3414
3542
  recommendation: string;
@@ -3535,6 +3663,7 @@ export declare const monitoringVisualizationRouter: {
3535
3663
  }>>;
3536
3664
  }, "strip", z.ZodTypeAny, {
3537
3665
  fieldId: string;
3666
+ imageUrl: string | null;
3538
3667
  classification: {
3539
3668
  direction: "flat" | "N" | "S" | "NE" | "E" | "SE" | "SW" | "W" | "NW";
3540
3669
  color: string;
@@ -3544,7 +3673,6 @@ export declare const monitoringVisualizationRouter: {
3544
3673
  maxDegrees: number;
3545
3674
  sunExposure: "low" | "medium" | "high";
3546
3675
  }[];
3547
- imageUrl: string | null;
3548
3676
  bounds: {
3549
3677
  north: number;
3550
3678
  south: number;
@@ -3568,6 +3696,7 @@ export declare const monitoringVisualizationRouter: {
3568
3696
  } | undefined;
3569
3697
  }, {
3570
3698
  fieldId: string;
3699
+ imageUrl: string | null;
3571
3700
  classification: {
3572
3701
  direction: "flat" | "N" | "S" | "NE" | "E" | "SE" | "SW" | "W" | "NW";
3573
3702
  color: string;
@@ -3577,7 +3706,6 @@ export declare const monitoringVisualizationRouter: {
3577
3706
  maxDegrees: number;
3578
3707
  sunExposure: "low" | "medium" | "high";
3579
3708
  }[];
3580
- imageUrl: string | null;
3581
3709
  bounds: {
3582
3710
  north: number;
3583
3711
  south: number;