@camstack/system 1.2.378 → 1.2.380

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 (119) hide show
  1. package/assets/addon-pages-aggregator/icon.svg +5 -0
  2. package/assets/addon-widgets-aggregator/icon.svg +6 -0
  3. package/assets/alert-center/icon.svg +5 -0
  4. package/assets/autotrack/icon.svg +5 -0
  5. package/assets/backup-orchestrator/icon.svg +5 -0
  6. package/assets/calendars/icon.svg +5 -0
  7. package/assets/camera-grid/icon.svg +10 -0
  8. package/assets/composer/icon.svg +7 -0
  9. package/assets/console-logging/icon.svg +4 -0
  10. package/assets/core-blocks/icon.svg +6 -0
  11. package/assets/device-manager/icon.svg +6 -0
  12. package/assets/filesystem-storage/icon.svg +6 -0
  13. package/assets/hub-forwarder/icon.svg +7 -0
  14. package/assets/keychain/icon.svg +6 -0
  15. package/assets/liveness-monitor/icon.svg +4 -0
  16. package/assets/local-auth/icon.svg +5 -0
  17. package/assets/local-network/icon.svg +7 -0
  18. package/assets/loki-logging/icon.svg +7 -0
  19. package/assets/metrics-native/icon.svg +3 -0
  20. package/assets/platform-probe/icon.svg +5 -0
  21. package/assets/remote-access-orchestrator/icon.svg +5 -0
  22. package/assets/snapshot/icon.svg +4 -0
  23. package/assets/sqlite-settings/icon.svg +5 -0
  24. package/assets/storage-orchestrator/icon.svg +8 -0
  25. package/assets/system-config/icon.svg +4 -0
  26. package/assets/winston-logging/icon.svg +6 -0
  27. package/dist/addon-runner.js +1 -1
  28. package/dist/addon-runner.mjs +1 -1
  29. package/dist/addon-utils.js +1 -1
  30. package/dist/addon-utils.mjs +1 -1
  31. package/dist/auth/auth-manager.d.ts +10 -2
  32. package/dist/auth/jwt-signing-key.d.ts +42 -0
  33. package/dist/auth/user-manager.d.ts +19 -19
  34. package/dist/builtins/addon-pages-aggregator/addon-pages-aggregator.addon.js +1 -1
  35. package/dist/builtins/addon-pages-aggregator/addon-pages-aggregator.addon.mjs +1 -1
  36. package/dist/builtins/addon-widgets-aggregator/addon-widgets-aggregator.addon.js +1 -1
  37. package/dist/builtins/addon-widgets-aggregator/addon-widgets-aggregator.addon.mjs +1 -1
  38. package/dist/builtins/alerts/alerts.addon.js +1 -1
  39. package/dist/builtins/alerts/alerts.addon.mjs +1 -1
  40. package/dist/builtins/autotrack/index.js +1 -1
  41. package/dist/builtins/autotrack/index.mjs +1 -1
  42. package/dist/builtins/backup-orchestrator/backup-orchestrator.addon.js +1 -1
  43. package/dist/builtins/backup-orchestrator/backup-orchestrator.addon.mjs +1 -1
  44. package/dist/builtins/calendars/calendars.addon.js +1 -1
  45. package/dist/builtins/calendars/calendars.addon.mjs +1 -1
  46. package/dist/builtins/camera-grid/index.js +1 -1
  47. package/dist/builtins/camera-grid/index.mjs +1 -1
  48. package/dist/builtins/composer/composer.addon.js +2 -2
  49. package/dist/builtins/composer/composer.addon.mjs +2 -2
  50. package/dist/builtins/console-logging/index.js +1 -1
  51. package/dist/builtins/console-logging/index.mjs +1 -1
  52. package/dist/builtins/core-blocks/core-blocks.addon.js +2 -2
  53. package/dist/builtins/core-blocks/core-blocks.addon.mjs +2 -2
  54. package/dist/builtins/device-manager/device-manager.addon.js +2 -2
  55. package/dist/builtins/device-manager/device-manager.addon.mjs +2 -2
  56. package/dist/builtins/hub-forwarder/index.js +1 -1
  57. package/dist/builtins/hub-forwarder/index.mjs +1 -1
  58. package/dist/builtins/keychain/index.js +34 -4
  59. package/dist/builtins/keychain/index.mjs +34 -4
  60. package/dist/builtins/keychain/keychain-service.d.ts +14 -2
  61. package/dist/builtins/keychain/system-held-secrets.d.ts +11 -0
  62. package/dist/builtins/liveness-monitor/liveness-monitor.addon.js +1 -1
  63. package/dist/builtins/liveness-monitor/liveness-monitor.addon.mjs +1 -1
  64. package/dist/builtins/local-auth/admin-account-boot.d.ts +1 -1
  65. package/dist/builtins/local-auth/auth-config-reader.d.ts +9 -7
  66. package/dist/builtins/local-auth/jwt-signing-key-keeper.d.ts +30 -0
  67. package/dist/builtins/local-auth/local-auth.addon.d.ts +2 -6
  68. package/dist/builtins/local-auth/local-auth.addon.js +127 -221
  69. package/dist/builtins/local-auth/local-auth.addon.mjs +126 -220
  70. package/dist/builtins/local-network/local-network.addon.js +1 -1
  71. package/dist/builtins/local-network/local-network.addon.mjs +1 -1
  72. package/dist/builtins/loki-logging/index.js +1 -1
  73. package/dist/builtins/loki-logging/index.mjs +1 -1
  74. package/dist/builtins/native-metrics/native-metrics.addon.js +1 -1
  75. package/dist/builtins/native-metrics/native-metrics.addon.mjs +1 -1
  76. package/dist/builtins/platform-probe/index.js +1 -1
  77. package/dist/builtins/platform-probe/index.mjs +1 -1
  78. package/dist/builtins/remote-access-orchestrator/remote-access-orchestrator.addon.js +1 -1
  79. package/dist/builtins/remote-access-orchestrator/remote-access-orchestrator.addon.mjs +1 -1
  80. package/dist/builtins/snapshot/index.js +1 -1
  81. package/dist/builtins/snapshot/index.mjs +1 -1
  82. package/dist/builtins/sqlite-storage/filesystem-storage.addon.js +1 -1
  83. package/dist/builtins/sqlite-storage/filesystem-storage.addon.mjs +1 -1
  84. package/dist/builtins/sqlite-storage/sqlite-settings.addon.js +0 -0
  85. package/dist/builtins/sqlite-storage/sqlite-settings.addon.mjs +0 -0
  86. package/dist/builtins/storage-orchestrator/storage-orchestrator.addon.js +1 -1
  87. package/dist/builtins/storage-orchestrator/storage-orchestrator.addon.mjs +1 -1
  88. package/dist/builtins/system-config/cluster-secret-keeper.d.ts +36 -0
  89. package/dist/builtins/system-config/system-config.addon.d.ts +13 -0
  90. package/dist/builtins/system-config/system-config.addon.js +244 -53
  91. package/dist/builtins/system-config/system-config.addon.mjs +244 -54
  92. package/dist/builtins/winston-logging/index.js +1 -1
  93. package/dist/builtins/winston-logging/index.mjs +1 -1
  94. package/dist/{child-cap-dispatch-C9lmrWFT.js → child-cap-dispatch-CZeRUgYF.js} +1 -1
  95. package/dist/{child-cap-dispatch-DpHovtQd.mjs → child-cap-dispatch-CpjohToR.mjs} +1 -1
  96. package/dist/cluster-secret-BDue-uJj.mjs +83 -0
  97. package/dist/cluster-secret-Dg0OOOSr.js +148 -0
  98. package/dist/{composition-sources-CxhGdtdh.js → composition-sources-CHvLMrFI.js} +1 -1
  99. package/dist/{composition-sources-BLBd338N.mjs → composition-sources-DT_uJwI3.mjs} +1 -1
  100. package/dist/{dist-Bvl5JgNt.mjs → dist-B9oFw2jh.mjs} +58 -2
  101. package/dist/{dist-KxsOMQik.js → dist-Cc6KOdY-.js} +69 -1
  102. package/dist/{event-loop-stall-monitor-D8rqSWfW.mjs → event-loop-stall-monitor-anUH2IE1.mjs} +14 -14
  103. package/dist/{event-loop-stall-monitor-CbSmCWkp.js → event-loop-stall-monitor-mk6WGxir.js} +14 -14
  104. package/dist/index.d.ts +4 -2
  105. package/dist/index.js +192 -62
  106. package/dist/index.mjs +171 -55
  107. package/dist/jwt-signing-key-C2rE3wH6.js +174 -0
  108. package/dist/jwt-signing-key-Qhde8r82.mjs +127 -0
  109. package/dist/kernel/config-manager.d.ts +1 -1
  110. package/dist/kernel/config-schema.d.ts +4 -11
  111. package/dist/kernel/index.d.ts +2 -1
  112. package/dist/kernel/moleculer/broker-factory.d.ts +0 -2
  113. package/dist/kernel/moleculer/cluster-secret.d.ts +31 -0
  114. package/dist/kernel/moleculer/hub-service.d.ts +7 -4
  115. package/dist/kernel/moleculer/node-registry.d.ts +1 -1
  116. package/dist/kernel/system-settings-policy.d.ts +7 -9
  117. package/dist/{retired-settings-keys-BAcfvFtm.mjs → retired-settings-keys-DlZ3VV6x.mjs} +1 -1
  118. package/dist/{retired-settings-keys-gTsZfpmP.js → retired-settings-keys-YOOKLA3v.js} +1 -1
  119. package/package.json +55 -3
@@ -1413,6 +1413,23 @@ function projectStore(store, perNodeKeys, nodeId) {
1413
1413
  }
1414
1414
  return out;
1415
1415
  }
1416
+ /**
1417
+ * The address of one keychain value: `secret://<owner>/<scope>/<fieldPath>`.
1418
+ *
1419
+ * A ref is DETERMINISTIC from where the value lives — the owner addon, the
1420
+ * scope (global, one node, one device, one integration, one row of a business
1421
+ * collection) and the field path inside that scope — so saving the same field
1422
+ * twice updates the same ref, and the ref itself says which settings blob
1423
+ * points at it. It is also the AAD of the value's ciphertext: a ciphertext
1424
+ * copied onto another ref does not decrypt.
1425
+ *
1426
+ * Array items are addressed by ITEM ID, never by index
1427
+ * (`providers[authentik].clientSecret`), so reordering a list keeps every ref.
1428
+ *
1429
+ * Pure and browser-safe: no node builtins, no I/O.
1430
+ */
1431
+ /** The URI scheme of every keychain ref. */
1432
+ var SECRET_REF_SCHEME = "secret://";
1416
1433
  var GLOBAL_SCOPE = { kind: "global" };
1417
1434
  /** The scope every addon-wide (not per-node, not per-device) setting lives in. */
1418
1435
  function globalSecretScope() {
@@ -1454,6 +1471,13 @@ function formatSecretScope(scope) {
1454
1471
  function arrayItemFieldPath(arrayKey, itemId, fieldKey) {
1455
1472
  return `${arrayKey}[${encodeSegment(itemId)}].${fieldKey}`;
1456
1473
  }
1474
+ /** Build a ref. Throws on an empty owner or field path — both are bugs. */
1475
+ function buildSecretRef(parts) {
1476
+ const owner = normalizeSecretOwner(parts.owner);
1477
+ if (owner.length === 0) throw new Error("buildSecretRef: owner is empty");
1478
+ if (parts.fieldPath.length === 0) throw new Error("buildSecretRef: fieldPath is empty");
1479
+ return `${SECRET_REF_SCHEME}${encodeSegment(owner)}/${formatSecretScope(parts.scope)}/${parts.fieldPath}`;
1480
+ }
1457
1481
  function parseScope(segments) {
1458
1482
  switch (segments[0]) {
1459
1483
  case "global": return {
@@ -15006,6 +15030,14 @@ var KeychainAuditEntrySchema = z.object({
15006
15030
  ref: z.string().nullable(),
15007
15031
  detail: z.string().nullable()
15008
15032
  });
15033
+ var KEYCHAIN_RESET_CONFIRMATION = "RESET KEYCHAIN";
15034
+ /**
15035
+ * Secrets the HUB itself holds (owner `system`) that no settings form shows:
15036
+ * `jwt-signing-key` — the session signing key (D797). It is always "in use",
15037
+ * never an orphan; it is generated on a fresh hub and replaced only through
15038
+ * {@link keychainAdminCapability.methods.setSystemSecret}.
15039
+ */
15040
+ var SystemHeldSecretNameSchema = z.enum(["jwt-signing-key"]);
15009
15041
  var keychainAdminCapability = {
15010
15042
  name: "keychain-admin",
15011
15043
  scope: "system",
@@ -15026,6 +15058,24 @@ var keychainAdminCapability = {
15026
15058
  auth: "admin",
15027
15059
  caller: "required"
15028
15060
  }),
15061
+ /**
15062
+ * Replace a system-held secret (no form edits it) with an operator-supplied
15063
+ * value — e.g. importing the session signing key a pre-keychain hub kept in
15064
+ * config.yaml, so the tokens it signed stay valid. Audited as the operator.
15065
+ * Replacing the session signing key invalidates every token signed with the
15066
+ * previous one.
15067
+ */
15068
+ setSystemSecret: method(z.object({
15069
+ name: SystemHeldSecretNameSchema,
15070
+ value: z.string().min(16)
15071
+ }), z.object({
15072
+ ref: z.string(),
15073
+ version: z.number().int()
15074
+ }), {
15075
+ kind: "mutation",
15076
+ auth: "admin",
15077
+ caller: "required"
15078
+ }),
15029
15079
  /** Delete refs no owner points at any more. Re-checked here; `unknown` is kept. */
15030
15080
  deleteOrphans: method(z.object({ refs: z.array(z.string().min(1)).max(1e3) }), z.object({
15031
15081
  deleted: z.array(z.string()).readonly(),
@@ -15078,7 +15128,7 @@ var keychainAdminCapability = {
15078
15128
  * key. Every secret field then reads "not set". Requires the typed
15079
15129
  * confirmation {@link KEYCHAIN_RESET_CONFIRMATION}.
15080
15130
  */
15081
- resetKeychain: method(z.object({ confirm: z.literal("RESET KEYCHAIN") }), z.object({
15131
+ resetKeychain: method(z.object({ confirm: z.literal(KEYCHAIN_RESET_CONFIRMATION) }), z.object({
15082
15132
  archivedCollection: z.string().nullable(),
15083
15133
  archived: z.number().int()
15084
15134
  }), {
@@ -52423,6 +52473,12 @@ var METHOD_ACCESS_MAP = Object.freeze({
52423
52473
  addonId: null,
52424
52474
  access: "create"
52425
52475
  },
52476
+ "keychainAdmin.setSystemSecret": {
52477
+ capName: "keychain-admin",
52478
+ capScope: "system",
52479
+ addonId: null,
52480
+ access: "create"
52481
+ },
52426
52482
  "keychainAdmin.status": {
52427
52483
  capName: "keychain-admin",
52428
52484
  capScope: "system",
@@ -63049,4 +63105,4 @@ function enumerateInferenceDevices(hw) {
63049
63105
  return out;
63050
63106
  }
63051
63107
  //#endregion
63052
- export { buildStreamParamsConfigSchema as $, compositionItemFieldPath as $n, looseSchema as $t, MINUTES_PER_DAY as A, scoreRuntimes as An, isSecretMarker as Ar, extractNestedAddonId as At, StorageLocationModeSchema as B, userManagementCapability as Bn, scrubKnownSecrets as Br, isLocationEnabled as Bt, FieldClaimModeSchema as C, resolveHubAddressRoles as Cn, emitDownForOwnedCaps as Cr, enumerateInferenceDevices as Ct, LegacyStorageLocationDefaultSchema as D, runtimeStatePolicyFor as Dn, hydrateSchema as Dr, evictionPolicyOfLocation as Dt, LOG_LEVEL_RANK as E, resolveNotificationTapAddress as En, formatSecretScope as Er, evaluateCompositionField as Et, RecordingStatusSchema as F, storageMigrationCapability as Fn, parseSecretRef as Fr, hfModelUrl as Ft, addonSettingsCapability as G, vectorStoreCapability as Gn, EventCategory as Gr, keychainCapability as Gt, StorageMigrationJobSchema as H, validateCustomAddress as Hn, sleep as Hr, isVoidInput as Ht, STORAGE_ACCESS_FALLBACK as I, storageOccupancyCapability as In, readinessKey as Ir, isAppLinkBase as It, authProviderCapability as J, buildFfmpegArgs as Jn, lifecycleJobSchema as Jt, addonWidgetsCapability as K, withLocationMode as Kn, legacyAutoLinkIds as Kt, STREAM_PROFILE_META as L, storageProviderCapability as Ln, resolveCapMount as Lr, isArrayOutputSchema as Lt, MOTION_CLOSE_AFTER_MS as M, siteZoneKey as Mn, normalizeSecretOwner as Mr, foldSnapshotByFunction as Mt, RECORDING_SOURCE_CAMSTACK_ADDON as N, snapshotCapability as Nn, parseJsonObject as Nr, formatMinutes as Nt, LocationIconIdSchema as O, scopesAllowAddon as On, isDeviceConfigCap as Or, expandContainer as Ot, RUNTIME_DEFAULTS as P, storageCapability as Pn, parseJsonUnknown as Pr, gbToBytes as Pt, buildCapabilityLookup as Q, compositionFeatureEnabled as Qn, logLevelAtMost as Qt, ScopedTokenSchema as R, streamCatalogCapability as Rn, resolveSecretMarkers as Rr, isCollectionArrayMethod as Rt, FIRST_LEVEL_MACRO_CLASSES as S, resolveCoreBlockFiles as Sn, createEvent as Sr, deviceStatusCapability as St, HF_REPO as T, resolveMethodAuth as Tn, expandCapMethods as Tr, enumerateSchemaFields as Tt, UserRecordSchema as U, vectorDimFromBase64 as Un, toNodeId as Ur, kebabToCamel as Ut, StorageLocationTypeSchema as V, validateComposition as Vn, secretTreeFromPaths as Vr, isObjectInput as Vt, addonPagesCapability as W, vectorIndexDimConflictError as Wn, transformSecretWrite as Wr, keychainAdminCapability as Wt, bareAddonId as X, composedDeviceRef as Xn, locationIconKey as Xt, backupCapability as Y, cloneStatefulExpressionMemory as Yn, localNetworkCapability as Yt, batteryCapability as Z, composedDeviceStableId as Zn, logDestinationCapability as Zt, DATABASE_SNAPSHOT_TIMEOUT_MS as _, reducePoints as _n, asJsonObject as _r, deriveBatteryPresence as _t, BatteryStatusSchema as a, modeMayWrite as an, DeviceFeature as ar, compositionSourceRefs as at, DeclaredDevices as b, resolveBucketMs as bn, collectSecretConfigKeys as br, deviceManagerCapability as bt, CAP_NAMES_WITH_STATUS as c, normalizeUnit as cn, errMsg as cr, coreBlockIdFromAddonId as ct, CORE_BLOCKS_ADDON_ID as d, parseStreamParamsFormPatch as dn, DEVICE_SETTINGS_CONTRIBUTION_METHODS as dr, createDeviceExtensionProvider as dt, maskUrlCredentials as en, compositionSliceKey as er, calendarsCapability as et, CORE_BLOCK_ADDON_PREFIX as f, pickAppLinkHub as fn, DEVICE_STATUS_METHOD as fr, dataStoreProviderCapability as ft, DATABASE_SNAPSHOT_SUFFIX as g, ptzAutotrackCapability as gn, WELL_KNOWN_TAB_MAP as gr, defineExtensionSlotProvider as gt, DATABASE_SNAPSHOT_PARTIAL_SUFFIX as h, procedureAuthKey as hn, ReadinessTimeoutError as hr, decodeVectorBase64 as ht, BaseDevice as i, metricsProviderCapability as in, toExpressionValue as ir, compositionFieldKey as it, MODEL_FORMATS as j, settingsStoreCapability as jn, nodePin as jr, filesystemBrowseCapability as jt, METHOD_ACCESS_MAP as k, scopesAllowDeviceCap as kn, isEvent as kr, expressionContainsBuiltinCall as kt, COMPOSED_ITEM_FIXED_FIELDS as l, objectInputDeclaresAddonId as ln, BaseAddon as lr, coreBlockSourceKind as lt, CoreBlockSchema as m, platformProbeCapability as mn, ReadinessRegistry as mr, declarationOwnerNodeId as mt, AlertSchema as n, mayWriteToLocation as nn, createStatefulExpressionMemory as nr, checkRoleAddress as nt, CAMERA_SWITCH_ORDER as o, motionCapability as on, DeviceRole as or, coreBlockAddonId as ot, CalendarPreferencesSchema as p, planComposition as pn, REDACTED_SECRET as pr, databaseSnapshotCapability as pt, alertsCapability as q, COMPOSER_ADDON_ID as qn, legacyModeOf as qt, ApiKeyRecordSchema as r, memoizePinnedFfmpeg as rn, disarmRoseMemory as rr, composerCapability as rt, CAMSTACK_APP_LINK_ORIGIN as s, normalizeCoreBlockWrite as sn, DeviceType as sr, coreBlockComposition as st, ALL_CAPABILITY_DEFINITIONS as t, mayReadLocation as tn, compositionSourceKey as tr, cameraGridLayoutCapability as tt, COMPOSER_RUNNER_ID as u, objectInputDeclaresRequiredDeviceId as un, DATAPLANE_SECRET_HEADER as ur, coreBlocksCapability as ut, DAY_NAMES as v, replacedFieldKeys as vn, asNumber as vr, describeComposableCaps as vt, FieldClaimSchema as w, resolveLocationMode as wn, emitReadiness as wr, enumerateItemArrayFields as wt, DeviceStatusSchema as x, resolveCoreBlockEntry as xn, collectZodSecretPaths as xr, deviceStateCapability as xt, DERIVED_CAMERA_SILENCED_CAP_NAMES as y, resolveAppConnections as yn, asString$1 as yr, deviceExtensionCapability as yt, StorageCleanupJobSchema as z, streamQualityLabel as zn, scopeKey as zr, isDefaultAppConnectionEndpoint as zt };
63108
+ export { buildStreamParamsConfigSchema as $, compositionItemFieldPath as $n, looseSchema as $t, MINUTES_PER_DAY as A, scoreRuntimes as An, isEvent as Ar, extractNestedAddonId as At, StorageLocationModeSchema as B, userManagementCapability as Bn, scopeKey as Br, isLocationEnabled as Bt, FieldClaimModeSchema as C, resolveHubAddressRoles as Cn, createEvent as Cr, enumerateInferenceDevices as Ct, LegacyStorageLocationDefaultSchema as D, runtimeStatePolicyFor as Dn, formatSecretScope as Dr, evictionPolicyOfLocation as Dt, LOG_LEVEL_RANK as E, resolveNotificationTapAddress as En, expandCapMethods as Er, evaluateCompositionField as Et, RecordingStatusSchema as F, storageMigrationCapability as Fn, parseJsonUnknown as Fr, hfModelUrl as Ft, addonSettingsCapability as G, vectorStoreCapability as Gn, toNodeId as Gr, keychainCapability as Gt, StorageMigrationJobSchema as H, validateCustomAddress as Hn, secretTreeFromPaths as Hr, isVoidInput as Ht, STORAGE_ACCESS_FALLBACK as I, storageOccupancyCapability as In, parseSecretRef as Ir, isAppLinkBase as It, authProviderCapability as J, buildFfmpegArgs as Jn, lifecycleJobSchema as Jt, addonWidgetsCapability as K, withLocationMode as Kn, transformSecretWrite as Kr, legacyAutoLinkIds as Kt, STREAM_PROFILE_META as L, storageProviderCapability as Ln, readinessKey as Lr, isArrayOutputSchema as Lt, MOTION_CLOSE_AFTER_MS as M, siteZoneKey as Mn, nodePin as Mr, foldSnapshotByFunction as Mt, RECORDING_SOURCE_CAMSTACK_ADDON as N, snapshotCapability as Nn, normalizeSecretOwner as Nr, formatMinutes as Nt, LocationIconIdSchema as O, scopesAllowAddon as On, hydrateSchema as Or, expandContainer as Ot, RUNTIME_DEFAULTS as P, storageCapability as Pn, parseJsonObject as Pr, gbToBytes as Pt, buildCapabilityLookup as Q, compositionFeatureEnabled as Qn, logLevelAtMost as Qt, ScopedTokenSchema as R, streamCatalogCapability as Rn, resolveCapMount as Rr, isCollectionArrayMethod as Rt, FIRST_LEVEL_MACRO_CLASSES as S, resolveCoreBlockFiles as Sn, collectZodSecretPaths as Sr, deviceStatusCapability as St, HF_REPO as T, resolveMethodAuth as Tn, emitReadiness as Tr, enumerateSchemaFields as Tt, UserRecordSchema as U, vectorDimFromBase64 as Un, secretTreeFromSchema as Ur, kebabToCamel as Ut, StorageLocationTypeSchema as V, validateComposition as Vn, scrubKnownSecrets as Vr, isObjectInput as Vt, addonPagesCapability as W, vectorIndexDimConflictError as Wn, sleep as Wr, keychainAdminCapability as Wt, bareAddonId as X, composedDeviceRef as Xn, locationIconKey as Xt, backupCapability as Y, cloneStatefulExpressionMemory as Yn, localNetworkCapability as Yt, batteryCapability as Z, composedDeviceStableId as Zn, logDestinationCapability as Zt, DATABASE_SNAPSHOT_TIMEOUT_MS as _, reducePoints as _n, asJsonObject as _r, deriveBatteryPresence as _t, BatteryStatusSchema as a, modeMayWrite as an, DeviceFeature as ar, compositionSourceRefs as at, DeclaredDevices as b, resolveBucketMs as bn, buildSecretRef as br, deviceManagerCapability as bt, CAP_NAMES_WITH_STATUS as c, normalizeUnit as cn, errMsg as cr, coreBlockIdFromAddonId as ct, CORE_BLOCKS_ADDON_ID as d, parseStreamParamsFormPatch as dn, DEVICE_SETTINGS_CONTRIBUTION_METHODS as dr, createDeviceExtensionProvider as dt, maskUrlCredentials as en, compositionSliceKey as er, calendarsCapability as et, CORE_BLOCK_ADDON_PREFIX as f, pickAppLinkHub as fn, DEVICE_STATUS_METHOD as fr, dataStoreProviderCapability as ft, DATABASE_SNAPSHOT_SUFFIX as g, ptzAutotrackCapability as gn, WELL_KNOWN_TAB_MAP as gr, defineExtensionSlotProvider as gt, DATABASE_SNAPSHOT_PARTIAL_SUFFIX as h, procedureAuthKey as hn, ReadinessTimeoutError as hr, decodeVectorBase64 as ht, BaseDevice as i, metricsProviderCapability as in, toExpressionValue as ir, compositionFieldKey as it, MODEL_FORMATS as j, settingsStoreCapability as jn, isSecretMarker as jr, filesystemBrowseCapability as jt, METHOD_ACCESS_MAP as k, scopesAllowDeviceCap as kn, isDeviceConfigCap as kr, expressionContainsBuiltinCall as kt, COMPOSED_ITEM_FIXED_FIELDS as l, objectInputDeclaresAddonId as ln, BaseAddon as lr, coreBlockSourceKind as lt, CoreBlockSchema as m, platformProbeCapability as mn, ReadinessRegistry as mr, declarationOwnerNodeId as mt, AlertSchema as n, mayWriteToLocation as nn, createStatefulExpressionMemory as nr, checkRoleAddress as nt, CAMERA_SWITCH_ORDER as o, motionCapability as on, DeviceRole as or, coreBlockAddonId as ot, CalendarPreferencesSchema as p, planComposition as pn, REDACTED_SECRET as pr, databaseSnapshotCapability as pt, alertsCapability as q, COMPOSER_ADDON_ID as qn, EventCategory as qr, legacyModeOf as qt, ApiKeyRecordSchema as r, memoizePinnedFfmpeg as rn, disarmRoseMemory as rr, composerCapability as rt, CAMSTACK_APP_LINK_ORIGIN as s, normalizeCoreBlockWrite as sn, DeviceType as sr, coreBlockComposition as st, ALL_CAPABILITY_DEFINITIONS as t, mayReadLocation as tn, compositionSourceKey as tr, cameraGridLayoutCapability as tt, COMPOSER_RUNNER_ID as u, objectInputDeclaresRequiredDeviceId as un, DATAPLANE_SECRET_HEADER as ur, coreBlocksCapability as ut, DAY_NAMES as v, replacedFieldKeys as vn, asNumber as vr, describeComposableCaps as vt, FieldClaimSchema as w, resolveLocationMode as wn, emitDownForOwnedCaps as wr, enumerateItemArrayFields as wt, DeviceStatusSchema as x, resolveCoreBlockEntry as xn, collectSecretConfigKeys as xr, deviceStateCapability as xt, DERIVED_CAMERA_SILENCED_CAP_NAMES as y, resolveAppConnections as yn, asString$1 as yr, deviceExtensionCapability as yt, StorageCleanupJobSchema as z, streamQualityLabel as zn, resolveSecretMarkers as zr, isDefaultAppConnectionEndpoint as zt };
@@ -1413,6 +1413,23 @@ function projectStore(store, perNodeKeys, nodeId) {
1413
1413
  }
1414
1414
  return out;
1415
1415
  }
1416
+ /**
1417
+ * The address of one keychain value: `secret://<owner>/<scope>/<fieldPath>`.
1418
+ *
1419
+ * A ref is DETERMINISTIC from where the value lives — the owner addon, the
1420
+ * scope (global, one node, one device, one integration, one row of a business
1421
+ * collection) and the field path inside that scope — so saving the same field
1422
+ * twice updates the same ref, and the ref itself says which settings blob
1423
+ * points at it. It is also the AAD of the value's ciphertext: a ciphertext
1424
+ * copied onto another ref does not decrypt.
1425
+ *
1426
+ * Array items are addressed by ITEM ID, never by index
1427
+ * (`providers[authentik].clientSecret`), so reordering a list keeps every ref.
1428
+ *
1429
+ * Pure and browser-safe: no node builtins, no I/O.
1430
+ */
1431
+ /** The URI scheme of every keychain ref. */
1432
+ var SECRET_REF_SCHEME = "secret://";
1416
1433
  var GLOBAL_SCOPE = { kind: "global" };
1417
1434
  /** The scope every addon-wide (not per-node, not per-device) setting lives in. */
1418
1435
  function globalSecretScope() {
@@ -1454,6 +1471,13 @@ function formatSecretScope(scope) {
1454
1471
  function arrayItemFieldPath(arrayKey, itemId, fieldKey) {
1455
1472
  return `${arrayKey}[${encodeSegment(itemId)}].${fieldKey}`;
1456
1473
  }
1474
+ /** Build a ref. Throws on an empty owner or field path — both are bugs. */
1475
+ function buildSecretRef(parts) {
1476
+ const owner = normalizeSecretOwner(parts.owner);
1477
+ if (owner.length === 0) throw new Error("buildSecretRef: owner is empty");
1478
+ if (parts.fieldPath.length === 0) throw new Error("buildSecretRef: fieldPath is empty");
1479
+ return `${SECRET_REF_SCHEME}${encodeSegment(owner)}/${formatSecretScope(parts.scope)}/${parts.fieldPath}`;
1480
+ }
1457
1481
  function parseScope(segments) {
1458
1482
  switch (segments[0]) {
1459
1483
  case "global": return {
@@ -15006,6 +15030,14 @@ var KeychainAuditEntrySchema = zod.z.object({
15006
15030
  ref: zod.z.string().nullable(),
15007
15031
  detail: zod.z.string().nullable()
15008
15032
  });
15033
+ var KEYCHAIN_RESET_CONFIRMATION = "RESET KEYCHAIN";
15034
+ /**
15035
+ * Secrets the HUB itself holds (owner `system`) that no settings form shows:
15036
+ * `jwt-signing-key` — the session signing key (D797). It is always "in use",
15037
+ * never an orphan; it is generated on a fresh hub and replaced only through
15038
+ * {@link keychainAdminCapability.methods.setSystemSecret}.
15039
+ */
15040
+ var SystemHeldSecretNameSchema = zod.z.enum(["jwt-signing-key"]);
15009
15041
  var keychainAdminCapability = {
15010
15042
  name: "keychain-admin",
15011
15043
  scope: "system",
@@ -15026,6 +15058,24 @@ var keychainAdminCapability = {
15026
15058
  auth: "admin",
15027
15059
  caller: "required"
15028
15060
  }),
15061
+ /**
15062
+ * Replace a system-held secret (no form edits it) with an operator-supplied
15063
+ * value — e.g. importing the session signing key a pre-keychain hub kept in
15064
+ * config.yaml, so the tokens it signed stay valid. Audited as the operator.
15065
+ * Replacing the session signing key invalidates every token signed with the
15066
+ * previous one.
15067
+ */
15068
+ setSystemSecret: method(zod.z.object({
15069
+ name: SystemHeldSecretNameSchema,
15070
+ value: zod.z.string().min(16)
15071
+ }), zod.z.object({
15072
+ ref: zod.z.string(),
15073
+ version: zod.z.number().int()
15074
+ }), {
15075
+ kind: "mutation",
15076
+ auth: "admin",
15077
+ caller: "required"
15078
+ }),
15029
15079
  /** Delete refs no owner points at any more. Re-checked here; `unknown` is kept. */
15030
15080
  deleteOrphans: method(zod.z.object({ refs: zod.z.array(zod.z.string().min(1)).max(1e3) }), zod.z.object({
15031
15081
  deleted: zod.z.array(zod.z.string()).readonly(),
@@ -15078,7 +15128,7 @@ var keychainAdminCapability = {
15078
15128
  * key. Every secret field then reads "not set". Requires the typed
15079
15129
  * confirmation {@link KEYCHAIN_RESET_CONFIRMATION}.
15080
15130
  */
15081
- resetKeychain: method(zod.z.object({ confirm: zod.z.literal("RESET KEYCHAIN") }), zod.z.object({
15131
+ resetKeychain: method(zod.z.object({ confirm: zod.z.literal(KEYCHAIN_RESET_CONFIRMATION) }), zod.z.object({
15082
15132
  archivedCollection: zod.z.string().nullable(),
15083
15133
  archived: zod.z.number().int()
15084
15134
  }), {
@@ -52423,6 +52473,12 @@ var METHOD_ACCESS_MAP = Object.freeze({
52423
52473
  addonId: null,
52424
52474
  access: "create"
52425
52475
  },
52476
+ "keychainAdmin.setSystemSecret": {
52477
+ capName: "keychain-admin",
52478
+ capScope: "system",
52479
+ addonId: null,
52480
+ access: "create"
52481
+ },
52426
52482
  "keychainAdmin.status": {
52427
52483
  capName: "keychain-admin",
52428
52484
  capScope: "system",
@@ -63463,6 +63519,12 @@ Object.defineProperty(exports, "buildFfmpegArgs", {
63463
63519
  return buildFfmpegArgs;
63464
63520
  }
63465
63521
  });
63522
+ Object.defineProperty(exports, "buildSecretRef", {
63523
+ enumerable: true,
63524
+ get: function() {
63525
+ return buildSecretRef;
63526
+ }
63527
+ });
63466
63528
  Object.defineProperty(exports, "buildStreamParamsConfigSchema", {
63467
63529
  enumerable: true,
63468
63530
  get: function() {
@@ -64171,6 +64233,12 @@ Object.defineProperty(exports, "secretTreeFromPaths", {
64171
64233
  return secretTreeFromPaths;
64172
64234
  }
64173
64235
  });
64236
+ Object.defineProperty(exports, "secretTreeFromSchema", {
64237
+ enumerable: true,
64238
+ get: function() {
64239
+ return secretTreeFromSchema;
64240
+ }
64241
+ });
64174
64242
  Object.defineProperty(exports, "settingsStoreCapability", {
64175
64243
  enumerable: true,
64176
64244
  get: function() {
@@ -1,4 +1,4 @@
1
- import { Ft as hfModelUrl, T as HF_REPO, j as MODEL_FORMATS } from "./dist-Bvl5JgNt.mjs";
1
+ import { Ft as hfModelUrl, T as HF_REPO, j as MODEL_FORMATS } from "./dist-B9oFw2jh.mjs";
2
2
  import { createHash } from "node:crypto";
3
3
  import * as path$1 from "node:path";
4
4
  import path from "node:path";
@@ -65,28 +65,28 @@ var HOSTED_MODEL_REVISIONS = {
65
65
  "objectDetection/yolo26/onnx/camstack-yolo26s-320.onnx": "465069e0eb3d44e45c2de2c57a57c9ff6f1466cda0816d7ca05ce15e388b0ae3",
66
66
  "objectDetection/yolo26/onnx/camstack-yolo26s.onnx": "d2e7ed3e5ef3b7fac18628c63d2bef0d5ae144cb2c239b195eb90ff96437fed5",
67
67
  "objectDetection/yolo26/onnx/camstack-yolo26x.onnx": "6d10ddc274ea5e6597c69471a3e122eee7a4cb2a831c9449b30b0e69f4349133",
68
- "objectDetection/yolo26/openvino/camstack-yolo26l-256-int8.xml": "d59a9920857a48d27bda14b1cbe3ef1390e1032c37a822cbc567f2a03d1f5e2f",
68
+ "objectDetection/yolo26/openvino/camstack-yolo26l-256-int8.xml": "d9a65db447fa54dda9f039ed11861c12b8f88e9d9e3adb845afd3bf1a34ba2ff",
69
69
  "objectDetection/yolo26/openvino/camstack-yolo26l-256.xml": "0c78828d4abe9858bb7ff543ee656adb874c11a76cbacbdcca7777d356be2ee3",
70
70
  "objectDetection/yolo26/openvino/camstack-yolo26l-320-int8.xml": "9c441c07c7c2d47982b44a2f2d22af0d77ffd466f7279b843c9bbe21cd07a5d8",
71
71
  "objectDetection/yolo26/openvino/camstack-yolo26l-320.xml": "0c78828d4abe9858bb7ff543ee656adb874c11a76cbacbdcca7777d356be2ee3",
72
72
  "objectDetection/yolo26/openvino/camstack-yolo26l-fp16.xml": "653a3bf71753672f56a2c8dae65195c8c99029abb3d3d7a42e25860a2071df39",
73
- "objectDetection/yolo26/openvino/camstack-yolo26l-int8.xml": "9e2c1de16b3533c0f8d2ed58e385515bbcb6ab40231bdace5b922795b88127be",
73
+ "objectDetection/yolo26/openvino/camstack-yolo26l-int8.xml": "86e663b49d43c4cb777e5ba5acadc03595879dbaa4e598b2b741067b9a2f066e",
74
74
  "objectDetection/yolo26/openvino/camstack-yolo26l.xml": "653a3bf71753672f56a2c8dae65195c8c99029abb3d3d7a42e25860a2071df39",
75
- "objectDetection/yolo26/openvino/camstack-yolo26m-256-int8.xml": "01c747e08fbac6fedfc874924a267ba3d5597823b8d91c1c39f5db765047cfd8",
75
+ "objectDetection/yolo26/openvino/camstack-yolo26m-256-int8.xml": "01e7c969481cbe74ea21e137ce7a1dd04c7088557f95b0c4a6e618beb62aa5e0",
76
76
  "objectDetection/yolo26/openvino/camstack-yolo26m-256.xml": "c5a4c729eceaec91f6af5077fa34b6f5cc17bc2130d07dc13ed883966e15902e",
77
77
  "objectDetection/yolo26/openvino/camstack-yolo26m-320-int8.xml": "2b6be63ad9012c85976223ed46c63b80208479544f13221575f62c4b5a815314",
78
78
  "objectDetection/yolo26/openvino/camstack-yolo26m-320.xml": "c5a4c729eceaec91f6af5077fa34b6f5cc17bc2130d07dc13ed883966e15902e",
79
79
  "objectDetection/yolo26/openvino/camstack-yolo26m-fp16.xml": "4990e60c17e6e1158dca28750e7a50c3a6c72cac4fd1bbac73bba52ac3647c39",
80
- "objectDetection/yolo26/openvino/camstack-yolo26m-int8.xml": "7cf3df0dd16d58468ad6ac185ec5f38ac6e20a49069f049007b6c0607586a6f7",
80
+ "objectDetection/yolo26/openvino/camstack-yolo26m-int8.xml": "4aecf5a49612b372549b06b2d4075ef98abfa26d5aa1f7a665b785b9d5cf0074",
81
81
  "objectDetection/yolo26/openvino/camstack-yolo26m.xml": "4990e60c17e6e1158dca28750e7a50c3a6c72cac4fd1bbac73bba52ac3647c39",
82
- "objectDetection/yolo26/openvino/camstack-yolo26n-256-int8.xml": "acf0ed987bbd43bd819c9f061582c0ba17aa4a3f6bf55f0c8c7049486742f745",
82
+ "objectDetection/yolo26/openvino/camstack-yolo26n-256-int8.xml": "66e25a1d6603ac82541031b8e92b26f1f1620f28a058f5f07a3c0efe66d4ecf8",
83
83
  "objectDetection/yolo26/openvino/camstack-yolo26n-256.xml": "caf498d56ba2288a54734b4d2c73737f77261d1410357f25998e00655c661736",
84
- "objectDetection/yolo26/openvino/camstack-yolo26n-320-int8.xml": "639e4d54a0d5c6a17d02859a9b46c0ff4d404fbe0582e48ed3df4b8364867316",
84
+ "objectDetection/yolo26/openvino/camstack-yolo26n-320-int8.xml": "dab9dd33c1a1b5189586bca6e208040be7c5976b9329cdcf53c1a8a482fe5542",
85
85
  "objectDetection/yolo26/openvino/camstack-yolo26n-320.xml": "caf498d56ba2288a54734b4d2c73737f77261d1410357f25998e00655c661736",
86
86
  "objectDetection/yolo26/openvino/camstack-yolo26n-fp16.xml": "77f9da9a6330b130d21e7d9d2338b8f82f3541491c24566b80b4ff2852559b2d",
87
- "objectDetection/yolo26/openvino/camstack-yolo26n-int8.xml": "92068cd26433694188cf383e3a7c3cc49a36de58387a8012de9c3768080781f3",
87
+ "objectDetection/yolo26/openvino/camstack-yolo26n-int8.xml": "a647f15103a8b08597d2c50ffb562592935713251309c78182fd9c92c7edd4f9",
88
88
  "objectDetection/yolo26/openvino/camstack-yolo26n.xml": "77f9da9a6330b130d21e7d9d2338b8f82f3541491c24566b80b4ff2852559b2d",
89
- "objectDetection/yolo26/openvino/camstack-yolo26s-256-int8.xml": "483ca9622c3bb398c414cb3ae412bcab26aeb807c91f4d84dcd42356ce54c885",
89
+ "objectDetection/yolo26/openvino/camstack-yolo26s-256-int8.xml": "5962554832b442022a8b76ac967916c5b7109caceaea9fed5e7399ebc4a58467",
90
90
  "objectDetection/yolo26/openvino/camstack-yolo26s-256.xml": "8e4c513ffe7d571ed1e9545a990a43f6683a8bde04bdc580fdfd8c62e4e3193f",
91
91
  "objectDetection/yolo26/openvino/camstack-yolo26s-320-int8.xml": "c02030199cda5083e41599c7aa9dd64d03597e033f03b61c62194de49719de65",
92
92
  "objectDetection/yolo26/openvino/camstack-yolo26s-320.xml": "8e4c513ffe7d571ed1e9545a990a43f6683a8bde04bdc580fdfd8c62e4e3193f",
@@ -94,7 +94,7 @@ var HOSTED_MODEL_REVISIONS = {
94
94
  "objectDetection/yolo26/openvino/camstack-yolo26s-int8.xml": "863bbfa6f45b617d5600ceb5488a2dc3c0d573b658e761a5c269b86f3f6cca77",
95
95
  "objectDetection/yolo26/openvino/camstack-yolo26s.xml": "bb9355b5e559d646256ad80e4fc2f965c1c1f4905da3c014b7f15bb3d48d9d34",
96
96
  "objectDetection/yolo26/openvino/camstack-yolo26x-fp16.xml": "053f64a4dc9c3b81d0b6c1a567c0d0b403eeb33a6771170712c4de1c09fc6f15",
97
- "objectDetection/yolo26/openvino/camstack-yolo26x-int8.xml": "c1f374e058de562d3a848b93d6b39dd9ccb772e2f34f4c0dec4e0bb7787cfd2f",
97
+ "objectDetection/yolo26/openvino/camstack-yolo26x-int8.xml": "f0d1f7650af608ede2529fc8272e0db73a3585f46a2ae0d3f954ab8f34d5eda7",
98
98
  "objectDetection/yolo26/openvino/camstack-yolo26x.xml": "053f64a4dc9c3b81d0b6c1a567c0d0b403eeb33a6771170712c4de1c09fc6f15",
99
99
  "objectDetection/yolov9/coreml/camstack-yolov9c-320.mlpackage": "7999f25b805f92c732a450625021cda97b7185f8c9f98be28be82be1529fe171",
100
100
  "objectDetection/yolov9/coreml/camstack-yolov9c-640.mlpackage": "9889ababc524db385a4305ebc1a42ada4dddc8028198d040fbba77c504228932",
@@ -117,15 +117,15 @@ var HOSTED_MODEL_REVISIONS = {
117
117
  "objectDetection/yolov9/openvino/camstack-yolov9c-640-fp16.xml": "702060a1904f8de7eb68b72ad5024976767ba546c3dc941f8b7c2e5d1a236d0d",
118
118
  "objectDetection/yolov9/openvino/camstack-yolov9c-640-int8.xml": "3bda3338e0280108a32b6ae638637cd9a2b2a563b8c8ec328165372ee9d55bd9",
119
119
  "objectDetection/yolov9/openvino/camstack-yolov9m-320-fp16.xml": "d381e5981e08bad4b8333bba3db48b4c0885883eb1bd524c71e69e2d8b745eaf",
120
- "objectDetection/yolov9/openvino/camstack-yolov9m-320-int8.xml": "59e5274ed17b2acb57c9ba6999e2e92ea6f05e153fc11e6f8f19bd4973d36a74",
120
+ "objectDetection/yolov9/openvino/camstack-yolov9m-320-int8.xml": "2f1d1ca1346b7b50599319402708f2fed8c1c2eaf91dee13d1b6e4c6bd8d38a1",
121
121
  "objectDetection/yolov9/openvino/camstack-yolov9m-640-fp16.xml": "a64e8867a406c448e65fecea16932d759d85249427c6b43770387904d980d6aa",
122
122
  "objectDetection/yolov9/openvino/camstack-yolov9m-640-int8.xml": "b229989cc83ad3c82a3c7f09a25c522eb25416a9d5ce9f1b58225ef4668694b5",
123
123
  "objectDetection/yolov9/openvino/camstack-yolov9s-320-fp16.xml": "d07a908f4e44d3b482fad99fd280e1eff7f12546848b3acdfd478407a12fbaf6",
124
- "objectDetection/yolov9/openvino/camstack-yolov9s-320-int8.xml": "c8c58877a7a3b969ecfced15244c027eb9b9295a82cae54b71197a1a0dbb31f8",
124
+ "objectDetection/yolov9/openvino/camstack-yolov9s-320-int8.xml": "6cb4863d4024d4b126d7787cf4326df8cd6706d34fcd142b4dd37c081548f674",
125
125
  "objectDetection/yolov9/openvino/camstack-yolov9s-640-fp16.xml": "19448578cde92005a143b8de9655e767032e608cea496e154273ed05a97bed1f",
126
- "objectDetection/yolov9/openvino/camstack-yolov9s-640-int8.xml": "7ea8b3d6bc98f15b2eada4e62cdcc35c211a181cbddf51251a11e97bee994fdd",
126
+ "objectDetection/yolov9/openvino/camstack-yolov9s-640-int8.xml": "c0f23f173837211f13e4b8727059790e1a0a6a0c14e0e954b8042def0dd8937a",
127
127
  "objectDetection/yolov9/openvino/camstack-yolov9t-320-fp16.xml": "2f4dc7d06d49af8008fb3da0cdc04a35fdfbc5fafbb2f069822edd826fcc49de",
128
- "objectDetection/yolov9/openvino/camstack-yolov9t-320-int8.xml": "4b3964c53d2617502aea7bc07fd5fe24da82b27896abe12fd87956b2765babf6",
128
+ "objectDetection/yolov9/openvino/camstack-yolov9t-320-int8.xml": "6bd2deecdb16ba2802a32e48ec56467079f1e0bdae2e8ff59e05c4d2e5bd35ee",
129
129
  "objectDetection/yolov9/openvino/camstack-yolov9t-640-fp16.xml": "d4dd2278941ccb210d0763d822353f6d951c6a4f4f5a1604d7e3536ce6ffb954",
130
130
  "objectDetection/yolov9/openvino/camstack-yolov9t-640-int8.xml": "75e45bcf26fe37489d66ae306c3b7c08742b3f2af3c84cd5e41d0520aaef91bf",
131
131
  "packageDetection/rfdetr-package/coreml/camstack-rfdetr-package.mlpackage": "73e42f03d66011a311bd83a0a3d1890e7eb1b9b2ba2b5688552a5d4fd60e0e72",
@@ -1,5 +1,5 @@
1
1
  const require_chunk = require("./chunk-Cek0wNdY.js");
2
- const require_dist = require("./dist-KxsOMQik.js");
2
+ const require_dist = require("./dist-Cc6KOdY-.js");
3
3
  let node_crypto = require("node:crypto");
4
4
  let node_path = require("node:path");
5
5
  node_path = require_chunk.__toESM(node_path);
@@ -66,28 +66,28 @@ var HOSTED_MODEL_REVISIONS = {
66
66
  "objectDetection/yolo26/onnx/camstack-yolo26s-320.onnx": "465069e0eb3d44e45c2de2c57a57c9ff6f1466cda0816d7ca05ce15e388b0ae3",
67
67
  "objectDetection/yolo26/onnx/camstack-yolo26s.onnx": "d2e7ed3e5ef3b7fac18628c63d2bef0d5ae144cb2c239b195eb90ff96437fed5",
68
68
  "objectDetection/yolo26/onnx/camstack-yolo26x.onnx": "6d10ddc274ea5e6597c69471a3e122eee7a4cb2a831c9449b30b0e69f4349133",
69
- "objectDetection/yolo26/openvino/camstack-yolo26l-256-int8.xml": "d59a9920857a48d27bda14b1cbe3ef1390e1032c37a822cbc567f2a03d1f5e2f",
69
+ "objectDetection/yolo26/openvino/camstack-yolo26l-256-int8.xml": "d9a65db447fa54dda9f039ed11861c12b8f88e9d9e3adb845afd3bf1a34ba2ff",
70
70
  "objectDetection/yolo26/openvino/camstack-yolo26l-256.xml": "0c78828d4abe9858bb7ff543ee656adb874c11a76cbacbdcca7777d356be2ee3",
71
71
  "objectDetection/yolo26/openvino/camstack-yolo26l-320-int8.xml": "9c441c07c7c2d47982b44a2f2d22af0d77ffd466f7279b843c9bbe21cd07a5d8",
72
72
  "objectDetection/yolo26/openvino/camstack-yolo26l-320.xml": "0c78828d4abe9858bb7ff543ee656adb874c11a76cbacbdcca7777d356be2ee3",
73
73
  "objectDetection/yolo26/openvino/camstack-yolo26l-fp16.xml": "653a3bf71753672f56a2c8dae65195c8c99029abb3d3d7a42e25860a2071df39",
74
- "objectDetection/yolo26/openvino/camstack-yolo26l-int8.xml": "9e2c1de16b3533c0f8d2ed58e385515bbcb6ab40231bdace5b922795b88127be",
74
+ "objectDetection/yolo26/openvino/camstack-yolo26l-int8.xml": "86e663b49d43c4cb777e5ba5acadc03595879dbaa4e598b2b741067b9a2f066e",
75
75
  "objectDetection/yolo26/openvino/camstack-yolo26l.xml": "653a3bf71753672f56a2c8dae65195c8c99029abb3d3d7a42e25860a2071df39",
76
- "objectDetection/yolo26/openvino/camstack-yolo26m-256-int8.xml": "01c747e08fbac6fedfc874924a267ba3d5597823b8d91c1c39f5db765047cfd8",
76
+ "objectDetection/yolo26/openvino/camstack-yolo26m-256-int8.xml": "01e7c969481cbe74ea21e137ce7a1dd04c7088557f95b0c4a6e618beb62aa5e0",
77
77
  "objectDetection/yolo26/openvino/camstack-yolo26m-256.xml": "c5a4c729eceaec91f6af5077fa34b6f5cc17bc2130d07dc13ed883966e15902e",
78
78
  "objectDetection/yolo26/openvino/camstack-yolo26m-320-int8.xml": "2b6be63ad9012c85976223ed46c63b80208479544f13221575f62c4b5a815314",
79
79
  "objectDetection/yolo26/openvino/camstack-yolo26m-320.xml": "c5a4c729eceaec91f6af5077fa34b6f5cc17bc2130d07dc13ed883966e15902e",
80
80
  "objectDetection/yolo26/openvino/camstack-yolo26m-fp16.xml": "4990e60c17e6e1158dca28750e7a50c3a6c72cac4fd1bbac73bba52ac3647c39",
81
- "objectDetection/yolo26/openvino/camstack-yolo26m-int8.xml": "7cf3df0dd16d58468ad6ac185ec5f38ac6e20a49069f049007b6c0607586a6f7",
81
+ "objectDetection/yolo26/openvino/camstack-yolo26m-int8.xml": "4aecf5a49612b372549b06b2d4075ef98abfa26d5aa1f7a665b785b9d5cf0074",
82
82
  "objectDetection/yolo26/openvino/camstack-yolo26m.xml": "4990e60c17e6e1158dca28750e7a50c3a6c72cac4fd1bbac73bba52ac3647c39",
83
- "objectDetection/yolo26/openvino/camstack-yolo26n-256-int8.xml": "acf0ed987bbd43bd819c9f061582c0ba17aa4a3f6bf55f0c8c7049486742f745",
83
+ "objectDetection/yolo26/openvino/camstack-yolo26n-256-int8.xml": "66e25a1d6603ac82541031b8e92b26f1f1620f28a058f5f07a3c0efe66d4ecf8",
84
84
  "objectDetection/yolo26/openvino/camstack-yolo26n-256.xml": "caf498d56ba2288a54734b4d2c73737f77261d1410357f25998e00655c661736",
85
- "objectDetection/yolo26/openvino/camstack-yolo26n-320-int8.xml": "639e4d54a0d5c6a17d02859a9b46c0ff4d404fbe0582e48ed3df4b8364867316",
85
+ "objectDetection/yolo26/openvino/camstack-yolo26n-320-int8.xml": "dab9dd33c1a1b5189586bca6e208040be7c5976b9329cdcf53c1a8a482fe5542",
86
86
  "objectDetection/yolo26/openvino/camstack-yolo26n-320.xml": "caf498d56ba2288a54734b4d2c73737f77261d1410357f25998e00655c661736",
87
87
  "objectDetection/yolo26/openvino/camstack-yolo26n-fp16.xml": "77f9da9a6330b130d21e7d9d2338b8f82f3541491c24566b80b4ff2852559b2d",
88
- "objectDetection/yolo26/openvino/camstack-yolo26n-int8.xml": "92068cd26433694188cf383e3a7c3cc49a36de58387a8012de9c3768080781f3",
88
+ "objectDetection/yolo26/openvino/camstack-yolo26n-int8.xml": "a647f15103a8b08597d2c50ffb562592935713251309c78182fd9c92c7edd4f9",
89
89
  "objectDetection/yolo26/openvino/camstack-yolo26n.xml": "77f9da9a6330b130d21e7d9d2338b8f82f3541491c24566b80b4ff2852559b2d",
90
- "objectDetection/yolo26/openvino/camstack-yolo26s-256-int8.xml": "483ca9622c3bb398c414cb3ae412bcab26aeb807c91f4d84dcd42356ce54c885",
90
+ "objectDetection/yolo26/openvino/camstack-yolo26s-256-int8.xml": "5962554832b442022a8b76ac967916c5b7109caceaea9fed5e7399ebc4a58467",
91
91
  "objectDetection/yolo26/openvino/camstack-yolo26s-256.xml": "8e4c513ffe7d571ed1e9545a990a43f6683a8bde04bdc580fdfd8c62e4e3193f",
92
92
  "objectDetection/yolo26/openvino/camstack-yolo26s-320-int8.xml": "c02030199cda5083e41599c7aa9dd64d03597e033f03b61c62194de49719de65",
93
93
  "objectDetection/yolo26/openvino/camstack-yolo26s-320.xml": "8e4c513ffe7d571ed1e9545a990a43f6683a8bde04bdc580fdfd8c62e4e3193f",
@@ -95,7 +95,7 @@ var HOSTED_MODEL_REVISIONS = {
95
95
  "objectDetection/yolo26/openvino/camstack-yolo26s-int8.xml": "863bbfa6f45b617d5600ceb5488a2dc3c0d573b658e761a5c269b86f3f6cca77",
96
96
  "objectDetection/yolo26/openvino/camstack-yolo26s.xml": "bb9355b5e559d646256ad80e4fc2f965c1c1f4905da3c014b7f15bb3d48d9d34",
97
97
  "objectDetection/yolo26/openvino/camstack-yolo26x-fp16.xml": "053f64a4dc9c3b81d0b6c1a567c0d0b403eeb33a6771170712c4de1c09fc6f15",
98
- "objectDetection/yolo26/openvino/camstack-yolo26x-int8.xml": "c1f374e058de562d3a848b93d6b39dd9ccb772e2f34f4c0dec4e0bb7787cfd2f",
98
+ "objectDetection/yolo26/openvino/camstack-yolo26x-int8.xml": "f0d1f7650af608ede2529fc8272e0db73a3585f46a2ae0d3f954ab8f34d5eda7",
99
99
  "objectDetection/yolo26/openvino/camstack-yolo26x.xml": "053f64a4dc9c3b81d0b6c1a567c0d0b403eeb33a6771170712c4de1c09fc6f15",
100
100
  "objectDetection/yolov9/coreml/camstack-yolov9c-320.mlpackage": "7999f25b805f92c732a450625021cda97b7185f8c9f98be28be82be1529fe171",
101
101
  "objectDetection/yolov9/coreml/camstack-yolov9c-640.mlpackage": "9889ababc524db385a4305ebc1a42ada4dddc8028198d040fbba77c504228932",
@@ -118,15 +118,15 @@ var HOSTED_MODEL_REVISIONS = {
118
118
  "objectDetection/yolov9/openvino/camstack-yolov9c-640-fp16.xml": "702060a1904f8de7eb68b72ad5024976767ba546c3dc941f8b7c2e5d1a236d0d",
119
119
  "objectDetection/yolov9/openvino/camstack-yolov9c-640-int8.xml": "3bda3338e0280108a32b6ae638637cd9a2b2a563b8c8ec328165372ee9d55bd9",
120
120
  "objectDetection/yolov9/openvino/camstack-yolov9m-320-fp16.xml": "d381e5981e08bad4b8333bba3db48b4c0885883eb1bd524c71e69e2d8b745eaf",
121
- "objectDetection/yolov9/openvino/camstack-yolov9m-320-int8.xml": "59e5274ed17b2acb57c9ba6999e2e92ea6f05e153fc11e6f8f19bd4973d36a74",
121
+ "objectDetection/yolov9/openvino/camstack-yolov9m-320-int8.xml": "2f1d1ca1346b7b50599319402708f2fed8c1c2eaf91dee13d1b6e4c6bd8d38a1",
122
122
  "objectDetection/yolov9/openvino/camstack-yolov9m-640-fp16.xml": "a64e8867a406c448e65fecea16932d759d85249427c6b43770387904d980d6aa",
123
123
  "objectDetection/yolov9/openvino/camstack-yolov9m-640-int8.xml": "b229989cc83ad3c82a3c7f09a25c522eb25416a9d5ce9f1b58225ef4668694b5",
124
124
  "objectDetection/yolov9/openvino/camstack-yolov9s-320-fp16.xml": "d07a908f4e44d3b482fad99fd280e1eff7f12546848b3acdfd478407a12fbaf6",
125
- "objectDetection/yolov9/openvino/camstack-yolov9s-320-int8.xml": "c8c58877a7a3b969ecfced15244c027eb9b9295a82cae54b71197a1a0dbb31f8",
125
+ "objectDetection/yolov9/openvino/camstack-yolov9s-320-int8.xml": "6cb4863d4024d4b126d7787cf4326df8cd6706d34fcd142b4dd37c081548f674",
126
126
  "objectDetection/yolov9/openvino/camstack-yolov9s-640-fp16.xml": "19448578cde92005a143b8de9655e767032e608cea496e154273ed05a97bed1f",
127
- "objectDetection/yolov9/openvino/camstack-yolov9s-640-int8.xml": "7ea8b3d6bc98f15b2eada4e62cdcc35c211a181cbddf51251a11e97bee994fdd",
127
+ "objectDetection/yolov9/openvino/camstack-yolov9s-640-int8.xml": "c0f23f173837211f13e4b8727059790e1a0a6a0c14e0e954b8042def0dd8937a",
128
128
  "objectDetection/yolov9/openvino/camstack-yolov9t-320-fp16.xml": "2f4dc7d06d49af8008fb3da0cdc04a35fdfbc5fafbb2f069822edd826fcc49de",
129
- "objectDetection/yolov9/openvino/camstack-yolov9t-320-int8.xml": "4b3964c53d2617502aea7bc07fd5fe24da82b27896abe12fd87956b2765babf6",
129
+ "objectDetection/yolov9/openvino/camstack-yolov9t-320-int8.xml": "6bd2deecdb16ba2802a32e48ec56467079f1e0bdae2e8ff59e05c4d2e5bd35ee",
130
130
  "objectDetection/yolov9/openvino/camstack-yolov9t-640-fp16.xml": "d4dd2278941ccb210d0763d822353f6d951c6a4f4f5a1604d7e3536ce6ffb954",
131
131
  "objectDetection/yolov9/openvino/camstack-yolov9t-640-int8.xml": "75e45bcf26fe37489d66ae306c3b7c08742b3f2af3c84cd5e41d0520aaef91bf",
132
132
  "packageDetection/rfdetr-package/coreml/camstack-rfdetr-package.mlpackage": "73e42f03d66011a311bd83a0a3d1890e7eb1b9b2ba2b5688552a5d4fd60e0e72",
package/dist/index.d.ts CHANGED
@@ -10,8 +10,10 @@ export type { AuthConfigReader, TokenPayload } from './auth/auth-manager.js';
10
10
  export { AuthManager } from './auth/auth-manager.js';
11
11
  export { scopesAllowAddon, scopesAllowDeviceCap } from './auth/scope-matcher.js';
12
12
  export { ScopedTokenManager } from './auth/scoped-token-manager.js';
13
- export type { UserConfigReader, UserRecord, UserStorageAccess } from './auth/user-manager.js';
14
- export { UserManager } from './auth/user-manager.js';
13
+ export type { UserRecord, UserStorageAccess } from './auth/user-manager.js';
14
+ export { FIRST_BOOT_ADMIN_PASSWORD, FIRST_BOOT_ADMIN_USERNAME, UserManager, } from './auth/user-manager.js';
15
+ export type { JwtSigningKeySource, JwtSigningKeyState } from './auth/jwt-signing-key.js';
16
+ export { getProcessJwtSigningKeyState, JWT_SIGNING_KEY_REF, JwtSigningKeyUnavailableError, processJwtSigningKey, staticJwtSigningKey, SYSTEM_SECRET_OWNER, } from './auth/jwt-signing-key.js';
15
17
  export { AlertCenterAddon } from './builtins/alerts/index.js';
16
18
  export { CalendarsAddon } from './builtins/calendars/index.js';
17
19
  export { ComposerAddon } from './builtins/composer/index.js';