@camstack/system 1.2.416 → 1.2.417

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 (88) hide show
  1. package/dist/addon-runner.js +9969 -27
  2. package/dist/addon-runner.mjs +9930 -9
  3. package/dist/addon-utils.js +19 -20
  4. package/dist/addon-utils.mjs +1 -2
  5. package/dist/auth/auth-audit-log.d.ts +1 -1
  6. package/dist/builtins/addon-pages-aggregator/addon-pages-aggregator.addon.js +1 -1
  7. package/dist/builtins/addon-pages-aggregator/addon-pages-aggregator.addon.mjs +1 -1
  8. package/dist/builtins/addon-widgets-aggregator/addon-widgets-aggregator.addon.js +1 -1
  9. package/dist/builtins/addon-widgets-aggregator/addon-widgets-aggregator.addon.mjs +1 -1
  10. package/dist/builtins/alerts/alerts.addon.js +1 -1
  11. package/dist/builtins/alerts/alerts.addon.mjs +1 -1
  12. package/dist/builtins/autotrack/index.js +1 -1
  13. package/dist/builtins/autotrack/index.mjs +1 -1
  14. package/dist/builtins/backup-orchestrator/backup-orchestrator.addon.js +2 -2
  15. package/dist/builtins/backup-orchestrator/backup-orchestrator.addon.mjs +2 -2
  16. package/dist/builtins/calendars/calendars.addon.js +1 -1
  17. package/dist/builtins/calendars/calendars.addon.mjs +1 -1
  18. package/dist/builtins/camera-grid/index.js +1 -1
  19. package/dist/builtins/camera-grid/index.mjs +1 -1
  20. package/dist/builtins/composer/composer.addon.js +2 -2
  21. package/dist/builtins/composer/composer.addon.mjs +2 -2
  22. package/dist/builtins/console-logging/index.js +1 -1
  23. package/dist/builtins/console-logging/index.mjs +1 -1
  24. package/dist/builtins/core-blocks/core-blocks.addon.js +2 -2
  25. package/dist/builtins/core-blocks/core-blocks.addon.mjs +2 -2
  26. package/dist/builtins/device-manager/device-manager.addon.js +2 -2
  27. package/dist/builtins/device-manager/device-manager.addon.mjs +2 -2
  28. package/dist/builtins/hub-forwarder/index.js +1 -1
  29. package/dist/builtins/hub-forwarder/index.mjs +1 -1
  30. package/dist/builtins/keychain/index.js +3 -3
  31. package/dist/builtins/keychain/index.mjs +3 -3
  32. package/dist/builtins/liveness-monitor/liveness-monitor.addon.js +1 -1
  33. package/dist/builtins/liveness-monitor/liveness-monitor.addon.mjs +1 -1
  34. package/dist/builtins/local-auth/local-auth.addon.js +5 -3
  35. package/dist/builtins/local-auth/local-auth.addon.mjs +5 -3
  36. package/dist/builtins/local-network/local-network.addon.js +1 -1
  37. package/dist/builtins/local-network/local-network.addon.mjs +1 -1
  38. package/dist/builtins/loki-logging/index.js +1 -1
  39. package/dist/builtins/loki-logging/index.mjs +1 -1
  40. package/dist/builtins/native-metrics/native-metrics.addon.js +102 -10
  41. package/dist/builtins/native-metrics/native-metrics.addon.mjs +92 -4
  42. package/dist/builtins/platform-probe/index.js +1 -1
  43. package/dist/builtins/platform-probe/index.mjs +1 -1
  44. package/dist/builtins/remote-access-orchestrator/remote-access-orchestrator.addon.js +1 -1
  45. package/dist/builtins/remote-access-orchestrator/remote-access-orchestrator.addon.mjs +1 -1
  46. package/dist/builtins/snapshot/index.js +1 -1
  47. package/dist/builtins/snapshot/index.mjs +1 -1
  48. package/dist/builtins/sqlite-storage/filesystem-storage.addon.js +1 -1
  49. package/dist/builtins/sqlite-storage/filesystem-storage.addon.mjs +1 -1
  50. package/dist/builtins/sqlite-storage/sqlite-settings.addon.js +0 -0
  51. package/dist/builtins/sqlite-storage/sqlite-settings.addon.mjs +0 -0
  52. package/dist/builtins/storage-orchestrator/index.mjs +1 -1
  53. package/dist/builtins/storage-orchestrator/storage-orchestrator.addon.js +83 -3
  54. package/dist/builtins/storage-orchestrator/storage-orchestrator.addon.mjs +79 -3
  55. package/dist/builtins/system-config/system-config.addon.js +2 -2
  56. package/dist/builtins/system-config/system-config.addon.mjs +2 -2
  57. package/dist/builtins/winston-logging/index.js +1 -1
  58. package/dist/builtins/winston-logging/index.mjs +1 -1
  59. package/dist/{composition-sources-DBcOVpGn.js → composition-sources-ChAX2Kdo.js} +1 -1
  60. package/dist/{composition-sources-DEZqZLPT.mjs → composition-sources-CndJVssc.mjs} +1 -1
  61. package/dist/{constants-BSBtmzm3.mjs → constants-BzxwnfDc.mjs} +1 -1
  62. package/dist/{constants-C4jZO_qO.js → constants-VXvZkGgw.js} +1 -1
  63. package/dist/{event-loop-stall-monitor-E2hFvhDg.js → custom-action-registry-Bb28ibZV.js} +63 -1
  64. package/dist/{event-loop-stall-monitor-LBZskC1S.mjs → custom-action-registry-DHv0kYcT.mjs} +58 -2
  65. package/dist/{dist-DxiDI8hZ.js → dist-BMOD9OyH.js} +1 -111
  66. package/dist/{dist-DwE9yHdk.mjs → dist-H_RapIeM.mjs} +2 -100
  67. package/dist/index.js +22785 -10066
  68. package/dist/index.mjs +22601 -9882
  69. package/dist/{jwt-signing-key-CsC-FxSm.js → jwt-signing-key-BiKHENST.js} +1 -1
  70. package/dist/{jwt-signing-key-DLbjTIuA.mjs → jwt-signing-key-xQxqpwMC.mjs} +1 -1
  71. package/dist/kernel/moleculer/broker-factory.d.ts +2 -4
  72. package/dist/kernel/transport/local-child-registry.d.ts +1 -1
  73. package/dist/logging/log-redactor.d.ts +1 -1
  74. package/dist/{resource-monitor-B2WZ8_q9.mjs → resource-monitor-Di9daRwI.mjs} +1 -1
  75. package/dist/{resource-monitor-BgWGRxN5.js → resource-monitor-mio9dSCT.js} +5 -5
  76. package/dist/{restore-archive-BtKjaVua.js → restore-archive-BobsETEp.js} +1 -1
  77. package/dist/{restore-archive-CImzbuRo.mjs → restore-archive-CCAQicV-.mjs} +1 -1
  78. package/dist/{retired-settings-keys-Cl1tnkmq.js → retired-settings-keys-BMq2u4Wv.js} +1 -1
  79. package/dist/{retired-settings-keys-D1WsCdUY.mjs → retired-settings-keys-CwL4zHLg.mjs} +1 -1
  80. package/package.json +2 -2
  81. package/dist/child-cap-dispatch-B87B0FrC.js +0 -13986
  82. package/dist/child-cap-dispatch-CmfT-OR2.mjs +0 -12916
  83. package/dist/custom-action-registry-B4Cf4O_X.mjs +0 -57
  84. package/dist/custom-action-registry-acBY3mHA.js +0 -62
  85. package/dist/hub-cap-forward-CDiN1p98.mjs +0 -78
  86. package/dist/hub-cap-forward-W8oEm4ME.js +0 -101
  87. package/dist/proc-stat-CbC55Kqi.mjs +0 -92
  88. package/dist/proc-stat-DL-WUOhl.js +0 -127
@@ -1,4 +1,4 @@
1
- import { P as MODEL_FORMATS, Rt as hfModelUrl, T as HF_REPO } from "./dist-DwE9yHdk.mjs";
1
+ import { P as MODEL_FORMATS, Rt as hfModelUrl, T as HF_REPO } from "./dist-H_RapIeM.mjs";
2
2
  import { createHash } from "node:crypto";
3
3
  import * as path$1 from "node:path";
4
4
  import path from "node:path";
@@ -8,6 +8,7 @@ import { promisify } from "node:util";
8
8
  import { createServer } from "node:http";
9
9
  import { brotliCompress, constants as constants$1, gzip } from "node:zlib";
10
10
  import { PerformanceObserver } from "node:perf_hooks";
11
+ import { describeCustomActions } from "@camstack/types/addon";
11
12
  //#region src/download/hosted-model-revisions.ts
12
13
  /**
13
14
  * GENERATED by `scripts/check-hosted-model-revisions.ts --write` — DO NOT EDIT.
@@ -1378,4 +1379,59 @@ function startEventLoopStallMonitor(logger, reportThresholdMs = STALL_REPORT_MS)
1378
1379
  };
1379
1380
  }
1380
1381
  //#endregion
1381
- export { resolveFormatRevision as C, isModelDownloaded as S, downloadModel as _, createFileDataPlaneHandler as a, getModelFilePath as b, parseRangeHeader as c, ModelDownloadService as d, ModelDownloadHttpError as f, downloadFile as g, deleteModelFromDisk as h, startEventLoopStallMonitor as i, parseTokenizedUrl as l, collectModelFiles as m, STALL_TICK_MS as n, contentTypeFor as o, adoptModelRevisions as p, attributeStall as r, createAuthenticatedFileServer as s, STALL_REPORT_MS as t, resolveFilePath as u, ensureModel as v, revisionWeightUrl as w, isModelDownloadHttpError as x, fetchJson as y };
1382
+ //#region src/kernel/custom-action-registry.ts
1383
+ /**
1384
+ * CustomActionRegistry — per-process registry of addon custom actions.
1385
+ *
1386
+ * Populated at boot from each addon's `AddonInitResult.customActions` +
1387
+ * `handleCustomAction` handler. Rejects actions declared with scope other
1388
+ * than 'system' (today only 'system' is runtime-supported; the descriptor
1389
+ * allows future scopes for forward compat).
1390
+ */
1391
+ var CustomActionRegistry = class {
1392
+ byAddon = /* @__PURE__ */ new Map();
1393
+ registerAddon(addonId, catalog, handler) {
1394
+ const actions = /* @__PURE__ */ new Map();
1395
+ for (const [name, spec] of Object.entries(catalog)) {
1396
+ const scope = spec.scope ?? { kind: "system" };
1397
+ if (scope.kind !== "system") throw new Error(`custom action '${addonId}.${name}' declared scope '${scope.kind}' — not yet implemented`);
1398
+ actions.set(name, {
1399
+ spec,
1400
+ handler: (input, caller) => handler(name, input, caller)
1401
+ });
1402
+ }
1403
+ this.byAddon.set(addonId, actions);
1404
+ }
1405
+ unregisterAddon(addonId) {
1406
+ this.byAddon.delete(addonId);
1407
+ }
1408
+ resolve(addonId, action) {
1409
+ return this.byAddon.get(addonId)?.get(action) ?? null;
1410
+ }
1411
+ listActions(addonId) {
1412
+ return [...this.byAddon.get(addonId)?.keys() ?? []];
1413
+ }
1414
+ listAddons() {
1415
+ return [...this.byAddon.keys()];
1416
+ }
1417
+ /**
1418
+ * Every registered catalog with its schemas stripped, keyed by addon id —
1419
+ * what a runner puts in its register frame so the hub learns the catalogs
1420
+ * from the process that owns them (D444). `hostedAddonIds` are the addons
1421
+ * this runner hosts: each is present in the result, with an EMPTY catalog
1422
+ * when it registered none, so the parent can say "declares no actions" per
1423
+ * addon instead of guessing from an absent key.
1424
+ */
1425
+ describeAll(hostedAddonIds) {
1426
+ const out = {};
1427
+ for (const addonId of hostedAddonIds) out[addonId] = {};
1428
+ for (const [addonId, actions] of this.byAddon) {
1429
+ const catalog = {};
1430
+ for (const [name, entry] of actions) catalog[name] = entry.spec;
1431
+ out[addonId] = describeCustomActions(catalog);
1432
+ }
1433
+ return out;
1434
+ }
1435
+ };
1436
+ //#endregion
1437
+ export { isModelDownloaded as C, isModelDownloadHttpError as S, revisionWeightUrl as T, downloadFile as _, startEventLoopStallMonitor as a, fetchJson as b, createAuthenticatedFileServer as c, resolveFilePath as d, ModelDownloadService as f, deleteModelFromDisk as g, collectModelFiles as h, attributeStall as i, parseRangeHeader as l, adoptModelRevisions as m, STALL_REPORT_MS as n, createFileDataPlaneHandler as o, ModelDownloadHttpError as p, STALL_TICK_MS as r, contentTypeFor as s, CustomActionRegistry as t, parseTokenizedUrl as u, downloadModel as v, resolveFormatRevision as w, getModelFilePath as x, ensureModel as y };
@@ -718,7 +718,7 @@ var EventCategory = /* @__PURE__ */ function(EventCategory) {
718
718
  return EventCategory;
719
719
  }({});
720
720
  //#endregion
721
- //#region ../types/dist/sleep-Tkp9dHXv.mjs
721
+ //#region ../types/dist/sleep-BjDbnx6-.mjs
722
722
  /**
723
723
  * The audio chunk plane's byte format, and the ONE expansion from a coded
724
724
  * window to float samples (D455).
@@ -3156,31 +3156,6 @@ var PeerBytesTicketSchema = zod.z.object({
3156
3156
  */
3157
3157
  declaredBytes: zod.z.number().int().nonnegative().nullable()
3158
3158
  });
3159
- /**
3160
- * One store per PROCESS, even when two copies of this module are loaded (an
3161
- * addon bundle next to the framework's): keyed on a registered symbol.
3162
- */
3163
- var STORE_KEY = Symbol.for("camstack.keychain.known-secrets");
3164
- function store() {
3165
- const existing = Reflect.get(globalThis, STORE_KEY);
3166
- if (existing !== void 0 && existing !== null) return existing;
3167
- const created = {
3168
- values: /* @__PURE__ */ new Map(),
3169
- compiled: null
3170
- };
3171
- Reflect.set(globalThis, STORE_KEY, created);
3172
- return created;
3173
- }
3174
- /** Replace every registered value inside `text` with its label. */
3175
- function scrubKnownSecrets(text) {
3176
- const s = store();
3177
- const re = s.compiled;
3178
- if (re === null || text.length < 8) return text;
3179
- re.lastIndex = 0;
3180
- if (!re.test(text)) return text;
3181
- re.lastIndex = 0;
3182
- return text.replace(re, (match) => s.values.get(match) ?? "‹secret›");
3183
- }
3184
3159
  /** Shared Zod schemas used across streaming capabilities. */
3185
3160
  var CamProfileSchema = zod.z.enum([
3186
3161
  "high",
@@ -64889,79 +64864,6 @@ function bareAddonId(id) {
64889
64864
  function hfModelUrl(repo, path) {
64890
64865
  return `https://huggingface.co/${repo}/resolve/main/${path}`;
64891
64866
  }
64892
- /**
64893
- * Names that, when used as URL query parameters, almost certainly carry
64894
- * a secret. Matching is case-insensitive and anchored to the full param
64895
- * name to avoid false positives like `user_id` (an entity reference, not
64896
- * a credential) or `topic=password-reset` (a value happens to contain
64897
- * the substring "password" but the param name is unrelated).
64898
- *
64899
- * Add new patterns here as we encounter cameras/APIs that leak through
64900
- * the existing list.
64901
- */
64902
- var CREDENTIAL_PARAM_PATTERNS = [
64903
- /^user$/i,
64904
- /^usr$/i,
64905
- /^username$/i,
64906
- /^password$/i,
64907
- /^pwd$/i,
64908
- /^pass$/i,
64909
- /^passwd$/i,
64910
- /^secret$/i,
64911
- /^token$/i,
64912
- /^auth$/i,
64913
- /^auth[_-]?token$/i,
64914
- /^bearer$/i,
64915
- /^api[_-]?key$/i,
64916
- /^access[_-]?token$/i,
64917
- /^refresh[_-]?token$/i,
64918
- /^bridge$/i,
64919
- /^code$/i,
64920
- /^state$/i,
64921
- /^challenge$/i,
64922
- /^link$/i
64923
- ];
64924
- function isCredentialParam(name) {
64925
- return CREDENTIAL_PARAM_PATTERNS.some((re) => re.test(name));
64926
- }
64927
- /**
64928
- * Redact secrets we may surface in logs or telemetry:
64929
- * 1. `userinfo` (`user:password@host`) — the classic RTSP shape.
64930
- * 2. Query-string credential params (`?user=...&password=...`) — the
64931
- * Reolink RTMP shape and several HTTP-pushed-stream APIs.
64932
- *
64933
- * Returns the original string verbatim when the input is not a parseable
64934
- * URL — a log helper must never throw. Param values are replaced with
64935
- * `***` so an operator reading logs still sees WHICH credential was
64936
- * present (useful for debugging "wrong password" issues) without
64937
- * exposing the value.
64938
- *
64939
- * The credential-name match is case-insensitive but anchored to the
64940
- * whole param name; values like `user_id=42` or `topic=password-reset`
64941
- * are NOT masked (those are entity references, not credentials).
64942
- */
64943
- function maskUrlCredentials(rawUrl) {
64944
- if (rawUrl.startsWith("/") && !rawUrl.startsWith("//")) {
64945
- const masked = maskUrlCredentials(`http://relative.invalid${rawUrl}`);
64946
- return masked.startsWith("http://relative.invalid") ? masked.slice(23) : rawUrl;
64947
- }
64948
- try {
64949
- const u = new URL(rawUrl);
64950
- let touched = false;
64951
- if (u.username || u.password) {
64952
- u.username = "";
64953
- u.password = "";
64954
- touched = true;
64955
- }
64956
- for (const key of Array.from(u.searchParams.keys())) if (isCredentialParam(key)) {
64957
- u.searchParams.set(key, "***");
64958
- touched = true;
64959
- }
64960
- return touched ? u.toString() : rawUrl;
64961
- } catch {
64962
- return rawUrl;
64963
- }
64964
- }
64965
64867
  var MB = 1024 * 1024;
64966
64868
  1024 * MB, 3072 * MB;
64967
64869
  /**
@@ -66145,12 +66047,6 @@ Object.defineProperty(exports, "makeSecretMarker", {
66145
66047
  return makeSecretMarker;
66146
66048
  }
66147
66049
  });
66148
- Object.defineProperty(exports, "maskUrlCredentials", {
66149
- enumerable: true,
66150
- get: function() {
66151
- return maskUrlCredentials;
66152
- }
66153
- });
66154
66050
  Object.defineProperty(exports, "mayReadLocation", {
66155
66051
  enumerable: true,
66156
66052
  get: function() {
@@ -66385,12 +66281,6 @@ Object.defineProperty(exports, "scoreRuntimes", {
66385
66281
  return scoreRuntimes;
66386
66282
  }
66387
66283
  });
66388
- Object.defineProperty(exports, "scrubKnownSecrets", {
66389
- enumerable: true,
66390
- get: function() {
66391
- return scrubKnownSecrets;
66392
- }
66393
- });
66394
66284
  Object.defineProperty(exports, "secretTreeFromPaths", {
66395
66285
  enumerable: true,
66396
66286
  get: function() {
@@ -718,7 +718,7 @@ var EventCategory = /* @__PURE__ */ function(EventCategory) {
718
718
  return EventCategory;
719
719
  }({});
720
720
  //#endregion
721
- //#region ../types/dist/sleep-Tkp9dHXv.mjs
721
+ //#region ../types/dist/sleep-BjDbnx6-.mjs
722
722
  /**
723
723
  * The audio chunk plane's byte format, and the ONE expansion from a coded
724
724
  * window to float samples (D455).
@@ -3156,31 +3156,6 @@ var PeerBytesTicketSchema = z.object({
3156
3156
  */
3157
3157
  declaredBytes: z.number().int().nonnegative().nullable()
3158
3158
  });
3159
- /**
3160
- * One store per PROCESS, even when two copies of this module are loaded (an
3161
- * addon bundle next to the framework's): keyed on a registered symbol.
3162
- */
3163
- var STORE_KEY = Symbol.for("camstack.keychain.known-secrets");
3164
- function store() {
3165
- const existing = Reflect.get(globalThis, STORE_KEY);
3166
- if (existing !== void 0 && existing !== null) return existing;
3167
- const created = {
3168
- values: /* @__PURE__ */ new Map(),
3169
- compiled: null
3170
- };
3171
- Reflect.set(globalThis, STORE_KEY, created);
3172
- return created;
3173
- }
3174
- /** Replace every registered value inside `text` with its label. */
3175
- function scrubKnownSecrets(text) {
3176
- const s = store();
3177
- const re = s.compiled;
3178
- if (re === null || text.length < 8) return text;
3179
- re.lastIndex = 0;
3180
- if (!re.test(text)) return text;
3181
- re.lastIndex = 0;
3182
- return text.replace(re, (match) => s.values.get(match) ?? "‹secret›");
3183
- }
3184
3159
  /** Shared Zod schemas used across streaming capabilities. */
3185
3160
  var CamProfileSchema = z.enum([
3186
3161
  "high",
@@ -64889,79 +64864,6 @@ function bareAddonId(id) {
64889
64864
  function hfModelUrl(repo, path) {
64890
64865
  return `https://huggingface.co/${repo}/resolve/main/${path}`;
64891
64866
  }
64892
- /**
64893
- * Names that, when used as URL query parameters, almost certainly carry
64894
- * a secret. Matching is case-insensitive and anchored to the full param
64895
- * name to avoid false positives like `user_id` (an entity reference, not
64896
- * a credential) or `topic=password-reset` (a value happens to contain
64897
- * the substring "password" but the param name is unrelated).
64898
- *
64899
- * Add new patterns here as we encounter cameras/APIs that leak through
64900
- * the existing list.
64901
- */
64902
- var CREDENTIAL_PARAM_PATTERNS = [
64903
- /^user$/i,
64904
- /^usr$/i,
64905
- /^username$/i,
64906
- /^password$/i,
64907
- /^pwd$/i,
64908
- /^pass$/i,
64909
- /^passwd$/i,
64910
- /^secret$/i,
64911
- /^token$/i,
64912
- /^auth$/i,
64913
- /^auth[_-]?token$/i,
64914
- /^bearer$/i,
64915
- /^api[_-]?key$/i,
64916
- /^access[_-]?token$/i,
64917
- /^refresh[_-]?token$/i,
64918
- /^bridge$/i,
64919
- /^code$/i,
64920
- /^state$/i,
64921
- /^challenge$/i,
64922
- /^link$/i
64923
- ];
64924
- function isCredentialParam(name) {
64925
- return CREDENTIAL_PARAM_PATTERNS.some((re) => re.test(name));
64926
- }
64927
- /**
64928
- * Redact secrets we may surface in logs or telemetry:
64929
- * 1. `userinfo` (`user:password@host`) — the classic RTSP shape.
64930
- * 2. Query-string credential params (`?user=...&password=...`) — the
64931
- * Reolink RTMP shape and several HTTP-pushed-stream APIs.
64932
- *
64933
- * Returns the original string verbatim when the input is not a parseable
64934
- * URL — a log helper must never throw. Param values are replaced with
64935
- * `***` so an operator reading logs still sees WHICH credential was
64936
- * present (useful for debugging "wrong password" issues) without
64937
- * exposing the value.
64938
- *
64939
- * The credential-name match is case-insensitive but anchored to the
64940
- * whole param name; values like `user_id=42` or `topic=password-reset`
64941
- * are NOT masked (those are entity references, not credentials).
64942
- */
64943
- function maskUrlCredentials(rawUrl) {
64944
- if (rawUrl.startsWith("/") && !rawUrl.startsWith("//")) {
64945
- const masked = maskUrlCredentials(`http://relative.invalid${rawUrl}`);
64946
- return masked.startsWith("http://relative.invalid") ? masked.slice(23) : rawUrl;
64947
- }
64948
- try {
64949
- const u = new URL(rawUrl);
64950
- let touched = false;
64951
- if (u.username || u.password) {
64952
- u.username = "";
64953
- u.password = "";
64954
- touched = true;
64955
- }
64956
- for (const key of Array.from(u.searchParams.keys())) if (isCredentialParam(key)) {
64957
- u.searchParams.set(key, "***");
64958
- touched = true;
64959
- }
64960
- return touched ? u.toString() : rawUrl;
64961
- } catch {
64962
- return rawUrl;
64963
- }
64964
- }
64965
64867
  var MB = 1024 * 1024;
64966
64868
  1024 * MB, 3072 * MB;
64967
64869
  /**
@@ -65209,4 +65111,4 @@ function enumerateInferenceDevices(hw) {
65209
65111
  return out;
65210
65112
  }
65211
65113
  //#endregion
65212
- export { bareAddonId as $, cloneStatefulExpressionMemory as $n, secretTreeFromPaths as $r, locationIconKey as $t, LegacyStorageLocationDefaultSchema as A, runtimeStatePolicyFor as An, defineCustomActions as Ar, evictionPolicyOfLocation as At, STREAM_PROFILE_META as B, storageProviderCapability as Bn, isSecretMarker as Br, isArrayOutputSchema as Bt, FieldClaimModeSchema as C, resolveBucketMs as Cn, asNumber as Cr, deviceManagerCapability as Ct, HUB_MDNS_TXT_KEYS as D, resolveLocationMode as Dn, collectZodSecretPaths as Dr, enumerateItemArrayFields as Dt, HUB_MDNS_SERVICE_TYPE as E, resolveHubAddressRoles as En, collectSecretConfigKeys as Er, enumerateInferenceDevices as Et, MOTION_CLOSE_AFTER_MS as F, siteZoneKey as Fn, hydrateSchema as Fr, foldSnapshotByFunction as Ft, StorageMigrationJobSchema as G, validateComposition as Gn, parseJsonObject as Gr, isVoidInput as Gt, StorageCleanupJobSchema as H, streamQualityLabel as Hn, makeSecretMarker as Hr, isDefaultAppConnectionEndpoint as Ht, RECORDING_SOURCE_CAMSTACK_ADDON as I, snapshotCapability as In, isDeviceConfigCap as Ir, formatMinutes as It, addonSettingsCapability as J, vectorIndexDimConflictError as Jn, readinessKey as Jr, keychainCapability as Jt, UserRecordSchema as K, validateCustomAddress as Kn, parseJsonUnknown as Kr, kebabToCamel as Kt, RUNTIME_DEFAULTS as L, storageCapability as Ln, isEvent as Lr, gbToBytes as Lt, METHOD_ACCESS_MAP as M, scopesAllowDeviceCap as Mn, emitReadiness as Mr, expressionContainsBuiltinCall as Mt, MINUTES_PER_DAY as N, scoreRuntimes as Nn, expandCapMethods as Nr, extractNestedAddonId as Nt, KEYCHAIN_RESET_TRIGGER_ACTOR as O, resolveMethodAuth as On, createEvent as Or, enumerateSchemaFields as Ot, MODEL_FORMATS as P, settingsStoreCapability as Pn, formatSecretScope as Pr, filesystemBrowseCapability as Pt, backupCapability as Q, buildFfmpegArgs as Qn, scrubKnownSecrets as Qr, localNetworkCapability as Qt, RecordingStatusSchema as R, storageMigrationCapability as Rn, isKeychainStoredField as Rr, hfModelUrl as Rt, FIRST_LEVEL_MACRO_CLASSES as S, resolveAppConnections as Sn, asJsonObject as Sr, deviceExtensionCapability as St, HF_REPO as T, resolveCoreBlockFiles as Tn, buildSecretRef as Tr, deviceStatusCapability as Tt, StorageLocationModeSchema as U, supportedRuntimes as Un, nodePin as Ur, isLocationEnabled as Ut, ScopedTokenSchema as V, streamCatalogCapability as Vn, isSecretMarkerLike as Vr, isCollectionArrayMethod as Vt, StorageLocationTypeSchema as W, userManagementCapability as Wn, normalizeSecretOwner as Wr, isObjectInput as Wt, alertsCapability as X, withLocationMode as Xn, resolveSecretMarkers as Xr, legacyModeOf as Xt, addonWidgetsCapability as Y, vectorStoreCapability as Yn, resolveCapMount as Yr, legacyAutoLinkIds as Yt, authProviderCapability as Z, COMPOSER_ADDON_ID as Zn, scopeKey as Zr, lifecycleJobSchema as Zt, DATABASE_SNAPSHOT_TIMEOUT_MS as _, platformProbeCapability as _n, REDACTED_SECRET as _r, declarationOwnerNodeId as _t, BatteryStatusSchema as a, EventCategory as ai, mayWriteToLocation as an, compositionSourceKey as ar, checkRoleAddress as at, DeclaredDevices as b, reducePoints as bn, SECRET_CLEAR as br, deriveBatteryPresence as bt, CAP_NAMES_WITH_STATUS as c, modeMayWrite as cn, toExpressionValue as cr, compositionSourceRefs as ct, CORE_BLOCKS_ADDON_ID as d, normalizeUnit as dn, DeviceType as dr, coreBlockIdFromAddonId as dt, secretTreeFromSchema as ei, logDestinationCapability as en, composedDeviceRef as er, batteryCapability as et, CORE_BLOCK_ADDON_PREFIX as f, objectInputDeclaresAddonId as fn, errMsg as fr, coreBlockSourceKind as ft, DATABASE_SNAPSHOT_SUFFIX as g, planComposition as gn, DEVICE_STATUS_METHOD as gr, databaseSnapshotCapability as gt, DATABASE_SNAPSHOT_PARTIAL_SUFFIX as h, pickAppLinkHub as hn, DEVICE_SETTINGS_CONTRIBUTION_METHODS as hr, dataStoreProviderCapability as ht, BaseDevice as i, transformSecretWrite as ii, mayReadLocation as in, compositionSliceKey as ir, cameraGridLayoutCapability as it, LocationIconIdSchema as j, scopesAllowAddon as jn, emitDownForOwnedCaps as jr, expandContainer as jt, LOG_LEVEL_RANK as k, resolveNotificationTapAddress as kn, customAction as kr, evaluateCompositionField as kt, COMPOSED_ITEM_FIXED_FIELDS as l, motionCapability as ln, DeviceFeature as lr, coreBlockAddonId as lt, CoreBlockSchema as m, parseStreamParamsFormPatch as mn, DATAPLANE_SECRET_HEADER as mr, createDeviceExtensionProvider as mt, AlertSchema as n, toNodeId as ni, looseSchema as nn, compositionFeatureEnabled as nr, buildStreamParamsConfigSchema as nt, CAMERA_SWITCH_ORDER as o, memoizePinnedFfmpeg as on, createStatefulExpressionMemory as or, composerCapability as ot, CalendarPreferencesSchema as p, objectInputDeclaresRequiredDeviceId as pn, BaseAddon as pr, coreBlocksCapability as pt, addonPagesCapability as q, vectorDimFromBase64 as qn, parseSecretRef as qr, keychainAdminCapability as qt, ApiKeyRecordSchema as r, toSecretFieldView as ri, maskUrlCredentials as rn, compositionItemFieldPath as rr, calendarsCapability as rt, CAMSTACK_APP_LINK_ORIGIN as s, metricsProviderCapability as sn, disarmRoseMemory as sr, compositionFieldKey as st, ALL_CAPABILITY_DEFINITIONS as t, sleep as ti, logLevelAtMost as tn, composedDeviceStableId as tr, buildCapabilityLookup as tt, COMPOSER_RUNNER_ID as u, normalizeCoreBlockWrite as un, DeviceRole as ur, coreBlockComposition as ut, DAY_NAMES as v, procedureAuthKey as vn, ReadinessRegistry as vr, decodeVectorBase64 as vt, FieldClaimSchema as w, resolveCoreBlockEntry as wn, asString$1 as wr, deviceStateCapability as wt, DeviceStatusSchema as x, replacedFieldKeys as xn, WELL_KNOWN_TAB_MAP as xr, describeComposableCaps as xt, DERIVED_CAMERA_SILENCED_CAP_NAMES as y, ptzAutotrackCapability as yn, ReadinessTimeoutError as yr, defineExtensionSlotProvider as yt, STORAGE_ACCESS_FALLBACK as z, storageOccupancyCapability as zn, isSecretClear as zr, isAppLinkBase as zt };
65114
+ export { bareAddonId as $, composedDeviceRef as $n, sleep as $r, locationIconKey as $t, LegacyStorageLocationDefaultSchema as A, scopesAllowAddon as An, emitDownForOwnedCaps as Ar, evictionPolicyOfLocation as At, STREAM_PROFILE_META as B, streamCatalogCapability as Bn, isSecretMarkerLike as Br, isArrayOutputSchema as Bt, FieldClaimModeSchema as C, resolveCoreBlockEntry as Cn, asString$1 as Cr, deviceManagerCapability as Ct, HUB_MDNS_TXT_KEYS as D, resolveMethodAuth as Dn, createEvent as Dr, enumerateItemArrayFields as Dt, HUB_MDNS_SERVICE_TYPE as E, resolveLocationMode as En, collectZodSecretPaths as Er, enumerateInferenceDevices as Et, MOTION_CLOSE_AFTER_MS as F, snapshotCapability as Fn, isDeviceConfigCap as Fr, foldSnapshotByFunction as Ft, StorageMigrationJobSchema as G, validateCustomAddress as Gn, parseJsonUnknown as Gr, isVoidInput as Gt, StorageCleanupJobSchema as H, supportedRuntimes as Hn, nodePin as Hr, isDefaultAppConnectionEndpoint as Ht, RECORDING_SOURCE_CAMSTACK_ADDON as I, storageCapability as In, isEvent as Ir, formatMinutes as It, addonSettingsCapability as J, vectorStoreCapability as Jn, resolveCapMount as Jr, keychainCapability as Jt, UserRecordSchema as K, vectorDimFromBase64 as Kn, parseSecretRef as Kr, kebabToCamel as Kt, RUNTIME_DEFAULTS as L, storageMigrationCapability as Ln, isKeychainStoredField as Lr, gbToBytes as Lt, METHOD_ACCESS_MAP as M, scoreRuntimes as Mn, expandCapMethods as Mr, expressionContainsBuiltinCall as Mt, MINUTES_PER_DAY as N, settingsStoreCapability as Nn, formatSecretScope as Nr, extractNestedAddonId as Nt, KEYCHAIN_RESET_TRIGGER_ACTOR as O, resolveNotificationTapAddress as On, customAction as Or, enumerateSchemaFields as Ot, MODEL_FORMATS as P, siteZoneKey as Pn, hydrateSchema as Pr, filesystemBrowseCapability as Pt, backupCapability as Q, cloneStatefulExpressionMemory as Qn, secretTreeFromSchema as Qr, localNetworkCapability as Qt, RecordingStatusSchema as R, storageOccupancyCapability as Rn, isSecretClear as Rr, hfModelUrl as Rt, FIRST_LEVEL_MACRO_CLASSES as S, resolveBucketMs as Sn, asNumber as Sr, deviceExtensionCapability as St, HF_REPO as T, resolveHubAddressRoles as Tn, collectSecretConfigKeys as Tr, deviceStatusCapability as Tt, StorageLocationModeSchema as U, userManagementCapability as Un, normalizeSecretOwner as Ur, isLocationEnabled as Ut, ScopedTokenSchema as V, streamQualityLabel as Vn, makeSecretMarker as Vr, isCollectionArrayMethod as Vt, StorageLocationTypeSchema as W, validateComposition as Wn, parseJsonObject as Wr, isObjectInput as Wt, alertsCapability as X, COMPOSER_ADDON_ID as Xn, scopeKey as Xr, legacyModeOf as Xt, addonWidgetsCapability as Y, withLocationMode as Yn, resolveSecretMarkers as Yr, legacyAutoLinkIds as Yt, authProviderCapability as Z, buildFfmpegArgs as Zn, secretTreeFromPaths as Zr, lifecycleJobSchema as Zt, DATABASE_SNAPSHOT_TIMEOUT_MS as _, procedureAuthKey as _n, ReadinessRegistry as _r, declarationOwnerNodeId as _t, BatteryStatusSchema as a, memoizePinnedFfmpeg as an, createStatefulExpressionMemory as ar, checkRoleAddress as at, DeclaredDevices as b, replacedFieldKeys as bn, WELL_KNOWN_TAB_MAP as br, deriveBatteryPresence as bt, CAP_NAMES_WITH_STATUS as c, motionCapability as cn, DeviceFeature as cr, compositionSourceRefs as ct, CORE_BLOCKS_ADDON_ID as d, objectInputDeclaresAddonId as dn, errMsg as dr, coreBlockIdFromAddonId as dt, toNodeId as ei, logDestinationCapability as en, composedDeviceStableId as er, batteryCapability as et, CORE_BLOCK_ADDON_PREFIX as f, objectInputDeclaresRequiredDeviceId as fn, BaseAddon as fr, coreBlockSourceKind as ft, DATABASE_SNAPSHOT_SUFFIX as g, platformProbeCapability as gn, REDACTED_SECRET as gr, databaseSnapshotCapability as gt, DATABASE_SNAPSHOT_PARTIAL_SUFFIX as h, planComposition as hn, DEVICE_STATUS_METHOD as hr, dataStoreProviderCapability as ht, BaseDevice as i, mayWriteToLocation as in, compositionSourceKey as ir, cameraGridLayoutCapability as it, LocationIconIdSchema as j, scopesAllowDeviceCap as jn, emitReadiness as jr, expandContainer as jt, LOG_LEVEL_RANK as k, runtimeStatePolicyFor as kn, defineCustomActions as kr, evaluateCompositionField as kt, COMPOSED_ITEM_FIXED_FIELDS as l, normalizeCoreBlockWrite as ln, DeviceRole as lr, coreBlockAddonId as lt, CoreBlockSchema as m, pickAppLinkHub as mn, DEVICE_SETTINGS_CONTRIBUTION_METHODS as mr, createDeviceExtensionProvider as mt, AlertSchema as n, transformSecretWrite as ni, looseSchema as nn, compositionItemFieldPath as nr, buildStreamParamsConfigSchema as nt, CAMERA_SWITCH_ORDER as o, metricsProviderCapability as on, disarmRoseMemory as or, composerCapability as ot, CalendarPreferencesSchema as p, parseStreamParamsFormPatch as pn, DATAPLANE_SECRET_HEADER as pr, coreBlocksCapability as pt, addonPagesCapability as q, vectorIndexDimConflictError as qn, readinessKey as qr, keychainAdminCapability as qt, ApiKeyRecordSchema as r, EventCategory as ri, mayReadLocation as rn, compositionSliceKey as rr, calendarsCapability as rt, CAMSTACK_APP_LINK_ORIGIN as s, modeMayWrite as sn, toExpressionValue as sr, compositionFieldKey as st, ALL_CAPABILITY_DEFINITIONS as t, toSecretFieldView as ti, logLevelAtMost as tn, compositionFeatureEnabled as tr, buildCapabilityLookup as tt, COMPOSER_RUNNER_ID as u, normalizeUnit as un, DeviceType as ur, coreBlockComposition as ut, DAY_NAMES as v, ptzAutotrackCapability as vn, ReadinessTimeoutError as vr, decodeVectorBase64 as vt, FieldClaimSchema as w, resolveCoreBlockFiles as wn, buildSecretRef as wr, deviceStateCapability as wt, DeviceStatusSchema as x, resolveAppConnections as xn, asJsonObject as xr, describeComposableCaps as xt, DERIVED_CAMERA_SILENCED_CAP_NAMES as y, reducePoints as yn, SECRET_CLEAR as yr, defineExtensionSlotProvider as yt, STORAGE_ACCESS_FALLBACK as z, storageProviderCapability as zn, isSecretMarker as zr, isAppLinkBase as zt };