@camstack/system 1.2.469 → 1.2.470

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.
Files changed (89) hide show
  1. package/dist/addon-runner.js +56 -25
  2. package/dist/addon-runner.mjs +56 -25
  3. package/dist/addon-utils.mjs +1 -1
  4. package/dist/{agent-https-5OgOR-eF.js → agent-https-D_oo3PNv.js} +1 -1
  5. package/dist/{agent-https-b-zX78oB.mjs → agent-https-DmNQyAl7.mjs} +1 -1
  6. package/dist/builtins/addon-pages-aggregator/addon-pages-aggregator.addon.js +1 -1
  7. package/dist/builtins/addon-pages-aggregator/addon-pages-aggregator.addon.mjs +4 -4
  8. package/dist/builtins/addon-widgets-aggregator/addon-widgets-aggregator.addon.js +1 -1
  9. package/dist/builtins/addon-widgets-aggregator/addon-widgets-aggregator.addon.mjs +5 -5
  10. package/dist/builtins/alerts/alerts.addon.js +1 -1
  11. package/dist/builtins/alerts/alerts.addon.mjs +1 -1
  12. package/dist/builtins/autotrack/index.js +1 -1
  13. package/dist/builtins/autotrack/index.mjs +1 -1
  14. package/dist/builtins/backup-orchestrator/backup-orchestrator.addon.js +2 -2
  15. package/dist/builtins/backup-orchestrator/backup-orchestrator.addon.mjs +5 -5
  16. package/dist/builtins/calendars/calendars.addon.js +1 -1
  17. package/dist/builtins/calendars/calendars.addon.mjs +1 -1
  18. package/dist/builtins/camera-grid/index.js +1 -1
  19. package/dist/builtins/camera-grid/index.mjs +1 -1
  20. package/dist/builtins/composer/composer.addon.js +2 -2
  21. package/dist/builtins/composer/composer.addon.mjs +2 -2
  22. package/dist/builtins/console-logging/index.js +1 -1
  23. package/dist/builtins/console-logging/index.mjs +1 -1
  24. package/dist/builtins/core-blocks/core-blocks.addon.js +2 -2
  25. package/dist/builtins/core-blocks/core-blocks.addon.mjs +2 -2
  26. package/dist/builtins/device-history/device-history.addon.js +1 -1
  27. package/dist/builtins/device-history/device-history.addon.mjs +1 -1
  28. package/dist/builtins/device-manager/device-manager.addon.js +1 -1
  29. package/dist/builtins/device-manager/device-manager.addon.mjs +1 -1
  30. package/dist/builtins/hub-forwarder/index.js +1 -1
  31. package/dist/builtins/hub-forwarder/index.mjs +1 -1
  32. package/dist/builtins/keychain/index.js +3 -3
  33. package/dist/builtins/keychain/index.mjs +3 -3
  34. package/dist/builtins/liveness-monitor/liveness-monitor.addon.js +1 -1
  35. package/dist/builtins/liveness-monitor/liveness-monitor.addon.mjs +1 -1
  36. package/dist/builtins/local-auth/local-auth.addon.js +2 -2
  37. package/dist/builtins/local-auth/local-auth.addon.mjs +5 -5
  38. package/dist/builtins/local-network/local-network.addon.js +2 -2
  39. package/dist/builtins/local-network/local-network.addon.mjs +2 -2
  40. package/dist/builtins/loki-logging/index.js +1 -1
  41. package/dist/builtins/loki-logging/index.mjs +1 -1
  42. package/dist/builtins/native-metrics/native-metrics.addon.js +1 -1
  43. package/dist/builtins/native-metrics/native-metrics.addon.mjs +10 -10
  44. package/dist/builtins/platform-probe/accelerator-reprobe.d.ts +23 -0
  45. package/dist/builtins/platform-probe/coral-accelerators.d.ts +37 -8
  46. package/dist/builtins/platform-probe/index.d.ts +17 -1
  47. package/dist/builtins/platform-probe/index.js +192 -11
  48. package/dist/builtins/platform-probe/index.mjs +198 -18
  49. package/dist/builtins/platform-probe/platform-scorer.d.ts +14 -0
  50. package/dist/builtins/record-entries/index.js +1 -1
  51. package/dist/builtins/record-entries/index.mjs +1 -1
  52. package/dist/builtins/remote-access-orchestrator/remote-access-orchestrator.addon.js +1 -1
  53. package/dist/builtins/remote-access-orchestrator/remote-access-orchestrator.addon.mjs +1 -1
  54. package/dist/builtins/snapshot/index.js +1 -1
  55. package/dist/builtins/snapshot/index.mjs +1 -1
  56. package/dist/builtins/sqlite-storage/filesystem-storage.addon.js +1 -1
  57. package/dist/builtins/sqlite-storage/filesystem-storage.addon.mjs +20 -20
  58. package/dist/builtins/sqlite-storage/index.js +1 -1
  59. package/dist/builtins/sqlite-storage/index.mjs +1 -1
  60. package/dist/builtins/sqlite-storage/sqlite-settings.addon.js +2 -2
  61. package/dist/builtins/sqlite-storage/sqlite-settings.addon.mjs +2 -2
  62. package/dist/builtins/storage-orchestrator/storage-orchestrator.addon.js +1 -1
  63. package/dist/builtins/storage-orchestrator/storage-orchestrator.addon.mjs +1 -1
  64. package/dist/builtins/system-config/system-config.addon.js +3 -3
  65. package/dist/builtins/system-config/system-config.addon.mjs +115 -115
  66. package/dist/builtins/winston-logging/index.js +1 -1
  67. package/dist/builtins/winston-logging/index.mjs +1 -1
  68. package/dist/{composition-sources-DTdzzyf0.mjs → composition-sources-B0tqvf0t.mjs} +1 -1
  69. package/dist/{composition-sources-BGXTiUZm.js → composition-sources-CRJffEiB.js} +1 -1
  70. package/dist/{constants-md_POijo.mjs → constants--A505iuO.mjs} +1 -1
  71. package/dist/{constants-2mPqJjkR.js → constants-WF1AqoKF.js} +1 -1
  72. package/dist/{coral-accelerators-oUXmmbc2.js → coral-accelerators-Cri32b7q.js} +61 -24
  73. package/dist/{coral-accelerators-Qhn5TOYZ.mjs → coral-accelerators-Dl-GnMHn.mjs} +61 -30
  74. package/dist/{custom-action-registry-DZSCLBuT.mjs → custom-action-registry-BGYDjTqY.mjs} +37 -37
  75. package/dist/{device-ca-CFdyrqeJ.mjs → device-ca-DYmToMp8.mjs} +1 -1
  76. package/dist/{device-ca-CC58lmNV.js → device-ca-R4MZZtc0.js} +1 -1
  77. package/dist/{dist-DuBtzSCh.js → dist-DRL3rEfN.js} +77 -2
  78. package/dist/{dist-CtVVtyTX.mjs → dist-X1r44BdF.mjs} +77 -2
  79. package/dist/file-host-worker.js +1 -1
  80. package/dist/file-host-worker.mjs +1 -1
  81. package/dist/{hub-mdns-ciao-CmuWLPci.mjs → hub-mdns-ciao-CZV5Hion.mjs} +2 -2
  82. package/dist/{hub-mdns-ciao-BLsX_2cL.js → hub-mdns-ciao-DUoTS6jN.js} +2 -2
  83. package/dist/index.js +8 -8
  84. package/dist/index.mjs +225 -225
  85. package/dist/{restore-archive-CxPAuaNs.js → restore-archive-Df6PsOHP.js} +1 -1
  86. package/dist/{restore-archive-D2w3z_ob.mjs → restore-archive-X0ciGMmO.mjs} +94 -94
  87. package/dist/{wal-maintenance-DeluFl_1.mjs → wal-maintenance-D6J_MmZ8.mjs} +0 -0
  88. package/dist/{wal-maintenance-EK28XXnc.js → wal-maintenance-DYvzJiuK.js} +0 -0
  89. package/package.json +1 -1
@@ -7893,9 +7893,9 @@ function currentDelegateHost() {
7893
7893
  override: process.env[_camstack_types_node.EDGETPU_LIB_ENV]
7894
7894
  };
7895
7895
  }
7896
- function countUsbCorals(fsx) {
7896
+ function countUsbCorals(devices, fsx) {
7897
7897
  let count = 0;
7898
- for (const device of fsx.listUsbDevices()) {
7898
+ for (const device of devices) {
7899
7899
  const vendor = fsx.readUsbAttr(device, "idVendor").toLowerCase();
7900
7900
  const product = fsx.readUsbAttr(device, "idProduct").toLowerCase();
7901
7901
  if (CORAL_USB_IDS.some((id) => id.vendor === vendor && id.product === product)) count++;
@@ -7934,21 +7934,33 @@ function classifyPci(fsx) {
7934
7934
  };
7935
7935
  }
7936
7936
  /**
7937
- * Detect Coral Edge TPUs on USB and PCIe/M.2.
7937
+ * Detect Coral Edge TPUs on USB and PCIe/M.2 — the answer only. See
7938
+ * {@link detectCoralAccelerator} for the evidence that decided it.
7939
+ */
7940
+ function classifyCoralAccelerator(fsx, delegateHost = currentDelegateHost()) {
7941
+ return detectCoralAccelerator(fsx, delegateHost).info;
7942
+ }
7943
+ /**
7944
+ * Detect Coral Edge TPUs on USB and PCIe/M.2, with the evidence that decided.
7938
7945
  *
7939
7946
  * - USB: every matching USB device counts (multiple Corals run concurrently).
7940
7947
  * - PCIe: the apex driver's units, each usable only if its device node opens;
7941
7948
  * a Coral PCI function the driver did not bind is `driver-missing`.
7942
- * - Fallback: when NO Coral signal of either bus is visible but the libedgetpu
7943
- * delegate is installed (a container whose `/sys` USB view is limited), one
7944
- * USB Coral is assumed — never when a PCI Coral was seen, since the delegate
7945
- * then says nothing about USB.
7949
+ * - Fallback: when the USB bus is NOT OBSERVABLE (`/sys/bus/usb/devices`
7950
+ * missing, unreadable or empty — a macOS desktop, a restricted container)
7951
+ * and no PCI Coral was seen, an installed libedgetpu delegate means one USB
7952
+ * Coral is assumed. A bus that IS readable and lists no Coral id is the
7953
+ * answer: no USB Coral. The delegate stays installed after a stick is
7954
+ * unplugged or moved to another node, so it is evidence only where nothing
7955
+ * better exists (D919).
7946
7956
  *
7947
7957
  * Returns `null` only when no Coral was found at all; a present-but-unusable
7948
7958
  * Coral is reported with its typed reason, never as absent (D393/D315).
7949
7959
  */
7950
- function classifyCoralAccelerator(fsx, delegateHost = currentDelegateHost()) {
7951
- const usb = countUsbCorals(fsx);
7960
+ function detectCoralAccelerator(fsx, delegateHost = currentDelegateHost()) {
7961
+ const usbDevices = fsx.listUsbDevices();
7962
+ const usbBus = usbDevices !== null && usbDevices.length > 0 ? "observed" : "unobservable";
7963
+ const usb = usbDevices === null ? 0 : countUsbCorals(usbDevices, fsx);
7952
7964
  const pci = classifyPci(fsx);
7953
7965
  const units = [];
7954
7966
  if (usb > 0) units.push({
@@ -7970,25 +7982,44 @@ function classifyCoralAccelerator(fsx, delegateHost = currentDelegateHost()) {
7970
7982
  count: pci.notAccessible,
7971
7983
  reason: "device-not-accessible"
7972
7984
  });
7973
- if (units.length > 0 || unavailable.length > 0) return unavailable.length > 0 ? {
7974
- type: "coral-edgetpu",
7975
- units,
7976
- unavailable
7977
- } : {
7978
- type: "coral-edgetpu",
7979
- units
7980
- };
7981
- if ((0, _camstack_types_node.chooseEdgetpuDelegate)({
7985
+ if (units.length > 0 || unavailable.length > 0) return {
7986
+ info: unavailable.length > 0 ? {
7987
+ type: "coral-edgetpu",
7988
+ units,
7989
+ unavailable
7990
+ } : {
7991
+ type: "coral-edgetpu",
7992
+ units
7993
+ },
7994
+ usbBus,
7995
+ decidedBy: usb > 0 ? "usb-ids" : "pci"
7996
+ };
7997
+ if (usbBus === "unobservable" && (0, _camstack_types_node.chooseEdgetpuDelegate)({
7982
7998
  ...delegateHost,
7983
7999
  exists: (p) => fsx.exists(p)
7984
8000
  }) !== null) return {
7985
- type: "coral-edgetpu",
7986
- units: [{
7987
- bus: "usb",
7988
- count: 1
7989
- }]
8001
+ info: {
8002
+ type: "coral-edgetpu",
8003
+ units: [{
8004
+ bus: "usb",
8005
+ count: 1
8006
+ }]
8007
+ },
8008
+ usbBus,
8009
+ decidedBy: "delegate-fallback"
7990
8010
  };
7991
- return null;
8011
+ return {
8012
+ info: null,
8013
+ usbBus,
8014
+ decidedBy: "none"
8015
+ };
8016
+ }
8017
+ function safeListOrNull(dir) {
8018
+ try {
8019
+ return node_fs.default.readdirSync(dir);
8020
+ } catch {
8021
+ return null;
8022
+ }
7992
8023
  }
7993
8024
  function safeList(dir) {
7994
8025
  try {
@@ -8006,7 +8037,7 @@ function safeRead(path) {
8006
8037
  }
8007
8038
  /** The real filesystem view: `/sys` for enumeration, `/dev` for access. */
8008
8039
  var nodeCoralFs = {
8009
- listUsbDevices: () => safeList("/sys/bus/usb/devices"),
8040
+ listUsbDevices: () => safeListOrNull("/sys/bus/usb/devices"),
8010
8041
  readUsbAttr: (device, attr) => safeRead(`/sys/bus/usb/devices/${device}/${attr}`),
8011
8042
  listPciDevices: () => safeList("/sys/bus/pci/devices"),
8012
8043
  readPciAttr: (device, attr) => safeRead(`/sys/bus/pci/devices/${device}/${attr}`),
@@ -7869,9 +7869,9 @@ function currentDelegateHost() {
7869
7869
  override: process.env[EDGETPU_LIB_ENV]
7870
7870
  };
7871
7871
  }
7872
- function countUsbCorals(fsx) {
7872
+ function countUsbCorals(devices, fsx) {
7873
7873
  let count = 0;
7874
- for (const device of fsx.listUsbDevices()) {
7874
+ for (const device of devices) {
7875
7875
  const vendor = fsx.readUsbAttr(device, "idVendor").toLowerCase();
7876
7876
  const product = fsx.readUsbAttr(device, "idProduct").toLowerCase();
7877
7877
  if (CORAL_USB_IDS.some((id) => id.vendor === vendor && id.product === product)) count++;
@@ -7910,21 +7910,33 @@ function classifyPci(fsx) {
7910
7910
  };
7911
7911
  }
7912
7912
  /**
7913
- * Detect Coral Edge TPUs on USB and PCIe/M.2.
7913
+ * Detect Coral Edge TPUs on USB and PCIe/M.2 — the answer only. See
7914
+ * {@link detectCoralAccelerator} for the evidence that decided it.
7915
+ */
7916
+ function classifyCoralAccelerator(fsx, delegateHost = currentDelegateHost()) {
7917
+ return detectCoralAccelerator(fsx, delegateHost).info;
7918
+ }
7919
+ /**
7920
+ * Detect Coral Edge TPUs on USB and PCIe/M.2, with the evidence that decided.
7914
7921
  *
7915
7922
  * - USB: every matching USB device counts (multiple Corals run concurrently).
7916
7923
  * - PCIe: the apex driver's units, each usable only if its device node opens;
7917
7924
  * a Coral PCI function the driver did not bind is `driver-missing`.
7918
- * - Fallback: when NO Coral signal of either bus is visible but the libedgetpu
7919
- * delegate is installed (a container whose `/sys` USB view is limited), one
7920
- * USB Coral is assumed — never when a PCI Coral was seen, since the delegate
7921
- * then says nothing about USB.
7925
+ * - Fallback: when the USB bus is NOT OBSERVABLE (`/sys/bus/usb/devices`
7926
+ * missing, unreadable or empty — a macOS desktop, a restricted container)
7927
+ * and no PCI Coral was seen, an installed libedgetpu delegate means one USB
7928
+ * Coral is assumed. A bus that IS readable and lists no Coral id is the
7929
+ * answer: no USB Coral. The delegate stays installed after a stick is
7930
+ * unplugged or moved to another node, so it is evidence only where nothing
7931
+ * better exists (D919).
7922
7932
  *
7923
7933
  * Returns `null` only when no Coral was found at all; a present-but-unusable
7924
7934
  * Coral is reported with its typed reason, never as absent (D393/D315).
7925
7935
  */
7926
- function classifyCoralAccelerator(fsx, delegateHost = currentDelegateHost()) {
7927
- const usb = countUsbCorals(fsx);
7936
+ function detectCoralAccelerator(fsx, delegateHost = currentDelegateHost()) {
7937
+ const usbDevices = fsx.listUsbDevices();
7938
+ const usbBus = usbDevices !== null && usbDevices.length > 0 ? "observed" : "unobservable";
7939
+ const usb = usbDevices === null ? 0 : countUsbCorals(usbDevices, fsx);
7928
7940
  const pci = classifyPci(fsx);
7929
7941
  const units = [];
7930
7942
  if (usb > 0) units.push({
@@ -7946,25 +7958,44 @@ function classifyCoralAccelerator(fsx, delegateHost = currentDelegateHost()) {
7946
7958
  count: pci.notAccessible,
7947
7959
  reason: "device-not-accessible"
7948
7960
  });
7949
- if (units.length > 0 || unavailable.length > 0) return unavailable.length > 0 ? {
7950
- type: "coral-edgetpu",
7951
- units,
7952
- unavailable
7953
- } : {
7954
- type: "coral-edgetpu",
7955
- units
7956
- };
7957
- if (chooseEdgetpuDelegate({
7961
+ if (units.length > 0 || unavailable.length > 0) return {
7962
+ info: unavailable.length > 0 ? {
7963
+ type: "coral-edgetpu",
7964
+ units,
7965
+ unavailable
7966
+ } : {
7967
+ type: "coral-edgetpu",
7968
+ units
7969
+ },
7970
+ usbBus,
7971
+ decidedBy: usb > 0 ? "usb-ids" : "pci"
7972
+ };
7973
+ if (usbBus === "unobservable" && chooseEdgetpuDelegate({
7958
7974
  ...delegateHost,
7959
7975
  exists: (p) => fsx.exists(p)
7960
7976
  }) !== null) return {
7961
- type: "coral-edgetpu",
7962
- units: [{
7963
- bus: "usb",
7964
- count: 1
7965
- }]
7977
+ info: {
7978
+ type: "coral-edgetpu",
7979
+ units: [{
7980
+ bus: "usb",
7981
+ count: 1
7982
+ }]
7983
+ },
7984
+ usbBus,
7985
+ decidedBy: "delegate-fallback"
7966
7986
  };
7967
- return null;
7987
+ return {
7988
+ info: null,
7989
+ usbBus,
7990
+ decidedBy: "none"
7991
+ };
7992
+ }
7993
+ function safeListOrNull(dir) {
7994
+ try {
7995
+ return fs.readdirSync(dir);
7996
+ } catch {
7997
+ return null;
7998
+ }
7968
7999
  }
7969
8000
  function safeList(dir) {
7970
8001
  try {
@@ -7982,7 +8013,7 @@ function safeRead(path) {
7982
8013
  }
7983
8014
  /** The real filesystem view: `/sys` for enumeration, `/dev` for access. */
7984
8015
  var nodeCoralFs = {
7985
- listUsbDevices: () => safeList("/sys/bus/usb/devices"),
8016
+ listUsbDevices: () => safeListOrNull("/sys/bus/usb/devices"),
7986
8017
  readUsbAttr: (device, attr) => safeRead(`/sys/bus/usb/devices/${device}/${attr}`),
7987
8018
  listPciDevices: () => safeList("/sys/bus/pci/devices"),
7988
8019
  readPciAttr: (device, attr) => safeRead(`/sys/bus/pci/devices/${device}/${attr}`),
@@ -1,3 +1,3 @@
1
- import { C as isModelDownloaded, S as isModelDownloadHttpError, _ as downloadFile, a as startEventLoopStallMonitor, f as ModelDownloadService, g as deleteModelFromDisk, h as collectModelFiles, i as attributeStall, l as parseRangeHeader, m as adoptModelRevisions, n as STALL_REPORT_MS, o as createFileDataPlaneHandler, p as ModelDownloadHttpError, r as STALL_TICK_MS, s as contentTypeFor, t as CustomActionRegistry, w as resolveFormatRevision, x as getModelFilePath, y as ensureModel } from "./custom-action-registry-DZSCLBuT.mjs";
1
+ import { C as isModelDownloaded, S as isModelDownloadHttpError, _ as downloadFile, a as startEventLoopStallMonitor, f as ModelDownloadService, g as deleteModelFromDisk, h as collectModelFiles, i as attributeStall, l as parseRangeHeader, m as adoptModelRevisions, n as STALL_REPORT_MS, o as createFileDataPlaneHandler, p as ModelDownloadHttpError, r as STALL_TICK_MS, s as contentTypeFor, t as CustomActionRegistry, w as resolveFormatRevision, x as getModelFilePath, y as ensureModel } from "./custom-action-registry-BGYDjTqY.mjs";
2
2
  import { i as renderCourtesyOverlayJpeg, n as courtesyCacheKey, r as renderCourtesyJpeg, t as COURTESY_DEFAULT_WIDTH } from "./snapshot-courtesy-CyFs1M3I.mjs";
3
3
  export { COURTESY_DEFAULT_WIDTH, CustomActionRegistry, ModelDownloadHttpError, ModelDownloadService, STALL_REPORT_MS, STALL_TICK_MS, adoptModelRevisions, attributeStall, collectModelFiles, contentTypeFor, courtesyCacheKey, createFileDataPlaneHandler, deleteModelFromDisk, downloadFile, ensureModel, getModelFilePath, isModelDownloadHttpError, isModelDownloaded, parseRangeHeader, renderCourtesyJpeg, renderCourtesyOverlayJpeg, resolveFormatRevision, startEventLoopStallMonitor };
@@ -1,5 +1,5 @@
1
1
  const require_chunk = require("./chunk-Cek0wNdY.js");
2
- const require_dist = require("./dist-DuBtzSCh.js");
2
+ const require_dist = require("./dist-DRL3rEfN.js");
3
3
  const require_x509_es = require("./x509.es-C4cOo48M.js");
4
4
  let zod = require("zod");
5
5
  let node_crypto = require("node:crypto");
@@ -1,4 +1,4 @@
1
- import { Ki as defineRecordKinds } from "./dist-CtVVtyTX.mjs";
1
+ import { Ki as defineRecordKinds } from "./dist-X1r44BdF.mjs";
2
2
  import { S as backdatedNotBefore, _ as NameConstraints, a as KeyUsageFlags, c as Pkcs10CertificateRequest, d as SubjectKeyIdentifierExtension, f as X509Certificate$1, g as GeneralSubtrees, h as GeneralSubtree, i as Extension, l as Pkcs10CertificateRequestGenerator, m as cryptoProvider, n as BasicConstraintsExtension, o as KeyUsagesExtension, p as X509CertificateGenerator, r as ExtendedKeyUsageExtension, s as PemConverter, t as AuthorityKeyIdentifierExtension, u as SubjectAlternativeNameExtension, v as GeneralName, x as AsnConvert } from "./x509.es-DK__ETIe.mjs";
3
3
  import { z } from "zod";
4
4
  import { X509Certificate, createHash, createPrivateKey, randomBytes, webcrypto } from "node:crypto";
@@ -3,7 +3,7 @@ Object.defineProperties(exports, {
3
3
  [Symbol.toStringTag]: { value: "Module" }
4
4
  });
5
5
  const require_chunk = require("../../chunk-Cek0wNdY.js");
6
- const require_dist = require("../../dist-DuBtzSCh.js");
6
+ const require_dist = require("../../dist-DRL3rEfN.js");
7
7
  const require_settle_sources = require("../../settle-sources-Bhsy57y-.js");
8
8
  let node_crypto = require("node:crypto");
9
9
  let node_path = require("node:path");
@@ -1,8 +1,8 @@
1
- import { $r as errMsg, Da as EventCategory, _t as addonPagesCapability, ei as BaseAddon } from "../../dist-CtVVtyTX.mjs";
1
+ import { $r as errMsg, Da as EventCategory, _t as addonPagesCapability, ei as BaseAddon } from "../../dist-X1r44BdF.mjs";
2
2
  import { t as settleSourcesWithTimeout } from "../../settle-sources-CDtNC8ub.mjs";
3
3
  import { createHash, randomUUID } from "node:crypto";
4
4
  import * as path$1 from "node:path";
5
- import * as fs$1 from "node:fs";
5
+ import * as fs from "node:fs";
6
6
  //#region src/builtins/addon-pages-aggregator/dedupe-pages.ts
7
7
  /** Stable identity for an addon page, independent of which node reported it. */
8
8
  function pageKey(info) {
@@ -211,11 +211,11 @@ var AddonPagesAggregatorAddon = class extends BaseAddon {
211
211
  const bundlePath = this.resolveBundlePath(addonId, bundle);
212
212
  if (bundlePath === null) return `/api/addon-pages/${addonId}/${bundle}?v=${Math.floor(Date.now())}`;
213
213
  try {
214
- const stat = fs$1.statSync(bundlePath);
214
+ const stat = fs.statSync(bundlePath);
215
215
  const cacheKey = `${bundlePath}:${stat.size}:${stat.mtimeMs}`;
216
216
  let v = this.bundleHashCache.get(cacheKey);
217
217
  if (v === void 0) {
218
- v = createHash("sha1").update(fs$1.readFileSync(bundlePath)).digest("hex").slice(0, 12);
218
+ v = createHash("sha1").update(fs.readFileSync(bundlePath)).digest("hex").slice(0, 12);
219
219
  this.bundleHashCache.set(cacheKey, v);
220
220
  }
221
221
  return `/api/addon-pages/${addonId}/${bundle}?v=${v}`;
@@ -3,7 +3,7 @@ Object.defineProperties(exports, {
3
3
  [Symbol.toStringTag]: { value: "Module" }
4
4
  });
5
5
  const require_chunk = require("../../chunk-Cek0wNdY.js");
6
- const require_dist = require("../../dist-DuBtzSCh.js");
6
+ const require_dist = require("../../dist-DRL3rEfN.js");
7
7
  const require_settle_sources = require("../../settle-sources-Bhsy57y-.js");
8
8
  let node_crypto = require("node:crypto");
9
9
  let node_path = require("node:path");
@@ -1,8 +1,8 @@
1
- import { $r as errMsg, Da as EventCategory, ei as BaseAddon, yt as addonWidgetsCapability } from "../../dist-CtVVtyTX.mjs";
1
+ import { $r as errMsg, Da as EventCategory, ei as BaseAddon, yt as addonWidgetsCapability } from "../../dist-X1r44BdF.mjs";
2
2
  import { t as settleSourcesWithTimeout } from "../../settle-sources-CDtNC8ub.mjs";
3
3
  import { createHash, randomUUID } from "node:crypto";
4
4
  import * as path$1 from "node:path";
5
- import * as fs$1 from "node:fs";
5
+ import * as fs from "node:fs";
6
6
  //#region src/builtins/addon-widgets-aggregator/addon-widgets-aggregator.addon.ts
7
7
  /**
8
8
  * Addon Widgets Aggregator — hub-local builtin that owns the singleton
@@ -204,9 +204,9 @@ var AddonWidgetsAggregatorAddon = class extends BaseAddon {
204
204
  if (entryPath === null) return String(Math.floor(Date.now()));
205
205
  try {
206
206
  const dir = path$1.dirname(entryPath);
207
- const files = fs$1.readdirSync(dir).filter((f) => fs$1.statSync(path$1.join(dir, f)).isFile()).sort();
207
+ const files = fs.readdirSync(dir).filter((f) => fs.statSync(path$1.join(dir, f)).isFile()).sort();
208
208
  const cacheKey = `${dir}#${files.map((f) => {
209
- const s = fs$1.statSync(path$1.join(dir, f));
209
+ const s = fs.statSync(path$1.join(dir, f));
210
210
  return `${f}:${s.size}:${s.mtimeMs}`;
211
211
  }).join("|")}`;
212
212
  const cached = this.bundleHashCache.get(cacheKey);
@@ -214,7 +214,7 @@ var AddonWidgetsAggregatorAddon = class extends BaseAddon {
214
214
  const hash = createHash("sha1");
215
215
  for (const f of files) {
216
216
  hash.update(f);
217
- hash.update(fs$1.readFileSync(path$1.join(dir, f)));
217
+ hash.update(fs.readFileSync(path$1.join(dir, f)));
218
218
  }
219
219
  const digest = hash.digest("hex").slice(0, 12);
220
220
  this.bundleHashCache.set(cacheKey, digest);
@@ -3,7 +3,7 @@ Object.defineProperties(exports, {
3
3
  [Symbol.toStringTag]: { value: "Module" }
4
4
  });
5
5
  require("../../chunk-Cek0wNdY.js");
6
- const require_dist = require("../../dist-DuBtzSCh.js");
6
+ const require_dist = require("../../dist-DRL3rEfN.js");
7
7
  const require_read_all_rows$1 = require("../../read-all-rows-CVoO1ONM.js");
8
8
  //#region src/builtins/alerts/alert-episode-policy.ts
9
9
  /**
@@ -1,4 +1,4 @@
1
- import { $r as errMsg, Da as EventCategory, Ki as defineRecordKinds, St as alertsCapability, Ui as createEvent, bn as isAlertEpisodeSeverity, bt as alertEpisodeId, ei as BaseAddon, i as AlertSchema, xt as alertEpisodePayload, yn as isAlertEpisodeOpen } from "../../dist-CtVVtyTX.mjs";
1
+ import { $r as errMsg, Da as EventCategory, Ki as defineRecordKinds, St as alertsCapability, Ui as createEvent, bn as isAlertEpisodeSeverity, bt as alertEpisodeId, ei as BaseAddon, i as AlertSchema, xt as alertEpisodePayload, yn as isAlertEpisodeOpen } from "../../dist-X1r44BdF.mjs";
2
2
  import { t as require_read_all_rows } from "../../read-all-rows-TaPqdWNF.mjs";
3
3
  //#region src/builtins/alerts/alert-episode-policy.ts
4
4
  /**
@@ -3,7 +3,7 @@ Object.defineProperties(exports, {
3
3
  [Symbol.toStringTag]: { value: "Module" }
4
4
  });
5
5
  require("../../chunk-Cek0wNdY.js");
6
- const require_dist = require("../../dist-DuBtzSCh.js");
6
+ const require_dist = require("../../dist-DRL3rEfN.js");
7
7
  //#region src/builtins/autotrack/autotrack-config.ts
8
8
  var DEFAULT_AUTOTRACK_LOOP_CONFIG = {
9
9
  deadZoneFraction: .5,
@@ -1,4 +1,4 @@
1
- import { $r as errMsg, Da as EventCategory, Et as bareAddonId, I as FIRST_LEVEL_MACRO_CLASSES, ea as isEvent, ei as BaseAddon, tr as ptzAutotrackCapability } from "../../dist-CtVVtyTX.mjs";
1
+ import { $r as errMsg, Da as EventCategory, Et as bareAddonId, I as FIRST_LEVEL_MACRO_CLASSES, ea as isEvent, ei as BaseAddon, tr as ptzAutotrackCapability } from "../../dist-X1r44BdF.mjs";
2
2
  //#region src/builtins/autotrack/autotrack-config.ts
3
3
  var DEFAULT_AUTOTRACK_LOOP_CONFIG = {
4
4
  deadZoneFraction: .5,
@@ -3,9 +3,9 @@ Object.defineProperties(exports, {
3
3
  [Symbol.toStringTag]: { value: "Module" }
4
4
  });
5
5
  const require_chunk = require("../../chunk-Cek0wNdY.js");
6
- const require_dist = require("../../dist-DuBtzSCh.js");
6
+ const require_dist = require("../../dist-DRL3rEfN.js");
7
7
  const require_read_all_rows$1 = require("../../read-all-rows-CVoO1ONM.js");
8
- const require_restore_archive = require("../../restore-archive-CxPAuaNs.js");
8
+ const require_restore_archive = require("../../restore-archive-Df6PsOHP.js");
9
9
  let node_crypto = require("node:crypto");
10
10
  let node_fs_promises = require("node:fs/promises");
11
11
  node_fs_promises = require_chunk.__toESM(node_fs_promises);
@@ -1,10 +1,10 @@
1
- import { Da as EventCategory, Er as storageOccupancyCapability, Sa as toNodeId, Tt as backupCapability, Vn as mayWriteToLocation, ca as nodePin, ei as BaseAddon } from "../../dist-CtVVtyTX.mjs";
1
+ import { Da as EventCategory, Er as storageOccupancyCapability, Sa as toNodeId, Tt as backupCapability, Vn as mayWriteToLocation, ca as nodePin, ei as BaseAddon } from "../../dist-X1r44BdF.mjs";
2
2
  import { t as require_read_all_rows } from "../../read-all-rows-TaPqdWNF.mjs";
3
- import { _ as backupRecordStoresOf, a as BackupSnapshotRefusedError, d as ENCRYPTED_BACKUP_SUFFIX, f as generateBackupKeyPair, g as backupOrchestratorRecordKinds, i as BackupCancelledError, l as BackupKeyFormatError, m as parseBackupSecretKey, n as precheckRestoreKey, o as DEFAULT_BACKUP_DATABASES, p as parseBackupPublicKey, r as prepareRestoreArchive, s as SystemBackupService } from "../../restore-archive-D2w3z_ob.mjs";
3
+ import { _ as backupRecordStoresOf, a as BackupSnapshotRefusedError, d as ENCRYPTED_BACKUP_SUFFIX, f as generateBackupKeyPair, g as backupOrchestratorRecordKinds, i as BackupCancelledError, l as BackupKeyFormatError, m as parseBackupSecretKey, n as precheckRestoreKey, o as DEFAULT_BACKUP_DATABASES, p as parseBackupPublicKey, r as prepareRestoreArchive, s as SystemBackupService } from "../../restore-archive-X0ciGMmO.mjs";
4
4
  import { randomUUID } from "node:crypto";
5
5
  import * as fsp from "node:fs/promises";
6
6
  import * as path$1 from "node:path";
7
- import * as fs$1 from "node:fs";
7
+ import * as fs from "node:fs";
8
8
  //#region src/builtins/backup-orchestrator/backup-databases.ts
9
9
  /** Stable id of the seeded weekly schedule. */
10
10
  var WEEKLY_SCHEDULE_ID = "weekly-events-history";
@@ -1018,7 +1018,7 @@ async function downloadArchiveToCache(input) {
1018
1018
  location: input.locationId,
1019
1019
  relativePath: input.filename
1020
1020
  });
1021
- const writeStream = fs$1.createWriteStream(input.cachePath);
1021
+ const writeStream = fs.createWriteStream(input.cachePath);
1022
1022
  let offset = 0;
1023
1023
  try {
1024
1024
  while (offset < sizeBytes) {
@@ -2502,7 +2502,7 @@ var BackupOrchestratorAddon = class extends BaseAddon {
2502
2502
  });
2503
2503
  try {
2504
2504
  let offset = 0;
2505
- const stream = fs$1.createReadStream(input.cachePath, { highWaterMark: UPLOAD_CHUNK_BYTES });
2505
+ const stream = fs.createReadStream(input.cachePath, { highWaterMark: UPLOAD_CHUNK_BYTES });
2506
2506
  for await (const rawChunk of stream) {
2507
2507
  if (input.signal?.aborted) {
2508
2508
  stream.destroy();
@@ -3,7 +3,7 @@ Object.defineProperties(exports, {
3
3
  [Symbol.toStringTag]: { value: "Module" }
4
4
  });
5
5
  require("../../chunk-Cek0wNdY.js");
6
- const require_dist = require("../../dist-DuBtzSCh.js");
6
+ const require_dist = require("../../dist-DRL3rEfN.js");
7
7
  const require_settle_sources = require("../../settle-sources-Bhsy57y-.js");
8
8
  let zod = require("zod");
9
9
  //#region src/builtins/calendars/calendar-color.ts
@@ -1,4 +1,4 @@
1
- import { Ki as defineRecordKinds, Mt as calendarsCapability, ei as BaseAddon, g as CalendarPreferencesSchema } from "../../dist-CtVVtyTX.mjs";
1
+ import { Ki as defineRecordKinds, Mt as calendarsCapability, ei as BaseAddon, g as CalendarPreferencesSchema } from "../../dist-X1r44BdF.mjs";
2
2
  import { t as settleSourcesWithTimeout } from "../../settle-sources-CDtNC8ub.mjs";
3
3
  import { z } from "zod";
4
4
  //#region src/builtins/calendars/calendar-color.ts
@@ -3,7 +3,7 @@ Object.defineProperties(exports, {
3
3
  [Symbol.toStringTag]: { value: "Module" }
4
4
  });
5
5
  require("../../chunk-Cek0wNdY.js");
6
- const require_dist = require("../../dist-DuBtzSCh.js");
6
+ const require_dist = require("../../dist-DRL3rEfN.js");
7
7
  let zod = require("zod");
8
8
  let _camstack_types_node = require("@camstack/types/node");
9
9
  let node_path = require("node:path");
@@ -1,4 +1,4 @@
1
- import { $r as errMsg, Da as EventCategory, Gn as motionCapability, Hn as memoizePinnedFfmpeg, N as DeclaredDevices, Nt as cameraGridLayoutCapability, Or as streamCatalogCapability, Qi as hydrateSchema, Qr as DeviceType, T as DERIVED_CAMERA_SILENCED_CAP_NAMES, Ui as createEvent, X as MOTION_CLOSE_AFTER_MS, Xr as DeviceFeature, a as BaseDevice, ei as BaseAddon, qt as declarationOwnerNodeId, xr as snapshotCapability, zr as buildFfmpegArgs } from "../../dist-CtVVtyTX.mjs";
1
+ import { $r as errMsg, Da as EventCategory, Gn as motionCapability, Hn as memoizePinnedFfmpeg, N as DeclaredDevices, Nt as cameraGridLayoutCapability, Or as streamCatalogCapability, Qi as hydrateSchema, Qr as DeviceType, T as DERIVED_CAMERA_SILENCED_CAP_NAMES, Ui as createEvent, X as MOTION_CLOSE_AFTER_MS, Xr as DeviceFeature, a as BaseDevice, ei as BaseAddon, qt as declarationOwnerNodeId, xr as snapshotCapability, zr as buildFfmpegArgs } from "../../dist-X1r44BdF.mjs";
2
2
  import { z } from "zod";
3
3
  import { FfmpegProcess } from "@camstack/types/node";
4
4
  import { join } from "node:path";
@@ -3,8 +3,8 @@ Object.defineProperties(exports, {
3
3
  [Symbol.toStringTag]: { value: "Module" }
4
4
  });
5
5
  require("../../chunk-Cek0wNdY.js");
6
- const require_dist = require("../../dist-DuBtzSCh.js");
7
- const require_composition_sources = require("../../composition-sources-BGXTiUZm.js");
6
+ const require_dist = require("../../dist-DRL3rEfN.js");
7
+ const require_composition_sources = require("../../composition-sources-CRJffEiB.js");
8
8
  let zod = require("zod");
9
9
  //#region src/builtins/shared/device-state-changed.ts
10
10
  /** Structural narrowing helper for untrusted bus payloads. */
@@ -1,5 +1,5 @@
1
- import { $r as errMsg, Br as cloneStatefulExpressionMemory, Da as EventCategory, Gr as compositionSliceKey, Hr as composedDeviceStableId, It as composerCapability, Jr as disarmRoseMemory, Kr as compositionSourceKey, Lt as compositionFieldKey, N as DeclaredDevices, Ot as buildCapabilityLookup, Qn as planComposition, Qr as DeviceType, Rr as COMPOSER_ADDON_ID, Ui as createEvent, Ur as compositionFeatureEnabled, Vr as composedDeviceRef, Wr as compositionItemFieldPath, Yr as toExpressionValue, a as BaseDevice, cn as evaluateCompositionField, d as COMPOSED_ITEM_FIXED_FIELDS, dn as expressionContainsBuiltinCall, ei as BaseAddon, qr as createStatefulExpressionMemory, r as ALL_CAPABILITY_DEFINITIONS } from "../../dist-CtVVtyTX.mjs";
2
- import { n as normalizedNativeOwner } from "../../composition-sources-DTdzzyf0.mjs";
1
+ import { $r as errMsg, Br as cloneStatefulExpressionMemory, Da as EventCategory, Gr as compositionSliceKey, Hr as composedDeviceStableId, It as composerCapability, Jr as disarmRoseMemory, Kr as compositionSourceKey, Lt as compositionFieldKey, N as DeclaredDevices, Ot as buildCapabilityLookup, Qn as planComposition, Qr as DeviceType, Rr as COMPOSER_ADDON_ID, Ui as createEvent, Ur as compositionFeatureEnabled, Vr as composedDeviceRef, Wr as compositionItemFieldPath, Yr as toExpressionValue, a as BaseDevice, cn as evaluateCompositionField, d as COMPOSED_ITEM_FIXED_FIELDS, dn as expressionContainsBuiltinCall, ei as BaseAddon, qr as createStatefulExpressionMemory, r as ALL_CAPABILITY_DEFINITIONS } from "../../dist-X1r44BdF.mjs";
2
+ import { n as normalizedNativeOwner } from "../../composition-sources-B0tqvf0t.mjs";
3
3
  import { z } from "zod";
4
4
  //#region src/builtins/shared/device-state-changed.ts
5
5
  /** Structural narrowing helper for untrusted bus payloads. */
@@ -3,7 +3,7 @@ Object.defineProperties(exports, {
3
3
  [Symbol.toStringTag]: { value: "Module" }
4
4
  });
5
5
  require("../../chunk-Cek0wNdY.js");
6
- const require_dist = require("../../dist-DuBtzSCh.js");
6
+ const require_dist = require("../../dist-DRL3rEfN.js");
7
7
  const require_formatter = require("../../formatter-DqAKDlvN.js");
8
8
  //#region src/builtins/console-logging/console-destination.ts
9
9
  var LEVEL_RANK = {
@@ -1,4 +1,4 @@
1
- import { Ln as logDestinationCapability, ei as BaseAddon } from "../../dist-CtVVtyTX.mjs";
1
+ import { Ln as logDestinationCapability, ei as BaseAddon } from "../../dist-X1r44BdF.mjs";
2
2
  import { t as formatLogLine } from "../../formatter-B7qW8bPJ.mjs";
3
3
  //#region src/builtins/console-logging/console-destination.ts
4
4
  var LEVEL_RANK = {
@@ -1,8 +1,8 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  const require_chunk = require("../../chunk-Cek0wNdY.js");
3
- const require_dist = require("../../dist-DuBtzSCh.js");
3
+ const require_dist = require("../../dist-DRL3rEfN.js");
4
4
  const require_read_all_rows$1 = require("../../read-all-rows-CVoO1ONM.js");
5
- const require_composition_sources = require("../../composition-sources-BGXTiUZm.js");
5
+ const require_composition_sources = require("../../composition-sources-CRJffEiB.js");
6
6
  const require_prefix_range = require("../../prefix-range-D_KueXbQ.js");
7
7
  const require_prefix_walk = require("../../prefix-walk-Dv6MLZlM.js");
8
8
  let zod = require("zod");
@@ -1,6 +1,6 @@
1
- import { $r as errMsg, Bt as coreBlockComposition, Ht as coreBlockSourceKind, Ki as defineRecordKinds, Kn as normalizeCoreBlockWrite, Kr as compositionSourceKey, Mr as validateComposition, N as DeclaredDevices, Ot as buildCapabilityLookup, Qi as hydrateSchema, Qn as planComposition, Rt as compositionSourceRefs, Ut as coreBlocksCapability, Vi as collectSecretMarkerRefs, Vr as composedDeviceRef, Vt as coreBlockIdFromAddonId, Zt as describeComposableCaps, _a as resolveSecretMarkers, aa as isSecretRefOwnedBy, ar as replacedFieldKeys, ba as secretTreeFromSchema, cr as resolveCoreBlockEntry, ei as BaseAddon, f as COMPOSER_RUNNER_ID, lr as resolveCoreBlockFiles, m as CORE_BLOCK_ADDON_PREFIX, p as CORE_BLOCKS_ADDON_ID, r as ALL_CAPABILITY_DEFINITIONS, ra as isSecretMarker, v as CoreBlockSchema, wa as transformSecretWrite, zt as coreBlockAddonId } from "../../dist-CtVVtyTX.mjs";
1
+ import { $r as errMsg, Bt as coreBlockComposition, Ht as coreBlockSourceKind, Ki as defineRecordKinds, Kn as normalizeCoreBlockWrite, Kr as compositionSourceKey, Mr as validateComposition, N as DeclaredDevices, Ot as buildCapabilityLookup, Qi as hydrateSchema, Qn as planComposition, Rt as compositionSourceRefs, Ut as coreBlocksCapability, Vi as collectSecretMarkerRefs, Vr as composedDeviceRef, Vt as coreBlockIdFromAddonId, Zt as describeComposableCaps, _a as resolveSecretMarkers, aa as isSecretRefOwnedBy, ar as replacedFieldKeys, ba as secretTreeFromSchema, cr as resolveCoreBlockEntry, ei as BaseAddon, f as COMPOSER_RUNNER_ID, lr as resolveCoreBlockFiles, m as CORE_BLOCK_ADDON_PREFIX, p as CORE_BLOCKS_ADDON_ID, r as ALL_CAPABILITY_DEFINITIONS, ra as isSecretMarker, v as CoreBlockSchema, wa as transformSecretWrite, zt as coreBlockAddonId } from "../../dist-X1r44BdF.mjs";
2
2
  import { t as require_read_all_rows } from "../../read-all-rows-TaPqdWNF.mjs";
3
- import { t as describeCompositionSources } from "../../composition-sources-DTdzzyf0.mjs";
3
+ import { t as describeCompositionSources } from "../../composition-sources-B0tqvf0t.mjs";
4
4
  import { t as prefixRange } from "../../prefix-range-Dl0znowN.mjs";
5
5
  import { n as unwrapStoredValue, t as loadPrefixed } from "../../prefix-walk-DAOBSyH1.mjs";
6
6
  import { createRequire } from "node:module";
@@ -3,7 +3,7 @@ Object.defineProperties(exports, {
3
3
  [Symbol.toStringTag]: { value: "Module" }
4
4
  });
5
5
  require("../../chunk-Cek0wNdY.js");
6
- const require_dist = require("../../dist-DuBtzSCh.js");
6
+ const require_dist = require("../../dist-DRL3rEfN.js");
7
7
  //#region src/builtins/device-history/time/bucket-time.ts
8
8
  /**
9
9
  * Bucket arithmetic for the three rollup tiers (D850, plan §4/§5.5).
@@ -1,4 +1,4 @@
1
- import { B as HISTORY_ITEM_CATALOG, Ct as armRemovalReconcile, D as DEVICE_HISTORY_ENERGY_KEY, Da as EventCategory, Ji as emitReadiness, Qr as DeviceType, Zi as historyItemFieldPath, ei as BaseAddon, en as deviceHistoryCapability, li as HISTORY_DEFAULT_MIN_INTERVAL_MS, nn as deviceRemovalHookCapability, z as HISTORY_CATALOG } from "../../dist-CtVVtyTX.mjs";
1
+ import { B as HISTORY_ITEM_CATALOG, Ct as armRemovalReconcile, D as DEVICE_HISTORY_ENERGY_KEY, Da as EventCategory, Ji as emitReadiness, Qr as DeviceType, Zi as historyItemFieldPath, ei as BaseAddon, en as deviceHistoryCapability, li as HISTORY_DEFAULT_MIN_INTERVAL_MS, nn as deviceRemovalHookCapability, z as HISTORY_CATALOG } from "../../dist-X1r44BdF.mjs";
2
2
  //#region src/builtins/device-history/time/bucket-time.ts
3
3
  /**
4
4
  * Bucket arithmetic for the three rollup tiers (D850, plan §4/§5.5).
@@ -3,7 +3,7 @@ Object.defineProperties(exports, {
3
3
  [Symbol.toStringTag]: { value: "Module" }
4
4
  });
5
5
  require("../../chunk-Cek0wNdY.js");
6
- const require_dist = require("../../dist-DuBtzSCh.js");
6
+ const require_dist = require("../../dist-DRL3rEfN.js");
7
7
  const require_read_all_rows$1 = require("../../read-all-rows-CVoO1ONM.js");
8
8
  const require_prefix_range = require("../../prefix-range-D_KueXbQ.js");
9
9
  const require_prefix_walk = require("../../prefix-walk-Dv6MLZlM.js");
@@ -1,4 +1,4 @@
1
- import { $i as isDeviceConfigCap, $r as errMsg, $t as deviceExtensionCapability, Ca as toSecretFieldView, Da as EventCategory, Di as SECRET_CLEAR, F as DeviceTombstoneSchema, Hi as collectZodSecretPaths, In as locationIconKey, Ki as defineRecordKinds, L as FieldClaimModeSchema, Mi as WELL_KNOWN_TAB_MAP, Mn as legacyAutoLinkIds, P as DeviceStatusSchema, Pt as canonicalIconKey, Qr as DeviceType, R as FieldClaimSchema, Ta as userError, Wt as createDeviceExtensionProvider, Xn as parseStreamParamsFormPatch, Xr as DeviceFeature, Y as MINUTES_PER_DAY, Yt as defineExtensionSlotProvider, Zr as DeviceRole, _a as resolveSecretMarkers, br as siteZoneKey, ei as BaseAddon, gn as formatMinutes, ia as isSecretMarkerLike, in as deviceStatusCapability, jt as buildStreamParamsConfigSchema, l as CAP_NAMES_WITH_STATUS, mr as runtimeStatePolicyFor, na as isSecretClear, on as enumerateItemArrayFields, ot as STREAM_PROFILE_META, qn as normalizeUnit, r as ALL_CAPABILITY_DEFINITIONS, ra as isSecretMarker, rn as deviceStateCapability, s as CAMERA_SWITCH_ORDER, sn as enumerateSchemaFields, ta as isKeychainStoredField, tn as deviceManagerCapability, un as expandContainer, w as DAY_NAMES, wa as transformSecretWrite, xa as sleep$1, ya as secretTreeFromPaths } from "../../dist-CtVVtyTX.mjs";
1
+ import { $i as isDeviceConfigCap, $r as errMsg, $t as deviceExtensionCapability, Ca as toSecretFieldView, Da as EventCategory, Di as SECRET_CLEAR, F as DeviceTombstoneSchema, Hi as collectZodSecretPaths, In as locationIconKey, Ki as defineRecordKinds, L as FieldClaimModeSchema, Mi as WELL_KNOWN_TAB_MAP, Mn as legacyAutoLinkIds, P as DeviceStatusSchema, Pt as canonicalIconKey, Qr as DeviceType, R as FieldClaimSchema, Ta as userError, Wt as createDeviceExtensionProvider, Xn as parseStreamParamsFormPatch, Xr as DeviceFeature, Y as MINUTES_PER_DAY, Yt as defineExtensionSlotProvider, Zr as DeviceRole, _a as resolveSecretMarkers, br as siteZoneKey, ei as BaseAddon, gn as formatMinutes, ia as isSecretMarkerLike, in as deviceStatusCapability, jt as buildStreamParamsConfigSchema, l as CAP_NAMES_WITH_STATUS, mr as runtimeStatePolicyFor, na as isSecretClear, on as enumerateItemArrayFields, ot as STREAM_PROFILE_META, qn as normalizeUnit, r as ALL_CAPABILITY_DEFINITIONS, ra as isSecretMarker, rn as deviceStateCapability, s as CAMERA_SWITCH_ORDER, sn as enumerateSchemaFields, ta as isKeychainStoredField, tn as deviceManagerCapability, un as expandContainer, w as DAY_NAMES, wa as transformSecretWrite, xa as sleep$1, ya as secretTreeFromPaths } from "../../dist-X1r44BdF.mjs";
2
2
  import { t as require_read_all_rows } from "../../read-all-rows-TaPqdWNF.mjs";
3
3
  import { t as prefixRange } from "../../prefix-range-Dl0znowN.mjs";
4
4
  import { t as loadPrefixed } from "../../prefix-walk-DAOBSyH1.mjs";
@@ -3,7 +3,7 @@ Object.defineProperties(exports, {
3
3
  [Symbol.toStringTag]: { value: "Module" }
4
4
  });
5
5
  require("../../chunk-Cek0wNdY.js");
6
- const require_dist = require("../../dist-DuBtzSCh.js");
6
+ const require_dist = require("../../dist-DRL3rEfN.js");
7
7
  const require_formatter = require("../../formatter-DqAKDlvN.js");
8
8
  //#region src/builtins/hub-forwarder/hub-forwarder-destination.ts
9
9
  var DEFAULT_OUTBOUND_BUFFER_SIZE = 500;
@@ -1,4 +1,4 @@
1
- import { Ln as logDestinationCapability, ei as BaseAddon } from "../../dist-CtVVtyTX.mjs";
1
+ import { Ln as logDestinationCapability, ei as BaseAddon } from "../../dist-X1r44BdF.mjs";
2
2
  import { t as formatLogLine } from "../../formatter-B7qW8bPJ.mjs";
3
3
  //#region src/builtins/hub-forwarder/hub-forwarder-destination.ts
4
4
  var DEFAULT_OUTBOUND_BUFFER_SIZE = 500;
@@ -3,10 +3,10 @@ Object.defineProperties(exports, {
3
3
  [Symbol.toStringTag]: { value: "Module" }
4
4
  });
5
5
  const require_chunk = require("../../chunk-Cek0wNdY.js");
6
- const require_dist = require("../../dist-DuBtzSCh.js");
7
- const require_device_ca = require("../../device-ca-CC58lmNV.js");
6
+ const require_dist = require("../../dist-DRL3rEfN.js");
7
+ const require_device_ca = require("../../device-ca-R4MZZtc0.js");
8
8
  const require_read_all_rows$1 = require("../../read-all-rows-CVoO1ONM.js");
9
- const require_constants = require("../../constants-2mPqJjkR.js");
9
+ const require_constants = require("../../constants-WF1AqoKF.js");
10
10
  const require_platform_key_source = require("../../platform-key-source-Di7HrlGR.js");
11
11
  let node_crypto = require("node:crypto");
12
12
  let _camstack_types_node = require("@camstack/types/node");
@@ -1,7 +1,7 @@
1
- import { An as keychainAdminCapability, Da as EventCategory, G as KeychainResetRecordSchema, Ki as defineRecordKinds, U as KEYCHAIN_RESET_TRIGGER_ACTOR, W as KeychainAuditEntrySchema, Xi as formatSecretScope, ei as BaseAddon, jn as keychainCapability, pa as parseSecretRef, ua as normalizeSecretOwner } from "../../dist-CtVVtyTX.mjs";
2
- import { d as JWT_SIGNING_KEY_REF, n as DEVICE_CA_KEY_REF, p as SYSTEM_SECRET_OWNER } from "../../device-ca-CFdyrqeJ.mjs";
1
+ import { An as keychainAdminCapability, Da as EventCategory, G as KeychainResetRecordSchema, Ki as defineRecordKinds, U as KEYCHAIN_RESET_TRIGGER_ACTOR, W as KeychainAuditEntrySchema, Xi as formatSecretScope, ei as BaseAddon, jn as keychainCapability, pa as parseSecretRef, ua as normalizeSecretOwner } from "../../dist-X1r44BdF.mjs";
2
+ import { d as JWT_SIGNING_KEY_REF, n as DEVICE_CA_KEY_REF, p as SYSTEM_SECRET_OWNER } from "../../device-ca-DYmToMp8.mjs";
3
3
  import { t as require_read_all_rows } from "../../read-all-rows-TaPqdWNF.mjs";
4
- import { a as MESH_CA_KEY_REF } from "../../constants-md_POijo.mjs";
4
+ import { a as MESH_CA_KEY_REF } from "../../constants--A505iuO.mjs";
5
5
  import { n as getPlatformKeychainKey } from "../../platform-key-source-BWlq0jjn.mjs";
6
6
  import { createCipheriv, createDecipheriv, createHmac, randomBytes, randomUUID, timingSafeEqual } from "node:crypto";
7
7
  import { restrictDirToOwnerSync, restrictFileToOwnerSync, writeOwnerOnlyFileSync } from "@camstack/types/node";