@camstack/addon-remote-storage 1.2.68 → 1.2.69

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/s3.addon.js CHANGED
@@ -2,7 +2,7 @@ Object.defineProperties(exports, {
2
2
  __esModule: { value: true },
3
3
  [Symbol.toStringTag]: { value: "Module" }
4
4
  });
5
- const require_shared = require("./shared-DyZPICRX.js");
5
+ const require_shared = require("./shared-wJVLo41v.js");
6
6
  let node_stream = require("node:stream");
7
7
  let _aws_sdk_client_s3 = require("@aws-sdk/client-s3");
8
8
  let _aws_sdk_lib_storage = require("@aws-sdk/lib-storage");
package/dist/s3.addon.mjs CHANGED
@@ -1,4 +1,4 @@
1
- import { c as BaseAddon, i as rearmIdleAbort, n as getOptionalBasePath, o as scheduleIdleAbort, s as storageProviderCapability, t as createSessionId } from "./shared-2Joc7r-U.mjs";
1
+ import { c as BaseAddon, i as rearmIdleAbort, n as getOptionalBasePath, o as scheduleIdleAbort, s as storageProviderCapability, t as createSessionId } from "./shared-C1oHNHV8.mjs";
2
2
  import { PassThrough } from "node:stream";
3
3
  import { DeleteObjectCommand, GetObjectCommand, HeadBucketCommand, HeadObjectCommand, ListObjectsV2Command, PutObjectCommand, S3Client } from "@aws-sdk/client-s3";
4
4
  import { Upload } from "@aws-sdk/lib-storage";
@@ -2,7 +2,7 @@ Object.defineProperties(exports, {
2
2
  __esModule: { value: true },
3
3
  [Symbol.toStringTag]: { value: "Module" }
4
4
  });
5
- const require_shared = require("./shared-DyZPICRX.js");
5
+ const require_shared = require("./shared-wJVLo41v.js");
6
6
  let ssh2 = require("ssh2");
7
7
  let node_path = require("node:path");
8
8
  node_path = require_shared.__toESM(node_path);
@@ -1,4 +1,4 @@
1
- import { a as safeJoinRemotePath, c as BaseAddon, i as rearmIdleAbort, o as scheduleIdleAbort, r as getRequiredBasePath, s as storageProviderCapability, t as createSessionId } from "./shared-2Joc7r-U.mjs";
1
+ import { a as safeJoinRemotePath, c as BaseAddon, i as rearmIdleAbort, o as scheduleIdleAbort, r as getRequiredBasePath, s as storageProviderCapability, t as createSessionId } from "./shared-C1oHNHV8.mjs";
2
2
  import { Client } from "ssh2";
3
3
  import * as path from "node:path";
4
4
  //#region src/providers/sftp/sftp-config-schema.ts
@@ -1,6 +1,6 @@
1
1
  import { randomUUID } from "node:crypto";
2
2
  import * as path from "node:path";
3
- //#region ../types/dist/event-category-BZL-fdNj.mjs
3
+ //#region ../types/dist/event-category-zAv7pMUz.mjs
4
4
  var EventCategory = /* @__PURE__ */ function(EventCategory) {
5
5
  EventCategory["SystemBoot"] = "system.boot";
6
6
  EventCategory["SystemAddonsReady"] = "system.addons-ready";
@@ -372,6 +372,13 @@ var EventCategory = /* @__PURE__ */ function(EventCategory) {
372
372
  */
373
373
  EventCategory["BatteryOnStatusChanged"] = "battery.onStatusChanged";
374
374
  /**
375
+ * Cap event fired by every device that registers the `network-link`
376
+ * capability. Mirrors the cap definition's `onStatusChanged`. Carries
377
+ * `{ deviceId, status: NetworkLinkStatus }` — a link switch or a signal
378
+ * reading that moved.
379
+ */
380
+ EventCategory["NetworkLinkOnStatusChanged"] = "network-link.onStatusChanged";
381
+ /**
375
382
  * Emitted by the battery cap provider WHEN `wakeForStream` enters the
376
383
  * "wake in progress" window — between the Baichuan wake-up issue and
377
384
  * the camera's first dialed-back RTP packet. The stream-broker
@@ -23226,6 +23233,39 @@ DeviceType.Camera, DeviceType.Sensor, DeviceType.Button, DeviceType.Switch, meth
23226
23233
  deviceId: number(),
23227
23234
  status: BatteryStatusSchema
23228
23235
  });
23236
+ /**
23237
+ * Network-link snapshot. Same shape for every provider (a Reolink wifi
23238
+ * camera, a Home Assistant device with a signal-strength sensor, a Tapo
23239
+ * plug): one slice under `device.runtimeState['network-link']`, one badge,
23240
+ * one Home Assistant projection.
23241
+ */
23242
+ var NetworkLinkStatusSchema = object({
23243
+ /** The link the device is on. `'unknown'` = not read yet, not "no link". */
23244
+ type: _enum([
23245
+ "wifi",
23246
+ "ethernet",
23247
+ "cellular",
23248
+ "unknown"
23249
+ ]),
23250
+ /**
23251
+ * Link quality, 0..100 inclusive, normalised by the provider from whatever
23252
+ * the firmware reports (bars, RSSI, a vendor scale). **`null` means NOT
23253
+ * KNOWN or NOT APPLICABLE** — a wired link has no signal, and a wireless
23254
+ * one whose reading has not landed must not be drawn at 0 %. Consumers
23255
+ * SKIP a null rather than coerce it.
23256
+ */
23257
+ signalPercent: number().min(0).max(100).nullable(),
23258
+ /** Raw received signal strength in dBm, when the firmware reports one. */
23259
+ rssiDbm: number().optional(),
23260
+ /** Network name of a wireless link, when the firmware reports it. */
23261
+ ssid: string().optional(),
23262
+ /** Ms epoch of the last observation. Lets consumers reason about freshness. */
23263
+ lastUpdated: number()
23264
+ });
23265
+ DeviceType.Camera, DeviceType.Sensor, DeviceType.Button, DeviceType.Switch, DeviceType.Light, DeviceType.Lock, DeviceType.Siren, object({
23266
+ deviceId: number(),
23267
+ status: NetworkLinkStatusSchema
23268
+ });
23229
23269
  object({
23230
23270
  on: boolean(),
23231
23271
  /** Ms epoch of the last transition. 0 if never observed. */
@@ -23,7 +23,7 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
23
23
  let node_crypto = require("node:crypto");
24
24
  let node_path = require("node:path");
25
25
  node_path = __toESM(node_path);
26
- //#region ../types/dist/event-category-BZL-fdNj.mjs
26
+ //#region ../types/dist/event-category-zAv7pMUz.mjs
27
27
  var EventCategory = /* @__PURE__ */ function(EventCategory) {
28
28
  EventCategory["SystemBoot"] = "system.boot";
29
29
  EventCategory["SystemAddonsReady"] = "system.addons-ready";
@@ -395,6 +395,13 @@ var EventCategory = /* @__PURE__ */ function(EventCategory) {
395
395
  */
396
396
  EventCategory["BatteryOnStatusChanged"] = "battery.onStatusChanged";
397
397
  /**
398
+ * Cap event fired by every device that registers the `network-link`
399
+ * capability. Mirrors the cap definition's `onStatusChanged`. Carries
400
+ * `{ deviceId, status: NetworkLinkStatus }` — a link switch or a signal
401
+ * reading that moved.
402
+ */
403
+ EventCategory["NetworkLinkOnStatusChanged"] = "network-link.onStatusChanged";
404
+ /**
398
405
  * Emitted by the battery cap provider WHEN `wakeForStream` enters the
399
406
  * "wake in progress" window — between the Baichuan wake-up issue and
400
407
  * the camera's first dialed-back RTP packet. The stream-broker
@@ -23249,6 +23256,39 @@ DeviceType.Camera, DeviceType.Sensor, DeviceType.Button, DeviceType.Switch, meth
23249
23256
  deviceId: number(),
23250
23257
  status: BatteryStatusSchema
23251
23258
  });
23259
+ /**
23260
+ * Network-link snapshot. Same shape for every provider (a Reolink wifi
23261
+ * camera, a Home Assistant device with a signal-strength sensor, a Tapo
23262
+ * plug): one slice under `device.runtimeState['network-link']`, one badge,
23263
+ * one Home Assistant projection.
23264
+ */
23265
+ var NetworkLinkStatusSchema = object({
23266
+ /** The link the device is on. `'unknown'` = not read yet, not "no link". */
23267
+ type: _enum([
23268
+ "wifi",
23269
+ "ethernet",
23270
+ "cellular",
23271
+ "unknown"
23272
+ ]),
23273
+ /**
23274
+ * Link quality, 0..100 inclusive, normalised by the provider from whatever
23275
+ * the firmware reports (bars, RSSI, a vendor scale). **`null` means NOT
23276
+ * KNOWN or NOT APPLICABLE** — a wired link has no signal, and a wireless
23277
+ * one whose reading has not landed must not be drawn at 0 %. Consumers
23278
+ * SKIP a null rather than coerce it.
23279
+ */
23280
+ signalPercent: number().min(0).max(100).nullable(),
23281
+ /** Raw received signal strength in dBm, when the firmware reports one. */
23282
+ rssiDbm: number().optional(),
23283
+ /** Network name of a wireless link, when the firmware reports it. */
23284
+ ssid: string().optional(),
23285
+ /** Ms epoch of the last observation. Lets consumers reason about freshness. */
23286
+ lastUpdated: number()
23287
+ });
23288
+ DeviceType.Camera, DeviceType.Sensor, DeviceType.Button, DeviceType.Switch, DeviceType.Light, DeviceType.Lock, DeviceType.Siren, object({
23289
+ deviceId: number(),
23290
+ status: NetworkLinkStatusSchema
23291
+ });
23252
23292
  object({
23253
23293
  on: boolean(),
23254
23294
  /** Ms epoch of the last transition. 0 if never observed. */
package/dist/smb.addon.js CHANGED
@@ -2,7 +2,7 @@ Object.defineProperties(exports, {
2
2
  __esModule: { value: true },
3
3
  [Symbol.toStringTag]: { value: "Module" }
4
4
  });
5
- const require_shared = require("./shared-DyZPICRX.js");
5
+ const require_shared = require("./shared-wJVLo41v.js");
6
6
  let node_crypto = require("node:crypto");
7
7
  let node_path = require("node:path");
8
8
  node_path = require_shared.__toESM(node_path);
@@ -1,4 +1,4 @@
1
- import { c as BaseAddon, i as rearmIdleAbort, o as scheduleIdleAbort, s as storageProviderCapability } from "./shared-2Joc7r-U.mjs";
1
+ import { c as BaseAddon, i as rearmIdleAbort, o as scheduleIdleAbort, s as storageProviderCapability } from "./shared-C1oHNHV8.mjs";
2
2
  import { randomUUID } from "node:crypto";
3
3
  import * as path from "node:path";
4
4
  import * as fsp from "node:fs/promises";
@@ -2,7 +2,7 @@ Object.defineProperties(exports, {
2
2
  __esModule: { value: true },
3
3
  [Symbol.toStringTag]: { value: "Module" }
4
4
  });
5
- const require_shared = require("./shared-DyZPICRX.js");
5
+ const require_shared = require("./shared-wJVLo41v.js");
6
6
  let node_stream = require("node:stream");
7
7
  let webdav = require("webdav");
8
8
  //#region src/providers/webdav/webdav-config-schema.ts
@@ -1,4 +1,4 @@
1
- import { a as safeJoinRemotePath, c as BaseAddon, i as rearmIdleAbort, o as scheduleIdleAbort, r as getRequiredBasePath, s as storageProviderCapability, t as createSessionId } from "./shared-2Joc7r-U.mjs";
1
+ import { a as safeJoinRemotePath, c as BaseAddon, i as rearmIdleAbort, o as scheduleIdleAbort, r as getRequiredBasePath, s as storageProviderCapability, t as createSessionId } from "./shared-C1oHNHV8.mjs";
2
2
  import { PassThrough } from "node:stream";
3
3
  import { AuthType, createClient } from "webdav";
4
4
  //#region src/providers/webdav/webdav-config-schema.ts
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/addon-remote-storage",
3
- "version": "1.2.68",
3
+ "version": "1.2.69",
4
4
  "description": "Remote storage providers (SFTP, S3, WebDAV, SMB) — unifies remote backends behind the storage-provider cap",
5
5
  "keywords": [
6
6
  "camstack",