@camstack/addon-osd-manager 0.1.108 → 0.1.110
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/{MotionZonesSettings-BzISdGHH.mjs → MotionZonesSettings-mMDuvXWV.mjs} +2 -2
- package/dist/{PrivacyMaskSettings-Bt3_2EKl.mjs → PrivacyMaskSettings-K3gDoEmA.mjs} +4 -4
- package/dist/{SceneMonitorEditor-06DMsHxC.mjs → SceneMonitorEditor-PxElG3NE.mjs} +13 -13
- package/dist/_stub.js +11 -13
- package/dist/{_virtual_mf-localSharedImportMap___mfe_internal__addon_osd_manager_page-Gm3yQ5Si.mjs → _virtual_mf-localSharedImportMap___mfe_internal__addon_osd_manager_page-CZoX6N2L.mjs} +4 -4
- package/dist/{_virtual_mf___mfe_internal__addon_osd_manager_page__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-BblS1MmL.mjs → _virtual_mf___mfe_internal__addon_osd_manager_page__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-nrA2tN0c.mjs} +1 -1
- package/dist/addon-osd-manager.css +1 -1
- package/dist/{hostInit-BcdikRxN.mjs → hostInit-C9K_NNZy.mjs} +3 -3
- package/dist/index.js +102 -1
- package/dist/index.mjs +102 -1
- package/dist/{player-overlays-tTeFLkD9.mjs → player-overlays-CHC79YA3.mjs} +1 -1
- package/dist/remoteEntry.js +1 -1
- package/dist/{responsive-Bh8IG8OT.mjs → responsive-LN43GEk8.mjs} +1 -1
- package/dist/{use-device-snapshot-a9ticTCA.mjs → scene-monitor-copy-jPoCoWxW.mjs} +46 -46
- package/dist/{square-CI7Yp8Gw.mjs → square-DtyVaIJk.mjs} +1 -1
- package/dist/{trash-2-DbCE3CFA.mjs → trash-2-BOv0DQMJ.mjs} +1 -1
- package/dist/{virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_osd_manager_page__remoteEntry_js-BJr1VAOO.mjs → virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_osd_manager_page__remoteEntry_js-CE8wg9eY.mjs} +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -5363,7 +5363,7 @@ var ZodIssueCode = {
|
|
|
5363
5363
|
var ZodFirstPartyTypeKind;
|
|
5364
5364
|
ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {});
|
|
5365
5365
|
//#endregion
|
|
5366
|
-
//#region ../types/dist/sleep-
|
|
5366
|
+
//#region ../types/dist/sleep-Dk-BdnBf.mjs
|
|
5367
5367
|
/**
|
|
5368
5368
|
* The audio chunk plane's byte format, and the ONE expansion from a coded
|
|
5369
5369
|
* window to float samples (D455).
|
|
@@ -36434,6 +36434,26 @@ var PtzHomePresetSchema = object({
|
|
|
36434
36434
|
"none"
|
|
36435
36435
|
])
|
|
36436
36436
|
});
|
|
36437
|
+
/**
|
|
36438
|
+
* The camera's own idle-return behaviour: whether it goes home by itself, and
|
|
36439
|
+
* after how long.
|
|
36440
|
+
*
|
|
36441
|
+
* ONE shape, not two scalars, because on the camera they are ONE fact —
|
|
36442
|
+
* Reolink's guard point carries `benable` and `timeout` in the same element,
|
|
36443
|
+
* written by the same command. Reading them apart means two round-trips that
|
|
36444
|
+
* can disagree.
|
|
36445
|
+
*
|
|
36446
|
+
* `enabled` and `seconds` are INDEPENDENT: a camera can hold a 68 s delay with
|
|
36447
|
+
* the behaviour switched off, which is exactly what the vendor app leaves when
|
|
36448
|
+
* you turn the guard point off without clearing it. The first version of this
|
|
36449
|
+
* cap reported only the delay, so that state was invisible — a camera could be
|
|
36450
|
+
* configured to return after 68 seconds with no way to say whether it should
|
|
36451
|
+
* return at all.
|
|
36452
|
+
*/
|
|
36453
|
+
var PtzHomeReturnSchema = object({
|
|
36454
|
+
enabled: boolean(),
|
|
36455
|
+
seconds: number().int()
|
|
36456
|
+
});
|
|
36437
36457
|
var ptzCapability = {
|
|
36438
36458
|
name: "ptz",
|
|
36439
36459
|
scope: "device",
|
|
@@ -36493,6 +36513,54 @@ var ptzCapability = {
|
|
|
36493
36513
|
auth: "admin"
|
|
36494
36514
|
}),
|
|
36495
36515
|
/**
|
|
36516
|
+
* Make WHERE THE HEAD IS POINTING RIGHT NOW this camera's home.
|
|
36517
|
+
*
|
|
36518
|
+
* `setHomePreset` takes a preset id, and a preset id is the wrong shape for
|
|
36519
|
+
* the most natural thing an operator does: aim the camera, then say "here".
|
|
36520
|
+
* It is also the only shape a camera whose home is NOT a preset can accept
|
|
36521
|
+
* -- Reolink's home is a guard point, a stored position with no id at all,
|
|
36522
|
+
* and hiding the control for that case (as the UI briefly did) left the one
|
|
36523
|
+
* vendor with a native home unable to set it.
|
|
36524
|
+
*
|
|
36525
|
+
* Each provider does it its own way:
|
|
36526
|
+
* reolink `setGrd` with `needSetPos`, pinning the guard point here
|
|
36527
|
+
* hikvision / amcrest save a preset, then pin it as home
|
|
36528
|
+
* onvif REFUSES -- its home is the PTZ origin and cannot be moved
|
|
36529
|
+
*
|
|
36530
|
+
* A provider that cannot honour it throws rather than silently doing
|
|
36531
|
+
* nothing: an operator who pressed "set home here" and saw no error would
|
|
36532
|
+
* believe it took.
|
|
36533
|
+
*/
|
|
36534
|
+
captureHomeHere: method(object({ deviceId: number() }), _void(), {
|
|
36535
|
+
kind: "mutation",
|
|
36536
|
+
auth: "admin"
|
|
36537
|
+
}),
|
|
36538
|
+
/**
|
|
36539
|
+
* Whether the camera returns home on its own when left idle, and after how
|
|
36540
|
+
* long. `null` when it has no such behaviour at all.
|
|
36541
|
+
*
|
|
36542
|
+
* Reolink's guard point carries one (`timeout`, freely settable in
|
|
36543
|
+
* seconds). It is a real function of the camera that we did not expose at
|
|
36544
|
+
* all, and it belongs next to the home it governs rather than in a vendor
|
|
36545
|
+
* settings page nobody associates with Home.
|
|
36546
|
+
*/
|
|
36547
|
+
getHomeReturn: method(object({ deviceId: number() }), PtzHomeReturnSchema.nullable()),
|
|
36548
|
+
/**
|
|
36549
|
+
* Set both together. Refused by a camera with no idle-return behaviour.
|
|
36550
|
+
*
|
|
36551
|
+
* They travel together for the same reason they are read together: the
|
|
36552
|
+
* underlying write carries both, so setting one alone means reading the
|
|
36553
|
+
* other back first and racing whoever else is writing.
|
|
36554
|
+
*/
|
|
36555
|
+
setHomeReturn: method(object({
|
|
36556
|
+
deviceId: number(),
|
|
36557
|
+
enabled: boolean(),
|
|
36558
|
+
seconds: number().int().min(0).max(3600)
|
|
36559
|
+
}), _void(), {
|
|
36560
|
+
kind: "mutation",
|
|
36561
|
+
auth: "admin"
|
|
36562
|
+
}),
|
|
36563
|
+
/**
|
|
36496
36564
|
* Pull the current PTZ position. Redundant with the auto-injected
|
|
36497
36565
|
* `getStatus` method (see `status` below); kept for callers that
|
|
36498
36566
|
* haven't migrated. Will be folded into `getStatus` in a future
|
|
@@ -44896,6 +44964,12 @@ Object.freeze({
|
|
|
44896
44964
|
addonId: null,
|
|
44897
44965
|
access: "create"
|
|
44898
44966
|
},
|
|
44967
|
+
"ptz.captureHomeHere": {
|
|
44968
|
+
capName: "ptz",
|
|
44969
|
+
capScope: "device",
|
|
44970
|
+
addonId: null,
|
|
44971
|
+
access: "create"
|
|
44972
|
+
},
|
|
44899
44973
|
"ptz.continuousMove": {
|
|
44900
44974
|
capName: "ptz",
|
|
44901
44975
|
capScope: "device",
|
|
@@ -44914,6 +44988,12 @@ Object.freeze({
|
|
|
44914
44988
|
addonId: null,
|
|
44915
44989
|
access: "view"
|
|
44916
44990
|
},
|
|
44991
|
+
"ptz.getHomeReturn": {
|
|
44992
|
+
capName: "ptz",
|
|
44993
|
+
capScope: "device",
|
|
44994
|
+
addonId: null,
|
|
44995
|
+
access: "view"
|
|
44996
|
+
},
|
|
44917
44997
|
"ptz.getOptions": {
|
|
44918
44998
|
capName: "ptz",
|
|
44919
44999
|
capScope: "device",
|
|
@@ -44968,6 +45048,12 @@ Object.freeze({
|
|
|
44968
45048
|
addonId: null,
|
|
44969
45049
|
access: "create"
|
|
44970
45050
|
},
|
|
45051
|
+
"ptz.setHomeReturn": {
|
|
45052
|
+
capName: "ptz",
|
|
45053
|
+
capScope: "device",
|
|
45054
|
+
addonId: null,
|
|
45055
|
+
access: "create"
|
|
45056
|
+
},
|
|
44971
45057
|
"ptz.stop": {
|
|
44972
45058
|
capName: "ptz",
|
|
44973
45059
|
capScope: "device",
|
|
@@ -48131,6 +48217,11 @@ Object.freeze({
|
|
|
48131
48217
|
form: "single",
|
|
48132
48218
|
optional: false
|
|
48133
48219
|
}],
|
|
48220
|
+
"ptz.captureHomeHere": [{
|
|
48221
|
+
name: "deviceId",
|
|
48222
|
+
form: "single",
|
|
48223
|
+
optional: false
|
|
48224
|
+
}],
|
|
48134
48225
|
"ptz.continuousMove": [{
|
|
48135
48226
|
name: "deviceId",
|
|
48136
48227
|
form: "single",
|
|
@@ -48146,6 +48237,11 @@ Object.freeze({
|
|
|
48146
48237
|
form: "single",
|
|
48147
48238
|
optional: false
|
|
48148
48239
|
}],
|
|
48240
|
+
"ptz.getHomeReturn": [{
|
|
48241
|
+
name: "deviceId",
|
|
48242
|
+
form: "single",
|
|
48243
|
+
optional: false
|
|
48244
|
+
}],
|
|
48149
48245
|
"ptz.getOptions": [{
|
|
48150
48246
|
name: "deviceId",
|
|
48151
48247
|
form: "single",
|
|
@@ -48191,6 +48287,11 @@ Object.freeze({
|
|
|
48191
48287
|
form: "single",
|
|
48192
48288
|
optional: false
|
|
48193
48289
|
}],
|
|
48290
|
+
"ptz.setHomeReturn": [{
|
|
48291
|
+
name: "deviceId",
|
|
48292
|
+
form: "single",
|
|
48293
|
+
optional: false
|
|
48294
|
+
}],
|
|
48194
48295
|
"ptz.stop": [{
|
|
48195
48296
|
name: "deviceId",
|
|
48196
48297
|
form: "single",
|
package/dist/index.mjs
CHANGED
|
@@ -5359,7 +5359,7 @@ var ZodIssueCode = {
|
|
|
5359
5359
|
var ZodFirstPartyTypeKind;
|
|
5360
5360
|
ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {});
|
|
5361
5361
|
//#endregion
|
|
5362
|
-
//#region ../types/dist/sleep-
|
|
5362
|
+
//#region ../types/dist/sleep-Dk-BdnBf.mjs
|
|
5363
5363
|
/**
|
|
5364
5364
|
* The audio chunk plane's byte format, and the ONE expansion from a coded
|
|
5365
5365
|
* window to float samples (D455).
|
|
@@ -36430,6 +36430,26 @@ var PtzHomePresetSchema = object({
|
|
|
36430
36430
|
"none"
|
|
36431
36431
|
])
|
|
36432
36432
|
});
|
|
36433
|
+
/**
|
|
36434
|
+
* The camera's own idle-return behaviour: whether it goes home by itself, and
|
|
36435
|
+
* after how long.
|
|
36436
|
+
*
|
|
36437
|
+
* ONE shape, not two scalars, because on the camera they are ONE fact —
|
|
36438
|
+
* Reolink's guard point carries `benable` and `timeout` in the same element,
|
|
36439
|
+
* written by the same command. Reading them apart means two round-trips that
|
|
36440
|
+
* can disagree.
|
|
36441
|
+
*
|
|
36442
|
+
* `enabled` and `seconds` are INDEPENDENT: a camera can hold a 68 s delay with
|
|
36443
|
+
* the behaviour switched off, which is exactly what the vendor app leaves when
|
|
36444
|
+
* you turn the guard point off without clearing it. The first version of this
|
|
36445
|
+
* cap reported only the delay, so that state was invisible — a camera could be
|
|
36446
|
+
* configured to return after 68 seconds with no way to say whether it should
|
|
36447
|
+
* return at all.
|
|
36448
|
+
*/
|
|
36449
|
+
var PtzHomeReturnSchema = object({
|
|
36450
|
+
enabled: boolean(),
|
|
36451
|
+
seconds: number().int()
|
|
36452
|
+
});
|
|
36433
36453
|
var ptzCapability = {
|
|
36434
36454
|
name: "ptz",
|
|
36435
36455
|
scope: "device",
|
|
@@ -36489,6 +36509,54 @@ var ptzCapability = {
|
|
|
36489
36509
|
auth: "admin"
|
|
36490
36510
|
}),
|
|
36491
36511
|
/**
|
|
36512
|
+
* Make WHERE THE HEAD IS POINTING RIGHT NOW this camera's home.
|
|
36513
|
+
*
|
|
36514
|
+
* `setHomePreset` takes a preset id, and a preset id is the wrong shape for
|
|
36515
|
+
* the most natural thing an operator does: aim the camera, then say "here".
|
|
36516
|
+
* It is also the only shape a camera whose home is NOT a preset can accept
|
|
36517
|
+
* -- Reolink's home is a guard point, a stored position with no id at all,
|
|
36518
|
+
* and hiding the control for that case (as the UI briefly did) left the one
|
|
36519
|
+
* vendor with a native home unable to set it.
|
|
36520
|
+
*
|
|
36521
|
+
* Each provider does it its own way:
|
|
36522
|
+
* reolink `setGrd` with `needSetPos`, pinning the guard point here
|
|
36523
|
+
* hikvision / amcrest save a preset, then pin it as home
|
|
36524
|
+
* onvif REFUSES -- its home is the PTZ origin and cannot be moved
|
|
36525
|
+
*
|
|
36526
|
+
* A provider that cannot honour it throws rather than silently doing
|
|
36527
|
+
* nothing: an operator who pressed "set home here" and saw no error would
|
|
36528
|
+
* believe it took.
|
|
36529
|
+
*/
|
|
36530
|
+
captureHomeHere: method(object({ deviceId: number() }), _void(), {
|
|
36531
|
+
kind: "mutation",
|
|
36532
|
+
auth: "admin"
|
|
36533
|
+
}),
|
|
36534
|
+
/**
|
|
36535
|
+
* Whether the camera returns home on its own when left idle, and after how
|
|
36536
|
+
* long. `null` when it has no such behaviour at all.
|
|
36537
|
+
*
|
|
36538
|
+
* Reolink's guard point carries one (`timeout`, freely settable in
|
|
36539
|
+
* seconds). It is a real function of the camera that we did not expose at
|
|
36540
|
+
* all, and it belongs next to the home it governs rather than in a vendor
|
|
36541
|
+
* settings page nobody associates with Home.
|
|
36542
|
+
*/
|
|
36543
|
+
getHomeReturn: method(object({ deviceId: number() }), PtzHomeReturnSchema.nullable()),
|
|
36544
|
+
/**
|
|
36545
|
+
* Set both together. Refused by a camera with no idle-return behaviour.
|
|
36546
|
+
*
|
|
36547
|
+
* They travel together for the same reason they are read together: the
|
|
36548
|
+
* underlying write carries both, so setting one alone means reading the
|
|
36549
|
+
* other back first and racing whoever else is writing.
|
|
36550
|
+
*/
|
|
36551
|
+
setHomeReturn: method(object({
|
|
36552
|
+
deviceId: number(),
|
|
36553
|
+
enabled: boolean(),
|
|
36554
|
+
seconds: number().int().min(0).max(3600)
|
|
36555
|
+
}), _void(), {
|
|
36556
|
+
kind: "mutation",
|
|
36557
|
+
auth: "admin"
|
|
36558
|
+
}),
|
|
36559
|
+
/**
|
|
36492
36560
|
* Pull the current PTZ position. Redundant with the auto-injected
|
|
36493
36561
|
* `getStatus` method (see `status` below); kept for callers that
|
|
36494
36562
|
* haven't migrated. Will be folded into `getStatus` in a future
|
|
@@ -44892,6 +44960,12 @@ Object.freeze({
|
|
|
44892
44960
|
addonId: null,
|
|
44893
44961
|
access: "create"
|
|
44894
44962
|
},
|
|
44963
|
+
"ptz.captureHomeHere": {
|
|
44964
|
+
capName: "ptz",
|
|
44965
|
+
capScope: "device",
|
|
44966
|
+
addonId: null,
|
|
44967
|
+
access: "create"
|
|
44968
|
+
},
|
|
44895
44969
|
"ptz.continuousMove": {
|
|
44896
44970
|
capName: "ptz",
|
|
44897
44971
|
capScope: "device",
|
|
@@ -44910,6 +44984,12 @@ Object.freeze({
|
|
|
44910
44984
|
addonId: null,
|
|
44911
44985
|
access: "view"
|
|
44912
44986
|
},
|
|
44987
|
+
"ptz.getHomeReturn": {
|
|
44988
|
+
capName: "ptz",
|
|
44989
|
+
capScope: "device",
|
|
44990
|
+
addonId: null,
|
|
44991
|
+
access: "view"
|
|
44992
|
+
},
|
|
44913
44993
|
"ptz.getOptions": {
|
|
44914
44994
|
capName: "ptz",
|
|
44915
44995
|
capScope: "device",
|
|
@@ -44964,6 +45044,12 @@ Object.freeze({
|
|
|
44964
45044
|
addonId: null,
|
|
44965
45045
|
access: "create"
|
|
44966
45046
|
},
|
|
45047
|
+
"ptz.setHomeReturn": {
|
|
45048
|
+
capName: "ptz",
|
|
45049
|
+
capScope: "device",
|
|
45050
|
+
addonId: null,
|
|
45051
|
+
access: "create"
|
|
45052
|
+
},
|
|
44967
45053
|
"ptz.stop": {
|
|
44968
45054
|
capName: "ptz",
|
|
44969
45055
|
capScope: "device",
|
|
@@ -48127,6 +48213,11 @@ Object.freeze({
|
|
|
48127
48213
|
form: "single",
|
|
48128
48214
|
optional: false
|
|
48129
48215
|
}],
|
|
48216
|
+
"ptz.captureHomeHere": [{
|
|
48217
|
+
name: "deviceId",
|
|
48218
|
+
form: "single",
|
|
48219
|
+
optional: false
|
|
48220
|
+
}],
|
|
48130
48221
|
"ptz.continuousMove": [{
|
|
48131
48222
|
name: "deviceId",
|
|
48132
48223
|
form: "single",
|
|
@@ -48142,6 +48233,11 @@ Object.freeze({
|
|
|
48142
48233
|
form: "single",
|
|
48143
48234
|
optional: false
|
|
48144
48235
|
}],
|
|
48236
|
+
"ptz.getHomeReturn": [{
|
|
48237
|
+
name: "deviceId",
|
|
48238
|
+
form: "single",
|
|
48239
|
+
optional: false
|
|
48240
|
+
}],
|
|
48145
48241
|
"ptz.getOptions": [{
|
|
48146
48242
|
name: "deviceId",
|
|
48147
48243
|
form: "single",
|
|
@@ -48187,6 +48283,11 @@ Object.freeze({
|
|
|
48187
48283
|
form: "single",
|
|
48188
48284
|
optional: false
|
|
48189
48285
|
}],
|
|
48286
|
+
"ptz.setHomeReturn": [{
|
|
48287
|
+
name: "deviceId",
|
|
48288
|
+
form: "single",
|
|
48289
|
+
optional: false
|
|
48290
|
+
}],
|
|
48190
48291
|
"ptz.stop": [{
|
|
48191
48292
|
name: "deviceId",
|
|
48192
48293
|
form: "single",
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { h as e, l as t, u as n, y as r } from "./_virtual_mf___mfe_internal__addon_osd_manager_page__loadShare__react__loadShare__.js-Bs1t18EM.mjs";
|
|
2
|
-
import { o as i, s as a } from "./responsive-
|
|
2
|
+
import { o as i, s as a } from "./responsive-LN43GEk8.mjs";
|
|
3
3
|
import { n as o, r as s, t as c } from "./_virtual_mf___mfe_internal__addon_osd_manager_page__loadShare__react_mf_1_jsx_mf_2_runtime__loadShare__.js-DalfdIDw.mjs";
|
|
4
4
|
var l = a("chevron-down", [["path", {
|
|
5
5
|
d: "m6 9 6 6 6-6",
|
package/dist/remoteEntry.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { n as e, t } from "./virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_osd_manager_page__remoteEntry_js-
|
|
1
|
+
import { n as e, t } from "./virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_osd_manager_page__remoteEntry_js-CE8wg9eY.mjs";
|
|
2
2
|
export { t as get, e as init };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { c as e, g as t, h as n, l as r, n as i, p as a, r as o, t as s, u as c, y as l } from "./_virtual_mf___mfe_internal__addon_osd_manager_page__loadShare__react__loadShare__.js-Bs1t18EM.mjs";
|
|
2
2
|
import "./_virtual_mf___mfe_internal__addon_osd_manager_page__loadShare__react_mf_1_jsx_mf_2_runtime__loadShare__.js-DalfdIDw.mjs";
|
|
3
|
-
import { n as u } from "./_virtual_mf___mfe_internal__addon_osd_manager_page__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-
|
|
3
|
+
import { n as u } from "./_virtual_mf___mfe_internal__addon_osd_manager_page__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-nrA2tN0c.mjs";
|
|
4
4
|
//#region ../../node_modules/lucide-react/dist/esm/shared/src/utils/mergeClasses.js
|
|
5
5
|
l();
|
|
6
6
|
var d = (...e) => e.filter((e, t, n) => !!e && e.trim() !== "" && n.indexOf(e) === t).join(" ").trim(), f = (e) => e.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase(), p = (e) => e.replace(/^([A-Z])|[\s-_]+(\w)/g, (e, t, n) => n ? n.toUpperCase() : t.toLowerCase()), m = (e) => {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { c as e, h as t, p as n, y as r } from "./_virtual_mf___mfe_internal__addon_osd_manager_page__loadShare__react__loadShare__.js-Bs1t18EM.mjs";
|
|
2
|
-
import { s as i } from "./responsive-
|
|
2
|
+
import { s as i } from "./responsive-LN43GEk8.mjs";
|
|
3
3
|
var a = i("camera", [["path", {
|
|
4
4
|
d: "M13.997 4a2 2 0 0 1 1.76 1.05l.486.9A2 2 0 0 0 18.003 7H20a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V9a2 2 0 0 1 2-2h1.997a2 2 0 0 0 1.759-1.048l.489-.904A2 2 0 0 1 10.004 4z",
|
|
5
5
|
key: "18u6gg"
|
|
@@ -86,47 +86,71 @@ function g(e) {
|
|
|
86
86
|
return t !== "/" && (e === m() || e.startsWith(t)) ? e : `${t}${n}`;
|
|
87
87
|
}
|
|
88
88
|
//#endregion
|
|
89
|
+
//#region ../ui-library/src/hooks/use-device-snapshot.ts
|
|
90
|
+
var _ = "/addon/snapshot/media";
|
|
91
|
+
function v(r, i = {}) {
|
|
92
|
+
let { width: a, baseUrl: o } = i, [s, c] = t(0);
|
|
93
|
+
return {
|
|
94
|
+
src: n(() => {
|
|
95
|
+
if (r === null || r <= 0) return null;
|
|
96
|
+
let e = o === void 0 ? m() : o.replace(/\/+$/, ""), t = new URLSearchParams();
|
|
97
|
+
a !== void 0 && Number.isInteger(a) && a > 0 && t.set("w", String(a)), s > 0 && (t.set("force", "1"), t.set("r", String(s)));
|
|
98
|
+
let n = t.toString();
|
|
99
|
+
return `${e}${_}/${String(r)}.jpg${n.length > 0 ? `?${n}` : ""}`;
|
|
100
|
+
}, [
|
|
101
|
+
r,
|
|
102
|
+
a,
|
|
103
|
+
o,
|
|
104
|
+
s
|
|
105
|
+
]),
|
|
106
|
+
loading: !1,
|
|
107
|
+
refresh: e(() => {
|
|
108
|
+
c((e) => e + 1);
|
|
109
|
+
}, [])
|
|
110
|
+
};
|
|
111
|
+
}
|
|
112
|
+
//#endregion
|
|
89
113
|
//#region ../ui-library/src/composites/cap-settings/scene-monitor-copy.ts
|
|
90
|
-
var
|
|
114
|
+
var y = ["day", "ir"], b = {
|
|
91
115
|
day: "Daylight",
|
|
92
116
|
ir: "Night (IR)",
|
|
93
117
|
night: "Night",
|
|
94
118
|
dawn: "Dawn",
|
|
95
119
|
dusk: "Dusk"
|
|
96
120
|
};
|
|
97
|
-
function
|
|
98
|
-
return
|
|
121
|
+
function x(e) {
|
|
122
|
+
return b[e] ?? e;
|
|
99
123
|
}
|
|
100
|
-
function
|
|
101
|
-
let t = new Set(e.coveredConditions), n =
|
|
102
|
-
for (let e of r) n.push(`${
|
|
103
|
-
let i =
|
|
124
|
+
function S(e) {
|
|
125
|
+
let t = new Set(e.coveredConditions), n = y.map((e) => `${x(e)} ${t.has(e) ? "✓" : "✗"}`), r = [...t].filter((e) => !y.some((t) => t === e));
|
|
126
|
+
for (let e of r) n.push(`${x(e)} ✓`);
|
|
127
|
+
let i = y.filter((e) => !t.has(e));
|
|
104
128
|
if (i.length === 0) return n.join(" · ");
|
|
105
129
|
if (t.size === 0) return `${n.join(" · ")} — nothing captured yet, so this scene is not watching.`;
|
|
106
|
-
let a = i.map((e) =>
|
|
130
|
+
let a = i.map((e) => x(e).toLowerCase()).join(" and ");
|
|
107
131
|
return e.onUncoveredCondition === "judge-anyway" ? `${n.join(" · ")} — ${a} judged against the references you do have.` : `${n.join(" · ")} — optional; checks in ${a} are skipped.`;
|
|
108
132
|
}
|
|
109
|
-
function
|
|
133
|
+
function C(e) {
|
|
110
134
|
if (e.suspendedCondition === null) return null;
|
|
111
|
-
let t =
|
|
135
|
+
let t = x(e.suspendedCondition).toLowerCase();
|
|
112
136
|
return `Paused — nothing was captured in ${t}, so checks are on hold until the light changes back. Capture ${t} if you want it watched around the clock.`;
|
|
113
137
|
}
|
|
114
|
-
var
|
|
138
|
+
var w = {
|
|
115
139
|
"no-reference-for-condition": "can’t tell — nothing has been captured for this scene yet. Press “Capture daylight” to photograph what normal looks like.",
|
|
116
140
|
"view-shifted": "can’t tell — the camera view has moved since the reference was captured. Re-capture it.",
|
|
117
141
|
"no-vision-profile": "can’t tell — the vision model is unreachable, so the change is on hold.",
|
|
118
142
|
"encoder-model-changed": "can’t tell — the embedding model changed, so the stored references are unreadable. Re-capture them.",
|
|
119
143
|
"no-snapshot": "can’t tell — this camera did not return a frame."
|
|
120
144
|
};
|
|
121
|
-
function
|
|
145
|
+
function T(e, t) {
|
|
122
146
|
if (e.states.length === 0) return "Not armed yet — capture the initial state to start watching.";
|
|
123
|
-
if (e.verdict === "unknown") return e.unavailable === null ? "can’t tell right now." :
|
|
124
|
-
let n = e.verdict === "diverged" ? e.divergedAt : e.armedAt, r = n === null ? "" : ` for ${
|
|
147
|
+
if (e.verdict === "unknown") return e.unavailable === null ? "can’t tell right now." : w[e.unavailable];
|
|
148
|
+
let n = e.verdict === "diverged" ? e.divergedAt : e.armedAt, r = n === null ? "" : ` for ${k(Math.max(0, t - n))}`;
|
|
125
149
|
if (e.latched) return e.verdict === "diverged" ? `CHANGED${r} — press Reset when you have dealt with it.` : `Back to normal, but still flagged as changed${r}. Press Reset to clear it.`;
|
|
126
|
-
let i =
|
|
150
|
+
let i = C(e);
|
|
127
151
|
return i === null ? e.verdict === "diverged" ? `CHANGED${r}` : `Normal${r}` : i;
|
|
128
152
|
}
|
|
129
|
-
function
|
|
153
|
+
function E(e) {
|
|
130
154
|
return e.states.length === 0 ? {
|
|
131
155
|
text: "Not armed",
|
|
132
156
|
tone: "unknown"
|
|
@@ -147,11 +171,11 @@ function w(e) {
|
|
|
147
171
|
tone: "unknown"
|
|
148
172
|
};
|
|
149
173
|
}
|
|
150
|
-
var
|
|
151
|
-
function
|
|
152
|
-
return e.width * e.height >
|
|
174
|
+
var D = .4;
|
|
175
|
+
function O(e) {
|
|
176
|
+
return e.width * e.height > D;
|
|
153
177
|
}
|
|
154
|
-
function
|
|
178
|
+
function k(e) {
|
|
155
179
|
let t = Math.floor(e / 1e3);
|
|
156
180
|
if (t < 60) return `${t}s`;
|
|
157
181
|
let n = Math.floor(t / 60);
|
|
@@ -160,28 +184,4 @@ function D(e) {
|
|
|
160
184
|
return r < 48 ? `${r}h` : `${Math.floor(r / 24)}d`;
|
|
161
185
|
}
|
|
162
186
|
//#endregion
|
|
163
|
-
|
|
164
|
-
var O = "/addon/snapshot/media";
|
|
165
|
-
function k(r, i = {}) {
|
|
166
|
-
let { width: a, baseUrl: o } = i, [s, c] = t(0);
|
|
167
|
-
return {
|
|
168
|
-
src: n(() => {
|
|
169
|
-
if (r === null || r <= 0) return null;
|
|
170
|
-
let e = o === void 0 ? m() : o.replace(/\/+$/, ""), t = new URLSearchParams();
|
|
171
|
-
a !== void 0 && Number.isInteger(a) && a > 0 && t.set("w", String(a)), s > 0 && (t.set("force", "1"), t.set("r", String(s)));
|
|
172
|
-
let n = t.toString();
|
|
173
|
-
return `${e}${O}/${String(r)}.jpg${n.length > 0 ? `?${n}` : ""}`;
|
|
174
|
-
}, [
|
|
175
|
-
r,
|
|
176
|
-
a,
|
|
177
|
-
o,
|
|
178
|
-
s
|
|
179
|
-
]),
|
|
180
|
-
loading: !1,
|
|
181
|
-
refresh: e(() => {
|
|
182
|
-
c((e) => e + 1);
|
|
183
|
-
}, [])
|
|
184
|
-
};
|
|
185
|
-
}
|
|
186
|
-
//#endregion
|
|
187
|
-
export { E as a, g as c, a as d, b as i, s as l, _ as n, C as o, w as r, y as s, k as t, o as u };
|
|
187
|
+
export { T as a, g as c, a as d, O as i, s as l, E as n, x as o, S as r, v as s, y as t, o as u };
|
|
@@ -2753,7 +2753,7 @@ async function rr(e) {
|
|
|
2753
2753
|
}
|
|
2754
2754
|
}
|
|
2755
2755
|
async function ir() {
|
|
2756
|
-
return tr ||= rr(() => import("./_virtual_mf-localSharedImportMap___mfe_internal__addon_osd_manager_page-
|
|
2756
|
+
return tr ||= rr(() => import("./_virtual_mf-localSharedImportMap___mfe_internal__addon_osd_manager_page-CZoX6N2L.mjs")).catch((e) => {
|
|
2757
2757
|
throw tr = void 0, e;
|
|
2758
2758
|
}), tr;
|
|
2759
2759
|
}
|