@camstack/system 1.2.200 → 1.2.201

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 (54) hide show
  1. package/dist/builtins/addon-pages-aggregator/addon-pages-aggregator.addon.js +1 -1
  2. package/dist/builtins/addon-pages-aggregator/addon-pages-aggregator.addon.mjs +1 -1
  3. package/dist/builtins/addon-widgets-aggregator/addon-widgets-aggregator.addon.js +1 -1
  4. package/dist/builtins/addon-widgets-aggregator/addon-widgets-aggregator.addon.mjs +1 -1
  5. package/dist/builtins/alerts/alerts.addon.js +1 -1
  6. package/dist/builtins/alerts/alerts.addon.mjs +1 -1
  7. package/dist/builtins/backup-orchestrator/backup-orchestrator.addon.d.ts +38 -9
  8. package/dist/builtins/backup-orchestrator/backup-orchestrator.addon.js +234 -81
  9. package/dist/builtins/backup-orchestrator/backup-orchestrator.addon.mjs +234 -81
  10. package/dist/builtins/backup-orchestrator/destination-policy.d.ts +32 -14
  11. package/dist/builtins/backup-orchestrator/schedule-store.d.ts +12 -2
  12. package/dist/builtins/console-logging/index.js +1 -1
  13. package/dist/builtins/console-logging/index.mjs +1 -1
  14. package/dist/builtins/core-blocks/core-blocks.addon.js +1 -1
  15. package/dist/builtins/core-blocks/core-blocks.addon.mjs +1 -1
  16. package/dist/builtins/device-manager/device-manager.addon.js +2 -2
  17. package/dist/builtins/device-manager/device-manager.addon.mjs +2 -2
  18. package/dist/builtins/doorbell/virtual-doorbell.addon.js +1 -1
  19. package/dist/builtins/doorbell/virtual-doorbell.addon.mjs +1 -1
  20. package/dist/builtins/hub-forwarder/index.js +1 -1
  21. package/dist/builtins/hub-forwarder/index.mjs +1 -1
  22. package/dist/builtins/liveness-monitor/liveness-monitor.addon.js +1 -1
  23. package/dist/builtins/liveness-monitor/liveness-monitor.addon.mjs +1 -1
  24. package/dist/builtins/local-auth/local-auth.addon.js +1 -1
  25. package/dist/builtins/local-auth/local-auth.addon.mjs +1 -1
  26. package/dist/builtins/local-network/local-network.addon.js +1 -1
  27. package/dist/builtins/local-network/local-network.addon.mjs +1 -1
  28. package/dist/builtins/loki-logging/index.js +1 -1
  29. package/dist/builtins/loki-logging/index.mjs +1 -1
  30. package/dist/builtins/native-metrics/native-metrics.addon.js +1 -1
  31. package/dist/builtins/native-metrics/native-metrics.addon.mjs +1 -1
  32. package/dist/builtins/platform-probe/index.js +1 -1
  33. package/dist/builtins/platform-probe/index.mjs +1 -1
  34. package/dist/builtins/remote-access-orchestrator/remote-access-orchestrator.addon.js +1 -1
  35. package/dist/builtins/remote-access-orchestrator/remote-access-orchestrator.addon.mjs +1 -1
  36. package/dist/builtins/snapshot/index.js +1 -1
  37. package/dist/builtins/snapshot/index.mjs +1 -1
  38. package/dist/builtins/sqlite-storage/filesystem-storage.addon.js +1 -1
  39. package/dist/builtins/sqlite-storage/filesystem-storage.addon.mjs +1 -1
  40. package/dist/builtins/sqlite-storage/sqlite-settings.addon.js +0 -0
  41. package/dist/builtins/sqlite-storage/sqlite-settings.addon.mjs +0 -0
  42. package/dist/builtins/storage-orchestrator/storage-orchestrator.addon.js +1 -1
  43. package/dist/builtins/storage-orchestrator/storage-orchestrator.addon.mjs +1 -1
  44. package/dist/builtins/system-config/system-config.addon.js +1 -1
  45. package/dist/builtins/system-config/system-config.addon.mjs +1 -1
  46. package/dist/builtins/winston-logging/index.js +1 -1
  47. package/dist/builtins/winston-logging/index.mjs +1 -1
  48. package/dist/{dist-CCp74QLJ.mjs → dist-BmJNnb_s.mjs} +33 -14
  49. package/dist/{dist-KQ5D2wqr.js → dist-CcV3k-hD.js} +33 -14
  50. package/dist/index.js +1 -1
  51. package/dist/index.mjs +1 -1
  52. package/dist/{retired-settings-keys-2lWk7OeU.js → retired-settings-keys-Bd8fuwO1.js} +1 -1
  53. package/dist/{retired-settings-keys-7P9XwNdl.mjs → retired-settings-keys-nLVKlhe-.mjs} +1 -1
  54. package/package.json +1 -1
@@ -1,4 +1,4 @@
1
- import { It as BaseAddon, lt as logDestinationCapability } from "../../dist-CCp74QLJ.mjs";
1
+ import { It as BaseAddon, lt as logDestinationCapability } from "../../dist-BmJNnb_s.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,6 +1,6 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  const require_chunk = require("../../chunk-Cek0wNdY.js");
3
- const require_dist = require("../../dist-KQ5D2wqr.js");
3
+ const require_dist = require("../../dist-CcV3k-hD.js");
4
4
  let node_crypto = require("node:crypto");
5
5
  let node_fs_promises = require("node:fs/promises");
6
6
  node_fs_promises = require_chunk.__toESM(node_fs_promises);
@@ -1,4 +1,4 @@
1
- import { Ft as errMsg, It as BaseAddon, L as coreBlockAddonId, R as coreBlockIdFromAddonId, c as CORE_BLOCK_ADDON_PREFIX, d as DeclaredDevices, l as CoreBlockSchema, s as CORE_BLOCKS_ADDON_ID, z as coreBlocksCapability } from "../../dist-CCp74QLJ.mjs";
1
+ import { Ft as errMsg, It as BaseAddon, L as coreBlockAddonId, R as coreBlockIdFromAddonId, c as CORE_BLOCK_ADDON_PREFIX, d as DeclaredDevices, l as CoreBlockSchema, s as CORE_BLOCKS_ADDON_ID, z as coreBlocksCapability } from "../../dist-BmJNnb_s.mjs";
2
2
  import { randomUUID } from "node:crypto";
3
3
  import * as fs from "node:fs/promises";
4
4
  import * as path$1 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-KQ5D2wqr.js");
7
- const require_retired_settings_keys = require("../../retired-settings-keys-2lWk7OeU.js");
6
+ const require_dist = require("../../dist-CcV3k-hD.js");
7
+ const require_retired_settings_keys = require("../../retired-settings-keys-Bd8fuwO1.js");
8
8
  let node_crypto = require("node:crypto");
9
9
  let _camstack_types_node = require("@camstack/types/node");
10
10
  //#region src/builtins/device-manager/adoption-job-engine.ts
@@ -1,5 +1,5 @@
1
- import { Bt as DeviceFeature, F as buildStreamParamsConfigSchema, Ft as errMsg, G as deviceStatusCapability, Gt as WELL_KNOWN_TAB_MAP, Ht as DeviceType, It as BaseAddon, J as enumerateItemArrayFields, St as runtimeStatePolicyFor, U as deviceManagerCapability, Vt as DeviceRole, W as deviceStateCapability, Y as enumerateSchemaFields, a as CAMERA_SWITCH_ORDER, bt as resolveContainerPrimaryChild, cn as EventCategory, en as isDeviceConfigCap, f as DeviceStatusSchema, ht as parseStreamParamsFormPatch, o as CAP_NAMES_WITH_STATUS, pt as normalizeUnit, sn as sleep, t as ALL_CAPABILITY_DEFINITIONS, x as STREAM_PROFILE_META } from "../../dist-CCp74QLJ.mjs";
2
- import { n as purgeRetiredSettingsRows } from "../../retired-settings-keys-7P9XwNdl.mjs";
1
+ import { Bt as DeviceFeature, F as buildStreamParamsConfigSchema, Ft as errMsg, G as deviceStatusCapability, Gt as WELL_KNOWN_TAB_MAP, Ht as DeviceType, It as BaseAddon, J as enumerateItemArrayFields, St as runtimeStatePolicyFor, U as deviceManagerCapability, Vt as DeviceRole, W as deviceStateCapability, Y as enumerateSchemaFields, a as CAMERA_SWITCH_ORDER, bt as resolveContainerPrimaryChild, cn as EventCategory, en as isDeviceConfigCap, f as DeviceStatusSchema, ht as parseStreamParamsFormPatch, o as CAP_NAMES_WITH_STATUS, pt as normalizeUnit, sn as sleep, t as ALL_CAPABILITY_DEFINITIONS, x as STREAM_PROFILE_META } from "../../dist-BmJNnb_s.mjs";
2
+ import { n as purgeRetiredSettingsRows } from "../../retired-settings-keys-nLVKlhe-.mjs";
3
3
  import { randomUUID } from "node:crypto";
4
4
  import { canonicalDeviceFingerprint } from "@camstack/types/node";
5
5
  //#region src/builtins/device-manager/adoption-job-engine.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-KQ5D2wqr.js");
6
+ const require_dist = require("../../dist-CcV3k-hD.js");
7
7
  //#region src/builtins/doorbell/trigger-engine.ts
8
8
  /**
9
9
  * Pure trigger logic for the virtual-doorbell builtin — edge detection over
@@ -1,4 +1,4 @@
1
- import { Ft as errMsg, Ht as DeviceType, It as BaseAddon, K as doorbellCapability, N as bareAddonId, X as evaluateSensorEdge, Yt as createEvent, cn as EventCategory, it as isSourceCap, rt as isSameAddonId, v as SOURCE_CAPS, y as SOURCE_DEVICE_TYPES } from "../../dist-CCp74QLJ.mjs";
1
+ import { Ft as errMsg, Ht as DeviceType, It as BaseAddon, K as doorbellCapability, N as bareAddonId, X as evaluateSensorEdge, Yt as createEvent, cn as EventCategory, it as isSourceCap, rt as isSameAddonId, v as SOURCE_CAPS, y as SOURCE_DEVICE_TYPES } from "../../dist-BmJNnb_s.mjs";
2
2
  //#region src/builtins/doorbell/trigger-engine.ts
3
3
  /**
4
4
  * Pure trigger logic for the virtual-doorbell builtin — edge detection over
@@ -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-KQ5D2wqr.js");
6
+ const require_dist = require("../../dist-CcV3k-hD.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 { It as BaseAddon, lt as logDestinationCapability } from "../../dist-CCp74QLJ.mjs";
1
+ import { It as BaseAddon, lt as logDestinationCapability } from "../../dist-BmJNnb_s.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;
@@ -1,6 +1,6 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  require("../../chunk-Cek0wNdY.js");
3
- const require_dist = require("../../dist-KQ5D2wqr.js");
3
+ const require_dist = require("../../dist-CcV3k-hD.js");
4
4
  //#region src/builtins/liveness-monitor/liveness-checks.ts
5
5
  var NO_DEVICES = "liveness:no-devices";
6
6
  var ALL_OFFLINE = "liveness:all-devices-offline";
@@ -1,4 +1,4 @@
1
- import { Ft as errMsg, It as BaseAddon, Yt as createEvent, _ as RecordingStatusSchema, cn as EventCategory } from "../../dist-CCp74QLJ.mjs";
1
+ import { Ft as errMsg, It as BaseAddon, Yt as createEvent, _ as RecordingStatusSchema, cn as EventCategory } from "../../dist-BmJNnb_s.mjs";
2
2
  //#region src/builtins/liveness-monitor/liveness-checks.ts
3
3
  var NO_DEVICES = "liveness:no-devices";
4
4
  var ALL_OFFLINE = "liveness:all-devices-offline";
@@ -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-KQ5D2wqr.js");
6
+ const require_dist = require("../../dist-CcV3k-hD.js");
7
7
  let node_crypto = require("node:crypto");
8
8
  node_crypto = require_chunk.__toESM(node_crypto);
9
9
  let crypto$1 = require("crypto");
@@ -1,5 +1,5 @@
1
1
  import { i as __require, o as __toESM, t as __commonJSMin } from "../../chunk-CNf5ZN-e.mjs";
2
- import { E as UserRecordSchema, It as BaseAddon, Mt as userManagementCapability, S as ScopedTokenSchema, j as authProviderCapability, r as ApiKeyRecordSchema } from "../../dist-CCp74QLJ.mjs";
2
+ import { E as UserRecordSchema, It as BaseAddon, Mt as userManagementCapability, S as ScopedTokenSchema, j as authProviderCapability, r as ApiKeyRecordSchema } from "../../dist-BmJNnb_s.mjs";
3
3
  import * as crypto$2 from "node:crypto";
4
4
  import { createHash, randomUUID, timingSafeEqual } from "node:crypto";
5
5
  import nodeCrypto from "crypto";
@@ -1,6 +1,6 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  const require_chunk = require("../../chunk-Cek0wNdY.js");
3
- const require_dist = require("../../dist-KQ5D2wqr.js");
3
+ const require_dist = require("../../dist-CcV3k-hD.js");
4
4
  const require_tls = require("../../tls-BxQlomxd.js");
5
5
  let node_fs_promises = require("node:fs/promises");
6
6
  let node_path = require("node:path");
@@ -1,4 +1,4 @@
1
- import { It as BaseAddon, cn as EventCategory, ct as localNetworkCapability } from "../../dist-CCp74QLJ.mjs";
1
+ import { It as BaseAddon, cn as EventCategory, ct as localNetworkCapability } from "../../dist-BmJNnb_s.mjs";
2
2
  import { S as readLanHttpState, _ as DEFAULT_LAN_HTTP_PORT, a as writeTlsMode, i as writeExtraSans, l as reissueTlsLeaf, n as readTlsAccessStatus, o as validateUploadedTls, r as readTlsMode, s as ensureTlsCert, t as readExtraSans, y as applyLanHttp } from "../../tls-DOTmtLCW.mjs";
3
3
  import { mkdir, writeFile } from "node:fs/promises";
4
4
  import { join } from "node:path";
@@ -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-KQ5D2wqr.js");
6
+ const require_dist = require("../../dist-CcV3k-hD.js");
7
7
  //#region src/builtins/loki-logging/loki-payload.ts
8
8
  /**
9
9
  * Loki rejects a label name that is not a valid Prometheus label
@@ -1,4 +1,4 @@
1
- import { It as BaseAddon, lt as logDestinationCapability } from "../../dist-CCp74QLJ.mjs";
1
+ import { It as BaseAddon, lt as logDestinationCapability } from "../../dist-BmJNnb_s.mjs";
2
2
  //#region src/builtins/loki-logging/loki-payload.ts
3
3
  /**
4
4
  * Loki rejects a label name that is not a valid Prometheus label
@@ -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-KQ5D2wqr.js");
6
+ const require_dist = require("../../dist-CcV3k-hD.js");
7
7
  let node_fs_promises = require("node:fs/promises");
8
8
  let node_child_process = require("node:child_process");
9
9
  let node_util = require("node:util");
@@ -1,4 +1,4 @@
1
- import { $ as foldSnapshotByFunction, Ft as errMsg, It as BaseAddon, Yt as createEvent, cn as EventCategory, ft as metricsProviderCapability, vt as reducePoints, yt as resolveBucketMs } from "../../dist-CCp74QLJ.mjs";
1
+ import { $ as foldSnapshotByFunction, Ft as errMsg, It as BaseAddon, Yt as createEvent, cn as EventCategory, ft as metricsProviderCapability, vt as reducePoints, yt as resolveBucketMs } from "../../dist-BmJNnb_s.mjs";
2
2
  import { readFile, readdir } from "node:fs/promises";
3
3
  import { execFile, execFileSync } from "node:child_process";
4
4
  import { promisify } from "node:util";
@@ -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-KQ5D2wqr.js");
6
+ const require_dist = require("../../dist-CcV3k-hD.js");
7
7
  let node_child_process = require("node:child_process");
8
8
  let node_util = require("node:util");
9
9
  let node_fs = require("node:fs");
@@ -1,5 +1,5 @@
1
1
  import { o as __toESM } from "../../chunk-CNf5ZN-e.mjs";
2
- import { Ft as errMsg, It as BaseAddon, Tt as scoreRuntimes, Zt as emitReadiness, cn as EventCategory, gt as platformProbeCapability, q as enumerateInferenceDevices } from "../../dist-CCp74QLJ.mjs";
2
+ import { Ft as errMsg, It as BaseAddon, Tt as scoreRuntimes, Zt as emitReadiness, cn as EventCategory, gt as platformProbeCapability, q as enumerateInferenceDevices } from "../../dist-BmJNnb_s.mjs";
3
3
  import { execFile } from "node:child_process";
4
4
  import { promisify } from "node:util";
5
5
  import * as fs from "node:fs";
@@ -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-KQ5D2wqr.js");
6
+ const require_dist = require("../../dist-CcV3k-hD.js");
7
7
  //#region src/builtins/remote-access-orchestrator/enabled-providers-reconcile.ts
8
8
  /**
9
9
  * Reconcile the durable `enabledProviders` set against authoritative
@@ -1,4 +1,4 @@
1
- import { It as BaseAddon, cn as EventCategory } from "../../dist-CCp74QLJ.mjs";
1
+ import { It as BaseAddon, cn as EventCategory } from "../../dist-BmJNnb_s.mjs";
2
2
  //#region src/builtins/remote-access-orchestrator/enabled-providers-reconcile.ts
3
3
  /**
4
4
  * Reconcile the durable `enabledProviders` set against authoritative
@@ -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-KQ5D2wqr.js");
6
+ const require_dist = require("../../dist-CcV3k-hD.js");
7
7
  let zod = require("zod");
8
8
  let node_crypto = require("node:crypto");
9
9
  let _camstack_types_node = require("@camstack/types/node");
@@ -1,4 +1,4 @@
1
- import { Bt as DeviceFeature, Dt as snapshotCapability, Ft as errMsg, H as deriveBatteryPresence, Ht as DeviceType, It as BaseAddon, N as bareAddonId, P as batteryCapability, cn as EventCategory, i as BatteryStatusSchema, jt as streamQualityLabel, tn as nodePin } from "../../dist-CCp74QLJ.mjs";
1
+ import { Bt as DeviceFeature, Dt as snapshotCapability, Ft as errMsg, H as deriveBatteryPresence, Ht as DeviceType, It as BaseAddon, N as bareAddonId, P as batteryCapability, cn as EventCategory, i as BatteryStatusSchema, jt as streamQualityLabel, tn as nodePin } from "../../dist-BmJNnb_s.mjs";
2
2
  import { z } from "zod";
3
3
  import { randomUUID } from "node:crypto";
4
4
  import { signExpiringUrl, verifyExpiringUrl } from "@camstack/types/node";
@@ -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-KQ5D2wqr.js");
6
+ const require_dist = require("../../dist-CcV3k-hD.js");
7
7
  let node_crypto = require("node:crypto");
8
8
  let node_fs_promises = require("node:fs/promises");
9
9
  let node_path = require("node:path");
@@ -1,4 +1,4 @@
1
- import { At as storageProviderCapability, It as BaseAddon, Q as filesystemBrowseCapability } from "../../dist-CCp74QLJ.mjs";
1
+ import { At as storageProviderCapability, It as BaseAddon, Q as filesystemBrowseCapability } from "../../dist-BmJNnb_s.mjs";
2
2
  import { randomUUID } from "node:crypto";
3
3
  import { mkdir, readdir, realpath, statfs } from "node:fs/promises";
4
4
  import * as path$1 from "node:path";
@@ -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-KQ5D2wqr.js");
6
+ const require_dist = require("../../dist-CcV3k-hD.js");
7
7
  const require_hub_cap_forward = require("../../hub-cap-forward-DmHNjbB0.js");
8
8
  let zod = require("zod");
9
9
  let node_crypto = require("node:crypto");
@@ -1,4 +1,4 @@
1
- import { C as StorageCleanupJobSchema, Et as settingsStoreCapability, I as collectSecretConfigKeys, It as BaseAddon, Ot as storageCapability, T as StorageMigrationJobSchema, h as REDACTED_SECRET, kt as storageMigrationCapability, nn as parseJsonObject, w as StorageLocationTypeSchema } from "../../dist-CCp74QLJ.mjs";
1
+ import { C as StorageCleanupJobSchema, Et as settingsStoreCapability, I as collectSecretConfigKeys, It as BaseAddon, Ot as storageCapability, T as StorageMigrationJobSchema, h as REDACTED_SECRET, kt as storageMigrationCapability, nn as parseJsonObject, w as StorageLocationTypeSchema } from "../../dist-BmJNnb_s.mjs";
2
2
  import { t as HUB_CAP_FWD_ACTION } from "../../hub-cap-forward-BdT320dq.mjs";
3
3
  import { z } from "zod";
4
4
  import { randomUUID } from "node:crypto";
@@ -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-KQ5D2wqr.js");
6
+ const require_dist = require("../../dist-CcV3k-hD.js");
7
7
  //#region src/builtins/system-config/system-config.addon.ts
8
8
  /**
9
9
  * Built-in `system-config` addon — Phase 4 of the settings redesign.
@@ -1,4 +1,4 @@
1
- import { $t as hydrateSchema, Ft as errMsg, It as BaseAddon } from "../../dist-CCp74QLJ.mjs";
1
+ import { $t as hydrateSchema, Ft as errMsg, It as BaseAddon } from "../../dist-BmJNnb_s.mjs";
2
2
  //#region src/builtins/system-config/system-config.addon.ts
3
3
  /**
4
4
  * Built-in `system-config` addon — Phase 4 of the settings redesign.
@@ -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-KQ5D2wqr.js");
6
+ const require_dist = require("../../dist-CcV3k-hD.js");
7
7
  const require_formatter = require("../../formatter-DqAKDlvN.js");
8
8
  let node_path = require("node:path");
9
9
  node_path = require_chunk.__toESM(node_path);
@@ -1,4 +1,4 @@
1
- import { It as BaseAddon, lt as logDestinationCapability } from "../../dist-CCp74QLJ.mjs";
1
+ import { It as BaseAddon, lt as logDestinationCapability } from "../../dist-BmJNnb_s.mjs";
2
2
  import { t as formatLogLine } from "../../formatter-B7qW8bPJ.mjs";
3
3
  import * as path$1 from "node:path";
4
4
  import path from "node:path";
@@ -7186,12 +7186,30 @@ var BackupDestinationInfoSchema = z.object({
7186
7186
  lastSuccessAt: z.number().optional(),
7187
7187
  /** Newest-archive size from `manifests.json`, or undefined. */
7188
7188
  lastSuccessSizeBytes: z.number().optional(),
7189
- /** Per-destination cron expression. Empty = manual-only (no schedule). */
7189
+ /**
7190
+ * Cron cadence(s) of the ENABLED schedules that fan out to this
7191
+ * destination, comma-joined. Absent when no enabled schedule targets it
7192
+ * — a destination nothing is scheduled to write to must not advertise a
7193
+ * cadence (D384). This is never the `backup_destination_policies.cron`
7194
+ * column: that per-location cron has scheduled nothing since 2026-07-28
7195
+ * and reading it made a destination with a DISABLED schedule claim a
7196
+ * nightly run.
7197
+ */
7190
7198
  cron: z.string().optional(),
7191
- /** ms-epoch of next computed firing for this destination's cron, if any. */
7199
+ /** ms-epoch of the next firing across those schedules (earliest), if any. */
7192
7200
  nextRunAt: z.number().optional(),
7193
- /** ms-epoch of last successful scheduled run (mirrors policy.lastRunAt). */
7194
- lastRunAt: z.number().optional()
7201
+ /**
7202
+ * ms-epoch of the last time a run ATTEMPTED to write here — success or
7203
+ * failure. Never a success stamp: pair it with `lastSuccessAt` (the
7204
+ * newest archive that actually landed) and `lastError`.
7205
+ */
7206
+ lastAttemptAt: z.number().optional(),
7207
+ /**
7208
+ * Why the last attempt failed, verbatim. Absent when the last attempt
7209
+ * landed the archive. A destination that has never been written to has
7210
+ * neither this nor `lastAttemptAt`.
7211
+ */
7212
+ lastError: z.string().optional()
7195
7213
  });
7196
7214
  /**
7197
7215
  * Per-archive entry returned by `backup.listArchives({ destinationId })`.
@@ -7354,8 +7372,16 @@ var BackupScheduleSchema = z.object({
7354
7372
  retentionCount: z.number().int().min(1).max(1e3),
7355
7373
  /** Optional subset of source locations to include; omitted = all. */
7356
7374
  dataSources: z.array(z.string()).readonly().optional(),
7357
- /** ms-epoch of last successful run. */
7358
- lastRunAt: z.number().optional(),
7375
+ /**
7376
+ * ms-epoch of the last tick that FIRED this schedule. Stamped before the
7377
+ * archive runs (it is the dedupe anchor), so it says "attempted", never
7378
+ * "succeeded" — a run refused by every destination stamps it too.
7379
+ */
7380
+ lastAttemptAt: z.number().optional(),
7381
+ /** ms-epoch of the last run of this schedule that landed at ≥1 destination. */
7382
+ lastSuccessAt: z.number().optional(),
7383
+ /** Why the last fired run failed, verbatim. Absent when it succeeded. */
7384
+ lastError: z.string().optional(),
7359
7385
  /** ms-epoch of next computed firing (read-only, filled on list). */
7360
7386
  nextRunAt: z.number().optional()
7361
7387
  });
@@ -7484,14 +7510,7 @@ var backupCapability = {
7484
7510
  locationId: z.string(),
7485
7511
  enabled: z.boolean(),
7486
7512
  retentionCount: z.number().int().min(1).max(1e3),
7487
- label: z.string().optional(),
7488
- /**
7489
- * Per-destination cron expression. Empty string clears the
7490
- * schedule (manual-only). Validated server-side via croner;
7491
- * malformed expressions reject the upsert with an actionable
7492
- * message.
7493
- */
7494
- cron: z.string().optional()
7513
+ label: z.string().optional()
7495
7514
  }), z.void(), {
7496
7515
  kind: "mutation",
7497
7516
  auth: "admin"
@@ -7186,12 +7186,30 @@ var BackupDestinationInfoSchema = zod.z.object({
7186
7186
  lastSuccessAt: zod.z.number().optional(),
7187
7187
  /** Newest-archive size from `manifests.json`, or undefined. */
7188
7188
  lastSuccessSizeBytes: zod.z.number().optional(),
7189
- /** Per-destination cron expression. Empty = manual-only (no schedule). */
7189
+ /**
7190
+ * Cron cadence(s) of the ENABLED schedules that fan out to this
7191
+ * destination, comma-joined. Absent when no enabled schedule targets it
7192
+ * — a destination nothing is scheduled to write to must not advertise a
7193
+ * cadence (D384). This is never the `backup_destination_policies.cron`
7194
+ * column: that per-location cron has scheduled nothing since 2026-07-28
7195
+ * and reading it made a destination with a DISABLED schedule claim a
7196
+ * nightly run.
7197
+ */
7190
7198
  cron: zod.z.string().optional(),
7191
- /** ms-epoch of next computed firing for this destination's cron, if any. */
7199
+ /** ms-epoch of the next firing across those schedules (earliest), if any. */
7192
7200
  nextRunAt: zod.z.number().optional(),
7193
- /** ms-epoch of last successful scheduled run (mirrors policy.lastRunAt). */
7194
- lastRunAt: zod.z.number().optional()
7201
+ /**
7202
+ * ms-epoch of the last time a run ATTEMPTED to write here — success or
7203
+ * failure. Never a success stamp: pair it with `lastSuccessAt` (the
7204
+ * newest archive that actually landed) and `lastError`.
7205
+ */
7206
+ lastAttemptAt: zod.z.number().optional(),
7207
+ /**
7208
+ * Why the last attempt failed, verbatim. Absent when the last attempt
7209
+ * landed the archive. A destination that has never been written to has
7210
+ * neither this nor `lastAttemptAt`.
7211
+ */
7212
+ lastError: zod.z.string().optional()
7195
7213
  });
7196
7214
  /**
7197
7215
  * Per-archive entry returned by `backup.listArchives({ destinationId })`.
@@ -7354,8 +7372,16 @@ var BackupScheduleSchema = zod.z.object({
7354
7372
  retentionCount: zod.z.number().int().min(1).max(1e3),
7355
7373
  /** Optional subset of source locations to include; omitted = all. */
7356
7374
  dataSources: zod.z.array(zod.z.string()).readonly().optional(),
7357
- /** ms-epoch of last successful run. */
7358
- lastRunAt: zod.z.number().optional(),
7375
+ /**
7376
+ * ms-epoch of the last tick that FIRED this schedule. Stamped before the
7377
+ * archive runs (it is the dedupe anchor), so it says "attempted", never
7378
+ * "succeeded" — a run refused by every destination stamps it too.
7379
+ */
7380
+ lastAttemptAt: zod.z.number().optional(),
7381
+ /** ms-epoch of the last run of this schedule that landed at ≥1 destination. */
7382
+ lastSuccessAt: zod.z.number().optional(),
7383
+ /** Why the last fired run failed, verbatim. Absent when it succeeded. */
7384
+ lastError: zod.z.string().optional(),
7359
7385
  /** ms-epoch of next computed firing (read-only, filled on list). */
7360
7386
  nextRunAt: zod.z.number().optional()
7361
7387
  });
@@ -7484,14 +7510,7 @@ var backupCapability = {
7484
7510
  locationId: zod.z.string(),
7485
7511
  enabled: zod.z.boolean(),
7486
7512
  retentionCount: zod.z.number().int().min(1).max(1e3),
7487
- label: zod.z.string().optional(),
7488
- /**
7489
- * Per-destination cron expression. Empty string clears the
7490
- * schedule (manual-only). Validated server-side via croner;
7491
- * malformed expressions reject the upsert with an actionable
7492
- * message.
7493
- */
7494
- cron: zod.z.string().optional()
7513
+ label: zod.z.string().optional()
7495
7514
  }), zod.z.void(), {
7496
7515
  kind: "mutation",
7497
7516
  auth: "admin"
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  const require_chunk = require("./chunk-Cek0wNdY.js");
3
- const require_dist = require("./dist-KQ5D2wqr.js");
3
+ const require_dist = require("./dist-CcV3k-hD.js");
4
4
  const require_builtins_alerts_alerts_addon = require("./builtins/alerts/alerts.addon.js");
5
5
  require("./builtins/alerts/index.js");
6
6
  const require_formatter = require("./formatter-DqAKDlvN.js");
package/dist/index.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  import { a as __toCommonJS, i as __require, n as __esmMin, o as __toESM$1, r as __exportAll, t as __commonJSMin$1 } from "./chunk-CNf5ZN-e.mjs";
2
- import { Ct as scopesAllowAddon, Ft as errMsg$1, Jt as asString$1, Kt as asJsonObject$1, Lt as DATAPLANE_SECRET_HEADER$1, O as addonSettingsCapability, Qt as expandCapMethods, Rt as DEVICE_SETTINGS_CONTRIBUTION_METHODS, Ut as ReadinessRegistry, Wt as ReadinessTimeoutError, Xt as emitDownForOwnedCaps, Yt as createEvent, Z as extractNestedAddonId, _t as procedureAuthKey, an as resolveCapMount, at as isVoidInput, cn as EventCategory$1, dt as looseSchema, et as isArrayOutputSchema, g as RUNTIME_DEFAULTS, in as readinessKey, m as METHOD_ACCESS_MAP, mt as objectInputDeclaresAddonId, nn as parseJsonObject, nt as isObjectInput, on as scopeKey, ot as kebabToCamel, p as LOG_LEVEL_RANK, qt as asNumber, rn as parseJsonUnknown, st as lifecycleJobSchema, t as ALL_CAPABILITY_DEFINITIONS, tt as isCollectionArrayMethod, ut as logLevelAtMost, wt as scopesAllowDeviceCap, xt as resolveMethodAuth, zt as DEVICE_STATUS_METHOD } from "./dist-CCp74QLJ.mjs";
2
+ import { Ct as scopesAllowAddon, Ft as errMsg$1, Jt as asString$1, Kt as asJsonObject$1, Lt as DATAPLANE_SECRET_HEADER$1, O as addonSettingsCapability, Qt as expandCapMethods, Rt as DEVICE_SETTINGS_CONTRIBUTION_METHODS, Ut as ReadinessRegistry, Wt as ReadinessTimeoutError, Xt as emitDownForOwnedCaps, Yt as createEvent, Z as extractNestedAddonId, _t as procedureAuthKey, an as resolveCapMount, at as isVoidInput, cn as EventCategory$1, dt as looseSchema, et as isArrayOutputSchema, g as RUNTIME_DEFAULTS, in as readinessKey, m as METHOD_ACCESS_MAP, mt as objectInputDeclaresAddonId, nn as parseJsonObject, nt as isObjectInput, on as scopeKey, ot as kebabToCamel, p as LOG_LEVEL_RANK, qt as asNumber, rn as parseJsonUnknown, st as lifecycleJobSchema, t as ALL_CAPABILITY_DEFINITIONS, tt as isCollectionArrayMethod, ut as logLevelAtMost, wt as scopesAllowDeviceCap, xt as resolveMethodAuth, zt as DEVICE_STATUS_METHOD } from "./dist-BmJNnb_s.mjs";
3
3
  import { AlertCenterAddon } from "./builtins/alerts/alerts.addon.mjs";
4
4
  import "./builtins/alerts/index.mjs";
5
5
  import { t as formatLogLine } from "./formatter-B7qW8bPJ.mjs";
@@ -1,4 +1,4 @@
1
- const require_dist = require("./dist-KQ5D2wqr.js");
1
+ const require_dist = require("./dist-CcV3k-hD.js");
2
2
  //#region src/builtins/sqlite-storage/retired-settings-keys.ts
3
3
  /**
4
4
  * Is THIS node the one whose settings store is the cluster's authority?
@@ -1,4 +1,4 @@
1
- import { Kt as asJsonObject } from "./dist-CCp74QLJ.mjs";
1
+ import { Kt as asJsonObject } from "./dist-BmJNnb_s.mjs";
2
2
  //#region src/builtins/sqlite-storage/retired-settings-keys.ts
3
3
  /**
4
4
  * Is THIS node the one whose settings store is the cluster's authority?
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/system",
3
- "version": "1.2.200",
3
+ "version": "1.2.201",
4
4
  "description": "Core addon for CamStack — builtins, pipeline, process management, auth, logging, events",
5
5
  "keywords": [
6
6
  "camstack",