@deepintel-ltd/farmpro-contracts 1.7.21 → 1.9.0

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.
@@ -0,0 +1,1768 @@
1
+ import { z } from 'zod';
2
+ export declare const deviceErrorSchema: z.ZodObject<{
3
+ message: z.ZodString;
4
+ code: z.ZodString;
5
+ }, "strip", z.ZodTypeAny, {
6
+ code: string;
7
+ message: string;
8
+ }, {
9
+ code: string;
10
+ message: string;
11
+ }>;
12
+ export declare const fieldDeviceTypeSchema: z.ZodEnum<["GREENHOUSE", "OPEN_FIELD"]>;
13
+ export declare const deviceTransportSchema: z.ZodEnum<["WIFI", "LORA", "CELLULAR_DIRECT"]>;
14
+ export declare const actuatorTypeSchema: z.ZodEnum<["IRRIGATION_VALVE", "FERT_PUMP_A", "FERT_PUMP_B", "FAN"]>;
15
+ export declare const actuatorStatesSchema: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
16
+ export declare const heartbeatRequestSchema: z.ZodObject<{
17
+ deviceId: z.ZodString;
18
+ firmwareVersion: z.ZodOptional<z.ZodString>;
19
+ uptimeSec: z.ZodOptional<z.ZodNumber>;
20
+ wifiRssi: z.ZodOptional<z.ZodNumber>;
21
+ freeHeap: z.ZodOptional<z.ZodNumber>;
22
+ bufferedReadingsCount: z.ZodOptional<z.ZodNumber>;
23
+ bufferOverflow: z.ZodOptional<z.ZodBoolean>;
24
+ actuatorStates: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
25
+ }, "strip", z.ZodTypeAny, {
26
+ deviceId: string;
27
+ firmwareVersion?: string | undefined;
28
+ uptimeSec?: number | undefined;
29
+ wifiRssi?: number | undefined;
30
+ freeHeap?: number | undefined;
31
+ bufferedReadingsCount?: number | undefined;
32
+ bufferOverflow?: boolean | undefined;
33
+ actuatorStates?: Record<string, string> | undefined;
34
+ }, {
35
+ deviceId: string;
36
+ firmwareVersion?: string | undefined;
37
+ uptimeSec?: number | undefined;
38
+ wifiRssi?: number | undefined;
39
+ freeHeap?: number | undefined;
40
+ bufferedReadingsCount?: number | undefined;
41
+ bufferOverflow?: boolean | undefined;
42
+ actuatorStates?: Record<string, string> | undefined;
43
+ }>;
44
+ export declare const pumpCalibrationSchema: z.ZodObject<{
45
+ mlPerSecond: z.ZodNumber;
46
+ calibratedAt: z.ZodOptional<z.ZodString>;
47
+ }, "strip", z.ZodTypeAny, {
48
+ mlPerSecond: number;
49
+ calibratedAt?: string | undefined;
50
+ }, {
51
+ mlPerSecond: number;
52
+ calibratedAt?: string | undefined;
53
+ }>;
54
+ export declare const deviceConfigSchema: z.ZodObject<{
55
+ heartbeatIntervalSec: z.ZodOptional<z.ZodNumber>;
56
+ commandPollIntervalSec: z.ZodOptional<z.ZodNumber>;
57
+ sensorIntervals: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
58
+ pumpCalibration: z.ZodOptional<z.ZodObject<{
59
+ fert_pump_a: z.ZodOptional<z.ZodObject<{
60
+ mlPerSecond: z.ZodNumber;
61
+ calibratedAt: z.ZodOptional<z.ZodString>;
62
+ }, "strip", z.ZodTypeAny, {
63
+ mlPerSecond: number;
64
+ calibratedAt?: string | undefined;
65
+ }, {
66
+ mlPerSecond: number;
67
+ calibratedAt?: string | undefined;
68
+ }>>;
69
+ fert_pump_b: z.ZodOptional<z.ZodObject<{
70
+ mlPerSecond: z.ZodNumber;
71
+ calibratedAt: z.ZodOptional<z.ZodString>;
72
+ }, "strip", z.ZodTypeAny, {
73
+ mlPerSecond: number;
74
+ calibratedAt?: string | undefined;
75
+ }, {
76
+ mlPerSecond: number;
77
+ calibratedAt?: string | undefined;
78
+ }>>;
79
+ }, "strip", z.ZodTypeAny, {
80
+ fert_pump_a?: {
81
+ mlPerSecond: number;
82
+ calibratedAt?: string | undefined;
83
+ } | undefined;
84
+ fert_pump_b?: {
85
+ mlPerSecond: number;
86
+ calibratedAt?: string | undefined;
87
+ } | undefined;
88
+ }, {
89
+ fert_pump_a?: {
90
+ mlPerSecond: number;
91
+ calibratedAt?: string | undefined;
92
+ } | undefined;
93
+ fert_pump_b?: {
94
+ mlPerSecond: number;
95
+ calibratedAt?: string | undefined;
96
+ } | undefined;
97
+ }>>;
98
+ gpioMap: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
99
+ }, "strip", z.ZodTypeAny, {
100
+ heartbeatIntervalSec?: number | undefined;
101
+ commandPollIntervalSec?: number | undefined;
102
+ sensorIntervals?: Record<string, number> | undefined;
103
+ pumpCalibration?: {
104
+ fert_pump_a?: {
105
+ mlPerSecond: number;
106
+ calibratedAt?: string | undefined;
107
+ } | undefined;
108
+ fert_pump_b?: {
109
+ mlPerSecond: number;
110
+ calibratedAt?: string | undefined;
111
+ } | undefined;
112
+ } | undefined;
113
+ gpioMap?: Record<string, number> | undefined;
114
+ }, {
115
+ heartbeatIntervalSec?: number | undefined;
116
+ commandPollIntervalSec?: number | undefined;
117
+ sensorIntervals?: Record<string, number> | undefined;
118
+ pumpCalibration?: {
119
+ fert_pump_a?: {
120
+ mlPerSecond: number;
121
+ calibratedAt?: string | undefined;
122
+ } | undefined;
123
+ fert_pump_b?: {
124
+ mlPerSecond: number;
125
+ calibratedAt?: string | undefined;
126
+ } | undefined;
127
+ } | undefined;
128
+ gpioMap?: Record<string, number> | undefined;
129
+ }>;
130
+ export declare const heartbeatResponseSchema: z.ZodObject<{
131
+ serverTime: z.ZodString;
132
+ config: z.ZodObject<{
133
+ heartbeatIntervalSec: z.ZodOptional<z.ZodNumber>;
134
+ commandPollIntervalSec: z.ZodOptional<z.ZodNumber>;
135
+ sensorIntervals: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
136
+ pumpCalibration: z.ZodOptional<z.ZodObject<{
137
+ fert_pump_a: z.ZodOptional<z.ZodObject<{
138
+ mlPerSecond: z.ZodNumber;
139
+ calibratedAt: z.ZodOptional<z.ZodString>;
140
+ }, "strip", z.ZodTypeAny, {
141
+ mlPerSecond: number;
142
+ calibratedAt?: string | undefined;
143
+ }, {
144
+ mlPerSecond: number;
145
+ calibratedAt?: string | undefined;
146
+ }>>;
147
+ fert_pump_b: z.ZodOptional<z.ZodObject<{
148
+ mlPerSecond: z.ZodNumber;
149
+ calibratedAt: z.ZodOptional<z.ZodString>;
150
+ }, "strip", z.ZodTypeAny, {
151
+ mlPerSecond: number;
152
+ calibratedAt?: string | undefined;
153
+ }, {
154
+ mlPerSecond: number;
155
+ calibratedAt?: string | undefined;
156
+ }>>;
157
+ }, "strip", z.ZodTypeAny, {
158
+ fert_pump_a?: {
159
+ mlPerSecond: number;
160
+ calibratedAt?: string | undefined;
161
+ } | undefined;
162
+ fert_pump_b?: {
163
+ mlPerSecond: number;
164
+ calibratedAt?: string | undefined;
165
+ } | undefined;
166
+ }, {
167
+ fert_pump_a?: {
168
+ mlPerSecond: number;
169
+ calibratedAt?: string | undefined;
170
+ } | undefined;
171
+ fert_pump_b?: {
172
+ mlPerSecond: number;
173
+ calibratedAt?: string | undefined;
174
+ } | undefined;
175
+ }>>;
176
+ gpioMap: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
177
+ }, "strip", z.ZodTypeAny, {
178
+ heartbeatIntervalSec?: number | undefined;
179
+ commandPollIntervalSec?: number | undefined;
180
+ sensorIntervals?: Record<string, number> | undefined;
181
+ pumpCalibration?: {
182
+ fert_pump_a?: {
183
+ mlPerSecond: number;
184
+ calibratedAt?: string | undefined;
185
+ } | undefined;
186
+ fert_pump_b?: {
187
+ mlPerSecond: number;
188
+ calibratedAt?: string | undefined;
189
+ } | undefined;
190
+ } | undefined;
191
+ gpioMap?: Record<string, number> | undefined;
192
+ }, {
193
+ heartbeatIntervalSec?: number | undefined;
194
+ commandPollIntervalSec?: number | undefined;
195
+ sensorIntervals?: Record<string, number> | undefined;
196
+ pumpCalibration?: {
197
+ fert_pump_a?: {
198
+ mlPerSecond: number;
199
+ calibratedAt?: string | undefined;
200
+ } | undefined;
201
+ fert_pump_b?: {
202
+ mlPerSecond: number;
203
+ calibratedAt?: string | undefined;
204
+ } | undefined;
205
+ } | undefined;
206
+ gpioMap?: Record<string, number> | undefined;
207
+ }>;
208
+ }, "strip", z.ZodTypeAny, {
209
+ serverTime: string;
210
+ config: {
211
+ heartbeatIntervalSec?: number | undefined;
212
+ commandPollIntervalSec?: number | undefined;
213
+ sensorIntervals?: Record<string, number> | undefined;
214
+ pumpCalibration?: {
215
+ fert_pump_a?: {
216
+ mlPerSecond: number;
217
+ calibratedAt?: string | undefined;
218
+ } | undefined;
219
+ fert_pump_b?: {
220
+ mlPerSecond: number;
221
+ calibratedAt?: string | undefined;
222
+ } | undefined;
223
+ } | undefined;
224
+ gpioMap?: Record<string, number> | undefined;
225
+ };
226
+ }, {
227
+ serverTime: string;
228
+ config: {
229
+ heartbeatIntervalSec?: number | undefined;
230
+ commandPollIntervalSec?: number | undefined;
231
+ sensorIntervals?: Record<string, number> | undefined;
232
+ pumpCalibration?: {
233
+ fert_pump_a?: {
234
+ mlPerSecond: number;
235
+ calibratedAt?: string | undefined;
236
+ } | undefined;
237
+ fert_pump_b?: {
238
+ mlPerSecond: number;
239
+ calibratedAt?: string | undefined;
240
+ } | undefined;
241
+ } | undefined;
242
+ gpioMap?: Record<string, number> | undefined;
243
+ };
244
+ }>;
245
+ export declare const sensorReadingRequestSchema: z.ZodObject<{
246
+ value: z.ZodNumber;
247
+ unit: z.ZodString;
248
+ quality: z.ZodOptional<z.ZodEnum<["good", "fair", "poor"]>>;
249
+ readAt: z.ZodString;
250
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
251
+ }, "strip", z.ZodTypeAny, {
252
+ value: number;
253
+ unit: string;
254
+ readAt: string;
255
+ metadata?: Record<string, unknown> | undefined;
256
+ quality?: "poor" | "fair" | "good" | undefined;
257
+ }, {
258
+ value: number;
259
+ unit: string;
260
+ readAt: string;
261
+ metadata?: Record<string, unknown> | undefined;
262
+ quality?: "poor" | "fair" | "good" | undefined;
263
+ }>;
264
+ export declare const sensorReadingResponseSchema: z.ZodObject<{
265
+ readingId: z.ZodString;
266
+ alertTriggered: z.ZodBoolean;
267
+ }, "strip", z.ZodTypeAny, {
268
+ readingId: string;
269
+ alertTriggered: boolean;
270
+ }, {
271
+ readingId: string;
272
+ alertTriggered: boolean;
273
+ }>;
274
+ export declare const batchReadingItemSchema: z.ZodObject<{
275
+ sensorId: z.ZodString;
276
+ value: z.ZodNumber;
277
+ unit: z.ZodString;
278
+ quality: z.ZodOptional<z.ZodEnum<["good", "fair", "poor"]>>;
279
+ readAt: z.ZodString;
280
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
281
+ }, "strip", z.ZodTypeAny, {
282
+ value: number;
283
+ unit: string;
284
+ readAt: string;
285
+ sensorId: string;
286
+ metadata?: Record<string, unknown> | undefined;
287
+ quality?: "poor" | "fair" | "good" | undefined;
288
+ }, {
289
+ value: number;
290
+ unit: string;
291
+ readAt: string;
292
+ sensorId: string;
293
+ metadata?: Record<string, unknown> | undefined;
294
+ quality?: "poor" | "fair" | "good" | undefined;
295
+ }>;
296
+ export declare const batchReadingsRequestSchema: z.ZodObject<{
297
+ readings: z.ZodArray<z.ZodObject<{
298
+ sensorId: z.ZodString;
299
+ value: z.ZodNumber;
300
+ unit: z.ZodString;
301
+ quality: z.ZodOptional<z.ZodEnum<["good", "fair", "poor"]>>;
302
+ readAt: z.ZodString;
303
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
304
+ }, "strip", z.ZodTypeAny, {
305
+ value: number;
306
+ unit: string;
307
+ readAt: string;
308
+ sensorId: string;
309
+ metadata?: Record<string, unknown> | undefined;
310
+ quality?: "poor" | "fair" | "good" | undefined;
311
+ }, {
312
+ value: number;
313
+ unit: string;
314
+ readAt: string;
315
+ sensorId: string;
316
+ metadata?: Record<string, unknown> | undefined;
317
+ quality?: "poor" | "fair" | "good" | undefined;
318
+ }>, "many">;
319
+ }, "strip", z.ZodTypeAny, {
320
+ readings: {
321
+ value: number;
322
+ unit: string;
323
+ readAt: string;
324
+ sensorId: string;
325
+ metadata?: Record<string, unknown> | undefined;
326
+ quality?: "poor" | "fair" | "good" | undefined;
327
+ }[];
328
+ }, {
329
+ readings: {
330
+ value: number;
331
+ unit: string;
332
+ readAt: string;
333
+ sensorId: string;
334
+ metadata?: Record<string, unknown> | undefined;
335
+ quality?: "poor" | "fair" | "good" | undefined;
336
+ }[];
337
+ }>;
338
+ export declare const batchReadingsResponseSchema: z.ZodObject<{
339
+ accepted: z.ZodNumber;
340
+ rejected: z.ZodNumber;
341
+ alertsTriggered: z.ZodNumber;
342
+ }, "strip", z.ZodTypeAny, {
343
+ accepted: number;
344
+ rejected: number;
345
+ alertsTriggered: number;
346
+ }, {
347
+ accepted: number;
348
+ rejected: number;
349
+ alertsTriggered: number;
350
+ }>;
351
+ export declare const deviceCommandSchema: z.ZodObject<{
352
+ id: z.ZodString;
353
+ actuatorId: z.ZodString;
354
+ actuatorType: z.ZodEnum<["IRRIGATION_VALVE", "FERT_PUMP_A", "FERT_PUMP_B", "FAN"]>;
355
+ command: z.ZodEnum<["ON", "OFF", "PULSE"]>;
356
+ durationSec: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
357
+ source: z.ZodString;
358
+ createdAt: z.ZodString;
359
+ }, "strip", z.ZodTypeAny, {
360
+ id: string;
361
+ source: string;
362
+ createdAt: string;
363
+ actuatorId: string;
364
+ actuatorType: "IRRIGATION_VALVE" | "FERT_PUMP_A" | "FERT_PUMP_B" | "FAN";
365
+ command: "ON" | "OFF" | "PULSE";
366
+ durationSec?: number | null | undefined;
367
+ }, {
368
+ id: string;
369
+ source: string;
370
+ createdAt: string;
371
+ actuatorId: string;
372
+ actuatorType: "IRRIGATION_VALVE" | "FERT_PUMP_A" | "FERT_PUMP_B" | "FAN";
373
+ command: "ON" | "OFF" | "PULSE";
374
+ durationSec?: number | null | undefined;
375
+ }>;
376
+ export declare const listCommandsQuerySchema: z.ZodObject<{
377
+ deviceId: z.ZodString;
378
+ }, "strip", z.ZodTypeAny, {
379
+ deviceId: string;
380
+ }, {
381
+ deviceId: string;
382
+ }>;
383
+ export declare const listCommandsResponseSchema: z.ZodObject<{
384
+ commands: z.ZodArray<z.ZodObject<{
385
+ id: z.ZodString;
386
+ actuatorId: z.ZodString;
387
+ actuatorType: z.ZodEnum<["IRRIGATION_VALVE", "FERT_PUMP_A", "FERT_PUMP_B", "FAN"]>;
388
+ command: z.ZodEnum<["ON", "OFF", "PULSE"]>;
389
+ durationSec: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
390
+ source: z.ZodString;
391
+ createdAt: z.ZodString;
392
+ }, "strip", z.ZodTypeAny, {
393
+ id: string;
394
+ source: string;
395
+ createdAt: string;
396
+ actuatorId: string;
397
+ actuatorType: "IRRIGATION_VALVE" | "FERT_PUMP_A" | "FERT_PUMP_B" | "FAN";
398
+ command: "ON" | "OFF" | "PULSE";
399
+ durationSec?: number | null | undefined;
400
+ }, {
401
+ id: string;
402
+ source: string;
403
+ createdAt: string;
404
+ actuatorId: string;
405
+ actuatorType: "IRRIGATION_VALVE" | "FERT_PUMP_A" | "FERT_PUMP_B" | "FAN";
406
+ command: "ON" | "OFF" | "PULSE";
407
+ durationSec?: number | null | undefined;
408
+ }>, "many">;
409
+ }, "strip", z.ZodTypeAny, {
410
+ commands: {
411
+ id: string;
412
+ source: string;
413
+ createdAt: string;
414
+ actuatorId: string;
415
+ actuatorType: "IRRIGATION_VALVE" | "FERT_PUMP_A" | "FERT_PUMP_B" | "FAN";
416
+ command: "ON" | "OFF" | "PULSE";
417
+ durationSec?: number | null | undefined;
418
+ }[];
419
+ }, {
420
+ commands: {
421
+ id: string;
422
+ source: string;
423
+ createdAt: string;
424
+ actuatorId: string;
425
+ actuatorType: "IRRIGATION_VALVE" | "FERT_PUMP_A" | "FERT_PUMP_B" | "FAN";
426
+ command: "ON" | "OFF" | "PULSE";
427
+ durationSec?: number | null | undefined;
428
+ }[];
429
+ }>;
430
+ export declare const commandAckRequestSchema: z.ZodObject<{
431
+ status: z.ZodEnum<["acked", "failed"]>;
432
+ executedAt: z.ZodString;
433
+ error: z.ZodOptional<z.ZodString>;
434
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
435
+ }, "strip", z.ZodTypeAny, {
436
+ status: "failed" | "acked";
437
+ executedAt: string;
438
+ metadata?: Record<string, unknown> | undefined;
439
+ error?: string | undefined;
440
+ }, {
441
+ status: "failed" | "acked";
442
+ executedAt: string;
443
+ metadata?: Record<string, unknown> | undefined;
444
+ error?: string | undefined;
445
+ }>;
446
+ export declare const commandAckResponseSchema: z.ZodObject<{
447
+ success: z.ZodBoolean;
448
+ }, "strip", z.ZodTypeAny, {
449
+ success: boolean;
450
+ }, {
451
+ success: boolean;
452
+ }>;
453
+ export declare const snapshotUploadResponseSchema: z.ZodObject<{
454
+ snapshotId: z.ZodString;
455
+ imageUrl: z.ZodString;
456
+ analysisQueued: z.ZodBoolean;
457
+ }, "strip", z.ZodTypeAny, {
458
+ imageUrl: string;
459
+ snapshotId: string;
460
+ analysisQueued: boolean;
461
+ }, {
462
+ imageUrl: string;
463
+ snapshotId: string;
464
+ analysisQueued: boolean;
465
+ }>;
466
+ export declare const createDeviceRequestSchema: z.ZodObject<{
467
+ name: z.ZodString;
468
+ config: z.ZodOptional<z.ZodObject<{
469
+ heartbeatIntervalSec: z.ZodOptional<z.ZodNumber>;
470
+ commandPollIntervalSec: z.ZodOptional<z.ZodNumber>;
471
+ sensorIntervals: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
472
+ pumpCalibration: z.ZodOptional<z.ZodObject<{
473
+ fert_pump_a: z.ZodOptional<z.ZodObject<{
474
+ mlPerSecond: z.ZodNumber;
475
+ calibratedAt: z.ZodOptional<z.ZodString>;
476
+ }, "strip", z.ZodTypeAny, {
477
+ mlPerSecond: number;
478
+ calibratedAt?: string | undefined;
479
+ }, {
480
+ mlPerSecond: number;
481
+ calibratedAt?: string | undefined;
482
+ }>>;
483
+ fert_pump_b: z.ZodOptional<z.ZodObject<{
484
+ mlPerSecond: z.ZodNumber;
485
+ calibratedAt: z.ZodOptional<z.ZodString>;
486
+ }, "strip", z.ZodTypeAny, {
487
+ mlPerSecond: number;
488
+ calibratedAt?: string | undefined;
489
+ }, {
490
+ mlPerSecond: number;
491
+ calibratedAt?: string | undefined;
492
+ }>>;
493
+ }, "strip", z.ZodTypeAny, {
494
+ fert_pump_a?: {
495
+ mlPerSecond: number;
496
+ calibratedAt?: string | undefined;
497
+ } | undefined;
498
+ fert_pump_b?: {
499
+ mlPerSecond: number;
500
+ calibratedAt?: string | undefined;
501
+ } | undefined;
502
+ }, {
503
+ fert_pump_a?: {
504
+ mlPerSecond: number;
505
+ calibratedAt?: string | undefined;
506
+ } | undefined;
507
+ fert_pump_b?: {
508
+ mlPerSecond: number;
509
+ calibratedAt?: string | undefined;
510
+ } | undefined;
511
+ }>>;
512
+ gpioMap: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
513
+ }, "strip", z.ZodTypeAny, {
514
+ heartbeatIntervalSec?: number | undefined;
515
+ commandPollIntervalSec?: number | undefined;
516
+ sensorIntervals?: Record<string, number> | undefined;
517
+ pumpCalibration?: {
518
+ fert_pump_a?: {
519
+ mlPerSecond: number;
520
+ calibratedAt?: string | undefined;
521
+ } | undefined;
522
+ fert_pump_b?: {
523
+ mlPerSecond: number;
524
+ calibratedAt?: string | undefined;
525
+ } | undefined;
526
+ } | undefined;
527
+ gpioMap?: Record<string, number> | undefined;
528
+ }, {
529
+ heartbeatIntervalSec?: number | undefined;
530
+ commandPollIntervalSec?: number | undefined;
531
+ sensorIntervals?: Record<string, number> | undefined;
532
+ pumpCalibration?: {
533
+ fert_pump_a?: {
534
+ mlPerSecond: number;
535
+ calibratedAt?: string | undefined;
536
+ } | undefined;
537
+ fert_pump_b?: {
538
+ mlPerSecond: number;
539
+ calibratedAt?: string | undefined;
540
+ } | undefined;
541
+ } | undefined;
542
+ gpioMap?: Record<string, number> | undefined;
543
+ }>>;
544
+ fieldType: z.ZodOptional<z.ZodEnum<["GREENHOUSE", "OPEN_FIELD"]>>;
545
+ transport: z.ZodOptional<z.ZodEnum<["WIFI", "LORA", "CELLULAR_DIRECT"]>>;
546
+ gatewayId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
547
+ }, "strip", z.ZodTypeAny, {
548
+ name: string;
549
+ config?: {
550
+ heartbeatIntervalSec?: number | undefined;
551
+ commandPollIntervalSec?: number | undefined;
552
+ sensorIntervals?: Record<string, number> | undefined;
553
+ pumpCalibration?: {
554
+ fert_pump_a?: {
555
+ mlPerSecond: number;
556
+ calibratedAt?: string | undefined;
557
+ } | undefined;
558
+ fert_pump_b?: {
559
+ mlPerSecond: number;
560
+ calibratedAt?: string | undefined;
561
+ } | undefined;
562
+ } | undefined;
563
+ gpioMap?: Record<string, number> | undefined;
564
+ } | undefined;
565
+ fieldType?: "GREENHOUSE" | "OPEN_FIELD" | undefined;
566
+ transport?: "WIFI" | "LORA" | "CELLULAR_DIRECT" | undefined;
567
+ gatewayId?: string | null | undefined;
568
+ }, {
569
+ name: string;
570
+ config?: {
571
+ heartbeatIntervalSec?: number | undefined;
572
+ commandPollIntervalSec?: number | undefined;
573
+ sensorIntervals?: Record<string, number> | undefined;
574
+ pumpCalibration?: {
575
+ fert_pump_a?: {
576
+ mlPerSecond: number;
577
+ calibratedAt?: string | undefined;
578
+ } | undefined;
579
+ fert_pump_b?: {
580
+ mlPerSecond: number;
581
+ calibratedAt?: string | undefined;
582
+ } | undefined;
583
+ } | undefined;
584
+ gpioMap?: Record<string, number> | undefined;
585
+ } | undefined;
586
+ fieldType?: "GREENHOUSE" | "OPEN_FIELD" | undefined;
587
+ transport?: "WIFI" | "LORA" | "CELLULAR_DIRECT" | undefined;
588
+ gatewayId?: string | null | undefined;
589
+ }>;
590
+ export declare const createDeviceResponseSchema: z.ZodObject<{
591
+ device: z.ZodObject<{
592
+ id: z.ZodString;
593
+ name: z.ZodString;
594
+ fieldId: z.ZodString;
595
+ farmId: z.ZodString;
596
+ createdAt: z.ZodString;
597
+ }, "strip", z.ZodTypeAny, {
598
+ id: string;
599
+ createdAt: string;
600
+ name: string;
601
+ farmId: string;
602
+ fieldId: string;
603
+ }, {
604
+ id: string;
605
+ createdAt: string;
606
+ name: string;
607
+ farmId: string;
608
+ fieldId: string;
609
+ }>;
610
+ apiKey: z.ZodString;
611
+ }, "strip", z.ZodTypeAny, {
612
+ device: {
613
+ id: string;
614
+ createdAt: string;
615
+ name: string;
616
+ farmId: string;
617
+ fieldId: string;
618
+ };
619
+ apiKey: string;
620
+ }, {
621
+ device: {
622
+ id: string;
623
+ createdAt: string;
624
+ name: string;
625
+ farmId: string;
626
+ fieldId: string;
627
+ };
628
+ apiKey: string;
629
+ }>;
630
+ export declare const deviceSummarySchema: z.ZodObject<{
631
+ id: z.ZodString;
632
+ name: z.ZodString;
633
+ fieldId: z.ZodString;
634
+ farmId: z.ZodString;
635
+ fieldType: z.ZodEnum<["GREENHOUSE", "OPEN_FIELD"]>;
636
+ transport: z.ZodEnum<["WIFI", "LORA", "CELLULAR_DIRECT"]>;
637
+ gatewayId: z.ZodNullable<z.ZodString>;
638
+ gatewayName: z.ZodNullable<z.ZodString>;
639
+ lastSeenAt: z.ZodNullable<z.ZodString>;
640
+ bufferedReadingsCount: z.ZodNullable<z.ZodNumber>;
641
+ bufferOverflow: z.ZodBoolean;
642
+ firmwareVersion: z.ZodNullable<z.ZodString>;
643
+ isOnline: z.ZodBoolean;
644
+ config: z.ZodNullable<z.ZodObject<{
645
+ heartbeatIntervalSec: z.ZodOptional<z.ZodNumber>;
646
+ commandPollIntervalSec: z.ZodOptional<z.ZodNumber>;
647
+ sensorIntervals: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
648
+ pumpCalibration: z.ZodOptional<z.ZodObject<{
649
+ fert_pump_a: z.ZodOptional<z.ZodObject<{
650
+ mlPerSecond: z.ZodNumber;
651
+ calibratedAt: z.ZodOptional<z.ZodString>;
652
+ }, "strip", z.ZodTypeAny, {
653
+ mlPerSecond: number;
654
+ calibratedAt?: string | undefined;
655
+ }, {
656
+ mlPerSecond: number;
657
+ calibratedAt?: string | undefined;
658
+ }>>;
659
+ fert_pump_b: z.ZodOptional<z.ZodObject<{
660
+ mlPerSecond: z.ZodNumber;
661
+ calibratedAt: z.ZodOptional<z.ZodString>;
662
+ }, "strip", z.ZodTypeAny, {
663
+ mlPerSecond: number;
664
+ calibratedAt?: string | undefined;
665
+ }, {
666
+ mlPerSecond: number;
667
+ calibratedAt?: string | undefined;
668
+ }>>;
669
+ }, "strip", z.ZodTypeAny, {
670
+ fert_pump_a?: {
671
+ mlPerSecond: number;
672
+ calibratedAt?: string | undefined;
673
+ } | undefined;
674
+ fert_pump_b?: {
675
+ mlPerSecond: number;
676
+ calibratedAt?: string | undefined;
677
+ } | undefined;
678
+ }, {
679
+ fert_pump_a?: {
680
+ mlPerSecond: number;
681
+ calibratedAt?: string | undefined;
682
+ } | undefined;
683
+ fert_pump_b?: {
684
+ mlPerSecond: number;
685
+ calibratedAt?: string | undefined;
686
+ } | undefined;
687
+ }>>;
688
+ gpioMap: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
689
+ }, "strip", z.ZodTypeAny, {
690
+ heartbeatIntervalSec?: number | undefined;
691
+ commandPollIntervalSec?: number | undefined;
692
+ sensorIntervals?: Record<string, number> | undefined;
693
+ pumpCalibration?: {
694
+ fert_pump_a?: {
695
+ mlPerSecond: number;
696
+ calibratedAt?: string | undefined;
697
+ } | undefined;
698
+ fert_pump_b?: {
699
+ mlPerSecond: number;
700
+ calibratedAt?: string | undefined;
701
+ } | undefined;
702
+ } | undefined;
703
+ gpioMap?: Record<string, number> | undefined;
704
+ }, {
705
+ heartbeatIntervalSec?: number | undefined;
706
+ commandPollIntervalSec?: number | undefined;
707
+ sensorIntervals?: Record<string, number> | undefined;
708
+ pumpCalibration?: {
709
+ fert_pump_a?: {
710
+ mlPerSecond: number;
711
+ calibratedAt?: string | undefined;
712
+ } | undefined;
713
+ fert_pump_b?: {
714
+ mlPerSecond: number;
715
+ calibratedAt?: string | undefined;
716
+ } | undefined;
717
+ } | undefined;
718
+ gpioMap?: Record<string, number> | undefined;
719
+ }>>;
720
+ createdAt: z.ZodString;
721
+ }, "strip", z.ZodTypeAny, {
722
+ id: string;
723
+ createdAt: string;
724
+ name: string;
725
+ farmId: string;
726
+ fieldId: string;
727
+ firmwareVersion: string | null;
728
+ bufferedReadingsCount: number | null;
729
+ bufferOverflow: boolean;
730
+ config: {
731
+ heartbeatIntervalSec?: number | undefined;
732
+ commandPollIntervalSec?: number | undefined;
733
+ sensorIntervals?: Record<string, number> | undefined;
734
+ pumpCalibration?: {
735
+ fert_pump_a?: {
736
+ mlPerSecond: number;
737
+ calibratedAt?: string | undefined;
738
+ } | undefined;
739
+ fert_pump_b?: {
740
+ mlPerSecond: number;
741
+ calibratedAt?: string | undefined;
742
+ } | undefined;
743
+ } | undefined;
744
+ gpioMap?: Record<string, number> | undefined;
745
+ } | null;
746
+ fieldType: "GREENHOUSE" | "OPEN_FIELD";
747
+ transport: "WIFI" | "LORA" | "CELLULAR_DIRECT";
748
+ gatewayId: string | null;
749
+ gatewayName: string | null;
750
+ lastSeenAt: string | null;
751
+ isOnline: boolean;
752
+ }, {
753
+ id: string;
754
+ createdAt: string;
755
+ name: string;
756
+ farmId: string;
757
+ fieldId: string;
758
+ firmwareVersion: string | null;
759
+ bufferedReadingsCount: number | null;
760
+ bufferOverflow: boolean;
761
+ config: {
762
+ heartbeatIntervalSec?: number | undefined;
763
+ commandPollIntervalSec?: number | undefined;
764
+ sensorIntervals?: Record<string, number> | undefined;
765
+ pumpCalibration?: {
766
+ fert_pump_a?: {
767
+ mlPerSecond: number;
768
+ calibratedAt?: string | undefined;
769
+ } | undefined;
770
+ fert_pump_b?: {
771
+ mlPerSecond: number;
772
+ calibratedAt?: string | undefined;
773
+ } | undefined;
774
+ } | undefined;
775
+ gpioMap?: Record<string, number> | undefined;
776
+ } | null;
777
+ fieldType: "GREENHOUSE" | "OPEN_FIELD";
778
+ transport: "WIFI" | "LORA" | "CELLULAR_DIRECT";
779
+ gatewayId: string | null;
780
+ gatewayName: string | null;
781
+ lastSeenAt: string | null;
782
+ isOnline: boolean;
783
+ }>;
784
+ export declare const listDevicesResponseSchema: z.ZodObject<{
785
+ devices: z.ZodArray<z.ZodObject<{
786
+ id: z.ZodString;
787
+ name: z.ZodString;
788
+ fieldId: z.ZodString;
789
+ farmId: z.ZodString;
790
+ fieldType: z.ZodEnum<["GREENHOUSE", "OPEN_FIELD"]>;
791
+ transport: z.ZodEnum<["WIFI", "LORA", "CELLULAR_DIRECT"]>;
792
+ gatewayId: z.ZodNullable<z.ZodString>;
793
+ gatewayName: z.ZodNullable<z.ZodString>;
794
+ lastSeenAt: z.ZodNullable<z.ZodString>;
795
+ bufferedReadingsCount: z.ZodNullable<z.ZodNumber>;
796
+ bufferOverflow: z.ZodBoolean;
797
+ firmwareVersion: z.ZodNullable<z.ZodString>;
798
+ isOnline: z.ZodBoolean;
799
+ config: z.ZodNullable<z.ZodObject<{
800
+ heartbeatIntervalSec: z.ZodOptional<z.ZodNumber>;
801
+ commandPollIntervalSec: z.ZodOptional<z.ZodNumber>;
802
+ sensorIntervals: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
803
+ pumpCalibration: z.ZodOptional<z.ZodObject<{
804
+ fert_pump_a: z.ZodOptional<z.ZodObject<{
805
+ mlPerSecond: z.ZodNumber;
806
+ calibratedAt: z.ZodOptional<z.ZodString>;
807
+ }, "strip", z.ZodTypeAny, {
808
+ mlPerSecond: number;
809
+ calibratedAt?: string | undefined;
810
+ }, {
811
+ mlPerSecond: number;
812
+ calibratedAt?: string | undefined;
813
+ }>>;
814
+ fert_pump_b: z.ZodOptional<z.ZodObject<{
815
+ mlPerSecond: z.ZodNumber;
816
+ calibratedAt: z.ZodOptional<z.ZodString>;
817
+ }, "strip", z.ZodTypeAny, {
818
+ mlPerSecond: number;
819
+ calibratedAt?: string | undefined;
820
+ }, {
821
+ mlPerSecond: number;
822
+ calibratedAt?: string | undefined;
823
+ }>>;
824
+ }, "strip", z.ZodTypeAny, {
825
+ fert_pump_a?: {
826
+ mlPerSecond: number;
827
+ calibratedAt?: string | undefined;
828
+ } | undefined;
829
+ fert_pump_b?: {
830
+ mlPerSecond: number;
831
+ calibratedAt?: string | undefined;
832
+ } | undefined;
833
+ }, {
834
+ fert_pump_a?: {
835
+ mlPerSecond: number;
836
+ calibratedAt?: string | undefined;
837
+ } | undefined;
838
+ fert_pump_b?: {
839
+ mlPerSecond: number;
840
+ calibratedAt?: string | undefined;
841
+ } | undefined;
842
+ }>>;
843
+ gpioMap: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
844
+ }, "strip", z.ZodTypeAny, {
845
+ heartbeatIntervalSec?: number | undefined;
846
+ commandPollIntervalSec?: number | undefined;
847
+ sensorIntervals?: Record<string, number> | undefined;
848
+ pumpCalibration?: {
849
+ fert_pump_a?: {
850
+ mlPerSecond: number;
851
+ calibratedAt?: string | undefined;
852
+ } | undefined;
853
+ fert_pump_b?: {
854
+ mlPerSecond: number;
855
+ calibratedAt?: string | undefined;
856
+ } | undefined;
857
+ } | undefined;
858
+ gpioMap?: Record<string, number> | undefined;
859
+ }, {
860
+ heartbeatIntervalSec?: number | undefined;
861
+ commandPollIntervalSec?: number | undefined;
862
+ sensorIntervals?: Record<string, number> | undefined;
863
+ pumpCalibration?: {
864
+ fert_pump_a?: {
865
+ mlPerSecond: number;
866
+ calibratedAt?: string | undefined;
867
+ } | undefined;
868
+ fert_pump_b?: {
869
+ mlPerSecond: number;
870
+ calibratedAt?: string | undefined;
871
+ } | undefined;
872
+ } | undefined;
873
+ gpioMap?: Record<string, number> | undefined;
874
+ }>>;
875
+ createdAt: z.ZodString;
876
+ }, "strip", z.ZodTypeAny, {
877
+ id: string;
878
+ createdAt: string;
879
+ name: string;
880
+ farmId: string;
881
+ fieldId: string;
882
+ firmwareVersion: string | null;
883
+ bufferedReadingsCount: number | null;
884
+ bufferOverflow: boolean;
885
+ config: {
886
+ heartbeatIntervalSec?: number | undefined;
887
+ commandPollIntervalSec?: number | undefined;
888
+ sensorIntervals?: Record<string, number> | undefined;
889
+ pumpCalibration?: {
890
+ fert_pump_a?: {
891
+ mlPerSecond: number;
892
+ calibratedAt?: string | undefined;
893
+ } | undefined;
894
+ fert_pump_b?: {
895
+ mlPerSecond: number;
896
+ calibratedAt?: string | undefined;
897
+ } | undefined;
898
+ } | undefined;
899
+ gpioMap?: Record<string, number> | undefined;
900
+ } | null;
901
+ fieldType: "GREENHOUSE" | "OPEN_FIELD";
902
+ transport: "WIFI" | "LORA" | "CELLULAR_DIRECT";
903
+ gatewayId: string | null;
904
+ gatewayName: string | null;
905
+ lastSeenAt: string | null;
906
+ isOnline: boolean;
907
+ }, {
908
+ id: string;
909
+ createdAt: string;
910
+ name: string;
911
+ farmId: string;
912
+ fieldId: string;
913
+ firmwareVersion: string | null;
914
+ bufferedReadingsCount: number | null;
915
+ bufferOverflow: boolean;
916
+ config: {
917
+ heartbeatIntervalSec?: number | undefined;
918
+ commandPollIntervalSec?: number | undefined;
919
+ sensorIntervals?: Record<string, number> | undefined;
920
+ pumpCalibration?: {
921
+ fert_pump_a?: {
922
+ mlPerSecond: number;
923
+ calibratedAt?: string | undefined;
924
+ } | undefined;
925
+ fert_pump_b?: {
926
+ mlPerSecond: number;
927
+ calibratedAt?: string | undefined;
928
+ } | undefined;
929
+ } | undefined;
930
+ gpioMap?: Record<string, number> | undefined;
931
+ } | null;
932
+ fieldType: "GREENHOUSE" | "OPEN_FIELD";
933
+ transport: "WIFI" | "LORA" | "CELLULAR_DIRECT";
934
+ gatewayId: string | null;
935
+ gatewayName: string | null;
936
+ lastSeenAt: string | null;
937
+ isOnline: boolean;
938
+ }>, "many">;
939
+ }, "strip", z.ZodTypeAny, {
940
+ devices: {
941
+ id: string;
942
+ createdAt: string;
943
+ name: string;
944
+ farmId: string;
945
+ fieldId: string;
946
+ firmwareVersion: string | null;
947
+ bufferedReadingsCount: number | null;
948
+ bufferOverflow: boolean;
949
+ config: {
950
+ heartbeatIntervalSec?: number | undefined;
951
+ commandPollIntervalSec?: number | undefined;
952
+ sensorIntervals?: Record<string, number> | undefined;
953
+ pumpCalibration?: {
954
+ fert_pump_a?: {
955
+ mlPerSecond: number;
956
+ calibratedAt?: string | undefined;
957
+ } | undefined;
958
+ fert_pump_b?: {
959
+ mlPerSecond: number;
960
+ calibratedAt?: string | undefined;
961
+ } | undefined;
962
+ } | undefined;
963
+ gpioMap?: Record<string, number> | undefined;
964
+ } | null;
965
+ fieldType: "GREENHOUSE" | "OPEN_FIELD";
966
+ transport: "WIFI" | "LORA" | "CELLULAR_DIRECT";
967
+ gatewayId: string | null;
968
+ gatewayName: string | null;
969
+ lastSeenAt: string | null;
970
+ isOnline: boolean;
971
+ }[];
972
+ }, {
973
+ devices: {
974
+ id: string;
975
+ createdAt: string;
976
+ name: string;
977
+ farmId: string;
978
+ fieldId: string;
979
+ firmwareVersion: string | null;
980
+ bufferedReadingsCount: number | null;
981
+ bufferOverflow: boolean;
982
+ config: {
983
+ heartbeatIntervalSec?: number | undefined;
984
+ commandPollIntervalSec?: number | undefined;
985
+ sensorIntervals?: Record<string, number> | undefined;
986
+ pumpCalibration?: {
987
+ fert_pump_a?: {
988
+ mlPerSecond: number;
989
+ calibratedAt?: string | undefined;
990
+ } | undefined;
991
+ fert_pump_b?: {
992
+ mlPerSecond: number;
993
+ calibratedAt?: string | undefined;
994
+ } | undefined;
995
+ } | undefined;
996
+ gpioMap?: Record<string, number> | undefined;
997
+ } | null;
998
+ fieldType: "GREENHOUSE" | "OPEN_FIELD";
999
+ transport: "WIFI" | "LORA" | "CELLULAR_DIRECT";
1000
+ gatewayId: string | null;
1001
+ gatewayName: string | null;
1002
+ lastSeenAt: string | null;
1003
+ isOnline: boolean;
1004
+ }[];
1005
+ }>;
1006
+ export declare const updateDeviceRequestSchema: z.ZodObject<{
1007
+ name: z.ZodOptional<z.ZodString>;
1008
+ config: z.ZodOptional<z.ZodObject<{
1009
+ heartbeatIntervalSec: z.ZodOptional<z.ZodNumber>;
1010
+ commandPollIntervalSec: z.ZodOptional<z.ZodNumber>;
1011
+ sensorIntervals: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
1012
+ pumpCalibration: z.ZodOptional<z.ZodObject<{
1013
+ fert_pump_a: z.ZodOptional<z.ZodObject<{
1014
+ mlPerSecond: z.ZodNumber;
1015
+ calibratedAt: z.ZodOptional<z.ZodString>;
1016
+ }, "strip", z.ZodTypeAny, {
1017
+ mlPerSecond: number;
1018
+ calibratedAt?: string | undefined;
1019
+ }, {
1020
+ mlPerSecond: number;
1021
+ calibratedAt?: string | undefined;
1022
+ }>>;
1023
+ fert_pump_b: z.ZodOptional<z.ZodObject<{
1024
+ mlPerSecond: z.ZodNumber;
1025
+ calibratedAt: z.ZodOptional<z.ZodString>;
1026
+ }, "strip", z.ZodTypeAny, {
1027
+ mlPerSecond: number;
1028
+ calibratedAt?: string | undefined;
1029
+ }, {
1030
+ mlPerSecond: number;
1031
+ calibratedAt?: string | undefined;
1032
+ }>>;
1033
+ }, "strip", z.ZodTypeAny, {
1034
+ fert_pump_a?: {
1035
+ mlPerSecond: number;
1036
+ calibratedAt?: string | undefined;
1037
+ } | undefined;
1038
+ fert_pump_b?: {
1039
+ mlPerSecond: number;
1040
+ calibratedAt?: string | undefined;
1041
+ } | undefined;
1042
+ }, {
1043
+ fert_pump_a?: {
1044
+ mlPerSecond: number;
1045
+ calibratedAt?: string | undefined;
1046
+ } | undefined;
1047
+ fert_pump_b?: {
1048
+ mlPerSecond: number;
1049
+ calibratedAt?: string | undefined;
1050
+ } | undefined;
1051
+ }>>;
1052
+ gpioMap: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
1053
+ }, "strip", z.ZodTypeAny, {
1054
+ heartbeatIntervalSec?: number | undefined;
1055
+ commandPollIntervalSec?: number | undefined;
1056
+ sensorIntervals?: Record<string, number> | undefined;
1057
+ pumpCalibration?: {
1058
+ fert_pump_a?: {
1059
+ mlPerSecond: number;
1060
+ calibratedAt?: string | undefined;
1061
+ } | undefined;
1062
+ fert_pump_b?: {
1063
+ mlPerSecond: number;
1064
+ calibratedAt?: string | undefined;
1065
+ } | undefined;
1066
+ } | undefined;
1067
+ gpioMap?: Record<string, number> | undefined;
1068
+ }, {
1069
+ heartbeatIntervalSec?: number | undefined;
1070
+ commandPollIntervalSec?: number | undefined;
1071
+ sensorIntervals?: Record<string, number> | undefined;
1072
+ pumpCalibration?: {
1073
+ fert_pump_a?: {
1074
+ mlPerSecond: number;
1075
+ calibratedAt?: string | undefined;
1076
+ } | undefined;
1077
+ fert_pump_b?: {
1078
+ mlPerSecond: number;
1079
+ calibratedAt?: string | undefined;
1080
+ } | undefined;
1081
+ } | undefined;
1082
+ gpioMap?: Record<string, number> | undefined;
1083
+ }>>;
1084
+ fieldType: z.ZodOptional<z.ZodEnum<["GREENHOUSE", "OPEN_FIELD"]>>;
1085
+ transport: z.ZodOptional<z.ZodEnum<["WIFI", "LORA", "CELLULAR_DIRECT"]>>;
1086
+ gatewayId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1087
+ }, "strip", z.ZodTypeAny, {
1088
+ name?: string | undefined;
1089
+ config?: {
1090
+ heartbeatIntervalSec?: number | undefined;
1091
+ commandPollIntervalSec?: number | undefined;
1092
+ sensorIntervals?: Record<string, number> | undefined;
1093
+ pumpCalibration?: {
1094
+ fert_pump_a?: {
1095
+ mlPerSecond: number;
1096
+ calibratedAt?: string | undefined;
1097
+ } | undefined;
1098
+ fert_pump_b?: {
1099
+ mlPerSecond: number;
1100
+ calibratedAt?: string | undefined;
1101
+ } | undefined;
1102
+ } | undefined;
1103
+ gpioMap?: Record<string, number> | undefined;
1104
+ } | undefined;
1105
+ fieldType?: "GREENHOUSE" | "OPEN_FIELD" | undefined;
1106
+ transport?: "WIFI" | "LORA" | "CELLULAR_DIRECT" | undefined;
1107
+ gatewayId?: string | null | undefined;
1108
+ }, {
1109
+ name?: string | undefined;
1110
+ config?: {
1111
+ heartbeatIntervalSec?: number | undefined;
1112
+ commandPollIntervalSec?: number | undefined;
1113
+ sensorIntervals?: Record<string, number> | undefined;
1114
+ pumpCalibration?: {
1115
+ fert_pump_a?: {
1116
+ mlPerSecond: number;
1117
+ calibratedAt?: string | undefined;
1118
+ } | undefined;
1119
+ fert_pump_b?: {
1120
+ mlPerSecond: number;
1121
+ calibratedAt?: string | undefined;
1122
+ } | undefined;
1123
+ } | undefined;
1124
+ gpioMap?: Record<string, number> | undefined;
1125
+ } | undefined;
1126
+ fieldType?: "GREENHOUSE" | "OPEN_FIELD" | undefined;
1127
+ transport?: "WIFI" | "LORA" | "CELLULAR_DIRECT" | undefined;
1128
+ gatewayId?: string | null | undefined;
1129
+ }>;
1130
+ export declare const updateDeviceResponseSchema: z.ZodObject<{
1131
+ device: z.ZodObject<{
1132
+ id: z.ZodString;
1133
+ name: z.ZodString;
1134
+ fieldId: z.ZodString;
1135
+ farmId: z.ZodString;
1136
+ fieldType: z.ZodEnum<["GREENHOUSE", "OPEN_FIELD"]>;
1137
+ transport: z.ZodEnum<["WIFI", "LORA", "CELLULAR_DIRECT"]>;
1138
+ gatewayId: z.ZodNullable<z.ZodString>;
1139
+ gatewayName: z.ZodNullable<z.ZodString>;
1140
+ lastSeenAt: z.ZodNullable<z.ZodString>;
1141
+ bufferedReadingsCount: z.ZodNullable<z.ZodNumber>;
1142
+ bufferOverflow: z.ZodBoolean;
1143
+ firmwareVersion: z.ZodNullable<z.ZodString>;
1144
+ isOnline: z.ZodBoolean;
1145
+ config: z.ZodNullable<z.ZodObject<{
1146
+ heartbeatIntervalSec: z.ZodOptional<z.ZodNumber>;
1147
+ commandPollIntervalSec: z.ZodOptional<z.ZodNumber>;
1148
+ sensorIntervals: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
1149
+ pumpCalibration: z.ZodOptional<z.ZodObject<{
1150
+ fert_pump_a: z.ZodOptional<z.ZodObject<{
1151
+ mlPerSecond: z.ZodNumber;
1152
+ calibratedAt: z.ZodOptional<z.ZodString>;
1153
+ }, "strip", z.ZodTypeAny, {
1154
+ mlPerSecond: number;
1155
+ calibratedAt?: string | undefined;
1156
+ }, {
1157
+ mlPerSecond: number;
1158
+ calibratedAt?: string | undefined;
1159
+ }>>;
1160
+ fert_pump_b: z.ZodOptional<z.ZodObject<{
1161
+ mlPerSecond: z.ZodNumber;
1162
+ calibratedAt: z.ZodOptional<z.ZodString>;
1163
+ }, "strip", z.ZodTypeAny, {
1164
+ mlPerSecond: number;
1165
+ calibratedAt?: string | undefined;
1166
+ }, {
1167
+ mlPerSecond: number;
1168
+ calibratedAt?: string | undefined;
1169
+ }>>;
1170
+ }, "strip", z.ZodTypeAny, {
1171
+ fert_pump_a?: {
1172
+ mlPerSecond: number;
1173
+ calibratedAt?: string | undefined;
1174
+ } | undefined;
1175
+ fert_pump_b?: {
1176
+ mlPerSecond: number;
1177
+ calibratedAt?: string | undefined;
1178
+ } | undefined;
1179
+ }, {
1180
+ fert_pump_a?: {
1181
+ mlPerSecond: number;
1182
+ calibratedAt?: string | undefined;
1183
+ } | undefined;
1184
+ fert_pump_b?: {
1185
+ mlPerSecond: number;
1186
+ calibratedAt?: string | undefined;
1187
+ } | undefined;
1188
+ }>>;
1189
+ gpioMap: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
1190
+ }, "strip", z.ZodTypeAny, {
1191
+ heartbeatIntervalSec?: number | undefined;
1192
+ commandPollIntervalSec?: number | undefined;
1193
+ sensorIntervals?: Record<string, number> | undefined;
1194
+ pumpCalibration?: {
1195
+ fert_pump_a?: {
1196
+ mlPerSecond: number;
1197
+ calibratedAt?: string | undefined;
1198
+ } | undefined;
1199
+ fert_pump_b?: {
1200
+ mlPerSecond: number;
1201
+ calibratedAt?: string | undefined;
1202
+ } | undefined;
1203
+ } | undefined;
1204
+ gpioMap?: Record<string, number> | undefined;
1205
+ }, {
1206
+ heartbeatIntervalSec?: number | undefined;
1207
+ commandPollIntervalSec?: number | undefined;
1208
+ sensorIntervals?: Record<string, number> | undefined;
1209
+ pumpCalibration?: {
1210
+ fert_pump_a?: {
1211
+ mlPerSecond: number;
1212
+ calibratedAt?: string | undefined;
1213
+ } | undefined;
1214
+ fert_pump_b?: {
1215
+ mlPerSecond: number;
1216
+ calibratedAt?: string | undefined;
1217
+ } | undefined;
1218
+ } | undefined;
1219
+ gpioMap?: Record<string, number> | undefined;
1220
+ }>>;
1221
+ createdAt: z.ZodString;
1222
+ }, "strip", z.ZodTypeAny, {
1223
+ id: string;
1224
+ createdAt: string;
1225
+ name: string;
1226
+ farmId: string;
1227
+ fieldId: string;
1228
+ firmwareVersion: string | null;
1229
+ bufferedReadingsCount: number | null;
1230
+ bufferOverflow: boolean;
1231
+ config: {
1232
+ heartbeatIntervalSec?: number | undefined;
1233
+ commandPollIntervalSec?: number | undefined;
1234
+ sensorIntervals?: Record<string, number> | undefined;
1235
+ pumpCalibration?: {
1236
+ fert_pump_a?: {
1237
+ mlPerSecond: number;
1238
+ calibratedAt?: string | undefined;
1239
+ } | undefined;
1240
+ fert_pump_b?: {
1241
+ mlPerSecond: number;
1242
+ calibratedAt?: string | undefined;
1243
+ } | undefined;
1244
+ } | undefined;
1245
+ gpioMap?: Record<string, number> | undefined;
1246
+ } | null;
1247
+ fieldType: "GREENHOUSE" | "OPEN_FIELD";
1248
+ transport: "WIFI" | "LORA" | "CELLULAR_DIRECT";
1249
+ gatewayId: string | null;
1250
+ gatewayName: string | null;
1251
+ lastSeenAt: string | null;
1252
+ isOnline: boolean;
1253
+ }, {
1254
+ id: string;
1255
+ createdAt: string;
1256
+ name: string;
1257
+ farmId: string;
1258
+ fieldId: string;
1259
+ firmwareVersion: string | null;
1260
+ bufferedReadingsCount: number | null;
1261
+ bufferOverflow: boolean;
1262
+ config: {
1263
+ heartbeatIntervalSec?: number | undefined;
1264
+ commandPollIntervalSec?: number | undefined;
1265
+ sensorIntervals?: Record<string, number> | undefined;
1266
+ pumpCalibration?: {
1267
+ fert_pump_a?: {
1268
+ mlPerSecond: number;
1269
+ calibratedAt?: string | undefined;
1270
+ } | undefined;
1271
+ fert_pump_b?: {
1272
+ mlPerSecond: number;
1273
+ calibratedAt?: string | undefined;
1274
+ } | undefined;
1275
+ } | undefined;
1276
+ gpioMap?: Record<string, number> | undefined;
1277
+ } | null;
1278
+ fieldType: "GREENHOUSE" | "OPEN_FIELD";
1279
+ transport: "WIFI" | "LORA" | "CELLULAR_DIRECT";
1280
+ gatewayId: string | null;
1281
+ gatewayName: string | null;
1282
+ lastSeenAt: string | null;
1283
+ isOnline: boolean;
1284
+ }>;
1285
+ }, "strip", z.ZodTypeAny, {
1286
+ device: {
1287
+ id: string;
1288
+ createdAt: string;
1289
+ name: string;
1290
+ farmId: string;
1291
+ fieldId: string;
1292
+ firmwareVersion: string | null;
1293
+ bufferedReadingsCount: number | null;
1294
+ bufferOverflow: boolean;
1295
+ config: {
1296
+ heartbeatIntervalSec?: number | undefined;
1297
+ commandPollIntervalSec?: number | undefined;
1298
+ sensorIntervals?: Record<string, number> | undefined;
1299
+ pumpCalibration?: {
1300
+ fert_pump_a?: {
1301
+ mlPerSecond: number;
1302
+ calibratedAt?: string | undefined;
1303
+ } | undefined;
1304
+ fert_pump_b?: {
1305
+ mlPerSecond: number;
1306
+ calibratedAt?: string | undefined;
1307
+ } | undefined;
1308
+ } | undefined;
1309
+ gpioMap?: Record<string, number> | undefined;
1310
+ } | null;
1311
+ fieldType: "GREENHOUSE" | "OPEN_FIELD";
1312
+ transport: "WIFI" | "LORA" | "CELLULAR_DIRECT";
1313
+ gatewayId: string | null;
1314
+ gatewayName: string | null;
1315
+ lastSeenAt: string | null;
1316
+ isOnline: boolean;
1317
+ };
1318
+ }, {
1319
+ device: {
1320
+ id: string;
1321
+ createdAt: string;
1322
+ name: string;
1323
+ farmId: string;
1324
+ fieldId: string;
1325
+ firmwareVersion: string | null;
1326
+ bufferedReadingsCount: number | null;
1327
+ bufferOverflow: boolean;
1328
+ config: {
1329
+ heartbeatIntervalSec?: number | undefined;
1330
+ commandPollIntervalSec?: number | undefined;
1331
+ sensorIntervals?: Record<string, number> | undefined;
1332
+ pumpCalibration?: {
1333
+ fert_pump_a?: {
1334
+ mlPerSecond: number;
1335
+ calibratedAt?: string | undefined;
1336
+ } | undefined;
1337
+ fert_pump_b?: {
1338
+ mlPerSecond: number;
1339
+ calibratedAt?: string | undefined;
1340
+ } | undefined;
1341
+ } | undefined;
1342
+ gpioMap?: Record<string, number> | undefined;
1343
+ } | null;
1344
+ fieldType: "GREENHOUSE" | "OPEN_FIELD";
1345
+ transport: "WIFI" | "LORA" | "CELLULAR_DIRECT";
1346
+ gatewayId: string | null;
1347
+ gatewayName: string | null;
1348
+ lastSeenAt: string | null;
1349
+ isOnline: boolean;
1350
+ };
1351
+ }>;
1352
+ export declare const createActuatorRequestSchema: z.ZodObject<{
1353
+ type: z.ZodEnum<["IRRIGATION_VALVE", "FERT_PUMP_A", "FERT_PUMP_B", "FAN"]>;
1354
+ name: z.ZodString;
1355
+ gpioPin: z.ZodOptional<z.ZodNumber>;
1356
+ }, "strip", z.ZodTypeAny, {
1357
+ type: "IRRIGATION_VALVE" | "FERT_PUMP_A" | "FERT_PUMP_B" | "FAN";
1358
+ name: string;
1359
+ gpioPin?: number | undefined;
1360
+ }, {
1361
+ type: "IRRIGATION_VALVE" | "FERT_PUMP_A" | "FERT_PUMP_B" | "FAN";
1362
+ name: string;
1363
+ gpioPin?: number | undefined;
1364
+ }>;
1365
+ export declare const actuatorSchema: z.ZodObject<{
1366
+ id: z.ZodString;
1367
+ deviceId: z.ZodString;
1368
+ fieldId: z.ZodString;
1369
+ farmId: z.ZodString;
1370
+ type: z.ZodEnum<["IRRIGATION_VALVE", "FERT_PUMP_A", "FERT_PUMP_B", "FAN"]>;
1371
+ name: z.ZodString;
1372
+ gpioPin: z.ZodNullable<z.ZodNumber>;
1373
+ status: z.ZodString;
1374
+ lastCommandAt: z.ZodNullable<z.ZodString>;
1375
+ }, "strip", z.ZodTypeAny, {
1376
+ type: "IRRIGATION_VALVE" | "FERT_PUMP_A" | "FERT_PUMP_B" | "FAN";
1377
+ status: string;
1378
+ id: string;
1379
+ name: string;
1380
+ farmId: string;
1381
+ fieldId: string;
1382
+ deviceId: string;
1383
+ gpioPin: number | null;
1384
+ lastCommandAt: string | null;
1385
+ }, {
1386
+ type: "IRRIGATION_VALVE" | "FERT_PUMP_A" | "FERT_PUMP_B" | "FAN";
1387
+ status: string;
1388
+ id: string;
1389
+ name: string;
1390
+ farmId: string;
1391
+ fieldId: string;
1392
+ deviceId: string;
1393
+ gpioPin: number | null;
1394
+ lastCommandAt: string | null;
1395
+ }>;
1396
+ export declare const listActuatorsResponseSchema: z.ZodObject<{
1397
+ actuators: z.ZodArray<z.ZodObject<{
1398
+ id: z.ZodString;
1399
+ deviceId: z.ZodString;
1400
+ fieldId: z.ZodString;
1401
+ farmId: z.ZodString;
1402
+ type: z.ZodEnum<["IRRIGATION_VALVE", "FERT_PUMP_A", "FERT_PUMP_B", "FAN"]>;
1403
+ name: z.ZodString;
1404
+ gpioPin: z.ZodNullable<z.ZodNumber>;
1405
+ status: z.ZodString;
1406
+ lastCommandAt: z.ZodNullable<z.ZodString>;
1407
+ }, "strip", z.ZodTypeAny, {
1408
+ type: "IRRIGATION_VALVE" | "FERT_PUMP_A" | "FERT_PUMP_B" | "FAN";
1409
+ status: string;
1410
+ id: string;
1411
+ name: string;
1412
+ farmId: string;
1413
+ fieldId: string;
1414
+ deviceId: string;
1415
+ gpioPin: number | null;
1416
+ lastCommandAt: string | null;
1417
+ }, {
1418
+ type: "IRRIGATION_VALVE" | "FERT_PUMP_A" | "FERT_PUMP_B" | "FAN";
1419
+ status: string;
1420
+ id: string;
1421
+ name: string;
1422
+ farmId: string;
1423
+ fieldId: string;
1424
+ deviceId: string;
1425
+ gpioPin: number | null;
1426
+ lastCommandAt: string | null;
1427
+ }>, "many">;
1428
+ }, "strip", z.ZodTypeAny, {
1429
+ actuators: {
1430
+ type: "IRRIGATION_VALVE" | "FERT_PUMP_A" | "FERT_PUMP_B" | "FAN";
1431
+ status: string;
1432
+ id: string;
1433
+ name: string;
1434
+ farmId: string;
1435
+ fieldId: string;
1436
+ deviceId: string;
1437
+ gpioPin: number | null;
1438
+ lastCommandAt: string | null;
1439
+ }[];
1440
+ }, {
1441
+ actuators: {
1442
+ type: "IRRIGATION_VALVE" | "FERT_PUMP_A" | "FERT_PUMP_B" | "FAN";
1443
+ status: string;
1444
+ id: string;
1445
+ name: string;
1446
+ farmId: string;
1447
+ fieldId: string;
1448
+ deviceId: string;
1449
+ gpioPin: number | null;
1450
+ lastCommandAt: string | null;
1451
+ }[];
1452
+ }>;
1453
+ export declare const actuatorCommandRequestSchema: z.ZodObject<{
1454
+ command: z.ZodEnum<["ON", "OFF", "PULSE"]>;
1455
+ durationSec: z.ZodOptional<z.ZodNumber>;
1456
+ source: z.ZodDefault<z.ZodEnum<["manual", "schedule", "rule"]>>;
1457
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1458
+ }, "strip", z.ZodTypeAny, {
1459
+ source: "manual" | "schedule" | "rule";
1460
+ command: "ON" | "OFF" | "PULSE";
1461
+ metadata?: Record<string, unknown> | undefined;
1462
+ durationSec?: number | undefined;
1463
+ }, {
1464
+ command: "ON" | "OFF" | "PULSE";
1465
+ source?: "manual" | "schedule" | "rule" | undefined;
1466
+ metadata?: Record<string, unknown> | undefined;
1467
+ durationSec?: number | undefined;
1468
+ }>;
1469
+ export declare const actuatorCommandResponseSchema: z.ZodObject<{
1470
+ commandId: z.ZodString;
1471
+ status: z.ZodString;
1472
+ }, "strip", z.ZodTypeAny, {
1473
+ status: string;
1474
+ commandId: string;
1475
+ }, {
1476
+ status: string;
1477
+ commandId: string;
1478
+ }>;
1479
+ export declare const fieldSummarySensorSchema: z.ZodObject<{
1480
+ id: z.ZodString;
1481
+ name: z.ZodString;
1482
+ type: z.ZodString;
1483
+ lastValue: z.ZodNullable<z.ZodNumber>;
1484
+ unit: z.ZodNullable<z.ZodString>;
1485
+ }, "strip", z.ZodTypeAny, {
1486
+ type: string;
1487
+ id: string;
1488
+ name: string;
1489
+ unit: string | null;
1490
+ lastValue: number | null;
1491
+ }, {
1492
+ type: string;
1493
+ id: string;
1494
+ name: string;
1495
+ unit: string | null;
1496
+ lastValue: number | null;
1497
+ }>;
1498
+ export declare const fieldSummaryResponseSchema: z.ZodObject<{
1499
+ fieldId: z.ZodString;
1500
+ fieldType: z.ZodNullable<z.ZodEnum<["GREENHOUSE", "OPEN_FIELD"]>>;
1501
+ devices: z.ZodArray<z.ZodObject<{
1502
+ id: z.ZodString;
1503
+ name: z.ZodString;
1504
+ fieldId: z.ZodString;
1505
+ farmId: z.ZodString;
1506
+ fieldType: z.ZodEnum<["GREENHOUSE", "OPEN_FIELD"]>;
1507
+ transport: z.ZodEnum<["WIFI", "LORA", "CELLULAR_DIRECT"]>;
1508
+ gatewayId: z.ZodNullable<z.ZodString>;
1509
+ gatewayName: z.ZodNullable<z.ZodString>;
1510
+ lastSeenAt: z.ZodNullable<z.ZodString>;
1511
+ bufferedReadingsCount: z.ZodNullable<z.ZodNumber>;
1512
+ bufferOverflow: z.ZodBoolean;
1513
+ firmwareVersion: z.ZodNullable<z.ZodString>;
1514
+ isOnline: z.ZodBoolean;
1515
+ config: z.ZodNullable<z.ZodObject<{
1516
+ heartbeatIntervalSec: z.ZodOptional<z.ZodNumber>;
1517
+ commandPollIntervalSec: z.ZodOptional<z.ZodNumber>;
1518
+ sensorIntervals: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
1519
+ pumpCalibration: z.ZodOptional<z.ZodObject<{
1520
+ fert_pump_a: z.ZodOptional<z.ZodObject<{
1521
+ mlPerSecond: z.ZodNumber;
1522
+ calibratedAt: z.ZodOptional<z.ZodString>;
1523
+ }, "strip", z.ZodTypeAny, {
1524
+ mlPerSecond: number;
1525
+ calibratedAt?: string | undefined;
1526
+ }, {
1527
+ mlPerSecond: number;
1528
+ calibratedAt?: string | undefined;
1529
+ }>>;
1530
+ fert_pump_b: z.ZodOptional<z.ZodObject<{
1531
+ mlPerSecond: z.ZodNumber;
1532
+ calibratedAt: z.ZodOptional<z.ZodString>;
1533
+ }, "strip", z.ZodTypeAny, {
1534
+ mlPerSecond: number;
1535
+ calibratedAt?: string | undefined;
1536
+ }, {
1537
+ mlPerSecond: number;
1538
+ calibratedAt?: string | undefined;
1539
+ }>>;
1540
+ }, "strip", z.ZodTypeAny, {
1541
+ fert_pump_a?: {
1542
+ mlPerSecond: number;
1543
+ calibratedAt?: string | undefined;
1544
+ } | undefined;
1545
+ fert_pump_b?: {
1546
+ mlPerSecond: number;
1547
+ calibratedAt?: string | undefined;
1548
+ } | undefined;
1549
+ }, {
1550
+ fert_pump_a?: {
1551
+ mlPerSecond: number;
1552
+ calibratedAt?: string | undefined;
1553
+ } | undefined;
1554
+ fert_pump_b?: {
1555
+ mlPerSecond: number;
1556
+ calibratedAt?: string | undefined;
1557
+ } | undefined;
1558
+ }>>;
1559
+ gpioMap: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
1560
+ }, "strip", z.ZodTypeAny, {
1561
+ heartbeatIntervalSec?: number | undefined;
1562
+ commandPollIntervalSec?: number | undefined;
1563
+ sensorIntervals?: Record<string, number> | undefined;
1564
+ pumpCalibration?: {
1565
+ fert_pump_a?: {
1566
+ mlPerSecond: number;
1567
+ calibratedAt?: string | undefined;
1568
+ } | undefined;
1569
+ fert_pump_b?: {
1570
+ mlPerSecond: number;
1571
+ calibratedAt?: string | undefined;
1572
+ } | undefined;
1573
+ } | undefined;
1574
+ gpioMap?: Record<string, number> | undefined;
1575
+ }, {
1576
+ heartbeatIntervalSec?: number | undefined;
1577
+ commandPollIntervalSec?: number | undefined;
1578
+ sensorIntervals?: Record<string, number> | undefined;
1579
+ pumpCalibration?: {
1580
+ fert_pump_a?: {
1581
+ mlPerSecond: number;
1582
+ calibratedAt?: string | undefined;
1583
+ } | undefined;
1584
+ fert_pump_b?: {
1585
+ mlPerSecond: number;
1586
+ calibratedAt?: string | undefined;
1587
+ } | undefined;
1588
+ } | undefined;
1589
+ gpioMap?: Record<string, number> | undefined;
1590
+ }>>;
1591
+ createdAt: z.ZodString;
1592
+ }, "strip", z.ZodTypeAny, {
1593
+ id: string;
1594
+ createdAt: string;
1595
+ name: string;
1596
+ farmId: string;
1597
+ fieldId: string;
1598
+ firmwareVersion: string | null;
1599
+ bufferedReadingsCount: number | null;
1600
+ bufferOverflow: boolean;
1601
+ config: {
1602
+ heartbeatIntervalSec?: number | undefined;
1603
+ commandPollIntervalSec?: number | undefined;
1604
+ sensorIntervals?: Record<string, number> | undefined;
1605
+ pumpCalibration?: {
1606
+ fert_pump_a?: {
1607
+ mlPerSecond: number;
1608
+ calibratedAt?: string | undefined;
1609
+ } | undefined;
1610
+ fert_pump_b?: {
1611
+ mlPerSecond: number;
1612
+ calibratedAt?: string | undefined;
1613
+ } | undefined;
1614
+ } | undefined;
1615
+ gpioMap?: Record<string, number> | undefined;
1616
+ } | null;
1617
+ fieldType: "GREENHOUSE" | "OPEN_FIELD";
1618
+ transport: "WIFI" | "LORA" | "CELLULAR_DIRECT";
1619
+ gatewayId: string | null;
1620
+ gatewayName: string | null;
1621
+ lastSeenAt: string | null;
1622
+ isOnline: boolean;
1623
+ }, {
1624
+ id: string;
1625
+ createdAt: string;
1626
+ name: string;
1627
+ farmId: string;
1628
+ fieldId: string;
1629
+ firmwareVersion: string | null;
1630
+ bufferedReadingsCount: number | null;
1631
+ bufferOverflow: boolean;
1632
+ config: {
1633
+ heartbeatIntervalSec?: number | undefined;
1634
+ commandPollIntervalSec?: number | undefined;
1635
+ sensorIntervals?: Record<string, number> | undefined;
1636
+ pumpCalibration?: {
1637
+ fert_pump_a?: {
1638
+ mlPerSecond: number;
1639
+ calibratedAt?: string | undefined;
1640
+ } | undefined;
1641
+ fert_pump_b?: {
1642
+ mlPerSecond: number;
1643
+ calibratedAt?: string | undefined;
1644
+ } | undefined;
1645
+ } | undefined;
1646
+ gpioMap?: Record<string, number> | undefined;
1647
+ } | null;
1648
+ fieldType: "GREENHOUSE" | "OPEN_FIELD";
1649
+ transport: "WIFI" | "LORA" | "CELLULAR_DIRECT";
1650
+ gatewayId: string | null;
1651
+ gatewayName: string | null;
1652
+ lastSeenAt: string | null;
1653
+ isOnline: boolean;
1654
+ }>, "many">;
1655
+ actuatorCount: z.ZodNumber;
1656
+ openAlertCount: z.ZodNumber;
1657
+ hasCameras: z.ZodBoolean;
1658
+ sensors: z.ZodArray<z.ZodObject<{
1659
+ id: z.ZodString;
1660
+ name: z.ZodString;
1661
+ type: z.ZodString;
1662
+ lastValue: z.ZodNullable<z.ZodNumber>;
1663
+ unit: z.ZodNullable<z.ZodString>;
1664
+ }, "strip", z.ZodTypeAny, {
1665
+ type: string;
1666
+ id: string;
1667
+ name: string;
1668
+ unit: string | null;
1669
+ lastValue: number | null;
1670
+ }, {
1671
+ type: string;
1672
+ id: string;
1673
+ name: string;
1674
+ unit: string | null;
1675
+ lastValue: number | null;
1676
+ }>, "many">;
1677
+ }, "strip", z.ZodTypeAny, {
1678
+ fieldId: string;
1679
+ sensors: {
1680
+ type: string;
1681
+ id: string;
1682
+ name: string;
1683
+ unit: string | null;
1684
+ lastValue: number | null;
1685
+ }[];
1686
+ fieldType: "GREENHOUSE" | "OPEN_FIELD" | null;
1687
+ devices: {
1688
+ id: string;
1689
+ createdAt: string;
1690
+ name: string;
1691
+ farmId: string;
1692
+ fieldId: string;
1693
+ firmwareVersion: string | null;
1694
+ bufferedReadingsCount: number | null;
1695
+ bufferOverflow: boolean;
1696
+ config: {
1697
+ heartbeatIntervalSec?: number | undefined;
1698
+ commandPollIntervalSec?: number | undefined;
1699
+ sensorIntervals?: Record<string, number> | undefined;
1700
+ pumpCalibration?: {
1701
+ fert_pump_a?: {
1702
+ mlPerSecond: number;
1703
+ calibratedAt?: string | undefined;
1704
+ } | undefined;
1705
+ fert_pump_b?: {
1706
+ mlPerSecond: number;
1707
+ calibratedAt?: string | undefined;
1708
+ } | undefined;
1709
+ } | undefined;
1710
+ gpioMap?: Record<string, number> | undefined;
1711
+ } | null;
1712
+ fieldType: "GREENHOUSE" | "OPEN_FIELD";
1713
+ transport: "WIFI" | "LORA" | "CELLULAR_DIRECT";
1714
+ gatewayId: string | null;
1715
+ gatewayName: string | null;
1716
+ lastSeenAt: string | null;
1717
+ isOnline: boolean;
1718
+ }[];
1719
+ actuatorCount: number;
1720
+ openAlertCount: number;
1721
+ hasCameras: boolean;
1722
+ }, {
1723
+ fieldId: string;
1724
+ sensors: {
1725
+ type: string;
1726
+ id: string;
1727
+ name: string;
1728
+ unit: string | null;
1729
+ lastValue: number | null;
1730
+ }[];
1731
+ fieldType: "GREENHOUSE" | "OPEN_FIELD" | null;
1732
+ devices: {
1733
+ id: string;
1734
+ createdAt: string;
1735
+ name: string;
1736
+ farmId: string;
1737
+ fieldId: string;
1738
+ firmwareVersion: string | null;
1739
+ bufferedReadingsCount: number | null;
1740
+ bufferOverflow: boolean;
1741
+ config: {
1742
+ heartbeatIntervalSec?: number | undefined;
1743
+ commandPollIntervalSec?: number | undefined;
1744
+ sensorIntervals?: Record<string, number> | undefined;
1745
+ pumpCalibration?: {
1746
+ fert_pump_a?: {
1747
+ mlPerSecond: number;
1748
+ calibratedAt?: string | undefined;
1749
+ } | undefined;
1750
+ fert_pump_b?: {
1751
+ mlPerSecond: number;
1752
+ calibratedAt?: string | undefined;
1753
+ } | undefined;
1754
+ } | undefined;
1755
+ gpioMap?: Record<string, number> | undefined;
1756
+ } | null;
1757
+ fieldType: "GREENHOUSE" | "OPEN_FIELD";
1758
+ transport: "WIFI" | "LORA" | "CELLULAR_DIRECT";
1759
+ gatewayId: string | null;
1760
+ gatewayName: string | null;
1761
+ lastSeenAt: string | null;
1762
+ isOnline: boolean;
1763
+ }[];
1764
+ actuatorCount: number;
1765
+ openAlertCount: number;
1766
+ hasCameras: boolean;
1767
+ }>;
1768
+ //# sourceMappingURL=device-gateway.schemas.d.ts.map