@camstack/system 1.2.319 → 1.2.320

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 (60) 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/autotrack/index.js +1 -1
  8. package/dist/builtins/autotrack/index.mjs +1 -1
  9. package/dist/builtins/backup-orchestrator/backup-orchestrator.addon.js +1 -1
  10. package/dist/builtins/backup-orchestrator/backup-orchestrator.addon.mjs +1 -1
  11. package/dist/builtins/camera-grid/index.js +1 -1
  12. package/dist/builtins/camera-grid/index.mjs +1 -1
  13. package/dist/builtins/composer/composer.addon.js +2 -2
  14. package/dist/builtins/composer/composer.addon.mjs +2 -2
  15. package/dist/builtins/console-logging/index.js +1 -1
  16. package/dist/builtins/console-logging/index.mjs +1 -1
  17. package/dist/builtins/core-blocks/core-blocks.addon.js +2 -2
  18. package/dist/builtins/core-blocks/core-blocks.addon.mjs +2 -2
  19. package/dist/builtins/device-manager/device-manager.addon.js +2 -2
  20. package/dist/builtins/device-manager/device-manager.addon.mjs +2 -2
  21. package/dist/builtins/doorbell/virtual-doorbell.addon.js +1 -1
  22. package/dist/builtins/doorbell/virtual-doorbell.addon.mjs +1 -1
  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/retired-collections.d.ts +9 -0
  44. package/dist/builtins/sqlite-storage/sqlite-settings.addon.js +0 -0
  45. package/dist/builtins/sqlite-storage/sqlite-settings.addon.mjs +0 -0
  46. package/dist/builtins/storage-orchestrator/storage-orchestrator.addon.js +1 -1
  47. package/dist/builtins/storage-orchestrator/storage-orchestrator.addon.mjs +1 -1
  48. package/dist/builtins/system-config/system-config.addon.js +1 -1
  49. package/dist/builtins/system-config/system-config.addon.mjs +1 -1
  50. package/dist/builtins/winston-logging/index.js +1 -1
  51. package/dist/builtins/winston-logging/index.mjs +1 -1
  52. package/dist/{composition-sources-BjRPhWtU.js → composition-sources-D4UkcIhl.js} +1 -1
  53. package/dist/{composition-sources-Cg2MP-qf.mjs → composition-sources-Due6vto8.mjs} +1 -1
  54. package/dist/{dist-Dcy0gVHu.js → dist-B0AvBZxe.js} +1 -174
  55. package/dist/{dist-CQ9vXSUh.mjs → dist-XfFiGX64.mjs} +1 -174
  56. package/dist/index.js +1 -1
  57. package/dist/index.mjs +1 -1
  58. package/dist/{retired-settings-keys-pzlrLUbA.js → retired-settings-keys-AmO1MZks.js} +1 -1
  59. package/dist/{retired-settings-keys-DNIbyfTR.mjs → retired-settings-keys-DXI77cc8.mjs} +1 -1
  60. package/package.json +1 -1
@@ -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-Dcy0gVHu.js");
6
+ const require_dist = require("../../dist-B0AvBZxe.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 { Gn as BaseAddon, R as addonPagesCapability, Wn as errMsg, hr as EventCategory } from "../../dist-CQ9vXSUh.mjs";
1
+ import { Gn as BaseAddon, R as addonPagesCapability, Wn as errMsg, hr as EventCategory } from "../../dist-XfFiGX64.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-Dcy0gVHu.js");
6
+ const require_dist = require("../../dist-B0AvBZxe.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 { B as addonWidgetsCapability, Gn as BaseAddon, Wn as errMsg, hr as EventCategory } from "../../dist-CQ9vXSUh.mjs";
1
+ import { B as addonWidgetsCapability, Gn as BaseAddon, Wn as errMsg, hr as EventCategory } from "../../dist-XfFiGX64.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-Dcy0gVHu.js");
6
+ const require_dist = require("../../dist-B0AvBZxe.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 { Gn as BaseAddon, V as alertsCapability, Wn as errMsg, hr as EventCategory, n as AlertSchema, tr as createEvent } from "../../dist-CQ9vXSUh.mjs";
1
+ import { Gn as BaseAddon, V as alertsCapability, Wn as errMsg, hr as EventCategory, n as AlertSchema, tr as createEvent } from "../../dist-XfFiGX64.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-Dcy0gVHu.js");
6
+ const require_dist = require("../../dist-B0AvBZxe.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 { $t as ptzAutotrackCapability, Gn as BaseAddon, W as bareAddonId, Wn as errMsg, _ as FIRST_LEVEL_MACRO_CLASSES, hr as EventCategory, sr as isEvent } from "../../dist-CQ9vXSUh.mjs";
1
+ import { $t as ptzAutotrackCapability, Gn as BaseAddon, W as bareAddonId, Wn as errMsg, _ as FIRST_LEVEL_MACRO_CLASSES, hr as EventCategory, sr as isEvent } from "../../dist-XfFiGX64.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-Dcy0gVHu.js");
6
+ const require_dist = require("../../dist-B0AvBZxe.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 { Gn as BaseAddon, Ht as mayWriteToLocation, U as backupCapability, hr as EventCategory, mn as storageOccupancyCapability } from "../../dist-CQ9vXSUh.mjs";
1
+ import { Gn as BaseAddon, Ht as mayWriteToLocation, U as backupCapability, hr as EventCategory, mn as storageOccupancyCapability } from "../../dist-XfFiGX64.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-Dcy0gVHu.js");
6
+ const require_dist = require("../../dist-B0AvBZxe.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 { Gn as BaseAddon, Gt as motionCapability, J as cameraGridLayoutCapability, T as MOTION_CLOSE_AFTER_MS, Un as DeviceType, Vn as DeviceFeature, Wn as errMsg, ar as hydrateSchema, dn as snapshotCapability, gn as streamCatalogCapability, h as DeclaredDevices, hr as EventCategory, i as BaseDevice, kn as buildFfmpegArgs, m as DERIVED_CAMERA_SILENCED_CAP_NAMES, ot as declarationOwnerNodeId, tr as createEvent } from "../../dist-CQ9vXSUh.mjs";
1
+ import { Gn as BaseAddon, Gt as motionCapability, J as cameraGridLayoutCapability, T as MOTION_CLOSE_AFTER_MS, Un as DeviceType, Vn as DeviceFeature, Wn as errMsg, ar as hydrateSchema, dn as snapshotCapability, gn as streamCatalogCapability, h as DeclaredDevices, hr as EventCategory, i as BaseDevice, kn as buildFfmpegArgs, m as DERIVED_CAMERA_SILENCED_CAP_NAMES, ot as declarationOwnerNodeId, tr as createEvent } from "../../dist-XfFiGX64.mjs";
2
2
  import { z } from "zod";
3
3
  import { FfmpegProcess } from "@camstack/types/node";
4
4
  import { join } from "node:path";
@@ -3,9 +3,9 @@ Object.defineProperties(exports, {
3
3
  [Symbol.toStringTag]: { value: "Module" }
4
4
  });
5
5
  require("../../chunk-Cek0wNdY.js");
6
- const require_dist = require("../../dist-Dcy0gVHu.js");
6
+ const require_dist = require("../../dist-B0AvBZxe.js");
7
7
  const require_device_state_changed = require("../../device-state-changed-Bk7cvTnz.js");
8
- const require_composition_sources = require("../../composition-sources-BjRPhWtU.js");
8
+ const require_composition_sources = require("../../composition-sources-D4UkcIhl.js");
9
9
  //#region src/builtins/composer/composed-device.ts
10
10
  /**
11
11
  * A composed device: an ordinary `BaseDevice` whose caps are served by the
@@ -1,6 +1,6 @@
1
- import { An as cloneStatefulExpressionMemory, Bn as toExpressionValue, Fn as compositionSliceKey, Gn as BaseAddon, In as compositionSourceKey, K as buildCapabilityLookup, Ln as createStatefulExpressionMemory, Mn as composedDeviceStableId, Nn as compositionFeatureEnabled, Pn as compositionItemFieldPath, Un as DeviceType, Wn as errMsg, X as composerCapability, Xt as planComposition, Z as compositionFieldKey, c as COMPOSED_ITEM_FIXED_FIELDS, h as DeclaredDevices, hr as EventCategory, i as BaseDevice, jn as composedDeviceRef, t as ALL_CAPABILITY_DEFINITIONS, tr as createEvent, vt as evaluateCompositionField, wn as COMPOSER_ADDON_ID } from "../../dist-CQ9vXSUh.mjs";
1
+ import { An as cloneStatefulExpressionMemory, Bn as toExpressionValue, Fn as compositionSliceKey, Gn as BaseAddon, In as compositionSourceKey, K as buildCapabilityLookup, Ln as createStatefulExpressionMemory, Mn as composedDeviceStableId, Nn as compositionFeatureEnabled, Pn as compositionItemFieldPath, Un as DeviceType, Wn as errMsg, X as composerCapability, Xt as planComposition, Z as compositionFieldKey, c as COMPOSED_ITEM_FIXED_FIELDS, h as DeclaredDevices, hr as EventCategory, i as BaseDevice, jn as composedDeviceRef, t as ALL_CAPABILITY_DEFINITIONS, tr as createEvent, vt as evaluateCompositionField, wn as COMPOSER_ADDON_ID } from "../../dist-XfFiGX64.mjs";
2
2
  import { n as parseDeviceStateChanged, t as isRecord$2 } from "../../device-state-changed-DoBbkyEI.mjs";
3
- import { n as normalizedNativeOwner } from "../../composition-sources-Cg2MP-qf.mjs";
3
+ import { n as normalizedNativeOwner } from "../../composition-sources-Due6vto8.mjs";
4
4
  import { z } from "zod";
5
5
  //#region src/builtins/composer/composed-device.ts
6
6
  /**
@@ -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-Dcy0gVHu.js");
6
+ const require_dist = require("../../dist-B0AvBZxe.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 { Gn as BaseAddon, Rt as logDestinationCapability } from "../../dist-CQ9vXSUh.mjs";
1
+ import { Gn as BaseAddon, Rt as logDestinationCapability } from "../../dist-XfFiGX64.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-Dcy0gVHu.js");
4
- const require_composition_sources = require("../../composition-sources-BjRPhWtU.js");
3
+ const require_dist = require("../../dist-B0AvBZxe.js");
4
+ const require_composition_sources = require("../../composition-sources-D4UkcIhl.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 { $ as coreBlockAddonId, Gn as BaseAddon, In as compositionSourceKey, K as buildCapabilityLookup, Q as compositionSourceRefs, Wn as errMsg, Xt as planComposition, d as CORE_BLOCK_ADDON_PREFIX, et as coreBlockComposition, f as CoreBlockSchema, h as DeclaredDevices, jn as composedDeviceRef, l as COMPOSER_RUNNER_ID, nt as coreBlockSourceKind, rt as coreBlocksCapability, t as ALL_CAPABILITY_DEFINITIONS, tn as replacedFieldKeys, tt as coreBlockIdFromAddonId, u as CORE_BLOCKS_ADDON_ID, yn as validateComposition } from "../../dist-CQ9vXSUh.mjs";
2
- import { t as describeCompositionSources } from "../../composition-sources-Cg2MP-qf.mjs";
1
+ import { $ as coreBlockAddonId, Gn as BaseAddon, In as compositionSourceKey, K as buildCapabilityLookup, Q as compositionSourceRefs, Wn as errMsg, Xt as planComposition, d as CORE_BLOCK_ADDON_PREFIX, et as coreBlockComposition, f as CoreBlockSchema, h as DeclaredDevices, jn as composedDeviceRef, l as COMPOSER_RUNNER_ID, nt as coreBlockSourceKind, rt as coreBlocksCapability, t as ALL_CAPABILITY_DEFINITIONS, tn as replacedFieldKeys, tt as coreBlockIdFromAddonId, u as CORE_BLOCKS_ADDON_ID, yn as validateComposition } from "../../dist-XfFiGX64.mjs";
2
+ import { t as describeCompositionSources } from "../../composition-sources-Due6vto8.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-Dcy0gVHu.js");
7
- const require_retired_settings_keys = require("../../retired-settings-keys-pzlrLUbA.js");
6
+ const require_dist = require("../../dist-B0AvBZxe.js");
7
+ const require_retired_settings_keys = require("../../retired-settings-keys-AmO1MZks.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 { Gn as BaseAddon, Hn as DeviceRole, Kt as normalizeUnit, Lt as locationIconKey, Nt as legacyAutoLinkIds, S as LocationIconIdSchema, Un as DeviceType, Vn as DeviceFeature, Wn as errMsg, Yt as parseStreamParamsFormPatch, Zn as WELL_KNOWN_TAB_MAP, _t as enumerateSchemaFields, an as runtimeStatePolicyFor, bt as expandContainer, ct as defineExtensionSlotProvider, dt as deviceManagerCapability, ft as deviceStateCapability, g as DeviceStatusSchema, gt as enumerateItemArrayFields, hr as EventCategory, it as createDeviceExtensionProvider, j as STREAM_PROFILE_META, mr as sleep$1, o as CAMERA_SWITCH_ORDER, or as isDeviceConfigCap, p as DAY_NAMES, pt as deviceStatusCapability, q as buildStreamParamsConfigSchema, s as CAP_NAMES_WITH_STATUS, t as ALL_CAPABILITY_DEFINITIONS, un as siteZoneKey, ut as deviceExtensionCapability, v as FieldClaimModeSchema, w as MINUTES_PER_DAY, wt as formatMinutes, y as FieldClaimSchema } from "../../dist-CQ9vXSUh.mjs";
2
- import { n as purgeRetiredSettingsRows } from "../../retired-settings-keys-DNIbyfTR.mjs";
1
+ import { Gn as BaseAddon, Hn as DeviceRole, Kt as normalizeUnit, Lt as locationIconKey, Nt as legacyAutoLinkIds, S as LocationIconIdSchema, Un as DeviceType, Vn as DeviceFeature, Wn as errMsg, Yt as parseStreamParamsFormPatch, Zn as WELL_KNOWN_TAB_MAP, _t as enumerateSchemaFields, an as runtimeStatePolicyFor, bt as expandContainer, ct as defineExtensionSlotProvider, dt as deviceManagerCapability, ft as deviceStateCapability, g as DeviceStatusSchema, gt as enumerateItemArrayFields, hr as EventCategory, it as createDeviceExtensionProvider, j as STREAM_PROFILE_META, mr as sleep$1, o as CAMERA_SWITCH_ORDER, or as isDeviceConfigCap, p as DAY_NAMES, pt as deviceStatusCapability, q as buildStreamParamsConfigSchema, s as CAP_NAMES_WITH_STATUS, t as ALL_CAPABILITY_DEFINITIONS, un as siteZoneKey, ut as deviceExtensionCapability, v as FieldClaimModeSchema, w as MINUTES_PER_DAY, wt as formatMinutes, y as FieldClaimSchema } from "../../dist-XfFiGX64.mjs";
2
+ import { n as purgeRetiredSettingsRows } from "../../retired-settings-keys-DXI77cc8.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-Dcy0gVHu.js");
6
+ const require_dist = require("../../dist-B0AvBZxe.js");
7
7
  const require_device_state_changed = require("../../device-state-changed-Bk7cvTnz.js");
8
8
  let zod = require("zod");
9
9
  //#region src/builtins/doorbell/trigger-engine.ts
@@ -1,4 +1,4 @@
1
- import { At as isSameAddonId, Dn as SOURCE_CAP_ACTIVE_FIELD, En as SOURCE_CAPS, Gn as BaseAddon, On as SOURCE_CAP_CHANGED_AT_FIELD, Rn as evaluateSensorEdge, Un as DeviceType, W as bareAddonId, Wn as errMsg, ct as defineExtensionSlotProvider, hr as EventCategory, it as createDeviceExtensionProvider, mt as doorbellCapability, tr as createEvent, ut as deviceExtensionCapability, zn as isSourceCap } from "../../dist-CQ9vXSUh.mjs";
1
+ import { At as isSameAddonId, Dn as SOURCE_CAP_ACTIVE_FIELD, En as SOURCE_CAPS, Gn as BaseAddon, On as SOURCE_CAP_CHANGED_AT_FIELD, Rn as evaluateSensorEdge, Un as DeviceType, W as bareAddonId, Wn as errMsg, ct as defineExtensionSlotProvider, hr as EventCategory, it as createDeviceExtensionProvider, mt as doorbellCapability, tr as createEvent, ut as deviceExtensionCapability, zn as isSourceCap } from "../../dist-XfFiGX64.mjs";
2
2
  import { n as parseDeviceStateChanged } from "../../device-state-changed-DoBbkyEI.mjs";
3
3
  import { z } from "zod";
4
4
  //#region src/builtins/doorbell/trigger-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-Dcy0gVHu.js");
6
+ const require_dist = require("../../dist-B0AvBZxe.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 { Gn as BaseAddon, Rt as logDestinationCapability } from "../../dist-CQ9vXSUh.mjs";
1
+ import { Gn as BaseAddon, Rt as logDestinationCapability } from "../../dist-XfFiGX64.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-Dcy0gVHu.js");
3
+ const require_dist = require("../../dist-B0AvBZxe.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 { E as RECORDING_SOURCE_CAMSTACK_ADDON, Gn as BaseAddon, Wn as errMsg, hr as EventCategory, k as RecordingStatusSchema, tr as createEvent } from "../../dist-CQ9vXSUh.mjs";
1
+ import { E as RECORDING_SOURCE_CAMSTACK_ADDON, Gn as BaseAddon, Wn as errMsg, hr as EventCategory, k as RecordingStatusSchema, tr as createEvent } from "../../dist-XfFiGX64.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-Dcy0gVHu.js");
6
+ const require_dist = require("../../dist-B0AvBZxe.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 { Gn as BaseAddon, H as authProviderCapability, L as UserRecordSchema, M as ScopedTokenSchema, r as ApiKeyRecordSchema, vn as userManagementCapability } from "../../dist-CQ9vXSUh.mjs";
2
+ import { Gn as BaseAddon, H as authProviderCapability, L as UserRecordSchema, M as ScopedTokenSchema, r as ApiKeyRecordSchema, vn as userManagementCapability } from "../../dist-XfFiGX64.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-Dcy0gVHu.js");
3
+ const require_dist = require("../../dist-B0AvBZxe.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 { Gn as BaseAddon, It as localNetworkCapability, hr as EventCategory } from "../../dist-CQ9vXSUh.mjs";
1
+ import { Gn as BaseAddon, It as localNetworkCapability, hr as EventCategory } from "../../dist-XfFiGX64.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-Dcy0gVHu.js");
6
+ const require_dist = require("../../dist-B0AvBZxe.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 { Gn as BaseAddon, Rt as logDestinationCapability } from "../../dist-CQ9vXSUh.mjs";
1
+ import { Gn as BaseAddon, Rt as logDestinationCapability } from "../../dist-XfFiGX64.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-Dcy0gVHu.js");
6
+ const require_dist = require("../../dist-B0AvBZxe.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 { Ct as foldSnapshotByFunction, Gn as BaseAddon, Ut as metricsProviderCapability, Wn as errMsg, en as reducePoints, hr as EventCategory, nn as resolveBucketMs, tr as createEvent } from "../../dist-CQ9vXSUh.mjs";
1
+ import { Ct as foldSnapshotByFunction, Gn as BaseAddon, Ut as metricsProviderCapability, Wn as errMsg, en as reducePoints, hr as EventCategory, nn as resolveBucketMs, tr as createEvent } from "../../dist-XfFiGX64.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-Dcy0gVHu.js");
6
+ const require_dist = require("../../dist-B0AvBZxe.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 { Gn as BaseAddon, Wn as errMsg, Zt as platformProbeCapability, cn as scoreRuntimes, hr as EventCategory, ht as enumerateInferenceDevices, rr as emitReadiness } from "../../dist-CQ9vXSUh.mjs";
2
+ import { Gn as BaseAddon, Wn as errMsg, Zt as platformProbeCapability, cn as scoreRuntimes, hr as EventCategory, ht as enumerateInferenceDevices, rr as emitReadiness } from "../../dist-XfFiGX64.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-Dcy0gVHu.js");
6
+ const require_dist = require("../../dist-B0AvBZxe.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 { Gn as BaseAddon, hr as EventCategory } from "../../dist-CQ9vXSUh.mjs";
1
+ import { Gn as BaseAddon, hr as EventCategory } from "../../dist-XfFiGX64.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-Dcy0gVHu.js");
6
+ const require_dist = require("../../dist-B0AvBZxe.js");
7
7
  const require_snapshot_courtesy = require("../../snapshot-courtesy-Cqs7GkOV.js");
8
8
  let zod = require("zod");
9
9
  let node_crypto = require("node:crypto");
@@ -1,4 +1,4 @@
1
- import { G as batteryCapability, Gn as BaseAddon, Un as DeviceType, Vn as DeviceFeature, W as bareAddonId, Wn as errMsg, _n as streamQualityLabel, a as BatteryStatusSchema, cr as nodePin, dn as snapshotCapability, hr as EventCategory, lt as deriveBatteryPresence } from "../../dist-CQ9vXSUh.mjs";
1
+ import { G as batteryCapability, Gn as BaseAddon, Un as DeviceType, Vn as DeviceFeature, W as bareAddonId, Wn as errMsg, _n as streamQualityLabel, a as BatteryStatusSchema, cr as nodePin, dn as snapshotCapability, hr as EventCategory, lt as deriveBatteryPresence } from "../../dist-XfFiGX64.mjs";
2
2
  import { i as renderCourtesyOverlayJpeg, n as courtesyCacheKey, r as renderCourtesyJpeg } from "../../snapshot-courtesy-CZPvteq2.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-Dcy0gVHu.js");
6
+ const require_dist = require("../../dist-B0AvBZxe.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 { Gn as BaseAddon, St as filesystemBrowseCapability, hn as storageProviderCapability } from "../../dist-CQ9vXSUh.mjs";
1
+ import { Gn as BaseAddon, St as filesystemBrowseCapability, hn as storageProviderCapability } from "../../dist-XfFiGX64.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";
@@ -44,6 +44,15 @@ export interface RetiredCollectionStore {
44
44
  * actions are gone, so nothing declares these tables any more. The group-owned
45
45
  * MEDIA rows are NOT here — they live in the shared `pipeline-analytics:media`
46
46
  * and are collected by the orphan audit through `RETIRED_OWNER_KINDS`.
47
+ *
48
+ * `pipeline-analytics:summaries` / `:summary-members` — the session SUMMARY,
49
+ * the entity that grouped tracks by proximity at birth (D489) and split them
50
+ * when they walked apart (D490). Its production path was switched off on
51
+ * 2026-09-16 and the operator decided on 2026-09-29 to delete it (D680): the
52
+ * sealer, the store, the group shot, the three cap methods and the digest's
53
+ * `groups` reading are gone, so nothing declares these tables. The group
54
+ * shots were `summary`-owned rows in `pipeline-analytics:media` and go the
55
+ * same way as the group entity's — through `RETIRED_OWNER_KINDS`.
47
56
  */
48
57
  export declare const RETIRED_COLLECTIONS: readonly RetiredCollectionSpec[];
49
58
  /**
@@ -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-Dcy0gVHu.js");
6
+ const require_dist = require("../../dist-B0AvBZxe.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 { Cn as withLocationMode, D as REDACTED_SECRET, F as StorageLocationTypeSchema, Gn as BaseAddon, Ht as mayWriteToLocation, I as StorageMigrationJobSchema, N as StorageCleanupJobSchema, Ot as isLocationEnabled, P as StorageLocationModeSchema, Pt as legacyModeOf, Tt as gbToBytes, Vt as mayReadLocation, Wt as modeMayWrite, Y as collectSecretConfigKeys, fn as storageCapability, hr as EventCategory, ln as settingsStoreCapability, lr as parseJsonObject, pn as storageMigrationCapability, rn as resolveLocationMode, x as LegacyStorageLocationDefaultSchema, yt as evictionPolicyOfLocation } from "../../dist-CQ9vXSUh.mjs";
1
+ import { Cn as withLocationMode, D as REDACTED_SECRET, F as StorageLocationTypeSchema, Gn as BaseAddon, Ht as mayWriteToLocation, I as StorageMigrationJobSchema, N as StorageCleanupJobSchema, Ot as isLocationEnabled, P as StorageLocationModeSchema, Pt as legacyModeOf, Tt as gbToBytes, Vt as mayReadLocation, Wt as modeMayWrite, Y as collectSecretConfigKeys, fn as storageCapability, hr as EventCategory, ln as settingsStoreCapability, lr as parseJsonObject, pn as storageMigrationCapability, rn as resolveLocationMode, x as LegacyStorageLocationDefaultSchema, yt as evictionPolicyOfLocation } from "../../dist-XfFiGX64.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-Dcy0gVHu.js");
6
+ const require_dist = require("../../dist-B0AvBZxe.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 { Gn as BaseAddon, Wn as errMsg, ar as hydrateSchema } from "../../dist-CQ9vXSUh.mjs";
1
+ import { Gn as BaseAddon, Wn as errMsg, ar as hydrateSchema } from "../../dist-XfFiGX64.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-Dcy0gVHu.js");
6
+ const require_dist = require("../../dist-B0AvBZxe.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 { Gn as BaseAddon, Rt as logDestinationCapability } from "../../dist-CQ9vXSUh.mjs";
1
+ import { Gn as BaseAddon, Rt as logDestinationCapability } from "../../dist-XfFiGX64.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
- const require_dist = require("./dist-Dcy0gVHu.js");
1
+ const require_dist = require("./dist-B0AvBZxe.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 { In as compositionSourceKey, Wn as errMsg } from "./dist-CQ9vXSUh.mjs";
1
+ import { In as compositionSourceKey, Wn as errMsg } from "./dist-XfFiGX64.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
@@ -701,7 +701,7 @@ var EventCategory = /* @__PURE__ */ function(EventCategory) {
701
701
  return EventCategory;
702
702
  }({});
703
703
  //#endregion
704
- //#region ../types/dist/sleep-DlrgY4Qb.mjs
704
+ //#region ../types/dist/sleep-C-v96WpE.mjs
705
705
  /**
706
706
  * The audio chunk plane's byte format, and the ONE expansion from a coded
707
707
  * window to float samples (D455).
@@ -5194,7 +5194,6 @@ function featureSources(feature) {
5194
5194
  }
5195
5195
  new Set([
5196
5196
  "track",
5197
- "summary",
5198
5197
  "face",
5199
5198
  "identity",
5200
5199
  "plate",
@@ -22254,141 +22253,6 @@ var RecentTracksQueryInput = zod.z.object({
22254
22253
  /** See {@link ExcludeSourcesDoc}. */
22255
22254
  excludeSources: zod.z.array(TrackSourceSchema).optional()
22256
22255
  });
22257
- /**
22258
- * A Summary (D359): the per-camera session envelope that references tracks.
22259
- * `groupShotMediaId` is the media ROW id of its group shot (`ownerKind:
22260
- * 'summary'`, served by the event-media plane at `/m/<id>`), null until the
22261
- * first frame with a member visible has been materialised (D482 — it was the
22262
- * row's composite key, which embedded the owner and could name another table's
22263
- * row once event ids became per-table rowids).
22264
- */
22265
- var SummarySchema = zod.z.object({
22266
- id: zod.z.string(),
22267
- deviceId: zod.z.number(),
22268
- openedAt: zod.z.number(),
22269
- lastActiveAt: zod.z.number(),
22270
- sealedAt: zod.z.number().nullable(),
22271
- memberCount: zod.z.number().int().nonnegative(),
22272
- groupShotMediaId: zod.z.number().int().nullable()
22273
- });
22274
- var SummariesQueryInput = zod.z.object({
22275
- deviceIds: zod.z.array(zod.z.number()).min(1),
22276
- since: zod.z.number().optional(),
22277
- until: zod.z.number().optional(),
22278
- limit: zod.z.number().int().min(1).max(200).default(50),
22279
- /** The same member-wise filter {@link listRecentSummaries} takes — one
22280
- * meaning of "dog" on every summary surface. */
22281
- classes: zod.z.array(zod.z.string().min(1).max(60)).max(40).optional()
22282
- });
22283
- /**
22284
- * One member of a group, as a reader needs it.
22285
- *
22286
- * The class and the role travel WITH the id because every consumer that shows
22287
- * a group has to say what it was made of — "two people and a dog" — and asking
22288
- * `getTrack` per member to find that out turns one card into `memberCount`
22289
- * round trips. The member row already holds both (they are written at the
22290
- * join), so this costs the reader nothing.
22291
- */
22292
- var SummaryMemberSchema = zod.z.object({
22293
- trackId: zod.z.string(),
22294
- /**
22295
- * The track's class at the time it JOINED, or `null` when it was unresolved
22296
- * and the track no longer exists to fill it.
22297
- *
22298
- * The join, not the latest opinion: class voting can re-decide a track's
22299
- * class afterwards, and a group's composition is the history of who came
22300
- * together. A consumer counts these to badge a thumbnail — "two people and a
22301
- * dog" — rather than being handed a second, denormalised tally that would
22302
- * drift from the members it claims to describe.
22303
- */
22304
- className: zod.z.string().nullable(),
22305
- /** `primary` is the one member that carries the group's identity. */
22306
- role: zod.z.enum([
22307
- "primary",
22308
- "sibling",
22309
- "child"
22310
- ]).nullable(),
22311
- joinedAt: zod.z.number(),
22312
- /** Tier 1 — the sub-class (`dog`, `van`), resolved from the member's track
22313
- * at read time. Absent when nothing resolved, never an empty string. */
22314
- label: zod.z.string().optional(),
22315
- /** Tier 2 — the instance: a person's name, a plate. Absent when the pipeline
22316
- * recognised nobody, and absent for a member whose track has been pruned —
22317
- * a thumbnail that names the wrong person is worse than one naming nobody. */
22318
- subLabel: zod.z.string().optional()
22319
- });
22320
- var SummaryDetailSchema = zod.z.object({
22321
- summary: SummarySchema,
22322
- /** Members in absorption order, oldest join first. */
22323
- members: zod.z.array(SummaryMemberSchema).readonly()
22324
- });
22325
- /**
22326
- * What a LIST of groups carries: the envelope plus what it is MADE OF.
22327
- *
22328
- * Coarse on purpose — the operator's rule is "only the rough data on the list,
22329
- * we extend when we notice we need more". Enough to draw the card ("two people
22330
- * and a dog") and no more. The MEMBERS, their names and the per-member links
22331
- * are on {@link getSummary}: shipping every member of every group so a client
22332
- * can count them turns a page of two hundred groups into a thousand records to
22333
- * draw two hundred badges.
22334
- */
22335
- var SummaryListItemSchema = zod.z.object({
22336
- summary: SummarySchema,
22337
- /** Class counts, most numerous first; `className: null` is a member whose
22338
- * class never resolved, counted so the counts add up to `memberCount`. */
22339
- classes: zod.z.array(zod.z.object({
22340
- className: zod.z.string().nullable(),
22341
- count: zod.z.number().int().positive()
22342
- })).readonly()
22343
- });
22344
- var SummariesPageSchema = zod.z.object({ summaries: zod.z.array(SummaryListItemSchema).readonly() });
22345
- /**
22346
- * The paged feed, deliberately the SAME shape as {@link RecentTracksQueryInput}.
22347
- *
22348
- * The reel on the cameras page and the Events gallery both ride a cursor, so a
22349
- * summaries feed that could only answer "the last N for these cameras"
22350
- * (`listSummaries`) would make groups available in the timeline and nowhere
22351
- * else. Two feeds with different ordering contracts would be two ideas of what
22352
- * "newest" means, on one screen.
22353
- */
22354
- var RecentSummariesQueryInput = zod.z.object({
22355
- /** Devices to merge. An empty array yields an empty page. */
22356
- deviceIds: zod.z.array(zod.z.number()),
22357
- /** Window lower bound on `lastActiveAt` (inclusive). */
22358
- since: zod.z.number().optional(),
22359
- /** Window upper bound on `lastActiveAt` (inclusive). */
22360
- until: zod.z.number().optional(),
22361
- limit: zod.z.number().int().min(1).max(500).default(100),
22362
- /** Opaque continuation cursor from a previous page's `nextCursor`. */
22363
- cursor: zod.z.string().optional(),
22364
- /**
22365
- * Restrict to these classes — THE SAME FIELD `listRecentTracks` takes, and
22366
- * deliberately the same name: the events filter tree emits one list of ticked
22367
- * taxonomy nodes, and a summaries feed that called it something else would
22368
- * make the operator's one filter component produce two shapes.
22369
- *
22370
- * A question about the MEMBERS: a group matches when ANY of them does. "Show
22371
- * me the arrivals with a dog" has to return the group of four people who had
22372
- * one with them; a filter on the group's own fields could only ever answer
22373
- * about its primary.
22374
- *
22375
- * Matched against all THREE tiers of a member — the class (`animal`), the
22376
- * sub-class (`dog`) and the instance (a name, a plate) — because which tier a
22377
- * ticked node lives on is the taxonomy's business, not the caller's. `dog` is
22378
- * an event kind in the tree and a tier-1 label on an `animal` track; a filter
22379
- * that read only the class would answer "animal" and never "dog".
22380
- *
22381
- * ABSENT or EMPTY means no filter — absent is not a selection of none.
22382
- */
22383
- classes: zod.z.array(zod.z.string().min(1).max(60)).max(40).optional()
22384
- });
22385
- var RecentSummariesPageSchema = zod.z.object({
22386
- /** Ordered by (`lastActiveAt` DESC, id DESC). Same light item as
22387
- * {@link listSummaries} — one list shape, so a card renders the same
22388
- * whichever feed drew it. */
22389
- summaries: zod.z.array(SummaryListItemSchema).readonly(),
22390
- nextCursor: zod.z.string().nullable()
22391
- });
22392
22256
  var RecentTracksPageSchema = zod.z.object({
22393
22257
  /** Merged page, ordered by (`lastSeen` DESC, `trackId` DESC). */
22394
22258
  tracks: zod.z.array(TrackSchema).readonly(),
@@ -22926,15 +22790,6 @@ var pipelineAnalyticsCapability = {
22926
22790
  * are not included (same contract as `listTracks`).
22927
22791
  */
22928
22792
  listRecentTracks: method(RecentTracksQueryInput, RecentTracksPageSchema),
22929
- /** Newest first by `openedAt`, for a camera set, inside an optional window. */
22930
- listSummaries: method(SummariesQueryInput, SummariesPageSchema),
22931
- /**
22932
- * The PAGED feed — the reel and the Events gallery. Same cursor contract as
22933
- * {@link listRecentTracks}, so one screen cannot hold two ideas of newest.
22934
- */
22935
- listRecentSummaries: method(RecentSummariesQueryInput, RecentSummariesPageSchema),
22936
- /** One summary with its member track ids; `null` for an id nobody wrote. */
22937
- getSummary: method(zod.z.object({ id: zod.z.string() }), SummaryDetailSchema.nullable()),
22938
22793
  clearTracks: method(zod.z.object({ deviceId: zod.z.number() }), zod.z.void(), {
22939
22794
  kind: "mutation",
22940
22795
  auth: "admin"
@@ -51060,12 +50915,6 @@ var METHOD_ACCESS_MAP = Object.freeze({
51060
50915
  addonId: null,
51061
50916
  access: "view"
51062
50917
  },
51063
- "pipelineAnalytics.getSummary": {
51064
- capName: "pipeline-analytics",
51065
- capScope: "device",
51066
- addonId: null,
51067
- access: "view"
51068
- },
51069
50918
  "pipelineAnalytics.getTrack": {
51070
50919
  capName: "pipeline-analytics",
51071
50920
  capScope: "device",
@@ -51126,12 +50975,6 @@ var METHOD_ACCESS_MAP = Object.freeze({
51126
50975
  addonId: null,
51127
50976
  access: "view"
51128
50977
  },
51129
- "pipelineAnalytics.listRecentSummaries": {
51130
- capName: "pipeline-analytics",
51131
- capScope: "device",
51132
- addonId: null,
51133
- access: "view"
51134
- },
51135
50978
  "pipelineAnalytics.listRecentTracks": {
51136
50979
  capName: "pipeline-analytics",
51137
50980
  capScope: "device",
@@ -51162,12 +51005,6 @@ var METHOD_ACCESS_MAP = Object.freeze({
51162
51005
  addonId: null,
51163
51006
  access: "view"
51164
51007
  },
51165
- "pipelineAnalytics.listSummaries": {
51166
- capName: "pipeline-analytics",
51167
- capScope: "device",
51168
- addonId: null,
51169
- access: "view"
51170
- },
51171
51008
  "pipelineAnalytics.listTrackMedia": {
51172
51009
  capName: "pipeline-analytics",
51173
51010
  capScope: "device",
@@ -55337,11 +55174,6 @@ Object.freeze({
55337
55174
  form: "single",
55338
55175
  optional: true
55339
55176
  }],
55340
- "pipelineAnalytics.listRecentSummaries": [{
55341
- name: "deviceIds",
55342
- form: "array",
55343
- optional: false
55344
- }],
55345
55177
  "pipelineAnalytics.listRecentTracks": [{
55346
55178
  name: "deviceIds",
55347
55179
  form: "array",
@@ -55352,11 +55184,6 @@ Object.freeze({
55352
55184
  form: "array",
55353
55185
  optional: true
55354
55186
  }],
55355
- "pipelineAnalytics.listSummaries": [{
55356
- name: "deviceIds",
55357
- form: "array",
55358
- optional: false
55359
- }],
55360
55187
  "pipelineAnalytics.listTrackMedia": [{
55361
55188
  name: "deviceId",
55362
55189
  form: "single",
@@ -701,7 +701,7 @@ var EventCategory = /* @__PURE__ */ function(EventCategory) {
701
701
  return EventCategory;
702
702
  }({});
703
703
  //#endregion
704
- //#region ../types/dist/sleep-DlrgY4Qb.mjs
704
+ //#region ../types/dist/sleep-C-v96WpE.mjs
705
705
  /**
706
706
  * The audio chunk plane's byte format, and the ONE expansion from a coded
707
707
  * window to float samples (D455).
@@ -5194,7 +5194,6 @@ function featureSources(feature) {
5194
5194
  }
5195
5195
  new Set([
5196
5196
  "track",
5197
- "summary",
5198
5197
  "face",
5199
5198
  "identity",
5200
5199
  "plate",
@@ -22254,141 +22253,6 @@ var RecentTracksQueryInput = z.object({
22254
22253
  /** See {@link ExcludeSourcesDoc}. */
22255
22254
  excludeSources: z.array(TrackSourceSchema).optional()
22256
22255
  });
22257
- /**
22258
- * A Summary (D359): the per-camera session envelope that references tracks.
22259
- * `groupShotMediaId` is the media ROW id of its group shot (`ownerKind:
22260
- * 'summary'`, served by the event-media plane at `/m/<id>`), null until the
22261
- * first frame with a member visible has been materialised (D482 — it was the
22262
- * row's composite key, which embedded the owner and could name another table's
22263
- * row once event ids became per-table rowids).
22264
- */
22265
- var SummarySchema = z.object({
22266
- id: z.string(),
22267
- deviceId: z.number(),
22268
- openedAt: z.number(),
22269
- lastActiveAt: z.number(),
22270
- sealedAt: z.number().nullable(),
22271
- memberCount: z.number().int().nonnegative(),
22272
- groupShotMediaId: z.number().int().nullable()
22273
- });
22274
- var SummariesQueryInput = z.object({
22275
- deviceIds: z.array(z.number()).min(1),
22276
- since: z.number().optional(),
22277
- until: z.number().optional(),
22278
- limit: z.number().int().min(1).max(200).default(50),
22279
- /** The same member-wise filter {@link listRecentSummaries} takes — one
22280
- * meaning of "dog" on every summary surface. */
22281
- classes: z.array(z.string().min(1).max(60)).max(40).optional()
22282
- });
22283
- /**
22284
- * One member of a group, as a reader needs it.
22285
- *
22286
- * The class and the role travel WITH the id because every consumer that shows
22287
- * a group has to say what it was made of — "two people and a dog" — and asking
22288
- * `getTrack` per member to find that out turns one card into `memberCount`
22289
- * round trips. The member row already holds both (they are written at the
22290
- * join), so this costs the reader nothing.
22291
- */
22292
- var SummaryMemberSchema = z.object({
22293
- trackId: z.string(),
22294
- /**
22295
- * The track's class at the time it JOINED, or `null` when it was unresolved
22296
- * and the track no longer exists to fill it.
22297
- *
22298
- * The join, not the latest opinion: class voting can re-decide a track's
22299
- * class afterwards, and a group's composition is the history of who came
22300
- * together. A consumer counts these to badge a thumbnail — "two people and a
22301
- * dog" — rather than being handed a second, denormalised tally that would
22302
- * drift from the members it claims to describe.
22303
- */
22304
- className: z.string().nullable(),
22305
- /** `primary` is the one member that carries the group's identity. */
22306
- role: z.enum([
22307
- "primary",
22308
- "sibling",
22309
- "child"
22310
- ]).nullable(),
22311
- joinedAt: z.number(),
22312
- /** Tier 1 — the sub-class (`dog`, `van`), resolved from the member's track
22313
- * at read time. Absent when nothing resolved, never an empty string. */
22314
- label: z.string().optional(),
22315
- /** Tier 2 — the instance: a person's name, a plate. Absent when the pipeline
22316
- * recognised nobody, and absent for a member whose track has been pruned —
22317
- * a thumbnail that names the wrong person is worse than one naming nobody. */
22318
- subLabel: z.string().optional()
22319
- });
22320
- var SummaryDetailSchema = z.object({
22321
- summary: SummarySchema,
22322
- /** Members in absorption order, oldest join first. */
22323
- members: z.array(SummaryMemberSchema).readonly()
22324
- });
22325
- /**
22326
- * What a LIST of groups carries: the envelope plus what it is MADE OF.
22327
- *
22328
- * Coarse on purpose — the operator's rule is "only the rough data on the list,
22329
- * we extend when we notice we need more". Enough to draw the card ("two people
22330
- * and a dog") and no more. The MEMBERS, their names and the per-member links
22331
- * are on {@link getSummary}: shipping every member of every group so a client
22332
- * can count them turns a page of two hundred groups into a thousand records to
22333
- * draw two hundred badges.
22334
- */
22335
- var SummaryListItemSchema = z.object({
22336
- summary: SummarySchema,
22337
- /** Class counts, most numerous first; `className: null` is a member whose
22338
- * class never resolved, counted so the counts add up to `memberCount`. */
22339
- classes: z.array(z.object({
22340
- className: z.string().nullable(),
22341
- count: z.number().int().positive()
22342
- })).readonly()
22343
- });
22344
- var SummariesPageSchema = z.object({ summaries: z.array(SummaryListItemSchema).readonly() });
22345
- /**
22346
- * The paged feed, deliberately the SAME shape as {@link RecentTracksQueryInput}.
22347
- *
22348
- * The reel on the cameras page and the Events gallery both ride a cursor, so a
22349
- * summaries feed that could only answer "the last N for these cameras"
22350
- * (`listSummaries`) would make groups available in the timeline and nowhere
22351
- * else. Two feeds with different ordering contracts would be two ideas of what
22352
- * "newest" means, on one screen.
22353
- */
22354
- var RecentSummariesQueryInput = z.object({
22355
- /** Devices to merge. An empty array yields an empty page. */
22356
- deviceIds: z.array(z.number()),
22357
- /** Window lower bound on `lastActiveAt` (inclusive). */
22358
- since: z.number().optional(),
22359
- /** Window upper bound on `lastActiveAt` (inclusive). */
22360
- until: z.number().optional(),
22361
- limit: z.number().int().min(1).max(500).default(100),
22362
- /** Opaque continuation cursor from a previous page's `nextCursor`. */
22363
- cursor: z.string().optional(),
22364
- /**
22365
- * Restrict to these classes — THE SAME FIELD `listRecentTracks` takes, and
22366
- * deliberately the same name: the events filter tree emits one list of ticked
22367
- * taxonomy nodes, and a summaries feed that called it something else would
22368
- * make the operator's one filter component produce two shapes.
22369
- *
22370
- * A question about the MEMBERS: a group matches when ANY of them does. "Show
22371
- * me the arrivals with a dog" has to return the group of four people who had
22372
- * one with them; a filter on the group's own fields could only ever answer
22373
- * about its primary.
22374
- *
22375
- * Matched against all THREE tiers of a member — the class (`animal`), the
22376
- * sub-class (`dog`) and the instance (a name, a plate) — because which tier a
22377
- * ticked node lives on is the taxonomy's business, not the caller's. `dog` is
22378
- * an event kind in the tree and a tier-1 label on an `animal` track; a filter
22379
- * that read only the class would answer "animal" and never "dog".
22380
- *
22381
- * ABSENT or EMPTY means no filter — absent is not a selection of none.
22382
- */
22383
- classes: z.array(z.string().min(1).max(60)).max(40).optional()
22384
- });
22385
- var RecentSummariesPageSchema = z.object({
22386
- /** Ordered by (`lastActiveAt` DESC, id DESC). Same light item as
22387
- * {@link listSummaries} — one list shape, so a card renders the same
22388
- * whichever feed drew it. */
22389
- summaries: z.array(SummaryListItemSchema).readonly(),
22390
- nextCursor: z.string().nullable()
22391
- });
22392
22256
  var RecentTracksPageSchema = z.object({
22393
22257
  /** Merged page, ordered by (`lastSeen` DESC, `trackId` DESC). */
22394
22258
  tracks: z.array(TrackSchema).readonly(),
@@ -22926,15 +22790,6 @@ var pipelineAnalyticsCapability = {
22926
22790
  * are not included (same contract as `listTracks`).
22927
22791
  */
22928
22792
  listRecentTracks: method(RecentTracksQueryInput, RecentTracksPageSchema),
22929
- /** Newest first by `openedAt`, for a camera set, inside an optional window. */
22930
- listSummaries: method(SummariesQueryInput, SummariesPageSchema),
22931
- /**
22932
- * The PAGED feed — the reel and the Events gallery. Same cursor contract as
22933
- * {@link listRecentTracks}, so one screen cannot hold two ideas of newest.
22934
- */
22935
- listRecentSummaries: method(RecentSummariesQueryInput, RecentSummariesPageSchema),
22936
- /** One summary with its member track ids; `null` for an id nobody wrote. */
22937
- getSummary: method(z.object({ id: z.string() }), SummaryDetailSchema.nullable()),
22938
22793
  clearTracks: method(z.object({ deviceId: z.number() }), z.void(), {
22939
22794
  kind: "mutation",
22940
22795
  auth: "admin"
@@ -51060,12 +50915,6 @@ var METHOD_ACCESS_MAP = Object.freeze({
51060
50915
  addonId: null,
51061
50916
  access: "view"
51062
50917
  },
51063
- "pipelineAnalytics.getSummary": {
51064
- capName: "pipeline-analytics",
51065
- capScope: "device",
51066
- addonId: null,
51067
- access: "view"
51068
- },
51069
50918
  "pipelineAnalytics.getTrack": {
51070
50919
  capName: "pipeline-analytics",
51071
50920
  capScope: "device",
@@ -51126,12 +50975,6 @@ var METHOD_ACCESS_MAP = Object.freeze({
51126
50975
  addonId: null,
51127
50976
  access: "view"
51128
50977
  },
51129
- "pipelineAnalytics.listRecentSummaries": {
51130
- capName: "pipeline-analytics",
51131
- capScope: "device",
51132
- addonId: null,
51133
- access: "view"
51134
- },
51135
50978
  "pipelineAnalytics.listRecentTracks": {
51136
50979
  capName: "pipeline-analytics",
51137
50980
  capScope: "device",
@@ -51162,12 +51005,6 @@ var METHOD_ACCESS_MAP = Object.freeze({
51162
51005
  addonId: null,
51163
51006
  access: "view"
51164
51007
  },
51165
- "pipelineAnalytics.listSummaries": {
51166
- capName: "pipeline-analytics",
51167
- capScope: "device",
51168
- addonId: null,
51169
- access: "view"
51170
- },
51171
51008
  "pipelineAnalytics.listTrackMedia": {
51172
51009
  capName: "pipeline-analytics",
51173
51010
  capScope: "device",
@@ -55337,11 +55174,6 @@ Object.freeze({
55337
55174
  form: "single",
55338
55175
  optional: true
55339
55176
  }],
55340
- "pipelineAnalytics.listRecentSummaries": [{
55341
- name: "deviceIds",
55342
- form: "array",
55343
- optional: false
55344
- }],
55345
55177
  "pipelineAnalytics.listRecentTracks": [{
55346
55178
  name: "deviceIds",
55347
55179
  form: "array",
@@ -55352,11 +55184,6 @@ Object.freeze({
55352
55184
  form: "array",
55353
55185
  optional: true
55354
55186
  }],
55355
- "pipelineAnalytics.listSummaries": [{
55356
- name: "deviceIds",
55357
- form: "array",
55358
- optional: false
55359
- }],
55360
55187
  "pipelineAnalytics.listTrackMedia": [{
55361
55188
  name: "deviceId",
55362
55189
  form: "single",
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-Dcy0gVHu.js");
3
+ const require_dist = require("./dist-B0AvBZxe.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");
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 asNumber, Bt as looseSchema, C as METHOD_ACCESS_MAP, Dt as isCollectionArrayMethod, Et as isArrayOutputSchema, Ft as lifecycleJobSchema, Jn as DEVICE_STATUS_METHOD, Jt as objectInputDeclaresRequiredDeviceId, Kn as DATAPLANE_SECRET_HEADER$1, Mt as kebabToCamel, O as RUNTIME_DEFAULTS, Qn as asJsonObject$1, Qt as procedureAuthKey, Wn as errMsg$1, Xn as ReadinessTimeoutError, Yn as ReadinessRegistry, b as LOG_LEVEL_RANK, dr as readinessKey, er as asString$1, fr as resolveCapMount, hr as EventCategory$1, in as resolveMethodAuth, ir as expandCapMethods, jt as isVoidInput, kt as isObjectInput, lr as parseJsonObject, nr as emitDownForOwnedCaps, on as scopesAllowAddon, pr as scopeKey, qn as DEVICE_SETTINGS_CONTRIBUTION_METHODS, qt as objectInputDeclaresAddonId, sn as scopesAllowDeviceCap, t as ALL_CAPABILITY_DEFINITIONS, tr as createEvent, ur as parseJsonUnknown, xt as extractNestedAddonId, z as addonSettingsCapability, zt as logLevelAtMost } from "./dist-CQ9vXSUh.mjs";
2
+ import { $n as asNumber, Bt as looseSchema, C as METHOD_ACCESS_MAP, Dt as isCollectionArrayMethod, Et as isArrayOutputSchema, Ft as lifecycleJobSchema, Jn as DEVICE_STATUS_METHOD, Jt as objectInputDeclaresRequiredDeviceId, Kn as DATAPLANE_SECRET_HEADER$1, Mt as kebabToCamel, O as RUNTIME_DEFAULTS, Qn as asJsonObject$1, Qt as procedureAuthKey, Wn as errMsg$1, Xn as ReadinessTimeoutError, Yn as ReadinessRegistry, b as LOG_LEVEL_RANK, dr as readinessKey, er as asString$1, fr as resolveCapMount, hr as EventCategory$1, in as resolveMethodAuth, ir as expandCapMethods, jt as isVoidInput, kt as isObjectInput, lr as parseJsonObject, nr as emitDownForOwnedCaps, on as scopesAllowAddon, pr as scopeKey, qn as DEVICE_SETTINGS_CONTRIBUTION_METHODS, qt as objectInputDeclaresAddonId, sn as scopesAllowDeviceCap, t as ALL_CAPABILITY_DEFINITIONS, tr as createEvent, ur as parseJsonUnknown, xt as extractNestedAddonId, z as addonSettingsCapability, zt as logLevelAtMost } from "./dist-XfFiGX64.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";
@@ -1,4 +1,4 @@
1
- const require_dist = require("./dist-Dcy0gVHu.js");
1
+ const require_dist = require("./dist-B0AvBZxe.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 { Qn as asJsonObject } from "./dist-CQ9vXSUh.mjs";
1
+ import { Qn as asJsonObject } from "./dist-XfFiGX64.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.319",
3
+ "version": "1.2.320",
4
4
  "description": "Core addon for CamStack — builtins, pipeline, process management, auth, logging, events",
5
5
  "keywords": [
6
6
  "camstack",