@camstack/system 1.2.4 → 1.2.6

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 (48) hide show
  1. package/dist/addon-runner.js +2 -2
  2. package/dist/addon-runner.mjs +2 -2
  3. package/dist/builtins/addon-pages-aggregator/addon-pages-aggregator.addon.js +1 -1
  4. package/dist/builtins/addon-pages-aggregator/addon-pages-aggregator.addon.mjs +1 -1
  5. package/dist/builtins/addon-widgets-aggregator/addon-widgets-aggregator.addon.js +1 -1
  6. package/dist/builtins/addon-widgets-aggregator/addon-widgets-aggregator.addon.mjs +1 -1
  7. package/dist/builtins/alerts/alerts.addon.js +1 -1
  8. package/dist/builtins/alerts/alerts.addon.mjs +1 -1
  9. package/dist/builtins/backup-orchestrator/backup-orchestrator.addon.js +1 -1
  10. package/dist/builtins/backup-orchestrator/backup-orchestrator.addon.mjs +1 -1
  11. package/dist/builtins/console-logging/index.js +1 -1
  12. package/dist/builtins/console-logging/index.mjs +1 -1
  13. package/dist/builtins/device-manager/device-linked-devices.d.ts +6 -3
  14. package/dist/builtins/device-manager/device-manager.addon.js +9 -6
  15. package/dist/builtins/device-manager/device-manager.addon.mjs +9 -6
  16. package/dist/builtins/doorbell/virtual-doorbell.addon.js +1 -1
  17. package/dist/builtins/doorbell/virtual-doorbell.addon.mjs +1 -1
  18. package/dist/builtins/hub-forwarder/index.js +1 -1
  19. package/dist/builtins/hub-forwarder/index.mjs +1 -1
  20. package/dist/builtins/local-auth/local-auth.addon.js +1 -1
  21. package/dist/builtins/local-auth/local-auth.addon.mjs +1 -1
  22. package/dist/builtins/local-network/local-network.addon.js +1 -1
  23. package/dist/builtins/local-network/local-network.addon.mjs +1 -1
  24. package/dist/builtins/native-metrics/native-metrics.addon.js +1 -1
  25. package/dist/builtins/native-metrics/native-metrics.addon.mjs +1 -1
  26. package/dist/builtins/platform-probe/index.js +1 -1
  27. package/dist/builtins/platform-probe/index.mjs +1 -1
  28. package/dist/builtins/remote-access-orchestrator/remote-access-orchestrator.addon.js +1 -1
  29. package/dist/builtins/remote-access-orchestrator/remote-access-orchestrator.addon.mjs +1 -1
  30. package/dist/builtins/snapshot/index.js +1 -1
  31. package/dist/builtins/snapshot/index.mjs +1 -1
  32. package/dist/builtins/sqlite-storage/filesystem-storage.addon.js +1 -1
  33. package/dist/builtins/sqlite-storage/filesystem-storage.addon.mjs +1 -1
  34. package/dist/builtins/sqlite-storage/sqlite-settings.addon.js +1 -1
  35. package/dist/builtins/sqlite-storage/sqlite-settings.addon.mjs +1 -1
  36. package/dist/builtins/storage-orchestrator/storage-orchestrator.addon.js +1 -1
  37. package/dist/builtins/storage-orchestrator/storage-orchestrator.addon.mjs +1 -1
  38. package/dist/builtins/system-config/system-config.addon.js +1 -1
  39. package/dist/builtins/system-config/system-config.addon.mjs +1 -1
  40. package/dist/builtins/winston-logging/index.js +1 -1
  41. package/dist/builtins/winston-logging/index.mjs +1 -1
  42. package/dist/{dist-CQZxGJ8u.js → dist-DIlYZWEp.js} +28 -2
  43. package/dist/{dist-72yufD8v.mjs → dist-aTevP3Nh.mjs} +28 -2
  44. package/dist/index.js +2 -2
  45. package/dist/index.mjs +2 -2
  46. package/dist/{manifest-python-deps-Cd7ocUBi.js → manifest-python-deps-BznC09O4.js} +1 -1
  47. package/dist/{manifest-python-deps-6__QF75g.mjs → manifest-python-deps-Czja13st.mjs} +1 -1
  48. package/package.json +1 -1
@@ -1,6 +1,6 @@
1
1
  const require_chunk = require("./chunk-Cek0wNdY.js");
2
- const require_dist = require("./dist-CQZxGJ8u.js");
3
- const require_manifest_python_deps = require("./manifest-python-deps-Cd7ocUBi.js");
2
+ const require_dist = require("./dist-DIlYZWEp.js");
3
+ const require_manifest_python_deps = require("./manifest-python-deps-BznC09O4.js");
4
4
  const require_custom_action_registry = require("./custom-action-registry-vLYEFTtv.js");
5
5
  let node_fs = require("node:fs");
6
6
  node_fs = require_chunk.__toESM(node_fs);
@@ -1,5 +1,5 @@
1
- import { M as isCollectionArrayMethod, t as ALL_CAPABILITY_DEFINITIONS } from "./dist-72yufD8v.mjs";
2
- import { Ct as resolveAddonClass, I as createUdsLoggerWithControl, L as LocalChildClient, at as setWorkerNativeCapsChangeListener, bt as installManifestNativeDeps, i as createUdsAddonContext, nt as getWorkerNativeCapProvider, rt as getWorkerNativeCapSnapshot, st as validateProviderRegistrations, t as installManifestPythonDeps } from "./manifest-python-deps-6__QF75g.mjs";
1
+ import { M as isCollectionArrayMethod, t as ALL_CAPABILITY_DEFINITIONS } from "./dist-aTevP3Nh.mjs";
2
+ import { Ct as resolveAddonClass, I as createUdsLoggerWithControl, L as LocalChildClient, at as setWorkerNativeCapsChangeListener, bt as installManifestNativeDeps, i as createUdsAddonContext, nt as getWorkerNativeCapProvider, rt as getWorkerNativeCapSnapshot, st as validateProviderRegistrations, t as installManifestPythonDeps } from "./manifest-python-deps-Czja13st.mjs";
3
3
  import { t as CustomActionRegistry } from "./custom-action-registry-BEXwC-oo.mjs";
4
4
  import { register } from "node:module";
5
5
  import * as fs from "node:fs";
@@ -3,7 +3,7 @@ Object.defineProperties(exports, {
3
3
  [Symbol.toStringTag]: { value: "Module" }
4
4
  });
5
5
  const require_chunk = require("../../chunk-Cek0wNdY.js");
6
- const require_dist = require("../../dist-CQZxGJ8u.js");
6
+ const require_dist = require("../../dist-DIlYZWEp.js");
7
7
  const require_settle_sources = require("../../settle-sources-Bhsy57y-.js");
8
8
  let node_fs = require("node:fs");
9
9
  node_fs = require_chunk.__toESM(node_fs);
@@ -1,4 +1,4 @@
1
- import { At as EventCategory, at as BaseAddon, f as addonPagesCapability, it as errMsg } from "../../dist-72yufD8v.mjs";
1
+ import { At as EventCategory, at as BaseAddon, f as addonPagesCapability, it as errMsg } from "../../dist-aTevP3Nh.mjs";
2
2
  import { t as settleSourcesWithTimeout } from "../../settle-sources-CDtNC8ub.mjs";
3
3
  import * as fs from "node:fs";
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-CQZxGJ8u.js");
6
+ const require_dist = require("../../dist-DIlYZWEp.js");
7
7
  const require_settle_sources = require("../../settle-sources-Bhsy57y-.js");
8
8
  let node_fs = require("node:fs");
9
9
  node_fs = require_chunk.__toESM(node_fs);
@@ -1,4 +1,4 @@
1
- import { At as EventCategory, at as BaseAddon, it as errMsg, m as addonWidgetsCapability } from "../../dist-72yufD8v.mjs";
1
+ import { At as EventCategory, at as BaseAddon, it as errMsg, m as addonWidgetsCapability } from "../../dist-aTevP3Nh.mjs";
2
2
  import { t as settleSourcesWithTimeout } from "../../settle-sources-CDtNC8ub.mjs";
3
3
  import * as fs from "node:fs";
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-CQZxGJ8u.js");
6
+ const require_dist = require("../../dist-DIlYZWEp.js");
7
7
  //#region src/builtins/alerts/alerts.addon.ts
8
8
  var CATEGORY_MAPPINGS = {
9
9
  "addon.crashed": {
@@ -1,4 +1,4 @@
1
- import { At as EventCategory, at as BaseAddon, h as alertsCapability, it as errMsg, n as AlertSchema, vt as createEvent } from "../../dist-72yufD8v.mjs";
1
+ import { At as EventCategory, at as BaseAddon, h as alertsCapability, it as errMsg, n as AlertSchema, vt as createEvent } from "../../dist-aTevP3Nh.mjs";
2
2
  //#region src/builtins/alerts/alerts.addon.ts
3
3
  var CATEGORY_MAPPINGS = {
4
4
  "addon.crashed": {
@@ -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-CQZxGJ8u.js");
6
+ const require_dist = require("../../dist-DIlYZWEp.js");
7
7
  let node_fs = require("node:fs");
8
8
  let node_fs$1 = require_chunk.__toESM(node_fs, 1);
9
9
  node_fs = require_chunk.__toESM(node_fs);
@@ -1,4 +1,4 @@
1
- import { At as EventCategory, at as BaseAddon, v as backupCapability } from "../../dist-72yufD8v.mjs";
1
+ import { At as EventCategory, at as BaseAddon, v as backupCapability } from "../../dist-aTevP3Nh.mjs";
2
2
  import * as fs from "node:fs";
3
3
  import Kt from "node:fs";
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-CQZxGJ8u.js");
6
+ const require_dist = require("../../dist-DIlYZWEp.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 { R as logDestinationCapability, at as BaseAddon } from "../../dist-72yufD8v.mjs";
1
+ import { R as logDestinationCapability, at as BaseAddon } from "../../dist-aTevP3Nh.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 = {
@@ -4,7 +4,9 @@ import { ProviderContext } from './device-provider-context.js';
4
4
  export declare const LINKED_MODE_CONFIG_KEY = "_linkedDevicesMode";
5
5
  export declare const LINKED_IDS_CONFIG_KEY = "_linkedDeviceIds";
6
6
  /** Reserved key: subset of linked devices that materialize synthetic tracked
7
- * events on the camera. Absent ⇒ ALL linked devices produce tracked events. */
7
+ * events on the camera. Absent ⇒ NONE producing tracked events is an
8
+ * explicit operator OPT-IN (2026-07-22 flip: the old absent⇒ALL default
9
+ * auto-materialized sensor snapshots the operator never asked for). */
8
10
  export declare const LINKED_TRACKED_IDS_CONFIG_KEY = "_linkedDeviceTrackedIds";
9
11
  export interface LinkedDevicesConfig {
10
12
  readonly mode: DeviceLinkMode;
@@ -32,8 +34,9 @@ export declare function resolveLinkedDeviceIds(params: {
32
34
  }): readonly number[];
33
35
  /**
34
36
  * Which linked devices materialize synthetic tracked events on the camera.
35
- * Absent / non-array config key ⇒ ALL linked devices (back-compat with the
36
- * pre-existing "every linked device produces events" behaviour). Otherwise the
37
+ * Absent / non-array config key ⇒ NONE the operator must explicitly pick
38
+ * producers (opt-in; flipped from the legacy absent⇒ALL default, which
39
+ * auto-materialized sensor snapshots for every linked device). Otherwise the
37
40
  * configured subset intersected with the currently-resolved linked set (a
38
41
  * picked id no longer linked is dropped). Ids may arrive as numbers or numeric
39
42
  * strings (the multiselect stores string option values); non-numeric entries
@@ -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-CQZxGJ8u.js");
6
+ const require_dist = require("../../dist-DIlYZWEp.js");
7
7
  let _camstack_types_node = require("@camstack/types/node");
8
8
  let zod = require("zod");
9
9
  let node_crypto = require("node:crypto");
@@ -1210,7 +1210,9 @@ async function testField(pctx, input) {
1210
1210
  var LINKED_MODE_CONFIG_KEY = "_linkedDevicesMode";
1211
1211
  var LINKED_IDS_CONFIG_KEY = "_linkedDeviceIds";
1212
1212
  /** Reserved key: subset of linked devices that materialize synthetic tracked
1213
- * events on the camera. Absent ⇒ ALL linked devices produce tracked events. */
1213
+ * events on the camera. Absent ⇒ NONE producing tracked events is an
1214
+ * explicit operator OPT-IN (2026-07-22 flip: the old absent⇒ALL default
1215
+ * auto-materialized sensor snapshots the operator never asked for). */
1214
1216
  var LINKED_TRACKED_IDS_CONFIG_KEY = "_linkedDeviceTrackedIds";
1215
1217
  /** Parse the two reserved keys out of a device-config blob. Tolerant:
1216
1218
  * ids may arrive as numbers or numeric strings (the multiselect field
@@ -1249,8 +1251,9 @@ function resolveLinkedDeviceIds(params) {
1249
1251
  }
1250
1252
  /**
1251
1253
  * Which linked devices materialize synthetic tracked events on the camera.
1252
- * Absent / non-array config key ⇒ ALL linked devices (back-compat with the
1253
- * pre-existing "every linked device produces events" behaviour). Otherwise the
1254
+ * Absent / non-array config key ⇒ NONE the operator must explicitly pick
1255
+ * producers (opt-in; flipped from the legacy absent⇒ALL default, which
1256
+ * auto-materialized sensor snapshots for every linked device). Otherwise the
1254
1257
  * configured subset intersected with the currently-resolved linked set (a
1255
1258
  * picked id no longer linked is dropped). Ids may arrive as numbers or numeric
1256
1259
  * strings (the multiselect stores string option values); non-numeric entries
@@ -1258,7 +1261,7 @@ function resolveLinkedDeviceIds(params) {
1258
1261
  */
1259
1262
  function resolveTrackedEventDeviceIds(config, linkedIds) {
1260
1263
  const raw = config[LINKED_TRACKED_IDS_CONFIG_KEY];
1261
- if (!Array.isArray(raw)) return linkedIds;
1264
+ if (!Array.isArray(raw)) return [];
1262
1265
  const picked = /* @__PURE__ */ new Set();
1263
1266
  for (const v of raw) {
1264
1267
  const n = typeof v === "number" ? v : typeof v === "string" ? Number(v) : NaN;
@@ -1363,7 +1366,7 @@ async function buildLinkedDevicesContribution(pctx, deviceId) {
1363
1366
  type: "multiselect",
1364
1367
  key: LINKED_TRACKED_IDS_CONFIG_KEY,
1365
1368
  label: "Devices that produce tracked events",
1366
- description: "Linked devices whose state changes materialize a synthetic tracked event on this camera. Default: all linked devices.",
1369
+ description: "Linked devices whose state changes materialize a synthetic tracked event on this camera. Default: none (opt-in).",
1367
1370
  options: trackedOptions,
1368
1371
  value: trackedValue
1369
1372
  }
@@ -1,4 +1,4 @@
1
- import { A as getByPath, At as EventCategory, Ct as isDeviceConfigCap, D as evaluateLinkExpression, E as enumerateSchemaFields, H as normalizeUnit, S as deviceStatusCapability, T as enumerateItemArrayFields, W as parseStreamParamsFormPatch, Y as setByPath, a as DeviceStatusSchema, at as BaseAddon, b as deviceManagerCapability, c as STREAM_PROFILE_META, dt as DeviceType, g as applyTransform, i as CAP_NAMES_WITH_STATUS, it as errMsg, kt as sleep, lt as DeviceFeature, mt as WELL_KNOWN_TAB_MAP, rt as validateExpressionSource, t as ALL_CAPABILITY_DEFINITIONS, tt as toExpressionValue, ut as DeviceRole, x as deviceStateCapability, y as buildStreamParamsConfigSchema } from "../../dist-72yufD8v.mjs";
1
+ import { A as getByPath, At as EventCategory, Ct as isDeviceConfigCap, D as evaluateLinkExpression, E as enumerateSchemaFields, H as normalizeUnit, S as deviceStatusCapability, T as enumerateItemArrayFields, W as parseStreamParamsFormPatch, Y as setByPath, a as DeviceStatusSchema, at as BaseAddon, b as deviceManagerCapability, c as STREAM_PROFILE_META, dt as DeviceType, g as applyTransform, i as CAP_NAMES_WITH_STATUS, it as errMsg, kt as sleep, lt as DeviceFeature, mt as WELL_KNOWN_TAB_MAP, rt as validateExpressionSource, t as ALL_CAPABILITY_DEFINITIONS, tt as toExpressionValue, ut as DeviceRole, x as deviceStateCapability, y as buildStreamParamsConfigSchema } from "../../dist-aTevP3Nh.mjs";
2
2
  import { canonicalDeviceFingerprint } from "@camstack/types/node";
3
3
  import { z } from "zod";
4
4
  import { randomUUID } from "node:crypto";
@@ -1205,7 +1205,9 @@ async function testField(pctx, input) {
1205
1205
  var LINKED_MODE_CONFIG_KEY = "_linkedDevicesMode";
1206
1206
  var LINKED_IDS_CONFIG_KEY = "_linkedDeviceIds";
1207
1207
  /** Reserved key: subset of linked devices that materialize synthetic tracked
1208
- * events on the camera. Absent ⇒ ALL linked devices produce tracked events. */
1208
+ * events on the camera. Absent ⇒ NONE producing tracked events is an
1209
+ * explicit operator OPT-IN (2026-07-22 flip: the old absent⇒ALL default
1210
+ * auto-materialized sensor snapshots the operator never asked for). */
1209
1211
  var LINKED_TRACKED_IDS_CONFIG_KEY = "_linkedDeviceTrackedIds";
1210
1212
  /** Parse the two reserved keys out of a device-config blob. Tolerant:
1211
1213
  * ids may arrive as numbers or numeric strings (the multiselect field
@@ -1244,8 +1246,9 @@ function resolveLinkedDeviceIds(params) {
1244
1246
  }
1245
1247
  /**
1246
1248
  * Which linked devices materialize synthetic tracked events on the camera.
1247
- * Absent / non-array config key ⇒ ALL linked devices (back-compat with the
1248
- * pre-existing "every linked device produces events" behaviour). Otherwise the
1249
+ * Absent / non-array config key ⇒ NONE the operator must explicitly pick
1250
+ * producers (opt-in; flipped from the legacy absent⇒ALL default, which
1251
+ * auto-materialized sensor snapshots for every linked device). Otherwise the
1249
1252
  * configured subset intersected with the currently-resolved linked set (a
1250
1253
  * picked id no longer linked is dropped). Ids may arrive as numbers or numeric
1251
1254
  * strings (the multiselect stores string option values); non-numeric entries
@@ -1253,7 +1256,7 @@ function resolveLinkedDeviceIds(params) {
1253
1256
  */
1254
1257
  function resolveTrackedEventDeviceIds(config, linkedIds) {
1255
1258
  const raw = config[LINKED_TRACKED_IDS_CONFIG_KEY];
1256
- if (!Array.isArray(raw)) return linkedIds;
1259
+ if (!Array.isArray(raw)) return [];
1257
1260
  const picked = /* @__PURE__ */ new Set();
1258
1261
  for (const v of raw) {
1259
1262
  const n = typeof v === "number" ? v : typeof v === "string" ? Number(v) : NaN;
@@ -1358,7 +1361,7 @@ async function buildLinkedDevicesContribution(pctx, deviceId) {
1358
1361
  type: "multiselect",
1359
1362
  key: LINKED_TRACKED_IDS_CONFIG_KEY,
1360
1363
  label: "Devices that produce tracked events",
1361
- description: "Linked devices whose state changes materialize a synthetic tracked event on this camera. Default: all linked devices.",
1364
+ description: "Linked devices whose state changes materialize a synthetic tracked event on this camera. Default: none (opt-in).",
1362
1365
  options: trackedOptions,
1363
1366
  value: trackedValue
1364
1367
  }
@@ -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-CQZxGJ8u.js");
6
+ const require_dist = require("../../dist-DIlYZWEp.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 { At as EventCategory, C as doorbellCapability, at as BaseAddon, dt as DeviceType, it as errMsg, vt as createEvent } from "../../dist-72yufD8v.mjs";
1
+ import { At as EventCategory, C as doorbellCapability, at as BaseAddon, dt as DeviceType, it as errMsg, vt as createEvent } from "../../dist-aTevP3Nh.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-CQZxGJ8u.js");
6
+ const require_dist = require("../../dist-DIlYZWEp.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 { R as logDestinationCapability, at as BaseAddon } from "../../dist-72yufD8v.mjs";
1
+ import { R as logDestinationCapability, at as BaseAddon } from "../../dist-aTevP3Nh.mjs";
2
2
  import { t as formatLogLine } from "../../formatter-B7qW8bPJ.mjs";
3
3
  //#region src/builtins/hub-forwarder/hub-forwarder-destination.ts
4
4
  var DEFAULT_OUTBOUND_BUFFER_SIZE = 500;
@@ -3,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-CQZxGJ8u.js");
6
+ const require_dist = require("../../dist-DIlYZWEp.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,4 +1,4 @@
1
- import { _ as authProviderCapability, at as BaseAddon, d as UserRecordSchema, l as ScopedTokenSchema, nt as userManagementCapability, r as ApiKeyRecordSchema } from "../../dist-72yufD8v.mjs";
1
+ import { _ as authProviderCapability, at as BaseAddon, d as UserRecordSchema, l as ScopedTokenSchema, nt as userManagementCapability, r as ApiKeyRecordSchema } from "../../dist-aTevP3Nh.mjs";
2
2
  import { createRequire } from "node:module";
3
3
  import * as crypto$1 from "node:crypto";
4
4
  import { randomUUID } from "node: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-CQZxGJ8u.js");
3
+ const require_dist = require("../../dist-DIlYZWEp.js");
4
4
  let node_os = require("node:os");
5
5
  node_os = require_chunk.__toESM(node_os);
6
6
  //#region src/builtins/local-network/local-network.addon.ts
@@ -1,4 +1,4 @@
1
- import { At as EventCategory, L as localNetworkCapability, at as BaseAddon } from "../../dist-72yufD8v.mjs";
1
+ import { At as EventCategory, L as localNetworkCapability, at as BaseAddon } from "../../dist-aTevP3Nh.mjs";
2
2
  import * as os from "node:os";
3
3
  //#region src/builtins/local-network/local-network.addon.ts
4
4
  /**
@@ -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-CQZxGJ8u.js");
6
+ const require_dist = require("../../dist-DIlYZWEp.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,4 +1,4 @@
1
- import { At as EventCategory, B as metricsProviderCapability, at as BaseAddon, vt as createEvent } from "../../dist-72yufD8v.mjs";
1
+ import { At as EventCategory, B as metricsProviderCapability, at as BaseAddon, vt as createEvent } from "../../dist-aTevP3Nh.mjs";
2
2
  import * as fs from "node:fs";
3
3
  import { execFile, execFileSync } from "node:child_process";
4
4
  import { promisify } from "node:util";
@@ -3,7 +3,7 @@ Object.defineProperties(exports, {
3
3
  [Symbol.toStringTag]: { value: "Module" }
4
4
  });
5
5
  const require_chunk = require("../../chunk-Cek0wNdY.js");
6
- const require_dist = require("../../dist-CQZxGJ8u.js");
6
+ const require_dist = require("../../dist-DIlYZWEp.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,4 +1,4 @@
1
- import { At as EventCategory, G as platformProbeCapability, J as scoreRuntimes, at as BaseAddon, bt as emitReadiness, it as errMsg, w as enumerateInferenceDevices } from "../../dist-72yufD8v.mjs";
1
+ import { At as EventCategory, G as platformProbeCapability, J as scoreRuntimes, at as BaseAddon, bt as emitReadiness, it as errMsg, w as enumerateInferenceDevices } from "../../dist-aTevP3Nh.mjs";
2
2
  import * as fs from "node:fs";
3
3
  import { execFile } from "node:child_process";
4
4
  import { promisify } from "node:util";
@@ -3,7 +3,7 @@ Object.defineProperties(exports, {
3
3
  [Symbol.toStringTag]: { value: "Module" }
4
4
  });
5
5
  require("../../chunk-Cek0wNdY.js");
6
- const require_dist = require("../../dist-CQZxGJ8u.js");
6
+ const require_dist = require("../../dist-DIlYZWEp.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 { At as EventCategory, at as BaseAddon } from "../../dist-72yufD8v.mjs";
1
+ import { At as EventCategory, at as BaseAddon } from "../../dist-aTevP3Nh.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
  require("../../chunk-Cek0wNdY.js");
6
- const require_dist = require("../../dist-CQZxGJ8u.js");
6
+ const require_dist = require("../../dist-DIlYZWEp.js");
7
7
  let node_child_process = require("node:child_process");
8
8
  //#region src/builtins/snapshot/snapshot-coalescing.ts
9
9
  /**
@@ -1,4 +1,4 @@
1
- import { V as nodePin, Z as snapshotCapability, at as BaseAddon, dt as DeviceType, et as streamQualityLabel, it as errMsg, lt as DeviceFeature } from "../../dist-72yufD8v.mjs";
1
+ import { V as nodePin, Z as snapshotCapability, at as BaseAddon, dt as DeviceType, et as streamQualityLabel, it as errMsg, lt as DeviceFeature } from "../../dist-aTevP3Nh.mjs";
2
2
  import { execFile } from "node:child_process";
3
3
  //#region src/builtins/snapshot/snapshot-coalescing.ts
4
4
  /**
@@ -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-CQZxGJ8u.js");
6
+ const require_dist = require("../../dist-DIlYZWEp.js");
7
7
  let node_fs = require("node:fs");
8
8
  node_fs = require_chunk.__toESM(node_fs);
9
9
  let node_path = require("node:path");
@@ -1,4 +1,4 @@
1
- import { $ as storageProviderCapability, at as BaseAddon, k as filesystemBrowseCapability } from "../../dist-72yufD8v.mjs";
1
+ import { $ as storageProviderCapability, at as BaseAddon, k as filesystemBrowseCapability } from "../../dist-aTevP3Nh.mjs";
2
2
  import * as fs from "node:fs";
3
3
  import * as path$1 from "node:path";
4
4
  import { basename, dirname, join, resolve, sep } 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-CQZxGJ8u.js");
6
+ const require_dist = require("../../dist-DIlYZWEp.js");
7
7
  let node_crypto = require("node:crypto");
8
8
  let better_sqlite3 = require("better-sqlite3");
9
9
  better_sqlite3 = require_chunk.__toESM(better_sqlite3);
@@ -1,4 +1,4 @@
1
- import { Tt as parseJsonUnknown, X as settingsStoreCapability, at as BaseAddon, ht as asJsonObject, it as errMsg, s as RUNTIME_DEFAULTS } from "../../dist-72yufD8v.mjs";
1
+ import { Tt as parseJsonUnknown, X as settingsStoreCapability, at as BaseAddon, ht as asJsonObject, it as errMsg, s as RUNTIME_DEFAULTS } from "../../dist-aTevP3Nh.mjs";
2
2
  import { randomUUID } from "node:crypto";
3
3
  import Database from "better-sqlite3";
4
4
  //#region src/builtins/sqlite-storage/sqlite-settings-backend.ts
@@ -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-CQZxGJ8u.js");
6
+ const require_dist = require("../../dist-DIlYZWEp.js");
7
7
  let node_path = require("node:path");
8
8
  node_path = require_chunk.__toESM(node_path);
9
9
  let node_fs_promises = require("node:fs/promises");
@@ -1,4 +1,4 @@
1
- import { Q as storageCapability, at as BaseAddon, u as StorageLocationTypeSchema, wt as parseJsonObject } from "../../dist-72yufD8v.mjs";
1
+ import { Q as storageCapability, at as BaseAddon, u as StorageLocationTypeSchema, wt as parseJsonObject } from "../../dist-aTevP3Nh.mjs";
2
2
  import * as path$1 from "node:path";
3
3
  import * as fs from "node:fs/promises";
4
4
  import { buildStorageLocationRegistry } from "@camstack/system";
@@ -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-CQZxGJ8u.js");
6
+ const require_dist = require("../../dist-DIlYZWEp.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 { St as hydrateSchema, at as BaseAddon, it as errMsg } from "../../dist-72yufD8v.mjs";
1
+ import { St as hydrateSchema, at as BaseAddon, it as errMsg } from "../../dist-aTevP3Nh.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-CQZxGJ8u.js");
6
+ const require_dist = require("../../dist-DIlYZWEp.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 { R as logDestinationCapability, at as BaseAddon } from "../../dist-72yufD8v.mjs";
1
+ import { R as logDestinationCapability, at as BaseAddon } from "../../dist-aTevP3Nh.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";
@@ -9056,6 +9056,12 @@ var motionCooldownMsField = {
9056
9056
  default: 3e4,
9057
9057
  step: 500
9058
9058
  };
9059
+ var maxSessionHoldMsField = {
9060
+ min: 0,
9061
+ max: 6e5,
9062
+ default: 12e4,
9063
+ step: 5e3
9064
+ };
9059
9065
  var motionFpsField = {
9060
9066
  min: 1,
9061
9067
  max: 30,
@@ -9203,6 +9209,19 @@ var RunnerCameraConfigSchema = zod.z.object({
9203
9209
  "on-motion"
9204
9210
  ]).default("always-on"),
9205
9211
  motionCooldownMs: zod.z.number().min(motionCooldownMsField.min).default(motionCooldownMsField.default),
9212
+ /**
9213
+ * Orchestrator-side on-motion session-hold cap (ms). While an on-motion
9214
+ * detection session is active and ≥1 confirmed non-stationary track is
9215
+ * still live, the orchestrator keeps the session open past
9216
+ * `motionCooldownMs` (a slowly-moving subject can stop re-triggering the
9217
+ * camera's VMD yet is still being tracked frame-to-frame) — up to this many
9218
+ * ms since the session opened, after which it closes regardless. `0`
9219
+ * disables the hold (legacy cooldown-only teardown). Not consumed by the
9220
+ * runner itself — carried here so it shares the per-camera device-settings
9221
+ * surface with `motionCooldownMs`; the orchestrator reads it off the
9222
+ * resolved `CameraDetectionConfig`.
9223
+ */
9224
+ maxSessionHoldMs: zod.z.number().min(maxSessionHoldMsField.min).max(maxSessionHoldMsField.max).optional(),
9206
9225
  motionFps: zod.z.number().min(motionFpsField.min).max(motionFpsField.max).default(motionFpsField.default),
9207
9226
  detectionFps: zod.z.number().min(detectionFpsField.min).max(detectionFpsField.max).default(detectionFpsField.default),
9208
9227
  motionStreamId: zod.z.string(),
@@ -9292,7 +9311,7 @@ var RunnerCameraConfigSchema = zod.z.object({
9292
9311
  */
9293
9312
  inferenceDevices: zod.z.array(RunnerInferenceDeviceSchema).readonly().optional()
9294
9313
  });
9295
- motionFpsField.min, motionFpsField.max, motionFpsField.step, motionFpsField.default, detectionFpsField.min, detectionFpsField.max, detectionFpsField.step, detectionFpsField.default, motionCooldownMsField.min, motionCooldownMsField.max, motionCooldownMsField.step, motionCooldownMsField.default, occupancyRecheckSecField.min, occupancyRecheckSecField.max, occupancyRecheckSecField.step, occupancyRecheckSecField.default, occupancyRecheckFramesField.min, occupancyRecheckFramesField.max, occupancyRecheckFramesField.step, occupancyRecheckFramesField.default;
9314
+ motionFpsField.min, motionFpsField.max, motionFpsField.step, motionFpsField.default, detectionFpsField.min, detectionFpsField.max, detectionFpsField.step, detectionFpsField.default, motionCooldownMsField.min, motionCooldownMsField.max, motionCooldownMsField.step, motionCooldownMsField.default, maxSessionHoldMsField.min, maxSessionHoldMsField.max, maxSessionHoldMsField.step, maxSessionHoldMsField.default, occupancyRecheckSecField.min, occupancyRecheckSecField.max, occupancyRecheckSecField.step, occupancyRecheckSecField.default, occupancyRecheckFramesField.min, occupancyRecheckFramesField.max, occupancyRecheckFramesField.step, occupancyRecheckFramesField.default;
9296
9315
  /**
9297
9316
  * Runtime load summary returned by `getLocalLoad`. Used by the orchestrator's
9298
9317
  * load-balancing levels (L2 capacity-based, L3 hardware-aware) to decide
@@ -16861,7 +16880,14 @@ var pipelineAnalyticsCapability = {
16861
16880
  eventId: zod.z.string(),
16862
16881
  kind: MediaFileKindEnum.optional()
16863
16882
  }), zod.z.array(MediaFileSchema).readonly()),
16864
- getTrackMedia: method(zod.z.object({ trackId: zod.z.string() }), zod.z.array(MediaFileSchema).readonly()),
16883
+ /** All media rows owned by a track. `kinds` narrows to a kind subset so a
16884
+ * client can fetch the SMALL display variants on open and pull the
16885
+ * multi-MB native variants only on demand (mirrors `getEventMedia.kind`).
16886
+ * Absent ⇒ every kind (back-compat). */
16887
+ getTrackMedia: method(zod.z.object({
16888
+ trackId: zod.z.string(),
16889
+ kinds: zod.z.array(MediaFileKindEnum).optional()
16890
+ }), zod.z.array(MediaFileSchema).readonly()),
16865
16891
  /**
16866
16892
  * Search object events by text query using CLIP cosine similarity.
16867
16893
  * Encodes `text` via the `embedding-encoder` cap, queries the
@@ -9056,6 +9056,12 @@ var motionCooldownMsField = {
9056
9056
  default: 3e4,
9057
9057
  step: 500
9058
9058
  };
9059
+ var maxSessionHoldMsField = {
9060
+ min: 0,
9061
+ max: 6e5,
9062
+ default: 12e4,
9063
+ step: 5e3
9064
+ };
9059
9065
  var motionFpsField = {
9060
9066
  min: 1,
9061
9067
  max: 30,
@@ -9203,6 +9209,19 @@ var RunnerCameraConfigSchema = z.object({
9203
9209
  "on-motion"
9204
9210
  ]).default("always-on"),
9205
9211
  motionCooldownMs: z.number().min(motionCooldownMsField.min).default(motionCooldownMsField.default),
9212
+ /**
9213
+ * Orchestrator-side on-motion session-hold cap (ms). While an on-motion
9214
+ * detection session is active and ≥1 confirmed non-stationary track is
9215
+ * still live, the orchestrator keeps the session open past
9216
+ * `motionCooldownMs` (a slowly-moving subject can stop re-triggering the
9217
+ * camera's VMD yet is still being tracked frame-to-frame) — up to this many
9218
+ * ms since the session opened, after which it closes regardless. `0`
9219
+ * disables the hold (legacy cooldown-only teardown). Not consumed by the
9220
+ * runner itself — carried here so it shares the per-camera device-settings
9221
+ * surface with `motionCooldownMs`; the orchestrator reads it off the
9222
+ * resolved `CameraDetectionConfig`.
9223
+ */
9224
+ maxSessionHoldMs: z.number().min(maxSessionHoldMsField.min).max(maxSessionHoldMsField.max).optional(),
9206
9225
  motionFps: z.number().min(motionFpsField.min).max(motionFpsField.max).default(motionFpsField.default),
9207
9226
  detectionFps: z.number().min(detectionFpsField.min).max(detectionFpsField.max).default(detectionFpsField.default),
9208
9227
  motionStreamId: z.string(),
@@ -9292,7 +9311,7 @@ var RunnerCameraConfigSchema = z.object({
9292
9311
  */
9293
9312
  inferenceDevices: z.array(RunnerInferenceDeviceSchema).readonly().optional()
9294
9313
  });
9295
- motionFpsField.min, motionFpsField.max, motionFpsField.step, motionFpsField.default, detectionFpsField.min, detectionFpsField.max, detectionFpsField.step, detectionFpsField.default, motionCooldownMsField.min, motionCooldownMsField.max, motionCooldownMsField.step, motionCooldownMsField.default, occupancyRecheckSecField.min, occupancyRecheckSecField.max, occupancyRecheckSecField.step, occupancyRecheckSecField.default, occupancyRecheckFramesField.min, occupancyRecheckFramesField.max, occupancyRecheckFramesField.step, occupancyRecheckFramesField.default;
9314
+ motionFpsField.min, motionFpsField.max, motionFpsField.step, motionFpsField.default, detectionFpsField.min, detectionFpsField.max, detectionFpsField.step, detectionFpsField.default, motionCooldownMsField.min, motionCooldownMsField.max, motionCooldownMsField.step, motionCooldownMsField.default, maxSessionHoldMsField.min, maxSessionHoldMsField.max, maxSessionHoldMsField.step, maxSessionHoldMsField.default, occupancyRecheckSecField.min, occupancyRecheckSecField.max, occupancyRecheckSecField.step, occupancyRecheckSecField.default, occupancyRecheckFramesField.min, occupancyRecheckFramesField.max, occupancyRecheckFramesField.step, occupancyRecheckFramesField.default;
9296
9315
  /**
9297
9316
  * Runtime load summary returned by `getLocalLoad`. Used by the orchestrator's
9298
9317
  * load-balancing levels (L2 capacity-based, L3 hardware-aware) to decide
@@ -16861,7 +16880,14 @@ var pipelineAnalyticsCapability = {
16861
16880
  eventId: z.string(),
16862
16881
  kind: MediaFileKindEnum.optional()
16863
16882
  }), z.array(MediaFileSchema).readonly()),
16864
- getTrackMedia: method(z.object({ trackId: z.string() }), z.array(MediaFileSchema).readonly()),
16883
+ /** All media rows owned by a track. `kinds` narrows to a kind subset so a
16884
+ * client can fetch the SMALL display variants on open and pull the
16885
+ * multi-MB native variants only on demand (mirrors `getEventMedia.kind`).
16886
+ * Absent ⇒ every kind (back-compat). */
16887
+ getTrackMedia: method(z.object({
16888
+ trackId: z.string(),
16889
+ kinds: z.array(MediaFileKindEnum).optional()
16890
+ }), z.array(MediaFileSchema).readonly()),
16865
16891
  /**
16866
16892
  * Search object events by text query using CLIP cosine similarity.
16867
16893
  * Encodes `text` via the `embedding-encoder` cap, queries the
package/dist/index.js CHANGED
@@ -1,8 +1,8 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  const require_chunk = require("./chunk-Cek0wNdY.js");
3
- const require_dist = require("./dist-CQZxGJ8u.js");
3
+ const require_dist = require("./dist-DIlYZWEp.js");
4
4
  const require_model_download_service = require("./model-download-service-hf0ookyy.js");
5
- const require_manifest_python_deps = require("./manifest-python-deps-Cd7ocUBi.js");
5
+ const require_manifest_python_deps = require("./manifest-python-deps-BznC09O4.js");
6
6
  const require_resource_monitor = require("./resource-monitor-DNNomR-i.js");
7
7
  const require_builtins_sqlite_storage_filesystem_storage_addon = require("./builtins/sqlite-storage/filesystem-storage.addon.js");
8
8
  const require_builtins_sqlite_storage_sqlite_settings_addon = require("./builtins/sqlite-storage/sqlite-settings.addon.js");
package/dist/index.mjs CHANGED
@@ -1,6 +1,6 @@
1
- import { At as EventCategory$1, Dt as resolveCapMount, Et as readinessKey, F as kebabToCamel, I as lifecycleJobSchema, K as procedureAuthKey, M as isCollectionArrayMethod, N as isObjectInput, O as extractNestedAddonId, Ot as scopeKey, P as isVoidInput, Tt as parseJsonUnknown$1, U as objectInputDeclaresAddonId, _t as asString$1, ct as DEVICE_STATUS_METHOD, ft as ReadinessRegistry, gt as asNumber, ht as asJsonObject$1, it as errMsg$1, j as isArrayOutputSchema, o as METHOD_ACCESS_MAP, ot as DATAPLANE_SECRET_HEADER$1, p as addonSettingsCapability, pt as ReadinessTimeoutError, s as RUNTIME_DEFAULTS, st as DEVICE_SETTINGS_CONTRIBUTION_METHODS, t as ALL_CAPABILITY_DEFINITIONS, vt as createEvent, wt as parseJsonObject, xt as expandCapMethods, yt as emitDownForOwnedCaps, z as looseSchema } from "./dist-72yufD8v.mjs";
1
+ import { At as EventCategory$1, Dt as resolveCapMount, Et as readinessKey, F as kebabToCamel, I as lifecycleJobSchema, K as procedureAuthKey, M as isCollectionArrayMethod, N as isObjectInput, O as extractNestedAddonId, Ot as scopeKey, P as isVoidInput, Tt as parseJsonUnknown$1, U as objectInputDeclaresAddonId, _t as asString$1, ct as DEVICE_STATUS_METHOD, ft as ReadinessRegistry, gt as asNumber, ht as asJsonObject$1, it as errMsg$1, j as isArrayOutputSchema, o as METHOD_ACCESS_MAP, ot as DATAPLANE_SECRET_HEADER$1, p as addonSettingsCapability, pt as ReadinessTimeoutError, s as RUNTIME_DEFAULTS, st as DEVICE_SETTINGS_CONTRIBUTION_METHODS, t as ALL_CAPABILITY_DEFINITIONS, vt as createEvent, wt as parseJsonObject, xt as expandCapMethods, yt as emitDownForOwnedCaps, z as looseSchema } from "./dist-aTevP3Nh.mjs";
2
2
  import { a as downloadModel, c as getModelFilePath, d as contentTypeFor, f as createAuthenticatedFileServer, h as resolveFilePath, i as downloadFile, l as isModelDownloaded, m as parseTokenizedUrl, n as collectModelFiles, o as ensureModel, p as parseRangeHeader, r as deleteModelFromDisk, s as fetchJson, t as ModelDownloadService, u as createFileDataPlaneHandler } from "./model-download-service-Cp9f4dk6.mjs";
3
- import { $ as buildNativeCapProxy, A as createHubCapForwardService, B as AGENT_CAP_FWD_ACTION, C as brokerTransportLink, Ct as resolveAddonClass, D as localProviderLink, E as ipcParentLink, F as createUdsLogger, G as callWithServiceDiscovery, H as CapRouteResolver, I as createUdsLoggerWithControl, J as UdsLocalTransportServer, K as createLocalTransport, L as LocalChildClient, M as createUdsEventBridge, N as createUdsEventBus, O as HUB_CAP_FWD_ACTION, P as udsChildLogToWorkerEntry, Q as encodeFrame, R as LocalChildRegistry, S as brokerCallForCap, St as runNpm, T as ipcChildLink, U as CapRouteError, V as AGENT_CAP_FWD_SERVICE, W as classifyCapRoute, X as localEndpointPath, Y as SocketChannel, Z as FrameDecoder, _ as createKernelHwAccel, _t as CapabilityHandle, a as getWorkerDeviceRegistry, b as __resetCapUsageRegistryForTests, bt as installManifestNativeDeps, c as setHubConnected, ct as NATIVE_PROVIDER_SERVICE_INFIX, d as getBrokerEventBus, dt as capBareAction, et as buildUdsNativeCapProxy, f as getMoleculerEventStats, ft as capServiceName, g as AddonDepsManager, gt as DeviceRegistry, h as subscribePassthrough, ht as serializeTypedArrays, i as createUdsAddonContext, it as mountNativeCapService, j as createParentUnownedCallHandler, k as HUB_CAP_FWD_SERVICE, l as EVENT_TOPIC_PREFIX, lt as capActionName, m as setNodeEventInterest, mt as deserializeTypedArrays, n as adaptBrokerToCluster, o as getOrInitReadinessRegistry, ot as createAddonService, p as registerEventBusService, pt as parseCapAction, q as UdsLocalTransportClient, r as createAddonContext, s as getOrInitReadinessRegistryForClient, st as validateProviderRegistrations, t as installManifestPythonDeps, tt as createBrokerDeviceManagerApi, u as clusterEventTopic, ut as capActionSuffix, v as resolveHwAccel, vt as CapabilityUnavailableError, w as buildLinkChain, wt as createAddonDataPlaneFacility, x as getCapUsageRegistry, xt as resolveNpmInvocation, y as CapUsageRegistry, yt as copyBundledNativeModules, z as UDS_NO_ROUTE_PREFIX } from "./manifest-python-deps-6__QF75g.mjs";
3
+ import { $ as buildNativeCapProxy, A as createHubCapForwardService, B as AGENT_CAP_FWD_ACTION, C as brokerTransportLink, Ct as resolveAddonClass, D as localProviderLink, E as ipcParentLink, F as createUdsLogger, G as callWithServiceDiscovery, H as CapRouteResolver, I as createUdsLoggerWithControl, J as UdsLocalTransportServer, K as createLocalTransport, L as LocalChildClient, M as createUdsEventBridge, N as createUdsEventBus, O as HUB_CAP_FWD_ACTION, P as udsChildLogToWorkerEntry, Q as encodeFrame, R as LocalChildRegistry, S as brokerCallForCap, St as runNpm, T as ipcChildLink, U as CapRouteError, V as AGENT_CAP_FWD_SERVICE, W as classifyCapRoute, X as localEndpointPath, Y as SocketChannel, Z as FrameDecoder, _ as createKernelHwAccel, _t as CapabilityHandle, a as getWorkerDeviceRegistry, b as __resetCapUsageRegistryForTests, bt as installManifestNativeDeps, c as setHubConnected, ct as NATIVE_PROVIDER_SERVICE_INFIX, d as getBrokerEventBus, dt as capBareAction, et as buildUdsNativeCapProxy, f as getMoleculerEventStats, ft as capServiceName, g as AddonDepsManager, gt as DeviceRegistry, h as subscribePassthrough, ht as serializeTypedArrays, i as createUdsAddonContext, it as mountNativeCapService, j as createParentUnownedCallHandler, k as HUB_CAP_FWD_SERVICE, l as EVENT_TOPIC_PREFIX, lt as capActionName, m as setNodeEventInterest, mt as deserializeTypedArrays, n as adaptBrokerToCluster, o as getOrInitReadinessRegistry, ot as createAddonService, p as registerEventBusService, pt as parseCapAction, q as UdsLocalTransportClient, r as createAddonContext, s as getOrInitReadinessRegistryForClient, st as validateProviderRegistrations, t as installManifestPythonDeps, tt as createBrokerDeviceManagerApi, u as clusterEventTopic, ut as capActionSuffix, v as resolveHwAccel, vt as CapabilityUnavailableError, w as buildLinkChain, wt as createAddonDataPlaneFacility, x as getCapUsageRegistry, xt as resolveNpmInvocation, y as CapUsageRegistry, yt as copyBundledNativeModules, z as UDS_NO_ROUTE_PREFIX } from "./manifest-python-deps-Czja13st.mjs";
4
4
  import { n as getSinglePidStats, t as getPidStats } from "./resource-monitor-Le3l0qS2.mjs";
5
5
  import { FilesystemStorageAddon, t as FilesystemStorageProvider } from "./builtins/sqlite-storage/filesystem-storage.addon.mjs";
6
6
  import { SqliteSettingsAddon, t as SqliteSettingsBackend } from "./builtins/sqlite-storage/sqlite-settings.addon.mjs";
@@ -1,5 +1,5 @@
1
1
  const require_chunk = require("./chunk-Cek0wNdY.js");
2
- const require_dist = require("./dist-CQZxGJ8u.js");
2
+ const require_dist = require("./dist-DIlYZWEp.js");
3
3
  let _camstack_types_node = require("@camstack/types/node");
4
4
  let node_http = require("node:http");
5
5
  let node_fs = require("node:fs");
@@ -1,4 +1,4 @@
1
- import { q as readNodePin } from "./dist-72yufD8v.mjs";
1
+ import { q as readNodePin } from "./dist-aTevP3Nh.mjs";
2
2
  import { ensureBinary, ensureFfmpeg, ensurePython, installPythonPackages, installPythonRequirements } from "@camstack/types/node";
3
3
  import { createServer } from "node:http";
4
4
  import * as fs from "node:fs";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/system",
3
- "version": "1.2.4",
3
+ "version": "1.2.6",
4
4
  "description": "Core addon for CamStack — builtins, pipeline, process management, auth, logging, events",
5
5
  "keywords": [
6
6
  "camstack",