@camstack/addon-tailscale 1.2.59 → 1.2.61

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-DOa-4HqK.js");
27
+ const require_dist = require("../dist-CM8irv4g.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-PbHGodVF.mjs";
1
+ import { a as EventCategory, i as BaseAddon, n as networkAccessCapability, r as BOOT_RECOVERY_BACKOFF_MS, t as meshNetworkCapability } from "../dist-BlLzjzzR.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";
@@ -12564,7 +12564,26 @@ var DiscoveryCandidateSchema = object({
12564
12564
  * identity ahead of adoption. Rendering metadata (unit, precision)
12565
12565
  * flows live through the cap STATUS SLICE after adoption.
12566
12566
  */
12567
- sourceInfo: SourceInfoSchema.optional()
12567
+ sourceInfo: SourceInfoSchema.optional(),
12568
+ /**
12569
+ * Set when this candidate is a device the provider ALREADY owns.
12570
+ *
12571
+ * A scan cannot generally produce the identity a device was onboarded under
12572
+ * (Reolink keys on `mac-<mac>`, learned at adopt time), so a stableId
12573
+ * comparison never matches and an owned device looks addable. Re-adopting one
12574
+ * overwrites its config with scan-derived values — that is how a Home Hub's
12575
+ * Baichuan port was overwritten with its ONVIF port, taking the hub and its
12576
+ * three child cameras offline for four hours.
12577
+ *
12578
+ * A provider that can recognise its own devices says so here. Absent means
12579
+ * "not recognised", which is not the same as "known to be new" — a provider
12580
+ * that cannot tell simply never sets it.
12581
+ */
12582
+ alreadyOnboarded: boolean().optional(),
12583
+ /** Numeric id of the device this candidate was matched to. Set with `alreadyOnboarded`. */
12584
+ onboardedDeviceId: number().optional(),
12585
+ /** Operator-facing name of the matched device, so the UI can say WHICH one it is. */
12586
+ onboardedName: string().optional()
12568
12587
  });
12569
12588
  /**
12570
12589
  * Flat device summary returned by `createDevice` / `adoptDiscoveredDevice`.
@@ -12611,7 +12630,10 @@ method(_void(), _void(), { kind: "mutation" }), method(_void(), _void(), { kind:
12611
12630
  id: string(),
12612
12631
  name: string(),
12613
12632
  type: string()
12614
- }))), method(object({}), boolean()), method(object({ params: record(string(), unknown()).optional() }), array(DiscoveryCandidateSchema), {
12633
+ }))), method(object({ stableId: string() }), object({ deviceId: number() }), {
12634
+ kind: "mutation",
12635
+ timeoutMs: 3 * 6e4
12636
+ }), method(object({}), boolean()), method(object({ params: record(string(), unknown()).optional() }), array(DiscoveryCandidateSchema), {
12615
12637
  kind: "mutation",
12616
12638
  auth: "admin"
12617
12639
  }), method(object({}), CreationSchemaOutputSchema), method(object({}), object({ deviceType: _enum(DeviceType).nullable() })), method(object({ candidate: DiscoveryCandidateSchema }), DeviceSummarySchema, {
@@ -12892,7 +12914,8 @@ method(object({
12892
12914
  targetId: number()
12893
12915
  }), MigrateDeviceResultSchema, {
12894
12916
  kind: "mutation",
12895
- auth: "admin"
12917
+ auth: "admin",
12918
+ timeoutMs: 12 * 6e4
12896
12919
  }), 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({
12897
12920
  deviceId: number(),
12898
12921
  name: string()
@@ -30829,6 +30852,12 @@ Object.freeze({
30829
30852
  addonId: null,
30830
30853
  access: "view"
30831
30854
  },
30855
+ "deviceProvider.reloadDevice": {
30856
+ capName: "device-provider",
30857
+ capScope: "system",
30858
+ addonId: null,
30859
+ access: "create"
30860
+ },
30832
30861
  "deviceProvider.start": {
30833
30862
  capName: "device-provider",
30834
30863
  capScope: "system",
@@ -12564,7 +12564,26 @@ var DiscoveryCandidateSchema = object({
12564
12564
  * identity ahead of adoption. Rendering metadata (unit, precision)
12565
12565
  * flows live through the cap STATUS SLICE after adoption.
12566
12566
  */
12567
- sourceInfo: SourceInfoSchema.optional()
12567
+ sourceInfo: SourceInfoSchema.optional(),
12568
+ /**
12569
+ * Set when this candidate is a device the provider ALREADY owns.
12570
+ *
12571
+ * A scan cannot generally produce the identity a device was onboarded under
12572
+ * (Reolink keys on `mac-<mac>`, learned at adopt time), so a stableId
12573
+ * comparison never matches and an owned device looks addable. Re-adopting one
12574
+ * overwrites its config with scan-derived values — that is how a Home Hub's
12575
+ * Baichuan port was overwritten with its ONVIF port, taking the hub and its
12576
+ * three child cameras offline for four hours.
12577
+ *
12578
+ * A provider that can recognise its own devices says so here. Absent means
12579
+ * "not recognised", which is not the same as "known to be new" — a provider
12580
+ * that cannot tell simply never sets it.
12581
+ */
12582
+ alreadyOnboarded: boolean().optional(),
12583
+ /** Numeric id of the device this candidate was matched to. Set with `alreadyOnboarded`. */
12584
+ onboardedDeviceId: number().optional(),
12585
+ /** Operator-facing name of the matched device, so the UI can say WHICH one it is. */
12586
+ onboardedName: string().optional()
12568
12587
  });
12569
12588
  /**
12570
12589
  * Flat device summary returned by `createDevice` / `adoptDiscoveredDevice`.
@@ -12611,7 +12630,10 @@ method(_void(), _void(), { kind: "mutation" }), method(_void(), _void(), { kind:
12611
12630
  id: string(),
12612
12631
  name: string(),
12613
12632
  type: string()
12614
- }))), method(object({}), boolean()), method(object({ params: record(string(), unknown()).optional() }), array(DiscoveryCandidateSchema), {
12633
+ }))), method(object({ stableId: string() }), object({ deviceId: number() }), {
12634
+ kind: "mutation",
12635
+ timeoutMs: 3 * 6e4
12636
+ }), method(object({}), boolean()), method(object({ params: record(string(), unknown()).optional() }), array(DiscoveryCandidateSchema), {
12615
12637
  kind: "mutation",
12616
12638
  auth: "admin"
12617
12639
  }), method(object({}), CreationSchemaOutputSchema), method(object({}), object({ deviceType: _enum(DeviceType).nullable() })), method(object({ candidate: DiscoveryCandidateSchema }), DeviceSummarySchema, {
@@ -12892,7 +12914,8 @@ method(object({
12892
12914
  targetId: number()
12893
12915
  }), MigrateDeviceResultSchema, {
12894
12916
  kind: "mutation",
12895
- auth: "admin"
12917
+ auth: "admin",
12918
+ timeoutMs: 12 * 6e4
12896
12919
  }), 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({
12897
12920
  deviceId: number(),
12898
12921
  name: string()
@@ -30829,6 +30852,12 @@ Object.freeze({
30829
30852
  addonId: null,
30830
30853
  access: "view"
30831
30854
  },
30855
+ "deviceProvider.reloadDevice": {
30856
+ capName: "device-provider",
30857
+ capScope: "system",
30858
+ addonId: null,
30859
+ access: "create"
30860
+ },
30832
30861
  "deviceProvider.start": {
30833
30862
  capName: "device-provider",
30834
30863
  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-DOa-4HqK.js");
5
+ const require_dist = require("../dist-CM8irv4g.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-PbHGodVF.mjs";
1
+ import { a as EventCategory, i as BaseAddon, n as networkAccessCapability } from "../dist-BlLzjzzR.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.59",
3
+ "version": "1.2.61",
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",