@camstack/system 1.2.338 → 1.2.339

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 (61) hide show
  1. package/dist/addon-runner.js +1 -1
  2. package/dist/addon-runner.mjs +1 -1
  3. package/dist/builtins/addon-pages-aggregator/addon-pages-aggregator.addon.js +1 -1
  4. package/dist/builtins/addon-pages-aggregator/addon-pages-aggregator.addon.mjs +1 -1
  5. package/dist/builtins/addon-widgets-aggregator/addon-widgets-aggregator.addon.js +1 -1
  6. package/dist/builtins/addon-widgets-aggregator/addon-widgets-aggregator.addon.mjs +1 -1
  7. package/dist/builtins/alerts/alerts.addon.js +1 -1
  8. package/dist/builtins/alerts/alerts.addon.mjs +1 -1
  9. package/dist/builtins/autotrack/index.js +1 -1
  10. package/dist/builtins/autotrack/index.mjs +1 -1
  11. package/dist/builtins/backup-orchestrator/backup-orchestrator.addon.js +1 -1
  12. package/dist/builtins/backup-orchestrator/backup-orchestrator.addon.mjs +1 -1
  13. package/dist/builtins/camera-grid/index.js +1 -1
  14. package/dist/builtins/camera-grid/index.mjs +1 -1
  15. package/dist/builtins/composer/composer.addon.js +4 -2
  16. package/dist/builtins/composer/composer.addon.mjs +4 -2
  17. package/dist/builtins/console-logging/index.js +1 -1
  18. package/dist/builtins/console-logging/index.mjs +1 -1
  19. package/dist/builtins/core-blocks/core-blocks.addon.js +2 -2
  20. package/dist/builtins/core-blocks/core-blocks.addon.mjs +2 -2
  21. package/dist/builtins/device-manager/device-manager.addon.js +2 -2
  22. package/dist/builtins/device-manager/device-manager.addon.mjs +2 -2
  23. package/dist/builtins/hub-forwarder/index.js +1 -1
  24. package/dist/builtins/hub-forwarder/index.mjs +1 -1
  25. package/dist/builtins/liveness-monitor/liveness-monitor.addon.js +1 -1
  26. package/dist/builtins/liveness-monitor/liveness-monitor.addon.mjs +1 -1
  27. package/dist/builtins/local-auth/local-auth.addon.js +1 -1
  28. package/dist/builtins/local-auth/local-auth.addon.mjs +1 -1
  29. package/dist/builtins/local-network/local-network.addon.js +1 -1
  30. package/dist/builtins/local-network/local-network.addon.mjs +1 -1
  31. package/dist/builtins/loki-logging/index.js +1 -1
  32. package/dist/builtins/loki-logging/index.mjs +1 -1
  33. package/dist/builtins/native-metrics/native-metrics.addon.js +1 -1
  34. package/dist/builtins/native-metrics/native-metrics.addon.mjs +1 -1
  35. package/dist/builtins/platform-probe/index.js +1 -1
  36. package/dist/builtins/platform-probe/index.mjs +1 -1
  37. package/dist/builtins/remote-access-orchestrator/remote-access-orchestrator.addon.js +1 -1
  38. package/dist/builtins/remote-access-orchestrator/remote-access-orchestrator.addon.mjs +1 -1
  39. package/dist/builtins/snapshot/index.js +1 -1
  40. package/dist/builtins/snapshot/index.mjs +1 -1
  41. package/dist/builtins/sqlite-storage/filesystem-storage.addon.js +1 -1
  42. package/dist/builtins/sqlite-storage/filesystem-storage.addon.mjs +1 -1
  43. package/dist/builtins/sqlite-storage/sqlite-settings.addon.js +0 -0
  44. package/dist/builtins/sqlite-storage/sqlite-settings.addon.mjs +0 -0
  45. package/dist/builtins/storage-orchestrator/storage-orchestrator.addon.js +1 -1
  46. package/dist/builtins/storage-orchestrator/storage-orchestrator.addon.mjs +1 -1
  47. package/dist/builtins/system-config/system-config.addon.js +1 -1
  48. package/dist/builtins/system-config/system-config.addon.mjs +1 -1
  49. package/dist/builtins/winston-logging/index.js +1 -1
  50. package/dist/builtins/winston-logging/index.mjs +1 -1
  51. package/dist/{child-cap-dispatch-BE8jB_JS.mjs → child-cap-dispatch-B3ObBHqQ.mjs} +1 -1
  52. package/dist/{child-cap-dispatch-CAi5El4k.js → child-cap-dispatch-B4L4V0gF.js} +1 -1
  53. package/dist/{composition-sources-C_FdKpSd.js → composition-sources-C0Go51Qt.js} +1 -1
  54. package/dist/{composition-sources-CJPoLPZa.mjs → composition-sources-CDDz1REg.mjs} +1 -1
  55. package/dist/{dist-YXCrqVwr.mjs → dist-ByF1NqOH.mjs} +31 -9
  56. package/dist/{dist-PCvk1lCg.js → dist-CFQLMsVb.js} +36 -8
  57. package/dist/index.js +2 -2
  58. package/dist/index.mjs +2 -2
  59. package/dist/{retired-settings-keys-DKrsFjli.mjs → retired-settings-keys-AHxnm1MO.mjs} +1 -1
  60. package/dist/{retired-settings-keys-F2ehGIfq.js → retired-settings-keys-kGNucQWK.js} +1 -1
  61. package/package.json +1 -1
@@ -1,5 +1,5 @@
1
1
  const require_chunk = require("./chunk-Cek0wNdY.js");
2
- const require_child_cap_dispatch = require("./child-cap-dispatch-CAi5El4k.js");
2
+ const require_child_cap_dispatch = require("./child-cap-dispatch-B4L4V0gF.js");
3
3
  const require_custom_action_registry = require("./custom-action-registry-acBY3mHA.js");
4
4
  let node_path = require("node:path");
5
5
  node_path = require_chunk.__toESM(node_path);
@@ -1,4 +1,4 @@
1
- import { Ft as installManifestNativeDeps, H as createUdsLoggerWithControl, It as resolveAddonClass, St as validateProviderRegistrations, Tn as emitHeapDiagnosticReport, U as LocalChildClient, _t as getWorkerNativeCapProvider, bt as setWorkerNativeCapsChangeListener, en as RUNNER_RSS_BUDGET_ENV, f as installManifestSystemDeps, g as createUdsAddonContext, i as killOwnRunnerGroupAfterParentLoss, n as createChildCapDispatch, p as installManifestPythonDeps, pn as startRunnerHeapWatch, u as startRunnerParentDeathWatchdog, vt as getWorkerNativeCapSnapshot } from "./child-cap-dispatch-BE8jB_JS.mjs";
1
+ import { Ft as installManifestNativeDeps, H as createUdsLoggerWithControl, It as resolveAddonClass, St as validateProviderRegistrations, Tn as emitHeapDiagnosticReport, U as LocalChildClient, _t as getWorkerNativeCapProvider, bt as setWorkerNativeCapsChangeListener, en as RUNNER_RSS_BUDGET_ENV, f as installManifestSystemDeps, g as createUdsAddonContext, i as killOwnRunnerGroupAfterParentLoss, n as createChildCapDispatch, p as installManifestPythonDeps, pn as startRunnerHeapWatch, u as startRunnerParentDeathWatchdog, vt as getWorkerNativeCapSnapshot } from "./child-cap-dispatch-B3ObBHqQ.mjs";
2
2
  import { t as CustomActionRegistry } from "./custom-action-registry-B4Cf4O_X.mjs";
3
3
  import { register } from "node:module";
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-PCvk1lCg.js");
6
+ const require_dist = require("../../dist-CFQLMsVb.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,4 +1,4 @@
1
- import { Hn as errMsg, Un as BaseAddon, V as addonPagesCapability, mr as EventCategory } from "../../dist-YXCrqVwr.mjs";
1
+ import { Un as errMsg, V as addonPagesCapability, Wn as BaseAddon, hr as EventCategory } from "../../dist-ByF1NqOH.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";
@@ -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-PCvk1lCg.js");
6
+ const require_dist = require("../../dist-CFQLMsVb.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,4 +1,4 @@
1
- import { Hn as errMsg, U as addonWidgetsCapability, Un as BaseAddon, mr as EventCategory } from "../../dist-YXCrqVwr.mjs";
1
+ import { U as addonWidgetsCapability, Un as errMsg, Wn as BaseAddon, hr as EventCategory } from "../../dist-ByF1NqOH.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";
@@ -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-PCvk1lCg.js");
6
+ const require_dist = require("../../dist-CFQLMsVb.js");
7
7
  //#region src/builtins/alerts/prune-policy.ts
8
8
  /**
9
9
  * Ids older than `cutoffMs`, oldest first.
@@ -1,4 +1,4 @@
1
- import { $n as createEvent, Hn as errMsg, Un as BaseAddon, W as alertsCapability, mr as EventCategory, n as AlertSchema } from "../../dist-YXCrqVwr.mjs";
1
+ import { Un as errMsg, W as alertsCapability, Wn as BaseAddon, er as createEvent, hr as EventCategory, n as AlertSchema } from "../../dist-ByF1NqOH.mjs";
2
2
  //#region src/builtins/alerts/prune-policy.ts
3
3
  /**
4
4
  * Ids older than `cutoffMs`, oldest first.
@@ -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-PCvk1lCg.js");
6
+ const require_dist = require("../../dist-CFQLMsVb.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 { Hn as errMsg, Un as BaseAddon, ar as isEvent, b as FIRST_LEVEL_MACRO_CLASSES, mr as EventCategory, q as bareAddonId, rn as ptzAutotrackCapability } from "../../dist-YXCrqVwr.mjs";
1
+ import { Un as errMsg, Wn as BaseAddon, b as FIRST_LEVEL_MACRO_CLASSES, hr as EventCategory, or as isEvent, q as bareAddonId, rn as ptzAutotrackCapability } from "../../dist-ByF1NqOH.mjs";
2
2
  //#region src/builtins/autotrack/autotrack-config.ts
3
3
  var DEFAULT_AUTOTRACK_LOOP_CONFIG = {
4
4
  deadZoneFraction: .5,
@@ -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-PCvk1lCg.js");
6
+ const require_dist = require("../../dist-CFQLMsVb.js");
7
7
  let node_crypto = require("node:crypto");
8
8
  let buffer = require("buffer");
9
9
  let node_fs_promises = require("node:fs/promises");
@@ -1,4 +1,4 @@
1
- import { Gt as mayWriteToLocation, K as backupCapability, Un as BaseAddon, m as DATABASE_SNAPSHOT_SUFFIX, mr as EventCategory, or as nodePin, pr as toNodeId, vn as storageOccupancyCapability } from "../../dist-YXCrqVwr.mjs";
1
+ import { Gt as mayWriteToLocation, K as backupCapability, Wn as BaseAddon, hr as EventCategory, m as DATABASE_SNAPSHOT_SUFFIX, mr as toNodeId, sr as nodePin, vn as storageOccupancyCapability } from "../../dist-ByF1NqOH.mjs";
2
2
  import { randomBytes, randomUUID } from "node:crypto";
3
3
  import { Buffer as Buffer$1 } from "buffer";
4
4
  import * as fsp from "node:fs/promises";
@@ -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-PCvk1lCg.js");
6
+ const require_dist = require("../../dist-CFQLMsVb.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 { $n as createEvent, Hn as errMsg, Kt as memoizePinnedFfmpeg, O as MOTION_CLOSE_AFTER_MS, Un as BaseAddon, Vn as DeviceType, Yt as motionCapability, Z as cameraGridLayoutCapability, _ as DERIVED_CAMERA_SILENCED_CAP_NAMES, bn as streamCatalogCapability, hn as snapshotCapability, i as BaseDevice, kn as buildFfmpegArgs, mr as EventCategory, rr as hydrateSchema, ut as declarationOwnerNodeId, v as DeclaredDevices, zn as DeviceFeature } from "../../dist-YXCrqVwr.mjs";
1
+ import { Bn as DeviceFeature, Hn as DeviceType, Kt as memoizePinnedFfmpeg, O as MOTION_CLOSE_AFTER_MS, Un as errMsg, Wn as BaseAddon, Yt as motionCapability, Z as cameraGridLayoutCapability, _ as DERIVED_CAMERA_SILENCED_CAP_NAMES, bn as streamCatalogCapability, er as createEvent, hn as snapshotCapability, hr as EventCategory, i as BaseDevice, ir as hydrateSchema, kn as buildFfmpegArgs, ut as declarationOwnerNodeId, v as DeclaredDevices } from "../../dist-ByF1NqOH.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-PCvk1lCg.js");
7
- const require_composition_sources = require("../../composition-sources-C_FdKpSd.js");
6
+ const require_dist = require("../../dist-CFQLMsVb.js");
7
+ const require_composition_sources = require("../../composition-sources-C0Go51Qt.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. */
@@ -1355,6 +1355,7 @@ function evaluateFields(host, keys, now) {
1355
1355
  const record = next.get(key);
1356
1356
  if (record === void 0) continue;
1357
1357
  const candidateMemory = require_dist.cloneStatefulExpressionMemory(record.expressionMemory);
1358
+ if (record.outcome?.state === "unavailable") require_dist.disarmRoseMemory(candidateMemory);
1358
1359
  const outcome = require_dist.evaluateCompositionField({
1359
1360
  source: record.plan.source,
1360
1361
  read,
@@ -1367,6 +1368,7 @@ function evaluateFields(host, keys, now) {
1367
1368
  }
1368
1369
  });
1369
1370
  const expressionSucceeded = outcome.state !== "unavailable";
1371
+ if (expressionSucceeded) candidateMemory.disarmRoseNext = false;
1370
1372
  let evaluated = {
1371
1373
  ...record,
1372
1374
  outcome,
@@ -1,5 +1,5 @@
1
- import { $ as composerCapability, $n as createEvent, An as cloneStatefulExpressionMemory, Fn as compositionSliceKey, Hn as errMsg, In as compositionSourceKey, Ln as createStatefulExpressionMemory, Mn as composedDeviceStableId, Nn as compositionFeatureEnabled, On as COMPOSER_ADDON_ID, Pn as compositionItemFieldPath, Rn as toExpressionValue, St as evaluateCompositionField, Un as BaseAddon, Vn as DeviceType, Y as buildCapabilityLookup, c as COMPOSED_ITEM_FIXED_FIELDS, en as planComposition, et as compositionFieldKey, i as BaseDevice, jn as composedDeviceRef, mr as EventCategory, t as ALL_CAPABILITY_DEFINITIONS, v as DeclaredDevices } from "../../dist-YXCrqVwr.mjs";
2
- import { n as normalizedNativeOwner } from "../../composition-sources-CJPoLPZa.mjs";
1
+ import { $ as composerCapability, An as cloneStatefulExpressionMemory, Fn as compositionSliceKey, Hn as DeviceType, In as compositionSourceKey, Ln as createStatefulExpressionMemory, Mn as composedDeviceStableId, Nn as compositionFeatureEnabled, On as COMPOSER_ADDON_ID, Pn as compositionItemFieldPath, Rn as disarmRoseMemory, St as evaluateCompositionField, Un as errMsg, Wn as BaseAddon, Y as buildCapabilityLookup, c as COMPOSED_ITEM_FIXED_FIELDS, en as planComposition, er as createEvent, et as compositionFieldKey, hr as EventCategory, i as BaseDevice, jn as composedDeviceRef, t as ALL_CAPABILITY_DEFINITIONS, v as DeclaredDevices, zn as toExpressionValue } from "../../dist-ByF1NqOH.mjs";
2
+ import { n as normalizedNativeOwner } from "../../composition-sources-CDDz1REg.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. */
@@ -1350,6 +1350,7 @@ function evaluateFields(host, keys, now) {
1350
1350
  const record = next.get(key);
1351
1351
  if (record === void 0) continue;
1352
1352
  const candidateMemory = cloneStatefulExpressionMemory(record.expressionMemory);
1353
+ if (record.outcome?.state === "unavailable") disarmRoseMemory(candidateMemory);
1353
1354
  const outcome = evaluateCompositionField({
1354
1355
  source: record.plan.source,
1355
1356
  read,
@@ -1362,6 +1363,7 @@ function evaluateFields(host, keys, now) {
1362
1363
  }
1363
1364
  });
1364
1365
  const expressionSucceeded = outcome.state !== "unavailable";
1366
+ if (expressionSucceeded) candidateMemory.disarmRoseNext = false;
1365
1367
  let evaluated = {
1366
1368
  ...record,
1367
1369
  outcome,
@@ -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-PCvk1lCg.js");
6
+ const require_dist = require("../../dist-CFQLMsVb.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 { Un as BaseAddon, Vt as logDestinationCapability } from "../../dist-YXCrqVwr.mjs";
1
+ import { Vt as logDestinationCapability, Wn as BaseAddon } from "../../dist-ByF1NqOH.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,7 +1,7 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  const require_chunk = require("../../chunk-Cek0wNdY.js");
3
- const require_dist = require("../../dist-PCvk1lCg.js");
4
- const require_composition_sources = require("../../composition-sources-C_FdKpSd.js");
3
+ const require_dist = require("../../dist-CFQLMsVb.js");
4
+ const require_composition_sources = require("../../composition-sources-C0Go51Qt.js");
5
5
  let node_crypto = require("node:crypto");
6
6
  let _camstack_types_node = require("@camstack/types/node");
7
7
  let node_fs_promises = require("node:fs/promises");
@@ -1,5 +1,5 @@
1
- import { Cn as validateComposition, Hn as errMsg, In as compositionSourceKey, Un as BaseAddon, Y as buildCapabilityLookup, an as replacedFieldKeys, at as coreBlockSourceKind, d as CORE_BLOCK_ADDON_PREFIX, en as planComposition, f as CoreBlockSchema, it as coreBlockIdFromAddonId, jn as composedDeviceRef, l as COMPOSER_RUNNER_ID, mt as describeComposableCaps, nt as coreBlockAddonId, ot as coreBlocksCapability, rt as coreBlockComposition, t as ALL_CAPABILITY_DEFINITIONS, tt as compositionSourceRefs, u as CORE_BLOCKS_ADDON_ID, v as DeclaredDevices } from "../../dist-YXCrqVwr.mjs";
2
- import { t as describeCompositionSources } from "../../composition-sources-CJPoLPZa.mjs";
1
+ import { Cn as validateComposition, In as compositionSourceKey, Un as errMsg, Wn as BaseAddon, Y as buildCapabilityLookup, an as replacedFieldKeys, at as coreBlockSourceKind, d as CORE_BLOCK_ADDON_PREFIX, en as planComposition, f as CoreBlockSchema, it as coreBlockIdFromAddonId, jn as composedDeviceRef, l as COMPOSER_RUNNER_ID, mt as describeComposableCaps, nt as coreBlockAddonId, ot as coreBlocksCapability, rt as coreBlockComposition, t as ALL_CAPABILITY_DEFINITIONS, tt as compositionSourceRefs, u as CORE_BLOCKS_ADDON_ID, v as DeclaredDevices } from "../../dist-ByF1NqOH.mjs";
2
+ import { t as describeCompositionSources } from "../../composition-sources-CDDz1REg.mjs";
3
3
  import { randomUUID } from "node:crypto";
4
4
  import { customizationBlockName } from "@camstack/types/node";
5
5
  import * as fs from "node:fs/promises";
@@ -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-PCvk1lCg.js");
7
- const require_retired_settings_keys = require("../../retired-settings-keys-F2ehGIfq.js");
6
+ const require_dist = require("../../dist-CFQLMsVb.js");
7
+ const require_retired_settings_keys = require("../../retired-settings-keys-kGNucQWK.js");
8
8
  let zod = require("zod");
9
9
  let node_crypto = require("node:crypto");
10
10
  let _camstack_types_node = require("@camstack/types/node");
@@ -1,5 +1,5 @@
1
- import { $t as parseStreamParamsFormPatch, Bn as DeviceRole, Bt as locationIconKey, D as MINUTES_PER_DAY, Hn as errMsg, It as legacyAutoLinkIds, Ot as formatMinutes, P as STREAM_PROFILE_META, S as FieldClaimSchema, T as LocationIconIdSchema, Un as BaseAddon, Vn as DeviceType, X as buildStreamParamsConfigSchema, Xt as normalizeUnit, Yn as WELL_KNOWN_TAB_MAP, _t as deviceStateCapability, bt as enumerateItemArrayFields, fr as sleep$1, ft as defineExtensionSlotProvider, g as DAY_NAMES, gt as deviceManagerCapability, ht as deviceExtensionCapability, ir as isDeviceConfigCap, ln as runtimeStatePolicyFor, mn as siteZoneKey, mr as EventCategory, o as CAMERA_SWITCH_ORDER, s as CAP_NAMES_WITH_STATUS, st as createDeviceExtensionProvider, t as ALL_CAPABILITY_DEFINITIONS, vt as deviceStatusCapability, wt as expandContainer, x as FieldClaimModeSchema, xt as enumerateSchemaFields, y as DeviceStatusSchema, zn as DeviceFeature } from "../../dist-YXCrqVwr.mjs";
2
- import { n as purgeRetiredSettingsRows } from "../../retired-settings-keys-DKrsFjli.mjs";
1
+ import { $t as parseStreamParamsFormPatch, Bn as DeviceFeature, Bt as locationIconKey, D as MINUTES_PER_DAY, Hn as DeviceType, It as legacyAutoLinkIds, Ot as formatMinutes, P as STREAM_PROFILE_META, S as FieldClaimSchema, T as LocationIconIdSchema, Un as errMsg, Vn as DeviceRole, Wn as BaseAddon, X as buildStreamParamsConfigSchema, Xn as WELL_KNOWN_TAB_MAP, Xt as normalizeUnit, _t as deviceStateCapability, ar as isDeviceConfigCap, bt as enumerateItemArrayFields, ft as defineExtensionSlotProvider, g as DAY_NAMES, gt as deviceManagerCapability, hr as EventCategory, ht as deviceExtensionCapability, ln as runtimeStatePolicyFor, mn as siteZoneKey, o as CAMERA_SWITCH_ORDER, pr as sleep$1, s as CAP_NAMES_WITH_STATUS, st as createDeviceExtensionProvider, t as ALL_CAPABILITY_DEFINITIONS, vt as deviceStatusCapability, wt as expandContainer, x as FieldClaimModeSchema, xt as enumerateSchemaFields, y as DeviceStatusSchema } from "../../dist-ByF1NqOH.mjs";
2
+ import { n as purgeRetiredSettingsRows } from "../../retired-settings-keys-AHxnm1MO.mjs";
3
3
  import { z } from "zod";
4
4
  import { randomUUID } from "node:crypto";
5
5
  import { canonicalDeviceFingerprint } from "@camstack/types/node";
@@ -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-PCvk1lCg.js");
6
+ const require_dist = require("../../dist-CFQLMsVb.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 { Un as BaseAddon, Vt as logDestinationCapability } from "../../dist-YXCrqVwr.mjs";
1
+ import { Vt as logDestinationCapability, Wn as BaseAddon } from "../../dist-ByF1NqOH.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-PCvk1lCg.js");
3
+ const require_dist = require("../../dist-CFQLMsVb.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 { $n as createEvent, Hn as errMsg, M as RecordingStatusSchema, Un as BaseAddon, k as RECORDING_SOURCE_CAMSTACK_ADDON, mr as EventCategory } from "../../dist-YXCrqVwr.mjs";
1
+ import { M as RecordingStatusSchema, Un as errMsg, Wn as BaseAddon, er as createEvent, hr as EventCategory, k as RECORDING_SOURCE_CAMSTACK_ADDON } from "../../dist-ByF1NqOH.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-PCvk1lCg.js");
6
+ const require_dist = require("../../dist-CFQLMsVb.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 { B as UserRecordSchema, F as ScopedTokenSchema, G as authProviderCapability, Sn as userManagementCapability, Un as BaseAddon, r as ApiKeyRecordSchema } from "../../dist-YXCrqVwr.mjs";
2
+ import { B as UserRecordSchema, F as ScopedTokenSchema, G as authProviderCapability, Sn as userManagementCapability, Wn as BaseAddon, r as ApiKeyRecordSchema } from "../../dist-ByF1NqOH.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-PCvk1lCg.js");
3
+ const require_dist = require("../../dist-CFQLMsVb.js");
4
4
  const require_tls = require("../../tls-D_wUeOTD.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 { Un as BaseAddon, mr as EventCategory, zt as localNetworkCapability } from "../../dist-YXCrqVwr.mjs";
1
+ import { Wn as BaseAddon, hr as EventCategory, zt as localNetworkCapability } from "../../dist-ByF1NqOH.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-IM-v7JV4.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-PCvk1lCg.js");
6
+ const require_dist = require("../../dist-CFQLMsVb.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 { Un as BaseAddon, Vt as logDestinationCapability } from "../../dist-YXCrqVwr.mjs";
1
+ import { Vt as logDestinationCapability, Wn as BaseAddon } from "../../dist-ByF1NqOH.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-PCvk1lCg.js");
6
+ const require_dist = require("../../dist-CFQLMsVb.js");
7
7
  const require_proc_stat = require("../../proc-stat-DL-WUOhl.js");
8
8
  let node_fs_promises = require("node:fs/promises");
9
9
  let node_fs = require("node:fs");
@@ -1,4 +1,4 @@
1
- import { $n as createEvent, Dt as foldSnapshotByFunction, Hn as errMsg, Un as BaseAddon, in as reducePoints, mr as EventCategory, on as resolveBucketMs, qt as metricsProviderCapability } from "../../dist-YXCrqVwr.mjs";
1
+ import { Dt as foldSnapshotByFunction, Un as errMsg, Wn as BaseAddon, er as createEvent, hr as EventCategory, in as reducePoints, on as resolveBucketMs, qt as metricsProviderCapability } from "../../dist-ByF1NqOH.mjs";
2
2
  import { a as parseProcStat, i as nodeProcReader, n as elapsedSecSince, o as parseProcStatusRss, r as lifetimeCpuPercent, t as commandFromCmdline } from "../../proc-stat-CbC55Kqi.mjs";
3
3
  import { access, readFile, readdir } from "node:fs/promises";
4
4
  import * as fs from "node:fs";
@@ -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-PCvk1lCg.js");
6
+ const require_dist = require("../../dist-CFQLMsVb.js");
7
7
  let node_fs = require("node:fs");
8
8
  node_fs = require_chunk.__toESM(node_fs);
9
9
  let node_child_process = require("node:child_process");
@@ -1,5 +1,5 @@
1
1
  import { o as __toESM } from "../../chunk-CNf5ZN-e.mjs";
2
- import { Hn as errMsg, Un as BaseAddon, fn as scoreRuntimes, mr as EventCategory, tn as platformProbeCapability, tr as emitReadiness, yt as enumerateInferenceDevices } from "../../dist-YXCrqVwr.mjs";
2
+ import { Un as errMsg, Wn as BaseAddon, fn as scoreRuntimes, hr as EventCategory, nr as emitReadiness, tn as platformProbeCapability, yt as enumerateInferenceDevices } from "../../dist-ByF1NqOH.mjs";
3
3
  import * as fs from "node:fs";
4
4
  import { execFile } from "node:child_process";
5
5
  import * as os from "node:os";
@@ -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-PCvk1lCg.js");
6
+ const require_dist = require("../../dist-CFQLMsVb.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 { Un as BaseAddon, mr as EventCategory } from "../../dist-YXCrqVwr.mjs";
1
+ import { Wn as BaseAddon, hr as EventCategory } from "../../dist-ByF1NqOH.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-PCvk1lCg.js");
6
+ const require_dist = require("../../dist-CFQLMsVb.js");
7
7
  const require_snapshot_courtesy = require("../../snapshot-courtesy-D_C5-nC0.js");
8
8
  let zod = require("zod");
9
9
  let node_crypto = require("node:crypto");
@@ -1,4 +1,4 @@
1
- import { Hn as errMsg, J as batteryCapability, Kt as memoizePinnedFfmpeg, Un as BaseAddon, Vn as DeviceType, a as BatteryStatusSchema, hn as snapshotCapability, mr as EventCategory, or as nodePin, pt as deriveBatteryPresence, q as bareAddonId, xn as streamQualityLabel, zn as DeviceFeature } from "../../dist-YXCrqVwr.mjs";
1
+ import { Bn as DeviceFeature, Hn as DeviceType, J as batteryCapability, Kt as memoizePinnedFfmpeg, Un as errMsg, Wn as BaseAddon, a as BatteryStatusSchema, hn as snapshotCapability, hr as EventCategory, pt as deriveBatteryPresence, q as bareAddonId, sr as nodePin, xn as streamQualityLabel } from "../../dist-ByF1NqOH.mjs";
2
2
  import { i as renderCourtesyOverlayJpeg, n as courtesyCacheKey, r as renderCourtesyJpeg } from "../../snapshot-courtesy-CyFs1M3I.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
  const require_chunk = require("../../chunk-Cek0wNdY.js");
6
- const require_dist = require("../../dist-PCvk1lCg.js");
6
+ const require_dist = require("../../dist-CFQLMsVb.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 { Et as filesystemBrowseCapability, Un as BaseAddon, yn as storageProviderCapability } from "../../dist-YXCrqVwr.mjs";
1
+ import { Et as filesystemBrowseCapability, Wn as BaseAddon, yn as storageProviderCapability } from "../../dist-ByF1NqOH.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-PCvk1lCg.js");
6
+ const require_dist = require("../../dist-CFQLMsVb.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 { A as REDACTED_SECRET, Ct as evictionPolicyOfLocation, Dn as withLocationMode, Gt as mayWriteToLocation, I as StorageCleanupJobSchema, Jt as modeMayWrite, L as StorageLocationModeSchema, Lt as legacyModeOf, Mt as isLocationEnabled, Q as collectSecretConfigKeys, R as StorageLocationTypeSchema, Un as BaseAddon, Wt as mayReadLocation, _n as storageMigrationCapability, gn as storageCapability, kt as gbToBytes, mr as EventCategory, pn as settingsStoreCapability, sn as resolveLocationMode, sr as parseJsonObject, w as LegacyStorageLocationDefaultSchema, z as StorageMigrationJobSchema } from "../../dist-YXCrqVwr.mjs";
1
+ import { A as REDACTED_SECRET, Ct as evictionPolicyOfLocation, Dn as withLocationMode, Gt as mayWriteToLocation, I as StorageCleanupJobSchema, Jt as modeMayWrite, L as StorageLocationModeSchema, Lt as legacyModeOf, Mt as isLocationEnabled, Q as collectSecretConfigKeys, R as StorageLocationTypeSchema, Wn as BaseAddon, Wt as mayReadLocation, _n as storageMigrationCapability, cr as parseJsonObject, gn as storageCapability, hr as EventCategory, kt as gbToBytes, pn as settingsStoreCapability, sn as resolveLocationMode, w as LegacyStorageLocationDefaultSchema, z as StorageMigrationJobSchema } from "../../dist-ByF1NqOH.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-PCvk1lCg.js");
6
+ const require_dist = require("../../dist-CFQLMsVb.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 { Hn as errMsg, Un as BaseAddon, rr as hydrateSchema } from "../../dist-YXCrqVwr.mjs";
1
+ import { Un as errMsg, Wn as BaseAddon, ir as hydrateSchema } from "../../dist-ByF1NqOH.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-PCvk1lCg.js");
6
+ const require_dist = require("../../dist-CFQLMsVb.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 { Un as BaseAddon, Vt as logDestinationCapability } from "../../dist-YXCrqVwr.mjs";
1
+ import { Vt as logDestinationCapability, Wn as BaseAddon } from "../../dist-ByF1NqOH.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";
@@ -1,4 +1,4 @@
1
- import { $n as createEvent, mr as EventCategory$1 } from "./dist-YXCrqVwr.mjs";
1
+ import { er as createEvent, hr as EventCategory$1 } from "./dist-ByF1NqOH.mjs";
2
2
  import { a as parseProcStat, i as nodeProcReader } from "./proc-stat-CbC55Kqi.mjs";
3
3
  import "./hub-cap-forward-BdT320dq.mjs";
4
4
  import * as crypto$1 from "node:crypto";
@@ -1,5 +1,5 @@
1
1
  const require_chunk = require("./chunk-Cek0wNdY.js");
2
- const require_dist = require("./dist-PCvk1lCg.js");
2
+ const require_dist = require("./dist-CFQLMsVb.js");
3
3
  const require_proc_stat = require("./proc-stat-DL-WUOhl.js");
4
4
  require("./hub-cap-forward-DmHNjbB0.js");
5
5
  let node_crypto = require("node:crypto");
@@ -1,4 +1,4 @@
1
- const require_dist = require("./dist-PCvk1lCg.js");
1
+ const require_dist = require("./dist-CFQLMsVb.js");
2
2
  //#region src/builtins/core-blocks/composition-sources.ts
3
3
  /**
4
4
  * Describe what a composition reads and writes for SAVE-time validation
@@ -1,4 +1,4 @@
1
- import { Hn as errMsg, In as compositionSourceKey } from "./dist-YXCrqVwr.mjs";
1
+ import { In as compositionSourceKey, Un as errMsg } from "./dist-ByF1NqOH.mjs";
2
2
  //#region src/builtins/core-blocks/composition-sources.ts
3
3
  /**
4
4
  * Describe what a composition reads and writes for SAVE-time validation
@@ -3521,7 +3521,7 @@ function errMsg(err) {
3521
3521
  return String(err);
3522
3522
  }
3523
3523
  //#endregion
3524
- //#region ../types/dist/composition-D7ULvLdD.mjs
3524
+ //#region ../types/dist/composition-Bzr7GwgP.mjs
3525
3525
  var AUDIO_ENCODER_BY_CODEC = {
3526
3526
  opus: "libopus",
3527
3527
  aac: "aac",
@@ -4001,6 +4001,8 @@ var SOURCE_CAP_ACTIVE_FIELD = {
4001
4001
  vibration: "detected",
4002
4002
  tamper: "tampered"
4003
4003
  };
4004
+ /** Cap names whose presence in a device's bindings qualify it as a source. */
4005
+ var SOURCE_CAPS = Object.keys(SOURCE_CAP_ACTIVE_FIELD);
4004
4006
  /**
4005
4007
  * How recent a source's own transition timestamp must be for a FIRST
4006
4008
  * sighting that is already active to count as a genuine rise rather than a
@@ -4093,6 +4095,11 @@ function evaluateRose(level, changedAt, debounceMs, call, field, env) {
4093
4095
  const timestamp = typeof changedAt === "number" && Number.isFinite(changedAt) ? changedAt : null;
4094
4096
  const debounce = debounceMs === void 0 ? DEFAULT_ROSE_DEBOUNCE_MS : asFiniteNumber(debounceMs, "rose", 2);
4095
4097
  if (debounce < 0) throw new ExpressionEvalError("rose: debounce must be a non-negative finite number");
4098
+ if (call.disarmNext === true || field.disarmRoseNext) {
4099
+ call.disarmNext = false;
4100
+ if (call.priorLevel === void 0) call.priorLevel = active;
4101
+ return env.currentOutput;
4102
+ }
4096
4103
  const verdict = evaluateSensorLevelEdge({
4097
4104
  level: active,
4098
4105
  changedAt: timestamp,
@@ -4107,6 +4114,17 @@ function evaluateRose(level, changedAt, debounceMs, call, field, env) {
4107
4114
  field.acceptedEdgeAt = verdict.timestamp;
4108
4115
  return verdict.timestamp;
4109
4116
  }
4117
+ /** Next evaluation of every `rose` call baselines without rising. */
4118
+ function disarmRoseMemory(memory) {
4119
+ memory.disarmRoseNext = true;
4120
+ for (const [path, call] of memory.calls) {
4121
+ if (call.kind !== "rose") continue;
4122
+ memory.calls.set(path, {
4123
+ ...call,
4124
+ disarmNext: true
4125
+ });
4126
+ }
4127
+ }
4110
4128
  /**
4111
4129
  * `count(x)`: how many times `x` strictly advanced (D670). It starts on the
4112
4130
  * first ANSWERED read of `x`:
@@ -4828,13 +4846,15 @@ function evaluateAst(node, scope, opts) {
4828
4846
  function createStatefulExpressionMemory() {
4829
4847
  return {
4830
4848
  calls: /* @__PURE__ */ new Map(),
4831
- acceptedEdgeAt: null
4849
+ acceptedEdgeAt: null,
4850
+ disarmRoseNext: false
4832
4851
  };
4833
4852
  }
4834
4853
  function cloneStatefulExpressionMemory(memory) {
4835
4854
  return {
4836
4855
  calls: new Map([...memory.calls].map(([path, call]) => [path, { ...call }])),
4837
- acceptedEdgeAt: memory.acceptedEdgeAt
4856
+ acceptedEdgeAt: memory.acceptedEdgeAt,
4857
+ disarmRoseNext: memory.disarmRoseNext
4838
4858
  };
4839
4859
  }
4840
4860
  function evaluateStatefulExpressionCall(invocation, memory, env) {
@@ -9823,7 +9843,7 @@ var BrokerStatusEnum = z.enum([
9823
9843
  "unreachable",
9824
9844
  "error"
9825
9845
  ]);
9826
- var BrokerInfoSchema$1 = z.object({
9846
+ var BrokerInfoSchema = z.object({
9827
9847
  /** Stable broker id. Persisted; survives addon restarts. */
9828
9848
  id: z.string(),
9829
9849
  /** Addon id of the provider that OWNS this broker.
@@ -9966,8 +9986,8 @@ var brokerCapability = {
9966
9986
  kind: "poll"
9967
9987
  },
9968
9988
  methods: {
9969
- list: method(ListInputSchema, z.array(BrokerInfoSchema$1)),
9970
- get: method(GetInputSchema, BrokerInfoSchema$1.nullable()),
9989
+ list: method(ListInputSchema, z.array(BrokerInfoSchema)),
9990
+ get: method(GetInputSchema, BrokerInfoSchema.nullable()),
9971
9991
  /** Enumerate which addon provides which broker kind(s) for the
9972
9992
  * unified create picker. The auto-mount fans this array across
9973
9993
  * every registered `broker` provider (array-output method), so the
@@ -18468,7 +18488,7 @@ var BrokerStatusSchema$1 = z.enum([
18468
18488
  "unreachable",
18469
18489
  "tls-error"
18470
18490
  ]);
18471
- var BrokerInfoSchema = z.object({
18491
+ var BrokerInfoSchema$1 = z.object({
18472
18492
  id: z.string(),
18473
18493
  name: z.string(),
18474
18494
  url: z.string(),
@@ -18541,7 +18561,7 @@ var mqttBrokerCapability = {
18541
18561
  kind: "poll"
18542
18562
  },
18543
18563
  methods: {
18544
- listBrokers: method(z.void(), z.array(BrokerInfoSchema)),
18564
+ listBrokers: method(z.void(), z.array(BrokerInfoSchema$1)),
18545
18565
  getBrokerConfig: method(IdInputSchema, BrokerConnectionDetailsSchema, { auth: "admin" }),
18546
18566
  addBroker: method(AddBrokerInputSchema, AddBrokerResultSchema, {
18547
18567
  kind: "mutation",
@@ -23651,6 +23671,7 @@ var KeyEventSchema = z.object({
23651
23671
  bestEventId: z.string(),
23652
23672
  /** Track lifetime in ms (lastSeen - firstSeen). */
23653
23673
  windowMs: z.number().optional(),
23674
+ audioLabels: z.array(TrackAudioLabelSchema).readonly().optional(),
23654
23675
  ...TrackFlagFields,
23655
23676
  ...TrackRetrainFields
23656
23677
  });
@@ -44653,6 +44674,7 @@ function evaluateCompositionField(input) {
44653
44674
  };
44654
44675
  }
44655
44676
  }
44677
+ SOURCE_CAPS.filter((cap) => cap !== "switch" && cap !== "motion");
44656
44678
  /**
44657
44679
  * Runtime defaults -- used by ConfigManager.get() for backward compatibility
44658
44680
  * until Plan B wires all runtime settings to the system_settings SQL table.
@@ -58803,4 +58825,4 @@ function enumerateInferenceDevices(hw) {
58803
58825
  return out;
58804
58826
  }
58805
58827
  //#endregion
58806
- export { composerCapability as $, createEvent as $n, parseStreamParamsFormPatch as $t, REDACTED_SECRET as A, cloneStatefulExpressionMemory as An, isArrayOutputSchema as At, UserRecordSchema as B, DeviceRole as Bn, locationIconKey as Bt, LOG_LEVEL_RANK as C, validateComposition as Cn, evictionPolicyOfLocation as Ct, MINUTES_PER_DAY as D, withLocationMode as Dn, foldSnapshotByFunction as Dt, METHOD_ACCESS_MAP as E, vectorStoreCapability as En, filesystemBrowseCapability as Et, ScopedTokenSchema as F, compositionSliceKey as Fn, kebabToCamel as Ft, authProviderCapability as G, DEVICE_SETTINGS_CONTRIBUTION_METHODS as Gn, mayWriteToLocation as Gt, addonSettingsCapability as H, errMsg as Hn, logLevelAtMost as Ht, StorageCleanupJobSchema as I, compositionSourceKey as In, legacyAutoLinkIds as It, batteryCapability as J, ReadinessTimeoutError as Jn, modeMayWrite as Jt, backupCapability as K, DEVICE_STATUS_METHOD as Kn, memoizePinnedFfmpeg as Kt, StorageLocationModeSchema as L, createStatefulExpressionMemory as Ln, legacyModeOf as Lt, RecordingStatusSchema as M, composedDeviceStableId as Mn, isLocationEnabled as Mt, STORAGE_ACCESS_FALLBACK as N, compositionFeatureEnabled as Nn, isObjectInput as Nt, MOTION_CLOSE_AFTER_MS as O, COMPOSER_ADDON_ID as On, formatMinutes as Ot, STREAM_PROFILE_META as P, compositionItemFieldPath as Pn, isVoidInput as Pt, collectSecretConfigKeys as Q, asString$1 as Qn, objectInputDeclaresRequiredDeviceId as Qt, StorageLocationTypeSchema as R, toExpressionValue as Rn, lifecycleJobSchema as Rt, FieldClaimSchema as S, userManagementCapability as Sn, evaluateCompositionField as St, LocationIconIdSchema as T, vectorIndexDimConflictError as Tn, extractNestedAddonId as Tt, addonWidgetsCapability as U, BaseAddon as Un, looseSchema as Ut, addonPagesCapability as V, DeviceType as Vn, logDestinationCapability as Vt, alertsCapability as W, DATAPLANE_SECRET_HEADER as Wn, mayReadLocation as Wt, buildStreamParamsConfigSchema as X, asJsonObject as Xn, normalizeUnit as Xt, buildCapabilityLookup as Y, WELL_KNOWN_TAB_MAP as Yn, motionCapability as Yt, cameraGridLayoutCapability as Z, asNumber as Zn, objectInputDeclaresAddonId as Zt, DERIVED_CAMERA_SILENCED_CAP_NAMES as _, storageMigrationCapability as _n, deviceStateCapability as _t, BatteryStatusSchema as a, replacedFieldKeys as an, isEvent as ar, coreBlockSourceKind as at, FIRST_LEVEL_MACRO_CLASSES as b, streamCatalogCapability as bn, enumerateItemArrayFields as bt, COMPOSED_ITEM_FIXED_FIELDS as c, resolveMethodAuth as cn, parseJsonUnknown as cr, dataStoreProviderCapability as ct, CORE_BLOCK_ADDON_PREFIX as d, scopesAllowDeviceCap as dn, scopeKey as dr, decodeVectorBase64 as dt, planComposition as en, emitDownForOwnedCaps as er, compositionFieldKey as et, CoreBlockSchema as f, scoreRuntimes as fn, sleep as fr, defineExtensionSlotProvider as ft, DAY_NAMES as g, storageCapability as gn, deviceManagerCapability as gt, DATABASE_SNAPSHOT_TIMEOUT_MS as h, snapshotCapability as hn, deviceExtensionCapability as ht, BaseDevice as i, reducePoints as in, isDeviceConfigCap as ir, coreBlockIdFromAddonId as it, RUNTIME_DEFAULTS as j, composedDeviceRef as jn, isCollectionArrayMethod as jt, RECORDING_SOURCE_CAMSTACK_ADDON as k, buildFfmpegArgs as kn, gbToBytes as kt, COMPOSER_RUNNER_ID as l, runtimeStatePolicyFor as ln, readinessKey as lr, databaseSnapshotCapability as lt, DATABASE_SNAPSHOT_SUFFIX as m, siteZoneKey as mn, EventCategory as mr, describeComposableCaps as mt, AlertSchema as n, procedureAuthKey as nn, expandCapMethods as nr, coreBlockAddonId as nt, CAMERA_SWITCH_ORDER as o, resolveBucketMs as on, nodePin as or, coreBlocksCapability as ot, DATABASE_SNAPSHOT_PARTIAL_SUFFIX as p, settingsStoreCapability as pn, toNodeId as pr, deriveBatteryPresence as pt, bareAddonId as q, ReadinessRegistry as qn, metricsProviderCapability as qt, ApiKeyRecordSchema as r, ptzAutotrackCapability as rn, hydrateSchema as rr, coreBlockComposition as rt, CAP_NAMES_WITH_STATUS as s, resolveLocationMode as sn, parseJsonObject as sr, createDeviceExtensionProvider as st, ALL_CAPABILITY_DEFINITIONS as t, platformProbeCapability as tn, emitReadiness as tr, compositionSourceRefs as tt, CORE_BLOCKS_ADDON_ID as u, scopesAllowAddon as un, resolveCapMount as ur, declarationOwnerNodeId as ut, DeclaredDevices as v, storageOccupancyCapability as vn, deviceStatusCapability as vt, LegacyStorageLocationDefaultSchema as w, vectorDimFromBase64 as wn, expandContainer as wt, FieldClaimModeSchema as x, streamQualityLabel as xn, enumerateSchemaFields as xt, DeviceStatusSchema as y, storageProviderCapability as yn, enumerateInferenceDevices as yt, StorageMigrationJobSchema as z, DeviceFeature as zn, localNetworkCapability as zt };
58828
+ export { composerCapability as $, asString$1 as $n, parseStreamParamsFormPatch as $t, REDACTED_SECRET as A, cloneStatefulExpressionMemory as An, isArrayOutputSchema as At, UserRecordSchema as B, DeviceFeature as Bn, locationIconKey as Bt, LOG_LEVEL_RANK as C, validateComposition as Cn, evictionPolicyOfLocation as Ct, MINUTES_PER_DAY as D, withLocationMode as Dn, foldSnapshotByFunction as Dt, METHOD_ACCESS_MAP as E, vectorStoreCapability as En, filesystemBrowseCapability as Et, ScopedTokenSchema as F, compositionSliceKey as Fn, kebabToCamel as Ft, authProviderCapability as G, DATAPLANE_SECRET_HEADER as Gn, mayWriteToLocation as Gt, addonSettingsCapability as H, DeviceType as Hn, logLevelAtMost as Ht, StorageCleanupJobSchema as I, compositionSourceKey as In, legacyAutoLinkIds as It, batteryCapability as J, ReadinessRegistry as Jn, modeMayWrite as Jt, backupCapability as K, DEVICE_SETTINGS_CONTRIBUTION_METHODS as Kn, memoizePinnedFfmpeg as Kt, StorageLocationModeSchema as L, createStatefulExpressionMemory as Ln, legacyModeOf as Lt, RecordingStatusSchema as M, composedDeviceStableId as Mn, isLocationEnabled as Mt, STORAGE_ACCESS_FALLBACK as N, compositionFeatureEnabled as Nn, isObjectInput as Nt, MOTION_CLOSE_AFTER_MS as O, COMPOSER_ADDON_ID as On, formatMinutes as Ot, STREAM_PROFILE_META as P, compositionItemFieldPath as Pn, isVoidInput as Pt, collectSecretConfigKeys as Q, asNumber as Qn, objectInputDeclaresRequiredDeviceId as Qt, StorageLocationTypeSchema as R, disarmRoseMemory as Rn, lifecycleJobSchema as Rt, FieldClaimSchema as S, userManagementCapability as Sn, evaluateCompositionField as St, LocationIconIdSchema as T, vectorIndexDimConflictError as Tn, extractNestedAddonId as Tt, addonWidgetsCapability as U, errMsg as Un, looseSchema as Ut, addonPagesCapability as V, DeviceRole as Vn, logDestinationCapability as Vt, alertsCapability as W, BaseAddon as Wn, mayReadLocation as Wt, buildStreamParamsConfigSchema as X, WELL_KNOWN_TAB_MAP as Xn, normalizeUnit as Xt, buildCapabilityLookup as Y, ReadinessTimeoutError as Yn, motionCapability as Yt, cameraGridLayoutCapability as Z, asJsonObject as Zn, objectInputDeclaresAddonId as Zt, DERIVED_CAMERA_SILENCED_CAP_NAMES as _, storageMigrationCapability as _n, deviceStateCapability as _t, BatteryStatusSchema as a, replacedFieldKeys as an, isDeviceConfigCap as ar, coreBlockSourceKind as at, FIRST_LEVEL_MACRO_CLASSES as b, streamCatalogCapability as bn, enumerateItemArrayFields as bt, COMPOSED_ITEM_FIXED_FIELDS as c, resolveMethodAuth as cn, parseJsonObject as cr, dataStoreProviderCapability as ct, CORE_BLOCK_ADDON_PREFIX as d, scopesAllowDeviceCap as dn, resolveCapMount as dr, decodeVectorBase64 as dt, planComposition as en, createEvent as er, compositionFieldKey as et, CoreBlockSchema as f, scoreRuntimes as fn, scopeKey as fr, defineExtensionSlotProvider as ft, DAY_NAMES as g, storageCapability as gn, deviceManagerCapability as gt, DATABASE_SNAPSHOT_TIMEOUT_MS as h, snapshotCapability as hn, EventCategory as hr, deviceExtensionCapability as ht, BaseDevice as i, reducePoints as in, hydrateSchema as ir, coreBlockIdFromAddonId as it, RUNTIME_DEFAULTS as j, composedDeviceRef as jn, isCollectionArrayMethod as jt, RECORDING_SOURCE_CAMSTACK_ADDON as k, buildFfmpegArgs as kn, gbToBytes as kt, COMPOSER_RUNNER_ID as l, runtimeStatePolicyFor as ln, parseJsonUnknown as lr, databaseSnapshotCapability as lt, DATABASE_SNAPSHOT_SUFFIX as m, siteZoneKey as mn, toNodeId as mr, describeComposableCaps as mt, AlertSchema as n, procedureAuthKey as nn, emitReadiness as nr, coreBlockAddonId as nt, CAMERA_SWITCH_ORDER as o, resolveBucketMs as on, isEvent as or, coreBlocksCapability as ot, DATABASE_SNAPSHOT_PARTIAL_SUFFIX as p, settingsStoreCapability as pn, sleep as pr, deriveBatteryPresence as pt, bareAddonId as q, DEVICE_STATUS_METHOD as qn, metricsProviderCapability as qt, ApiKeyRecordSchema as r, ptzAutotrackCapability as rn, expandCapMethods as rr, coreBlockComposition as rt, CAP_NAMES_WITH_STATUS as s, resolveLocationMode as sn, nodePin as sr, createDeviceExtensionProvider as st, ALL_CAPABILITY_DEFINITIONS as t, platformProbeCapability as tn, emitDownForOwnedCaps as tr, compositionSourceRefs as tt, CORE_BLOCKS_ADDON_ID as u, scopesAllowAddon as un, readinessKey as ur, declarationOwnerNodeId as ut, DeclaredDevices as v, storageOccupancyCapability as vn, deviceStatusCapability as vt, LegacyStorageLocationDefaultSchema as w, vectorDimFromBase64 as wn, expandContainer as wt, FieldClaimModeSchema as x, streamQualityLabel as xn, enumerateSchemaFields as xt, DeviceStatusSchema as y, storageProviderCapability as yn, enumerateInferenceDevices as yt, StorageMigrationJobSchema as z, toExpressionValue as zn, localNetworkCapability as zt };
@@ -3521,7 +3521,7 @@ function errMsg(err) {
3521
3521
  return String(err);
3522
3522
  }
3523
3523
  //#endregion
3524
- //#region ../types/dist/composition-D7ULvLdD.mjs
3524
+ //#region ../types/dist/composition-Bzr7GwgP.mjs
3525
3525
  var AUDIO_ENCODER_BY_CODEC = {
3526
3526
  opus: "libopus",
3527
3527
  aac: "aac",
@@ -4001,6 +4001,8 @@ var SOURCE_CAP_ACTIVE_FIELD = {
4001
4001
  vibration: "detected",
4002
4002
  tamper: "tampered"
4003
4003
  };
4004
+ /** Cap names whose presence in a device's bindings qualify it as a source. */
4005
+ var SOURCE_CAPS = Object.keys(SOURCE_CAP_ACTIVE_FIELD);
4004
4006
  /**
4005
4007
  * How recent a source's own transition timestamp must be for a FIRST
4006
4008
  * sighting that is already active to count as a genuine rise rather than a
@@ -4093,6 +4095,11 @@ function evaluateRose(level, changedAt, debounceMs, call, field, env) {
4093
4095
  const timestamp = typeof changedAt === "number" && Number.isFinite(changedAt) ? changedAt : null;
4094
4096
  const debounce = debounceMs === void 0 ? DEFAULT_ROSE_DEBOUNCE_MS : asFiniteNumber(debounceMs, "rose", 2);
4095
4097
  if (debounce < 0) throw new ExpressionEvalError("rose: debounce must be a non-negative finite number");
4098
+ if (call.disarmNext === true || field.disarmRoseNext) {
4099
+ call.disarmNext = false;
4100
+ if (call.priorLevel === void 0) call.priorLevel = active;
4101
+ return env.currentOutput;
4102
+ }
4096
4103
  const verdict = evaluateSensorLevelEdge({
4097
4104
  level: active,
4098
4105
  changedAt: timestamp,
@@ -4107,6 +4114,17 @@ function evaluateRose(level, changedAt, debounceMs, call, field, env) {
4107
4114
  field.acceptedEdgeAt = verdict.timestamp;
4108
4115
  return verdict.timestamp;
4109
4116
  }
4117
+ /** Next evaluation of every `rose` call baselines without rising. */
4118
+ function disarmRoseMemory(memory) {
4119
+ memory.disarmRoseNext = true;
4120
+ for (const [path, call] of memory.calls) {
4121
+ if (call.kind !== "rose") continue;
4122
+ memory.calls.set(path, {
4123
+ ...call,
4124
+ disarmNext: true
4125
+ });
4126
+ }
4127
+ }
4110
4128
  /**
4111
4129
  * `count(x)`: how many times `x` strictly advanced (D670). It starts on the
4112
4130
  * first ANSWERED read of `x`:
@@ -4828,13 +4846,15 @@ function evaluateAst(node, scope, opts) {
4828
4846
  function createStatefulExpressionMemory() {
4829
4847
  return {
4830
4848
  calls: /* @__PURE__ */ new Map(),
4831
- acceptedEdgeAt: null
4849
+ acceptedEdgeAt: null,
4850
+ disarmRoseNext: false
4832
4851
  };
4833
4852
  }
4834
4853
  function cloneStatefulExpressionMemory(memory) {
4835
4854
  return {
4836
4855
  calls: new Map([...memory.calls].map(([path, call]) => [path, { ...call }])),
4837
- acceptedEdgeAt: memory.acceptedEdgeAt
4856
+ acceptedEdgeAt: memory.acceptedEdgeAt,
4857
+ disarmRoseNext: memory.disarmRoseNext
4838
4858
  };
4839
4859
  }
4840
4860
  function evaluateStatefulExpressionCall(invocation, memory, env) {
@@ -9823,7 +9843,7 @@ var BrokerStatusEnum = zod.z.enum([
9823
9843
  "unreachable",
9824
9844
  "error"
9825
9845
  ]);
9826
- var BrokerInfoSchema$1 = zod.z.object({
9846
+ var BrokerInfoSchema = zod.z.object({
9827
9847
  /** Stable broker id. Persisted; survives addon restarts. */
9828
9848
  id: zod.z.string(),
9829
9849
  /** Addon id of the provider that OWNS this broker.
@@ -9966,8 +9986,8 @@ var brokerCapability = {
9966
9986
  kind: "poll"
9967
9987
  },
9968
9988
  methods: {
9969
- list: method(ListInputSchema, zod.z.array(BrokerInfoSchema$1)),
9970
- get: method(GetInputSchema, BrokerInfoSchema$1.nullable()),
9989
+ list: method(ListInputSchema, zod.z.array(BrokerInfoSchema)),
9990
+ get: method(GetInputSchema, BrokerInfoSchema.nullable()),
9971
9991
  /** Enumerate which addon provides which broker kind(s) for the
9972
9992
  * unified create picker. The auto-mount fans this array across
9973
9993
  * every registered `broker` provider (array-output method), so the
@@ -18468,7 +18488,7 @@ var BrokerStatusSchema$1 = zod.z.enum([
18468
18488
  "unreachable",
18469
18489
  "tls-error"
18470
18490
  ]);
18471
- var BrokerInfoSchema = zod.z.object({
18491
+ var BrokerInfoSchema$1 = zod.z.object({
18472
18492
  id: zod.z.string(),
18473
18493
  name: zod.z.string(),
18474
18494
  url: zod.z.string(),
@@ -18541,7 +18561,7 @@ var mqttBrokerCapability = {
18541
18561
  kind: "poll"
18542
18562
  },
18543
18563
  methods: {
18544
- listBrokers: method(zod.z.void(), zod.z.array(BrokerInfoSchema)),
18564
+ listBrokers: method(zod.z.void(), zod.z.array(BrokerInfoSchema$1)),
18545
18565
  getBrokerConfig: method(IdInputSchema, BrokerConnectionDetailsSchema, { auth: "admin" }),
18546
18566
  addBroker: method(AddBrokerInputSchema, AddBrokerResultSchema, {
18547
18567
  kind: "mutation",
@@ -23651,6 +23671,7 @@ var KeyEventSchema = zod.z.object({
23651
23671
  bestEventId: zod.z.string(),
23652
23672
  /** Track lifetime in ms (lastSeen - firstSeen). */
23653
23673
  windowMs: zod.z.number().optional(),
23674
+ audioLabels: zod.z.array(TrackAudioLabelSchema).readonly().optional(),
23654
23675
  ...TrackFlagFields,
23655
23676
  ...TrackRetrainFields
23656
23677
  });
@@ -44653,6 +44674,7 @@ function evaluateCompositionField(input) {
44653
44674
  };
44654
44675
  }
44655
44676
  }
44677
+ SOURCE_CAPS.filter((cap) => cap !== "switch" && cap !== "motion");
44656
44678
  /**
44657
44679
  * Runtime defaults -- used by ConfigManager.get() for backward compatibility
44658
44680
  * until Plan B wires all runtime settings to the system_settings SQL table.
@@ -59385,6 +59407,12 @@ Object.defineProperty(exports, "deviceStatusCapability", {
59385
59407
  return deviceStatusCapability;
59386
59408
  }
59387
59409
  });
59410
+ Object.defineProperty(exports, "disarmRoseMemory", {
59411
+ enumerable: true,
59412
+ get: function() {
59413
+ return disarmRoseMemory;
59414
+ }
59415
+ });
59388
59416
  Object.defineProperty(exports, "emitDownForOwnedCaps", {
59389
59417
  enumerable: true,
59390
59418
  get: function() {
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-PCvk1lCg.js");
3
+ const require_dist = require("./dist-CFQLMsVb.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_builtins_composer_composer_addon = require("./builtins/composer/composer.addon.js");
@@ -29,7 +29,7 @@ require("./builtins/system-config/index.js");
29
29
  const require_builtins_winston_logging_index = require("./builtins/winston-logging/index.js");
30
30
  const require_event_loop_stall_monitor = require("./event-loop-stall-monitor-ey4mbofz.js");
31
31
  const require_tls$1 = require("./tls-D_wUeOTD.js");
32
- const require_child_cap_dispatch = require("./child-cap-dispatch-CAi5El4k.js");
32
+ const require_child_cap_dispatch = require("./child-cap-dispatch-B4L4V0gF.js");
33
33
  const require_resource_monitor = require("./resource-monitor-DzNn_IZK.js");
34
34
  const require_custom_action_registry = require("./custom-action-registry-acBY3mHA.js");
35
35
  let zod = require("zod");
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 { $n as createEvent, At as isArrayOutputSchema, C as LOG_LEVEL_RANK, E as METHOD_ACCESS_MAP, Ft as kebabToCamel, Gn as DEVICE_SETTINGS_CONTRIBUTION_METHODS, H as addonSettingsCapability, Hn as errMsg$1, Ht as logLevelAtMost, Jn as ReadinessTimeoutError, Kn as DEVICE_STATUS_METHOD, Nt as isObjectInput, Pt as isVoidInput, Qn as asString$1, Qt as objectInputDeclaresRequiredDeviceId, Rt as lifecycleJobSchema, Tt as extractNestedAddonId, Ut as looseSchema, Wn as DATAPLANE_SECRET_HEADER$1, Xn as asJsonObject$1, Zn as asNumber, Zt as objectInputDeclaresAddonId, cn as resolveMethodAuth, cr as parseJsonUnknown, dn as scopesAllowDeviceCap, dr as scopeKey, er as emitDownForOwnedCaps, j as RUNTIME_DEFAULTS, jt as isCollectionArrayMethod, lr as readinessKey, mr as EventCategory$1, nn as procedureAuthKey, nr as expandCapMethods, qn as ReadinessRegistry, sr as parseJsonObject, t as ALL_CAPABILITY_DEFINITIONS, un as scopesAllowAddon, ur as resolveCapMount } from "./dist-YXCrqVwr.mjs";
2
+ import { $n as asString$1, At as isArrayOutputSchema, C as LOG_LEVEL_RANK, E as METHOD_ACCESS_MAP, Ft as kebabToCamel, Gn as DATAPLANE_SECRET_HEADER$1, H as addonSettingsCapability, Ht as logLevelAtMost, Jn as ReadinessRegistry, Kn as DEVICE_SETTINGS_CONTRIBUTION_METHODS, Nt as isObjectInput, Pt as isVoidInput, Qn as asNumber, Qt as objectInputDeclaresRequiredDeviceId, Rt as lifecycleJobSchema, Tt as extractNestedAddonId, Un as errMsg$1, Ut as looseSchema, Yn as ReadinessTimeoutError, Zn as asJsonObject$1, Zt as objectInputDeclaresAddonId, cn as resolveMethodAuth, cr as parseJsonObject, dn as scopesAllowDeviceCap, dr as resolveCapMount, er as createEvent, fr as scopeKey, hr as EventCategory$1, j as RUNTIME_DEFAULTS, jt as isCollectionArrayMethod, lr as parseJsonUnknown, nn as procedureAuthKey, qn as DEVICE_STATUS_METHOD, rr as expandCapMethods, t as ALL_CAPABILITY_DEFINITIONS, tr as emitDownForOwnedCaps, un as scopesAllowAddon, ur as readinessKey } from "./dist-ByF1NqOH.mjs";
3
3
  import { AlertCenterAddon } from "./builtins/alerts/alerts.addon.mjs";
4
4
  import "./builtins/alerts/index.mjs";
5
5
  import { ComposerAddon } from "./builtins/composer/composer.addon.mjs";
@@ -28,7 +28,7 @@ import "./builtins/system-config/index.mjs";
28
28
  import { WinstonDestination, WinstonLoggingAddon } from "./builtins/winston-logging/index.mjs";
29
29
  import { _ as ensureModel, a as createFileDataPlaneHandler, c as parseRangeHeader, d as ModelDownloadService, g as downloadModel, h as downloadFile, i as startEventLoopStallMonitor, l as parseTokenizedUrl, m as deleteModelFromDisk, n as STALL_TICK_MS, o as contentTypeFor, p as collectModelFiles, r as attributeStall, s as createAuthenticatedFileServer, t as STALL_REPORT_MS, u as resolveFilePath, v as fetchJson, x as isModelDownloaded, y as getModelFilePath } from "./event-loop-stall-monitor-EXjzIxDz.mjs";
30
30
  import { C as registerLanHttpHandler, S as readLanHttpState, _ as DEFAULT_LAN_HTTP_PORT, a as writeTlsMode, b as bindPendingLanHttp, c as loadTlsCert, d as collectCertIdentity, f as CA_VALIDITY_DAYS, g as evaluateExistingCert, h as SERVER_AUTH_OID, i as writeExtraSans, l as reissueTlsLeaf, m as MAX_LEAF_VALIDITY_DAYS, n as readTlsAccessStatus, o as validateUploadedTls, p as LEAF_RENEWAL_WINDOW_DAYS, r as readTlsMode, s as ensureTlsCert, t as readExtraSans, u as CA_COMMON_NAME, v as allFamiliesListenHost, x as closeLanHttp, y as applyLanHttp } from "./tls-IM-v7JV4.mjs";
31
- import { $ as CapRouteError, $n as CAP_ACTION_UNLABELLED, $t as RUNNER_HEAP_WATCH_INTERVAL_MS, A as resolveHwAccel, An as OUTBOUND_QUEUE_COOLDOWN_MS, At as serializeTypedArrays, B as udsChildLogToWorkerEntry, Bn as SOCKET_QUEUE_TOP_N, Bt as createAddonPeerBytesFacility, C as getBrokerEventBus, Cn as DECISIVE_HEAP_SPACES, Ct as NATIVE_PROVIDER_SERVICE_INFIX, D as subscribePassthrough, Dn as heapSpaceField, Dt as capServiceName, E as setNodeEventInterest, En as formatHeapSpaces, Et as capBareAction, F as ipcParentLink, Fn as MESH_QUEUE_TOP_N, Ft as installManifestNativeDeps, G as UDS_NO_ROUTE_PREFIX, Gn as readSocketQueues, Gt as HEAP_RECLAIM_TRIGGER_MB, H as createUdsLoggerWithControl, Hn as createSocketPlaneReader, Ht as createAddonDataPlaneFacility, I as localProviderLink, In as createMeshQueueReader, It as resolveAddonClass, J as answerClaimedGetStatus, Jn as recordSocketFrame, Jt as HUB_MAIN_HEAP_WATCH_LABEL, K as afterWorkerOnlineAnnounce, Kn as EMPTY_SOCKET_DIRECTION, Kt as HEAP_WATCH_INTERVAL_MS, L as createParentUnownedCallHandler, Ln as formatMeshQueue, Lt as buildNpmChildEnv, M as brokerTransportLink, Mn as OUTBOUND_QUEUE_THRESHOLD_BYTES, Mt as CapabilityHandle, N as buildLinkChain, Nn as createOutboundQueueGate, Nt as CapabilityUnavailableError, O as AddonDepsManager, On as readHeapSpaces, Ot as parseCapAction, P as deviceCapResolverLink, Pn as formatOutboundQueueVerdict, Pt as copyBundledNativeModules, Q as CapRouteResolver, Qn as CAP_ACTION_OVERFLOW_LABEL, Qt as RSS_BUDGET_RELEASE_RATIO, R as createUdsEventBridge, Rn as EMPTY_SOCKET_PLANE_BASELINE, Rt as resolveNpmInvocation, S as clusterEventTopic, Sn as isArrayBufferCensusReport, St as validateProviderRegistrations, T as registerEventBusService, Tn as emitHeapDiagnosticReport, Tt as capActionSuffix, U as LocalChildClient, Un as diffSocketPlane, Ut as HEAP_RECLAIM_MIN_INTERVAL_MS, V as createUdsLogger, Vn as createSocketPlaneMeter, Vt as hostNodeIdOf, W as LocalChildRegistry, Wn as formatSocketPlane, Wt as HEAP_RECLAIM_STEADY_STATE_INTERVAL_MS, X as AGENT_CAP_FWD_ACTION, Xn as socketDirectionBytes, Xt as HUB_RSS_BUDGET_ENV, Y as deviceOfGetStatus, Yn as sampleSocketDirection, Yt as HUB_MAIN_RSS_BUDGET_MB, Z as AGENT_CAP_FWD_SERVICE, Zn as socketDirectionMessages, Zt as RSS_BUDGET_REANNOUNCE_MIN_MS, _ as getWorkerDeviceRegistry, _n as ARRAY_BUFFER_CENSUS_THRESHOLD_MB, a as reapProcessGroup, an as createV8Reclaimer, ar as EVENT_PLANE_TOP_N, at as __resetCapUsageRegistryForTests, b as setHubConnected, bn as createInspectorArrayBufferCensus, c as runnerOwnsProcessGroup, cn as nextRssBudgetState, cr as diffEventPlane, ct as UdsLocalTransportClient, d as summarizeMembers, dn as shouldReclaim, dt as PeerAnsweredError, en as RUNNER_RSS_BUDGET_ENV, er as EMPTY_CAP_ACTION_READING, et as classifyCapRoute, f as installManifestSystemDeps, fn as startHeapWatch, ft as localEndpointPath, g as createUdsAddonContext, gn as ARRAY_BUFFER_CENSUS_SUSTAIN_MS, gt as createBrokerDeviceManagerApi, h as createAddonContext, hn as ARRAY_BUFFER_CENSUS_COOLDOWN_MS, ht as buildNativeCapProxy, in as createLoopDelayMeter, ir as diffCapActionCensus, it as PARENT_ROUTED_PROVIDER_ADDON_ID, j as brokerCallForCap, jn as OUTBOUND_QUEUE_SUSTAIN_MS, jt as DeviceRegistry, k as createKernelHwAccel, kn as selectReportedSpaces, kt as deserializeTypedArrays, l as signalAllRunnerGroups, ln as parseRssBudgetMb, lr as formatEventPlane, lt as UdsLocalTransportServer, m as adaptBrokerToCluster, mn as strandedMb, mt as encodeFrame, nn as buildHeapSample, nr as capActionLabel, nt as readMoleculerFanoutMode, o as registerRunnerGroup, on as describeRss, or as createEventPlaneMeter, ot as getCapUsageRegistry, p as installManifestPythonDeps, pn as startRunnerHeapWatch, pt as FrameDecoder, q as GET_STATUS_METHOD, qn as createSocketDirectionCounters, qt as HEAP_WATCH_WARN_RATIO, r as defaultProcessGroupOps, rn as createDeferredHeapWatchSink, rr as createCapActionCensus, rt as CapUsageRegistry, s as releaseRunnerGroup, sn as hubMainRssBudget, sr as createEventPlaneReader, st as createLocalTransport, t as CAP_METHOD_NOT_IMPLEMENTED, tn as ZERO_LOOP_DELAY, tr as MAX_CAP_ACTIONS_PER_PEER, tt as callWithServiceDiscovery, un as reclaimIntervalMs, ut as SocketChannel, v as getOrInitReadinessRegistry, vn as ARRAY_BUFFER_RELEASE_MIN_DROP_RATIO, w as getMoleculerEventStats, wn as HEAP_SPACE_REPORT_MIN_MB, wt as capActionName, x as EVENT_TOPIC_PREFIX, xn as formatArrayBufferCensus, xt as createAddonService, y as getOrInitReadinessRegistryForClient, yn as createArrayBufferCensusGate, yt as mountNativeCapService, z as createUdsEventBus, zn as SOCKET_PLANE_TOP_N, zt as runNpm } from "./child-cap-dispatch-BE8jB_JS.mjs";
31
+ import { $ as CapRouteError, $n as CAP_ACTION_UNLABELLED, $t as RUNNER_HEAP_WATCH_INTERVAL_MS, A as resolveHwAccel, An as OUTBOUND_QUEUE_COOLDOWN_MS, At as serializeTypedArrays, B as udsChildLogToWorkerEntry, Bn as SOCKET_QUEUE_TOP_N, Bt as createAddonPeerBytesFacility, C as getBrokerEventBus, Cn as DECISIVE_HEAP_SPACES, Ct as NATIVE_PROVIDER_SERVICE_INFIX, D as subscribePassthrough, Dn as heapSpaceField, Dt as capServiceName, E as setNodeEventInterest, En as formatHeapSpaces, Et as capBareAction, F as ipcParentLink, Fn as MESH_QUEUE_TOP_N, Ft as installManifestNativeDeps, G as UDS_NO_ROUTE_PREFIX, Gn as readSocketQueues, Gt as HEAP_RECLAIM_TRIGGER_MB, H as createUdsLoggerWithControl, Hn as createSocketPlaneReader, Ht as createAddonDataPlaneFacility, I as localProviderLink, In as createMeshQueueReader, It as resolveAddonClass, J as answerClaimedGetStatus, Jn as recordSocketFrame, Jt as HUB_MAIN_HEAP_WATCH_LABEL, K as afterWorkerOnlineAnnounce, Kn as EMPTY_SOCKET_DIRECTION, Kt as HEAP_WATCH_INTERVAL_MS, L as createParentUnownedCallHandler, Ln as formatMeshQueue, Lt as buildNpmChildEnv, M as brokerTransportLink, Mn as OUTBOUND_QUEUE_THRESHOLD_BYTES, Mt as CapabilityHandle, N as buildLinkChain, Nn as createOutboundQueueGate, Nt as CapabilityUnavailableError, O as AddonDepsManager, On as readHeapSpaces, Ot as parseCapAction, P as deviceCapResolverLink, Pn as formatOutboundQueueVerdict, Pt as copyBundledNativeModules, Q as CapRouteResolver, Qn as CAP_ACTION_OVERFLOW_LABEL, Qt as RSS_BUDGET_RELEASE_RATIO, R as createUdsEventBridge, Rn as EMPTY_SOCKET_PLANE_BASELINE, Rt as resolveNpmInvocation, S as clusterEventTopic, Sn as isArrayBufferCensusReport, St as validateProviderRegistrations, T as registerEventBusService, Tn as emitHeapDiagnosticReport, Tt as capActionSuffix, U as LocalChildClient, Un as diffSocketPlane, Ut as HEAP_RECLAIM_MIN_INTERVAL_MS, V as createUdsLogger, Vn as createSocketPlaneMeter, Vt as hostNodeIdOf, W as LocalChildRegistry, Wn as formatSocketPlane, Wt as HEAP_RECLAIM_STEADY_STATE_INTERVAL_MS, X as AGENT_CAP_FWD_ACTION, Xn as socketDirectionBytes, Xt as HUB_RSS_BUDGET_ENV, Y as deviceOfGetStatus, Yn as sampleSocketDirection, Yt as HUB_MAIN_RSS_BUDGET_MB, Z as AGENT_CAP_FWD_SERVICE, Zn as socketDirectionMessages, Zt as RSS_BUDGET_REANNOUNCE_MIN_MS, _ as getWorkerDeviceRegistry, _n as ARRAY_BUFFER_CENSUS_THRESHOLD_MB, a as reapProcessGroup, an as createV8Reclaimer, ar as EVENT_PLANE_TOP_N, at as __resetCapUsageRegistryForTests, b as setHubConnected, bn as createInspectorArrayBufferCensus, c as runnerOwnsProcessGroup, cn as nextRssBudgetState, cr as diffEventPlane, ct as UdsLocalTransportClient, d as summarizeMembers, dn as shouldReclaim, dt as PeerAnsweredError, en as RUNNER_RSS_BUDGET_ENV, er as EMPTY_CAP_ACTION_READING, et as classifyCapRoute, f as installManifestSystemDeps, fn as startHeapWatch, ft as localEndpointPath, g as createUdsAddonContext, gn as ARRAY_BUFFER_CENSUS_SUSTAIN_MS, gt as createBrokerDeviceManagerApi, h as createAddonContext, hn as ARRAY_BUFFER_CENSUS_COOLDOWN_MS, ht as buildNativeCapProxy, in as createLoopDelayMeter, ir as diffCapActionCensus, it as PARENT_ROUTED_PROVIDER_ADDON_ID, j as brokerCallForCap, jn as OUTBOUND_QUEUE_SUSTAIN_MS, jt as DeviceRegistry, k as createKernelHwAccel, kn as selectReportedSpaces, kt as deserializeTypedArrays, l as signalAllRunnerGroups, ln as parseRssBudgetMb, lr as formatEventPlane, lt as UdsLocalTransportServer, m as adaptBrokerToCluster, mn as strandedMb, mt as encodeFrame, nn as buildHeapSample, nr as capActionLabel, nt as readMoleculerFanoutMode, o as registerRunnerGroup, on as describeRss, or as createEventPlaneMeter, ot as getCapUsageRegistry, p as installManifestPythonDeps, pn as startRunnerHeapWatch, pt as FrameDecoder, q as GET_STATUS_METHOD, qn as createSocketDirectionCounters, qt as HEAP_WATCH_WARN_RATIO, r as defaultProcessGroupOps, rn as createDeferredHeapWatchSink, rr as createCapActionCensus, rt as CapUsageRegistry, s as releaseRunnerGroup, sn as hubMainRssBudget, sr as createEventPlaneReader, st as createLocalTransport, t as CAP_METHOD_NOT_IMPLEMENTED, tn as ZERO_LOOP_DELAY, tr as MAX_CAP_ACTIONS_PER_PEER, tt as callWithServiceDiscovery, un as reclaimIntervalMs, ut as SocketChannel, v as getOrInitReadinessRegistry, vn as ARRAY_BUFFER_RELEASE_MIN_DROP_RATIO, w as getMoleculerEventStats, wn as HEAP_SPACE_REPORT_MIN_MB, wt as capActionName, x as EVENT_TOPIC_PREFIX, xn as formatArrayBufferCensus, xt as createAddonService, y as getOrInitReadinessRegistryForClient, yn as createArrayBufferCensusGate, yt as mountNativeCapService, z as createUdsEventBus, zn as SOCKET_PLANE_TOP_N, zt as runNpm } from "./child-cap-dispatch-B3ObBHqQ.mjs";
32
32
  import { n as getSinglePidStats, t as getPidStats } from "./resource-monitor-B1v6E07R.mjs";
33
33
  import { t as CustomActionRegistry } from "./custom-action-registry-B4Cf4O_X.mjs";
34
34
  import { z } from "zod";
@@ -1,4 +1,4 @@
1
- import { Xn as asJsonObject } from "./dist-YXCrqVwr.mjs";
1
+ import { Zn as asJsonObject } from "./dist-ByF1NqOH.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?
@@ -1,4 +1,4 @@
1
- const require_dist = require("./dist-PCvk1lCg.js");
1
+ const require_dist = require("./dist-CFQLMsVb.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?
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/system",
3
- "version": "1.2.338",
3
+ "version": "1.2.339",
4
4
  "description": "Core addon for CamStack — builtins, pipeline, process management, auth, logging, events",
5
5
  "keywords": [
6
6
  "camstack",