@deepintel-ltd/farmpro-contracts 1.7.21 → 1.8.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,1407 @@
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 actuatorTypeSchema: z.ZodEnum<["IRRIGATION_VALVE", "FERT_PUMP_A", "FERT_PUMP_B", "FAN"]>;
13
+ export declare const actuatorStatesSchema: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
14
+ export declare const heartbeatRequestSchema: z.ZodObject<{
15
+ deviceId: z.ZodString;
16
+ firmwareVersion: z.ZodOptional<z.ZodString>;
17
+ uptimeSec: z.ZodOptional<z.ZodNumber>;
18
+ wifiRssi: z.ZodOptional<z.ZodNumber>;
19
+ freeHeap: z.ZodOptional<z.ZodNumber>;
20
+ bufferedReadingsCount: z.ZodOptional<z.ZodNumber>;
21
+ bufferOverflow: z.ZodOptional<z.ZodBoolean>;
22
+ actuatorStates: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
23
+ }, "strip", z.ZodTypeAny, {
24
+ deviceId: string;
25
+ firmwareVersion?: string | undefined;
26
+ uptimeSec?: number | undefined;
27
+ wifiRssi?: number | undefined;
28
+ freeHeap?: number | undefined;
29
+ bufferedReadingsCount?: number | undefined;
30
+ bufferOverflow?: boolean | undefined;
31
+ actuatorStates?: Record<string, string> | undefined;
32
+ }, {
33
+ deviceId: string;
34
+ firmwareVersion?: string | undefined;
35
+ uptimeSec?: number | undefined;
36
+ wifiRssi?: number | undefined;
37
+ freeHeap?: number | undefined;
38
+ bufferedReadingsCount?: number | undefined;
39
+ bufferOverflow?: boolean | undefined;
40
+ actuatorStates?: Record<string, string> | undefined;
41
+ }>;
42
+ export declare const pumpCalibrationSchema: z.ZodObject<{
43
+ mlPerSecond: z.ZodNumber;
44
+ calibratedAt: z.ZodOptional<z.ZodString>;
45
+ }, "strip", z.ZodTypeAny, {
46
+ mlPerSecond: number;
47
+ calibratedAt?: string | undefined;
48
+ }, {
49
+ mlPerSecond: number;
50
+ calibratedAt?: string | undefined;
51
+ }>;
52
+ export declare const deviceConfigSchema: z.ZodObject<{
53
+ heartbeatIntervalSec: z.ZodOptional<z.ZodNumber>;
54
+ commandPollIntervalSec: z.ZodOptional<z.ZodNumber>;
55
+ sensorIntervals: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
56
+ pumpCalibration: z.ZodOptional<z.ZodObject<{
57
+ fert_pump_a: z.ZodOptional<z.ZodObject<{
58
+ mlPerSecond: z.ZodNumber;
59
+ calibratedAt: z.ZodOptional<z.ZodString>;
60
+ }, "strip", z.ZodTypeAny, {
61
+ mlPerSecond: number;
62
+ calibratedAt?: string | undefined;
63
+ }, {
64
+ mlPerSecond: number;
65
+ calibratedAt?: string | undefined;
66
+ }>>;
67
+ fert_pump_b: z.ZodOptional<z.ZodObject<{
68
+ mlPerSecond: z.ZodNumber;
69
+ calibratedAt: z.ZodOptional<z.ZodString>;
70
+ }, "strip", z.ZodTypeAny, {
71
+ mlPerSecond: number;
72
+ calibratedAt?: string | undefined;
73
+ }, {
74
+ mlPerSecond: number;
75
+ calibratedAt?: string | undefined;
76
+ }>>;
77
+ }, "strip", z.ZodTypeAny, {
78
+ fert_pump_a?: {
79
+ mlPerSecond: number;
80
+ calibratedAt?: string | undefined;
81
+ } | undefined;
82
+ fert_pump_b?: {
83
+ mlPerSecond: number;
84
+ calibratedAt?: string | undefined;
85
+ } | undefined;
86
+ }, {
87
+ fert_pump_a?: {
88
+ mlPerSecond: number;
89
+ calibratedAt?: string | undefined;
90
+ } | undefined;
91
+ fert_pump_b?: {
92
+ mlPerSecond: number;
93
+ calibratedAt?: string | undefined;
94
+ } | undefined;
95
+ }>>;
96
+ gpioMap: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
97
+ }, "strip", z.ZodTypeAny, {
98
+ heartbeatIntervalSec?: number | undefined;
99
+ commandPollIntervalSec?: number | undefined;
100
+ sensorIntervals?: Record<string, number> | undefined;
101
+ pumpCalibration?: {
102
+ fert_pump_a?: {
103
+ mlPerSecond: number;
104
+ calibratedAt?: string | undefined;
105
+ } | undefined;
106
+ fert_pump_b?: {
107
+ mlPerSecond: number;
108
+ calibratedAt?: string | undefined;
109
+ } | undefined;
110
+ } | undefined;
111
+ gpioMap?: Record<string, number> | undefined;
112
+ }, {
113
+ heartbeatIntervalSec?: number | undefined;
114
+ commandPollIntervalSec?: number | undefined;
115
+ sensorIntervals?: Record<string, number> | undefined;
116
+ pumpCalibration?: {
117
+ fert_pump_a?: {
118
+ mlPerSecond: number;
119
+ calibratedAt?: string | undefined;
120
+ } | undefined;
121
+ fert_pump_b?: {
122
+ mlPerSecond: number;
123
+ calibratedAt?: string | undefined;
124
+ } | undefined;
125
+ } | undefined;
126
+ gpioMap?: Record<string, number> | undefined;
127
+ }>;
128
+ export declare const heartbeatResponseSchema: z.ZodObject<{
129
+ serverTime: z.ZodString;
130
+ config: z.ZodObject<{
131
+ heartbeatIntervalSec: z.ZodOptional<z.ZodNumber>;
132
+ commandPollIntervalSec: z.ZodOptional<z.ZodNumber>;
133
+ sensorIntervals: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
134
+ pumpCalibration: z.ZodOptional<z.ZodObject<{
135
+ fert_pump_a: z.ZodOptional<z.ZodObject<{
136
+ mlPerSecond: z.ZodNumber;
137
+ calibratedAt: z.ZodOptional<z.ZodString>;
138
+ }, "strip", z.ZodTypeAny, {
139
+ mlPerSecond: number;
140
+ calibratedAt?: string | undefined;
141
+ }, {
142
+ mlPerSecond: number;
143
+ calibratedAt?: string | undefined;
144
+ }>>;
145
+ fert_pump_b: z.ZodOptional<z.ZodObject<{
146
+ mlPerSecond: z.ZodNumber;
147
+ calibratedAt: z.ZodOptional<z.ZodString>;
148
+ }, "strip", z.ZodTypeAny, {
149
+ mlPerSecond: number;
150
+ calibratedAt?: string | undefined;
151
+ }, {
152
+ mlPerSecond: number;
153
+ calibratedAt?: string | undefined;
154
+ }>>;
155
+ }, "strip", z.ZodTypeAny, {
156
+ fert_pump_a?: {
157
+ mlPerSecond: number;
158
+ calibratedAt?: string | undefined;
159
+ } | undefined;
160
+ fert_pump_b?: {
161
+ mlPerSecond: number;
162
+ calibratedAt?: string | undefined;
163
+ } | undefined;
164
+ }, {
165
+ fert_pump_a?: {
166
+ mlPerSecond: number;
167
+ calibratedAt?: string | undefined;
168
+ } | undefined;
169
+ fert_pump_b?: {
170
+ mlPerSecond: number;
171
+ calibratedAt?: string | undefined;
172
+ } | undefined;
173
+ }>>;
174
+ gpioMap: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
175
+ }, "strip", z.ZodTypeAny, {
176
+ heartbeatIntervalSec?: number | undefined;
177
+ commandPollIntervalSec?: number | undefined;
178
+ sensorIntervals?: Record<string, number> | undefined;
179
+ pumpCalibration?: {
180
+ fert_pump_a?: {
181
+ mlPerSecond: number;
182
+ calibratedAt?: string | undefined;
183
+ } | undefined;
184
+ fert_pump_b?: {
185
+ mlPerSecond: number;
186
+ calibratedAt?: string | undefined;
187
+ } | undefined;
188
+ } | undefined;
189
+ gpioMap?: Record<string, number> | undefined;
190
+ }, {
191
+ heartbeatIntervalSec?: number | undefined;
192
+ commandPollIntervalSec?: number | undefined;
193
+ sensorIntervals?: Record<string, number> | undefined;
194
+ pumpCalibration?: {
195
+ fert_pump_a?: {
196
+ mlPerSecond: number;
197
+ calibratedAt?: string | undefined;
198
+ } | undefined;
199
+ fert_pump_b?: {
200
+ mlPerSecond: number;
201
+ calibratedAt?: string | undefined;
202
+ } | undefined;
203
+ } | undefined;
204
+ gpioMap?: Record<string, number> | undefined;
205
+ }>;
206
+ }, "strip", z.ZodTypeAny, {
207
+ serverTime: string;
208
+ config: {
209
+ heartbeatIntervalSec?: number | undefined;
210
+ commandPollIntervalSec?: number | undefined;
211
+ sensorIntervals?: Record<string, number> | undefined;
212
+ pumpCalibration?: {
213
+ fert_pump_a?: {
214
+ mlPerSecond: number;
215
+ calibratedAt?: string | undefined;
216
+ } | undefined;
217
+ fert_pump_b?: {
218
+ mlPerSecond: number;
219
+ calibratedAt?: string | undefined;
220
+ } | undefined;
221
+ } | undefined;
222
+ gpioMap?: Record<string, number> | undefined;
223
+ };
224
+ }, {
225
+ serverTime: string;
226
+ config: {
227
+ heartbeatIntervalSec?: number | undefined;
228
+ commandPollIntervalSec?: number | undefined;
229
+ sensorIntervals?: Record<string, number> | undefined;
230
+ pumpCalibration?: {
231
+ fert_pump_a?: {
232
+ mlPerSecond: number;
233
+ calibratedAt?: string | undefined;
234
+ } | undefined;
235
+ fert_pump_b?: {
236
+ mlPerSecond: number;
237
+ calibratedAt?: string | undefined;
238
+ } | undefined;
239
+ } | undefined;
240
+ gpioMap?: Record<string, number> | undefined;
241
+ };
242
+ }>;
243
+ export declare const sensorReadingRequestSchema: z.ZodObject<{
244
+ value: z.ZodNumber;
245
+ unit: z.ZodString;
246
+ quality: z.ZodOptional<z.ZodEnum<["good", "fair", "poor"]>>;
247
+ readAt: z.ZodString;
248
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
249
+ }, "strip", z.ZodTypeAny, {
250
+ value: number;
251
+ unit: string;
252
+ readAt: string;
253
+ metadata?: Record<string, unknown> | undefined;
254
+ quality?: "poor" | "fair" | "good" | undefined;
255
+ }, {
256
+ value: number;
257
+ unit: string;
258
+ readAt: string;
259
+ metadata?: Record<string, unknown> | undefined;
260
+ quality?: "poor" | "fair" | "good" | undefined;
261
+ }>;
262
+ export declare const sensorReadingResponseSchema: z.ZodObject<{
263
+ readingId: z.ZodString;
264
+ alertTriggered: z.ZodBoolean;
265
+ }, "strip", z.ZodTypeAny, {
266
+ readingId: string;
267
+ alertTriggered: boolean;
268
+ }, {
269
+ readingId: string;
270
+ alertTriggered: boolean;
271
+ }>;
272
+ export declare const batchReadingItemSchema: z.ZodObject<{
273
+ sensorId: z.ZodString;
274
+ value: z.ZodNumber;
275
+ unit: z.ZodString;
276
+ quality: z.ZodOptional<z.ZodEnum<["good", "fair", "poor"]>>;
277
+ readAt: z.ZodString;
278
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
279
+ }, "strip", z.ZodTypeAny, {
280
+ value: number;
281
+ unit: string;
282
+ readAt: string;
283
+ sensorId: string;
284
+ metadata?: Record<string, unknown> | undefined;
285
+ quality?: "poor" | "fair" | "good" | undefined;
286
+ }, {
287
+ value: number;
288
+ unit: string;
289
+ readAt: string;
290
+ sensorId: string;
291
+ metadata?: Record<string, unknown> | undefined;
292
+ quality?: "poor" | "fair" | "good" | undefined;
293
+ }>;
294
+ export declare const batchReadingsRequestSchema: z.ZodObject<{
295
+ readings: z.ZodArray<z.ZodObject<{
296
+ sensorId: z.ZodString;
297
+ value: z.ZodNumber;
298
+ unit: z.ZodString;
299
+ quality: z.ZodOptional<z.ZodEnum<["good", "fair", "poor"]>>;
300
+ readAt: z.ZodString;
301
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
302
+ }, "strip", z.ZodTypeAny, {
303
+ value: number;
304
+ unit: string;
305
+ readAt: string;
306
+ sensorId: string;
307
+ metadata?: Record<string, unknown> | undefined;
308
+ quality?: "poor" | "fair" | "good" | undefined;
309
+ }, {
310
+ value: number;
311
+ unit: string;
312
+ readAt: string;
313
+ sensorId: string;
314
+ metadata?: Record<string, unknown> | undefined;
315
+ quality?: "poor" | "fair" | "good" | undefined;
316
+ }>, "many">;
317
+ }, "strip", z.ZodTypeAny, {
318
+ readings: {
319
+ value: number;
320
+ unit: string;
321
+ readAt: string;
322
+ sensorId: string;
323
+ metadata?: Record<string, unknown> | undefined;
324
+ quality?: "poor" | "fair" | "good" | undefined;
325
+ }[];
326
+ }, {
327
+ readings: {
328
+ value: number;
329
+ unit: string;
330
+ readAt: string;
331
+ sensorId: string;
332
+ metadata?: Record<string, unknown> | undefined;
333
+ quality?: "poor" | "fair" | "good" | undefined;
334
+ }[];
335
+ }>;
336
+ export declare const batchReadingsResponseSchema: z.ZodObject<{
337
+ accepted: z.ZodNumber;
338
+ rejected: z.ZodNumber;
339
+ alertsTriggered: z.ZodNumber;
340
+ }, "strip", z.ZodTypeAny, {
341
+ accepted: number;
342
+ rejected: number;
343
+ alertsTriggered: number;
344
+ }, {
345
+ accepted: number;
346
+ rejected: number;
347
+ alertsTriggered: number;
348
+ }>;
349
+ export declare const deviceCommandSchema: z.ZodObject<{
350
+ id: z.ZodString;
351
+ actuatorId: z.ZodString;
352
+ actuatorType: z.ZodEnum<["IRRIGATION_VALVE", "FERT_PUMP_A", "FERT_PUMP_B", "FAN"]>;
353
+ command: z.ZodEnum<["ON", "OFF", "PULSE"]>;
354
+ durationSec: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
355
+ source: z.ZodString;
356
+ createdAt: z.ZodString;
357
+ }, "strip", z.ZodTypeAny, {
358
+ id: string;
359
+ source: string;
360
+ createdAt: string;
361
+ actuatorId: string;
362
+ actuatorType: "IRRIGATION_VALVE" | "FERT_PUMP_A" | "FERT_PUMP_B" | "FAN";
363
+ command: "ON" | "OFF" | "PULSE";
364
+ durationSec?: number | null | undefined;
365
+ }, {
366
+ id: string;
367
+ source: string;
368
+ createdAt: string;
369
+ actuatorId: string;
370
+ actuatorType: "IRRIGATION_VALVE" | "FERT_PUMP_A" | "FERT_PUMP_B" | "FAN";
371
+ command: "ON" | "OFF" | "PULSE";
372
+ durationSec?: number | null | undefined;
373
+ }>;
374
+ export declare const listCommandsQuerySchema: z.ZodObject<{
375
+ deviceId: z.ZodString;
376
+ }, "strip", z.ZodTypeAny, {
377
+ deviceId: string;
378
+ }, {
379
+ deviceId: string;
380
+ }>;
381
+ export declare const listCommandsResponseSchema: z.ZodObject<{
382
+ commands: z.ZodArray<z.ZodObject<{
383
+ id: z.ZodString;
384
+ actuatorId: z.ZodString;
385
+ actuatorType: z.ZodEnum<["IRRIGATION_VALVE", "FERT_PUMP_A", "FERT_PUMP_B", "FAN"]>;
386
+ command: z.ZodEnum<["ON", "OFF", "PULSE"]>;
387
+ durationSec: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
388
+ source: z.ZodString;
389
+ createdAt: z.ZodString;
390
+ }, "strip", z.ZodTypeAny, {
391
+ id: string;
392
+ source: string;
393
+ createdAt: string;
394
+ actuatorId: string;
395
+ actuatorType: "IRRIGATION_VALVE" | "FERT_PUMP_A" | "FERT_PUMP_B" | "FAN";
396
+ command: "ON" | "OFF" | "PULSE";
397
+ durationSec?: number | null | undefined;
398
+ }, {
399
+ id: string;
400
+ source: string;
401
+ createdAt: string;
402
+ actuatorId: string;
403
+ actuatorType: "IRRIGATION_VALVE" | "FERT_PUMP_A" | "FERT_PUMP_B" | "FAN";
404
+ command: "ON" | "OFF" | "PULSE";
405
+ durationSec?: number | null | undefined;
406
+ }>, "many">;
407
+ }, "strip", z.ZodTypeAny, {
408
+ commands: {
409
+ id: string;
410
+ source: string;
411
+ createdAt: string;
412
+ actuatorId: string;
413
+ actuatorType: "IRRIGATION_VALVE" | "FERT_PUMP_A" | "FERT_PUMP_B" | "FAN";
414
+ command: "ON" | "OFF" | "PULSE";
415
+ durationSec?: number | null | undefined;
416
+ }[];
417
+ }, {
418
+ commands: {
419
+ id: string;
420
+ source: string;
421
+ createdAt: string;
422
+ actuatorId: string;
423
+ actuatorType: "IRRIGATION_VALVE" | "FERT_PUMP_A" | "FERT_PUMP_B" | "FAN";
424
+ command: "ON" | "OFF" | "PULSE";
425
+ durationSec?: number | null | undefined;
426
+ }[];
427
+ }>;
428
+ export declare const commandAckRequestSchema: z.ZodObject<{
429
+ status: z.ZodEnum<["acked", "failed"]>;
430
+ executedAt: z.ZodString;
431
+ error: z.ZodOptional<z.ZodString>;
432
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
433
+ }, "strip", z.ZodTypeAny, {
434
+ status: "failed" | "acked";
435
+ executedAt: string;
436
+ metadata?: Record<string, unknown> | undefined;
437
+ error?: string | undefined;
438
+ }, {
439
+ status: "failed" | "acked";
440
+ executedAt: string;
441
+ metadata?: Record<string, unknown> | undefined;
442
+ error?: string | undefined;
443
+ }>;
444
+ export declare const commandAckResponseSchema: z.ZodObject<{
445
+ success: z.ZodBoolean;
446
+ }, "strip", z.ZodTypeAny, {
447
+ success: boolean;
448
+ }, {
449
+ success: boolean;
450
+ }>;
451
+ export declare const snapshotUploadResponseSchema: z.ZodObject<{
452
+ snapshotId: z.ZodString;
453
+ imageUrl: z.ZodString;
454
+ analysisQueued: z.ZodBoolean;
455
+ }, "strip", z.ZodTypeAny, {
456
+ imageUrl: string;
457
+ snapshotId: string;
458
+ analysisQueued: boolean;
459
+ }, {
460
+ imageUrl: string;
461
+ snapshotId: string;
462
+ analysisQueued: boolean;
463
+ }>;
464
+ export declare const createDeviceRequestSchema: z.ZodObject<{
465
+ name: z.ZodString;
466
+ config: z.ZodOptional<z.ZodObject<{
467
+ heartbeatIntervalSec: z.ZodOptional<z.ZodNumber>;
468
+ commandPollIntervalSec: z.ZodOptional<z.ZodNumber>;
469
+ sensorIntervals: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
470
+ pumpCalibration: z.ZodOptional<z.ZodObject<{
471
+ fert_pump_a: z.ZodOptional<z.ZodObject<{
472
+ mlPerSecond: z.ZodNumber;
473
+ calibratedAt: z.ZodOptional<z.ZodString>;
474
+ }, "strip", z.ZodTypeAny, {
475
+ mlPerSecond: number;
476
+ calibratedAt?: string | undefined;
477
+ }, {
478
+ mlPerSecond: number;
479
+ calibratedAt?: string | undefined;
480
+ }>>;
481
+ fert_pump_b: z.ZodOptional<z.ZodObject<{
482
+ mlPerSecond: z.ZodNumber;
483
+ calibratedAt: z.ZodOptional<z.ZodString>;
484
+ }, "strip", z.ZodTypeAny, {
485
+ mlPerSecond: number;
486
+ calibratedAt?: string | undefined;
487
+ }, {
488
+ mlPerSecond: number;
489
+ calibratedAt?: string | undefined;
490
+ }>>;
491
+ }, "strip", z.ZodTypeAny, {
492
+ fert_pump_a?: {
493
+ mlPerSecond: number;
494
+ calibratedAt?: string | undefined;
495
+ } | undefined;
496
+ fert_pump_b?: {
497
+ mlPerSecond: number;
498
+ calibratedAt?: string | undefined;
499
+ } | undefined;
500
+ }, {
501
+ fert_pump_a?: {
502
+ mlPerSecond: number;
503
+ calibratedAt?: string | undefined;
504
+ } | undefined;
505
+ fert_pump_b?: {
506
+ mlPerSecond: number;
507
+ calibratedAt?: string | undefined;
508
+ } | undefined;
509
+ }>>;
510
+ gpioMap: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
511
+ }, "strip", z.ZodTypeAny, {
512
+ heartbeatIntervalSec?: number | undefined;
513
+ commandPollIntervalSec?: number | undefined;
514
+ sensorIntervals?: Record<string, number> | undefined;
515
+ pumpCalibration?: {
516
+ fert_pump_a?: {
517
+ mlPerSecond: number;
518
+ calibratedAt?: string | undefined;
519
+ } | undefined;
520
+ fert_pump_b?: {
521
+ mlPerSecond: number;
522
+ calibratedAt?: string | undefined;
523
+ } | undefined;
524
+ } | undefined;
525
+ gpioMap?: Record<string, number> | undefined;
526
+ }, {
527
+ heartbeatIntervalSec?: number | undefined;
528
+ commandPollIntervalSec?: number | undefined;
529
+ sensorIntervals?: Record<string, number> | undefined;
530
+ pumpCalibration?: {
531
+ fert_pump_a?: {
532
+ mlPerSecond: number;
533
+ calibratedAt?: string | undefined;
534
+ } | undefined;
535
+ fert_pump_b?: {
536
+ mlPerSecond: number;
537
+ calibratedAt?: string | undefined;
538
+ } | undefined;
539
+ } | undefined;
540
+ gpioMap?: Record<string, number> | undefined;
541
+ }>>;
542
+ }, "strip", z.ZodTypeAny, {
543
+ name: string;
544
+ config?: {
545
+ heartbeatIntervalSec?: number | undefined;
546
+ commandPollIntervalSec?: number | undefined;
547
+ sensorIntervals?: Record<string, number> | undefined;
548
+ pumpCalibration?: {
549
+ fert_pump_a?: {
550
+ mlPerSecond: number;
551
+ calibratedAt?: string | undefined;
552
+ } | undefined;
553
+ fert_pump_b?: {
554
+ mlPerSecond: number;
555
+ calibratedAt?: string | undefined;
556
+ } | undefined;
557
+ } | undefined;
558
+ gpioMap?: Record<string, number> | undefined;
559
+ } | undefined;
560
+ }, {
561
+ name: string;
562
+ config?: {
563
+ heartbeatIntervalSec?: number | undefined;
564
+ commandPollIntervalSec?: number | undefined;
565
+ sensorIntervals?: Record<string, number> | undefined;
566
+ pumpCalibration?: {
567
+ fert_pump_a?: {
568
+ mlPerSecond: number;
569
+ calibratedAt?: string | undefined;
570
+ } | undefined;
571
+ fert_pump_b?: {
572
+ mlPerSecond: number;
573
+ calibratedAt?: string | undefined;
574
+ } | undefined;
575
+ } | undefined;
576
+ gpioMap?: Record<string, number> | undefined;
577
+ } | undefined;
578
+ }>;
579
+ export declare const createDeviceResponseSchema: z.ZodObject<{
580
+ device: z.ZodObject<{
581
+ id: z.ZodString;
582
+ name: z.ZodString;
583
+ fieldId: z.ZodString;
584
+ farmId: z.ZodString;
585
+ createdAt: z.ZodString;
586
+ }, "strip", z.ZodTypeAny, {
587
+ id: string;
588
+ createdAt: string;
589
+ name: string;
590
+ farmId: string;
591
+ fieldId: string;
592
+ }, {
593
+ id: string;
594
+ createdAt: string;
595
+ name: string;
596
+ farmId: string;
597
+ fieldId: string;
598
+ }>;
599
+ apiKey: z.ZodString;
600
+ }, "strip", z.ZodTypeAny, {
601
+ device: {
602
+ id: string;
603
+ createdAt: string;
604
+ name: string;
605
+ farmId: string;
606
+ fieldId: string;
607
+ };
608
+ apiKey: string;
609
+ }, {
610
+ device: {
611
+ id: string;
612
+ createdAt: string;
613
+ name: string;
614
+ farmId: string;
615
+ fieldId: string;
616
+ };
617
+ apiKey: string;
618
+ }>;
619
+ export declare const deviceSummarySchema: z.ZodObject<{
620
+ id: z.ZodString;
621
+ name: z.ZodString;
622
+ fieldId: z.ZodString;
623
+ farmId: z.ZodString;
624
+ lastSeenAt: z.ZodNullable<z.ZodString>;
625
+ bufferedReadingsCount: z.ZodNullable<z.ZodNumber>;
626
+ bufferOverflow: z.ZodBoolean;
627
+ firmwareVersion: z.ZodNullable<z.ZodString>;
628
+ isOnline: z.ZodBoolean;
629
+ config: z.ZodNullable<z.ZodObject<{
630
+ heartbeatIntervalSec: z.ZodOptional<z.ZodNumber>;
631
+ commandPollIntervalSec: z.ZodOptional<z.ZodNumber>;
632
+ sensorIntervals: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
633
+ pumpCalibration: z.ZodOptional<z.ZodObject<{
634
+ fert_pump_a: z.ZodOptional<z.ZodObject<{
635
+ mlPerSecond: z.ZodNumber;
636
+ calibratedAt: z.ZodOptional<z.ZodString>;
637
+ }, "strip", z.ZodTypeAny, {
638
+ mlPerSecond: number;
639
+ calibratedAt?: string | undefined;
640
+ }, {
641
+ mlPerSecond: number;
642
+ calibratedAt?: string | undefined;
643
+ }>>;
644
+ fert_pump_b: z.ZodOptional<z.ZodObject<{
645
+ mlPerSecond: z.ZodNumber;
646
+ calibratedAt: z.ZodOptional<z.ZodString>;
647
+ }, "strip", z.ZodTypeAny, {
648
+ mlPerSecond: number;
649
+ calibratedAt?: string | undefined;
650
+ }, {
651
+ mlPerSecond: number;
652
+ calibratedAt?: string | undefined;
653
+ }>>;
654
+ }, "strip", z.ZodTypeAny, {
655
+ fert_pump_a?: {
656
+ mlPerSecond: number;
657
+ calibratedAt?: string | undefined;
658
+ } | undefined;
659
+ fert_pump_b?: {
660
+ mlPerSecond: number;
661
+ calibratedAt?: string | undefined;
662
+ } | undefined;
663
+ }, {
664
+ fert_pump_a?: {
665
+ mlPerSecond: number;
666
+ calibratedAt?: string | undefined;
667
+ } | undefined;
668
+ fert_pump_b?: {
669
+ mlPerSecond: number;
670
+ calibratedAt?: string | undefined;
671
+ } | undefined;
672
+ }>>;
673
+ gpioMap: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
674
+ }, "strip", z.ZodTypeAny, {
675
+ heartbeatIntervalSec?: number | undefined;
676
+ commandPollIntervalSec?: number | undefined;
677
+ sensorIntervals?: Record<string, number> | undefined;
678
+ pumpCalibration?: {
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
+ } | undefined;
688
+ gpioMap?: Record<string, number> | undefined;
689
+ }, {
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
+ createdAt: z.ZodString;
706
+ }, "strip", z.ZodTypeAny, {
707
+ id: string;
708
+ createdAt: string;
709
+ name: string;
710
+ farmId: string;
711
+ fieldId: string;
712
+ firmwareVersion: string | null;
713
+ bufferedReadingsCount: number | null;
714
+ bufferOverflow: boolean;
715
+ config: {
716
+ heartbeatIntervalSec?: number | undefined;
717
+ commandPollIntervalSec?: number | undefined;
718
+ sensorIntervals?: Record<string, number> | undefined;
719
+ pumpCalibration?: {
720
+ fert_pump_a?: {
721
+ mlPerSecond: number;
722
+ calibratedAt?: string | undefined;
723
+ } | undefined;
724
+ fert_pump_b?: {
725
+ mlPerSecond: number;
726
+ calibratedAt?: string | undefined;
727
+ } | undefined;
728
+ } | undefined;
729
+ gpioMap?: Record<string, number> | undefined;
730
+ } | null;
731
+ lastSeenAt: string | null;
732
+ isOnline: boolean;
733
+ }, {
734
+ id: string;
735
+ createdAt: string;
736
+ name: string;
737
+ farmId: string;
738
+ fieldId: string;
739
+ firmwareVersion: string | null;
740
+ bufferedReadingsCount: number | null;
741
+ bufferOverflow: boolean;
742
+ config: {
743
+ heartbeatIntervalSec?: number | undefined;
744
+ commandPollIntervalSec?: number | undefined;
745
+ sensorIntervals?: Record<string, number> | undefined;
746
+ pumpCalibration?: {
747
+ fert_pump_a?: {
748
+ mlPerSecond: number;
749
+ calibratedAt?: string | undefined;
750
+ } | undefined;
751
+ fert_pump_b?: {
752
+ mlPerSecond: number;
753
+ calibratedAt?: string | undefined;
754
+ } | undefined;
755
+ } | undefined;
756
+ gpioMap?: Record<string, number> | undefined;
757
+ } | null;
758
+ lastSeenAt: string | null;
759
+ isOnline: boolean;
760
+ }>;
761
+ export declare const listDevicesResponseSchema: z.ZodObject<{
762
+ devices: z.ZodArray<z.ZodObject<{
763
+ id: z.ZodString;
764
+ name: z.ZodString;
765
+ fieldId: z.ZodString;
766
+ farmId: z.ZodString;
767
+ lastSeenAt: z.ZodNullable<z.ZodString>;
768
+ bufferedReadingsCount: z.ZodNullable<z.ZodNumber>;
769
+ bufferOverflow: z.ZodBoolean;
770
+ firmwareVersion: z.ZodNullable<z.ZodString>;
771
+ isOnline: z.ZodBoolean;
772
+ config: z.ZodNullable<z.ZodObject<{
773
+ heartbeatIntervalSec: z.ZodOptional<z.ZodNumber>;
774
+ commandPollIntervalSec: z.ZodOptional<z.ZodNumber>;
775
+ sensorIntervals: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
776
+ pumpCalibration: z.ZodOptional<z.ZodObject<{
777
+ fert_pump_a: z.ZodOptional<z.ZodObject<{
778
+ mlPerSecond: z.ZodNumber;
779
+ calibratedAt: z.ZodOptional<z.ZodString>;
780
+ }, "strip", z.ZodTypeAny, {
781
+ mlPerSecond: number;
782
+ calibratedAt?: string | undefined;
783
+ }, {
784
+ mlPerSecond: number;
785
+ calibratedAt?: string | undefined;
786
+ }>>;
787
+ fert_pump_b: z.ZodOptional<z.ZodObject<{
788
+ mlPerSecond: z.ZodNumber;
789
+ calibratedAt: z.ZodOptional<z.ZodString>;
790
+ }, "strip", z.ZodTypeAny, {
791
+ mlPerSecond: number;
792
+ calibratedAt?: string | undefined;
793
+ }, {
794
+ mlPerSecond: number;
795
+ calibratedAt?: string | undefined;
796
+ }>>;
797
+ }, "strip", z.ZodTypeAny, {
798
+ fert_pump_a?: {
799
+ mlPerSecond: number;
800
+ calibratedAt?: string | undefined;
801
+ } | undefined;
802
+ fert_pump_b?: {
803
+ mlPerSecond: number;
804
+ calibratedAt?: string | undefined;
805
+ } | undefined;
806
+ }, {
807
+ fert_pump_a?: {
808
+ mlPerSecond: number;
809
+ calibratedAt?: string | undefined;
810
+ } | undefined;
811
+ fert_pump_b?: {
812
+ mlPerSecond: number;
813
+ calibratedAt?: string | undefined;
814
+ } | undefined;
815
+ }>>;
816
+ gpioMap: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
817
+ }, "strip", z.ZodTypeAny, {
818
+ heartbeatIntervalSec?: number | undefined;
819
+ commandPollIntervalSec?: number | undefined;
820
+ sensorIntervals?: Record<string, number> | undefined;
821
+ pumpCalibration?: {
822
+ fert_pump_a?: {
823
+ mlPerSecond: number;
824
+ calibratedAt?: string | undefined;
825
+ } | undefined;
826
+ fert_pump_b?: {
827
+ mlPerSecond: number;
828
+ calibratedAt?: string | undefined;
829
+ } | undefined;
830
+ } | undefined;
831
+ gpioMap?: Record<string, number> | undefined;
832
+ }, {
833
+ heartbeatIntervalSec?: number | undefined;
834
+ commandPollIntervalSec?: number | undefined;
835
+ sensorIntervals?: Record<string, number> | undefined;
836
+ pumpCalibration?: {
837
+ fert_pump_a?: {
838
+ mlPerSecond: number;
839
+ calibratedAt?: string | undefined;
840
+ } | undefined;
841
+ fert_pump_b?: {
842
+ mlPerSecond: number;
843
+ calibratedAt?: string | undefined;
844
+ } | undefined;
845
+ } | undefined;
846
+ gpioMap?: Record<string, number> | undefined;
847
+ }>>;
848
+ createdAt: z.ZodString;
849
+ }, "strip", z.ZodTypeAny, {
850
+ id: string;
851
+ createdAt: string;
852
+ name: string;
853
+ farmId: string;
854
+ fieldId: string;
855
+ firmwareVersion: string | null;
856
+ bufferedReadingsCount: number | null;
857
+ bufferOverflow: boolean;
858
+ config: {
859
+ heartbeatIntervalSec?: number | undefined;
860
+ commandPollIntervalSec?: number | undefined;
861
+ sensorIntervals?: Record<string, number> | undefined;
862
+ pumpCalibration?: {
863
+ fert_pump_a?: {
864
+ mlPerSecond: number;
865
+ calibratedAt?: string | undefined;
866
+ } | undefined;
867
+ fert_pump_b?: {
868
+ mlPerSecond: number;
869
+ calibratedAt?: string | undefined;
870
+ } | undefined;
871
+ } | undefined;
872
+ gpioMap?: Record<string, number> | undefined;
873
+ } | null;
874
+ lastSeenAt: string | null;
875
+ isOnline: boolean;
876
+ }, {
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
+ lastSeenAt: string | null;
902
+ isOnline: boolean;
903
+ }>, "many">;
904
+ }, "strip", z.ZodTypeAny, {
905
+ devices: {
906
+ id: string;
907
+ createdAt: string;
908
+ name: string;
909
+ farmId: string;
910
+ fieldId: string;
911
+ firmwareVersion: string | null;
912
+ bufferedReadingsCount: number | null;
913
+ bufferOverflow: boolean;
914
+ config: {
915
+ heartbeatIntervalSec?: number | undefined;
916
+ commandPollIntervalSec?: number | undefined;
917
+ sensorIntervals?: Record<string, number> | undefined;
918
+ pumpCalibration?: {
919
+ fert_pump_a?: {
920
+ mlPerSecond: number;
921
+ calibratedAt?: string | undefined;
922
+ } | undefined;
923
+ fert_pump_b?: {
924
+ mlPerSecond: number;
925
+ calibratedAt?: string | undefined;
926
+ } | undefined;
927
+ } | undefined;
928
+ gpioMap?: Record<string, number> | undefined;
929
+ } | null;
930
+ lastSeenAt: string | null;
931
+ isOnline: boolean;
932
+ }[];
933
+ }, {
934
+ devices: {
935
+ id: string;
936
+ createdAt: string;
937
+ name: string;
938
+ farmId: string;
939
+ fieldId: string;
940
+ firmwareVersion: string | null;
941
+ bufferedReadingsCount: number | null;
942
+ bufferOverflow: boolean;
943
+ config: {
944
+ heartbeatIntervalSec?: number | undefined;
945
+ commandPollIntervalSec?: number | undefined;
946
+ sensorIntervals?: Record<string, number> | undefined;
947
+ pumpCalibration?: {
948
+ fert_pump_a?: {
949
+ mlPerSecond: number;
950
+ calibratedAt?: string | undefined;
951
+ } | undefined;
952
+ fert_pump_b?: {
953
+ mlPerSecond: number;
954
+ calibratedAt?: string | undefined;
955
+ } | undefined;
956
+ } | undefined;
957
+ gpioMap?: Record<string, number> | undefined;
958
+ } | null;
959
+ lastSeenAt: string | null;
960
+ isOnline: boolean;
961
+ }[];
962
+ }>;
963
+ export declare const updateDeviceRequestSchema: z.ZodObject<{
964
+ name: z.ZodOptional<z.ZodString>;
965
+ config: z.ZodOptional<z.ZodObject<{
966
+ heartbeatIntervalSec: z.ZodOptional<z.ZodNumber>;
967
+ commandPollIntervalSec: z.ZodOptional<z.ZodNumber>;
968
+ sensorIntervals: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
969
+ pumpCalibration: z.ZodOptional<z.ZodObject<{
970
+ fert_pump_a: z.ZodOptional<z.ZodObject<{
971
+ mlPerSecond: z.ZodNumber;
972
+ calibratedAt: z.ZodOptional<z.ZodString>;
973
+ }, "strip", z.ZodTypeAny, {
974
+ mlPerSecond: number;
975
+ calibratedAt?: string | undefined;
976
+ }, {
977
+ mlPerSecond: number;
978
+ calibratedAt?: string | undefined;
979
+ }>>;
980
+ fert_pump_b: z.ZodOptional<z.ZodObject<{
981
+ mlPerSecond: z.ZodNumber;
982
+ calibratedAt: z.ZodOptional<z.ZodString>;
983
+ }, "strip", z.ZodTypeAny, {
984
+ mlPerSecond: number;
985
+ calibratedAt?: string | undefined;
986
+ }, {
987
+ mlPerSecond: number;
988
+ calibratedAt?: string | undefined;
989
+ }>>;
990
+ }, "strip", z.ZodTypeAny, {
991
+ fert_pump_a?: {
992
+ mlPerSecond: number;
993
+ calibratedAt?: string | undefined;
994
+ } | undefined;
995
+ fert_pump_b?: {
996
+ mlPerSecond: number;
997
+ calibratedAt?: string | undefined;
998
+ } | undefined;
999
+ }, {
1000
+ fert_pump_a?: {
1001
+ mlPerSecond: number;
1002
+ calibratedAt?: string | undefined;
1003
+ } | undefined;
1004
+ fert_pump_b?: {
1005
+ mlPerSecond: number;
1006
+ calibratedAt?: string | undefined;
1007
+ } | undefined;
1008
+ }>>;
1009
+ gpioMap: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
1010
+ }, "strip", z.ZodTypeAny, {
1011
+ heartbeatIntervalSec?: number | undefined;
1012
+ commandPollIntervalSec?: number | undefined;
1013
+ sensorIntervals?: Record<string, number> | undefined;
1014
+ pumpCalibration?: {
1015
+ fert_pump_a?: {
1016
+ mlPerSecond: number;
1017
+ calibratedAt?: string | undefined;
1018
+ } | undefined;
1019
+ fert_pump_b?: {
1020
+ mlPerSecond: number;
1021
+ calibratedAt?: string | undefined;
1022
+ } | undefined;
1023
+ } | undefined;
1024
+ gpioMap?: Record<string, number> | undefined;
1025
+ }, {
1026
+ heartbeatIntervalSec?: number | undefined;
1027
+ commandPollIntervalSec?: number | undefined;
1028
+ sensorIntervals?: Record<string, number> | undefined;
1029
+ pumpCalibration?: {
1030
+ fert_pump_a?: {
1031
+ mlPerSecond: number;
1032
+ calibratedAt?: string | undefined;
1033
+ } | undefined;
1034
+ fert_pump_b?: {
1035
+ mlPerSecond: number;
1036
+ calibratedAt?: string | undefined;
1037
+ } | undefined;
1038
+ } | undefined;
1039
+ gpioMap?: Record<string, number> | undefined;
1040
+ }>>;
1041
+ }, "strip", z.ZodTypeAny, {
1042
+ name?: string | undefined;
1043
+ config?: {
1044
+ heartbeatIntervalSec?: number | undefined;
1045
+ commandPollIntervalSec?: number | undefined;
1046
+ sensorIntervals?: Record<string, number> | undefined;
1047
+ pumpCalibration?: {
1048
+ fert_pump_a?: {
1049
+ mlPerSecond: number;
1050
+ calibratedAt?: string | undefined;
1051
+ } | undefined;
1052
+ fert_pump_b?: {
1053
+ mlPerSecond: number;
1054
+ calibratedAt?: string | undefined;
1055
+ } | undefined;
1056
+ } | undefined;
1057
+ gpioMap?: Record<string, number> | undefined;
1058
+ } | undefined;
1059
+ }, {
1060
+ name?: string | undefined;
1061
+ config?: {
1062
+ heartbeatIntervalSec?: number | undefined;
1063
+ commandPollIntervalSec?: number | undefined;
1064
+ sensorIntervals?: Record<string, number> | undefined;
1065
+ pumpCalibration?: {
1066
+ fert_pump_a?: {
1067
+ mlPerSecond: number;
1068
+ calibratedAt?: string | undefined;
1069
+ } | undefined;
1070
+ fert_pump_b?: {
1071
+ mlPerSecond: number;
1072
+ calibratedAt?: string | undefined;
1073
+ } | undefined;
1074
+ } | undefined;
1075
+ gpioMap?: Record<string, number> | undefined;
1076
+ } | undefined;
1077
+ }>;
1078
+ export declare const updateDeviceResponseSchema: z.ZodObject<{
1079
+ device: z.ZodObject<{
1080
+ id: z.ZodString;
1081
+ name: z.ZodString;
1082
+ fieldId: z.ZodString;
1083
+ farmId: z.ZodString;
1084
+ lastSeenAt: z.ZodNullable<z.ZodString>;
1085
+ bufferedReadingsCount: z.ZodNullable<z.ZodNumber>;
1086
+ bufferOverflow: z.ZodBoolean;
1087
+ firmwareVersion: z.ZodNullable<z.ZodString>;
1088
+ isOnline: z.ZodBoolean;
1089
+ config: z.ZodNullable<z.ZodObject<{
1090
+ heartbeatIntervalSec: z.ZodOptional<z.ZodNumber>;
1091
+ commandPollIntervalSec: z.ZodOptional<z.ZodNumber>;
1092
+ sensorIntervals: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
1093
+ pumpCalibration: z.ZodOptional<z.ZodObject<{
1094
+ fert_pump_a: z.ZodOptional<z.ZodObject<{
1095
+ mlPerSecond: z.ZodNumber;
1096
+ calibratedAt: z.ZodOptional<z.ZodString>;
1097
+ }, "strip", z.ZodTypeAny, {
1098
+ mlPerSecond: number;
1099
+ calibratedAt?: string | undefined;
1100
+ }, {
1101
+ mlPerSecond: number;
1102
+ calibratedAt?: string | undefined;
1103
+ }>>;
1104
+ fert_pump_b: z.ZodOptional<z.ZodObject<{
1105
+ mlPerSecond: z.ZodNumber;
1106
+ calibratedAt: z.ZodOptional<z.ZodString>;
1107
+ }, "strip", z.ZodTypeAny, {
1108
+ mlPerSecond: number;
1109
+ calibratedAt?: string | undefined;
1110
+ }, {
1111
+ mlPerSecond: number;
1112
+ calibratedAt?: string | undefined;
1113
+ }>>;
1114
+ }, "strip", z.ZodTypeAny, {
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
+ }, {
1124
+ fert_pump_a?: {
1125
+ mlPerSecond: number;
1126
+ calibratedAt?: string | undefined;
1127
+ } | undefined;
1128
+ fert_pump_b?: {
1129
+ mlPerSecond: number;
1130
+ calibratedAt?: string | undefined;
1131
+ } | undefined;
1132
+ }>>;
1133
+ gpioMap: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
1134
+ }, "strip", z.ZodTypeAny, {
1135
+ heartbeatIntervalSec?: number | undefined;
1136
+ commandPollIntervalSec?: number | undefined;
1137
+ sensorIntervals?: Record<string, number> | undefined;
1138
+ pumpCalibration?: {
1139
+ fert_pump_a?: {
1140
+ mlPerSecond: number;
1141
+ calibratedAt?: string | undefined;
1142
+ } | undefined;
1143
+ fert_pump_b?: {
1144
+ mlPerSecond: number;
1145
+ calibratedAt?: string | undefined;
1146
+ } | undefined;
1147
+ } | undefined;
1148
+ gpioMap?: Record<string, number> | undefined;
1149
+ }, {
1150
+ heartbeatIntervalSec?: number | undefined;
1151
+ commandPollIntervalSec?: number | undefined;
1152
+ sensorIntervals?: Record<string, number> | undefined;
1153
+ pumpCalibration?: {
1154
+ fert_pump_a?: {
1155
+ mlPerSecond: number;
1156
+ calibratedAt?: string | undefined;
1157
+ } | undefined;
1158
+ fert_pump_b?: {
1159
+ mlPerSecond: number;
1160
+ calibratedAt?: string | undefined;
1161
+ } | undefined;
1162
+ } | undefined;
1163
+ gpioMap?: Record<string, number> | undefined;
1164
+ }>>;
1165
+ createdAt: z.ZodString;
1166
+ }, "strip", z.ZodTypeAny, {
1167
+ id: string;
1168
+ createdAt: string;
1169
+ name: string;
1170
+ farmId: string;
1171
+ fieldId: string;
1172
+ firmwareVersion: string | null;
1173
+ bufferedReadingsCount: number | null;
1174
+ bufferOverflow: boolean;
1175
+ config: {
1176
+ heartbeatIntervalSec?: number | undefined;
1177
+ commandPollIntervalSec?: number | undefined;
1178
+ sensorIntervals?: Record<string, number> | undefined;
1179
+ pumpCalibration?: {
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
+ } | undefined;
1189
+ gpioMap?: Record<string, number> | undefined;
1190
+ } | null;
1191
+ lastSeenAt: string | null;
1192
+ isOnline: boolean;
1193
+ }, {
1194
+ id: string;
1195
+ createdAt: string;
1196
+ name: string;
1197
+ farmId: string;
1198
+ fieldId: string;
1199
+ firmwareVersion: string | null;
1200
+ bufferedReadingsCount: number | null;
1201
+ bufferOverflow: boolean;
1202
+ config: {
1203
+ heartbeatIntervalSec?: number | undefined;
1204
+ commandPollIntervalSec?: number | undefined;
1205
+ sensorIntervals?: Record<string, number> | undefined;
1206
+ pumpCalibration?: {
1207
+ fert_pump_a?: {
1208
+ mlPerSecond: number;
1209
+ calibratedAt?: string | undefined;
1210
+ } | undefined;
1211
+ fert_pump_b?: {
1212
+ mlPerSecond: number;
1213
+ calibratedAt?: string | undefined;
1214
+ } | undefined;
1215
+ } | undefined;
1216
+ gpioMap?: Record<string, number> | undefined;
1217
+ } | null;
1218
+ lastSeenAt: string | null;
1219
+ isOnline: boolean;
1220
+ }>;
1221
+ }, "strip", z.ZodTypeAny, {
1222
+ device: {
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
+ lastSeenAt: string | null;
1248
+ isOnline: boolean;
1249
+ };
1250
+ }, {
1251
+ device: {
1252
+ id: string;
1253
+ createdAt: string;
1254
+ name: string;
1255
+ farmId: string;
1256
+ fieldId: string;
1257
+ firmwareVersion: string | null;
1258
+ bufferedReadingsCount: number | null;
1259
+ bufferOverflow: boolean;
1260
+ config: {
1261
+ heartbeatIntervalSec?: number | undefined;
1262
+ commandPollIntervalSec?: number | undefined;
1263
+ sensorIntervals?: Record<string, number> | undefined;
1264
+ pumpCalibration?: {
1265
+ fert_pump_a?: {
1266
+ mlPerSecond: number;
1267
+ calibratedAt?: string | undefined;
1268
+ } | undefined;
1269
+ fert_pump_b?: {
1270
+ mlPerSecond: number;
1271
+ calibratedAt?: string | undefined;
1272
+ } | undefined;
1273
+ } | undefined;
1274
+ gpioMap?: Record<string, number> | undefined;
1275
+ } | null;
1276
+ lastSeenAt: string | null;
1277
+ isOnline: boolean;
1278
+ };
1279
+ }>;
1280
+ export declare const createActuatorRequestSchema: z.ZodObject<{
1281
+ type: z.ZodEnum<["IRRIGATION_VALVE", "FERT_PUMP_A", "FERT_PUMP_B", "FAN"]>;
1282
+ name: z.ZodString;
1283
+ gpioPin: z.ZodOptional<z.ZodNumber>;
1284
+ }, "strip", z.ZodTypeAny, {
1285
+ type: "IRRIGATION_VALVE" | "FERT_PUMP_A" | "FERT_PUMP_B" | "FAN";
1286
+ name: string;
1287
+ gpioPin?: number | undefined;
1288
+ }, {
1289
+ type: "IRRIGATION_VALVE" | "FERT_PUMP_A" | "FERT_PUMP_B" | "FAN";
1290
+ name: string;
1291
+ gpioPin?: number | undefined;
1292
+ }>;
1293
+ export declare const actuatorSchema: z.ZodObject<{
1294
+ id: z.ZodString;
1295
+ deviceId: z.ZodString;
1296
+ fieldId: z.ZodString;
1297
+ farmId: z.ZodString;
1298
+ type: z.ZodEnum<["IRRIGATION_VALVE", "FERT_PUMP_A", "FERT_PUMP_B", "FAN"]>;
1299
+ name: z.ZodString;
1300
+ gpioPin: z.ZodNullable<z.ZodNumber>;
1301
+ status: z.ZodString;
1302
+ lastCommandAt: z.ZodNullable<z.ZodString>;
1303
+ }, "strip", z.ZodTypeAny, {
1304
+ type: "IRRIGATION_VALVE" | "FERT_PUMP_A" | "FERT_PUMP_B" | "FAN";
1305
+ status: string;
1306
+ id: string;
1307
+ name: string;
1308
+ farmId: string;
1309
+ fieldId: string;
1310
+ deviceId: string;
1311
+ gpioPin: number | null;
1312
+ lastCommandAt: string | null;
1313
+ }, {
1314
+ type: "IRRIGATION_VALVE" | "FERT_PUMP_A" | "FERT_PUMP_B" | "FAN";
1315
+ status: string;
1316
+ id: string;
1317
+ name: string;
1318
+ farmId: string;
1319
+ fieldId: string;
1320
+ deviceId: string;
1321
+ gpioPin: number | null;
1322
+ lastCommandAt: string | null;
1323
+ }>;
1324
+ export declare const listActuatorsResponseSchema: z.ZodObject<{
1325
+ actuators: z.ZodArray<z.ZodObject<{
1326
+ id: z.ZodString;
1327
+ deviceId: z.ZodString;
1328
+ fieldId: z.ZodString;
1329
+ farmId: z.ZodString;
1330
+ type: z.ZodEnum<["IRRIGATION_VALVE", "FERT_PUMP_A", "FERT_PUMP_B", "FAN"]>;
1331
+ name: z.ZodString;
1332
+ gpioPin: z.ZodNullable<z.ZodNumber>;
1333
+ status: z.ZodString;
1334
+ lastCommandAt: z.ZodNullable<z.ZodString>;
1335
+ }, "strip", z.ZodTypeAny, {
1336
+ type: "IRRIGATION_VALVE" | "FERT_PUMP_A" | "FERT_PUMP_B" | "FAN";
1337
+ status: string;
1338
+ id: string;
1339
+ name: string;
1340
+ farmId: string;
1341
+ fieldId: string;
1342
+ deviceId: string;
1343
+ gpioPin: number | null;
1344
+ lastCommandAt: string | null;
1345
+ }, {
1346
+ type: "IRRIGATION_VALVE" | "FERT_PUMP_A" | "FERT_PUMP_B" | "FAN";
1347
+ status: string;
1348
+ id: string;
1349
+ name: string;
1350
+ farmId: string;
1351
+ fieldId: string;
1352
+ deviceId: string;
1353
+ gpioPin: number | null;
1354
+ lastCommandAt: string | null;
1355
+ }>, "many">;
1356
+ }, "strip", z.ZodTypeAny, {
1357
+ actuators: {
1358
+ type: "IRRIGATION_VALVE" | "FERT_PUMP_A" | "FERT_PUMP_B" | "FAN";
1359
+ status: string;
1360
+ id: string;
1361
+ name: string;
1362
+ farmId: string;
1363
+ fieldId: string;
1364
+ deviceId: string;
1365
+ gpioPin: number | null;
1366
+ lastCommandAt: string | null;
1367
+ }[];
1368
+ }, {
1369
+ actuators: {
1370
+ type: "IRRIGATION_VALVE" | "FERT_PUMP_A" | "FERT_PUMP_B" | "FAN";
1371
+ status: string;
1372
+ id: string;
1373
+ name: string;
1374
+ farmId: string;
1375
+ fieldId: string;
1376
+ deviceId: string;
1377
+ gpioPin: number | null;
1378
+ lastCommandAt: string | null;
1379
+ }[];
1380
+ }>;
1381
+ export declare const actuatorCommandRequestSchema: z.ZodObject<{
1382
+ command: z.ZodEnum<["ON", "OFF", "PULSE"]>;
1383
+ durationSec: z.ZodOptional<z.ZodNumber>;
1384
+ source: z.ZodDefault<z.ZodEnum<["manual", "schedule", "rule"]>>;
1385
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1386
+ }, "strip", z.ZodTypeAny, {
1387
+ source: "manual" | "schedule" | "rule";
1388
+ command: "ON" | "OFF" | "PULSE";
1389
+ metadata?: Record<string, unknown> | undefined;
1390
+ durationSec?: number | undefined;
1391
+ }, {
1392
+ command: "ON" | "OFF" | "PULSE";
1393
+ source?: "manual" | "schedule" | "rule" | undefined;
1394
+ metadata?: Record<string, unknown> | undefined;
1395
+ durationSec?: number | undefined;
1396
+ }>;
1397
+ export declare const actuatorCommandResponseSchema: z.ZodObject<{
1398
+ commandId: z.ZodString;
1399
+ status: z.ZodString;
1400
+ }, "strip", z.ZodTypeAny, {
1401
+ status: string;
1402
+ commandId: string;
1403
+ }, {
1404
+ status: string;
1405
+ commandId: string;
1406
+ }>;
1407
+ //# sourceMappingURL=device-gateway.schemas.d.ts.map