@camstack/addon-provider-reolink 1.2.115 → 1.2.117
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 +96 -5
- package/dist/addon.mjs +96 -5
- package/package.json +1 -1
package/dist/addon.js
CHANGED
|
@@ -17114,6 +17114,7 @@ var NcSystemEventKindSchema = _enum([
|
|
|
17114
17114
|
"addon-crash-loop",
|
|
17115
17115
|
"addon-update-available",
|
|
17116
17116
|
"server-update-available",
|
|
17117
|
+
"wrapper-update-available",
|
|
17117
17118
|
"alarm-triggered",
|
|
17118
17119
|
"alarm-armed",
|
|
17119
17120
|
"alarm-disarmed",
|
|
@@ -20559,7 +20560,17 @@ var EventDensityBucketSchema = object({
|
|
|
20559
20560
|
bucketStart: number(),
|
|
20560
20561
|
motion: number().int(),
|
|
20561
20562
|
object: number().int(),
|
|
20562
|
-
audio: number().int()
|
|
20563
|
+
audio: number().int(),
|
|
20564
|
+
/**
|
|
20565
|
+
* Energy-weighted mean dBFS of the audio events in this bucket — the LEVEL,
|
|
20566
|
+
* as opposed to `audio`, which is their COUNT (D431).
|
|
20567
|
+
*
|
|
20568
|
+
* ABSENT when the bucket holds no audio event. Absence means "nothing was
|
|
20569
|
+
* measured", which is not the same claim as silence, and a lane that cannot
|
|
20570
|
+
* tell them apart paints a quiet hour at full scale — which is exactly what
|
|
20571
|
+
* the count-on-a-level-meter did.
|
|
20572
|
+
*/
|
|
20573
|
+
audioDbfs: number().optional()
|
|
20563
20574
|
});
|
|
20564
20575
|
/**
|
|
20565
20576
|
* One camera's row in a `getEventDensityBatch` answer.
|
|
@@ -22660,6 +22671,53 @@ var ImageContractSchema = object({
|
|
|
22660
22671
|
/** One operator-grade sentence: this node runs image X; the contract says Y. */
|
|
22661
22672
|
message: string()
|
|
22662
22673
|
});
|
|
22674
|
+
/**
|
|
22675
|
+
* The shell verdict (see {@link WrapperKindSchema}) with the proofs that
|
|
22676
|
+
* produced it.
|
|
22677
|
+
*
|
|
22678
|
+
* There is deliberately NO `canSelfUpdate` and no apply action: a wrapper
|
|
22679
|
+
* update is an ANNOUNCEMENT. The notification body carries the exact command
|
|
22680
|
+
* for a `docker` shell and says the app restarts into the new build for
|
|
22681
|
+
* `electron`, and that sentence is chosen from `kind` alone — a boolean
|
|
22682
|
+
* nothing reads is the defect this repo keeps paying for.
|
|
22683
|
+
*/
|
|
22684
|
+
var WrapperIdentitySchema = object({
|
|
22685
|
+
kind: _enum([
|
|
22686
|
+
"docker",
|
|
22687
|
+
"electron",
|
|
22688
|
+
"native",
|
|
22689
|
+
"contradictory",
|
|
22690
|
+
"unknown"
|
|
22691
|
+
]),
|
|
22692
|
+
/** Every probe that ran, in a stable order. Never empty. */
|
|
22693
|
+
evidence: array(object({
|
|
22694
|
+
/** Which probe this row reports. */
|
|
22695
|
+
fact: _enum([
|
|
22696
|
+
"dockerenv-file",
|
|
22697
|
+
"proc-1-cgroup",
|
|
22698
|
+
"platform",
|
|
22699
|
+
"electron-app-version-env"
|
|
22700
|
+
]),
|
|
22701
|
+
/**
|
|
22702
|
+
* `observed` — this process read it itself. `declared` — the shell told the
|
|
22703
|
+
* process and nothing here can check it. Only the Electron app version is
|
|
22704
|
+
* ever `declared`, and only because a child cannot see its parent.
|
|
22705
|
+
*/
|
|
22706
|
+
mode: _enum(["observed", "declared"]),
|
|
22707
|
+
/** Did the probe support the fact it names? A `false` row is still evidence. */
|
|
22708
|
+
holds: boolean(),
|
|
22709
|
+
/** What was actually read, verbatim enough for an operator to argue with. */
|
|
22710
|
+
detail: string()
|
|
22711
|
+
})),
|
|
22712
|
+
/**
|
|
22713
|
+
* The version of the SHELL, when the shell has one it can state: the
|
|
22714
|
+
* Electron app version it declared, or the baked seed closure that
|
|
22715
|
+
* fingerprints a container / app bundle. `null` for `contradictory` and
|
|
22716
|
+
* `unknown` — which version belongs to the shell is precisely what is not
|
|
22717
|
+
* known there.
|
|
22718
|
+
*/
|
|
22719
|
+
currentVersion: string().nullable()
|
|
22720
|
+
});
|
|
22663
22721
|
var ServerRollbackInfoSchema = object({
|
|
22664
22722
|
/** The version that failed (or was manually rolled back). */
|
|
22665
22723
|
fromVersion: string(),
|
|
@@ -22701,7 +22759,13 @@ var ServerPackageStatusSchema = object({
|
|
|
22701
22759
|
* Seed-vs-contract verdict (see {@link ImageContractSchema}). Optional for
|
|
22702
22760
|
* version skew: an older provider's payload simply omits it.
|
|
22703
22761
|
*/
|
|
22704
|
-
imageContract: ImageContractSchema.optional()
|
|
22762
|
+
imageContract: ImageContractSchema.optional(),
|
|
22763
|
+
/**
|
|
22764
|
+
* What this node runs INSIDE (see {@link WrapperIdentitySchema}). Optional
|
|
22765
|
+
* for version skew: an older provider's payload simply omits it, and an
|
|
22766
|
+
* absent wrapper is unknown — never `native`.
|
|
22767
|
+
*/
|
|
22768
|
+
wrapper: WrapperIdentitySchema.optional()
|
|
22705
22769
|
});
|
|
22706
22770
|
var ServerUpdateCheckResultSchema = object({
|
|
22707
22771
|
packageName: string(),
|
|
@@ -30785,7 +30849,23 @@ var RecordingRangeSchema = object({
|
|
|
30785
30849
|
});
|
|
30786
30850
|
var RecordingAvailabilitySchema = object({
|
|
30787
30851
|
deviceId: number(),
|
|
30788
|
-
ranges: array(RecordingRangeSchema)
|
|
30852
|
+
ranges: array(RecordingRangeSchema),
|
|
30853
|
+
/**
|
|
30854
|
+
* Every profile this camera has footage in — not only the one `ranges`
|
|
30855
|
+
* describes (D433).
|
|
30856
|
+
*
|
|
30857
|
+
* `ranges` answers for ONE profile by design: the timeline is a single bar,
|
|
30858
|
+
* and enumerating all of them triples the directory reads for a bar that
|
|
30859
|
+
* would look identical. But the answer used to say nothing about that, so a
|
|
30860
|
+
* caller asking "what can I export?" read the single preferred profile as
|
|
30861
|
+
* the only one that exists — on this deployment every camera records `high`
|
|
30862
|
+
* AND `low`, the low tree holding 14 GB for camera 615 alone, and the export
|
|
30863
|
+
* UI could not see it.
|
|
30864
|
+
*
|
|
30865
|
+
* Cheap: it is the same shallow directory read the profile CHOICE already
|
|
30866
|
+
* makes. Ask for a specific profile's ranges with the `profile` input.
|
|
30867
|
+
*/
|
|
30868
|
+
profilesWithFootage: array(string())
|
|
30789
30869
|
});
|
|
30790
30870
|
var RecordingDaysSchema = object({
|
|
30791
30871
|
deviceId: number(),
|
|
@@ -30811,7 +30891,11 @@ var RecordingDaysSchema = object({
|
|
|
30811
30891
|
var RecordingAvailabilityForDeviceSchema = object({
|
|
30812
30892
|
deviceId: number(),
|
|
30813
30893
|
read: _enum(["read", "unreadable"]),
|
|
30814
|
-
ranges: array(RecordingRangeSchema).readonly()
|
|
30894
|
+
ranges: array(RecordingRangeSchema).readonly(),
|
|
30895
|
+
/** Same field, same meaning, as the singular answer (D433). A row that
|
|
30896
|
+
* dropped it would tell a grid caller the archive holds one profile.
|
|
30897
|
+
* Empty on an `'unreadable'` row: nobody looked. */
|
|
30898
|
+
profilesWithFootage: array(string()).readonly()
|
|
30815
30899
|
});
|
|
30816
30900
|
/**
|
|
30817
30901
|
* One camera's row in a `getDaysWithRecordingsBatch` answer. Same rule as
|
|
@@ -31101,7 +31185,14 @@ var ReadWindowBytesResultSchema = discriminatedUnion("kind", [object({
|
|
|
31101
31185
|
method(object({
|
|
31102
31186
|
deviceId: number(),
|
|
31103
31187
|
fromMs: number(),
|
|
31104
|
-
toMs: number()
|
|
31188
|
+
toMs: number(),
|
|
31189
|
+
/**
|
|
31190
|
+
* Answer for THIS profile instead of the preferred one (D433). Absent
|
|
31191
|
+
* keeps the timeline's behaviour — one bar, one profile, one set of
|
|
31192
|
+
* reads. `profilesWithFootage` on the answer says what may be asked
|
|
31193
|
+
* for.
|
|
31194
|
+
*/
|
|
31195
|
+
profile: string().optional()
|
|
31105
31196
|
}), RecordingAvailabilitySchema, {
|
|
31106
31197
|
kind: "query",
|
|
31107
31198
|
auth: "protected"
|
package/dist/addon.mjs
CHANGED
|
@@ -17109,6 +17109,7 @@ var NcSystemEventKindSchema = _enum([
|
|
|
17109
17109
|
"addon-crash-loop",
|
|
17110
17110
|
"addon-update-available",
|
|
17111
17111
|
"server-update-available",
|
|
17112
|
+
"wrapper-update-available",
|
|
17112
17113
|
"alarm-triggered",
|
|
17113
17114
|
"alarm-armed",
|
|
17114
17115
|
"alarm-disarmed",
|
|
@@ -20554,7 +20555,17 @@ var EventDensityBucketSchema = object({
|
|
|
20554
20555
|
bucketStart: number(),
|
|
20555
20556
|
motion: number().int(),
|
|
20556
20557
|
object: number().int(),
|
|
20557
|
-
audio: number().int()
|
|
20558
|
+
audio: number().int(),
|
|
20559
|
+
/**
|
|
20560
|
+
* Energy-weighted mean dBFS of the audio events in this bucket — the LEVEL,
|
|
20561
|
+
* as opposed to `audio`, which is their COUNT (D431).
|
|
20562
|
+
*
|
|
20563
|
+
* ABSENT when the bucket holds no audio event. Absence means "nothing was
|
|
20564
|
+
* measured", which is not the same claim as silence, and a lane that cannot
|
|
20565
|
+
* tell them apart paints a quiet hour at full scale — which is exactly what
|
|
20566
|
+
* the count-on-a-level-meter did.
|
|
20567
|
+
*/
|
|
20568
|
+
audioDbfs: number().optional()
|
|
20558
20569
|
});
|
|
20559
20570
|
/**
|
|
20560
20571
|
* One camera's row in a `getEventDensityBatch` answer.
|
|
@@ -22655,6 +22666,53 @@ var ImageContractSchema = object({
|
|
|
22655
22666
|
/** One operator-grade sentence: this node runs image X; the contract says Y. */
|
|
22656
22667
|
message: string()
|
|
22657
22668
|
});
|
|
22669
|
+
/**
|
|
22670
|
+
* The shell verdict (see {@link WrapperKindSchema}) with the proofs that
|
|
22671
|
+
* produced it.
|
|
22672
|
+
*
|
|
22673
|
+
* There is deliberately NO `canSelfUpdate` and no apply action: a wrapper
|
|
22674
|
+
* update is an ANNOUNCEMENT. The notification body carries the exact command
|
|
22675
|
+
* for a `docker` shell and says the app restarts into the new build for
|
|
22676
|
+
* `electron`, and that sentence is chosen from `kind` alone — a boolean
|
|
22677
|
+
* nothing reads is the defect this repo keeps paying for.
|
|
22678
|
+
*/
|
|
22679
|
+
var WrapperIdentitySchema = object({
|
|
22680
|
+
kind: _enum([
|
|
22681
|
+
"docker",
|
|
22682
|
+
"electron",
|
|
22683
|
+
"native",
|
|
22684
|
+
"contradictory",
|
|
22685
|
+
"unknown"
|
|
22686
|
+
]),
|
|
22687
|
+
/** Every probe that ran, in a stable order. Never empty. */
|
|
22688
|
+
evidence: array(object({
|
|
22689
|
+
/** Which probe this row reports. */
|
|
22690
|
+
fact: _enum([
|
|
22691
|
+
"dockerenv-file",
|
|
22692
|
+
"proc-1-cgroup",
|
|
22693
|
+
"platform",
|
|
22694
|
+
"electron-app-version-env"
|
|
22695
|
+
]),
|
|
22696
|
+
/**
|
|
22697
|
+
* `observed` — this process read it itself. `declared` — the shell told the
|
|
22698
|
+
* process and nothing here can check it. Only the Electron app version is
|
|
22699
|
+
* ever `declared`, and only because a child cannot see its parent.
|
|
22700
|
+
*/
|
|
22701
|
+
mode: _enum(["observed", "declared"]),
|
|
22702
|
+
/** Did the probe support the fact it names? A `false` row is still evidence. */
|
|
22703
|
+
holds: boolean(),
|
|
22704
|
+
/** What was actually read, verbatim enough for an operator to argue with. */
|
|
22705
|
+
detail: string()
|
|
22706
|
+
})),
|
|
22707
|
+
/**
|
|
22708
|
+
* The version of the SHELL, when the shell has one it can state: the
|
|
22709
|
+
* Electron app version it declared, or the baked seed closure that
|
|
22710
|
+
* fingerprints a container / app bundle. `null` for `contradictory` and
|
|
22711
|
+
* `unknown` — which version belongs to the shell is precisely what is not
|
|
22712
|
+
* known there.
|
|
22713
|
+
*/
|
|
22714
|
+
currentVersion: string().nullable()
|
|
22715
|
+
});
|
|
22658
22716
|
var ServerRollbackInfoSchema = object({
|
|
22659
22717
|
/** The version that failed (or was manually rolled back). */
|
|
22660
22718
|
fromVersion: string(),
|
|
@@ -22696,7 +22754,13 @@ var ServerPackageStatusSchema = object({
|
|
|
22696
22754
|
* Seed-vs-contract verdict (see {@link ImageContractSchema}). Optional for
|
|
22697
22755
|
* version skew: an older provider's payload simply omits it.
|
|
22698
22756
|
*/
|
|
22699
|
-
imageContract: ImageContractSchema.optional()
|
|
22757
|
+
imageContract: ImageContractSchema.optional(),
|
|
22758
|
+
/**
|
|
22759
|
+
* What this node runs INSIDE (see {@link WrapperIdentitySchema}). Optional
|
|
22760
|
+
* for version skew: an older provider's payload simply omits it, and an
|
|
22761
|
+
* absent wrapper is unknown — never `native`.
|
|
22762
|
+
*/
|
|
22763
|
+
wrapper: WrapperIdentitySchema.optional()
|
|
22700
22764
|
});
|
|
22701
22765
|
var ServerUpdateCheckResultSchema = object({
|
|
22702
22766
|
packageName: string(),
|
|
@@ -30780,7 +30844,23 @@ var RecordingRangeSchema = object({
|
|
|
30780
30844
|
});
|
|
30781
30845
|
var RecordingAvailabilitySchema = object({
|
|
30782
30846
|
deviceId: number(),
|
|
30783
|
-
ranges: array(RecordingRangeSchema)
|
|
30847
|
+
ranges: array(RecordingRangeSchema),
|
|
30848
|
+
/**
|
|
30849
|
+
* Every profile this camera has footage in — not only the one `ranges`
|
|
30850
|
+
* describes (D433).
|
|
30851
|
+
*
|
|
30852
|
+
* `ranges` answers for ONE profile by design: the timeline is a single bar,
|
|
30853
|
+
* and enumerating all of them triples the directory reads for a bar that
|
|
30854
|
+
* would look identical. But the answer used to say nothing about that, so a
|
|
30855
|
+
* caller asking "what can I export?" read the single preferred profile as
|
|
30856
|
+
* the only one that exists — on this deployment every camera records `high`
|
|
30857
|
+
* AND `low`, the low tree holding 14 GB for camera 615 alone, and the export
|
|
30858
|
+
* UI could not see it.
|
|
30859
|
+
*
|
|
30860
|
+
* Cheap: it is the same shallow directory read the profile CHOICE already
|
|
30861
|
+
* makes. Ask for a specific profile's ranges with the `profile` input.
|
|
30862
|
+
*/
|
|
30863
|
+
profilesWithFootage: array(string())
|
|
30784
30864
|
});
|
|
30785
30865
|
var RecordingDaysSchema = object({
|
|
30786
30866
|
deviceId: number(),
|
|
@@ -30806,7 +30886,11 @@ var RecordingDaysSchema = object({
|
|
|
30806
30886
|
var RecordingAvailabilityForDeviceSchema = object({
|
|
30807
30887
|
deviceId: number(),
|
|
30808
30888
|
read: _enum(["read", "unreadable"]),
|
|
30809
|
-
ranges: array(RecordingRangeSchema).readonly()
|
|
30889
|
+
ranges: array(RecordingRangeSchema).readonly(),
|
|
30890
|
+
/** Same field, same meaning, as the singular answer (D433). A row that
|
|
30891
|
+
* dropped it would tell a grid caller the archive holds one profile.
|
|
30892
|
+
* Empty on an `'unreadable'` row: nobody looked. */
|
|
30893
|
+
profilesWithFootage: array(string()).readonly()
|
|
30810
30894
|
});
|
|
30811
30895
|
/**
|
|
30812
30896
|
* One camera's row in a `getDaysWithRecordingsBatch` answer. Same rule as
|
|
@@ -31096,7 +31180,14 @@ var ReadWindowBytesResultSchema = discriminatedUnion("kind", [object({
|
|
|
31096
31180
|
method(object({
|
|
31097
31181
|
deviceId: number(),
|
|
31098
31182
|
fromMs: number(),
|
|
31099
|
-
toMs: number()
|
|
31183
|
+
toMs: number(),
|
|
31184
|
+
/**
|
|
31185
|
+
* Answer for THIS profile instead of the preferred one (D433). Absent
|
|
31186
|
+
* keeps the timeline's behaviour — one bar, one profile, one set of
|
|
31187
|
+
* reads. `profilesWithFootage` on the answer says what may be asked
|
|
31188
|
+
* for.
|
|
31189
|
+
*/
|
|
31190
|
+
profile: string().optional()
|
|
31100
31191
|
}), RecordingAvailabilitySchema, {
|
|
31101
31192
|
kind: "query",
|
|
31102
31193
|
auth: "protected"
|