@camstack/addon-provider-wyze 0.2.25 → 0.2.27
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 +60 -54
- package/dist/addon.mjs +60 -54
- package/package.json +1 -1
package/dist/addon.js
CHANGED
|
@@ -13818,128 +13818,103 @@ var COCO_TO_MACRO = {
|
|
|
13818
13818
|
var AUDIO_MACRO_LABELS = [
|
|
13819
13819
|
{
|
|
13820
13820
|
id: "speech",
|
|
13821
|
-
name: "Speech"
|
|
13822
|
-
icon: "🗣️"
|
|
13821
|
+
name: "Speech"
|
|
13823
13822
|
},
|
|
13824
13823
|
{
|
|
13825
13824
|
id: "scream",
|
|
13826
|
-
name: "Scream / Shout"
|
|
13827
|
-
icon: "😱"
|
|
13825
|
+
name: "Scream / Shout"
|
|
13828
13826
|
},
|
|
13829
13827
|
{
|
|
13830
13828
|
id: "crying",
|
|
13831
|
-
name: "Crying / Baby"
|
|
13832
|
-
icon: "😢"
|
|
13829
|
+
name: "Crying / Baby"
|
|
13833
13830
|
},
|
|
13834
13831
|
{
|
|
13835
13832
|
id: "laughter",
|
|
13836
|
-
name: "Laughter"
|
|
13837
|
-
icon: "😂"
|
|
13833
|
+
name: "Laughter"
|
|
13838
13834
|
},
|
|
13839
13835
|
{
|
|
13840
13836
|
id: "music",
|
|
13841
|
-
name: "Music"
|
|
13842
|
-
icon: "🎵"
|
|
13837
|
+
name: "Music"
|
|
13843
13838
|
},
|
|
13844
13839
|
{
|
|
13845
13840
|
id: "dog",
|
|
13846
|
-
name: "Dog"
|
|
13847
|
-
icon: "🐕"
|
|
13841
|
+
name: "Dog"
|
|
13848
13842
|
},
|
|
13849
13843
|
{
|
|
13850
13844
|
id: "cat",
|
|
13851
|
-
name: "Cat"
|
|
13852
|
-
icon: "🐈"
|
|
13845
|
+
name: "Cat"
|
|
13853
13846
|
},
|
|
13854
13847
|
{
|
|
13855
13848
|
id: "bird",
|
|
13856
|
-
name: "Bird"
|
|
13857
|
-
icon: "🐦"
|
|
13849
|
+
name: "Bird"
|
|
13858
13850
|
},
|
|
13859
13851
|
{
|
|
13860
13852
|
id: "animal",
|
|
13861
|
-
name: "Animal (other)"
|
|
13862
|
-
icon: "🐾"
|
|
13853
|
+
name: "Animal (other)"
|
|
13863
13854
|
},
|
|
13864
13855
|
{
|
|
13865
13856
|
id: "alarm",
|
|
13866
|
-
name: "Alarm / Siren"
|
|
13867
|
-
icon: "🚨"
|
|
13857
|
+
name: "Alarm / Siren"
|
|
13868
13858
|
},
|
|
13869
13859
|
{
|
|
13870
13860
|
id: "doorbell",
|
|
13871
|
-
name: "Doorbell / Knock"
|
|
13872
|
-
icon: "🔔"
|
|
13861
|
+
name: "Doorbell / Knock"
|
|
13873
13862
|
},
|
|
13874
13863
|
{
|
|
13875
13864
|
id: "glass_breaking",
|
|
13876
|
-
name: "Glass Breaking"
|
|
13877
|
-
icon: "💥"
|
|
13865
|
+
name: "Glass Breaking"
|
|
13878
13866
|
},
|
|
13879
13867
|
{
|
|
13880
13868
|
id: "gunshot",
|
|
13881
|
-
name: "Gunshot / Explosion"
|
|
13882
|
-
icon: "💣"
|
|
13869
|
+
name: "Gunshot / Explosion"
|
|
13883
13870
|
},
|
|
13884
13871
|
{
|
|
13885
13872
|
id: "vehicle",
|
|
13886
|
-
name: "Vehicle"
|
|
13887
|
-
icon: "🚗"
|
|
13873
|
+
name: "Vehicle"
|
|
13888
13874
|
},
|
|
13889
13875
|
{
|
|
13890
13876
|
id: "siren",
|
|
13891
|
-
name: "Emergency Siren"
|
|
13892
|
-
icon: "🚑"
|
|
13877
|
+
name: "Emergency Siren"
|
|
13893
13878
|
},
|
|
13894
13879
|
{
|
|
13895
13880
|
id: "fire",
|
|
13896
|
-
name: "Fire / Smoke"
|
|
13897
|
-
icon: "🔥"
|
|
13881
|
+
name: "Fire / Smoke"
|
|
13898
13882
|
},
|
|
13899
13883
|
{
|
|
13900
13884
|
id: "water",
|
|
13901
|
-
name: "Water"
|
|
13902
|
-
icon: "💧"
|
|
13885
|
+
name: "Water"
|
|
13903
13886
|
},
|
|
13904
13887
|
{
|
|
13905
13888
|
id: "wind",
|
|
13906
|
-
name: "Wind / Weather"
|
|
13907
|
-
icon: "🌬️"
|
|
13889
|
+
name: "Wind / Weather"
|
|
13908
13890
|
},
|
|
13909
13891
|
{
|
|
13910
13892
|
id: "door",
|
|
13911
|
-
name: "Door"
|
|
13912
|
-
icon: "🚪"
|
|
13893
|
+
name: "Door"
|
|
13913
13894
|
},
|
|
13914
13895
|
{
|
|
13915
13896
|
id: "footsteps",
|
|
13916
|
-
name: "Footsteps"
|
|
13917
|
-
icon: "👣"
|
|
13897
|
+
name: "Footsteps"
|
|
13918
13898
|
},
|
|
13919
13899
|
{
|
|
13920
13900
|
id: "crowd",
|
|
13921
|
-
name: "Crowd / Chatter"
|
|
13922
|
-
icon: "👥"
|
|
13901
|
+
name: "Crowd / Chatter"
|
|
13923
13902
|
},
|
|
13924
13903
|
{
|
|
13925
13904
|
id: "telephone",
|
|
13926
|
-
name: "Telephone"
|
|
13927
|
-
icon: "📞"
|
|
13905
|
+
name: "Telephone"
|
|
13928
13906
|
},
|
|
13929
13907
|
{
|
|
13930
13908
|
id: "engine",
|
|
13931
|
-
name: "Engine / Motor"
|
|
13932
|
-
icon: "⚙️"
|
|
13909
|
+
name: "Engine / Motor"
|
|
13933
13910
|
},
|
|
13934
13911
|
{
|
|
13935
13912
|
id: "tools",
|
|
13936
|
-
name: "Tools / Construction"
|
|
13937
|
-
icon: "🔨"
|
|
13913
|
+
name: "Tools / Construction"
|
|
13938
13914
|
},
|
|
13939
13915
|
{
|
|
13940
13916
|
id: "silence",
|
|
13941
|
-
name: "Silence"
|
|
13942
|
-
icon: "🤫"
|
|
13917
|
+
name: "Silence"
|
|
13943
13918
|
}
|
|
13944
13919
|
];
|
|
13945
13920
|
var YAMNET_TO_MACRO = {
|
|
@@ -18125,6 +18100,12 @@ var DetailResultSchema = object({
|
|
|
18125
18100
|
/** FRAME-space bbox (already mapped back from crop space). */
|
|
18126
18101
|
bbox: NativeCropBboxSchema.optional(),
|
|
18127
18102
|
embedding: string().optional(),
|
|
18103
|
+
/**
|
|
18104
|
+
* L2 magnitude of the RAW pre-normalization embedding. Additive and optional
|
|
18105
|
+
* so an older runner that does not send it degrades to "unmeasurable", which
|
|
18106
|
+
* the consuming gate treats as accept — never as reject.
|
|
18107
|
+
*/
|
|
18108
|
+
embeddingMagnitude: number().optional(),
|
|
18128
18109
|
label: string().optional(),
|
|
18129
18110
|
/**
|
|
18130
18111
|
* The tier `label` occupies, copied VERBATIM from the producing step's
|
|
@@ -26413,9 +26394,21 @@ var RecordingLocationUsageSchema = object({
|
|
|
26413
26394
|
* previously rendered as two identical "disks" with a nonsensical used
|
|
26414
26395
|
* split — hydrate attribution across aliases is arbitrary by nature. */
|
|
26415
26396
|
locationIds: array(string()).optional(),
|
|
26416
|
-
/**
|
|
26397
|
+
/**
|
|
26398
|
+
* Filesystem root of the physical volume this row accounts — the only
|
|
26399
|
+
* operator-legible identity when a location has no `displayName` yet, and
|
|
26400
|
+
* what a "which disk is full" alert has to name. OPTIONAL for the same
|
|
26401
|
+
* train-skew reason as `oldestMs`: a recorder that predates the field omits
|
|
26402
|
+
* it, and this schema must keep validating that older provider's payload.
|
|
26403
|
+
*/
|
|
26404
|
+
root: string().optional(),
|
|
26405
|
+
/** Bytes of recordings stored on this PHYSICAL volume (all aliases). This is
|
|
26406
|
+
* the footage's SHARE of the volume, not how full the volume is — the disk
|
|
26407
|
+
* also holds everything that is not recordings. Volume fill is
|
|
26408
|
+
* `(totalBytes - availableBytes) / totalBytes`. */
|
|
26417
26409
|
usedBytes: number(),
|
|
26418
|
-
/** Free bytes on the location's volume; null when capacity is unknown
|
|
26410
|
+
/** Free bytes on the location's volume; null when capacity is unknown
|
|
26411
|
+
* (remote/unstattable — the recorder logs the statfs failure with the root). */
|
|
26419
26412
|
availableBytes: number().nullable(),
|
|
26420
26413
|
/** Total bytes of the location's volume; null when unknown. */
|
|
26421
26414
|
totalBytes: number().nullable()
|
|
@@ -26427,7 +26420,15 @@ var RecordingStorageUsageSchema = object({
|
|
|
26427
26420
|
nodeId: string(),
|
|
26428
26421
|
totalUsedBytes: number(),
|
|
26429
26422
|
devices: array(RecordingDeviceUsageSchema),
|
|
26430
|
-
|
|
26423
|
+
/**
|
|
26424
|
+
* Per-physical-volume capacity. OPTIONAL, and consumers must render the rest
|
|
26425
|
+
* of the payload without it: the hub serves this method through a BAKED
|
|
26426
|
+
* router, so a hub whose framework train predates a change to this array
|
|
26427
|
+
* strips it out of an answer a newer recorder happily produced. A UI that
|
|
26428
|
+
* dereferences it unconditionally crashes the whole Storage page over a
|
|
26429
|
+
* missing disk bar.
|
|
26430
|
+
*/
|
|
26431
|
+
locations: array(RecordingLocationUsageSchema).optional()
|
|
26431
26432
|
});
|
|
26432
26433
|
/**
|
|
26433
26434
|
* The OPERATOR-ARMED half of multi-location recordings (D116).
|
|
@@ -37212,8 +37213,13 @@ Object.freeze({
|
|
|
37212
37213
|
"network-access": "ingress",
|
|
37213
37214
|
"smtp-provider": "email"
|
|
37214
37215
|
});
|
|
37215
|
-
|
|
37216
|
+
/** Schema defaults — an untouched sub-field must author exactly these. */
|
|
37217
|
+
var NC_AUDIO_DEFAULTS = {
|
|
37218
|
+
hitPercent: 60,
|
|
37219
|
+
samplingSeconds: 10
|
|
37220
|
+
};
|
|
37216
37221
|
new Set(["devices", "classes"]);
|
|
37222
|
+
NC_AUDIO_DEFAULTS.hitPercent, NC_AUDIO_DEFAULTS.samplingSeconds;
|
|
37217
37223
|
/**
|
|
37218
37224
|
* TimelapseRule — the STANDALONE scheduled timelapse producer's rule model.
|
|
37219
37225
|
*
|
package/dist/addon.mjs
CHANGED
|
@@ -13797,128 +13797,103 @@ var COCO_TO_MACRO = {
|
|
|
13797
13797
|
var AUDIO_MACRO_LABELS = [
|
|
13798
13798
|
{
|
|
13799
13799
|
id: "speech",
|
|
13800
|
-
name: "Speech"
|
|
13801
|
-
icon: "🗣️"
|
|
13800
|
+
name: "Speech"
|
|
13802
13801
|
},
|
|
13803
13802
|
{
|
|
13804
13803
|
id: "scream",
|
|
13805
|
-
name: "Scream / Shout"
|
|
13806
|
-
icon: "😱"
|
|
13804
|
+
name: "Scream / Shout"
|
|
13807
13805
|
},
|
|
13808
13806
|
{
|
|
13809
13807
|
id: "crying",
|
|
13810
|
-
name: "Crying / Baby"
|
|
13811
|
-
icon: "😢"
|
|
13808
|
+
name: "Crying / Baby"
|
|
13812
13809
|
},
|
|
13813
13810
|
{
|
|
13814
13811
|
id: "laughter",
|
|
13815
|
-
name: "Laughter"
|
|
13816
|
-
icon: "😂"
|
|
13812
|
+
name: "Laughter"
|
|
13817
13813
|
},
|
|
13818
13814
|
{
|
|
13819
13815
|
id: "music",
|
|
13820
|
-
name: "Music"
|
|
13821
|
-
icon: "🎵"
|
|
13816
|
+
name: "Music"
|
|
13822
13817
|
},
|
|
13823
13818
|
{
|
|
13824
13819
|
id: "dog",
|
|
13825
|
-
name: "Dog"
|
|
13826
|
-
icon: "🐕"
|
|
13820
|
+
name: "Dog"
|
|
13827
13821
|
},
|
|
13828
13822
|
{
|
|
13829
13823
|
id: "cat",
|
|
13830
|
-
name: "Cat"
|
|
13831
|
-
icon: "🐈"
|
|
13824
|
+
name: "Cat"
|
|
13832
13825
|
},
|
|
13833
13826
|
{
|
|
13834
13827
|
id: "bird",
|
|
13835
|
-
name: "Bird"
|
|
13836
|
-
icon: "🐦"
|
|
13828
|
+
name: "Bird"
|
|
13837
13829
|
},
|
|
13838
13830
|
{
|
|
13839
13831
|
id: "animal",
|
|
13840
|
-
name: "Animal (other)"
|
|
13841
|
-
icon: "🐾"
|
|
13832
|
+
name: "Animal (other)"
|
|
13842
13833
|
},
|
|
13843
13834
|
{
|
|
13844
13835
|
id: "alarm",
|
|
13845
|
-
name: "Alarm / Siren"
|
|
13846
|
-
icon: "🚨"
|
|
13836
|
+
name: "Alarm / Siren"
|
|
13847
13837
|
},
|
|
13848
13838
|
{
|
|
13849
13839
|
id: "doorbell",
|
|
13850
|
-
name: "Doorbell / Knock"
|
|
13851
|
-
icon: "🔔"
|
|
13840
|
+
name: "Doorbell / Knock"
|
|
13852
13841
|
},
|
|
13853
13842
|
{
|
|
13854
13843
|
id: "glass_breaking",
|
|
13855
|
-
name: "Glass Breaking"
|
|
13856
|
-
icon: "💥"
|
|
13844
|
+
name: "Glass Breaking"
|
|
13857
13845
|
},
|
|
13858
13846
|
{
|
|
13859
13847
|
id: "gunshot",
|
|
13860
|
-
name: "Gunshot / Explosion"
|
|
13861
|
-
icon: "💣"
|
|
13848
|
+
name: "Gunshot / Explosion"
|
|
13862
13849
|
},
|
|
13863
13850
|
{
|
|
13864
13851
|
id: "vehicle",
|
|
13865
|
-
name: "Vehicle"
|
|
13866
|
-
icon: "🚗"
|
|
13852
|
+
name: "Vehicle"
|
|
13867
13853
|
},
|
|
13868
13854
|
{
|
|
13869
13855
|
id: "siren",
|
|
13870
|
-
name: "Emergency Siren"
|
|
13871
|
-
icon: "🚑"
|
|
13856
|
+
name: "Emergency Siren"
|
|
13872
13857
|
},
|
|
13873
13858
|
{
|
|
13874
13859
|
id: "fire",
|
|
13875
|
-
name: "Fire / Smoke"
|
|
13876
|
-
icon: "🔥"
|
|
13860
|
+
name: "Fire / Smoke"
|
|
13877
13861
|
},
|
|
13878
13862
|
{
|
|
13879
13863
|
id: "water",
|
|
13880
|
-
name: "Water"
|
|
13881
|
-
icon: "💧"
|
|
13864
|
+
name: "Water"
|
|
13882
13865
|
},
|
|
13883
13866
|
{
|
|
13884
13867
|
id: "wind",
|
|
13885
|
-
name: "Wind / Weather"
|
|
13886
|
-
icon: "🌬️"
|
|
13868
|
+
name: "Wind / Weather"
|
|
13887
13869
|
},
|
|
13888
13870
|
{
|
|
13889
13871
|
id: "door",
|
|
13890
|
-
name: "Door"
|
|
13891
|
-
icon: "🚪"
|
|
13872
|
+
name: "Door"
|
|
13892
13873
|
},
|
|
13893
13874
|
{
|
|
13894
13875
|
id: "footsteps",
|
|
13895
|
-
name: "Footsteps"
|
|
13896
|
-
icon: "👣"
|
|
13876
|
+
name: "Footsteps"
|
|
13897
13877
|
},
|
|
13898
13878
|
{
|
|
13899
13879
|
id: "crowd",
|
|
13900
|
-
name: "Crowd / Chatter"
|
|
13901
|
-
icon: "👥"
|
|
13880
|
+
name: "Crowd / Chatter"
|
|
13902
13881
|
},
|
|
13903
13882
|
{
|
|
13904
13883
|
id: "telephone",
|
|
13905
|
-
name: "Telephone"
|
|
13906
|
-
icon: "📞"
|
|
13884
|
+
name: "Telephone"
|
|
13907
13885
|
},
|
|
13908
13886
|
{
|
|
13909
13887
|
id: "engine",
|
|
13910
|
-
name: "Engine / Motor"
|
|
13911
|
-
icon: "⚙️"
|
|
13888
|
+
name: "Engine / Motor"
|
|
13912
13889
|
},
|
|
13913
13890
|
{
|
|
13914
13891
|
id: "tools",
|
|
13915
|
-
name: "Tools / Construction"
|
|
13916
|
-
icon: "🔨"
|
|
13892
|
+
name: "Tools / Construction"
|
|
13917
13893
|
},
|
|
13918
13894
|
{
|
|
13919
13895
|
id: "silence",
|
|
13920
|
-
name: "Silence"
|
|
13921
|
-
icon: "🤫"
|
|
13896
|
+
name: "Silence"
|
|
13922
13897
|
}
|
|
13923
13898
|
];
|
|
13924
13899
|
var YAMNET_TO_MACRO = {
|
|
@@ -18104,6 +18079,12 @@ var DetailResultSchema = object({
|
|
|
18104
18079
|
/** FRAME-space bbox (already mapped back from crop space). */
|
|
18105
18080
|
bbox: NativeCropBboxSchema.optional(),
|
|
18106
18081
|
embedding: string().optional(),
|
|
18082
|
+
/**
|
|
18083
|
+
* L2 magnitude of the RAW pre-normalization embedding. Additive and optional
|
|
18084
|
+
* so an older runner that does not send it degrades to "unmeasurable", which
|
|
18085
|
+
* the consuming gate treats as accept — never as reject.
|
|
18086
|
+
*/
|
|
18087
|
+
embeddingMagnitude: number().optional(),
|
|
18107
18088
|
label: string().optional(),
|
|
18108
18089
|
/**
|
|
18109
18090
|
* The tier `label` occupies, copied VERBATIM from the producing step's
|
|
@@ -26392,9 +26373,21 @@ var RecordingLocationUsageSchema = object({
|
|
|
26392
26373
|
* previously rendered as two identical "disks" with a nonsensical used
|
|
26393
26374
|
* split — hydrate attribution across aliases is arbitrary by nature. */
|
|
26394
26375
|
locationIds: array(string()).optional(),
|
|
26395
|
-
/**
|
|
26376
|
+
/**
|
|
26377
|
+
* Filesystem root of the physical volume this row accounts — the only
|
|
26378
|
+
* operator-legible identity when a location has no `displayName` yet, and
|
|
26379
|
+
* what a "which disk is full" alert has to name. OPTIONAL for the same
|
|
26380
|
+
* train-skew reason as `oldestMs`: a recorder that predates the field omits
|
|
26381
|
+
* it, and this schema must keep validating that older provider's payload.
|
|
26382
|
+
*/
|
|
26383
|
+
root: string().optional(),
|
|
26384
|
+
/** Bytes of recordings stored on this PHYSICAL volume (all aliases). This is
|
|
26385
|
+
* the footage's SHARE of the volume, not how full the volume is — the disk
|
|
26386
|
+
* also holds everything that is not recordings. Volume fill is
|
|
26387
|
+
* `(totalBytes - availableBytes) / totalBytes`. */
|
|
26396
26388
|
usedBytes: number(),
|
|
26397
|
-
/** Free bytes on the location's volume; null when capacity is unknown
|
|
26389
|
+
/** Free bytes on the location's volume; null when capacity is unknown
|
|
26390
|
+
* (remote/unstattable — the recorder logs the statfs failure with the root). */
|
|
26398
26391
|
availableBytes: number().nullable(),
|
|
26399
26392
|
/** Total bytes of the location's volume; null when unknown. */
|
|
26400
26393
|
totalBytes: number().nullable()
|
|
@@ -26406,7 +26399,15 @@ var RecordingStorageUsageSchema = object({
|
|
|
26406
26399
|
nodeId: string(),
|
|
26407
26400
|
totalUsedBytes: number(),
|
|
26408
26401
|
devices: array(RecordingDeviceUsageSchema),
|
|
26409
|
-
|
|
26402
|
+
/**
|
|
26403
|
+
* Per-physical-volume capacity. OPTIONAL, and consumers must render the rest
|
|
26404
|
+
* of the payload without it: the hub serves this method through a BAKED
|
|
26405
|
+
* router, so a hub whose framework train predates a change to this array
|
|
26406
|
+
* strips it out of an answer a newer recorder happily produced. A UI that
|
|
26407
|
+
* dereferences it unconditionally crashes the whole Storage page over a
|
|
26408
|
+
* missing disk bar.
|
|
26409
|
+
*/
|
|
26410
|
+
locations: array(RecordingLocationUsageSchema).optional()
|
|
26410
26411
|
});
|
|
26411
26412
|
/**
|
|
26412
26413
|
* The OPERATOR-ARMED half of multi-location recordings (D116).
|
|
@@ -37191,8 +37192,13 @@ Object.freeze({
|
|
|
37191
37192
|
"network-access": "ingress",
|
|
37192
37193
|
"smtp-provider": "email"
|
|
37193
37194
|
});
|
|
37194
|
-
|
|
37195
|
+
/** Schema defaults — an untouched sub-field must author exactly these. */
|
|
37196
|
+
var NC_AUDIO_DEFAULTS = {
|
|
37197
|
+
hitPercent: 60,
|
|
37198
|
+
samplingSeconds: 10
|
|
37199
|
+
};
|
|
37195
37200
|
new Set(["devices", "classes"]);
|
|
37201
|
+
NC_AUDIO_DEFAULTS.hitPercent, NC_AUDIO_DEFAULTS.samplingSeconds;
|
|
37196
37202
|
/**
|
|
37197
37203
|
* TimelapseRule — the STANDALONE scheduled timelapse producer's rule model.
|
|
37198
37204
|
*
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@camstack/addon-provider-wyze",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.27",
|
|
4
4
|
"description": "Wyze camera device-provider addon for CamStack — wraps the @apocaliss92/wyze-bridge-js P2P/DTLS client, feeding the stream-broker via the pull-rfc4571 lazy-publish path (a structural twin of addon-provider-reolink)",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"camstack",
|