@camstack/types 1.2.16 → 1.2.18

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (64) hide show
  1. package/dist/addon.d.ts +1 -0
  2. package/dist/addon.js +266 -2
  3. package/dist/addon.mjs +265 -3
  4. package/dist/capabilities/addons.cap.d.ts +7 -7
  5. package/dist/capabilities/broker.cap.d.ts +8 -8
  6. package/dist/capabilities/camera-streams.cap.d.ts +5 -5
  7. package/dist/capabilities/climate-control.cap.d.ts +8 -8
  8. package/dist/capabilities/day-night.cap.d.ts +8 -8
  9. package/dist/capabilities/decoder.cap.d.ts +2 -2
  10. package/dist/capabilities/device-manager.cap.d.ts +24 -2
  11. package/dist/capabilities/face-gallery.cap.d.ts +1 -1
  12. package/dist/capabilities/image-settings.cap.d.ts +16 -16
  13. package/dist/capabilities/index.d.ts +2 -2
  14. package/dist/capabilities/intercom.cap.d.ts +6 -6
  15. package/dist/capabilities/lawn-mower-control.cap.d.ts +4 -4
  16. package/dist/capabilities/llm-runtime.cap.d.ts +3 -3
  17. package/dist/capabilities/llm.cap.d.ts +4 -4
  18. package/dist/capabilities/local-network.cap.d.ts +38 -0
  19. package/dist/capabilities/media-player.cap.d.ts +9 -9
  20. package/dist/capabilities/metrics-provider.cap.d.ts +2 -2
  21. package/dist/capabilities/mqtt-broker.cap.d.ts +3 -3
  22. package/dist/capabilities/notification-output.cap.d.ts +4 -0
  23. package/dist/capabilities/notification-rules.cap.d.ts +378 -18
  24. package/dist/capabilities/pipeline-analytics.cap.d.ts +133 -27
  25. package/dist/capabilities/pipeline-executor.cap.d.ts +2 -2
  26. package/dist/capabilities/pipeline-orchestrator.cap.d.ts +15 -15
  27. package/dist/capabilities/pipeline-runner.cap.d.ts +2 -2
  28. package/dist/capabilities/recording-export.cap.d.ts +7 -7
  29. package/dist/capabilities/recording.cap.d.ts +102 -129
  30. package/dist/capabilities/schemas/orchestrator-metrics.d.ts +2 -2
  31. package/dist/capabilities/schemas/streaming-shared.d.ts +4 -4
  32. package/dist/capabilities/storage-provider.cap.d.ts +44 -0
  33. package/dist/capabilities/storage.cap.d.ts +17 -1
  34. package/dist/capabilities/stream-broker.cap.d.ts +58 -12
  35. package/dist/capabilities/webrtc-session.cap.d.ts +6 -6
  36. package/dist/enums/event-category.d.ts +13 -0
  37. package/dist/enums.js +1 -1
  38. package/dist/enums.mjs +1 -1
  39. package/dist/{event-category-Cdyife4p.js → event-category-39bpf1r_.js} +13 -0
  40. package/dist/{event-category-BLcNejAE.mjs → event-category-Bz24uP1U.mjs} +13 -0
  41. package/dist/generated/addon-api.d.ts +5358 -30965
  42. package/dist/generated/cap-input-defaults.d.ts +29 -0
  43. package/dist/generated/device-proxy.d.ts +2 -2
  44. package/dist/generated/method-access-map.d.ts +1 -1
  45. package/dist/generated/system-proxy.d.ts +3 -3
  46. package/dist/index.d.ts +2 -1
  47. package/dist/index.js +724 -138
  48. package/dist/index.mjs +711 -135
  49. package/dist/interfaces/addon.d.ts +9 -0
  50. package/dist/interfaces/ops-log.d.ts +2 -0
  51. package/dist/interfaces/recording-config.d.ts +33 -91
  52. package/dist/interfaces/relocate.d.ts +55 -0
  53. package/dist/interfaces/storage-location-declaration.d.ts +1 -1
  54. package/dist/interfaces/storage-location.d.ts +4 -0
  55. package/dist/interfaces/stream-broker.d.ts +1 -1
  56. package/dist/lifecycle/job.d.ts +6 -6
  57. package/dist/node.js +1 -0
  58. package/dist/node.mjs +1 -0
  59. package/dist/notification/condition-taxonomy.d.ts +61 -0
  60. package/dist/notification/format-transcode.d.ts +12 -1
  61. package/dist/{sleep-C3ceNSsf.mjs → sleep-B_Uaqbai.mjs} +7 -1
  62. package/dist/{sleep-DRg9F6JJ.js → sleep-DETsT9rJ.js} +7 -1
  63. package/package.json +1 -1
  64. package/dist/interfaces/recording-config-migrate.d.ts +0 -12
@@ -46,9 +46,9 @@ import { type InferProvider } from './capability-definition.js';
46
46
  * one trigger.
47
47
  */
48
48
  export declare const NcDeliverySchema: z.ZodEnum<{
49
+ "device-event": "device-event";
49
50
  immediate: "immediate";
50
51
  "track-end": "track-end";
51
- "device-event": "device-event";
52
52
  "package-event": "package-event";
53
53
  }>;
54
54
  export type NcDelivery = z.infer<typeof NcDeliverySchema>;
@@ -108,6 +108,30 @@ export declare const NcOccupancyConditionSchema: z.ZodObject<{
108
108
  sustainSeconds: z.ZodDefault<z.ZodNumber>;
109
109
  }, z.core.$strip>;
110
110
  export type NcOccupancyCondition = z.infer<typeof NcOccupancyConditionSchema>;
111
+ /**
112
+ * Which zone-crossing DIRECTION a rule accepts (`ObjectEvent.zoneCrossing`).
113
+ *
114
+ * The values are not symmetric, and deliberately so — the absent value has to
115
+ * mean exactly what every rule authored before this condition existed already
116
+ * does:
117
+ * - `enter` — entries and every NON-crossing record (movement state,
118
+ * package, sensor). Exits are rejected. **This is the absent behaviour**:
119
+ * an operator who never asked for exits must not start receiving them.
120
+ * - `exit` — ONLY an exit crossing. A record that is not a crossing at all
121
+ * fails closed, because "the car left the drive" is a question about a
122
+ * boundary, not about a detection.
123
+ * - `any` — no direction filter; entries, exits and non-crossings alike.
124
+ *
125
+ * A rule asking for a direction should normally also scope `zones`, which the
126
+ * engine evaluates against the crossed zone as well as the current membership
127
+ * (an exit's membership no longer contains the zone it just left).
128
+ */
129
+ export declare const NcCrossingSchema: z.ZodEnum<{
130
+ any: "any";
131
+ enter: "enter";
132
+ exit: "exit";
133
+ }>;
134
+ export type NcCrossing = z.infer<typeof NcCrossingSchema>;
111
135
  /** Admin-zone membership condition (zone IDs as stamped by the ZoneEngine). */
112
136
  export declare const NcZoneConditionSchema: z.ZodObject<{
113
137
  ids: z.ZodArray<z.ZodString>;
@@ -134,6 +158,11 @@ export declare const NcConditionsSchema: z.ZodObject<{
134
158
  }>>;
135
159
  }, z.core.$strip>>;
136
160
  zonesExclude: z.ZodOptional<z.ZodArray<z.ZodString>>;
161
+ crossing: z.ZodOptional<z.ZodEnum<{
162
+ any: "any";
163
+ enter: "enter";
164
+ exit: "exit";
165
+ }>>;
137
166
  labelEquals: z.ZodOptional<z.ZodArray<z.ZodString>>;
138
167
  identities: z.ZodOptional<z.ZodArray<z.ZodString>>;
139
168
  plates: z.ZodOptional<z.ZodObject<{
@@ -197,6 +226,22 @@ export type NcRuleTarget = z.infer<typeof NcRuleTargetSchema>;
197
226
  * - `keyFrame` — the clean scene frame (no subject box).
198
227
  * - `none` — no attachment.
199
228
  */
229
+ /**
230
+ * WHAT THE PICTURE SHOWS — chosen explicitly, because the implicit ladders
231
+ * conflate it with the selection strategy and betray the request: asking for
232
+ * the clean scene frame on an object-event owner used to start at
233
+ * `fullFrameBoxed`, i.e. the annotated frame (2026-07-30).
234
+ * - `cropped` — the subject, tight. What "who is at the door" wants.
235
+ * - `full` — the clean scene, no annotation. What "what is going on" wants.
236
+ * - `boxed` — the scene WITH the detection boxes drawn, for verifying what
237
+ * the pipeline actually saw.
238
+ */
239
+ export declare const NcMediaFrameSchema: z.ZodEnum<{
240
+ full: "full";
241
+ cropped: "cropped";
242
+ boxed: "boxed";
243
+ }>;
244
+ export type NcMediaFrame = z.infer<typeof NcMediaFrameSchema>;
200
245
  export declare const NcMediaPolicySchema: z.ZodObject<{
201
246
  attach: z.ZodDefault<z.ZodEnum<{
202
247
  none: "none";
@@ -204,8 +249,40 @@ export declare const NcMediaPolicySchema: z.ZodObject<{
204
249
  "best-matching": "best-matching";
205
250
  keyFrame: "keyFrame";
206
251
  }>>;
252
+ frame: z.ZodOptional<z.ZodEnum<{
253
+ full: "full";
254
+ cropped: "cropped";
255
+ boxed: "boxed";
256
+ }>>;
257
+ zoneCrop: z.ZodOptional<z.ZodBoolean>;
258
+ gif: z.ZodOptional<z.ZodBoolean>;
259
+ clip: z.ZodOptional<z.ZodBoolean>;
260
+ clipPreRollSec: z.ZodOptional<z.ZodNumber>;
261
+ clipPostRollSec: z.ZodOptional<z.ZodNumber>;
262
+ profile: z.ZodOptional<z.ZodEnum<{
263
+ high: "high";
264
+ mid: "mid";
265
+ low: "low";
266
+ }>>;
207
267
  }, z.core.$strip>;
208
268
  export type NcMediaPolicy = z.infer<typeof NcMediaPolicySchema>;
269
+ /**
270
+ * Cooldown GRANULARITY over the subject's class — how much a fired
271
+ * notification suppresses.
272
+ * - `shared` (default, and the absent value) — one window for the whole
273
+ * rule/scope: a cat silences the next dog for `cooldownSec`.
274
+ * - `per-class` — an independent window per detected class, so cat→dog fires
275
+ * at once and cat→cat still waits.
276
+ *
277
+ * AUDIO subjects are ALWAYS per-class regardless of this setting: a scream
278
+ * must not be swallowed by a bark's window (the precedent this generalizes —
279
+ * see `cooldownKey` in the rule engine).
280
+ */
281
+ export declare const NcThrottleGranularitySchema: z.ZodEnum<{
282
+ shared: "shared";
283
+ "per-class": "per-class";
284
+ }>;
285
+ export type NcThrottleGranularity = z.infer<typeof NcThrottleGranularitySchema>;
209
286
  /** Throttle — cooldown survives restarts (rebuilt from the outbox on boot). */
210
287
  export declare const NcThrottleSchema: z.ZodObject<{
211
288
  cooldownSec: z.ZodDefault<z.ZodNumber>;
@@ -213,6 +290,10 @@ export declare const NcThrottleSchema: z.ZodObject<{
213
290
  rule: "rule";
214
291
  "rule-device": "rule-device";
215
292
  }>>;
293
+ granularity: z.ZodOptional<z.ZodEnum<{
294
+ shared: "shared";
295
+ "per-class": "per-class";
296
+ }>>;
216
297
  }, z.core.$strip>;
217
298
  export type NcThrottle = z.infer<typeof NcThrottleSchema>;
218
299
  /** Client-supplied rule fields (server stamps id/createdBy/createdAt/updatedAt). */
@@ -220,9 +301,9 @@ export declare const NcRuleInputSchema: z.ZodObject<{
220
301
  name: z.ZodString;
221
302
  enabled: z.ZodDefault<z.ZodBoolean>;
222
303
  delivery: z.ZodEnum<{
304
+ "device-event": "device-event";
223
305
  immediate: "immediate";
224
306
  "track-end": "track-end";
225
- "device-event": "device-event";
226
307
  "package-event": "package-event";
227
308
  }>;
228
309
  conditions: z.ZodDefault<z.ZodObject<{
@@ -238,6 +319,11 @@ export declare const NcRuleInputSchema: z.ZodObject<{
238
319
  }>>;
239
320
  }, z.core.$strip>>;
240
321
  zonesExclude: z.ZodOptional<z.ZodArray<z.ZodString>>;
322
+ crossing: z.ZodOptional<z.ZodEnum<{
323
+ any: "any";
324
+ enter: "enter";
325
+ exit: "exit";
326
+ }>>;
241
327
  labelEquals: z.ZodOptional<z.ZodArray<z.ZodString>>;
242
328
  identities: z.ZodOptional<z.ZodArray<z.ZodString>>;
243
329
  plates: z.ZodOptional<z.ZodObject<{
@@ -294,6 +380,7 @@ export declare const NcRuleInputSchema: z.ZodObject<{
294
380
  targetId: z.ZodString;
295
381
  params: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
296
382
  }, z.core.$strip>>;
383
+ targetUsers: z.ZodOptional<z.ZodArray<z.ZodString>>;
297
384
  media: z.ZodDefault<z.ZodObject<{
298
385
  attach: z.ZodDefault<z.ZodEnum<{
299
386
  none: "none";
@@ -301,6 +388,21 @@ export declare const NcRuleInputSchema: z.ZodObject<{
301
388
  "best-matching": "best-matching";
302
389
  keyFrame: "keyFrame";
303
390
  }>>;
391
+ frame: z.ZodOptional<z.ZodEnum<{
392
+ full: "full";
393
+ cropped: "cropped";
394
+ boxed: "boxed";
395
+ }>>;
396
+ zoneCrop: z.ZodOptional<z.ZodBoolean>;
397
+ gif: z.ZodOptional<z.ZodBoolean>;
398
+ clip: z.ZodOptional<z.ZodBoolean>;
399
+ clipPreRollSec: z.ZodOptional<z.ZodNumber>;
400
+ clipPostRollSec: z.ZodOptional<z.ZodNumber>;
401
+ profile: z.ZodOptional<z.ZodEnum<{
402
+ high: "high";
403
+ mid: "mid";
404
+ low: "low";
405
+ }>>;
304
406
  }, z.core.$strip>>;
305
407
  throttle: z.ZodDefault<z.ZodObject<{
306
408
  cooldownSec: z.ZodDefault<z.ZodNumber>;
@@ -308,6 +410,10 @@ export declare const NcRuleInputSchema: z.ZodObject<{
308
410
  rule: "rule";
309
411
  "rule-device": "rule-device";
310
412
  }>>;
413
+ granularity: z.ZodOptional<z.ZodEnum<{
414
+ shared: "shared";
415
+ "per-class": "per-class";
416
+ }>>;
311
417
  }, z.core.$strip>>;
312
418
  template: z.ZodOptional<z.ZodObject<{
313
419
  title: z.ZodOptional<z.ZodString>;
@@ -330,9 +436,9 @@ export declare const NcRulePatchSchema: z.ZodObject<{
330
436
  name: z.ZodOptional<z.ZodString>;
331
437
  enabled: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
332
438
  delivery: z.ZodOptional<z.ZodEnum<{
439
+ "device-event": "device-event";
333
440
  immediate: "immediate";
334
441
  "track-end": "track-end";
335
- "device-event": "device-event";
336
442
  "package-event": "package-event";
337
443
  }>>;
338
444
  conditions: z.ZodOptional<z.ZodDefault<z.ZodObject<{
@@ -348,6 +454,11 @@ export declare const NcRulePatchSchema: z.ZodObject<{
348
454
  }>>;
349
455
  }, z.core.$strip>>;
350
456
  zonesExclude: z.ZodOptional<z.ZodArray<z.ZodString>>;
457
+ crossing: z.ZodOptional<z.ZodEnum<{
458
+ any: "any";
459
+ enter: "enter";
460
+ exit: "exit";
461
+ }>>;
351
462
  labelEquals: z.ZodOptional<z.ZodArray<z.ZodString>>;
352
463
  identities: z.ZodOptional<z.ZodArray<z.ZodString>>;
353
464
  plates: z.ZodOptional<z.ZodObject<{
@@ -404,6 +515,7 @@ export declare const NcRulePatchSchema: z.ZodObject<{
404
515
  targetId: z.ZodString;
405
516
  params: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
406
517
  }, z.core.$strip>>>;
518
+ targetUsers: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodString>>>;
407
519
  media: z.ZodOptional<z.ZodDefault<z.ZodObject<{
408
520
  attach: z.ZodDefault<z.ZodEnum<{
409
521
  none: "none";
@@ -411,6 +523,21 @@ export declare const NcRulePatchSchema: z.ZodObject<{
411
523
  "best-matching": "best-matching";
412
524
  keyFrame: "keyFrame";
413
525
  }>>;
526
+ frame: z.ZodOptional<z.ZodEnum<{
527
+ full: "full";
528
+ cropped: "cropped";
529
+ boxed: "boxed";
530
+ }>>;
531
+ zoneCrop: z.ZodOptional<z.ZodBoolean>;
532
+ gif: z.ZodOptional<z.ZodBoolean>;
533
+ clip: z.ZodOptional<z.ZodBoolean>;
534
+ clipPreRollSec: z.ZodOptional<z.ZodNumber>;
535
+ clipPostRollSec: z.ZodOptional<z.ZodNumber>;
536
+ profile: z.ZodOptional<z.ZodEnum<{
537
+ high: "high";
538
+ mid: "mid";
539
+ low: "low";
540
+ }>>;
414
541
  }, z.core.$strip>>>;
415
542
  throttle: z.ZodOptional<z.ZodDefault<z.ZodObject<{
416
543
  cooldownSec: z.ZodDefault<z.ZodNumber>;
@@ -418,6 +545,10 @@ export declare const NcRulePatchSchema: z.ZodObject<{
418
545
  rule: "rule";
419
546
  "rule-device": "rule-device";
420
547
  }>>;
548
+ granularity: z.ZodOptional<z.ZodEnum<{
549
+ shared: "shared";
550
+ "per-class": "per-class";
551
+ }>>;
421
552
  }, z.core.$strip>>>;
422
553
  template: z.ZodOptional<z.ZodOptional<z.ZodObject<{
423
554
  title: z.ZodOptional<z.ZodString>;
@@ -433,9 +564,9 @@ export declare const NcRuleSchema: z.ZodObject<{
433
564
  name: z.ZodString;
434
565
  enabled: z.ZodDefault<z.ZodBoolean>;
435
566
  delivery: z.ZodEnum<{
567
+ "device-event": "device-event";
436
568
  immediate: "immediate";
437
569
  "track-end": "track-end";
438
- "device-event": "device-event";
439
570
  "package-event": "package-event";
440
571
  }>;
441
572
  conditions: z.ZodDefault<z.ZodObject<{
@@ -451,6 +582,11 @@ export declare const NcRuleSchema: z.ZodObject<{
451
582
  }>>;
452
583
  }, z.core.$strip>>;
453
584
  zonesExclude: z.ZodOptional<z.ZodArray<z.ZodString>>;
585
+ crossing: z.ZodOptional<z.ZodEnum<{
586
+ any: "any";
587
+ enter: "enter";
588
+ exit: "exit";
589
+ }>>;
454
590
  labelEquals: z.ZodOptional<z.ZodArray<z.ZodString>>;
455
591
  identities: z.ZodOptional<z.ZodArray<z.ZodString>>;
456
592
  plates: z.ZodOptional<z.ZodObject<{
@@ -507,6 +643,7 @@ export declare const NcRuleSchema: z.ZodObject<{
507
643
  targetId: z.ZodString;
508
644
  params: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
509
645
  }, z.core.$strip>>;
646
+ targetUsers: z.ZodOptional<z.ZodArray<z.ZodString>>;
510
647
  media: z.ZodDefault<z.ZodObject<{
511
648
  attach: z.ZodDefault<z.ZodEnum<{
512
649
  none: "none";
@@ -514,6 +651,21 @@ export declare const NcRuleSchema: z.ZodObject<{
514
651
  "best-matching": "best-matching";
515
652
  keyFrame: "keyFrame";
516
653
  }>>;
654
+ frame: z.ZodOptional<z.ZodEnum<{
655
+ full: "full";
656
+ cropped: "cropped";
657
+ boxed: "boxed";
658
+ }>>;
659
+ zoneCrop: z.ZodOptional<z.ZodBoolean>;
660
+ gif: z.ZodOptional<z.ZodBoolean>;
661
+ clip: z.ZodOptional<z.ZodBoolean>;
662
+ clipPreRollSec: z.ZodOptional<z.ZodNumber>;
663
+ clipPostRollSec: z.ZodOptional<z.ZodNumber>;
664
+ profile: z.ZodOptional<z.ZodEnum<{
665
+ high: "high";
666
+ mid: "mid";
667
+ low: "low";
668
+ }>>;
517
669
  }, z.core.$strip>>;
518
670
  throttle: z.ZodDefault<z.ZodObject<{
519
671
  cooldownSec: z.ZodDefault<z.ZodNumber>;
@@ -521,6 +673,10 @@ export declare const NcRuleSchema: z.ZodObject<{
521
673
  rule: "rule";
522
674
  "rule-device": "rule-device";
523
675
  }>>;
676
+ granularity: z.ZodOptional<z.ZodEnum<{
677
+ shared: "shared";
678
+ "per-class": "per-class";
679
+ }>>;
524
680
  }, z.core.$strip>>;
525
681
  template: z.ZodOptional<z.ZodObject<{
526
682
  title: z.ZodOptional<z.ZodString>;
@@ -577,6 +733,7 @@ export declare const NcConditionDescriptorSchema: z.ZodObject<{
577
733
  zoneSelection: "zoneSelection";
578
734
  zoneIdList: "zoneIdList";
579
735
  plateMatcher: "plateMatcher";
736
+ crossingSelect: "crossingSelect";
580
737
  polygonDraw: "polygonDraw";
581
738
  }>;
582
739
  operator: z.ZodEnum<{
@@ -589,9 +746,9 @@ export declare const NcConditionDescriptorSchema: z.ZodObject<{
589
746
  withinSchedule: "withinSchedule";
590
747
  }>;
591
748
  appliesTo: z.ZodArray<z.ZodEnum<{
749
+ "device-event": "device-event";
592
750
  immediate: "immediate";
593
751
  "track-end": "track-end";
594
- "device-event": "device-event";
595
752
  "package-event": "package-event";
596
753
  }>>;
597
754
  phase: z.ZodString;
@@ -623,8 +780,8 @@ export declare const NcHistoryStatusSchema: z.ZodEnum<{
623
780
  export type NcHistoryStatus = z.infer<typeof NcHistoryStatusSchema>;
624
781
  /** The evaluated record kind a history row descends from (one per trigger). */
625
782
  export declare const NcHistoryRecordKindSchema: z.ZodEnum<{
626
- "track-end": "track-end";
627
783
  "device-event": "device-event";
784
+ "track-end": "track-end";
628
785
  "package-event": "package-event";
629
786
  "object-event": "object-event";
630
787
  }>;
@@ -654,16 +811,16 @@ export declare const NcHistoryEntrySchema: z.ZodObject<{
654
811
  ruleId: z.ZodString;
655
812
  ruleName: z.ZodString;
656
813
  delivery: z.ZodEnum<{
814
+ "device-event": "device-event";
657
815
  immediate: "immediate";
658
816
  "track-end": "track-end";
659
- "device-event": "device-event";
660
817
  "package-event": "package-event";
661
818
  }>;
662
819
  targetId: z.ZodString;
663
820
  deviceId: z.ZodNumber;
664
821
  recordKind: z.ZodEnum<{
665
- "track-end": "track-end";
666
822
  "device-event": "device-event";
823
+ "track-end": "track-end";
667
824
  "package-event": "package-event";
668
825
  "object-event": "object-event";
669
826
  }>;
@@ -719,9 +876,9 @@ export declare const notificationRulesCapability: {
719
876
  name: z.ZodString;
720
877
  enabled: z.ZodDefault<z.ZodBoolean>;
721
878
  delivery: z.ZodEnum<{
879
+ "device-event": "device-event";
722
880
  immediate: "immediate";
723
881
  "track-end": "track-end";
724
- "device-event": "device-event";
725
882
  "package-event": "package-event";
726
883
  }>;
727
884
  conditions: z.ZodDefault<z.ZodObject<{
@@ -737,6 +894,11 @@ export declare const notificationRulesCapability: {
737
894
  }>>;
738
895
  }, z.core.$strip>>;
739
896
  zonesExclude: z.ZodOptional<z.ZodArray<z.ZodString>>;
897
+ crossing: z.ZodOptional<z.ZodEnum<{
898
+ any: "any";
899
+ enter: "enter";
900
+ exit: "exit";
901
+ }>>;
740
902
  labelEquals: z.ZodOptional<z.ZodArray<z.ZodString>>;
741
903
  identities: z.ZodOptional<z.ZodArray<z.ZodString>>;
742
904
  plates: z.ZodOptional<z.ZodObject<{
@@ -793,6 +955,7 @@ export declare const notificationRulesCapability: {
793
955
  targetId: z.ZodString;
794
956
  params: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
795
957
  }, z.core.$strip>>;
958
+ targetUsers: z.ZodOptional<z.ZodArray<z.ZodString>>;
796
959
  media: z.ZodDefault<z.ZodObject<{
797
960
  attach: z.ZodDefault<z.ZodEnum<{
798
961
  none: "none";
@@ -800,6 +963,21 @@ export declare const notificationRulesCapability: {
800
963
  "best-matching": "best-matching";
801
964
  keyFrame: "keyFrame";
802
965
  }>>;
966
+ frame: z.ZodOptional<z.ZodEnum<{
967
+ full: "full";
968
+ cropped: "cropped";
969
+ boxed: "boxed";
970
+ }>>;
971
+ zoneCrop: z.ZodOptional<z.ZodBoolean>;
972
+ gif: z.ZodOptional<z.ZodBoolean>;
973
+ clip: z.ZodOptional<z.ZodBoolean>;
974
+ clipPreRollSec: z.ZodOptional<z.ZodNumber>;
975
+ clipPostRollSec: z.ZodOptional<z.ZodNumber>;
976
+ profile: z.ZodOptional<z.ZodEnum<{
977
+ high: "high";
978
+ mid: "mid";
979
+ low: "low";
980
+ }>>;
803
981
  }, z.core.$strip>>;
804
982
  throttle: z.ZodDefault<z.ZodObject<{
805
983
  cooldownSec: z.ZodDefault<z.ZodNumber>;
@@ -807,6 +985,10 @@ export declare const notificationRulesCapability: {
807
985
  rule: "rule";
808
986
  "rule-device": "rule-device";
809
987
  }>>;
988
+ granularity: z.ZodOptional<z.ZodEnum<{
989
+ shared: "shared";
990
+ "per-class": "per-class";
991
+ }>>;
810
992
  }, z.core.$strip>>;
811
993
  template: z.ZodOptional<z.ZodObject<{
812
994
  title: z.ZodOptional<z.ZodString>;
@@ -828,9 +1010,9 @@ export declare const notificationRulesCapability: {
828
1010
  name: z.ZodString;
829
1011
  enabled: z.ZodDefault<z.ZodBoolean>;
830
1012
  delivery: z.ZodEnum<{
1013
+ "device-event": "device-event";
831
1014
  immediate: "immediate";
832
1015
  "track-end": "track-end";
833
- "device-event": "device-event";
834
1016
  "package-event": "package-event";
835
1017
  }>;
836
1018
  conditions: z.ZodDefault<z.ZodObject<{
@@ -846,6 +1028,11 @@ export declare const notificationRulesCapability: {
846
1028
  }>>;
847
1029
  }, z.core.$strip>>;
848
1030
  zonesExclude: z.ZodOptional<z.ZodArray<z.ZodString>>;
1031
+ crossing: z.ZodOptional<z.ZodEnum<{
1032
+ any: "any";
1033
+ enter: "enter";
1034
+ exit: "exit";
1035
+ }>>;
849
1036
  labelEquals: z.ZodOptional<z.ZodArray<z.ZodString>>;
850
1037
  identities: z.ZodOptional<z.ZodArray<z.ZodString>>;
851
1038
  plates: z.ZodOptional<z.ZodObject<{
@@ -902,6 +1089,7 @@ export declare const notificationRulesCapability: {
902
1089
  targetId: z.ZodString;
903
1090
  params: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
904
1091
  }, z.core.$strip>>;
1092
+ targetUsers: z.ZodOptional<z.ZodArray<z.ZodString>>;
905
1093
  media: z.ZodDefault<z.ZodObject<{
906
1094
  attach: z.ZodDefault<z.ZodEnum<{
907
1095
  none: "none";
@@ -909,6 +1097,21 @@ export declare const notificationRulesCapability: {
909
1097
  "best-matching": "best-matching";
910
1098
  keyFrame: "keyFrame";
911
1099
  }>>;
1100
+ frame: z.ZodOptional<z.ZodEnum<{
1101
+ full: "full";
1102
+ cropped: "cropped";
1103
+ boxed: "boxed";
1104
+ }>>;
1105
+ zoneCrop: z.ZodOptional<z.ZodBoolean>;
1106
+ gif: z.ZodOptional<z.ZodBoolean>;
1107
+ clip: z.ZodOptional<z.ZodBoolean>;
1108
+ clipPreRollSec: z.ZodOptional<z.ZodNumber>;
1109
+ clipPostRollSec: z.ZodOptional<z.ZodNumber>;
1110
+ profile: z.ZodOptional<z.ZodEnum<{
1111
+ high: "high";
1112
+ mid: "mid";
1113
+ low: "low";
1114
+ }>>;
912
1115
  }, z.core.$strip>>;
913
1116
  throttle: z.ZodDefault<z.ZodObject<{
914
1117
  cooldownSec: z.ZodDefault<z.ZodNumber>;
@@ -916,6 +1119,10 @@ export declare const notificationRulesCapability: {
916
1119
  rule: "rule";
917
1120
  "rule-device": "rule-device";
918
1121
  }>>;
1122
+ granularity: z.ZodOptional<z.ZodEnum<{
1123
+ shared: "shared";
1124
+ "per-class": "per-class";
1125
+ }>>;
919
1126
  }, z.core.$strip>>;
920
1127
  template: z.ZodOptional<z.ZodObject<{
921
1128
  title: z.ZodOptional<z.ZodString>;
@@ -935,9 +1142,9 @@ export declare const notificationRulesCapability: {
935
1142
  name: z.ZodString;
936
1143
  enabled: z.ZodDefault<z.ZodBoolean>;
937
1144
  delivery: z.ZodEnum<{
1145
+ "device-event": "device-event";
938
1146
  immediate: "immediate";
939
1147
  "track-end": "track-end";
940
- "device-event": "device-event";
941
1148
  "package-event": "package-event";
942
1149
  }>;
943
1150
  conditions: z.ZodDefault<z.ZodObject<{
@@ -953,6 +1160,11 @@ export declare const notificationRulesCapability: {
953
1160
  }>>;
954
1161
  }, z.core.$strip>>;
955
1162
  zonesExclude: z.ZodOptional<z.ZodArray<z.ZodString>>;
1163
+ crossing: z.ZodOptional<z.ZodEnum<{
1164
+ any: "any";
1165
+ enter: "enter";
1166
+ exit: "exit";
1167
+ }>>;
956
1168
  labelEquals: z.ZodOptional<z.ZodArray<z.ZodString>>;
957
1169
  identities: z.ZodOptional<z.ZodArray<z.ZodString>>;
958
1170
  plates: z.ZodOptional<z.ZodObject<{
@@ -1009,6 +1221,7 @@ export declare const notificationRulesCapability: {
1009
1221
  targetId: z.ZodString;
1010
1222
  params: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1011
1223
  }, z.core.$strip>>;
1224
+ targetUsers: z.ZodOptional<z.ZodArray<z.ZodString>>;
1012
1225
  media: z.ZodDefault<z.ZodObject<{
1013
1226
  attach: z.ZodDefault<z.ZodEnum<{
1014
1227
  none: "none";
@@ -1016,6 +1229,21 @@ export declare const notificationRulesCapability: {
1016
1229
  "best-matching": "best-matching";
1017
1230
  keyFrame: "keyFrame";
1018
1231
  }>>;
1232
+ frame: z.ZodOptional<z.ZodEnum<{
1233
+ full: "full";
1234
+ cropped: "cropped";
1235
+ boxed: "boxed";
1236
+ }>>;
1237
+ zoneCrop: z.ZodOptional<z.ZodBoolean>;
1238
+ gif: z.ZodOptional<z.ZodBoolean>;
1239
+ clip: z.ZodOptional<z.ZodBoolean>;
1240
+ clipPreRollSec: z.ZodOptional<z.ZodNumber>;
1241
+ clipPostRollSec: z.ZodOptional<z.ZodNumber>;
1242
+ profile: z.ZodOptional<z.ZodEnum<{
1243
+ high: "high";
1244
+ mid: "mid";
1245
+ low: "low";
1246
+ }>>;
1019
1247
  }, z.core.$strip>>;
1020
1248
  throttle: z.ZodDefault<z.ZodObject<{
1021
1249
  cooldownSec: z.ZodDefault<z.ZodNumber>;
@@ -1023,6 +1251,10 @@ export declare const notificationRulesCapability: {
1023
1251
  rule: "rule";
1024
1252
  "rule-device": "rule-device";
1025
1253
  }>>;
1254
+ granularity: z.ZodOptional<z.ZodEnum<{
1255
+ shared: "shared";
1256
+ "per-class": "per-class";
1257
+ }>>;
1026
1258
  }, z.core.$strip>>;
1027
1259
  template: z.ZodOptional<z.ZodObject<{
1028
1260
  title: z.ZodOptional<z.ZodString>;
@@ -1036,9 +1268,9 @@ export declare const notificationRulesCapability: {
1036
1268
  name: z.ZodString;
1037
1269
  enabled: z.ZodDefault<z.ZodBoolean>;
1038
1270
  delivery: z.ZodEnum<{
1271
+ "device-event": "device-event";
1039
1272
  immediate: "immediate";
1040
1273
  "track-end": "track-end";
1041
- "device-event": "device-event";
1042
1274
  "package-event": "package-event";
1043
1275
  }>;
1044
1276
  conditions: z.ZodDefault<z.ZodObject<{
@@ -1054,6 +1286,11 @@ export declare const notificationRulesCapability: {
1054
1286
  }>>;
1055
1287
  }, z.core.$strip>>;
1056
1288
  zonesExclude: z.ZodOptional<z.ZodArray<z.ZodString>>;
1289
+ crossing: z.ZodOptional<z.ZodEnum<{
1290
+ any: "any";
1291
+ enter: "enter";
1292
+ exit: "exit";
1293
+ }>>;
1057
1294
  labelEquals: z.ZodOptional<z.ZodArray<z.ZodString>>;
1058
1295
  identities: z.ZodOptional<z.ZodArray<z.ZodString>>;
1059
1296
  plates: z.ZodOptional<z.ZodObject<{
@@ -1110,6 +1347,7 @@ export declare const notificationRulesCapability: {
1110
1347
  targetId: z.ZodString;
1111
1348
  params: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1112
1349
  }, z.core.$strip>>;
1350
+ targetUsers: z.ZodOptional<z.ZodArray<z.ZodString>>;
1113
1351
  media: z.ZodDefault<z.ZodObject<{
1114
1352
  attach: z.ZodDefault<z.ZodEnum<{
1115
1353
  none: "none";
@@ -1117,6 +1355,21 @@ export declare const notificationRulesCapability: {
1117
1355
  "best-matching": "best-matching";
1118
1356
  keyFrame: "keyFrame";
1119
1357
  }>>;
1358
+ frame: z.ZodOptional<z.ZodEnum<{
1359
+ full: "full";
1360
+ cropped: "cropped";
1361
+ boxed: "boxed";
1362
+ }>>;
1363
+ zoneCrop: z.ZodOptional<z.ZodBoolean>;
1364
+ gif: z.ZodOptional<z.ZodBoolean>;
1365
+ clip: z.ZodOptional<z.ZodBoolean>;
1366
+ clipPreRollSec: z.ZodOptional<z.ZodNumber>;
1367
+ clipPostRollSec: z.ZodOptional<z.ZodNumber>;
1368
+ profile: z.ZodOptional<z.ZodEnum<{
1369
+ high: "high";
1370
+ mid: "mid";
1371
+ low: "low";
1372
+ }>>;
1120
1373
  }, z.core.$strip>>;
1121
1374
  throttle: z.ZodDefault<z.ZodObject<{
1122
1375
  cooldownSec: z.ZodDefault<z.ZodNumber>;
@@ -1124,6 +1377,10 @@ export declare const notificationRulesCapability: {
1124
1377
  rule: "rule";
1125
1378
  "rule-device": "rule-device";
1126
1379
  }>>;
1380
+ granularity: z.ZodOptional<z.ZodEnum<{
1381
+ shared: "shared";
1382
+ "per-class": "per-class";
1383
+ }>>;
1127
1384
  }, z.core.$strip>>;
1128
1385
  template: z.ZodOptional<z.ZodObject<{
1129
1386
  title: z.ZodOptional<z.ZodString>;
@@ -1146,9 +1403,9 @@ export declare const notificationRulesCapability: {
1146
1403
  name: z.ZodOptional<z.ZodString>;
1147
1404
  enabled: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
1148
1405
  delivery: z.ZodOptional<z.ZodEnum<{
1406
+ "device-event": "device-event";
1149
1407
  immediate: "immediate";
1150
1408
  "track-end": "track-end";
1151
- "device-event": "device-event";
1152
1409
  "package-event": "package-event";
1153
1410
  }>>;
1154
1411
  conditions: z.ZodOptional<z.ZodDefault<z.ZodObject<{
@@ -1164,6 +1421,11 @@ export declare const notificationRulesCapability: {
1164
1421
  }>>;
1165
1422
  }, z.core.$strip>>;
1166
1423
  zonesExclude: z.ZodOptional<z.ZodArray<z.ZodString>>;
1424
+ crossing: z.ZodOptional<z.ZodEnum<{
1425
+ any: "any";
1426
+ enter: "enter";
1427
+ exit: "exit";
1428
+ }>>;
1167
1429
  labelEquals: z.ZodOptional<z.ZodArray<z.ZodString>>;
1168
1430
  identities: z.ZodOptional<z.ZodArray<z.ZodString>>;
1169
1431
  plates: z.ZodOptional<z.ZodObject<{
@@ -1220,6 +1482,7 @@ export declare const notificationRulesCapability: {
1220
1482
  targetId: z.ZodString;
1221
1483
  params: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1222
1484
  }, z.core.$strip>>>;
1485
+ targetUsers: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodString>>>;
1223
1486
  media: z.ZodOptional<z.ZodDefault<z.ZodObject<{
1224
1487
  attach: z.ZodDefault<z.ZodEnum<{
1225
1488
  none: "none";
@@ -1227,6 +1490,21 @@ export declare const notificationRulesCapability: {
1227
1490
  "best-matching": "best-matching";
1228
1491
  keyFrame: "keyFrame";
1229
1492
  }>>;
1493
+ frame: z.ZodOptional<z.ZodEnum<{
1494
+ full: "full";
1495
+ cropped: "cropped";
1496
+ boxed: "boxed";
1497
+ }>>;
1498
+ zoneCrop: z.ZodOptional<z.ZodBoolean>;
1499
+ gif: z.ZodOptional<z.ZodBoolean>;
1500
+ clip: z.ZodOptional<z.ZodBoolean>;
1501
+ clipPreRollSec: z.ZodOptional<z.ZodNumber>;
1502
+ clipPostRollSec: z.ZodOptional<z.ZodNumber>;
1503
+ profile: z.ZodOptional<z.ZodEnum<{
1504
+ high: "high";
1505
+ mid: "mid";
1506
+ low: "low";
1507
+ }>>;
1230
1508
  }, z.core.$strip>>>;
1231
1509
  throttle: z.ZodOptional<z.ZodDefault<z.ZodObject<{
1232
1510
  cooldownSec: z.ZodDefault<z.ZodNumber>;
@@ -1234,6 +1512,10 @@ export declare const notificationRulesCapability: {
1234
1512
  rule: "rule";
1235
1513
  "rule-device": "rule-device";
1236
1514
  }>>;
1515
+ granularity: z.ZodOptional<z.ZodEnum<{
1516
+ shared: "shared";
1517
+ "per-class": "per-class";
1518
+ }>>;
1237
1519
  }, z.core.$strip>>>;
1238
1520
  template: z.ZodOptional<z.ZodOptional<z.ZodObject<{
1239
1521
  title: z.ZodOptional<z.ZodString>;
@@ -1248,9 +1530,9 @@ export declare const notificationRulesCapability: {
1248
1530
  name: z.ZodString;
1249
1531
  enabled: z.ZodDefault<z.ZodBoolean>;
1250
1532
  delivery: z.ZodEnum<{
1533
+ "device-event": "device-event";
1251
1534
  immediate: "immediate";
1252
1535
  "track-end": "track-end";
1253
- "device-event": "device-event";
1254
1536
  "package-event": "package-event";
1255
1537
  }>;
1256
1538
  conditions: z.ZodDefault<z.ZodObject<{
@@ -1266,6 +1548,11 @@ export declare const notificationRulesCapability: {
1266
1548
  }>>;
1267
1549
  }, z.core.$strip>>;
1268
1550
  zonesExclude: z.ZodOptional<z.ZodArray<z.ZodString>>;
1551
+ crossing: z.ZodOptional<z.ZodEnum<{
1552
+ any: "any";
1553
+ enter: "enter";
1554
+ exit: "exit";
1555
+ }>>;
1269
1556
  labelEquals: z.ZodOptional<z.ZodArray<z.ZodString>>;
1270
1557
  identities: z.ZodOptional<z.ZodArray<z.ZodString>>;
1271
1558
  plates: z.ZodOptional<z.ZodObject<{
@@ -1322,6 +1609,7 @@ export declare const notificationRulesCapability: {
1322
1609
  targetId: z.ZodString;
1323
1610
  params: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1324
1611
  }, z.core.$strip>>;
1612
+ targetUsers: z.ZodOptional<z.ZodArray<z.ZodString>>;
1325
1613
  media: z.ZodDefault<z.ZodObject<{
1326
1614
  attach: z.ZodDefault<z.ZodEnum<{
1327
1615
  none: "none";
@@ -1329,6 +1617,21 @@ export declare const notificationRulesCapability: {
1329
1617
  "best-matching": "best-matching";
1330
1618
  keyFrame: "keyFrame";
1331
1619
  }>>;
1620
+ frame: z.ZodOptional<z.ZodEnum<{
1621
+ full: "full";
1622
+ cropped: "cropped";
1623
+ boxed: "boxed";
1624
+ }>>;
1625
+ zoneCrop: z.ZodOptional<z.ZodBoolean>;
1626
+ gif: z.ZodOptional<z.ZodBoolean>;
1627
+ clip: z.ZodOptional<z.ZodBoolean>;
1628
+ clipPreRollSec: z.ZodOptional<z.ZodNumber>;
1629
+ clipPostRollSec: z.ZodOptional<z.ZodNumber>;
1630
+ profile: z.ZodOptional<z.ZodEnum<{
1631
+ high: "high";
1632
+ mid: "mid";
1633
+ low: "low";
1634
+ }>>;
1332
1635
  }, z.core.$strip>>;
1333
1636
  throttle: z.ZodDefault<z.ZodObject<{
1334
1637
  cooldownSec: z.ZodDefault<z.ZodNumber>;
@@ -1336,6 +1639,10 @@ export declare const notificationRulesCapability: {
1336
1639
  rule: "rule";
1337
1640
  "rule-device": "rule-device";
1338
1641
  }>>;
1642
+ granularity: z.ZodOptional<z.ZodEnum<{
1643
+ shared: "shared";
1644
+ "per-class": "per-class";
1645
+ }>>;
1339
1646
  }, z.core.$strip>>;
1340
1647
  template: z.ZodOptional<z.ZodObject<{
1341
1648
  title: z.ZodOptional<z.ZodString>;
@@ -1373,9 +1680,9 @@ export declare const notificationRulesCapability: {
1373
1680
  name: z.ZodString;
1374
1681
  enabled: z.ZodDefault<z.ZodBoolean>;
1375
1682
  delivery: z.ZodEnum<{
1683
+ "device-event": "device-event";
1376
1684
  immediate: "immediate";
1377
1685
  "track-end": "track-end";
1378
- "device-event": "device-event";
1379
1686
  "package-event": "package-event";
1380
1687
  }>;
1381
1688
  conditions: z.ZodDefault<z.ZodObject<{
@@ -1391,6 +1698,11 @@ export declare const notificationRulesCapability: {
1391
1698
  }>>;
1392
1699
  }, z.core.$strip>>;
1393
1700
  zonesExclude: z.ZodOptional<z.ZodArray<z.ZodString>>;
1701
+ crossing: z.ZodOptional<z.ZodEnum<{
1702
+ any: "any";
1703
+ enter: "enter";
1704
+ exit: "exit";
1705
+ }>>;
1394
1706
  labelEquals: z.ZodOptional<z.ZodArray<z.ZodString>>;
1395
1707
  identities: z.ZodOptional<z.ZodArray<z.ZodString>>;
1396
1708
  plates: z.ZodOptional<z.ZodObject<{
@@ -1447,6 +1759,7 @@ export declare const notificationRulesCapability: {
1447
1759
  targetId: z.ZodString;
1448
1760
  params: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1449
1761
  }, z.core.$strip>>;
1762
+ targetUsers: z.ZodOptional<z.ZodArray<z.ZodString>>;
1450
1763
  media: z.ZodDefault<z.ZodObject<{
1451
1764
  attach: z.ZodDefault<z.ZodEnum<{
1452
1765
  none: "none";
@@ -1454,6 +1767,21 @@ export declare const notificationRulesCapability: {
1454
1767
  "best-matching": "best-matching";
1455
1768
  keyFrame: "keyFrame";
1456
1769
  }>>;
1770
+ frame: z.ZodOptional<z.ZodEnum<{
1771
+ full: "full";
1772
+ cropped: "cropped";
1773
+ boxed: "boxed";
1774
+ }>>;
1775
+ zoneCrop: z.ZodOptional<z.ZodBoolean>;
1776
+ gif: z.ZodOptional<z.ZodBoolean>;
1777
+ clip: z.ZodOptional<z.ZodBoolean>;
1778
+ clipPreRollSec: z.ZodOptional<z.ZodNumber>;
1779
+ clipPostRollSec: z.ZodOptional<z.ZodNumber>;
1780
+ profile: z.ZodOptional<z.ZodEnum<{
1781
+ high: "high";
1782
+ mid: "mid";
1783
+ low: "low";
1784
+ }>>;
1457
1785
  }, z.core.$strip>>;
1458
1786
  throttle: z.ZodDefault<z.ZodObject<{
1459
1787
  cooldownSec: z.ZodDefault<z.ZodNumber>;
@@ -1461,6 +1789,10 @@ export declare const notificationRulesCapability: {
1461
1789
  rule: "rule";
1462
1790
  "rule-device": "rule-device";
1463
1791
  }>>;
1792
+ granularity: z.ZodOptional<z.ZodEnum<{
1793
+ shared: "shared";
1794
+ "per-class": "per-class";
1795
+ }>>;
1464
1796
  }, z.core.$strip>>;
1465
1797
  template: z.ZodOptional<z.ZodObject<{
1466
1798
  title: z.ZodOptional<z.ZodString>;
@@ -1487,6 +1819,16 @@ export declare const notificationRulesCapability: {
1487
1819
  label: z.ZodOptional<z.ZodString>;
1488
1820
  }, z.core.$strip>>;
1489
1821
  }, z.core.$strip>, "mutation">;
1822
+ /**
1823
+ * The machine-readable condition surface a rule editor renders from, plus
1824
+ * the picker VOCABULARY those conditions draw on.
1825
+ *
1826
+ * `taxonomy` is optional so an older provider that only returns `catalog`
1827
+ * still validates; a client that receives none keeps free-text inputs.
1828
+ * It was previously served ONLY on the `nc.getConditionCatalog` bridge
1829
+ * action, which is why the viewer had grouped pickers and the admin UI —
1830
+ * which reaches this cap — was stuck typing `person` from memory.
1831
+ */
1490
1832
  readonly getConditionCatalog: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{}, z.core.$strip>, z.ZodObject<{
1491
1833
  catalog: z.ZodArray<z.ZodObject<{
1492
1834
  id: z.ZodString;
@@ -1514,6 +1856,7 @@ export declare const notificationRulesCapability: {
1514
1856
  zoneSelection: "zoneSelection";
1515
1857
  zoneIdList: "zoneIdList";
1516
1858
  plateMatcher: "plateMatcher";
1859
+ crossingSelect: "crossingSelect";
1517
1860
  polygonDraw: "polygonDraw";
1518
1861
  }>;
1519
1862
  operator: z.ZodEnum<{
@@ -1526,14 +1869,31 @@ export declare const notificationRulesCapability: {
1526
1869
  withinSchedule: "withinSchedule";
1527
1870
  }>;
1528
1871
  appliesTo: z.ZodArray<z.ZodEnum<{
1872
+ "device-event": "device-event";
1529
1873
  immediate: "immediate";
1530
1874
  "track-end": "track-end";
1531
- "device-event": "device-event";
1532
1875
  "package-event": "package-event";
1533
1876
  }>>;
1534
1877
  phase: z.ZodString;
1535
1878
  description: z.ZodOptional<z.ZodString>;
1536
1879
  }, z.core.$strip>>;
1880
+ taxonomy: z.ZodOptional<z.ZodObject<{
1881
+ videoClasses: z.ZodArray<z.ZodObject<{
1882
+ kind: z.ZodString;
1883
+ label: z.ZodString;
1884
+ parentKind: z.ZodNullable<z.ZodString>;
1885
+ }, z.core.$strip>>;
1886
+ audioKinds: z.ZodArray<z.ZodObject<{
1887
+ kind: z.ZodString;
1888
+ label: z.ZodString;
1889
+ parentKind: z.ZodNullable<z.ZodString>;
1890
+ }, z.core.$strip>>;
1891
+ labels: z.ZodArray<z.ZodObject<{
1892
+ kind: z.ZodString;
1893
+ label: z.ZodString;
1894
+ parentKind: z.ZodNullable<z.ZodString>;
1895
+ }, z.core.$strip>>;
1896
+ }, z.core.$strip>>;
1537
1897
  }, z.core.$strip>, import("./capability-definition.js").CapabilityMethodKind>;
1538
1898
  /**
1539
1899
  * Queryable delivery history — a read-only view over the durable outbox
@@ -1563,16 +1923,16 @@ export declare const notificationRulesCapability: {
1563
1923
  ruleId: z.ZodString;
1564
1924
  ruleName: z.ZodString;
1565
1925
  delivery: z.ZodEnum<{
1926
+ "device-event": "device-event";
1566
1927
  immediate: "immediate";
1567
1928
  "track-end": "track-end";
1568
- "device-event": "device-event";
1569
1929
  "package-event": "package-event";
1570
1930
  }>;
1571
1931
  targetId: z.ZodString;
1572
1932
  deviceId: z.ZodNumber;
1573
1933
  recordKind: z.ZodEnum<{
1574
- "track-end": "track-end";
1575
1934
  "device-event": "device-event";
1935
+ "track-end": "track-end";
1576
1936
  "package-event": "package-event";
1577
1937
  "object-event": "object-event";
1578
1938
  }>;