@camstack/addon-tailscale 1.2.52 → 1.2.53

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.
@@ -24,7 +24,7 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
24
24
  enumerable: true
25
25
  }) : target, mod));
26
26
  //#endregion
27
- const require_dist = require("../dist-BYSC8bJK.js");
27
+ const require_dist = require("../dist-BFbW-DND.js");
28
28
  let node_child_process = require("node:child_process");
29
29
  let node_util = require("node:util");
30
30
  let node_fs = require("node:fs");
@@ -1,4 +1,4 @@
1
- import { a as EventCategory, i as BaseAddon, n as networkAccessCapability, r as BOOT_RECOVERY_BACKOFF_MS, t as meshNetworkCapability } from "../dist-COyLQeD1.mjs";
1
+ import { a as EventCategory, i as BaseAddon, n as networkAccessCapability, r as BOOT_RECOVERY_BACKOFF_MS, t as meshNetworkCapability } from "../dist-DCvDQ86T.mjs";
2
2
  import { execFile, spawn } from "node:child_process";
3
3
  import { promisify } from "node:util";
4
4
  import * as fs from "node:fs";
@@ -7735,7 +7735,8 @@ var OpsLogReasonSchema = _enum([
7735
7735
  "quota",
7736
7736
  "manual",
7737
7737
  "operator",
7738
- "maintenance"
7738
+ "maintenance",
7739
+ "orphaned-device"
7739
7740
  ]);
7740
7741
  /** One audit row, shared verbatim by both domains. */
7741
7742
  var OpsLogEntrySchema = object({
@@ -12766,10 +12767,39 @@ var DevicePersistConfigPayloadSchema = object({
12766
12767
  deviceId: number(),
12767
12768
  data: record(string(), unknown())
12768
12769
  });
12770
+ /** What a migration actually did, per switch. `unreachable` is a first-class
12771
+ * answer: a camera that could not be asked is not a camera that was silenced. */
12772
+ var MigrateSwitchOutcomeSchema = _enum([
12773
+ "off",
12774
+ "on",
12775
+ "not-offered",
12776
+ "unreachable"
12777
+ ]);
12778
+ var MigrateSwitchReportSchema = object({
12779
+ deviceId: number(),
12780
+ switchId: CameraSwitchIdSchema,
12781
+ outcome: MigrateSwitchOutcomeSchema,
12782
+ detail: string().optional()
12783
+ });
12784
+ var MigrateDeviceResultSchema = object({
12785
+ sourceId: number(),
12786
+ targetId: number(),
12787
+ switches: array(MigrateSwitchReportSchema).readonly(),
12788
+ /** Switches that could NOT be turned off on the source. Empty is the only
12789
+ * value meaning the replaced hardware is quiet. */
12790
+ sourceStillLive: array(CameraSwitchIdSchema).readonly(),
12791
+ swapped: boolean()
12792
+ });
12769
12793
  method(object({
12770
12794
  addonId: string(),
12771
12795
  stableId: string()
12772
- }), object({ id: number() }), { kind: "mutation" }), method(DeviceRegisterPayloadSchema, _void(), { kind: "mutation" }), method(DeviceRemovePayloadSchema, _void(), { kind: "mutation" }), method(DevicePersistConfigPayloadSchema, _void(), { kind: "mutation" }), method(object({ deviceId: number() }), record(string(), unknown())), method(object({ deviceId: number() }), record(string(), unknown())), method(object({ deviceId: number() }), DeviceMetaSchema.nullable()), method(object({
12796
+ }), object({ id: number() }), { kind: "mutation" }), method(object({
12797
+ sourceId: number(),
12798
+ targetId: number()
12799
+ }), MigrateDeviceResultSchema, {
12800
+ kind: "mutation",
12801
+ auth: "admin"
12802
+ }), method(DeviceRegisterPayloadSchema, _void(), { kind: "mutation" }), method(DeviceRemovePayloadSchema, _void(), { kind: "mutation" }), method(DevicePersistConfigPayloadSchema, _void(), { kind: "mutation" }), method(object({ deviceId: number() }), record(string(), unknown())), method(object({ deviceId: number() }), record(string(), unknown())), method(object({ deviceId: number() }), DeviceMetaSchema.nullable()), method(object({
12773
12803
  deviceId: number(),
12774
12804
  name: string()
12775
12805
  }), _void(), {
@@ -30350,6 +30380,12 @@ Object.freeze({
30350
30380
  addonId: null,
30351
30381
  access: "view"
30352
30382
  },
30383
+ "deviceManager.migrateDevice": {
30384
+ capName: "device-manager",
30385
+ capScope: "system",
30386
+ addonId: null,
30387
+ access: "create"
30388
+ },
30353
30389
  "deviceManager.persistConfig": {
30354
30390
  capName: "device-manager",
30355
30391
  capScope: "system",
@@ -7735,7 +7735,8 @@ var OpsLogReasonSchema = _enum([
7735
7735
  "quota",
7736
7736
  "manual",
7737
7737
  "operator",
7738
- "maintenance"
7738
+ "maintenance",
7739
+ "orphaned-device"
7739
7740
  ]);
7740
7741
  /** One audit row, shared verbatim by both domains. */
7741
7742
  var OpsLogEntrySchema = object({
@@ -12766,10 +12767,39 @@ var DevicePersistConfigPayloadSchema = object({
12766
12767
  deviceId: number(),
12767
12768
  data: record(string(), unknown())
12768
12769
  });
12770
+ /** What a migration actually did, per switch. `unreachable` is a first-class
12771
+ * answer: a camera that could not be asked is not a camera that was silenced. */
12772
+ var MigrateSwitchOutcomeSchema = _enum([
12773
+ "off",
12774
+ "on",
12775
+ "not-offered",
12776
+ "unreachable"
12777
+ ]);
12778
+ var MigrateSwitchReportSchema = object({
12779
+ deviceId: number(),
12780
+ switchId: CameraSwitchIdSchema,
12781
+ outcome: MigrateSwitchOutcomeSchema,
12782
+ detail: string().optional()
12783
+ });
12784
+ var MigrateDeviceResultSchema = object({
12785
+ sourceId: number(),
12786
+ targetId: number(),
12787
+ switches: array(MigrateSwitchReportSchema).readonly(),
12788
+ /** Switches that could NOT be turned off on the source. Empty is the only
12789
+ * value meaning the replaced hardware is quiet. */
12790
+ sourceStillLive: array(CameraSwitchIdSchema).readonly(),
12791
+ swapped: boolean()
12792
+ });
12769
12793
  method(object({
12770
12794
  addonId: string(),
12771
12795
  stableId: string()
12772
- }), object({ id: number() }), { kind: "mutation" }), method(DeviceRegisterPayloadSchema, _void(), { kind: "mutation" }), method(DeviceRemovePayloadSchema, _void(), { kind: "mutation" }), method(DevicePersistConfigPayloadSchema, _void(), { kind: "mutation" }), method(object({ deviceId: number() }), record(string(), unknown())), method(object({ deviceId: number() }), record(string(), unknown())), method(object({ deviceId: number() }), DeviceMetaSchema.nullable()), method(object({
12796
+ }), object({ id: number() }), { kind: "mutation" }), method(object({
12797
+ sourceId: number(),
12798
+ targetId: number()
12799
+ }), MigrateDeviceResultSchema, {
12800
+ kind: "mutation",
12801
+ auth: "admin"
12802
+ }), method(DeviceRegisterPayloadSchema, _void(), { kind: "mutation" }), method(DeviceRemovePayloadSchema, _void(), { kind: "mutation" }), method(DevicePersistConfigPayloadSchema, _void(), { kind: "mutation" }), method(object({ deviceId: number() }), record(string(), unknown())), method(object({ deviceId: number() }), record(string(), unknown())), method(object({ deviceId: number() }), DeviceMetaSchema.nullable()), method(object({
12773
12803
  deviceId: number(),
12774
12804
  name: string()
12775
12805
  }), _void(), {
@@ -30350,6 +30380,12 @@ Object.freeze({
30350
30380
  addonId: null,
30351
30381
  access: "view"
30352
30382
  },
30383
+ "deviceManager.migrateDevice": {
30384
+ capName: "device-manager",
30385
+ capScope: "system",
30386
+ addonId: null,
30387
+ access: "create"
30388
+ },
30353
30389
  "deviceManager.persistConfig": {
30354
30390
  capName: "device-manager",
30355
30391
  capScope: "system",
@@ -2,7 +2,7 @@ Object.defineProperties(exports, {
2
2
  __esModule: { value: true },
3
3
  [Symbol.toStringTag]: { value: "Module" }
4
4
  });
5
- const require_dist = require("../dist-BYSC8bJK.js");
5
+ const require_dist = require("../dist-BFbW-DND.js");
6
6
  let node_crypto = require("node:crypto");
7
7
  let node_child_process = require("node:child_process");
8
8
  //#region src/ingress/tailscale-cli.ts
@@ -1,4 +1,4 @@
1
- import { a as EventCategory, i as BaseAddon, n as networkAccessCapability } from "../dist-COyLQeD1.mjs";
1
+ import { a as EventCategory, i as BaseAddon, n as networkAccessCapability } from "../dist-DCvDQ86T.mjs";
2
2
  import { randomUUID } from "node:crypto";
3
3
  import { execFile } from "node:child_process";
4
4
  import { promisify } from "node:util";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/addon-tailscale",
3
- "version": "1.2.52",
3
+ "version": "1.2.53",
4
4
  "description": "Tailscale bundle for CamStack — joins the host to a tailnet (client) and exposes the hub via Serve/Funnel (ingress). Multi-entry npm package shipping 2 addons under a single bundle.",
5
5
  "keywords": [
6
6
  "camstack",