@camstack/addon-provider-rtsp 1.2.18 → 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
@@ -19505,6 +19505,39 @@ var snapshotCapability = {
19505
19505
  etag: string().nullable()
19506
19506
  }))),
19507
19507
  /**
19508
+ * The full decision chain for ONE device, for the viewer's debug readout —
19509
+ * the answer to "why does this tile show what it shows" in a single poll:
19510
+ * the battery slice the state was derived from, the resolved state + its
19511
+ * reason, the cached frame's identity/age, whether a wake window is open,
19512
+ * and whether a fresh capture is in flight. Cache-only and capture-free:
19513
+ * a debug read must never wake a battery camera.
19514
+ */
19515
+ getDebugState: systemMethod(object({ deviceId: number() }), object({
19516
+ /** The battery slice as read, or null when the device has none. */
19517
+ battery: object({
19518
+ sleeping: boolean(),
19519
+ lastUpdated: number(),
19520
+ lastContactAt: number().optional()
19521
+ }).nullable(),
19522
+ /** The resolved snapshot state (what the overlay decision used). */
19523
+ state: object({
19524
+ isBattery: boolean(),
19525
+ reason: _enum([
19526
+ "disabled",
19527
+ "sleeping",
19528
+ "unreachable",
19529
+ "waking"
19530
+ ]).nullable()
19531
+ }),
19532
+ /** The cached frame behind the next paint. */
19533
+ frame: object({
19534
+ capturedAt: number().nullable(),
19535
+ ageMs: number().nullable()
19536
+ }),
19537
+ /** A wake window is currently open (the Waking overlay's source). */
19538
+ waking: boolean()
19539
+ })),
19540
+ /**
19508
19541
  * Signed, expiring links to a CLIENT-SIZED frame — and the demand signal
19509
19542
  * that makes those frames current.
19510
19543
  *
@@ -34215,6 +34248,12 @@ Object.freeze({
34215
34248
  addonId: null,
34216
34249
  access: "view"
34217
34250
  },
34251
+ "snapshot.getDebugState": {
34252
+ capName: "snapshot",
34253
+ capScope: "device",
34254
+ addonId: null,
34255
+ access: "view"
34256
+ },
34218
34257
  "snapshot.getSnapshot": {
34219
34258
  capName: "snapshot",
34220
34259
  capScope: "device",
@@ -36812,6 +36851,11 @@ Object.freeze({
36812
36851
  form: "single",
36813
36852
  optional: false
36814
36853
  }],
36854
+ "snapshot.getDebugState": [{
36855
+ name: "deviceId",
36856
+ form: "single",
36857
+ optional: false
36858
+ }],
36815
36859
  "snapshot.getSnapshot": [{
36816
36860
  name: "deviceId",
36817
36861
  form: "single",
package/dist/addon.mjs CHANGED
@@ -19481,6 +19481,39 @@ var snapshotCapability = {
19481
19481
  etag: string().nullable()
19482
19482
  }))),
19483
19483
  /**
19484
+ * The full decision chain for ONE device, for the viewer's debug readout —
19485
+ * the answer to "why does this tile show what it shows" in a single poll:
19486
+ * the battery slice the state was derived from, the resolved state + its
19487
+ * reason, the cached frame's identity/age, whether a wake window is open,
19488
+ * and whether a fresh capture is in flight. Cache-only and capture-free:
19489
+ * a debug read must never wake a battery camera.
19490
+ */
19491
+ getDebugState: systemMethod(object({ deviceId: number() }), object({
19492
+ /** The battery slice as read, or null when the device has none. */
19493
+ battery: object({
19494
+ sleeping: boolean(),
19495
+ lastUpdated: number(),
19496
+ lastContactAt: number().optional()
19497
+ }).nullable(),
19498
+ /** The resolved snapshot state (what the overlay decision used). */
19499
+ state: object({
19500
+ isBattery: boolean(),
19501
+ reason: _enum([
19502
+ "disabled",
19503
+ "sleeping",
19504
+ "unreachable",
19505
+ "waking"
19506
+ ]).nullable()
19507
+ }),
19508
+ /** The cached frame behind the next paint. */
19509
+ frame: object({
19510
+ capturedAt: number().nullable(),
19511
+ ageMs: number().nullable()
19512
+ }),
19513
+ /** A wake window is currently open (the Waking overlay's source). */
19514
+ waking: boolean()
19515
+ })),
19516
+ /**
19484
19517
  * Signed, expiring links to a CLIENT-SIZED frame — and the demand signal
19485
19518
  * that makes those frames current.
19486
19519
  *
@@ -34191,6 +34224,12 @@ Object.freeze({
34191
34224
  addonId: null,
34192
34225
  access: "view"
34193
34226
  },
34227
+ "snapshot.getDebugState": {
34228
+ capName: "snapshot",
34229
+ capScope: "device",
34230
+ addonId: null,
34231
+ access: "view"
34232
+ },
34194
34233
  "snapshot.getSnapshot": {
34195
34234
  capName: "snapshot",
34196
34235
  capScope: "device",
@@ -36788,6 +36827,11 @@ Object.freeze({
36788
36827
  form: "single",
36789
36828
  optional: false
36790
36829
  }],
36830
+ "snapshot.getDebugState": [{
36831
+ name: "deviceId",
36832
+ form: "single",
36833
+ optional: false
36834
+ }],
36791
36835
  "snapshot.getSnapshot": [{
36792
36836
  name: "deviceId",
36793
36837
  form: "single",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/addon-provider-rtsp",
3
- "version": "1.2.18",
3
+ "version": "1.2.19",
4
4
  "description": "Generic RTSP camera device provider addon for CamStack",
5
5
  "keywords": [
6
6
  "camstack",