@camstack/addon-provider-unifi 0.2.92 → 0.2.93
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 +41 -4
- package/dist/addon.mjs +41 -4
- package/package.json +1 -1
package/dist/addon.js
CHANGED
|
@@ -19915,7 +19915,17 @@ var EventDensityBucketSchema = object({
|
|
|
19915
19915
|
bucketStart: number(),
|
|
19916
19916
|
motion: number().int(),
|
|
19917
19917
|
object: number().int(),
|
|
19918
|
-
audio: number().int()
|
|
19918
|
+
audio: number().int(),
|
|
19919
|
+
/**
|
|
19920
|
+
* Energy-weighted mean dBFS of the audio events in this bucket — the LEVEL,
|
|
19921
|
+
* as opposed to `audio`, which is their COUNT (D431).
|
|
19922
|
+
*
|
|
19923
|
+
* ABSENT when the bucket holds no audio event. Absence means "nothing was
|
|
19924
|
+
* measured", which is not the same claim as silence, and a lane that cannot
|
|
19925
|
+
* tell them apart paints a quiet hour at full scale — which is exactly what
|
|
19926
|
+
* the count-on-a-level-meter did.
|
|
19927
|
+
*/
|
|
19928
|
+
audioDbfs: number().optional()
|
|
19919
19929
|
});
|
|
19920
19930
|
/**
|
|
19921
19931
|
* One camera's row in a `getEventDensityBatch` answer.
|
|
@@ -29947,7 +29957,23 @@ var RecordingRangeSchema = object({
|
|
|
29947
29957
|
});
|
|
29948
29958
|
var RecordingAvailabilitySchema = object({
|
|
29949
29959
|
deviceId: number(),
|
|
29950
|
-
ranges: array(RecordingRangeSchema)
|
|
29960
|
+
ranges: array(RecordingRangeSchema),
|
|
29961
|
+
/**
|
|
29962
|
+
* Every profile this camera has footage in — not only the one `ranges`
|
|
29963
|
+
* describes (D433).
|
|
29964
|
+
*
|
|
29965
|
+
* `ranges` answers for ONE profile by design: the timeline is a single bar,
|
|
29966
|
+
* and enumerating all of them triples the directory reads for a bar that
|
|
29967
|
+
* would look identical. But the answer used to say nothing about that, so a
|
|
29968
|
+
* caller asking "what can I export?" read the single preferred profile as
|
|
29969
|
+
* the only one that exists — on this deployment every camera records `high`
|
|
29970
|
+
* AND `low`, the low tree holding 14 GB for camera 615 alone, and the export
|
|
29971
|
+
* UI could not see it.
|
|
29972
|
+
*
|
|
29973
|
+
* Cheap: it is the same shallow directory read the profile CHOICE already
|
|
29974
|
+
* makes. Ask for a specific profile's ranges with the `profile` input.
|
|
29975
|
+
*/
|
|
29976
|
+
profilesWithFootage: array(string())
|
|
29951
29977
|
});
|
|
29952
29978
|
var RecordingDaysSchema = object({
|
|
29953
29979
|
deviceId: number(),
|
|
@@ -29973,7 +29999,11 @@ var RecordingDaysSchema = object({
|
|
|
29973
29999
|
var RecordingAvailabilityForDeviceSchema = object({
|
|
29974
30000
|
deviceId: number(),
|
|
29975
30001
|
read: _enum(["read", "unreadable"]),
|
|
29976
|
-
ranges: array(RecordingRangeSchema).readonly()
|
|
30002
|
+
ranges: array(RecordingRangeSchema).readonly(),
|
|
30003
|
+
/** Same field, same meaning, as the singular answer (D433). A row that
|
|
30004
|
+
* dropped it would tell a grid caller the archive holds one profile.
|
|
30005
|
+
* Empty on an `'unreadable'` row: nobody looked. */
|
|
30006
|
+
profilesWithFootage: array(string()).readonly()
|
|
29977
30007
|
});
|
|
29978
30008
|
/**
|
|
29979
30009
|
* One camera's row in a `getDaysWithRecordingsBatch` answer. Same rule as
|
|
@@ -30263,7 +30293,14 @@ var ReadWindowBytesResultSchema = discriminatedUnion("kind", [object({
|
|
|
30263
30293
|
method(object({
|
|
30264
30294
|
deviceId: number(),
|
|
30265
30295
|
fromMs: number(),
|
|
30266
|
-
toMs: number()
|
|
30296
|
+
toMs: number(),
|
|
30297
|
+
/**
|
|
30298
|
+
* Answer for THIS profile instead of the preferred one (D433). Absent
|
|
30299
|
+
* keeps the timeline's behaviour — one bar, one profile, one set of
|
|
30300
|
+
* reads. `profilesWithFootage` on the answer says what may be asked
|
|
30301
|
+
* for.
|
|
30302
|
+
*/
|
|
30303
|
+
profile: string().optional()
|
|
30267
30304
|
}), RecordingAvailabilitySchema, {
|
|
30268
30305
|
kind: "query",
|
|
30269
30306
|
auth: "protected"
|
package/dist/addon.mjs
CHANGED
|
@@ -19914,7 +19914,17 @@ var EventDensityBucketSchema = object({
|
|
|
19914
19914
|
bucketStart: number(),
|
|
19915
19915
|
motion: number().int(),
|
|
19916
19916
|
object: number().int(),
|
|
19917
|
-
audio: number().int()
|
|
19917
|
+
audio: number().int(),
|
|
19918
|
+
/**
|
|
19919
|
+
* Energy-weighted mean dBFS of the audio events in this bucket — the LEVEL,
|
|
19920
|
+
* as opposed to `audio`, which is their COUNT (D431).
|
|
19921
|
+
*
|
|
19922
|
+
* ABSENT when the bucket holds no audio event. Absence means "nothing was
|
|
19923
|
+
* measured", which is not the same claim as silence, and a lane that cannot
|
|
19924
|
+
* tell them apart paints a quiet hour at full scale — which is exactly what
|
|
19925
|
+
* the count-on-a-level-meter did.
|
|
19926
|
+
*/
|
|
19927
|
+
audioDbfs: number().optional()
|
|
19918
19928
|
});
|
|
19919
19929
|
/**
|
|
19920
19930
|
* One camera's row in a `getEventDensityBatch` answer.
|
|
@@ -29946,7 +29956,23 @@ var RecordingRangeSchema = object({
|
|
|
29946
29956
|
});
|
|
29947
29957
|
var RecordingAvailabilitySchema = object({
|
|
29948
29958
|
deviceId: number(),
|
|
29949
|
-
ranges: array(RecordingRangeSchema)
|
|
29959
|
+
ranges: array(RecordingRangeSchema),
|
|
29960
|
+
/**
|
|
29961
|
+
* Every profile this camera has footage in — not only the one `ranges`
|
|
29962
|
+
* describes (D433).
|
|
29963
|
+
*
|
|
29964
|
+
* `ranges` answers for ONE profile by design: the timeline is a single bar,
|
|
29965
|
+
* and enumerating all of them triples the directory reads for a bar that
|
|
29966
|
+
* would look identical. But the answer used to say nothing about that, so a
|
|
29967
|
+
* caller asking "what can I export?" read the single preferred profile as
|
|
29968
|
+
* the only one that exists — on this deployment every camera records `high`
|
|
29969
|
+
* AND `low`, the low tree holding 14 GB for camera 615 alone, and the export
|
|
29970
|
+
* UI could not see it.
|
|
29971
|
+
*
|
|
29972
|
+
* Cheap: it is the same shallow directory read the profile CHOICE already
|
|
29973
|
+
* makes. Ask for a specific profile's ranges with the `profile` input.
|
|
29974
|
+
*/
|
|
29975
|
+
profilesWithFootage: array(string())
|
|
29950
29976
|
});
|
|
29951
29977
|
var RecordingDaysSchema = object({
|
|
29952
29978
|
deviceId: number(),
|
|
@@ -29972,7 +29998,11 @@ var RecordingDaysSchema = object({
|
|
|
29972
29998
|
var RecordingAvailabilityForDeviceSchema = object({
|
|
29973
29999
|
deviceId: number(),
|
|
29974
30000
|
read: _enum(["read", "unreadable"]),
|
|
29975
|
-
ranges: array(RecordingRangeSchema).readonly()
|
|
30001
|
+
ranges: array(RecordingRangeSchema).readonly(),
|
|
30002
|
+
/** Same field, same meaning, as the singular answer (D433). A row that
|
|
30003
|
+
* dropped it would tell a grid caller the archive holds one profile.
|
|
30004
|
+
* Empty on an `'unreadable'` row: nobody looked. */
|
|
30005
|
+
profilesWithFootage: array(string()).readonly()
|
|
29976
30006
|
});
|
|
29977
30007
|
/**
|
|
29978
30008
|
* One camera's row in a `getDaysWithRecordingsBatch` answer. Same rule as
|
|
@@ -30262,7 +30292,14 @@ var ReadWindowBytesResultSchema = discriminatedUnion("kind", [object({
|
|
|
30262
30292
|
method(object({
|
|
30263
30293
|
deviceId: number(),
|
|
30264
30294
|
fromMs: number(),
|
|
30265
|
-
toMs: number()
|
|
30295
|
+
toMs: number(),
|
|
30296
|
+
/**
|
|
30297
|
+
* Answer for THIS profile instead of the preferred one (D433). Absent
|
|
30298
|
+
* keeps the timeline's behaviour — one bar, one profile, one set of
|
|
30299
|
+
* reads. `profilesWithFootage` on the answer says what may be asked
|
|
30300
|
+
* for.
|
|
30301
|
+
*/
|
|
30302
|
+
profile: string().optional()
|
|
30266
30303
|
}), RecordingAvailabilitySchema, {
|
|
30267
30304
|
kind: "query",
|
|
30268
30305
|
auth: "protected"
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@camstack/addon-provider-unifi",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.93",
|
|
4
4
|
"description": "UniFi Network controller device-provider addon for CamStack — local-controller infra switches/APs (as containers) + network-client presence. NO cameras/Protect.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"camstack",
|