@camstack/system 1.1.39 → 1.1.41

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 (45) hide show
  1. package/dist/addon-runner.js +1 -1
  2. package/dist/addon-runner.mjs +1 -1
  3. package/dist/builtins/addon-pages-aggregator/addon-pages-aggregator.addon.js +1 -1
  4. package/dist/builtins/addon-pages-aggregator/addon-pages-aggregator.addon.mjs +1 -1
  5. package/dist/builtins/addon-widgets-aggregator/addon-widgets-aggregator.addon.js +1 -1
  6. package/dist/builtins/addon-widgets-aggregator/addon-widgets-aggregator.addon.mjs +1 -1
  7. package/dist/builtins/alerts/alerts.addon.js +1 -1
  8. package/dist/builtins/alerts/alerts.addon.mjs +1 -1
  9. package/dist/builtins/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-manager.addon.js +1 -1
  14. package/dist/builtins/device-manager/device-manager.addon.mjs +1 -1
  15. package/dist/builtins/hub-forwarder/index.js +1 -1
  16. package/dist/builtins/hub-forwarder/index.mjs +1 -1
  17. package/dist/builtins/local-auth/local-auth.addon.js +1 -1
  18. package/dist/builtins/local-auth/local-auth.addon.mjs +1 -1
  19. package/dist/builtins/local-network/local-network.addon.js +1 -1
  20. package/dist/builtins/local-network/local-network.addon.mjs +1 -1
  21. package/dist/builtins/native-metrics/native-metrics.addon.js +1 -1
  22. package/dist/builtins/native-metrics/native-metrics.addon.mjs +1 -1
  23. package/dist/builtins/platform-probe/index.js +1 -1
  24. package/dist/builtins/platform-probe/index.mjs +1 -1
  25. package/dist/builtins/remote-access-orchestrator/remote-access-orchestrator.addon.js +1 -1
  26. package/dist/builtins/remote-access-orchestrator/remote-access-orchestrator.addon.mjs +1 -1
  27. package/dist/builtins/snapshot/index.js +1 -1
  28. package/dist/builtins/snapshot/index.mjs +1 -1
  29. package/dist/builtins/sqlite-storage/filesystem-storage.addon.js +1 -1
  30. package/dist/builtins/sqlite-storage/filesystem-storage.addon.mjs +1 -1
  31. package/dist/builtins/sqlite-storage/sqlite-settings.addon.js +1 -1
  32. package/dist/builtins/sqlite-storage/sqlite-settings.addon.mjs +1 -1
  33. package/dist/builtins/storage-orchestrator/storage-orchestrator.addon.js +1 -1
  34. package/dist/builtins/storage-orchestrator/storage-orchestrator.addon.mjs +1 -1
  35. package/dist/builtins/system-config/system-config.addon.js +1 -1
  36. package/dist/builtins/system-config/system-config.addon.mjs +1 -1
  37. package/dist/builtins/winston-logging/index.js +1 -1
  38. package/dist/builtins/winston-logging/index.mjs +1 -1
  39. package/dist/{dist-fRVWwrkF.js → dist-BCseJMTD.js} +68 -0
  40. package/dist/{dist-CU3lb_Ys.mjs → dist-ClOjKsC4.mjs} +68 -0
  41. package/dist/index.js +2 -2
  42. package/dist/index.mjs +2 -2
  43. package/dist/{manifest-python-deps-BGvIVCm_.js → manifest-python-deps-BVUZVpma.js} +1 -1
  44. package/dist/{manifest-python-deps-BjxBfiFd.mjs → manifest-python-deps-DyIcZtF5.mjs} +1 -1
  45. package/package.json +1 -1
@@ -1,5 +1,5 @@
1
1
  const require_chunk = require("./chunk-Cek0wNdY.js");
2
- const require_manifest_python_deps = require("./manifest-python-deps-BGvIVCm_.js");
2
+ const require_manifest_python_deps = require("./manifest-python-deps-BVUZVpma.js");
3
3
  const require_custom_action_registry = require("./custom-action-registry-vLYEFTtv.js");
4
4
  let node_fs = require("node:fs");
5
5
  node_fs = require_chunk.__toESM(node_fs);
@@ -1,4 +1,4 @@
1
- import { F as createUdsLoggerWithControl, I as LocalChildClient, i as createUdsAddonContext, it as setWorkerNativeCapsChangeListener, nt as getWorkerNativeCapSnapshot, ot as validateProviderRegistrations, t as installManifestPythonDeps, tt as getWorkerNativeCapProvider, vt as installManifestNativeDeps, yt as resolveAddonClass } from "./manifest-python-deps-BjxBfiFd.mjs";
1
+ import { F as createUdsLoggerWithControl, I as LocalChildClient, i as createUdsAddonContext, it as setWorkerNativeCapsChangeListener, nt as getWorkerNativeCapSnapshot, ot as validateProviderRegistrations, t as installManifestPythonDeps, tt as getWorkerNativeCapProvider, vt as installManifestNativeDeps, yt as resolveAddonClass } from "./manifest-python-deps-DyIcZtF5.mjs";
2
2
  import { t as CustomActionRegistry } from "./custom-action-registry-BEXwC-oo.mjs";
3
3
  import { register } from "node:module";
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-fRVWwrkF.js");
6
+ const require_dist = require("../../dist-BCseJMTD.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 { $ as errMsg, et as BaseAddon, f as addonPagesCapability, st as EventCategory } from "../../dist-CU3lb_Ys.mjs";
1
+ import { $ as errMsg, et as BaseAddon, f as addonPagesCapability, st as EventCategory } from "../../dist-ClOjKsC4.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-fRVWwrkF.js");
6
+ const require_dist = require("../../dist-BCseJMTD.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 { $ as errMsg, et as BaseAddon, m as addonWidgetsCapability, st as EventCategory } from "../../dist-CU3lb_Ys.mjs";
1
+ import { $ as errMsg, et as BaseAddon, m as addonWidgetsCapability, st as EventCategory } from "../../dist-ClOjKsC4.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-fRVWwrkF.js");
6
+ const require_dist = require("../../dist-BCseJMTD.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 { $ as errMsg, et as BaseAddon, h as alertsCapability, mt as createEvent, n as AlertSchema, st as EventCategory } from "../../dist-CU3lb_Ys.mjs";
1
+ import { $ as errMsg, et as BaseAddon, h as alertsCapability, mt as createEvent, n as AlertSchema, st as EventCategory } from "../../dist-ClOjKsC4.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-fRVWwrkF.js");
6
+ const require_dist = require("../../dist-BCseJMTD.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 { et as BaseAddon, st as EventCategory, v as backupCapability } from "../../dist-CU3lb_Ys.mjs";
1
+ import { et as BaseAddon, st as EventCategory, v as backupCapability } from "../../dist-ClOjKsC4.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-fRVWwrkF.js");
6
+ const require_dist = require("../../dist-BCseJMTD.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 { P as logDestinationCapability, et as BaseAddon } from "../../dist-CU3lb_Ys.mjs";
1
+ import { P as logDestinationCapability, et as BaseAddon } from "../../dist-ClOjKsC4.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 = {
@@ -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-fRVWwrkF.js");
6
+ const require_dist = require("../../dist-BCseJMTD.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");
@@ -1,4 +1,4 @@
1
- import { $ as errMsg, C as enumerateItemArrayFields, D as getByPath, Q as validateExpressionSource, R as normalizeUnit, S as deviceStatusCapability, T as evaluateLinkExpression, Tt as sleep, W as setByPath, X as toExpressionValue, a as DeviceStatusSchema, at as DeviceRole, b as deviceManagerCapability, c as STREAM_PROFILE_META, et as BaseAddon, g as applyTransform, i as CAP_NAMES_WITH_STATUS, it as DeviceFeature, ot as DeviceType, st as EventCategory, t as ALL_CAPABILITY_DEFINITIONS, ut as WELL_KNOWN_TAB_MAP, w as enumerateSchemaFields, x as deviceStateCapability, y as buildStreamParamsConfigSchema, yt as isDeviceConfigCap, z as parseStreamParamsFormPatch } from "../../dist-CU3lb_Ys.mjs";
1
+ import { $ as errMsg, C as enumerateItemArrayFields, D as getByPath, Q as validateExpressionSource, R as normalizeUnit, S as deviceStatusCapability, T as evaluateLinkExpression, Tt as sleep, W as setByPath, X as toExpressionValue, a as DeviceStatusSchema, at as DeviceRole, b as deviceManagerCapability, c as STREAM_PROFILE_META, et as BaseAddon, g as applyTransform, i as CAP_NAMES_WITH_STATUS, it as DeviceFeature, ot as DeviceType, st as EventCategory, t as ALL_CAPABILITY_DEFINITIONS, ut as WELL_KNOWN_TAB_MAP, w as enumerateSchemaFields, x as deviceStateCapability, y as buildStreamParamsConfigSchema, yt as isDeviceConfigCap, z as parseStreamParamsFormPatch } from "../../dist-ClOjKsC4.mjs";
2
2
  import { canonicalDeviceFingerprint } from "@camstack/types/node";
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-fRVWwrkF.js");
6
+ const require_dist = require("../../dist-BCseJMTD.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 { P as logDestinationCapability, et as BaseAddon } from "../../dist-CU3lb_Ys.mjs";
1
+ import { P as logDestinationCapability, et as BaseAddon } from "../../dist-ClOjKsC4.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-fRVWwrkF.js");
6
+ const require_dist = require("../../dist-BCseJMTD.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 { Z as userManagementCapability, _ as authProviderCapability, d as UserRecordSchema, et as BaseAddon, l as ScopedTokenSchema, r as ApiKeyRecordSchema } from "../../dist-CU3lb_Ys.mjs";
1
+ import { Z as userManagementCapability, _ as authProviderCapability, d as UserRecordSchema, et as BaseAddon, l as ScopedTokenSchema, r as ApiKeyRecordSchema } from "../../dist-ClOjKsC4.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-fRVWwrkF.js");
3
+ const require_dist = require("../../dist-BCseJMTD.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 { N as localNetworkCapability, et as BaseAddon, st as EventCategory } from "../../dist-CU3lb_Ys.mjs";
1
+ import { N as localNetworkCapability, et as BaseAddon, st as EventCategory } from "../../dist-ClOjKsC4.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-fRVWwrkF.js");
6
+ const require_dist = require("../../dist-BCseJMTD.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 { I as metricsProviderCapability, et as BaseAddon, mt as createEvent, st as EventCategory } from "../../dist-CU3lb_Ys.mjs";
1
+ import { I as metricsProviderCapability, et as BaseAddon, mt as createEvent, st as EventCategory } from "../../dist-ClOjKsC4.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-fRVWwrkF.js");
6
+ const require_dist = require("../../dist-BCseJMTD.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 { $ as errMsg, B as platformProbeCapability, U as scoreRuntimes, et as BaseAddon, gt as emitReadiness, st as EventCategory } from "../../dist-CU3lb_Ys.mjs";
1
+ import { $ as errMsg, B as platformProbeCapability, U as scoreRuntimes, et as BaseAddon, gt as emitReadiness, st as EventCategory } from "../../dist-ClOjKsC4.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-fRVWwrkF.js");
6
+ const require_dist = require("../../dist-BCseJMTD.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 { et as BaseAddon, st as EventCategory } from "../../dist-CU3lb_Ys.mjs";
1
+ import { et as BaseAddon, st as EventCategory } from "../../dist-ClOjKsC4.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-fRVWwrkF.js");
6
+ const require_dist = require("../../dist-BCseJMTD.js");
7
7
  let node_child_process = require("node:child_process");
8
8
  //#region src/builtins/snapshot/snapshot.addon.ts
9
9
  /** Default cache window for non-battery cams (seconds). 10s feels live. */
@@ -1,4 +1,4 @@
1
- import { $ as errMsg, K as snapshotCapability, L as nodePin, Y as streamQualityLabel, et as BaseAddon, it as DeviceFeature, ot as DeviceType } from "../../dist-CU3lb_Ys.mjs";
1
+ import { $ as errMsg, K as snapshotCapability, L as nodePin, Y as streamQualityLabel, et as BaseAddon, it as DeviceFeature, ot as DeviceType } from "../../dist-ClOjKsC4.mjs";
2
2
  import { execFile } from "node:child_process";
3
3
  //#region src/builtins/snapshot/snapshot.addon.ts
4
4
  /** Default cache window for non-battery cams (seconds). 10s feels live. */
@@ -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-fRVWwrkF.js");
6
+ const require_dist = require("../../dist-BCseJMTD.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 { E as filesystemBrowseCapability, J as storageProviderCapability, et as BaseAddon } from "../../dist-CU3lb_Ys.mjs";
1
+ import { E as filesystemBrowseCapability, J as storageProviderCapability, et as BaseAddon } from "../../dist-ClOjKsC4.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-fRVWwrkF.js");
6
+ const require_dist = require("../../dist-BCseJMTD.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 { $ as errMsg, G as settingsStoreCapability, dt as asJsonObject, et as BaseAddon, s as RUNTIME_DEFAULTS, xt as parseJsonUnknown } from "../../dist-CU3lb_Ys.mjs";
1
+ import { $ as errMsg, G as settingsStoreCapability, dt as asJsonObject, et as BaseAddon, s as RUNTIME_DEFAULTS, xt as parseJsonUnknown } from "../../dist-ClOjKsC4.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-fRVWwrkF.js");
6
+ const require_dist = require("../../dist-BCseJMTD.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 { bt as parseJsonObject, et as BaseAddon, q as storageCapability, u as StorageLocationTypeSchema } from "../../dist-CU3lb_Ys.mjs";
1
+ import { bt as parseJsonObject, et as BaseAddon, q as storageCapability, u as StorageLocationTypeSchema } from "../../dist-ClOjKsC4.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-fRVWwrkF.js");
6
+ const require_dist = require("../../dist-BCseJMTD.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 { $ as errMsg, et as BaseAddon, vt as hydrateSchema } from "../../dist-CU3lb_Ys.mjs";
1
+ import { $ as errMsg, et as BaseAddon, vt as hydrateSchema } from "../../dist-ClOjKsC4.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-fRVWwrkF.js");
6
+ const require_dist = require("../../dist-BCseJMTD.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 { P as logDestinationCapability, et as BaseAddon } from "../../dist-CU3lb_Ys.mjs";
1
+ import { P as logDestinationCapability, et as BaseAddon } from "../../dist-ClOjKsC4.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";
@@ -16578,10 +16578,32 @@ getTurnServers: method(zod.z.void(), zod.z.array(TurnServerSchema).readonly()) }
16578
16578
  * b. `finishAuthentication({userId, response})` → server verifies
16579
16579
  * the assertion, bumps the credential counter, returns ok.
16580
16580
  *
16581
+ * 2b. Usernameless (discoverable-credential) authentication — the
16582
+ * passkey IS the primary factor, no password leg:
16583
+ * a. `beginDiscoverableAuthentication({})` → assertion options with
16584
+ * EMPTY `allowCredentials` (the browser offers every resident
16585
+ * passkey it holds for this RP) + `userVerification: 'required'`
16586
+ * (the passkey replaces both factors, so UV is mandatory).
16587
+ * The challenge is stored server-side, NOT bound to any user.
16588
+ * b. `finishDiscoverableAuthentication({response})` → the provider
16589
+ * resolves the credential by the response's credential id,
16590
+ * verifies the assertion against the stored challenge + that
16591
+ * credential's public key/counter, and returns the OWNING
16592
+ * `userId` — the caller (core auth router) mints the session.
16593
+ *
16581
16594
  * 3. Management:
16582
16595
  * - `listPasskeys({userId})` — enumerate user's enrolled credentials.
16583
16596
  * - `removePasskey({userId, credentialId})` — revoke one credential.
16584
16597
  *
16598
+ * 4. Second-factor preference (opt-in, default OFF):
16599
+ * Enrolling a passkey only enables passkey-FIRST sign-in. It is
16600
+ * demanded as a second factor after a password login ONLY when the
16601
+ * user explicitly opts in via `setSecondFactorPreference`.
16602
+ * - `getSecondFactorPreference({userId})` → `{ enabled }` (missing
16603
+ * row ⇒ `enabled: false`).
16604
+ * - `setSecondFactorPreference({userId, enabled})` — persisted by
16605
+ * the providing addon beside its credentials.
16606
+ *
16585
16607
  * Challenges are short-lived (5 min, in-memory). The cap is internal —
16586
16608
  * the admin-ui composes the begin/finish round-trip and never exposes
16587
16609
  * the cap to non-admins.
@@ -16634,6 +16656,19 @@ var userPasskeysCapability = {
16634
16656
  kind: "mutation",
16635
16657
  access: "view"
16636
16658
  }),
16659
+ beginDiscoverableAuthentication: method(zod.z.object({}), zod.z.object({ optionsJSON: zod.z.record(zod.z.string(), zod.z.unknown()) }), {
16660
+ kind: "mutation",
16661
+ access: "view"
16662
+ }),
16663
+ finishDiscoverableAuthentication: method(zod.z.object({
16664
+ /** AuthenticationResponseJSON from the browser. */
16665
+ response: zod.z.record(zod.z.string(), zod.z.unknown()) }), zod.z.object({
16666
+ verified: zod.z.boolean(),
16667
+ userId: zod.z.string().nullable()
16668
+ }), {
16669
+ kind: "mutation",
16670
+ access: "view"
16671
+ }),
16637
16672
  listPasskeys: method(zod.z.object({ userId: zod.z.string() }), zod.z.array(PasskeySummarySchema), { auth: "admin" }),
16638
16673
  removePasskey: method(zod.z.object({
16639
16674
  userId: zod.z.string(),
@@ -16642,6 +16677,15 @@ var userPasskeysCapability = {
16642
16677
  kind: "mutation",
16643
16678
  auth: "admin",
16644
16679
  access: "delete"
16680
+ }),
16681
+ getSecondFactorPreference: method(zod.z.object({ userId: zod.z.string() }), zod.z.object({ enabled: zod.z.boolean() }), { auth: "admin" }),
16682
+ setSecondFactorPreference: method(zod.z.object({
16683
+ userId: zod.z.string(),
16684
+ enabled: zod.z.boolean()
16685
+ }), zod.z.object({ success: zod.z.literal(true) }), {
16686
+ kind: "mutation",
16687
+ auth: "admin",
16688
+ access: "create"
16645
16689
  })
16646
16690
  }
16647
16691
  };
@@ -24532,6 +24576,12 @@ var METHOD_ACCESS_MAP = Object.freeze({
24532
24576
  addonId: null,
24533
24577
  access: "view"
24534
24578
  },
24579
+ "userPasskeys.beginDiscoverableAuthentication": {
24580
+ capName: "user-passkeys",
24581
+ capScope: "system",
24582
+ addonId: null,
24583
+ access: "view"
24584
+ },
24535
24585
  "userPasskeys.beginRegistration": {
24536
24586
  capName: "user-passkeys",
24537
24587
  capScope: "system",
@@ -24544,12 +24594,24 @@ var METHOD_ACCESS_MAP = Object.freeze({
24544
24594
  addonId: null,
24545
24595
  access: "view"
24546
24596
  },
24597
+ "userPasskeys.finishDiscoverableAuthentication": {
24598
+ capName: "user-passkeys",
24599
+ capScope: "system",
24600
+ addonId: null,
24601
+ access: "view"
24602
+ },
24547
24603
  "userPasskeys.finishRegistration": {
24548
24604
  capName: "user-passkeys",
24549
24605
  capScope: "system",
24550
24606
  addonId: null,
24551
24607
  access: "create"
24552
24608
  },
24609
+ "userPasskeys.getSecondFactorPreference": {
24610
+ capName: "user-passkeys",
24611
+ capScope: "system",
24612
+ addonId: null,
24613
+ access: "view"
24614
+ },
24553
24615
  "userPasskeys.listPasskeys": {
24554
24616
  capName: "user-passkeys",
24555
24617
  capScope: "system",
@@ -24562,6 +24624,12 @@ var METHOD_ACCESS_MAP = Object.freeze({
24562
24624
  addonId: null,
24563
24625
  access: "delete"
24564
24626
  },
24627
+ "userPasskeys.setSecondFactorPreference": {
24628
+ capName: "user-passkeys",
24629
+ capScope: "system",
24630
+ addonId: null,
24631
+ access: "create"
24632
+ },
24565
24633
  "vacuumControl.locate": {
24566
24634
  capName: "vacuum-control",
24567
24635
  capScope: "device",
@@ -16578,10 +16578,32 @@ getTurnServers: method(z.void(), z.array(TurnServerSchema).readonly()) }
16578
16578
  * b. `finishAuthentication({userId, response})` → server verifies
16579
16579
  * the assertion, bumps the credential counter, returns ok.
16580
16580
  *
16581
+ * 2b. Usernameless (discoverable-credential) authentication — the
16582
+ * passkey IS the primary factor, no password leg:
16583
+ * a. `beginDiscoverableAuthentication({})` → assertion options with
16584
+ * EMPTY `allowCredentials` (the browser offers every resident
16585
+ * passkey it holds for this RP) + `userVerification: 'required'`
16586
+ * (the passkey replaces both factors, so UV is mandatory).
16587
+ * The challenge is stored server-side, NOT bound to any user.
16588
+ * b. `finishDiscoverableAuthentication({response})` → the provider
16589
+ * resolves the credential by the response's credential id,
16590
+ * verifies the assertion against the stored challenge + that
16591
+ * credential's public key/counter, and returns the OWNING
16592
+ * `userId` — the caller (core auth router) mints the session.
16593
+ *
16581
16594
  * 3. Management:
16582
16595
  * - `listPasskeys({userId})` — enumerate user's enrolled credentials.
16583
16596
  * - `removePasskey({userId, credentialId})` — revoke one credential.
16584
16597
  *
16598
+ * 4. Second-factor preference (opt-in, default OFF):
16599
+ * Enrolling a passkey only enables passkey-FIRST sign-in. It is
16600
+ * demanded as a second factor after a password login ONLY when the
16601
+ * user explicitly opts in via `setSecondFactorPreference`.
16602
+ * - `getSecondFactorPreference({userId})` → `{ enabled }` (missing
16603
+ * row ⇒ `enabled: false`).
16604
+ * - `setSecondFactorPreference({userId, enabled})` — persisted by
16605
+ * the providing addon beside its credentials.
16606
+ *
16585
16607
  * Challenges are short-lived (5 min, in-memory). The cap is internal —
16586
16608
  * the admin-ui composes the begin/finish round-trip and never exposes
16587
16609
  * the cap to non-admins.
@@ -16634,6 +16656,19 @@ var userPasskeysCapability = {
16634
16656
  kind: "mutation",
16635
16657
  access: "view"
16636
16658
  }),
16659
+ beginDiscoverableAuthentication: method(z.object({}), z.object({ optionsJSON: z.record(z.string(), z.unknown()) }), {
16660
+ kind: "mutation",
16661
+ access: "view"
16662
+ }),
16663
+ finishDiscoverableAuthentication: method(z.object({
16664
+ /** AuthenticationResponseJSON from the browser. */
16665
+ response: z.record(z.string(), z.unknown()) }), z.object({
16666
+ verified: z.boolean(),
16667
+ userId: z.string().nullable()
16668
+ }), {
16669
+ kind: "mutation",
16670
+ access: "view"
16671
+ }),
16637
16672
  listPasskeys: method(z.object({ userId: z.string() }), z.array(PasskeySummarySchema), { auth: "admin" }),
16638
16673
  removePasskey: method(z.object({
16639
16674
  userId: z.string(),
@@ -16642,6 +16677,15 @@ var userPasskeysCapability = {
16642
16677
  kind: "mutation",
16643
16678
  auth: "admin",
16644
16679
  access: "delete"
16680
+ }),
16681
+ getSecondFactorPreference: method(z.object({ userId: z.string() }), z.object({ enabled: z.boolean() }), { auth: "admin" }),
16682
+ setSecondFactorPreference: method(z.object({
16683
+ userId: z.string(),
16684
+ enabled: z.boolean()
16685
+ }), z.object({ success: z.literal(true) }), {
16686
+ kind: "mutation",
16687
+ auth: "admin",
16688
+ access: "create"
16645
16689
  })
16646
16690
  }
16647
16691
  };
@@ -24532,6 +24576,12 @@ var METHOD_ACCESS_MAP = Object.freeze({
24532
24576
  addonId: null,
24533
24577
  access: "view"
24534
24578
  },
24579
+ "userPasskeys.beginDiscoverableAuthentication": {
24580
+ capName: "user-passkeys",
24581
+ capScope: "system",
24582
+ addonId: null,
24583
+ access: "view"
24584
+ },
24535
24585
  "userPasskeys.beginRegistration": {
24536
24586
  capName: "user-passkeys",
24537
24587
  capScope: "system",
@@ -24544,12 +24594,24 @@ var METHOD_ACCESS_MAP = Object.freeze({
24544
24594
  addonId: null,
24545
24595
  access: "view"
24546
24596
  },
24597
+ "userPasskeys.finishDiscoverableAuthentication": {
24598
+ capName: "user-passkeys",
24599
+ capScope: "system",
24600
+ addonId: null,
24601
+ access: "view"
24602
+ },
24547
24603
  "userPasskeys.finishRegistration": {
24548
24604
  capName: "user-passkeys",
24549
24605
  capScope: "system",
24550
24606
  addonId: null,
24551
24607
  access: "create"
24552
24608
  },
24609
+ "userPasskeys.getSecondFactorPreference": {
24610
+ capName: "user-passkeys",
24611
+ capScope: "system",
24612
+ addonId: null,
24613
+ access: "view"
24614
+ },
24553
24615
  "userPasskeys.listPasskeys": {
24554
24616
  capName: "user-passkeys",
24555
24617
  capScope: "system",
@@ -24562,6 +24624,12 @@ var METHOD_ACCESS_MAP = Object.freeze({
24562
24624
  addonId: null,
24563
24625
  access: "delete"
24564
24626
  },
24627
+ "userPasskeys.setSecondFactorPreference": {
24628
+ capName: "user-passkeys",
24629
+ capScope: "system",
24630
+ addonId: null,
24631
+ access: "create"
24632
+ },
24565
24633
  "vacuumControl.locate": {
24566
24634
  capName: "vacuum-control",
24567
24635
  capScope: "device",
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-fRVWwrkF.js");
3
+ const require_dist = require("./dist-BCseJMTD.js");
4
4
  const require_model_download_service = require("./model-download-service-D-Umz4-L.js");
5
5
  const require_resource_monitor = require("./resource-monitor-DNNomR-i.js");
6
6
  const require_builtins_sqlite_storage_filesystem_storage_addon = require("./builtins/sqlite-storage/filesystem-storage.addon.js");
@@ -21,7 +21,7 @@ const require_builtins_local_auth_local_auth_addon = require("./builtins/local-a
21
21
  require("./builtins/local-auth/index.js");
22
22
  const require_builtins_device_manager_device_manager_addon = require("./builtins/device-manager/device-manager.addon.js");
23
23
  require("./builtins/device-manager/index.js");
24
- const require_manifest_python_deps = require("./manifest-python-deps-BGvIVCm_.js");
24
+ const require_manifest_python_deps = require("./manifest-python-deps-BVUZVpma.js");
25
25
  const require_custom_action_registry = require("./custom-action-registry-vLYEFTtv.js");
26
26
  let _camstack_types_node = require("@camstack/types/node");
27
27
  let zod = require("zod");
package/dist/index.mjs CHANGED
@@ -1,4 +1,4 @@
1
- import { $ as errMsg$1, A as isVoidInput, Ct as resolveCapMount, F as looseSchema, M as lifecycleJobSchema, O as isArrayOutputSchema, St as readinessKey, V as procedureAuthKey, _t as expandCapMethods, bt as parseJsonObject, ct as ReadinessRegistry, dt as asJsonObject$1, ft as asNumber, ht as emitDownForOwnedCaps, j as kebabToCamel, k as isObjectInput, lt as ReadinessTimeoutError, mt as createEvent, nt as DEVICE_SETTINGS_CONTRIBUTION_METHODS, o as METHOD_ACCESS_MAP, p as addonSettingsCapability, pt as asString$1, rt as DEVICE_STATUS_METHOD, s as RUNTIME_DEFAULTS, st as EventCategory$1, t as ALL_CAPABILITY_DEFINITIONS, tt as DATAPLANE_SECRET_HEADER$1, wt as scopeKey, xt as parseJsonUnknown$1 } from "./dist-CU3lb_Ys.mjs";
1
+ import { $ as errMsg$1, A as isVoidInput, Ct as resolveCapMount, F as looseSchema, M as lifecycleJobSchema, O as isArrayOutputSchema, St as readinessKey, V as procedureAuthKey, _t as expandCapMethods, bt as parseJsonObject, ct as ReadinessRegistry, dt as asJsonObject$1, ft as asNumber, ht as emitDownForOwnedCaps, j as kebabToCamel, k as isObjectInput, lt as ReadinessTimeoutError, mt as createEvent, nt as DEVICE_SETTINGS_CONTRIBUTION_METHODS, o as METHOD_ACCESS_MAP, p as addonSettingsCapability, pt as asString$1, rt as DEVICE_STATUS_METHOD, s as RUNTIME_DEFAULTS, st as EventCategory$1, t as ALL_CAPABILITY_DEFINITIONS, tt as DATAPLANE_SECRET_HEADER$1, wt as scopeKey, xt as parseJsonUnknown$1 } from "./dist-ClOjKsC4.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-C-IHWnXx.mjs";
3
3
  import { n as getSinglePidStats, t as getPidStats } from "./resource-monitor-Le3l0qS2.mjs";
4
4
  import { FilesystemStorageAddon, t as FilesystemStorageProvider } from "./builtins/sqlite-storage/filesystem-storage.addon.mjs";
@@ -19,7 +19,7 @@ import { LocalAuthAddon, a as require_ms, c as __esmMin, d as __toCommonJS, f as
19
19
  import "./builtins/local-auth/index.mjs";
20
20
  import { DeviceManagerAddon } from "./builtins/device-manager/device-manager.addon.mjs";
21
21
  import "./builtins/device-manager/index.mjs";
22
- import { $ as buildUdsNativeCapProxy, A as createParentUnownedCallHandler, B as AGENT_CAP_FWD_SERVICE, C as buildLinkChain, D as HUB_CAP_FWD_ACTION, E as localProviderLink, F as createUdsLoggerWithControl, G as createLocalTransport, H as CapRouteError, I as LocalChildClient, J as SocketChannel, K as UdsLocalTransportClient, L as LocalChildRegistry, M as createUdsEventBus, N as udsChildLogToWorkerEntry, O as HUB_CAP_FWD_SERVICE, P as createUdsLogger, Q as buildNativeCapProxy, R as UDS_NO_ROUTE_PREFIX, S as brokerTransportLink, T as ipcParentLink, U as classifyCapRoute, V as CapRouteResolver, W as callWithServiceDiscovery, X as FrameDecoder, Y as localEndpointPath, Z as encodeFrame, _ as resolveHwAccel, _t as CapabilityUnavailableError, a as getWorkerDeviceRegistry, at as createAddonService, b as getCapUsageRegistry, c as setHubConnected, ct as capActionName, d as getMoleculerEventStats, dt as capServiceName, et as createBrokerDeviceManagerApi, f as registerEventBusService, ft as parseCapAction, g as createKernelHwAccel, gt as CapabilityHandle, h as AddonDepsManager, ht as DeviceRegistry, i as createUdsAddonContext, j as createUdsEventBridge, k as createHubCapForwardService, l as EVENT_TOPIC_PREFIX, lt as capActionSuffix, m as subscribePassthrough, mt as serializeTypedArrays, n as adaptBrokerToCluster, o as getOrInitReadinessRegistry, ot as validateProviderRegistrations, p as setNodeEventInterest, pt as deserializeTypedArrays, q as UdsLocalTransportServer, r as createAddonContext, rt as mountNativeCapService, s as getOrInitReadinessRegistryForClient, st as NATIVE_PROVIDER_SERVICE_INFIX, t as installManifestPythonDeps, u as getBrokerEventBus, ut as capBareAction, v as CapUsageRegistry, vt as installManifestNativeDeps, w as ipcChildLink, x as brokerCallForCap, y as __resetCapUsageRegistryForTests, yt as resolveAddonClass, z as AGENT_CAP_FWD_ACTION } from "./manifest-python-deps-BjxBfiFd.mjs";
22
+ import { $ as buildUdsNativeCapProxy, A as createParentUnownedCallHandler, B as AGENT_CAP_FWD_SERVICE, C as buildLinkChain, D as HUB_CAP_FWD_ACTION, E as localProviderLink, F as createUdsLoggerWithControl, G as createLocalTransport, H as CapRouteError, I as LocalChildClient, J as SocketChannel, K as UdsLocalTransportClient, L as LocalChildRegistry, M as createUdsEventBus, N as udsChildLogToWorkerEntry, O as HUB_CAP_FWD_SERVICE, P as createUdsLogger, Q as buildNativeCapProxy, R as UDS_NO_ROUTE_PREFIX, S as brokerTransportLink, T as ipcParentLink, U as classifyCapRoute, V as CapRouteResolver, W as callWithServiceDiscovery, X as FrameDecoder, Y as localEndpointPath, Z as encodeFrame, _ as resolveHwAccel, _t as CapabilityUnavailableError, a as getWorkerDeviceRegistry, at as createAddonService, b as getCapUsageRegistry, c as setHubConnected, ct as capActionName, d as getMoleculerEventStats, dt as capServiceName, et as createBrokerDeviceManagerApi, f as registerEventBusService, ft as parseCapAction, g as createKernelHwAccel, gt as CapabilityHandle, h as AddonDepsManager, ht as DeviceRegistry, i as createUdsAddonContext, j as createUdsEventBridge, k as createHubCapForwardService, l as EVENT_TOPIC_PREFIX, lt as capActionSuffix, m as subscribePassthrough, mt as serializeTypedArrays, n as adaptBrokerToCluster, o as getOrInitReadinessRegistry, ot as validateProviderRegistrations, p as setNodeEventInterest, pt as deserializeTypedArrays, q as UdsLocalTransportServer, r as createAddonContext, rt as mountNativeCapService, s as getOrInitReadinessRegistryForClient, st as NATIVE_PROVIDER_SERVICE_INFIX, t as installManifestPythonDeps, u as getBrokerEventBus, ut as capBareAction, v as CapUsageRegistry, vt as installManifestNativeDeps, w as ipcChildLink, x as brokerCallForCap, y as __resetCapUsageRegistryForTests, yt as resolveAddonClass, z as AGENT_CAP_FWD_ACTION } from "./manifest-python-deps-DyIcZtF5.mjs";
23
23
  import { t as CustomActionRegistry } from "./custom-action-registry-BEXwC-oo.mjs";
24
24
  import { PYTHON_VERSION, buildBinaryPath, downloadBinary, ensureBinary, ensureFfmpeg, ensurePython, findInPath, getFfmpegDownloadUrl, getPlatformInfo, getPythonDownloadUrl, installPythonPackages, installPythonRequirements } from "@camstack/types/node";
25
25
  import { z } from "zod";
@@ -1,5 +1,5 @@
1
1
  const require_chunk = require("./chunk-Cek0wNdY.js");
2
- const require_dist = require("./dist-fRVWwrkF.js");
2
+ const require_dist = require("./dist-BCseJMTD.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 { H as readNodePin } from "./dist-CU3lb_Ys.mjs";
1
+ import { H as readNodePin } from "./dist-ClOjKsC4.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.1.39",
3
+ "version": "1.1.41",
4
4
  "description": "Core addon for CamStack — builtins, pipeline, process management, auth, logging, events",
5
5
  "keywords": [
6
6
  "camstack",