@camstack/addon-provider-onvif 1.2.17 → 1.2.19

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.js CHANGED
@@ -19161,6 +19161,39 @@ var snapshotCapability = {
19161
19161
  etag: string().nullable()
19162
19162
  }))),
19163
19163
  /**
19164
+ * The full decision chain for ONE device, for the viewer's debug readout —
19165
+ * the answer to "why does this tile show what it shows" in a single poll:
19166
+ * the battery slice the state was derived from, the resolved state + its
19167
+ * reason, the cached frame's identity/age, whether a wake window is open,
19168
+ * and whether a fresh capture is in flight. Cache-only and capture-free:
19169
+ * a debug read must never wake a battery camera.
19170
+ */
19171
+ getDebugState: systemMethod(object({ deviceId: number() }), object({
19172
+ /** The battery slice as read, or null when the device has none. */
19173
+ battery: object({
19174
+ sleeping: boolean(),
19175
+ lastUpdated: number(),
19176
+ lastContactAt: number().optional()
19177
+ }).nullable(),
19178
+ /** The resolved snapshot state (what the overlay decision used). */
19179
+ state: object({
19180
+ isBattery: boolean(),
19181
+ reason: _enum([
19182
+ "disabled",
19183
+ "sleeping",
19184
+ "unreachable",
19185
+ "waking"
19186
+ ]).nullable()
19187
+ }),
19188
+ /** The cached frame behind the next paint. */
19189
+ frame: object({
19190
+ capturedAt: number().nullable(),
19191
+ ageMs: number().nullable()
19192
+ }),
19193
+ /** A wake window is currently open (the Waking overlay's source). */
19194
+ waking: boolean()
19195
+ })),
19196
+ /**
19164
19197
  * Signed, expiring links to a CLIENT-SIZED frame — and the demand signal
19165
19198
  * that makes those frames current.
19166
19199
  *
@@ -19242,7 +19275,14 @@ targets: array(object({
19242
19275
  "sleeping",
19243
19276
  "unreachable",
19244
19277
  "waking"
19245
- ]).nullable()
19278
+ ]).nullable(),
19279
+ /** A battery camera (whatever its current state). An AWAKE battery
19280
+ * camera is deliberately NOT recaptured on the poll cadence — every
19281
+ * capture is a camera hit that would keep it out of sleep — so its
19282
+ * cached frame legitimately ages past the currency ceiling while
19283
+ * nothing is streaming. A surface must keep painting it (a fresh
19284
+ * frame is captured at each wake), not blank to "unavailable". */
19285
+ battery: boolean()
19246
19286
  })))
19247
19287
  },
19248
19288
  status: {
@@ -30892,6 +30932,12 @@ Object.freeze({
30892
30932
  addonId: null,
30893
30933
  access: "view"
30894
30934
  },
30935
+ "snapshot.getDebugState": {
30936
+ capName: "snapshot",
30937
+ capScope: "device",
30938
+ addonId: null,
30939
+ access: "view"
30940
+ },
30895
30941
  "snapshot.getSnapshot": {
30896
30942
  capName: "snapshot",
30897
30943
  capScope: "device",
@@ -33489,6 +33535,11 @@ Object.freeze({
33489
33535
  form: "single",
33490
33536
  optional: false
33491
33537
  }],
33538
+ "snapshot.getDebugState": [{
33539
+ name: "deviceId",
33540
+ form: "single",
33541
+ optional: false
33542
+ }],
33492
33543
  "snapshot.getSnapshot": [{
33493
33544
  name: "deviceId",
33494
33545
  form: "single",
package/dist/addon.mjs CHANGED
@@ -19162,6 +19162,39 @@ var snapshotCapability = {
19162
19162
  etag: string().nullable()
19163
19163
  }))),
19164
19164
  /**
19165
+ * The full decision chain for ONE device, for the viewer's debug readout —
19166
+ * the answer to "why does this tile show what it shows" in a single poll:
19167
+ * the battery slice the state was derived from, the resolved state + its
19168
+ * reason, the cached frame's identity/age, whether a wake window is open,
19169
+ * and whether a fresh capture is in flight. Cache-only and capture-free:
19170
+ * a debug read must never wake a battery camera.
19171
+ */
19172
+ getDebugState: systemMethod(object({ deviceId: number() }), object({
19173
+ /** The battery slice as read, or null when the device has none. */
19174
+ battery: object({
19175
+ sleeping: boolean(),
19176
+ lastUpdated: number(),
19177
+ lastContactAt: number().optional()
19178
+ }).nullable(),
19179
+ /** The resolved snapshot state (what the overlay decision used). */
19180
+ state: object({
19181
+ isBattery: boolean(),
19182
+ reason: _enum([
19183
+ "disabled",
19184
+ "sleeping",
19185
+ "unreachable",
19186
+ "waking"
19187
+ ]).nullable()
19188
+ }),
19189
+ /** The cached frame behind the next paint. */
19190
+ frame: object({
19191
+ capturedAt: number().nullable(),
19192
+ ageMs: number().nullable()
19193
+ }),
19194
+ /** A wake window is currently open (the Waking overlay's source). */
19195
+ waking: boolean()
19196
+ })),
19197
+ /**
19165
19198
  * Signed, expiring links to a CLIENT-SIZED frame — and the demand signal
19166
19199
  * that makes those frames current.
19167
19200
  *
@@ -19243,7 +19276,14 @@ targets: array(object({
19243
19276
  "sleeping",
19244
19277
  "unreachable",
19245
19278
  "waking"
19246
- ]).nullable()
19279
+ ]).nullable(),
19280
+ /** A battery camera (whatever its current state). An AWAKE battery
19281
+ * camera is deliberately NOT recaptured on the poll cadence — every
19282
+ * capture is a camera hit that would keep it out of sleep — so its
19283
+ * cached frame legitimately ages past the currency ceiling while
19284
+ * nothing is streaming. A surface must keep painting it (a fresh
19285
+ * frame is captured at each wake), not blank to "unavailable". */
19286
+ battery: boolean()
19247
19287
  })))
19248
19288
  },
19249
19289
  status: {
@@ -30893,6 +30933,12 @@ Object.freeze({
30893
30933
  addonId: null,
30894
30934
  access: "view"
30895
30935
  },
30936
+ "snapshot.getDebugState": {
30937
+ capName: "snapshot",
30938
+ capScope: "device",
30939
+ addonId: null,
30940
+ access: "view"
30941
+ },
30896
30942
  "snapshot.getSnapshot": {
30897
30943
  capName: "snapshot",
30898
30944
  capScope: "device",
@@ -33490,6 +33536,11 @@ Object.freeze({
33490
33536
  form: "single",
33491
33537
  optional: false
33492
33538
  }],
33539
+ "snapshot.getDebugState": [{
33540
+ name: "deviceId",
33541
+ form: "single",
33542
+ optional: false
33543
+ }],
33493
33544
  "snapshot.getSnapshot": [{
33494
33545
  name: "deviceId",
33495
33546
  form: "single",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/addon-provider-onvif",
3
- "version": "1.2.17",
3
+ "version": "1.2.19",
4
4
  "description": "ONVIF camera device provider addon for CamStack",
5
5
  "keywords": [
6
6
  "camstack",