@camstack/system 1.2.269 → 1.2.271

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 (55) 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 +32 -4
  12. package/dist/builtins/camera-grid/index.mjs +32 -4
  13. package/dist/builtins/console-logging/index.js +1 -1
  14. package/dist/builtins/console-logging/index.mjs +1 -1
  15. package/dist/builtins/core-blocks/core-blocks.addon.js +1 -1
  16. package/dist/builtins/core-blocks/core-blocks.addon.mjs +1 -1
  17. package/dist/builtins/device-manager/device-manager.addon.js +2 -2
  18. package/dist/builtins/device-manager/device-manager.addon.mjs +2 -2
  19. package/dist/builtins/doorbell/virtual-doorbell.addon.js +1 -1
  20. package/dist/builtins/doorbell/virtual-doorbell.addon.mjs +1 -1
  21. package/dist/builtins/hub-forwarder/index.js +1 -1
  22. package/dist/builtins/hub-forwarder/index.mjs +1 -1
  23. package/dist/builtins/liveness-monitor/liveness-monitor.addon.js +1 -1
  24. package/dist/builtins/liveness-monitor/liveness-monitor.addon.mjs +1 -1
  25. package/dist/builtins/local-auth/local-auth.addon.js +1 -1
  26. package/dist/builtins/local-auth/local-auth.addon.mjs +1 -1
  27. package/dist/builtins/local-network/local-network.addon.js +1 -1
  28. package/dist/builtins/local-network/local-network.addon.mjs +1 -1
  29. package/dist/builtins/loki-logging/index.js +1 -1
  30. package/dist/builtins/loki-logging/index.mjs +1 -1
  31. package/dist/builtins/native-metrics/native-metrics.addon.js +1 -1
  32. package/dist/builtins/native-metrics/native-metrics.addon.mjs +1 -1
  33. package/dist/builtins/platform-probe/index.js +1 -1
  34. package/dist/builtins/platform-probe/index.mjs +1 -1
  35. package/dist/builtins/remote-access-orchestrator/remote-access-orchestrator.addon.js +1 -1
  36. package/dist/builtins/remote-access-orchestrator/remote-access-orchestrator.addon.mjs +1 -1
  37. package/dist/builtins/snapshot/index.js +5 -1
  38. package/dist/builtins/snapshot/index.mjs +5 -1
  39. package/dist/builtins/sqlite-storage/filesystem-storage.addon.js +1 -1
  40. package/dist/builtins/sqlite-storage/filesystem-storage.addon.mjs +1 -1
  41. package/dist/builtins/sqlite-storage/sqlite-settings.addon.js +0 -0
  42. package/dist/builtins/sqlite-storage/sqlite-settings.addon.mjs +0 -0
  43. package/dist/builtins/storage-orchestrator/storage-orchestrator.addon.js +1 -1
  44. package/dist/builtins/storage-orchestrator/storage-orchestrator.addon.mjs +1 -1
  45. package/dist/builtins/system-config/system-config.addon.js +1 -1
  46. package/dist/builtins/system-config/system-config.addon.mjs +1 -1
  47. package/dist/builtins/winston-logging/index.js +1 -1
  48. package/dist/builtins/winston-logging/index.mjs +1 -1
  49. package/dist/{dist-CqmImT7i.mjs → dist-Diz59Dhi.mjs} +3 -2
  50. package/dist/{dist-BTpfLiUX.js → dist-_YWIPtUH.js} +3 -2
  51. package/dist/index.js +1 -1
  52. package/dist/index.mjs +1 -1
  53. package/dist/{retired-settings-keys-D_DIuT_N.js → retired-settings-keys-C2ocoH_l.js} +1 -1
  54. package/dist/{retired-settings-keys-C8nV-AUi.mjs → retired-settings-keys-C_Hg5d37.mjs} +1 -1
  55. 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-BTpfLiUX.js");
6
+ const require_dist = require("../../dist-_YWIPtUH.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 { P as addonPagesCapability, Pn as EventCategory, an as errMsg, sn as BaseAddon } from "../../dist-CqmImT7i.mjs";
1
+ import { P as addonPagesCapability, Pn as EventCategory, an as errMsg, sn as BaseAddon } from "../../dist-Diz59Dhi.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-BTpfLiUX.js");
6
+ const require_dist = require("../../dist-_YWIPtUH.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 { I as addonWidgetsCapability, Pn as EventCategory, an as errMsg, sn as BaseAddon } from "../../dist-CqmImT7i.mjs";
1
+ import { I as addonWidgetsCapability, Pn as EventCategory, an as errMsg, sn as BaseAddon } from "../../dist-Diz59Dhi.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-BTpfLiUX.js");
6
+ const require_dist = require("../../dist-_YWIPtUH.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 { L as alertsCapability, Pn as EventCategory, an as errMsg, bn as createEvent, n as AlertSchema, sn as BaseAddon } from "../../dist-CqmImT7i.mjs";
1
+ import { L as alertsCapability, Pn as EventCategory, an as errMsg, bn as createEvent, n as AlertSchema, sn as BaseAddon } from "../../dist-Diz59Dhi.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-BTpfLiUX.js");
6
+ const require_dist = require("../../dist-_YWIPtUH.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 { B as bareAddonId, En as isEvent, It as ptzAutotrackCapability, Pn as EventCategory, an as errMsg, h as FIRST_LEVEL_MACRO_CLASSES, sn as BaseAddon } from "../../dist-CqmImT7i.mjs";
1
+ import { B as bareAddonId, En as isEvent, It as ptzAutotrackCapability, Pn as EventCategory, an as errMsg, h as FIRST_LEVEL_MACRO_CLASSES, sn as BaseAddon } from "../../dist-Diz59Dhi.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-BTpfLiUX.js");
6
+ const require_dist = require("../../dist-_YWIPtUH.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 { Dt as mayWriteToLocation, Pn as EventCategory, Zt as storageOccupancyCapability, sn as BaseAddon, z as backupCapability } from "../../dist-CqmImT7i.mjs";
1
+ import { Dt as mayWriteToLocation, Pn as EventCategory, Zt as storageOccupancyCapability, sn as BaseAddon, z as backupCapability } from "../../dist-Diz59Dhi.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-BTpfLiUX.js");
6
+ const require_dist = require("../../dist-_YWIPtUH.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");
@@ -2279,6 +2279,31 @@ function buildGridTilePlan(input) {
2279
2279
  /** See D527: the probe returns from the SDP instead of reading media. */
2280
2280
  var ANALYZE_DURATION_US$1 = 0;
2281
2281
  var PROBE_SIZE_BYTES$1 = 32;
2282
+ /**
2283
+ * Threads per child, and why they are BOUNDED rather than automatic.
2284
+ *
2285
+ * ffmpeg's default is one thread per core, applied to decode, the filter graph
2286
+ * and the output — and it applies it per CHILD. A compositor has N+1 of them,
2287
+ * so on the hub's 20-core CPU two tiles reading 640x360 sub-streams were
2288
+ * measured holding 71 and 56 threads (2026-09-18). That is not a CPU problem:
2289
+ * the container's pid cgroup counts THREADS, its ceiling is 2048, and it was
2290
+ * sitting at 1858. Every new `pthread_create` then fails with EAGAIN, which
2291
+ * ffmpeg reports as `ff_frame_thread_encoder_init failed` — the grid stopped
2292
+ * working, and nothing about the message says "out of pids".
2293
+ *
2294
+ * A tile decodes one small stream and scales it once; one thread does that at a
2295
+ * few percent of a core (measured: 2.2-2.4%). The encoder gets a few more
2296
+ * because it is the only piece whose work scales with the canvas.
2297
+ *
2298
+ * The DECODER needs its own number. `threadCount` lands after the video args,
2299
+ * so it bounds the encoder only — a tile set to `threadCount: 1` still carried
2300
+ * `min(cores, 16)` decoder frame threads plus a filter pool, and measured 72.
2301
+ * With all three set it measures 26.
2302
+ */
2303
+ var TILE_THREADS = 1;
2304
+ /** libavfilter's own slice pool, which neither of the other two touches. */
2305
+ var FILTER_THREADS = 1;
2306
+ var ENCODER_THREADS = 4;
2282
2307
  var PRESET$1 = "veryfast";
2283
2308
  var TUNE$1 = "zerolatency";
2284
2309
  var GOP_SECONDS$1 = 1;
@@ -2293,7 +2318,8 @@ function gridTileDecoderInvocation(input) {
2293
2318
  fflags: ["+discardcorrupt"],
2294
2319
  lowDelay: true,
2295
2320
  analyzeDurationUs: ANALYZE_DURATION_US$1,
2296
- probeSizeBytes: PROBE_SIZE_BYTES$1
2321
+ probeSizeBytes: PROBE_SIZE_BYTES$1,
2322
+ decodeThreadCount: TILE_THREADS
2297
2323
  },
2298
2324
  video: {
2299
2325
  kind: "raw",
@@ -2302,7 +2328,8 @@ function gridTileDecoderInvocation(input) {
2302
2328
  fps: input.fps
2303
2329
  },
2304
2330
  audio: { kind: "none" },
2305
- threadCount: 0,
2331
+ threadCount: TILE_THREADS,
2332
+ filterThreadCount: FILTER_THREADS,
2306
2333
  outputArgs: [],
2307
2334
  sink: {
2308
2335
  kind: "stdout",
@@ -2337,7 +2364,8 @@ function gridCanvasEncoderInvocation(input) {
2337
2364
  },
2338
2365
  video,
2339
2366
  audio: { kind: "none" },
2340
- threadCount: 0,
2367
+ threadCount: ENCODER_THREADS,
2368
+ filterThreadCount: FILTER_THREADS,
2341
2369
  outputArgs: [],
2342
2370
  sink: {
2343
2371
  kind: "stdout",
@@ -1,4 +1,4 @@
1
- import { $t as streamCatalogCapability, At as motionCapability, Jt as snapshotCapability, Pn as EventCategory, U as cameraGridLayoutCapability, Y as declarationOwnerNodeId, an as errMsg, b as MOTION_CLOSE_AFTER_MS, bn as createEvent, dn as DeviceFeature, f as DERIVED_CAMERA_SILENCED_CAP_NAMES, i as BaseDevice, on as buildFfmpegArgs, p as DeclaredDevices, pn as DeviceType, sn as BaseAddon, wn as hydrateSchema } from "../../dist-CqmImT7i.mjs";
1
+ import { $t as streamCatalogCapability, At as motionCapability, Jt as snapshotCapability, Pn as EventCategory, U as cameraGridLayoutCapability, Y as declarationOwnerNodeId, an as errMsg, b as MOTION_CLOSE_AFTER_MS, bn as createEvent, dn as DeviceFeature, f as DERIVED_CAMERA_SILENCED_CAP_NAMES, i as BaseDevice, on as buildFfmpegArgs, p as DeclaredDevices, pn as DeviceType, sn as BaseAddon, wn as hydrateSchema } from "../../dist-Diz59Dhi.mjs";
2
2
  import { z } from "zod";
3
3
  import { FfmpegProcess } from "@camstack/types/node";
4
4
  import { join } from "node:path";
@@ -2274,6 +2274,31 @@ function buildGridTilePlan(input) {
2274
2274
  /** See D527: the probe returns from the SDP instead of reading media. */
2275
2275
  var ANALYZE_DURATION_US$1 = 0;
2276
2276
  var PROBE_SIZE_BYTES$1 = 32;
2277
+ /**
2278
+ * Threads per child, and why they are BOUNDED rather than automatic.
2279
+ *
2280
+ * ffmpeg's default is one thread per core, applied to decode, the filter graph
2281
+ * and the output — and it applies it per CHILD. A compositor has N+1 of them,
2282
+ * so on the hub's 20-core CPU two tiles reading 640x360 sub-streams were
2283
+ * measured holding 71 and 56 threads (2026-09-18). That is not a CPU problem:
2284
+ * the container's pid cgroup counts THREADS, its ceiling is 2048, and it was
2285
+ * sitting at 1858. Every new `pthread_create` then fails with EAGAIN, which
2286
+ * ffmpeg reports as `ff_frame_thread_encoder_init failed` — the grid stopped
2287
+ * working, and nothing about the message says "out of pids".
2288
+ *
2289
+ * A tile decodes one small stream and scales it once; one thread does that at a
2290
+ * few percent of a core (measured: 2.2-2.4%). The encoder gets a few more
2291
+ * because it is the only piece whose work scales with the canvas.
2292
+ *
2293
+ * The DECODER needs its own number. `threadCount` lands after the video args,
2294
+ * so it bounds the encoder only — a tile set to `threadCount: 1` still carried
2295
+ * `min(cores, 16)` decoder frame threads plus a filter pool, and measured 72.
2296
+ * With all three set it measures 26.
2297
+ */
2298
+ var TILE_THREADS = 1;
2299
+ /** libavfilter's own slice pool, which neither of the other two touches. */
2300
+ var FILTER_THREADS = 1;
2301
+ var ENCODER_THREADS = 4;
2277
2302
  var PRESET$1 = "veryfast";
2278
2303
  var TUNE$1 = "zerolatency";
2279
2304
  var GOP_SECONDS$1 = 1;
@@ -2288,7 +2313,8 @@ function gridTileDecoderInvocation(input) {
2288
2313
  fflags: ["+discardcorrupt"],
2289
2314
  lowDelay: true,
2290
2315
  analyzeDurationUs: ANALYZE_DURATION_US$1,
2291
- probeSizeBytes: PROBE_SIZE_BYTES$1
2316
+ probeSizeBytes: PROBE_SIZE_BYTES$1,
2317
+ decodeThreadCount: TILE_THREADS
2292
2318
  },
2293
2319
  video: {
2294
2320
  kind: "raw",
@@ -2297,7 +2323,8 @@ function gridTileDecoderInvocation(input) {
2297
2323
  fps: input.fps
2298
2324
  },
2299
2325
  audio: { kind: "none" },
2300
- threadCount: 0,
2326
+ threadCount: TILE_THREADS,
2327
+ filterThreadCount: FILTER_THREADS,
2301
2328
  outputArgs: [],
2302
2329
  sink: {
2303
2330
  kind: "stdout",
@@ -2332,7 +2359,8 @@ function gridCanvasEncoderInvocation(input) {
2332
2359
  },
2333
2360
  video,
2334
2361
  audio: { kind: "none" },
2335
- threadCount: 0,
2362
+ threadCount: ENCODER_THREADS,
2363
+ filterThreadCount: FILTER_THREADS,
2336
2364
  outputArgs: [],
2337
2365
  sink: {
2338
2366
  kind: "stdout",
@@ -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-BTpfLiUX.js");
6
+ const require_dist = require("../../dist-_YWIPtUH.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 { Ct as logDestinationCapability, sn as BaseAddon } from "../../dist-CqmImT7i.mjs";
1
+ import { Ct as logDestinationCapability, sn as BaseAddon } from "../../dist-Diz59Dhi.mjs";
2
2
  import { t as formatLogLine } from "../../formatter-B7qW8bPJ.mjs";
3
3
  //#region src/builtins/console-logging/console-destination.ts
4
4
  var LEVEL_RANK = {
@@ -1,6 +1,6 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  const require_chunk = require("../../chunk-Cek0wNdY.js");
3
- const require_dist = require("../../dist-BTpfLiUX.js");
3
+ const require_dist = require("../../dist-_YWIPtUH.js");
4
4
  let node_crypto = require("node:crypto");
5
5
  let node_fs_promises = require("node:fs/promises");
6
6
  node_fs_promises = require_chunk.__toESM(node_fs_promises);
@@ -1,4 +1,4 @@
1
- import { G as coreBlockAddonId, K as coreBlockIdFromAddonId, an as errMsg, c as CORE_BLOCKS_ADDON_ID, l as CORE_BLOCK_ADDON_PREFIX, p as DeclaredDevices, q as coreBlocksCapability, sn as BaseAddon, u as CoreBlockSchema } from "../../dist-CqmImT7i.mjs";
1
+ import { G as coreBlockAddonId, K as coreBlockIdFromAddonId, an as errMsg, c as CORE_BLOCKS_ADDON_ID, l as CORE_BLOCK_ADDON_PREFIX, p as DeclaredDevices, q as coreBlocksCapability, sn as BaseAddon, u as CoreBlockSchema } from "../../dist-Diz59Dhi.mjs";
2
2
  import { randomUUID } from "node:crypto";
3
3
  import * as fs from "node:fs/promises";
4
4
  import * as path$1 from "node:path";
@@ -3,8 +3,8 @@ Object.defineProperties(exports, {
3
3
  [Symbol.toStringTag]: { value: "Module" }
4
4
  });
5
5
  require("../../chunk-Cek0wNdY.js");
6
- const require_dist = require("../../dist-BTpfLiUX.js");
7
- const require_retired_settings_keys = require("../../retired-settings-keys-D_DIuT_N.js");
6
+ const require_dist = require("../../dist-_YWIPtUH.js");
7
+ const require_retired_settings_keys = require("../../retired-settings-keys-C2ocoH_l.js");
8
8
  let node_crypto = require("node:crypto");
9
9
  let _camstack_types_node = require("@camstack/types/node");
10
10
  //#region src/builtins/device-manager/adoption-job-engine.ts
@@ -1,5 +1,5 @@
1
- import { $ as deviceStateCapability, D as STREAM_PROFILE_META, H as buildStreamParamsConfigSchema, Ht as runtimeStatePolicyFor, Nn as sleep$1, Nt as parseStreamParamsFormPatch, Pn as EventCategory, Q as deviceManagerCapability, St as locationIconKey, Tn as isDeviceConfigCap, an as errMsg, dn as DeviceFeature, et as deviceStatusCapability, fn as DeviceRole, gn as WELL_KNOWN_TAB_MAP, it as enumerateSchemaFields, jt as normalizeUnit, m as DeviceStatusSchema, o as CAMERA_SWITCH_ORDER, pn as DeviceType, qt as siteZoneKey, rt as enumerateItemArrayFields, s as CAP_NAMES_WITH_STATUS, sn as BaseAddon, t as ALL_CAPABILITY_DEFINITIONS, v as LocationIconIdSchema, zt as resolveContainerPrimaryChild } from "../../dist-CqmImT7i.mjs";
2
- import { n as purgeRetiredSettingsRows } from "../../retired-settings-keys-C8nV-AUi.mjs";
1
+ import { $ as deviceStateCapability, D as STREAM_PROFILE_META, H as buildStreamParamsConfigSchema, Ht as runtimeStatePolicyFor, Nn as sleep$1, Nt as parseStreamParamsFormPatch, Pn as EventCategory, Q as deviceManagerCapability, St as locationIconKey, Tn as isDeviceConfigCap, an as errMsg, dn as DeviceFeature, et as deviceStatusCapability, fn as DeviceRole, gn as WELL_KNOWN_TAB_MAP, it as enumerateSchemaFields, jt as normalizeUnit, m as DeviceStatusSchema, o as CAMERA_SWITCH_ORDER, pn as DeviceType, qt as siteZoneKey, rt as enumerateItemArrayFields, s as CAP_NAMES_WITH_STATUS, sn as BaseAddon, t as ALL_CAPABILITY_DEFINITIONS, v as LocationIconIdSchema, zt as resolveContainerPrimaryChild } from "../../dist-Diz59Dhi.mjs";
2
+ import { n as purgeRetiredSettingsRows } from "../../retired-settings-keys-C_Hg5d37.mjs";
3
3
  import { randomUUID } from "node:crypto";
4
4
  import { canonicalDeviceFingerprint } from "@camstack/types/node";
5
5
  //#region src/builtins/device-manager/adoption-job-engine.ts
@@ -3,7 +3,7 @@ Object.defineProperties(exports, {
3
3
  [Symbol.toStringTag]: { value: "Module" }
4
4
  });
5
5
  require("../../chunk-Cek0wNdY.js");
6
- const require_dist = require("../../dist-BTpfLiUX.js");
6
+ const require_dist = require("../../dist-_YWIPtUH.js");
7
7
  //#region src/builtins/doorbell/trigger-engine.ts
8
8
  /**
9
9
  * Pure trigger logic for the virtual-doorbell builtin — edge detection over
@@ -1,4 +1,4 @@
1
- import { B as bareAddonId, Pn as EventCategory, T as SOURCE_DEVICE_TYPES, an as errMsg, at as evaluateSensorEdge, bn as createEvent, gt as isSourceCap, ht as isSameAddonId, pn as DeviceType, sn as BaseAddon, tt as doorbellCapability, w as SOURCE_CAPS } from "../../dist-CqmImT7i.mjs";
1
+ import { B as bareAddonId, Pn as EventCategory, T as SOURCE_DEVICE_TYPES, an as errMsg, at as evaluateSensorEdge, bn as createEvent, gt as isSourceCap, ht as isSameAddonId, pn as DeviceType, sn as BaseAddon, tt as doorbellCapability, w as SOURCE_CAPS } from "../../dist-Diz59Dhi.mjs";
2
2
  //#region src/builtins/doorbell/trigger-engine.ts
3
3
  /**
4
4
  * Pure trigger logic for the virtual-doorbell builtin — edge detection over
@@ -3,7 +3,7 @@ Object.defineProperties(exports, {
3
3
  [Symbol.toStringTag]: { value: "Module" }
4
4
  });
5
5
  require("../../chunk-Cek0wNdY.js");
6
- const require_dist = require("../../dist-BTpfLiUX.js");
6
+ const require_dist = require("../../dist-_YWIPtUH.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 { Ct as logDestinationCapability, sn as BaseAddon } from "../../dist-CqmImT7i.mjs";
1
+ import { Ct as logDestinationCapability, sn as BaseAddon } from "../../dist-Diz59Dhi.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-BTpfLiUX.js");
3
+ const require_dist = require("../../dist-_YWIPtUH.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 { C as RecordingStatusSchema, Pn as EventCategory, an as errMsg, bn as createEvent, sn as BaseAddon } from "../../dist-CqmImT7i.mjs";
1
+ import { C as RecordingStatusSchema, Pn as EventCategory, an as errMsg, bn as createEvent, sn as BaseAddon } from "../../dist-Diz59Dhi.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-BTpfLiUX.js");
6
+ const require_dist = require("../../dist-_YWIPtUH.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 { N as UserRecordSchema, O as ScopedTokenSchema, R as authProviderCapability, r as ApiKeyRecordSchema, sn as BaseAddon, tn as userManagementCapability } from "../../dist-CqmImT7i.mjs";
2
+ import { N as UserRecordSchema, O as ScopedTokenSchema, R as authProviderCapability, r as ApiKeyRecordSchema, sn as BaseAddon, tn as userManagementCapability } from "../../dist-Diz59Dhi.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-BTpfLiUX.js");
3
+ const require_dist = require("../../dist-_YWIPtUH.js");
4
4
  const require_tls = require("../../tls-BFs4PzoW.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 { Pn as EventCategory, sn as BaseAddon, xt as localNetworkCapability } from "../../dist-CqmImT7i.mjs";
1
+ import { Pn as EventCategory, sn as BaseAddon, xt as localNetworkCapability } from "../../dist-Diz59Dhi.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-2xbgg78V.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-BTpfLiUX.js");
6
+ const require_dist = require("../../dist-_YWIPtUH.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 { Ct as logDestinationCapability, sn as BaseAddon } from "../../dist-CqmImT7i.mjs";
1
+ import { Ct as logDestinationCapability, sn as BaseAddon } from "../../dist-Diz59Dhi.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-BTpfLiUX.js");
6
+ const require_dist = require("../../dist-_YWIPtUH.js");
7
7
  let node_fs_promises = require("node:fs/promises");
8
8
  let node_fs = require("node:fs");
9
9
  node_fs = require_chunk.__toESM(node_fs);
@@ -1,4 +1,4 @@
1
- import { Lt as reducePoints, Ot as metricsProviderCapability, Pn as EventCategory, Rt as resolveBucketMs, an as errMsg, bn as createEvent, lt as foldSnapshotByFunction, sn as BaseAddon } from "../../dist-CqmImT7i.mjs";
1
+ import { Lt as reducePoints, Ot as metricsProviderCapability, Pn as EventCategory, Rt as resolveBucketMs, an as errMsg, bn as createEvent, lt as foldSnapshotByFunction, sn as BaseAddon } from "../../dist-Diz59Dhi.mjs";
2
2
  import { access, readFile, readdir } from "node:fs/promises";
3
3
  import * as fs from "node:fs";
4
4
  import { constants, readFileSync } 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-BTpfLiUX.js");
6
+ const require_dist = require("../../dist-_YWIPtUH.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 { Gt as scoreRuntimes, Pn as EventCategory, Pt as platformProbeCapability, Sn as emitReadiness, an as errMsg, nt as enumerateInferenceDevices, sn as BaseAddon } from "../../dist-CqmImT7i.mjs";
2
+ import { Gt as scoreRuntimes, Pn as EventCategory, Pt as platformProbeCapability, Sn as emitReadiness, an as errMsg, nt as enumerateInferenceDevices, sn as BaseAddon } from "../../dist-Diz59Dhi.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-BTpfLiUX.js");
6
+ const require_dist = require("../../dist-_YWIPtUH.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 { Pn as EventCategory, sn as BaseAddon } from "../../dist-CqmImT7i.mjs";
1
+ import { Pn as EventCategory, sn as BaseAddon } from "../../dist-Diz59Dhi.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-BTpfLiUX.js");
6
+ const require_dist = require("../../dist-_YWIPtUH.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");
@@ -2627,6 +2627,10 @@ function runFfmpegFrameGrab(url, timeoutMs) {
2627
2627
  (0, node_child_process.execFile)("ffmpeg", [
2628
2628
  "-loglevel",
2629
2629
  "error",
2630
+ "-threads",
2631
+ "1",
2632
+ "-filter_threads",
2633
+ "1",
2630
2634
  "-rtsp_transport",
2631
2635
  "tcp",
2632
2636
  "-fflags",
@@ -1,4 +1,4 @@
1
- import { B as bareAddonId, Dn as nodePin, Jt as snapshotCapability, Pn as EventCategory, V as batteryCapability, Z as deriveBatteryPresence, a as BatteryStatusSchema, an as errMsg, dn as DeviceFeature, en as streamQualityLabel, pn as DeviceType, sn as BaseAddon } from "../../dist-CqmImT7i.mjs";
1
+ import { B as bareAddonId, Dn as nodePin, Jt as snapshotCapability, Pn as EventCategory, V as batteryCapability, Z as deriveBatteryPresence, a as BatteryStatusSchema, an as errMsg, dn as DeviceFeature, en as streamQualityLabel, pn as DeviceType, sn as BaseAddon } from "../../dist-Diz59Dhi.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";
@@ -2621,6 +2621,10 @@ function runFfmpegFrameGrab(url, timeoutMs) {
2621
2621
  execFile("ffmpeg", [
2622
2622
  "-loglevel",
2623
2623
  "error",
2624
+ "-threads",
2625
+ "1",
2626
+ "-filter_threads",
2627
+ "1",
2624
2628
  "-rtsp_transport",
2625
2629
  "tcp",
2626
2630
  "-fflags",
@@ -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-BTpfLiUX.js");
6
+ const require_dist = require("../../dist-_YWIPtUH.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 { Qt as storageProviderCapability, ct as filesystemBrowseCapability, sn as BaseAddon } from "../../dist-CqmImT7i.mjs";
1
+ import { Qt as storageProviderCapability, ct as filesystemBrowseCapability, sn as BaseAddon } from "../../dist-Diz59Dhi.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-BTpfLiUX.js");
6
+ const require_dist = require("../../dist-_YWIPtUH.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 StorageLocationModeSchema, Bt as resolveLocationMode, Dt as mayWriteToLocation, Et as mayReadLocation, Kt as settingsStoreCapability, M as StorageMigrationJobSchema, On as parseJsonObject, Pn as EventCategory, W as collectSecretConfigKeys, Xt as storageMigrationCapability, Yt as storageCapability, _ as LegacyStorageLocationDefaultSchema, in as withLocationMode, j as StorageLocationTypeSchema, k as StorageCleanupJobSchema, kt as modeMayWrite, ot as evictionPolicyOfLocation, pt as isLocationEnabled, sn as BaseAddon, ut as gbToBytes, x as REDACTED_SECRET, yt as legacyModeOf } from "../../dist-CqmImT7i.mjs";
1
+ import { A as StorageLocationModeSchema, Bt as resolveLocationMode, Dt as mayWriteToLocation, Et as mayReadLocation, Kt as settingsStoreCapability, M as StorageMigrationJobSchema, On as parseJsonObject, Pn as EventCategory, W as collectSecretConfigKeys, Xt as storageMigrationCapability, Yt as storageCapability, _ as LegacyStorageLocationDefaultSchema, in as withLocationMode, j as StorageLocationTypeSchema, k as StorageCleanupJobSchema, kt as modeMayWrite, ot as evictionPolicyOfLocation, pt as isLocationEnabled, sn as BaseAddon, ut as gbToBytes, x as REDACTED_SECRET, yt as legacyModeOf } from "../../dist-Diz59Dhi.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-BTpfLiUX.js");
6
+ const require_dist = require("../../dist-_YWIPtUH.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 { an as errMsg, sn as BaseAddon, wn as hydrateSchema } from "../../dist-CqmImT7i.mjs";
1
+ import { an as errMsg, sn as BaseAddon, wn as hydrateSchema } from "../../dist-Diz59Dhi.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-BTpfLiUX.js");
6
+ const require_dist = require("../../dist-_YWIPtUH.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 { Ct as logDestinationCapability, sn as BaseAddon } from "../../dist-CqmImT7i.mjs";
1
+ import { Ct as logDestinationCapability, sn as BaseAddon } from "../../dist-Diz59Dhi.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";
@@ -3404,7 +3404,7 @@ function sleep(ms) {
3404
3404
  return new Promise((resolve) => setTimeout(resolve, Math.max(0, ms)));
3405
3405
  }
3406
3406
  //#endregion
3407
- //#region ../types/dist/canonical-hash-C5pB-QV1.mjs
3407
+ //#region ../types/dist/canonical-hash-CvL03d3i.mjs
3408
3408
  var AUDIO_ENCODER_BY_CODEC = {
3409
3409
  opus: "libopus",
3410
3410
  aac: "aac",
@@ -3462,6 +3462,7 @@ function buildInputArgs(input, decodeHwAccel) {
3462
3462
  const args = [];
3463
3463
  if (!isSoftwareDecode(decodeHwAccel)) args.push("-hwaccel", String(decodeHwAccel));
3464
3464
  if (input.extraArgs?.length) args.push(...input.extraArgs);
3465
+ if (input.decodeThreadCount !== void 0 && input.decodeThreadCount > 0) args.push("-threads", String(input.decodeThreadCount));
3465
3466
  if (input.analyzeDurationUs !== void 0) args.push("-analyzeduration", String(input.analyzeDurationUs));
3466
3467
  if (input.probeSizeBytes !== void 0) args.push("-probesize", String(input.probeSizeBytes));
3467
3468
  if (input.lowDelay === true) args.push("-flags", "low_delay");
@@ -3732,7 +3733,7 @@ function buildFfmpegArgs(inv) {
3732
3733
  ...(inv.extraInputs ?? []).flatMap((extra) => buildInputArgs(extra, inv.decodeHwAccel)),
3733
3734
  ...graph ? ["-filter_complex", graph.graph] : []
3734
3735
  ];
3735
- const threadArgs = inv.threadCount > 0 ? ["-threads", String(inv.threadCount)] : [];
3736
+ const threadArgs = [...inv.threadCount > 0 ? ["-threads", String(inv.threadCount)] : [], ...inv.filterThreadCount !== void 0 && inv.filterThreadCount > 0 ? ["-filter_threads", String(inv.filterThreadCount)] : []];
3736
3737
  const maps = resolveStreamMaps(inv);
3737
3738
  const videoMapArgs = maps.video ? ["-map", maps.video] : [];
3738
3739
  const audioMapArgs = maps.audio ? ["-map", maps.audio] : [];
@@ -3404,7 +3404,7 @@ function sleep(ms) {
3404
3404
  return new Promise((resolve) => setTimeout(resolve, Math.max(0, ms)));
3405
3405
  }
3406
3406
  //#endregion
3407
- //#region ../types/dist/canonical-hash-C5pB-QV1.mjs
3407
+ //#region ../types/dist/canonical-hash-CvL03d3i.mjs
3408
3408
  var AUDIO_ENCODER_BY_CODEC = {
3409
3409
  opus: "libopus",
3410
3410
  aac: "aac",
@@ -3462,6 +3462,7 @@ function buildInputArgs(input, decodeHwAccel) {
3462
3462
  const args = [];
3463
3463
  if (!isSoftwareDecode(decodeHwAccel)) args.push("-hwaccel", String(decodeHwAccel));
3464
3464
  if (input.extraArgs?.length) args.push(...input.extraArgs);
3465
+ if (input.decodeThreadCount !== void 0 && input.decodeThreadCount > 0) args.push("-threads", String(input.decodeThreadCount));
3465
3466
  if (input.analyzeDurationUs !== void 0) args.push("-analyzeduration", String(input.analyzeDurationUs));
3466
3467
  if (input.probeSizeBytes !== void 0) args.push("-probesize", String(input.probeSizeBytes));
3467
3468
  if (input.lowDelay === true) args.push("-flags", "low_delay");
@@ -3732,7 +3733,7 @@ function buildFfmpegArgs(inv) {
3732
3733
  ...(inv.extraInputs ?? []).flatMap((extra) => buildInputArgs(extra, inv.decodeHwAccel)),
3733
3734
  ...graph ? ["-filter_complex", graph.graph] : []
3734
3735
  ];
3735
- const threadArgs = inv.threadCount > 0 ? ["-threads", String(inv.threadCount)] : [];
3736
+ const threadArgs = [...inv.threadCount > 0 ? ["-threads", String(inv.threadCount)] : [], ...inv.filterThreadCount !== void 0 && inv.filterThreadCount > 0 ? ["-filter_threads", String(inv.filterThreadCount)] : []];
3736
3737
  const maps = resolveStreamMaps(inv);
3737
3738
  const videoMapArgs = maps.video ? ["-map", maps.video] : [];
3738
3739
  const audioMapArgs = maps.audio ? ["-map", maps.audio] : [];
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-BTpfLiUX.js");
3
+ const require_dist = require("./dist-_YWIPtUH.js");
4
4
  const require_builtins_alerts_alerts_addon = require("./builtins/alerts/alerts.addon.js");
5
5
  require("./builtins/alerts/index.js");
6
6
  const require_formatter = require("./formatter-DqAKDlvN.js");
package/dist/index.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  import { a as __toCommonJS, i as __require, n as __esmMin, o as __toESM$1, r as __exportAll, t as __commonJSMin$1 } from "./chunk-CNf5ZN-e.mjs";
2
- import { An as readinessKey, Cn as expandCapMethods, F as addonSettingsCapability, Ft as procedureAuthKey, Mn as scopeKey, Mt as objectInputDeclaresAddonId, On as parseJsonObject, Pn as EventCategory$1, S as RUNTIME_DEFAULTS, Tt as looseSchema, Ut as scopesAllowAddon, Vt as resolveMethodAuth, Wt as scopesAllowDeviceCap, _n as asJsonObject$1, _t as isVoidInput, an as errMsg$1, bn as createEvent, bt as lifecycleJobSchema, cn as DATAPLANE_SECRET_HEADER$1, dt as isArrayOutputSchema, ft as isCollectionArrayMethod, g as LOG_LEVEL_RANK, hn as ReadinessTimeoutError, jn as resolveCapMount, kn as parseJsonUnknown, ln as DEVICE_SETTINGS_CONTRIBUTION_METHODS, mn as ReadinessRegistry, mt as isObjectInput, st as extractNestedAddonId, t as ALL_CAPABILITY_DEFINITIONS, un as DEVICE_STATUS_METHOD, vn as asNumber, vt as kebabToCamel, wt as logLevelAtMost, xn as emitDownForOwnedCaps, y as METHOD_ACCESS_MAP, yn as asString$1 } from "./dist-CqmImT7i.mjs";
2
+ import { An as readinessKey, Cn as expandCapMethods, F as addonSettingsCapability, Ft as procedureAuthKey, Mn as scopeKey, Mt as objectInputDeclaresAddonId, On as parseJsonObject, Pn as EventCategory$1, S as RUNTIME_DEFAULTS, Tt as looseSchema, Ut as scopesAllowAddon, Vt as resolveMethodAuth, Wt as scopesAllowDeviceCap, _n as asJsonObject$1, _t as isVoidInput, an as errMsg$1, bn as createEvent, bt as lifecycleJobSchema, cn as DATAPLANE_SECRET_HEADER$1, dt as isArrayOutputSchema, ft as isCollectionArrayMethod, g as LOG_LEVEL_RANK, hn as ReadinessTimeoutError, jn as resolveCapMount, kn as parseJsonUnknown, ln as DEVICE_SETTINGS_CONTRIBUTION_METHODS, mn as ReadinessRegistry, mt as isObjectInput, st as extractNestedAddonId, t as ALL_CAPABILITY_DEFINITIONS, un as DEVICE_STATUS_METHOD, vn as asNumber, vt as kebabToCamel, wt as logLevelAtMost, xn as emitDownForOwnedCaps, y as METHOD_ACCESS_MAP, yn as asString$1 } from "./dist-Diz59Dhi.mjs";
3
3
  import { AlertCenterAddon } from "./builtins/alerts/alerts.addon.mjs";
4
4
  import "./builtins/alerts/index.mjs";
5
5
  import { t as formatLogLine } from "./formatter-B7qW8bPJ.mjs";
@@ -1,4 +1,4 @@
1
- const require_dist = require("./dist-BTpfLiUX.js");
1
+ const require_dist = require("./dist-_YWIPtUH.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 { _n as asJsonObject } from "./dist-CqmImT7i.mjs";
1
+ import { _n as asJsonObject } from "./dist-Diz59Dhi.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.269",
3
+ "version": "1.2.271",
4
4
  "description": "Core addon for CamStack — builtins, pipeline, process management, auth, logging, events",
5
5
  "keywords": [
6
6
  "camstack",