@camstack/addon-tailscale 1.2.93 → 1.2.95

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-CTEYUMoP.js");
27
+ const require_dist = require("../dist-CUyD5UoJ.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-DhBYDSGp.mjs";
1
+ import { a as EventCategory, i as BaseAddon, n as networkAccessCapability, r as BOOT_RECOVERY_BACKOFF_MS, t as meshNetworkCapability } from "../dist-Jje1evVi.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";
@@ -16176,6 +16176,7 @@ var NcSystemEventKindSchema = _enum([
16176
16176
  "addon-crash-loop",
16177
16177
  "addon-update-available",
16178
16178
  "server-update-available",
16179
+ "wrapper-update-available",
16179
16180
  "alarm-triggered",
16180
16181
  "alarm-armed",
16181
16182
  "alarm-disarmed",
@@ -21692,6 +21693,53 @@ var ImageContractSchema = object({
21692
21693
  /** One operator-grade sentence: this node runs image X; the contract says Y. */
21693
21694
  message: string()
21694
21695
  });
21696
+ /**
21697
+ * The shell verdict (see {@link WrapperKindSchema}) with the proofs that
21698
+ * produced it.
21699
+ *
21700
+ * There is deliberately NO `canSelfUpdate` and no apply action: a wrapper
21701
+ * update is an ANNOUNCEMENT. The notification body carries the exact command
21702
+ * for a `docker` shell and says the app restarts into the new build for
21703
+ * `electron`, and that sentence is chosen from `kind` alone — a boolean
21704
+ * nothing reads is the defect this repo keeps paying for.
21705
+ */
21706
+ var WrapperIdentitySchema = object({
21707
+ kind: _enum([
21708
+ "docker",
21709
+ "electron",
21710
+ "native",
21711
+ "contradictory",
21712
+ "unknown"
21713
+ ]),
21714
+ /** Every probe that ran, in a stable order. Never empty. */
21715
+ evidence: array(object({
21716
+ /** Which probe this row reports. */
21717
+ fact: _enum([
21718
+ "dockerenv-file",
21719
+ "proc-1-cgroup",
21720
+ "platform",
21721
+ "electron-app-version-env"
21722
+ ]),
21723
+ /**
21724
+ * `observed` — this process read it itself. `declared` — the shell told the
21725
+ * process and nothing here can check it. Only the Electron app version is
21726
+ * ever `declared`, and only because a child cannot see its parent.
21727
+ */
21728
+ mode: _enum(["observed", "declared"]),
21729
+ /** Did the probe support the fact it names? A `false` row is still evidence. */
21730
+ holds: boolean(),
21731
+ /** What was actually read, verbatim enough for an operator to argue with. */
21732
+ detail: string()
21733
+ })),
21734
+ /**
21735
+ * The version of the SHELL, when the shell has one it can state: the
21736
+ * Electron app version it declared, or the baked seed closure that
21737
+ * fingerprints a container / app bundle. `null` for `contradictory` and
21738
+ * `unknown` — which version belongs to the shell is precisely what is not
21739
+ * known there.
21740
+ */
21741
+ currentVersion: string().nullable()
21742
+ });
21695
21743
  var ServerRollbackInfoSchema = object({
21696
21744
  /** The version that failed (or was manually rolled back). */
21697
21745
  fromVersion: string(),
@@ -21733,7 +21781,13 @@ var ServerPackageStatusSchema = object({
21733
21781
  * Seed-vs-contract verdict (see {@link ImageContractSchema}). Optional for
21734
21782
  * version skew: an older provider's payload simply omits it.
21735
21783
  */
21736
- imageContract: ImageContractSchema.optional()
21784
+ imageContract: ImageContractSchema.optional(),
21785
+ /**
21786
+ * What this node runs INSIDE (see {@link WrapperIdentitySchema}). Optional
21787
+ * for version skew: an older provider's payload simply omits it, and an
21788
+ * absent wrapper is unknown — never `native`.
21789
+ */
21790
+ wrapper: WrapperIdentitySchema.optional()
21737
21791
  });
21738
21792
  var ServerUpdateCheckResultSchema = object({
21739
21793
  packageName: string(),
@@ -24755,8 +24809,8 @@ includeCrops: boolean().optional() }).optional(), array(IdentitySchema).readonly
24755
24809
  *
24756
24810
  * An **empty array reads NOTHING** — `[]` is an empty page, never
24757
24811
  * "every camera". A request for no devices is a request, not an
24758
- * omission; same contract as `deviceManager.listFleet` and
24759
- * `pipelineAnalytics.listRecentTracks`.
24812
+ * omission; same contract as `deviceManager.listAll`'s `deviceIds`
24813
+ * and `pipelineAnalytics.listRecentTracks`.
24760
24814
  *
24761
24815
  * Absent (`undefined`) is the omission, and keeps the cluster-wide view.
24762
24816
  */
@@ -16176,6 +16176,7 @@ var NcSystemEventKindSchema = _enum([
16176
16176
  "addon-crash-loop",
16177
16177
  "addon-update-available",
16178
16178
  "server-update-available",
16179
+ "wrapper-update-available",
16179
16180
  "alarm-triggered",
16180
16181
  "alarm-armed",
16181
16182
  "alarm-disarmed",
@@ -21692,6 +21693,53 @@ var ImageContractSchema = object({
21692
21693
  /** One operator-grade sentence: this node runs image X; the contract says Y. */
21693
21694
  message: string()
21694
21695
  });
21696
+ /**
21697
+ * The shell verdict (see {@link WrapperKindSchema}) with the proofs that
21698
+ * produced it.
21699
+ *
21700
+ * There is deliberately NO `canSelfUpdate` and no apply action: a wrapper
21701
+ * update is an ANNOUNCEMENT. The notification body carries the exact command
21702
+ * for a `docker` shell and says the app restarts into the new build for
21703
+ * `electron`, and that sentence is chosen from `kind` alone — a boolean
21704
+ * nothing reads is the defect this repo keeps paying for.
21705
+ */
21706
+ var WrapperIdentitySchema = object({
21707
+ kind: _enum([
21708
+ "docker",
21709
+ "electron",
21710
+ "native",
21711
+ "contradictory",
21712
+ "unknown"
21713
+ ]),
21714
+ /** Every probe that ran, in a stable order. Never empty. */
21715
+ evidence: array(object({
21716
+ /** Which probe this row reports. */
21717
+ fact: _enum([
21718
+ "dockerenv-file",
21719
+ "proc-1-cgroup",
21720
+ "platform",
21721
+ "electron-app-version-env"
21722
+ ]),
21723
+ /**
21724
+ * `observed` — this process read it itself. `declared` — the shell told the
21725
+ * process and nothing here can check it. Only the Electron app version is
21726
+ * ever `declared`, and only because a child cannot see its parent.
21727
+ */
21728
+ mode: _enum(["observed", "declared"]),
21729
+ /** Did the probe support the fact it names? A `false` row is still evidence. */
21730
+ holds: boolean(),
21731
+ /** What was actually read, verbatim enough for an operator to argue with. */
21732
+ detail: string()
21733
+ })),
21734
+ /**
21735
+ * The version of the SHELL, when the shell has one it can state: the
21736
+ * Electron app version it declared, or the baked seed closure that
21737
+ * fingerprints a container / app bundle. `null` for `contradictory` and
21738
+ * `unknown` — which version belongs to the shell is precisely what is not
21739
+ * known there.
21740
+ */
21741
+ currentVersion: string().nullable()
21742
+ });
21695
21743
  var ServerRollbackInfoSchema = object({
21696
21744
  /** The version that failed (or was manually rolled back). */
21697
21745
  fromVersion: string(),
@@ -21733,7 +21781,13 @@ var ServerPackageStatusSchema = object({
21733
21781
  * Seed-vs-contract verdict (see {@link ImageContractSchema}). Optional for
21734
21782
  * version skew: an older provider's payload simply omits it.
21735
21783
  */
21736
- imageContract: ImageContractSchema.optional()
21784
+ imageContract: ImageContractSchema.optional(),
21785
+ /**
21786
+ * What this node runs INSIDE (see {@link WrapperIdentitySchema}). Optional
21787
+ * for version skew: an older provider's payload simply omits it, and an
21788
+ * absent wrapper is unknown — never `native`.
21789
+ */
21790
+ wrapper: WrapperIdentitySchema.optional()
21737
21791
  });
21738
21792
  var ServerUpdateCheckResultSchema = object({
21739
21793
  packageName: string(),
@@ -24755,8 +24809,8 @@ includeCrops: boolean().optional() }).optional(), array(IdentitySchema).readonly
24755
24809
  *
24756
24810
  * An **empty array reads NOTHING** — `[]` is an empty page, never
24757
24811
  * "every camera". A request for no devices is a request, not an
24758
- * omission; same contract as `deviceManager.listFleet` and
24759
- * `pipelineAnalytics.listRecentTracks`.
24812
+ * omission; same contract as `deviceManager.listAll`'s `deviceIds`
24813
+ * and `pipelineAnalytics.listRecentTracks`.
24760
24814
  *
24761
24815
  * Absent (`undefined`) is the omission, and keeps the cluster-wide view.
24762
24816
  */
@@ -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-CTEYUMoP.js");
5
+ const require_dist = require("../dist-CUyD5UoJ.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-DhBYDSGp.mjs";
1
+ import { a as EventCategory, i as BaseAddon, n as networkAccessCapability } from "../dist-Jje1evVi.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.93",
3
+ "version": "1.2.95",
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",