@camstack/addon-provider-amcrest 0.2.19 → 0.2.21
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 +52 -1
- package/dist/addon.mjs +52 -1
- package/package.json +1 -1
package/dist/addon.js
CHANGED
|
@@ -19442,6 +19442,39 @@ var snapshotCapability = {
|
|
|
19442
19442
|
etag: string().nullable()
|
|
19443
19443
|
}))),
|
|
19444
19444
|
/**
|
|
19445
|
+
* The full decision chain for ONE device, for the viewer's debug readout —
|
|
19446
|
+
* the answer to "why does this tile show what it shows" in a single poll:
|
|
19447
|
+
* the battery slice the state was derived from, the resolved state + its
|
|
19448
|
+
* reason, the cached frame's identity/age, whether a wake window is open,
|
|
19449
|
+
* and whether a fresh capture is in flight. Cache-only and capture-free:
|
|
19450
|
+
* a debug read must never wake a battery camera.
|
|
19451
|
+
*/
|
|
19452
|
+
getDebugState: systemMethod(object({ deviceId: number() }), object({
|
|
19453
|
+
/** The battery slice as read, or null when the device has none. */
|
|
19454
|
+
battery: object({
|
|
19455
|
+
sleeping: boolean(),
|
|
19456
|
+
lastUpdated: number(),
|
|
19457
|
+
lastContactAt: number().optional()
|
|
19458
|
+
}).nullable(),
|
|
19459
|
+
/** The resolved snapshot state (what the overlay decision used). */
|
|
19460
|
+
state: object({
|
|
19461
|
+
isBattery: boolean(),
|
|
19462
|
+
reason: _enum([
|
|
19463
|
+
"disabled",
|
|
19464
|
+
"sleeping",
|
|
19465
|
+
"unreachable",
|
|
19466
|
+
"waking"
|
|
19467
|
+
]).nullable()
|
|
19468
|
+
}),
|
|
19469
|
+
/** The cached frame behind the next paint. */
|
|
19470
|
+
frame: object({
|
|
19471
|
+
capturedAt: number().nullable(),
|
|
19472
|
+
ageMs: number().nullable()
|
|
19473
|
+
}),
|
|
19474
|
+
/** A wake window is currently open (the Waking overlay's source). */
|
|
19475
|
+
waking: boolean()
|
|
19476
|
+
})),
|
|
19477
|
+
/**
|
|
19445
19478
|
* Signed, expiring links to a CLIENT-SIZED frame — and the demand signal
|
|
19446
19479
|
* that makes those frames current.
|
|
19447
19480
|
*
|
|
@@ -19523,7 +19556,14 @@ targets: array(object({
|
|
|
19523
19556
|
"sleeping",
|
|
19524
19557
|
"unreachable",
|
|
19525
19558
|
"waking"
|
|
19526
|
-
]).nullable()
|
|
19559
|
+
]).nullable(),
|
|
19560
|
+
/** A battery camera (whatever its current state). An AWAKE battery
|
|
19561
|
+
* camera is deliberately NOT recaptured on the poll cadence — every
|
|
19562
|
+
* capture is a camera hit that would keep it out of sleep — so its
|
|
19563
|
+
* cached frame legitimately ages past the currency ceiling while
|
|
19564
|
+
* nothing is streaming. A surface must keep painting it (a fresh
|
|
19565
|
+
* frame is captured at each wake), not blank to "unavailable". */
|
|
19566
|
+
battery: boolean()
|
|
19527
19567
|
})))
|
|
19528
19568
|
},
|
|
19529
19569
|
status: {
|
|
@@ -34495,6 +34535,12 @@ Object.freeze({
|
|
|
34495
34535
|
addonId: null,
|
|
34496
34536
|
access: "view"
|
|
34497
34537
|
},
|
|
34538
|
+
"snapshot.getDebugState": {
|
|
34539
|
+
capName: "snapshot",
|
|
34540
|
+
capScope: "device",
|
|
34541
|
+
addonId: null,
|
|
34542
|
+
access: "view"
|
|
34543
|
+
},
|
|
34498
34544
|
"snapshot.getSnapshot": {
|
|
34499
34545
|
capName: "snapshot",
|
|
34500
34546
|
capScope: "device",
|
|
@@ -37092,6 +37138,11 @@ Object.freeze({
|
|
|
37092
37138
|
form: "single",
|
|
37093
37139
|
optional: false
|
|
37094
37140
|
}],
|
|
37141
|
+
"snapshot.getDebugState": [{
|
|
37142
|
+
name: "deviceId",
|
|
37143
|
+
form: "single",
|
|
37144
|
+
optional: false
|
|
37145
|
+
}],
|
|
37095
37146
|
"snapshot.getSnapshot": [{
|
|
37096
37147
|
name: "deviceId",
|
|
37097
37148
|
form: "single",
|
package/dist/addon.mjs
CHANGED
|
@@ -19443,6 +19443,39 @@ var snapshotCapability = {
|
|
|
19443
19443
|
etag: string().nullable()
|
|
19444
19444
|
}))),
|
|
19445
19445
|
/**
|
|
19446
|
+
* The full decision chain for ONE device, for the viewer's debug readout —
|
|
19447
|
+
* the answer to "why does this tile show what it shows" in a single poll:
|
|
19448
|
+
* the battery slice the state was derived from, the resolved state + its
|
|
19449
|
+
* reason, the cached frame's identity/age, whether a wake window is open,
|
|
19450
|
+
* and whether a fresh capture is in flight. Cache-only and capture-free:
|
|
19451
|
+
* a debug read must never wake a battery camera.
|
|
19452
|
+
*/
|
|
19453
|
+
getDebugState: systemMethod(object({ deviceId: number() }), object({
|
|
19454
|
+
/** The battery slice as read, or null when the device has none. */
|
|
19455
|
+
battery: object({
|
|
19456
|
+
sleeping: boolean(),
|
|
19457
|
+
lastUpdated: number(),
|
|
19458
|
+
lastContactAt: number().optional()
|
|
19459
|
+
}).nullable(),
|
|
19460
|
+
/** The resolved snapshot state (what the overlay decision used). */
|
|
19461
|
+
state: object({
|
|
19462
|
+
isBattery: boolean(),
|
|
19463
|
+
reason: _enum([
|
|
19464
|
+
"disabled",
|
|
19465
|
+
"sleeping",
|
|
19466
|
+
"unreachable",
|
|
19467
|
+
"waking"
|
|
19468
|
+
]).nullable()
|
|
19469
|
+
}),
|
|
19470
|
+
/** The cached frame behind the next paint. */
|
|
19471
|
+
frame: object({
|
|
19472
|
+
capturedAt: number().nullable(),
|
|
19473
|
+
ageMs: number().nullable()
|
|
19474
|
+
}),
|
|
19475
|
+
/** A wake window is currently open (the Waking overlay's source). */
|
|
19476
|
+
waking: boolean()
|
|
19477
|
+
})),
|
|
19478
|
+
/**
|
|
19446
19479
|
* Signed, expiring links to a CLIENT-SIZED frame — and the demand signal
|
|
19447
19480
|
* that makes those frames current.
|
|
19448
19481
|
*
|
|
@@ -19524,7 +19557,14 @@ targets: array(object({
|
|
|
19524
19557
|
"sleeping",
|
|
19525
19558
|
"unreachable",
|
|
19526
19559
|
"waking"
|
|
19527
|
-
]).nullable()
|
|
19560
|
+
]).nullable(),
|
|
19561
|
+
/** A battery camera (whatever its current state). An AWAKE battery
|
|
19562
|
+
* camera is deliberately NOT recaptured on the poll cadence — every
|
|
19563
|
+
* capture is a camera hit that would keep it out of sleep — so its
|
|
19564
|
+
* cached frame legitimately ages past the currency ceiling while
|
|
19565
|
+
* nothing is streaming. A surface must keep painting it (a fresh
|
|
19566
|
+
* frame is captured at each wake), not blank to "unavailable". */
|
|
19567
|
+
battery: boolean()
|
|
19528
19568
|
})))
|
|
19529
19569
|
},
|
|
19530
19570
|
status: {
|
|
@@ -34496,6 +34536,12 @@ Object.freeze({
|
|
|
34496
34536
|
addonId: null,
|
|
34497
34537
|
access: "view"
|
|
34498
34538
|
},
|
|
34539
|
+
"snapshot.getDebugState": {
|
|
34540
|
+
capName: "snapshot",
|
|
34541
|
+
capScope: "device",
|
|
34542
|
+
addonId: null,
|
|
34543
|
+
access: "view"
|
|
34544
|
+
},
|
|
34499
34545
|
"snapshot.getSnapshot": {
|
|
34500
34546
|
capName: "snapshot",
|
|
34501
34547
|
capScope: "device",
|
|
@@ -37093,6 +37139,11 @@ Object.freeze({
|
|
|
37093
37139
|
form: "single",
|
|
37094
37140
|
optional: false
|
|
37095
37141
|
}],
|
|
37142
|
+
"snapshot.getDebugState": [{
|
|
37143
|
+
name: "deviceId",
|
|
37144
|
+
form: "single",
|
|
37145
|
+
optional: false
|
|
37146
|
+
}],
|
|
37096
37147
|
"snapshot.getSnapshot": [{
|
|
37097
37148
|
name: "deviceId",
|
|
37098
37149
|
form: "single",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@camstack/addon-provider-amcrest",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.21",
|
|
4
4
|
"description": "Amcrest/Dahua camera device provider addon for CamStack — Dahua CGI over HTTP(S) with digest auth (snapshot, RTSP catalog, PTZ, image/day-night config)",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"camstack",
|