@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.
- package/dist/addon.d.ts +1 -0
- package/dist/addon.js +266 -2
- package/dist/addon.mjs +265 -3
- package/dist/capabilities/addons.cap.d.ts +7 -7
- package/dist/capabilities/broker.cap.d.ts +8 -8
- package/dist/capabilities/camera-streams.cap.d.ts +5 -5
- package/dist/capabilities/climate-control.cap.d.ts +8 -8
- package/dist/capabilities/day-night.cap.d.ts +8 -8
- package/dist/capabilities/decoder.cap.d.ts +2 -2
- package/dist/capabilities/device-manager.cap.d.ts +24 -2
- package/dist/capabilities/face-gallery.cap.d.ts +1 -1
- package/dist/capabilities/image-settings.cap.d.ts +16 -16
- package/dist/capabilities/index.d.ts +2 -2
- package/dist/capabilities/intercom.cap.d.ts +6 -6
- package/dist/capabilities/lawn-mower-control.cap.d.ts +4 -4
- package/dist/capabilities/llm-runtime.cap.d.ts +3 -3
- package/dist/capabilities/llm.cap.d.ts +4 -4
- package/dist/capabilities/local-network.cap.d.ts +38 -0
- package/dist/capabilities/media-player.cap.d.ts +9 -9
- package/dist/capabilities/metrics-provider.cap.d.ts +2 -2
- package/dist/capabilities/mqtt-broker.cap.d.ts +3 -3
- package/dist/capabilities/notification-output.cap.d.ts +4 -0
- package/dist/capabilities/notification-rules.cap.d.ts +378 -18
- package/dist/capabilities/pipeline-analytics.cap.d.ts +133 -27
- package/dist/capabilities/pipeline-executor.cap.d.ts +2 -2
- package/dist/capabilities/pipeline-orchestrator.cap.d.ts +15 -15
- package/dist/capabilities/pipeline-runner.cap.d.ts +2 -2
- package/dist/capabilities/recording-export.cap.d.ts +7 -7
- package/dist/capabilities/recording.cap.d.ts +102 -129
- package/dist/capabilities/schemas/orchestrator-metrics.d.ts +2 -2
- package/dist/capabilities/schemas/streaming-shared.d.ts +4 -4
- package/dist/capabilities/storage-provider.cap.d.ts +44 -0
- package/dist/capabilities/storage.cap.d.ts +17 -1
- package/dist/capabilities/stream-broker.cap.d.ts +58 -12
- package/dist/capabilities/webrtc-session.cap.d.ts +6 -6
- package/dist/enums/event-category.d.ts +13 -0
- package/dist/enums.js +1 -1
- package/dist/enums.mjs +1 -1
- package/dist/{event-category-Cdyife4p.js → event-category-39bpf1r_.js} +13 -0
- package/dist/{event-category-BLcNejAE.mjs → event-category-Bz24uP1U.mjs} +13 -0
- package/dist/generated/addon-api.d.ts +5358 -30965
- package/dist/generated/cap-input-defaults.d.ts +29 -0
- package/dist/generated/device-proxy.d.ts +2 -2
- package/dist/generated/method-access-map.d.ts +1 -1
- package/dist/generated/system-proxy.d.ts +3 -3
- package/dist/index.d.ts +2 -1
- package/dist/index.js +724 -138
- package/dist/index.mjs +711 -135
- package/dist/interfaces/addon.d.ts +9 -0
- package/dist/interfaces/ops-log.d.ts +2 -0
- package/dist/interfaces/recording-config.d.ts +33 -91
- package/dist/interfaces/relocate.d.ts +55 -0
- package/dist/interfaces/storage-location-declaration.d.ts +1 -1
- package/dist/interfaces/storage-location.d.ts +4 -0
- package/dist/interfaces/stream-broker.d.ts +1 -1
- package/dist/lifecycle/job.d.ts +6 -6
- package/dist/node.js +1 -0
- package/dist/node.mjs +1 -0
- package/dist/notification/condition-taxonomy.d.ts +61 -0
- package/dist/notification/format-transcode.d.ts +12 -1
- package/dist/{sleep-C3ceNSsf.mjs → sleep-B_Uaqbai.mjs} +7 -1
- package/dist/{sleep-DRg9F6JJ.js → sleep-DETsT9rJ.js} +7 -1
- package/package.json +1 -1
- package/dist/interfaces/recording-config-migrate.d.ts +0 -12
|
@@ -50,7 +50,6 @@ export declare const BrokerAudioClientSchema: z.ZodObject<{
|
|
|
50
50
|
*/
|
|
51
51
|
export declare const BrokerConsumerKindSchema: z.ZodEnum<{
|
|
52
52
|
unknown: "unknown";
|
|
53
|
-
snapshot: "snapshot";
|
|
54
53
|
alexa: "alexa";
|
|
55
54
|
homekit: "homekit";
|
|
56
55
|
"webrtc-browser": "webrtc-browser";
|
|
@@ -60,13 +59,13 @@ export declare const BrokerConsumerKindSchema: z.ZodEnum<{
|
|
|
60
59
|
"derived-broker": "derived-broker";
|
|
61
60
|
recording: "recording";
|
|
62
61
|
pipeline: "pipeline";
|
|
62
|
+
snapshot: "snapshot";
|
|
63
63
|
warmup: "warmup";
|
|
64
64
|
}>;
|
|
65
65
|
export type BrokerConsumerKind = z.infer<typeof BrokerConsumerKindSchema>;
|
|
66
66
|
export declare const BrokerConsumerAttributionSchema: z.ZodReadonly<z.ZodObject<{
|
|
67
67
|
kind: z.ZodEnum<{
|
|
68
68
|
unknown: "unknown";
|
|
69
|
-
snapshot: "snapshot";
|
|
70
69
|
alexa: "alexa";
|
|
71
70
|
homekit: "homekit";
|
|
72
71
|
"webrtc-browser": "webrtc-browser";
|
|
@@ -76,13 +75,14 @@ export declare const BrokerConsumerAttributionSchema: z.ZodReadonly<z.ZodObject<
|
|
|
76
75
|
"derived-broker": "derived-broker";
|
|
77
76
|
recording: "recording";
|
|
78
77
|
pipeline: "pipeline";
|
|
78
|
+
snapshot: "snapshot";
|
|
79
79
|
warmup: "warmup";
|
|
80
80
|
}>;
|
|
81
81
|
label: z.ZodOptional<z.ZodString>;
|
|
82
82
|
media: z.ZodOptional<z.ZodEnum<{
|
|
83
83
|
audio: "audio";
|
|
84
|
-
both: "both";
|
|
85
84
|
video: "video";
|
|
85
|
+
both: "both";
|
|
86
86
|
}>>;
|
|
87
87
|
targetCodec: z.ZodOptional<z.ZodString>;
|
|
88
88
|
transport: z.ZodOptional<z.ZodEnum<{
|
|
@@ -106,7 +106,6 @@ export declare const BrokerEncodedClientSchema: z.ZodObject<{
|
|
|
106
106
|
attribution: z.ZodReadonly<z.ZodObject<{
|
|
107
107
|
kind: z.ZodEnum<{
|
|
108
108
|
unknown: "unknown";
|
|
109
|
-
snapshot: "snapshot";
|
|
110
109
|
alexa: "alexa";
|
|
111
110
|
homekit: "homekit";
|
|
112
111
|
"webrtc-browser": "webrtc-browser";
|
|
@@ -116,13 +115,14 @@ export declare const BrokerEncodedClientSchema: z.ZodObject<{
|
|
|
116
115
|
"derived-broker": "derived-broker";
|
|
117
116
|
recording: "recording";
|
|
118
117
|
pipeline: "pipeline";
|
|
118
|
+
snapshot: "snapshot";
|
|
119
119
|
warmup: "warmup";
|
|
120
120
|
}>;
|
|
121
121
|
label: z.ZodOptional<z.ZodString>;
|
|
122
122
|
media: z.ZodOptional<z.ZodEnum<{
|
|
123
123
|
audio: "audio";
|
|
124
|
-
both: "both";
|
|
125
124
|
video: "video";
|
|
125
|
+
both: "both";
|
|
126
126
|
}>>;
|
|
127
127
|
targetCodec: z.ZodOptional<z.ZodString>;
|
|
128
128
|
transport: z.ZodOptional<z.ZodEnum<{
|
|
@@ -172,7 +172,6 @@ export declare const BrokerClientsSchema: z.ZodObject<{
|
|
|
172
172
|
attribution: z.ZodReadonly<z.ZodObject<{
|
|
173
173
|
kind: z.ZodEnum<{
|
|
174
174
|
unknown: "unknown";
|
|
175
|
-
snapshot: "snapshot";
|
|
176
175
|
alexa: "alexa";
|
|
177
176
|
homekit: "homekit";
|
|
178
177
|
"webrtc-browser": "webrtc-browser";
|
|
@@ -182,13 +181,14 @@ export declare const BrokerClientsSchema: z.ZodObject<{
|
|
|
182
181
|
"derived-broker": "derived-broker";
|
|
183
182
|
recording: "recording";
|
|
184
183
|
pipeline: "pipeline";
|
|
184
|
+
snapshot: "snapshot";
|
|
185
185
|
warmup: "warmup";
|
|
186
186
|
}>;
|
|
187
187
|
label: z.ZodOptional<z.ZodString>;
|
|
188
188
|
media: z.ZodOptional<z.ZodEnum<{
|
|
189
189
|
audio: "audio";
|
|
190
|
-
both: "both";
|
|
191
190
|
video: "video";
|
|
191
|
+
both: "both";
|
|
192
192
|
}>>;
|
|
193
193
|
targetCodec: z.ZodOptional<z.ZodString>;
|
|
194
194
|
transport: z.ZodOptional<z.ZodEnum<{
|
|
@@ -213,8 +213,8 @@ export type BrokerDecodedClient = z.infer<typeof BrokerDecodedClientSchema>;
|
|
|
213
213
|
export type BrokerAudioClient = z.infer<typeof BrokerAudioClientSchema>;
|
|
214
214
|
export type BrokerClients = z.infer<typeof BrokerClientsSchema>;
|
|
215
215
|
export declare const PlaceholderReasonSchema: z.ZodEnum<{
|
|
216
|
-
reconnecting: "reconnecting";
|
|
217
216
|
sleeping: "sleeping";
|
|
217
|
+
reconnecting: "reconnecting";
|
|
218
218
|
offline: "offline";
|
|
219
219
|
disabled: "disabled";
|
|
220
220
|
waking: "waking";
|
|
@@ -386,6 +386,52 @@ export declare const streamBrokerCapability: {
|
|
|
386
386
|
}, z.core.$strip>, z.ZodObject<{
|
|
387
387
|
success: z.ZodLiteral<true>;
|
|
388
388
|
}, z.core.$strip>, "mutation">;
|
|
389
|
+
/**
|
|
390
|
+
* Render a short GIF or MP4 from the broker's PRE-BUFFER around an instant.
|
|
391
|
+
*
|
|
392
|
+
* The pre-buffer is the only source that already holds the seconds BEFORE
|
|
393
|
+
* an event (it is what it exists for — "when an addon needs the last N
|
|
394
|
+
* seconds of video for clip creation"). Cutting from recorded segments
|
|
395
|
+
* cannot: only finalized segments are addressable and the one covering the
|
|
396
|
+
* moment is still being written, so a segment-sourced clip is either
|
|
397
|
+
* delayed or shows the approach instead of the event (operator,
|
|
398
|
+
* 2026-07-30). It also means a camera does not have to be RECORDING to
|
|
399
|
+
* produce a notification clip.
|
|
400
|
+
*
|
|
401
|
+
* Returns muxed BYTES, never packets: the frame plane never crosses a
|
|
402
|
+
* process boundary at frame rate (D9/D18) — this is one compressed,
|
|
403
|
+
* on-demand payload per notification.
|
|
404
|
+
*
|
|
405
|
+
* Waits up to `postRollSec` for the tail to accumulate, so the window is
|
|
406
|
+
* CENTRED on `aroundMs`.
|
|
407
|
+
*/
|
|
408
|
+
readonly renderPreBufferClip: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
|
|
409
|
+
deviceId: z.ZodNumber;
|
|
410
|
+
profile: z.ZodOptional<z.ZodEnum<{
|
|
411
|
+
high: "high";
|
|
412
|
+
mid: "mid";
|
|
413
|
+
low: "low";
|
|
414
|
+
}>>;
|
|
415
|
+
aroundMs: z.ZodNumber;
|
|
416
|
+
preRollSec: z.ZodDefault<z.ZodNumber>;
|
|
417
|
+
postRollSec: z.ZodDefault<z.ZodNumber>;
|
|
418
|
+
format: z.ZodDefault<z.ZodEnum<{
|
|
419
|
+
gif: "gif";
|
|
420
|
+
mp4: "mp4";
|
|
421
|
+
}>>;
|
|
422
|
+
maxWidth: z.ZodDefault<z.ZodNumber>;
|
|
423
|
+
fps: z.ZodDefault<z.ZodNumber>;
|
|
424
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
425
|
+
base64: z.ZodString;
|
|
426
|
+
mime: z.ZodString;
|
|
427
|
+
bytes: z.ZodNumber;
|
|
428
|
+
profile: z.ZodEnum<{
|
|
429
|
+
high: "high";
|
|
430
|
+
mid: "mid";
|
|
431
|
+
low: "low";
|
|
432
|
+
}>;
|
|
433
|
+
durationMs: z.ZodNumber;
|
|
434
|
+
}, z.core.$strip>, "mutation">;
|
|
389
435
|
readonly listAllCameraStreams: import("./capability-definition.js").CapabilityMethodSchema<z.ZodVoid, z.ZodReadonly<z.ZodArray<z.ZodObject<{
|
|
390
436
|
camStreamId: z.ZodString;
|
|
391
437
|
deviceId: z.ZodNumber;
|
|
@@ -421,9 +467,9 @@ export declare const streamBrokerCapability: {
|
|
|
421
467
|
sourceCamStreamId: z.ZodNullable<z.ZodString>;
|
|
422
468
|
status: z.ZodEnum<{
|
|
423
469
|
error: "error";
|
|
470
|
+
connecting: "connecting";
|
|
424
471
|
unassigned: "unassigned";
|
|
425
472
|
idle: "idle";
|
|
426
|
-
connecting: "connecting";
|
|
427
473
|
streaming: "streaming";
|
|
428
474
|
}>;
|
|
429
475
|
resolution: z.ZodOptional<z.ZodObject<{
|
|
@@ -439,8 +485,8 @@ export declare const streamBrokerCapability: {
|
|
|
439
485
|
}, z.core.$strip>, z.ZodObject<{
|
|
440
486
|
status: z.ZodEnum<{
|
|
441
487
|
error: "error";
|
|
442
|
-
idle: "idle";
|
|
443
488
|
connecting: "connecting";
|
|
489
|
+
idle: "idle";
|
|
444
490
|
streaming: "streaming";
|
|
445
491
|
stopped: "stopped";
|
|
446
492
|
}>;
|
|
@@ -515,7 +561,6 @@ export declare const streamBrokerCapability: {
|
|
|
515
561
|
attribution: z.ZodReadonly<z.ZodObject<{
|
|
516
562
|
kind: z.ZodEnum<{
|
|
517
563
|
unknown: "unknown";
|
|
518
|
-
snapshot: "snapshot";
|
|
519
564
|
alexa: "alexa";
|
|
520
565
|
homekit: "homekit";
|
|
521
566
|
"webrtc-browser": "webrtc-browser";
|
|
@@ -525,13 +570,14 @@ export declare const streamBrokerCapability: {
|
|
|
525
570
|
"derived-broker": "derived-broker";
|
|
526
571
|
recording: "recording";
|
|
527
572
|
pipeline: "pipeline";
|
|
573
|
+
snapshot: "snapshot";
|
|
528
574
|
warmup: "warmup";
|
|
529
575
|
}>;
|
|
530
576
|
label: z.ZodOptional<z.ZodString>;
|
|
531
577
|
media: z.ZodOptional<z.ZodEnum<{
|
|
532
578
|
audio: "audio";
|
|
533
|
-
both: "both";
|
|
534
579
|
video: "video";
|
|
580
|
+
both: "both";
|
|
535
581
|
}>>;
|
|
536
582
|
targetCodec: z.ZodOptional<z.ZodString>;
|
|
537
583
|
transport: z.ZodOptional<z.ZodEnum<{
|
|
@@ -67,8 +67,8 @@ export declare const WebrtcStreamChoiceSchema: z.ZodObject<{
|
|
|
67
67
|
}, z.core.$strip>>;
|
|
68
68
|
status: z.ZodNullable<z.ZodEnum<{
|
|
69
69
|
error: "error";
|
|
70
|
-
idle: "idle";
|
|
71
70
|
connecting: "connecting";
|
|
71
|
+
idle: "idle";
|
|
72
72
|
streaming: "streaming";
|
|
73
73
|
stopped: "stopped";
|
|
74
74
|
}>>;
|
|
@@ -132,8 +132,8 @@ export declare const webrtcSessionCapability: {
|
|
|
132
132
|
}, z.core.$strip>>;
|
|
133
133
|
status: z.ZodNullable<z.ZodEnum<{
|
|
134
134
|
error: "error";
|
|
135
|
-
idle: "idle";
|
|
136
135
|
connecting: "connecting";
|
|
136
|
+
idle: "idle";
|
|
137
137
|
streaming: "streaming";
|
|
138
138
|
stopped: "stopped";
|
|
139
139
|
}>>;
|
|
@@ -174,7 +174,6 @@ export declare const webrtcSessionCapability: {
|
|
|
174
174
|
consumerAttribution: z.ZodOptional<z.ZodReadonly<z.ZodObject<{
|
|
175
175
|
kind: z.ZodEnum<{
|
|
176
176
|
unknown: "unknown";
|
|
177
|
-
snapshot: "snapshot";
|
|
178
177
|
alexa: "alexa";
|
|
179
178
|
homekit: "homekit";
|
|
180
179
|
"webrtc-browser": "webrtc-browser";
|
|
@@ -184,13 +183,14 @@ export declare const webrtcSessionCapability: {
|
|
|
184
183
|
"derived-broker": "derived-broker";
|
|
185
184
|
recording: "recording";
|
|
186
185
|
pipeline: "pipeline";
|
|
186
|
+
snapshot: "snapshot";
|
|
187
187
|
warmup: "warmup";
|
|
188
188
|
}>;
|
|
189
189
|
label: z.ZodOptional<z.ZodString>;
|
|
190
190
|
media: z.ZodOptional<z.ZodEnum<{
|
|
191
191
|
audio: "audio";
|
|
192
|
-
both: "both";
|
|
193
192
|
video: "video";
|
|
193
|
+
both: "both";
|
|
194
194
|
}>>;
|
|
195
195
|
targetCodec: z.ZodOptional<z.ZodString>;
|
|
196
196
|
transport: z.ZodOptional<z.ZodEnum<{
|
|
@@ -245,7 +245,6 @@ export declare const webrtcSessionCapability: {
|
|
|
245
245
|
consumerAttribution: z.ZodOptional<z.ZodReadonly<z.ZodObject<{
|
|
246
246
|
kind: z.ZodEnum<{
|
|
247
247
|
unknown: "unknown";
|
|
248
|
-
snapshot: "snapshot";
|
|
249
248
|
alexa: "alexa";
|
|
250
249
|
homekit: "homekit";
|
|
251
250
|
"webrtc-browser": "webrtc-browser";
|
|
@@ -255,13 +254,14 @@ export declare const webrtcSessionCapability: {
|
|
|
255
254
|
"derived-broker": "derived-broker";
|
|
256
255
|
recording: "recording";
|
|
257
256
|
pipeline: "pipeline";
|
|
257
|
+
snapshot: "snapshot";
|
|
258
258
|
warmup: "warmup";
|
|
259
259
|
}>;
|
|
260
260
|
label: z.ZodOptional<z.ZodString>;
|
|
261
261
|
media: z.ZodOptional<z.ZodEnum<{
|
|
262
262
|
audio: "audio";
|
|
263
|
-
both: "both";
|
|
264
263
|
video: "video";
|
|
264
|
+
both: "both";
|
|
265
265
|
}>>;
|
|
266
266
|
targetCodec: z.ZodOptional<z.ZodString>;
|
|
267
267
|
transport: z.ZodOptional<z.ZodEnum<{
|
|
@@ -267,6 +267,19 @@ export declare enum EventCategory {
|
|
|
267
267
|
* without filtering on `capName`.
|
|
268
268
|
*/
|
|
269
269
|
DeviceStateChanged = "device.state-changed",
|
|
270
|
+
/**
|
|
271
|
+
* Frame occupancy for a camera CHANGED — a tracked object was gained or
|
|
272
|
+
* lost. Carries `{ deviceId, totalObjects, byClass, zones }`.
|
|
273
|
+
*
|
|
274
|
+
* Emitted only on a change, so a steady scene is silent. It exists so a
|
|
275
|
+
* client can stop polling `zoneAnalytics.getCurrentSnapshot`: that was the
|
|
276
|
+
* one live badge with no push signal at all, and it cost a request every
|
|
277
|
+
* four seconds per visible camera.
|
|
278
|
+
*
|
|
279
|
+
* Like every event it is telemetry and may be dropped ([D8]) — a consumer
|
|
280
|
+
* keeps a slow reconcile rather than trusting it alone.
|
|
281
|
+
*/
|
|
282
|
+
ZoneAnalyticsOccupancyChanged = "zone-analytics.occupancy-changed",
|
|
270
283
|
/**
|
|
271
284
|
* Cap event fired by every device that registers the `battery`
|
|
272
285
|
* capability. Mirrors the cap definition's `onStatusChanged`. Carries
|
package/dist/enums.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_event_category = require("./event-category-
|
|
2
|
+
const require_event_category = require("./event-category-39bpf1r_.js");
|
|
3
3
|
//#region src/enums/event-source-type.ts
|
|
4
4
|
var EventSourceType = /* @__PURE__ */ function(EventSourceType) {
|
|
5
5
|
EventSourceType["Addon"] = "addon";
|
package/dist/enums.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { t as EventCategory } from "./event-category-
|
|
1
|
+
import { t as EventCategory } from "./event-category-Bz24uP1U.mjs";
|
|
2
2
|
//#region src/enums/event-source-type.ts
|
|
3
3
|
var EventSourceType = /* @__PURE__ */ function(EventSourceType) {
|
|
4
4
|
EventSourceType["Addon"] = "addon";
|
|
@@ -269,6 +269,19 @@ var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
|
269
269
|
*/
|
|
270
270
|
EventCategory["DeviceStateChanged"] = "device.state-changed";
|
|
271
271
|
/**
|
|
272
|
+
* Frame occupancy for a camera CHANGED — a tracked object was gained or
|
|
273
|
+
* lost. Carries `{ deviceId, totalObjects, byClass, zones }`.
|
|
274
|
+
*
|
|
275
|
+
* Emitted only on a change, so a steady scene is silent. It exists so a
|
|
276
|
+
* client can stop polling `zoneAnalytics.getCurrentSnapshot`: that was the
|
|
277
|
+
* one live badge with no push signal at all, and it cost a request every
|
|
278
|
+
* four seconds per visible camera.
|
|
279
|
+
*
|
|
280
|
+
* Like every event it is telemetry and may be dropped ([D8]) — a consumer
|
|
281
|
+
* keeps a slow reconcile rather than trusting it alone.
|
|
282
|
+
*/
|
|
283
|
+
EventCategory["ZoneAnalyticsOccupancyChanged"] = "zone-analytics.occupancy-changed";
|
|
284
|
+
/**
|
|
272
285
|
* Cap event fired by every device that registers the `battery`
|
|
273
286
|
* capability. Mirrors the cap definition's `onStatusChanged`. Carries
|
|
274
287
|
* `{ deviceId, status: BatteryStatus }`. Subscribers (alert center,
|
|
@@ -269,6 +269,19 @@ var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
|
269
269
|
*/
|
|
270
270
|
EventCategory["DeviceStateChanged"] = "device.state-changed";
|
|
271
271
|
/**
|
|
272
|
+
* Frame occupancy for a camera CHANGED — a tracked object was gained or
|
|
273
|
+
* lost. Carries `{ deviceId, totalObjects, byClass, zones }`.
|
|
274
|
+
*
|
|
275
|
+
* Emitted only on a change, so a steady scene is silent. It exists so a
|
|
276
|
+
* client can stop polling `zoneAnalytics.getCurrentSnapshot`: that was the
|
|
277
|
+
* one live badge with no push signal at all, and it cost a request every
|
|
278
|
+
* four seconds per visible camera.
|
|
279
|
+
*
|
|
280
|
+
* Like every event it is telemetry and may be dropped ([D8]) — a consumer
|
|
281
|
+
* keeps a slow reconcile rather than trusting it alone.
|
|
282
|
+
*/
|
|
283
|
+
EventCategory["ZoneAnalyticsOccupancyChanged"] = "zone-analytics.occupancy-changed";
|
|
284
|
+
/**
|
|
272
285
|
* Cap event fired by every device that registers the `battery`
|
|
273
286
|
* capability. Mirrors the cap definition's `onStatusChanged`. Carries
|
|
274
287
|
* `{ deviceId, status: BatteryStatus }`. Subscribers (alert center,
|