@camstack/addon-terminal 0.1.120 → 0.1.121
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 +54 -15
- package/dist/addon.mjs +54 -15
- package/package.json +1 -1
package/dist/addon.js
CHANGED
|
@@ -7882,13 +7882,37 @@ var CameraSwitchGroupSchema = object({
|
|
|
7882
7882
|
fetchedAt: number()
|
|
7883
7883
|
});
|
|
7884
7884
|
/**
|
|
7885
|
-
*
|
|
7886
|
-
*
|
|
7887
|
-
*
|
|
7888
|
-
*
|
|
7885
|
+
* Every analyser a camera CamStack BUILDS is created with switched off.
|
|
7886
|
+
*
|
|
7887
|
+
* A grid and a Terminal camera are `DeviceType.Camera`, so every wrapper that
|
|
7888
|
+
* declares `defaultActive: true` for a camera binds to them the instant they
|
|
7889
|
+
* exist — the whole analysis family included. There is nothing there to
|
|
7890
|
+
* analyse: a grid's subjects are already counted on the cameras it composes (a
|
|
7891
|
+
* person in the bottom-right cell is a person on THAT camera, not on the grid),
|
|
7892
|
+
* and a Terminal camera shows a shell.
|
|
7893
|
+
*
|
|
7894
|
+
* ONE list, in the package both already depend on, because there were two and
|
|
7895
|
+
* they had already drifted: the Terminal's and the grid's each named three caps
|
|
7896
|
+
* and neither named `pipeline-analytics` — which has no gate of its own except
|
|
7897
|
+
* this binding, so a grid that forwards its sources' motion (so the viewer can
|
|
7898
|
+
* light its tile) would open a motion EPISODE per forwarded event, duplicating
|
|
7899
|
+
* the rows those sources already write.
|
|
7900
|
+
*
|
|
7901
|
+
* `motion-detection` sits first deliberately: it is the one that holds the
|
|
7902
|
+
* decode session open, so its absence is the difference between a derived
|
|
7903
|
+
* camera costing a composition and costing a full decode pipeline.
|
|
7904
|
+
*
|
|
7905
|
+
* Applied ONLY at creation. An operator who deliberately turns analysis back on
|
|
7906
|
+
* for a grid must win, and a reconcile that re-asserted this every pass would
|
|
7907
|
+
* silently overrule them once a minute.
|
|
7889
7908
|
*/
|
|
7890
|
-
var
|
|
7891
|
-
|
|
7909
|
+
var DERIVED_CAMERA_SILENCED_CAP_NAMES = [
|
|
7910
|
+
"motion-detection",
|
|
7911
|
+
"detection-pipeline",
|
|
7912
|
+
"audio-analysis",
|
|
7913
|
+
"pipeline-analytics",
|
|
7914
|
+
"scene-monitor"
|
|
7915
|
+
];
|
|
7892
7916
|
/**
|
|
7893
7917
|
* What the gate decided about a birth, from the CALLER's point of view.
|
|
7894
7918
|
*
|
|
@@ -31437,6 +31461,25 @@ var ptzAutotrackCapability = {
|
|
|
31437
31461
|
scope: "device",
|
|
31438
31462
|
deviceNative: true,
|
|
31439
31463
|
mode: "singleton",
|
|
31464
|
+
/**
|
|
31465
|
+
* Two kinds of provider behind one name, the same shape `snapshot` and
|
|
31466
|
+
* `doorbell` use:
|
|
31467
|
+
*
|
|
31468
|
+
* - **Native**: the camera's own firmware autotrack, registered per device by
|
|
31469
|
+
* the driver when the probe says it exists (Reolink: yes; Hikvision:
|
|
31470
|
+
* model-dependent).
|
|
31471
|
+
* - **Wrapper**: the emulated implementation (`@camstack/system`'s `autotrack` builtin),
|
|
31472
|
+
* which follows a subject with `ptz.move` pulses driven by the detection
|
|
31473
|
+
* pipeline. `defaultActive: false` — the operator binds it per camera in
|
|
31474
|
+
* the bindings UI, exactly as `virtual-doorbell` is bound.
|
|
31475
|
+
*
|
|
31476
|
+
* The binding chooses WHICH implementation answers; `setEnabled` stays the
|
|
31477
|
+
* one switch for the function either way. A camera never has both driving its
|
|
31478
|
+
* head, which is the whole reason this is not a second cap with a second
|
|
31479
|
+
* toggle (D62, D520).
|
|
31480
|
+
*/
|
|
31481
|
+
kind: "wrapper",
|
|
31482
|
+
defaultActive: false,
|
|
31440
31483
|
deviceTypes: [DeviceType.Camera],
|
|
31441
31484
|
deviceConfig: { ui: {
|
|
31442
31485
|
kind: "widget",
|
|
@@ -44834,17 +44877,13 @@ async function warmNodePty() {
|
|
|
44834
44877
|
//#endregion
|
|
44835
44878
|
//#region src/silence-analysis.ts
|
|
44836
44879
|
/**
|
|
44837
|
-
* Every
|
|
44880
|
+
* Every analyser a Terminal camera is created with switched OFF.
|
|
44838
44881
|
*
|
|
44839
|
-
*
|
|
44840
|
-
*
|
|
44841
|
-
*
|
|
44882
|
+
* An alias, not a copy. This list and the grid's were separate and had drifted
|
|
44883
|
+
* — neither named `pipeline-analytics` — so both now read the one in
|
|
44884
|
+
* `@camstack/types`, which is the package they already share.
|
|
44842
44885
|
*/
|
|
44843
|
-
var TERMINAL_SILENCED_CAP_NAMES =
|
|
44844
|
-
"motion-detection",
|
|
44845
|
-
DETECTION_PIPELINE_CAP_NAME,
|
|
44846
|
-
AUDIO_ANALYSIS_CAP_NAME
|
|
44847
|
-
];
|
|
44886
|
+
var TERMINAL_SILENCED_CAP_NAMES = DERIVED_CAMERA_SILENCED_CAP_NAMES;
|
|
44848
44887
|
/**
|
|
44849
44888
|
* Resolve the addon currently providing `capName` for this device.
|
|
44850
44889
|
*
|
package/dist/addon.mjs
CHANGED
|
@@ -7859,13 +7859,37 @@ var CameraSwitchGroupSchema = object({
|
|
|
7859
7859
|
fetchedAt: number()
|
|
7860
7860
|
});
|
|
7861
7861
|
/**
|
|
7862
|
-
*
|
|
7863
|
-
*
|
|
7864
|
-
*
|
|
7865
|
-
*
|
|
7862
|
+
* Every analyser a camera CamStack BUILDS is created with switched off.
|
|
7863
|
+
*
|
|
7864
|
+
* A grid and a Terminal camera are `DeviceType.Camera`, so every wrapper that
|
|
7865
|
+
* declares `defaultActive: true` for a camera binds to them the instant they
|
|
7866
|
+
* exist — the whole analysis family included. There is nothing there to
|
|
7867
|
+
* analyse: a grid's subjects are already counted on the cameras it composes (a
|
|
7868
|
+
* person in the bottom-right cell is a person on THAT camera, not on the grid),
|
|
7869
|
+
* and a Terminal camera shows a shell.
|
|
7870
|
+
*
|
|
7871
|
+
* ONE list, in the package both already depend on, because there were two and
|
|
7872
|
+
* they had already drifted: the Terminal's and the grid's each named three caps
|
|
7873
|
+
* and neither named `pipeline-analytics` — which has no gate of its own except
|
|
7874
|
+
* this binding, so a grid that forwards its sources' motion (so the viewer can
|
|
7875
|
+
* light its tile) would open a motion EPISODE per forwarded event, duplicating
|
|
7876
|
+
* the rows those sources already write.
|
|
7877
|
+
*
|
|
7878
|
+
* `motion-detection` sits first deliberately: it is the one that holds the
|
|
7879
|
+
* decode session open, so its absence is the difference between a derived
|
|
7880
|
+
* camera costing a composition and costing a full decode pipeline.
|
|
7881
|
+
*
|
|
7882
|
+
* Applied ONLY at creation. An operator who deliberately turns analysis back on
|
|
7883
|
+
* for a grid must win, and a reconcile that re-asserted this every pass would
|
|
7884
|
+
* silently overrule them once a minute.
|
|
7866
7885
|
*/
|
|
7867
|
-
var
|
|
7868
|
-
|
|
7886
|
+
var DERIVED_CAMERA_SILENCED_CAP_NAMES = [
|
|
7887
|
+
"motion-detection",
|
|
7888
|
+
"detection-pipeline",
|
|
7889
|
+
"audio-analysis",
|
|
7890
|
+
"pipeline-analytics",
|
|
7891
|
+
"scene-monitor"
|
|
7892
|
+
];
|
|
7869
7893
|
/**
|
|
7870
7894
|
* What the gate decided about a birth, from the CALLER's point of view.
|
|
7871
7895
|
*
|
|
@@ -31414,6 +31438,25 @@ var ptzAutotrackCapability = {
|
|
|
31414
31438
|
scope: "device",
|
|
31415
31439
|
deviceNative: true,
|
|
31416
31440
|
mode: "singleton",
|
|
31441
|
+
/**
|
|
31442
|
+
* Two kinds of provider behind one name, the same shape `snapshot` and
|
|
31443
|
+
* `doorbell` use:
|
|
31444
|
+
*
|
|
31445
|
+
* - **Native**: the camera's own firmware autotrack, registered per device by
|
|
31446
|
+
* the driver when the probe says it exists (Reolink: yes; Hikvision:
|
|
31447
|
+
* model-dependent).
|
|
31448
|
+
* - **Wrapper**: the emulated implementation (`@camstack/system`'s `autotrack` builtin),
|
|
31449
|
+
* which follows a subject with `ptz.move` pulses driven by the detection
|
|
31450
|
+
* pipeline. `defaultActive: false` — the operator binds it per camera in
|
|
31451
|
+
* the bindings UI, exactly as `virtual-doorbell` is bound.
|
|
31452
|
+
*
|
|
31453
|
+
* The binding chooses WHICH implementation answers; `setEnabled` stays the
|
|
31454
|
+
* one switch for the function either way. A camera never has both driving its
|
|
31455
|
+
* head, which is the whole reason this is not a second cap with a second
|
|
31456
|
+
* toggle (D62, D520).
|
|
31457
|
+
*/
|
|
31458
|
+
kind: "wrapper",
|
|
31459
|
+
defaultActive: false,
|
|
31417
31460
|
deviceTypes: [DeviceType.Camera],
|
|
31418
31461
|
deviceConfig: { ui: {
|
|
31419
31462
|
kind: "widget",
|
|
@@ -44811,17 +44854,13 @@ async function warmNodePty() {
|
|
|
44811
44854
|
//#endregion
|
|
44812
44855
|
//#region src/silence-analysis.ts
|
|
44813
44856
|
/**
|
|
44814
|
-
* Every
|
|
44857
|
+
* Every analyser a Terminal camera is created with switched OFF.
|
|
44815
44858
|
*
|
|
44816
|
-
*
|
|
44817
|
-
*
|
|
44818
|
-
*
|
|
44859
|
+
* An alias, not a copy. This list and the grid's were separate and had drifted
|
|
44860
|
+
* — neither named `pipeline-analytics` — so both now read the one in
|
|
44861
|
+
* `@camstack/types`, which is the package they already share.
|
|
44819
44862
|
*/
|
|
44820
|
-
var TERMINAL_SILENCED_CAP_NAMES =
|
|
44821
|
-
"motion-detection",
|
|
44822
|
-
DETECTION_PIPELINE_CAP_NAME,
|
|
44823
|
-
AUDIO_ANALYSIS_CAP_NAME
|
|
44824
|
-
];
|
|
44863
|
+
var TERMINAL_SILENCED_CAP_NAMES = DERIVED_CAMERA_SILENCED_CAP_NAMES;
|
|
44825
44864
|
/**
|
|
44826
44865
|
* Resolve the addon currently providing `capName` for this device.
|
|
44827
44866
|
*
|