@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 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"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/addon-provider-reolink",
3
- "version": "1.2.115",
3
+ "version": "1.2.117",
4
4
  "description": "Reolink camera device provider addon for CamStack — native Baichuan protocol",
5
5
  "keywords": [
6
6
  "camstack",