@camstack/system 1.2.390 → 1.2.392

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 (575) hide show
  1. package/dist/addon/addon-api-factory.d.ts +30 -30
  2. package/dist/addon-routes/addon-route-registry.d.ts +31 -31
  3. package/dist/addon-runner.js +1 -1
  4. package/dist/addon-runner.mjs +1 -1
  5. package/dist/addon-utils.d.ts +22 -22
  6. package/dist/addon-utils.js +1 -1
  7. package/dist/addon-utils.mjs +1 -1
  8. package/dist/amd-accelerators-CEuPFBBK.js +36 -0
  9. package/dist/amd-accelerators-U_RsoEDd.mjs +35 -0
  10. package/dist/amd-npu-B-QyyMyF.js +53 -0
  11. package/dist/amd-npu-Db_SoSuL.mjs +52 -0
  12. package/dist/auth/admin-token-manager.d.ts +37 -67
  13. package/dist/auth/api-key-manager.d.ts +8 -8
  14. package/dist/auth/auth-audit-log.d.ts +29 -49
  15. package/dist/auth/auth-manager.d.ts +127 -126
  16. package/dist/auth/cidr.d.ts +8 -8
  17. package/dist/auth/external-identity-manager.d.ts +46 -34
  18. package/dist/auth/jwt-signing-key.d.ts +14 -14
  19. package/dist/auth/login-session-manager.d.ts +95 -135
  20. package/dist/auth/parse-record.d.ts +13 -13
  21. package/dist/auth/scope-matcher.d.ts +7 -7
  22. package/dist/auth/scoped-token-manager.d.ts +62 -62
  23. package/dist/auth/token-expiry.d.ts +49 -26
  24. package/dist/auth/totp-manager.d.ts +48 -48
  25. package/dist/auth/user-management-internal.d.ts +67 -52
  26. package/dist/auth/user-manager.d.ts +58 -58
  27. package/dist/builtins/addon-pages-aggregator/addon-pages-aggregator.addon.d.ts +54 -54
  28. package/dist/builtins/addon-pages-aggregator/addon-pages-aggregator.addon.js +1 -1
  29. package/dist/builtins/addon-pages-aggregator/addon-pages-aggregator.addon.mjs +1 -1
  30. package/dist/builtins/addon-pages-aggregator/dedupe-pages.d.ts +22 -4
  31. package/dist/builtins/addon-pages-aggregator/index.d.ts +1 -1
  32. package/dist/builtins/addon-widgets-aggregator/addon-widgets-aggregator.addon.d.ts +54 -54
  33. package/dist/builtins/addon-widgets-aggregator/addon-widgets-aggregator.addon.js +1 -1
  34. package/dist/builtins/addon-widgets-aggregator/addon-widgets-aggregator.addon.mjs +1 -1
  35. package/dist/builtins/addon-widgets-aggregator/index.d.ts +1 -1
  36. package/dist/builtins/alerts/alerts.addon.d.ts +88 -87
  37. package/dist/builtins/alerts/alerts.addon.js +1 -1
  38. package/dist/builtins/alerts/alerts.addon.mjs +1 -1
  39. package/dist/builtins/alerts/device-label.d.ts +6 -6
  40. package/dist/builtins/alerts/index.d.ts +1 -1
  41. package/dist/builtins/alerts/prune-policy.d.ts +36 -36
  42. package/dist/builtins/autotrack/autotrack-cameras.d.ts +102 -79
  43. package/dist/builtins/autotrack/autotrack-config.d.ts +81 -81
  44. package/dist/builtins/autotrack/autotrack-decision.d.ts +69 -82
  45. package/dist/builtins/autotrack/autotrack-loop.d.ts +81 -61
  46. package/dist/builtins/autotrack/autotrack.addon.d.ts +103 -66
  47. package/dist/builtins/autotrack/frame-error.d.ts +38 -38
  48. package/dist/builtins/autotrack/frame-measurements.d.ts +79 -79
  49. package/dist/builtins/autotrack/index.d.ts +2 -2
  50. package/dist/builtins/autotrack/index.js +1 -1
  51. package/dist/builtins/autotrack/index.mjs +1 -1
  52. package/dist/builtins/autotrack/ptz-mirror.d.ts +46 -17
  53. package/dist/builtins/autotrack/target-selection.d.ts +33 -47
  54. package/dist/builtins/backup-orchestrator/backup-orchestrator.addon.d.ts +270 -269
  55. package/dist/builtins/backup-orchestrator/backup-orchestrator.addon.js +2 -2
  56. package/dist/builtins/backup-orchestrator/backup-orchestrator.addon.mjs +2 -2
  57. package/dist/builtins/backup-orchestrator/cron-helpers.d.ts +17 -17
  58. package/dist/builtins/backup-orchestrator/destination-policy.d.ts +99 -82
  59. package/dist/builtins/backup-orchestrator/download-helpers.d.ts +9 -9
  60. package/dist/builtins/backup-orchestrator/encryption-key-store.d.ts +40 -29
  61. package/dist/builtins/backup-orchestrator/index.d.ts +2 -2
  62. package/dist/builtins/backup-orchestrator/manifest-store.d.ts +88 -69
  63. package/dist/builtins/backup-orchestrator/restore-archive.d.ts +14 -14
  64. package/dist/builtins/backup-orchestrator/run-queue.d.ts +86 -86
  65. package/dist/builtins/backup-orchestrator/schedule-store.d.ts +53 -37
  66. package/dist/builtins/backup-orchestrator/staging-paths.d.ts +23 -23
  67. package/dist/builtins/backup-orchestrator/write-targets.d.ts +53 -53
  68. package/dist/builtins/calendars/calendar-color.d.ts +5 -1
  69. package/dist/builtins/calendars/calendar-prefs-store.d.ts +18 -12
  70. package/dist/builtins/calendars/calendars.addon.d.ts +16 -11
  71. package/dist/builtins/calendars/calendars.addon.js +1 -1
  72. package/dist/builtins/calendars/calendars.addon.mjs +1 -1
  73. package/dist/builtins/calendars/index.d.ts +1 -1
  74. package/dist/builtins/camera-grid/acquire-retry.d.ts +26 -26
  75. package/dist/builtins/camera-grid/addon.d.ts +200 -174
  76. package/dist/builtins/camera-grid/flv-join.d.ts +32 -58
  77. package/dist/builtins/camera-grid/grid-activity-mirror.d.ts +37 -37
  78. package/dist/builtins/camera-grid/grid-activity.d.ts +83 -42
  79. package/dist/builtins/camera-grid/grid-camera-declarations.d.ts +46 -46
  80. package/dist/builtins/camera-grid/grid-camera-device.d.ts +60 -34
  81. package/dist/builtins/camera-grid/grid-canvas-derivation.d.ts +50 -15
  82. package/dist/builtins/camera-grid/grid-canvas-seed.d.ts +96 -46
  83. package/dist/builtins/camera-grid/grid-canvas.d.ts +74 -74
  84. package/dist/builtins/camera-grid/grid-child.d.ts +29 -16
  85. package/dist/builtins/camera-grid/grid-compositor-child.d.ts +2 -2
  86. package/dist/builtins/camera-grid/grid-compositor-invocation.d.ts +39 -11
  87. package/dist/builtins/camera-grid/grid-compositor.d.ts +50 -50
  88. package/dist/builtins/camera-grid/grid-detection-mapping.d.ts +52 -22
  89. package/dist/builtins/camera-grid/grid-device-settings.d.ts +31 -7
  90. package/dist/builtins/camera-grid/grid-filter-graph.d.ts +41 -41
  91. package/dist/builtins/camera-grid/grid-frame-sample.d.ts +45 -19
  92. package/dist/builtins/camera-grid/grid-instances.d.ts +20 -50
  93. package/dist/builtins/camera-grid/grid-last-frame-store.d.ts +51 -51
  94. package/dist/builtins/camera-grid/grid-layout-native-provider.d.ts +30 -4
  95. package/dist/builtins/camera-grid/grid-plan.d.ts +30 -20
  96. package/dist/builtins/camera-grid/grid-profiles.d.ts +85 -45
  97. package/dist/builtins/camera-grid/grid-row-normalization.d.ts +6 -6
  98. package/dist/builtins/camera-grid/grid-sentry-sources.d.ts +57 -57
  99. package/dist/builtins/camera-grid/grid-snapshot.d.ts +41 -41
  100. package/dist/builtins/camera-grid/grid-stream-descriptor.d.ts +49 -21
  101. package/dist/builtins/camera-grid/grid-stream-invocation.d.ts +37 -22
  102. package/dist/builtins/camera-grid/grid-stream-relay.d.ts +26 -26
  103. package/dist/builtins/camera-grid/grid-stream-session.d.ts +123 -93
  104. package/dist/builtins/camera-grid/grid-tile-feed.d.ts +47 -47
  105. package/dist/builtins/camera-grid/grid-tile-plan.d.ts +55 -20
  106. package/dist/builtins/camera-grid/grid-wire-format.d.ts +22 -6
  107. package/dist/builtins/camera-grid/index.d.ts +44 -44
  108. package/dist/builtins/camera-grid/index.js +1 -1
  109. package/dist/builtins/camera-grid/index.mjs +1 -1
  110. package/dist/builtins/camera-grid/silence-analysis.d.ts +31 -14
  111. package/dist/builtins/composer/claim-gate.d.ts +54 -27
  112. package/dist/builtins/composer/composed-device-set.d.ts +40 -26
  113. package/dist/builtins/composer/composed-device.d.ts +39 -17
  114. package/dist/builtins/composer/composer-apply-waits.d.ts +20 -13
  115. package/dist/builtins/composer/composer-grafts.d.ts +57 -38
  116. package/dist/builtins/composer/composer-live-set.d.ts +15 -15
  117. package/dist/builtins/composer/composer-plan.d.ts +76 -60
  118. package/dist/builtins/composer/composer-runtime-factory.d.ts +21 -14
  119. package/dist/builtins/composer/composer-seeds.d.ts +20 -14
  120. package/dist/builtins/composer/composer-verdict.d.ts +28 -14
  121. package/dist/builtins/composer/composer.addon.d.ts +23 -9
  122. package/dist/builtins/composer/composer.addon.js +2 -2
  123. package/dist/builtins/composer/composer.addon.mjs +2 -2
  124. package/dist/builtins/composer/composer.d.ts +145 -100
  125. package/dist/builtins/composer/composition-declarations.d.ts +50 -39
  126. package/dist/builtins/composer/composition-evaluation.d.ts +38 -22
  127. package/dist/builtins/composer/composition-runtime.d.ts +178 -125
  128. package/dist/builtins/composer/composition-target.d.ts +38 -34
  129. package/dist/builtins/composer/confirmed-seed.d.ts +35 -23
  130. package/dist/builtins/composer/deadline-timer.d.ts +13 -13
  131. package/dist/builtins/composer/existing-target.d.ts +90 -73
  132. package/dist/builtins/composer/field-record.d.ts +26 -19
  133. package/dist/builtins/composer/graft-host.d.ts +56 -32
  134. package/dist/builtins/composer/held-claims.d.ts +26 -9
  135. package/dist/builtins/composer/index.d.ts +1 -1
  136. package/dist/builtins/composer/own-field-reads.d.ts +26 -15
  137. package/dist/builtins/composer/owned-fields-target.d.ts +75 -44
  138. package/dist/builtins/composer/slice-assembler.d.ts +19 -3
  139. package/dist/builtins/composer/source-readings.d.ts +67 -61
  140. package/dist/builtins/composer/source-tracker.d.ts +133 -69
  141. package/dist/builtins/console-logging/console-destination.d.ts +15 -8
  142. package/dist/builtins/console-logging/console-logging.addon.d.ts +20 -19
  143. package/dist/builtins/console-logging/index.d.ts +3 -3
  144. package/dist/builtins/console-logging/index.js +1 -1
  145. package/dist/builtins/console-logging/index.mjs +1 -1
  146. package/dist/builtins/core-blocks/block-package.d.ts +37 -37
  147. package/dist/builtins/core-blocks/block-settings-store.d.ts +34 -21
  148. package/dist/builtins/core-blocks/block-supervisor.d.ts +138 -117
  149. package/dist/builtins/core-blocks/block-type-defs.d.ts +21 -21
  150. package/dist/builtins/core-blocks/blocks-integration.d.ts +76 -49
  151. package/dist/builtins/core-blocks/compile-block.d.ts +37 -37
  152. package/dist/builtins/core-blocks/composition-api.d.ts +38 -24
  153. package/dist/builtins/core-blocks/composition-peers.d.ts +26 -4
  154. package/dist/builtins/core-blocks/composition-sources.d.ts +25 -10
  155. package/dist/builtins/core-blocks/core-block-store.d.ts +109 -109
  156. package/dist/builtins/core-blocks/core-blocks.addon.d.ts +72 -72
  157. package/dist/builtins/core-blocks/core-blocks.addon.js +2 -2
  158. package/dist/builtins/core-blocks/core-blocks.addon.mjs +2 -2
  159. package/dist/builtins/core-blocks/extract-settings-schema.d.ts +4 -4
  160. package/dist/builtins/core-blocks/index.d.ts +8 -8
  161. package/dist/builtins/device-manager/adoption-job-engine.d.ts +141 -98
  162. package/dist/builtins/device-manager/claimed-status-overlay.d.ts +42 -9
  163. package/dist/builtins/device-manager/contribution-cache.d.ts +56 -56
  164. package/dist/builtins/device-manager/day-night-config-schema.d.ts +26 -12
  165. package/dist/builtins/device-manager/device-aggregation-merge.d.ts +17 -17
  166. package/dist/builtins/device-manager/device-aggregation.d.ts +277 -254
  167. package/dist/builtins/device-manager/device-bindings-store.d.ts +232 -220
  168. package/dist/builtins/device-manager/device-config-contribution.d.ts +29 -29
  169. package/dist/builtins/device-manager/device-config-secrets.d.ts +32 -13
  170. package/dist/builtins/device-manager/device-event-propagator.d.ts +22 -22
  171. package/dist/builtins/device-manager/device-extension-linked-slot.d.ts +17 -17
  172. package/dist/builtins/device-manager/device-form-secrets.d.ts +14 -14
  173. package/dist/builtins/device-manager/device-linked-devices.d.ts +159 -98
  174. package/dist/builtins/device-manager/device-manager.addon.d.ts +223 -197
  175. package/dist/builtins/device-manager/device-manager.addon.js +2 -2
  176. package/dist/builtins/device-manager/device-manager.addon.mjs +2 -2
  177. package/dist/builtins/device-manager/device-meta-actions.d.ts +306 -305
  178. package/dist/builtins/device-manager/device-meta-store.d.ts +100 -90
  179. package/dist/builtins/device-manager/device-meta-types.d.ts +250 -241
  180. package/dist/builtins/device-manager/device-online-fallback.d.ts +30 -30
  181. package/dist/builtins/device-manager/device-projection.d.ts +53 -67
  182. package/dist/builtins/device-manager/device-provider-context.d.ts +109 -94
  183. package/dist/builtins/device-manager/device-queries.d.ts +63 -63
  184. package/dist/builtins/device-manager/device-row-store.d.ts +417 -365
  185. package/dist/builtins/device-manager/device-source-activation.d.ts +91 -49
  186. package/dist/builtins/device-manager/device-state-claim-views.d.ts +76 -61
  187. package/dist/builtins/device-manager/device-state-claims.d.ts +53 -30
  188. package/dist/builtins/device-manager/device-state-mirror.d.ts +256 -264
  189. package/dist/builtins/device-manager/device-sync-resolvers.d.ts +25 -25
  190. package/dist/builtins/device-manager/field-claims-index.d.ts +85 -58
  191. package/dist/builtins/device-manager/field-ownership.d.ts +54 -36
  192. package/dist/builtins/device-manager/fleet-read-census.d.ts +99 -61
  193. package/dist/builtins/device-manager/image-settings-config-schema.d.ts +18 -8
  194. package/dist/builtins/device-manager/index.d.ts +2 -2
  195. package/dist/builtins/device-manager/linked-devices-manual-backfill.d.ts +20 -9
  196. package/dist/builtins/device-manager/location-alignment.d.ts +46 -46
  197. package/dist/builtins/device-manager/migrate-device.d.ts +178 -101
  198. package/dist/builtins/device-manager/migrate-guard.d.ts +66 -34
  199. package/dist/builtins/device-manager/migrate-hardware-state.d.ts +59 -59
  200. package/dist/builtins/device-manager/migrate-reload.d.ts +42 -4
  201. package/dist/builtins/device-manager/migration-refused.d.ts +20 -20
  202. package/dist/builtins/device-manager/mirror-row-writer.d.ts +205 -179
  203. package/dist/builtins/device-manager/recording-onboard-config-schema.d.ts +56 -32
  204. package/dist/builtins/device-manager/removal-fence.d.ts +48 -48
  205. package/dist/builtins/device-manager/runtime-state-persist-gate.d.ts +54 -26
  206. package/dist/builtins/device-manager/secret-config-paths.d.ts +17 -17
  207. package/dist/builtins/device-manager/stale-wrapper-activations.d.ts +52 -25
  208. package/dist/builtins/device-manager/write-lock.d.ts +13 -13
  209. package/dist/builtins/hub-forwarder/hub-forwarder-destination.d.ts +41 -41
  210. package/dist/builtins/hub-forwarder/hub-forwarder.addon.d.ts +13 -12
  211. package/dist/builtins/hub-forwarder/index.d.ts +3 -3
  212. package/dist/builtins/hub-forwarder/index.js +1 -1
  213. package/dist/builtins/hub-forwarder/index.mjs +1 -1
  214. package/dist/builtins/keychain/index.d.ts +1 -1
  215. package/dist/builtins/keychain/index.js +3 -3
  216. package/dist/builtins/keychain/index.mjs +3 -3
  217. package/dist/builtins/keychain/key-sources.d.ts +19 -19
  218. package/dist/builtins/keychain/keychain-crypto.d.ts +4 -4
  219. package/dist/builtins/keychain/keychain-reset-trigger.d.ts +13 -13
  220. package/dist/builtins/keychain/keychain-service.d.ts +128 -128
  221. package/dist/builtins/keychain/keychain-store.d.ts +96 -87
  222. package/dist/builtins/keychain/keychain-usage.d.ts +13 -2
  223. package/dist/builtins/keychain/keychain.addon.d.ts +31 -6
  224. package/dist/builtins/keychain/platform-key-source.d.ts +15 -15
  225. package/dist/builtins/keychain/system-held-secrets.d.ts +17 -4
  226. package/dist/builtins/liveness-monitor/index.d.ts +2 -2
  227. package/dist/builtins/liveness-monitor/liveness-checks.d.ts +73 -52
  228. package/dist/builtins/liveness-monitor/liveness-monitor.addon.d.ts +57 -36
  229. package/dist/builtins/liveness-monitor/liveness-monitor.addon.js +1 -1
  230. package/dist/builtins/liveness-monitor/liveness-monitor.addon.mjs +1 -1
  231. package/dist/builtins/local-auth/admin-account-boot.d.ts +14 -14
  232. package/dist/builtins/local-auth/auth-config-reader.d.ts +34 -17
  233. package/dist/builtins/local-auth/auth-schema.d.ts +92 -69
  234. package/dist/builtins/local-auth/index.d.ts +1 -1
  235. package/dist/builtins/local-auth/jwt-signing-key-keeper.d.ts +22 -22
  236. package/dist/builtins/local-auth/local-auth.addon.d.ts +41 -40
  237. package/dist/builtins/local-auth/local-auth.addon.js +2 -2
  238. package/dist/builtins/local-auth/local-auth.addon.mjs +2 -2
  239. package/dist/builtins/local-auth/oauth-grants.d.ts +57 -57
  240. package/dist/builtins/local-auth/oauth-session-manager.d.ts +62 -62
  241. package/dist/builtins/local-network/address-book.d.ts +61 -36
  242. package/dist/builtins/local-network/index.d.ts +2 -2
  243. package/dist/builtins/local-network/ipv6-lan.d.ts +12 -17
  244. package/dist/builtins/local-network/local-hostname.d.ts +10 -10
  245. package/dist/builtins/local-network/local-network.addon.d.ts +259 -258
  246. package/dist/builtins/local-network/local-network.addon.js +1 -1
  247. package/dist/builtins/local-network/local-network.addon.mjs +1 -1
  248. package/dist/builtins/loki-logging/index.d.ts +4 -4
  249. package/dist/builtins/loki-logging/index.js +1 -1
  250. package/dist/builtins/loki-logging/index.mjs +1 -1
  251. package/dist/builtins/loki-logging/loki-destination.d.ts +113 -87
  252. package/dist/builtins/loki-logging/loki-logging.addon.d.ts +61 -42
  253. package/dist/builtins/loki-logging/loki-payload.d.ts +82 -39
  254. package/dist/builtins/loki-logging/retire-enabled-flag.d.ts +37 -12
  255. package/dist/builtins/native-metrics/cgroup-memory.d.ts +206 -159
  256. package/dist/builtins/native-metrics/cgroup-pids.d.ts +138 -91
  257. package/dist/builtins/native-metrics/container-memory-series.d.ts +212 -178
  258. package/dist/builtins/native-metrics/gpu-probe.d.ts +9 -9
  259. package/dist/builtins/native-metrics/index.d.ts +2 -2
  260. package/dist/builtins/native-metrics/load-series-config.d.ts +29 -57
  261. package/dist/builtins/native-metrics/load-series-reader.d.ts +52 -26
  262. package/dist/builtins/native-metrics/load-series-store.d.ts +237 -176
  263. package/dist/builtins/native-metrics/native-metrics-provider.d.ts +43 -43
  264. package/dist/builtins/native-metrics/native-metrics.addon.d.ts +230 -230
  265. package/dist/builtins/native-metrics/native-metrics.addon.js +1 -1
  266. package/dist/builtins/native-metrics/native-metrics.addon.mjs +1 -1
  267. package/dist/builtins/native-metrics/node-load-ring.d.ts +196 -196
  268. package/dist/builtins/native-metrics/proc-process-table.d.ts +12 -12
  269. package/dist/builtins/native-metrics/process-classification.d.ts +95 -36
  270. package/dist/builtins/native-metrics/thread-cpu-sampler.d.ts +95 -95
  271. package/dist/builtins/platform-probe/amd-accelerators.d.ts +15 -0
  272. package/dist/builtins/platform-probe/amd-npu.d.ts +29 -0
  273. package/dist/builtins/platform-probe/coral-accelerators.d.ts +17 -17
  274. package/dist/builtins/platform-probe/index.d.ts +38 -30
  275. package/dist/builtins/platform-probe/index.js +59 -22
  276. package/dist/builtins/platform-probe/index.mjs +59 -22
  277. package/dist/builtins/platform-probe/inference-config-resolver.d.ts +27 -27
  278. package/dist/builtins/platform-probe/intel-accelerators.d.ts +8 -8
  279. package/dist/builtins/platform-probe/intel-npu.d.ts +30 -30
  280. package/dist/builtins/platform-probe/platform-scorer.d.ts +35 -35
  281. package/dist/builtins/platform-probe/runtime-packages.d.ts +3 -3
  282. package/dist/builtins/remote-access-orchestrator/enabled-providers-reconcile.d.ts +87 -87
  283. package/dist/builtins/remote-access-orchestrator/index.d.ts +1 -1
  284. package/dist/builtins/remote-access-orchestrator/remote-access-orchestrator.addon.d.ts +66 -35
  285. package/dist/builtins/remote-access-orchestrator/remote-access-orchestrator.addon.js +1 -1
  286. package/dist/builtins/remote-access-orchestrator/remote-access-orchestrator.addon.mjs +1 -1
  287. package/dist/builtins/shared/device-state-changed.d.ts +9 -9
  288. package/dist/builtins/shared/settle-sources.d.ts +16 -16
  289. package/dist/builtins/snapshot/index.d.ts +2 -2
  290. package/dist/builtins/snapshot/index.js +1 -1
  291. package/dist/builtins/snapshot/index.mjs +1 -1
  292. package/dist/builtins/snapshot/snapshot-cache.d.ts +92 -92
  293. package/dist/builtins/snapshot/snapshot-coalescing.d.ts +108 -108
  294. package/dist/builtins/snapshot/snapshot-courtesy.d.ts +48 -48
  295. package/dist/builtins/snapshot/snapshot-durable-store.d.ts +32 -32
  296. package/dist/builtins/snapshot/snapshot-fatigue.d.ts +34 -34
  297. package/dist/builtins/snapshot/snapshot-grab-pick.d.ts +14 -14
  298. package/dist/builtins/snapshot/snapshot-link-url.d.ts +49 -49
  299. package/dist/builtins/snapshot/snapshot-media-handler.d.ts +97 -97
  300. package/dist/builtins/snapshot/snapshot-resize.d.ts +64 -103
  301. package/dist/builtins/snapshot/snapshot.addon.d.ts +569 -568
  302. package/dist/builtins/sqlite-storage/analyze-stats.d.ts +73 -29
  303. package/dist/builtins/sqlite-storage/config-store.d.ts +6 -6
  304. package/dist/builtins/sqlite-storage/device-store.d.ts +16 -16
  305. package/dist/builtins/sqlite-storage/filesystem-browse-provider.d.ts +23 -23
  306. package/dist/builtins/sqlite-storage/filesystem-storage-provider.d.ts +79 -79
  307. package/dist/builtins/sqlite-storage/filesystem-storage.addon.d.ts +27 -26
  308. package/dist/builtins/sqlite-storage/filesystem-storage.addon.js +1 -1
  309. package/dist/builtins/sqlite-storage/filesystem-storage.addon.mjs +1 -1
  310. package/dist/builtins/sqlite-storage/filter-compiler.d.ts +107 -107
  311. package/dist/builtins/sqlite-storage/index.d.ts +12 -12
  312. package/dist/builtins/sqlite-storage/integration-registry.d.ts +37 -37
  313. package/dist/builtins/sqlite-storage/path-guard.d.ts +5 -5
  314. package/dist/builtins/sqlite-storage/prefix-range.d.ts +44 -44
  315. package/dist/builtins/sqlite-storage/query-bounds.d.ts +100 -106
  316. package/dist/builtins/sqlite-storage/query-profiler.d.ts +217 -217
  317. package/dist/builtins/sqlite-storage/retired-collections.d.ts +124 -55
  318. package/dist/builtins/sqlite-storage/retired-settings-keys.d.ts +239 -189
  319. package/dist/builtins/sqlite-storage/shm-lock-canary.d.ts +41 -41
  320. package/dist/builtins/sqlite-storage/sqlite-pragmas.d.ts +162 -162
  321. package/dist/builtins/sqlite-storage/sqlite-settings-backend.d.ts +458 -458
  322. package/dist/builtins/sqlite-storage/sqlite-settings.addon.d.ts +59 -58
  323. package/dist/builtins/sqlite-storage/sqlite-settings.addon.js +0 -0
  324. package/dist/builtins/sqlite-storage/sqlite-settings.addon.mjs +0 -0
  325. package/dist/builtins/sqlite-storage/sqlite-snapshot-protocol.d.ts +37 -32
  326. package/dist/builtins/sqlite-storage/sqlite-snapshot-worker.d.ts +19 -19
  327. package/dist/builtins/sqlite-storage/sqlite-snapshotter.d.ts +76 -76
  328. package/dist/builtins/sqlite-storage/statement-shape.d.ts +54 -54
  329. package/dist/builtins/sqlite-storage/table-sizes.d.ts +71 -71
  330. package/dist/builtins/sqlite-storage/vector-index-shared.d.ts +63 -54
  331. package/dist/builtins/sqlite-storage/vector-index-vec.d.ts +133 -96
  332. package/dist/builtins/sqlite-storage/wal-checkpoint-policy.d.ts +161 -161
  333. package/dist/builtins/sqlite-storage/wal-checkpointer.d.ts +60 -60
  334. package/dist/builtins/sqlite-storage/wal-maintenance.d.ts +94 -94
  335. package/dist/builtins/storage-orchestrator/access-guards.d.ts +37 -26
  336. package/dist/builtins/storage-orchestrator/data-store-dispatch.d.ts +33 -18
  337. package/dist/builtins/storage-orchestrator/drain-ratchet.d.ts +85 -85
  338. package/dist/builtins/storage-orchestrator/drain-state-store.d.ts +20 -10
  339. package/dist/builtins/storage-orchestrator/hub-settings-forward.d.ts +113 -53
  340. package/dist/builtins/storage-orchestrator/index.d.ts +7 -7
  341. package/dist/builtins/storage-orchestrator/location-occupancy-slice.d.ts +64 -40
  342. package/dist/builtins/storage-orchestrator/location-occupancy.d.ts +14 -14
  343. package/dist/builtins/storage-orchestrator/location-protection.d.ts +13 -13
  344. package/dist/builtins/storage-orchestrator/location-repoint-move.d.ts +44 -44
  345. package/dist/builtins/storage-orchestrator/location-root-collision.d.ts +61 -25
  346. package/dist/builtins/storage-orchestrator/location-secrets.d.ts +99 -58
  347. package/dist/builtins/storage-orchestrator/location-store.d.ts +56 -47
  348. package/dist/builtins/storage-orchestrator/location-volume-capacity.d.ts +37 -37
  349. package/dist/builtins/storage-orchestrator/provider-discovery.d.ts +20 -6
  350. package/dist/builtins/storage-orchestrator/storage-cleanup-coordinator.d.ts +51 -51
  351. package/dist/builtins/storage-orchestrator/storage-migration-coordinator.d.ts +224 -224
  352. package/dist/builtins/storage-orchestrator/storage-orchestrator.addon.d.ts +292 -292
  353. package/dist/builtins/storage-orchestrator/storage-orchestrator.addon.js +1 -1
  354. package/dist/builtins/storage-orchestrator/storage-orchestrator.addon.mjs +1 -1
  355. package/dist/builtins/storage-orchestrator/storage-orchestrator.service.d.ts +431 -450
  356. package/dist/builtins/storage-orchestrator/storage-pressure-manager.d.ts +104 -104
  357. package/dist/builtins/system-backup/backup-encryption.d.ts +60 -23
  358. package/dist/builtins/system-backup/system-backup.service.d.ts +240 -240
  359. package/dist/builtins/system-config/cluster-secret-keeper.d.ts +54 -34
  360. package/dist/builtins/system-config/index.d.ts +2 -2
  361. package/dist/builtins/system-config/mesh-actions.d.ts +2 -30
  362. package/dist/builtins/system-config/system-config.addon.d.ts +57 -100
  363. package/dist/builtins/system-config/system-config.addon.js +39 -35
  364. package/dist/builtins/system-config/system-config.addon.mjs +320 -316
  365. package/dist/builtins/winston-logging/index.d.ts +3 -3
  366. package/dist/builtins/winston-logging/index.js +1 -1
  367. package/dist/builtins/winston-logging/index.mjs +1 -1
  368. package/dist/builtins/winston-logging/winston-destination.d.ts +15 -15
  369. package/dist/builtins/winston-logging/winston-logging.addon.d.ts +14 -13
  370. package/dist/{child-cap-dispatch-nURMuVTX.js → child-cap-dispatch-Nx-lrlHR.js} +19 -1
  371. package/dist/{child-cap-dispatch-B1gyE35b.mjs → child-cap-dispatch-x-onDDiV.mjs} +2 -2
  372. package/dist/{composition-sources-wdAxs-uY.js → composition-sources-LUJsW0AQ.js} +1 -1
  373. package/dist/{composition-sources-xqhm2Ygr.mjs → composition-sources-R8TskGSV.mjs} +1 -1
  374. package/dist/{constants-Ca-Sgcl8.js → constants-D4lxxip7.js} +1 -1
  375. package/dist/{constants-D5z4EwY8.mjs → constants-DMvAcbbP.mjs} +1 -1
  376. package/dist/{dist-8LQ4lDEB.js → dist-XTkzsnz-.js} +35 -1
  377. package/dist/{dist-Biqn3TEn.mjs → dist-byg8IP4Q.mjs} +35 -1
  378. package/dist/download/hosted-model-revisions.d.ts +8 -8
  379. package/dist/download/model-download-service.d.ts +32 -32
  380. package/dist/download/model-downloader.d.ts +88 -88
  381. package/dist/{event-loop-stall-monitor-CNj73d4D.js → event-loop-stall-monitor-DPFghEFw.js} +1 -1
  382. package/dist/{event-loop-stall-monitor-BtK_0Pjc.mjs → event-loop-stall-monitor-TG8UcdY2.mjs} +1 -1
  383. package/dist/events/event-bus.d.ts +6 -6
  384. package/dist/events/system-event-bus.d.ts +11 -11
  385. package/dist/feature/feature-manager.d.ts +6 -6
  386. package/dist/http/asset-compression.d.ts +35 -73
  387. package/dist/http/authenticated-file-server.d.ts +32 -32
  388. package/dist/http/data-plane-registry.d.ts +49 -39
  389. package/dist/http/file-data-plane.d.ts +14 -14
  390. package/dist/http/lan-http-bind.d.ts +24 -13
  391. package/dist/http/reverse-proxy.d.ts +36 -24
  392. package/dist/index.d.ts +137 -137
  393. package/dist/index.js +9 -8
  394. package/dist/index.mjs +7 -9
  395. package/dist/{jwt-signing-key-DxV2ucvJ.js → jwt-signing-key-CD87HrHH.js} +1 -1
  396. package/dist/{jwt-signing-key-SnDgvVUQ.mjs → jwt-signing-key-DNBxSN5p.mjs} +1 -1
  397. package/dist/kernel/addon-class-resolver.d.ts +1 -1
  398. package/dist/kernel/addon-engine-manager.d.ts +20 -20
  399. package/dist/kernel/addon-health-monitor.d.ts +151 -151
  400. package/dist/kernel/addon-installer.d.ts +609 -609
  401. package/dist/kernel/addon-loader.d.ts +133 -133
  402. package/dist/kernel/addon-manifest.d.ts +118 -118
  403. package/dist/kernel/addon-residue.d.ts +28 -32
  404. package/dist/kernel/array-buffer-census.d.ts +84 -88
  405. package/dist/kernel/bootstrap-config.d.ts +3 -3
  406. package/dist/kernel/cap-router-builder.d.ts +145 -101
  407. package/dist/kernel/capability-handle.d.ts +41 -41
  408. package/dist/kernel/capability-registry.d.ts +588 -576
  409. package/dist/kernel/config-manager.d.ts +199 -199
  410. package/dist/kernel/config-schema.d.ts +132 -128
  411. package/dist/kernel/custom-action-registry.d.ts +25 -25
  412. package/dist/kernel/deps/addon-deps-manager.d.ts +17 -17
  413. package/dist/kernel/deps/closure-dedupe.d.ts +76 -76
  414. package/dist/kernel/deps/ensure-addon-natives.d.ts +34 -34
  415. package/dist/kernel/deps/ensure-native-prebuilds.d.ts +25 -25
  416. package/dist/kernel/deps/manifest-native-deps.d.ts +38 -38
  417. package/dist/kernel/deps/manifest-python-deps.d.ts +18 -18
  418. package/dist/kernel/deps/manifest-system-deps.d.ts +13 -13
  419. package/dist/kernel/deps/npm-command.d.ts +45 -45
  420. package/dist/kernel/deps/system-package-allowlist.d.ts +9 -9
  421. package/dist/kernel/deps/system-package-broker.d.ts +20 -20
  422. package/dist/kernel/deps/system-package-client.d.ts +3 -3
  423. package/dist/kernel/device-registry.d.ts +27 -27
  424. package/dist/kernel/event-loop-stall-monitor.d.ts +33 -33
  425. package/dist/kernel/event-plane-report.d.ts +174 -174
  426. package/dist/kernel/fs-utils.d.ts +70 -70
  427. package/dist/kernel/gc-census.d.ts +119 -119
  428. package/dist/kernel/heap-spaces.d.ts +87 -87
  429. package/dist/kernel/heap-watch.d.ts +706 -706
  430. package/dist/kernel/host-externals.d.ts +8 -8
  431. package/dist/kernel/hwaccel/hwaccel-resolver.d.ts +27 -27
  432. package/dist/kernel/index.d.ts +115 -113
  433. package/dist/kernel/inference/inference-resolver.d.ts +13 -13
  434. package/dist/kernel/infra-capabilities.d.ts +7 -7
  435. package/dist/kernel/isolated-builtin-phase.d.ts +42 -42
  436. package/dist/kernel/lifecycle/job-journal.d.ts +17 -17
  437. package/dist/kernel/lifecycle/lifecycle-job-engine.d.ts +99 -99
  438. package/dist/kernel/lifecycle/staging-area.d.ts +22 -22
  439. package/dist/kernel/moleculer/addon-context-factory.d.ts +90 -89
  440. package/dist/kernel/moleculer/addon-data-plane-facility.d.ts +12 -12
  441. package/dist/kernel/moleculer/addon-deploy-source.d.ts +11 -11
  442. package/dist/kernel/moleculer/addon-peer-bytes-facility.d.ts +18 -18
  443. package/dist/kernel/moleculer/addon-service-factory.d.ts +41 -41
  444. package/dist/kernel/moleculer/agent-mesh-authenticator.d.ts +60 -33
  445. package/dist/kernel/moleculer/agent-ui-unlock.d.ts +30 -30
  446. package/dist/kernel/moleculer/broker-factory.d.ts +61 -61
  447. package/dist/kernel/moleculer/cap-usage-registry.d.ts +108 -153
  448. package/dist/kernel/moleculer/capabilities-access.d.ts +19 -19
  449. package/dist/kernel/moleculer/child-addon-call-dispatch.d.ts +43 -43
  450. package/dist/kernel/moleculer/child-cap-descriptors.d.ts +26 -26
  451. package/dist/kernel/moleculer/child-cap-dispatch.d.ts +52 -52
  452. package/dist/kernel/moleculer/children-batch-loader.d.ts +86 -34
  453. package/dist/kernel/moleculer/cluster-secret.d.ts +19 -19
  454. package/dist/kernel/moleculer/core-cap-service.d.ts +53 -53
  455. package/dist/kernel/moleculer/crash-supervisor.d.ts +39 -39
  456. package/dist/kernel/moleculer/device-cap-proxy.d.ts +51 -51
  457. package/dist/kernel/moleculer/device-event-ring.d.ts +117 -75
  458. package/dist/kernel/moleculer/event-bus-core.d.ts +171 -159
  459. package/dist/kernel/moleculer/event-bus.d.ts +73 -73
  460. package/dist/kernel/moleculer/hub-log-forwarder.d.ts +30 -30
  461. package/dist/kernel/moleculer/hub-service.d.ts +42 -42
  462. package/dist/kernel/moleculer/init-watchdog.d.ts +49 -49
  463. package/dist/kernel/moleculer/mesh-access-middleware.d.ts +36 -21
  464. package/dist/kernel/moleculer/mesh-auth-mode.d.ts +33 -39
  465. package/dist/kernel/moleculer/mesh-authenticator.d.ts +58 -58
  466. package/dist/kernel/moleculer/mesh-auto-enforce.d.ts +38 -18
  467. package/dist/kernel/moleculer/mesh-join-client.d.ts +67 -45
  468. package/dist/kernel/moleculer/mesh-join-proof.d.ts +8 -8
  469. package/dist/kernel/moleculer/mesh-mtls/constants.d.ts +1 -1
  470. package/dist/kernel/moleculer/mesh-mtls/index.d.ts +10 -10
  471. package/dist/kernel/moleculer/mesh-mtls/mesh-ca-keeper.d.ts +43 -38
  472. package/dist/kernel/moleculer/mesh-mtls/mesh-ca.d.ts +29 -20
  473. package/dist/kernel/moleculer/mesh-mtls/mesh-clear-port.d.ts +32 -32
  474. package/dist/kernel/moleculer/mesh-mtls/mesh-crl.d.ts +11 -11
  475. package/dist/kernel/moleculer/mesh-mtls/mesh-enroll.d.ts +19 -16
  476. package/dist/kernel/moleculer/mesh-mtls/mesh-join-token.d.ts +40 -40
  477. package/dist/kernel/moleculer/mesh-mtls/mesh-tls-enabler.d.ts +5 -1
  478. package/dist/kernel/moleculer/mesh-mtls/tls-tcp-transporter.d.ts +131 -130
  479. package/dist/kernel/moleculer/mesh-queue-report.d.ts +39 -39
  480. package/dist/kernel/moleculer/node-registry.d.ts +120 -120
  481. package/dist/kernel/moleculer/process-context.d.ts +2 -2
  482. package/dist/kernel/moleculer/process-service.d.ts +168 -168
  483. package/dist/kernel/moleculer/provider-registry.d.ts +9 -9
  484. package/dist/kernel/moleculer/readiness-context.d.ts +58 -58
  485. package/dist/kernel/moleculer/readiness-service.d.ts +31 -16
  486. package/dist/kernel/moleculer/register-framework-resolver.d.ts +6 -6
  487. package/dist/kernel/moleculer/register-node-client.d.ts +34 -27
  488. package/dist/kernel/moleculer/remote-logger.d.ts +29 -29
  489. package/dist/kernel/moleculer/resilient-cap-call.d.ts +21 -21
  490. package/dist/kernel/moleculer/runner-native-allocator.d.ts +95 -95
  491. package/dist/kernel/moleculer/runner-process-group.d.ts +57 -57
  492. package/dist/kernel/moleculer/runtime-state-load.d.ts +21 -11
  493. package/dist/kernel/moleculer/settings-read-guard.d.ts +39 -39
  494. package/dist/kernel/moleculer/stream-probe-service.d.ts +25 -6
  495. package/dist/kernel/moleculer/trpc-links.d.ts +203 -203
  496. package/dist/kernel/moleculer/typed-array-serde.d.ts +9 -20
  497. package/dist/kernel/moleculer/worker-device-restore.d.ts +8 -8
  498. package/dist/kernel/outbound-queue-watch.d.ts +74 -74
  499. package/dist/kernel/process-cpu-census.d.ts +55 -55
  500. package/dist/kernel/provider-kind-drift.d.ts +17 -8
  501. package/dist/kernel/restart-coordinator.d.ts +71 -71
  502. package/dist/kernel/settings-door-view.d.ts +36 -25
  503. package/dist/kernel/settings-read-error.d.ts +29 -31
  504. package/dist/kernel/settings-view-types.d.ts +100 -95
  505. package/dist/kernel/socket-plane-report.d.ts +214 -153
  506. package/dist/kernel/status-overlay.d.ts +31 -11
  507. package/dist/kernel/storage-location-registry.d.ts +50 -50
  508. package/dist/kernel/store-settings-view.d.ts +13 -13
  509. package/dist/kernel/system-settings-mirror.d.ts +40 -28
  510. package/dist/kernel/system-settings-policy.d.ts +15 -34
  511. package/dist/kernel/transport/cap-action-census.d.ts +183 -183
  512. package/dist/kernel/transport/cap-action-name.d.ts +84 -84
  513. package/dist/kernel/transport/cap-child-index.d.ts +41 -41
  514. package/dist/kernel/transport/cap-route-resolver.d.ts +237 -212
  515. package/dist/kernel/transport/cap-route.d.ts +139 -139
  516. package/dist/kernel/transport/cap-routing-hints.d.ts +37 -37
  517. package/dist/kernel/transport/child-cap-protocol.d.ts +245 -245
  518. package/dist/kernel/transport/claimed-get-status.d.ts +30 -6
  519. package/dist/kernel/transport/create-local-transport.d.ts +5 -5
  520. package/dist/kernel/transport/frame-codec.d.ts +109 -109
  521. package/dist/kernel/transport/hub-cap-forward.d.ts +81 -59
  522. package/dist/kernel/transport/index.d.ts +36 -36
  523. package/dist/kernel/transport/local-child-client.d.ts +184 -184
  524. package/dist/kernel/transport/local-child-registry.d.ts +592 -592
  525. package/dist/kernel/transport/local-endpoint-path.d.ts +4 -4
  526. package/dist/kernel/transport/local-transport.d.ts +92 -92
  527. package/dist/kernel/transport/parent-unowned-call.d.ts +266 -237
  528. package/dist/kernel/transport/peer-answered-error.d.ts +14 -14
  529. package/dist/kernel/transport/socket-channel.d.ts +110 -110
  530. package/dist/kernel/transport/socket-traffic.d.ts +96 -96
  531. package/dist/kernel/transport/uds-event-bridge.d.ts +77 -50
  532. package/dist/kernel/transport/uds-event-bus.d.ts +75 -26
  533. package/dist/kernel/transport/uds-local-transport.d.ts +14 -14
  534. package/dist/kernel/transport/uds-log-ingest.d.ts +38 -23
  535. package/dist/kernel/transport/uds-logger.d.ts +33 -33
  536. package/dist/kernel/utils/ring-buffer.d.ts +12 -12
  537. package/dist/kernel/workspace-detect.d.ts +7 -7
  538. package/dist/lifecycle/lifecycle-state-machine.d.ts +24 -24
  539. package/dist/logging/formatter.d.ts +52 -25
  540. package/dist/logging/log-manager.d.ts +133 -133
  541. package/dist/logging/log-redactor.d.ts +22 -1
  542. package/dist/logging/log-ring-buffer.d.ts +57 -57
  543. package/dist/logging/logging-gate.d.ts +69 -25
  544. package/dist/logging/logging-gate.singleton.d.ts +12 -1
  545. package/dist/logging/partitioned-log-buffer.d.ts +161 -161
  546. package/dist/logging/scoped-logger.d.ts +14 -14
  547. package/dist/network/network-quality.d.ts +8 -8
  548. package/dist/notification/notification-service.d.ts +37 -37
  549. package/dist/notification/toast-service.d.ts +18 -18
  550. package/dist/pipeline/engine-manager-resolver.d.ts +12 -12
  551. package/dist/pipeline/pipeline-runner.d.ts +6 -6
  552. package/dist/pipeline/pipeline-validator.d.ts +8 -8
  553. package/dist/process/proc-stat.d.ts +51 -51
  554. package/dist/process/resource-monitor.d.ts +19 -19
  555. package/dist/python/python-env-manager.d.ts +10 -10
  556. package/dist/repl/interfaces.d.ts +21 -21
  557. package/dist/repl/repl-engine.d.ts +6 -6
  558. package/dist/{restore-archive-D4cmLoNe.mjs → restore-archive-Bmmmyp1M.mjs} +81 -81
  559. package/dist/{restore-archive-Do_Yu5rC.js → restore-archive-bvYTsnvp.js} +1 -1
  560. package/dist/{retired-settings-keys-BsgVxh8-.mjs → retired-settings-keys-R9CBo2lY.mjs} +1 -1
  561. package/dist/{retired-settings-keys-Cyn3OD0K.js → retired-settings-keys-V0yq5Bm6.js} +1 -1
  562. package/dist/storage/fs-storage-backend.d.ts +35 -35
  563. package/dist/storage/storage-location-manager.d.ts +21 -21
  564. package/dist/storage/storage-manager.d.ts +68 -68
  565. package/dist/tls/boot-tls.d.ts +24 -24
  566. package/dist/tls/cert-evaluation.d.ts +25 -25
  567. package/dist/tls/cert-identity.d.ts +39 -39
  568. package/dist/tls/cert-issue.d.ts +37 -17
  569. package/dist/tls/cert-manager.d.ts +86 -84
  570. package/dist/tls/https-listener.d.ts +16 -16
  571. package/dist/tls/index.d.ts +8 -8
  572. package/dist/tls/tls-actions.d.ts +18 -18
  573. package/dist/tls/tls-status.d.ts +15 -15
  574. package/dist/tls/uploaded-cert.d.ts +9 -9
  575. package/package.json +9 -3
@@ -1,158 +1,118 @@
1
- import { IScopedLogger, SettingsStoreClient } from '@camstack/types';
1
+ import type { CollectionColumn, IScopedLogger, SettingsStoreClient } from "@camstack/types";
2
2
  /**
3
- * @durable class=ledger owner=local-auth
4
- * write="one row per login (password, passkey, SSO, handoff, session exchange);
5
- * rewritten on every refresh / renewal (expiry slides, refresh hash rotates)
6
- * and on revocation"
7
- * retention="the daily reap deletes rows expired more than 7 days ago and rows
8
- * revoked more than 30 days ago. A session the user keeps refreshing lives as
9
- * long as it is used."
10
- */
3
+ * @durable class=ledger owner=local-auth
4
+ * write="one row per login (password, passkey, SSO, handoff, session exchange);
5
+ * rewritten on every refresh / renewal (expiry slides, refresh hash rotates)
6
+ * and on revocation"
7
+ * retention="the daily reap deletes rows expired more than 7 days ago and rows
8
+ * revoked more than 30 days ago. A session the user keeps refreshing lives as
9
+ * long as it is used."
10
+ */
11
11
  export declare const LOGIN_SESSIONS_COLLECTION = "login_sessions";
12
12
  /**
13
- * @durable class=config owner=local-auth
14
- * write="revoking all of a user's sessions (logout everywhere, password change or
15
- * reset, user deletion) sets that user's cutoff to now"
16
- * retention="none — one row per user who ever had all sessions revoked; it only
17
- * ever matters for tokens minted before sessions existed, and is harmless after."
18
- */
13
+ * @durable class=config owner=local-auth
14
+ * write="revoking all of a user's sessions (logout everywhere, password change or
15
+ * reset, user deletion) sets that user's cutoff to now"
16
+ * retention="none — one row per user who ever had all sessions revoked; it only
17
+ * ever matters for tokens minted before sessions existed, and is harmless after."
18
+ */
19
19
  export declare const LOGIN_SESSION_CUTOFFS_COLLECTION = "login_session_cutoffs";
20
- export declare const LOGIN_SESSIONS_COLUMNS: ({
21
- name: string;
22
- type: "TEXT";
23
- primaryKey: boolean;
24
- notNull: boolean;
25
- } | {
26
- name: string;
27
- type: "TEXT";
28
- notNull: boolean;
29
- primaryKey?: undefined;
30
- } | {
31
- name: string;
32
- type: "BOOLEAN";
33
- notNull: boolean;
34
- primaryKey?: undefined;
35
- } | {
36
- name: string;
37
- type: "INTEGER";
38
- notNull: boolean;
39
- primaryKey?: undefined;
40
- } | {
41
- name: string;
42
- type: "INTEGER";
43
- primaryKey?: undefined;
44
- notNull?: undefined;
45
- } | {
46
- name: string;
47
- type: "TEXT";
48
- primaryKey?: undefined;
49
- notNull?: undefined;
50
- })[];
51
- export declare const LOGIN_SESSION_CUTOFFS_COLUMNS: ({
52
- name: string;
53
- type: "TEXT";
54
- primaryKey: boolean;
55
- notNull: boolean;
56
- } | {
57
- name: string;
58
- type: "INTEGER";
59
- notNull: boolean;
60
- primaryKey?: undefined;
61
- })[];
20
+ export declare const LOGIN_SESSIONS_COLUMNS: readonly CollectionColumn[];
21
+ export declare const LOGIN_SESSION_CUTOFFS_COLUMNS: readonly CollectionColumn[];
62
22
  /** How a session began — shown on the sessions list. */
63
- export type LoginSessionMethod = 'password' | 'passkey' | 'sso' | 'handoff' | 'exchange';
23
+ export type LoginSessionMethod = "password" | "passkey" | "sso" | "handoff" | "exchange";
64
24
  /** Why a session ended. */
65
- export type LoginSessionRevocation = 'logout' | 'logout-everywhere' | 'password-changed' | 'password-reset' | 'user-deleted' | 'refresh-reuse' | 'revoked-by-user' | 'revoked-by-admin';
25
+ export type LoginSessionRevocation = "logout" | "logout-everywhere" | "password-changed" | "password-reset" | "user-deleted" | "refresh-reuse" | "revoked-by-user" | "revoked-by-admin";
66
26
  export interface LoginSessionRecord {
67
- readonly id: string;
68
- readonly userId: string;
69
- readonly method: LoginSessionMethod;
70
- readonly refreshable: boolean;
71
- readonly createdAt: number;
72
- readonly lastUsedAt: number;
73
- readonly expiresAt: number;
74
- readonly revokedAt: number | null;
75
- readonly revokedReason: string | null;
76
- readonly refreshHash: string | null;
77
- readonly previousRefreshHash: string | null;
78
- readonly rotatedAt: number | null;
79
- readonly client: string | null;
80
- readonly ip: string | null;
27
+ readonly id: string;
28
+ readonly userId: string;
29
+ readonly method: LoginSessionMethod;
30
+ readonly refreshable: boolean;
31
+ readonly createdAt: number;
32
+ readonly lastUsedAt: number;
33
+ readonly expiresAt: number;
34
+ readonly revokedAt: number | null;
35
+ readonly revokedReason: string | null;
36
+ readonly refreshHash: string | null;
37
+ readonly previousRefreshHash: string | null;
38
+ readonly rotatedAt: number | null;
39
+ readonly client: string | null;
40
+ readonly ip: string | null;
81
41
  }
82
42
  /** A session as the UI sees it — no refresh hashes. */
83
- export type LoginSessionSummary = Omit<LoginSessionRecord, 'refreshHash' | 'previousRefreshHash' | 'rotatedAt'>;
43
+ export type LoginSessionSummary = Omit<LoginSessionRecord, "refreshHash" | "previousRefreshHash" | "rotatedAt">;
84
44
  export interface CreateLoginSessionInput {
85
- readonly userId: string;
86
- readonly lifetimeMs: number;
87
- readonly refreshable: boolean;
88
- readonly method: LoginSessionMethod;
89
- readonly client?: string;
90
- readonly ip?: string;
45
+ readonly userId: string;
46
+ readonly lifetimeMs: number;
47
+ readonly refreshable: boolean;
48
+ readonly method: LoginSessionMethod;
49
+ readonly client?: string;
50
+ readonly ip?: string;
91
51
  }
92
52
  export type LoginSessionCheck = {
93
- readonly state: 'active';
94
- readonly session: LoginSessionRecord;
53
+ readonly state: "active";
54
+ readonly session: LoginSessionRecord;
95
55
  } | {
96
- readonly state: 'unknown' | 'revoked' | 'expired';
56
+ readonly state: "unknown" | "revoked" | "expired";
97
57
  };
98
58
  export type LoginSessionRefresh = {
99
- readonly ok: true;
100
- readonly session: LoginSessionRecord;
101
- readonly refreshToken: string;
59
+ readonly ok: true;
60
+ readonly session: LoginSessionRecord;
61
+ readonly refreshToken: string;
102
62
  } | {
103
- readonly ok: false;
104
- readonly reason: 'unknown' | 'expired' | 'revoked' | 'reused';
63
+ readonly ok: false;
64
+ readonly reason: "unknown" | "expired" | "revoked" | "reused";
105
65
  };
106
66
  export declare const REFRESH_TOKEN_PREFIX = "csr_";
107
67
  export declare function toLoginSessionSummary(record: LoginSessionRecord): LoginSessionSummary;
108
68
  export interface LoginSessionManagerOptions {
109
- readonly now?: () => number;
110
- readonly logger?: IScopedLogger;
69
+ readonly now?: () => number;
70
+ readonly logger?: IScopedLogger;
111
71
  }
112
72
  export declare class LoginSessionManager {
113
- private readonly store;
114
- private readonly sessions;
115
- /** refresh hash (current or previous) → session id */
116
- private readonly byRefreshHash;
117
- private readonly cutoffs;
118
- private readonly now;
119
- private readonly logger;
120
- constructor(store: SettingsStoreClient, options?: LoginSessionManagerOptions);
121
- /** Load every row into the mirror. Call once at init, before serving. */
122
- load(): Promise<void>;
123
- create(input: CreateLoginSessionInput): Promise<{
124
- readonly session: LoginSessionRecord;
125
- readonly refreshToken: string | null;
126
- }>;
127
- /** Is `sessionId` a live session right now? Synchronous: the hub asks on every request. */
128
- check(sessionId: string): LoginSessionCheck;
129
- /** Epoch ms before which a pre-session (no `sid`) token of `userId` is refused; 0 = none. */
130
- legacyCutoff(userId: string): number;
131
- /** Swap a refresh token for a rotated one, sliding the session's expiry to now + `lifetimeMs`. */
132
- refresh(refreshToken: string, lifetimeMs: number): Promise<LoginSessionRefresh>;
133
- /** Renew an active session (legacy client): slide its expiry. `null` when it is not active. */
134
- extend(sessionId: string, lifetimeMs: number): Promise<LoginSessionRecord | null>;
135
- /** End one session. `false` when it was unknown or already ended. */
136
- revoke(sessionId: string, reason: LoginSessionRevocation): Promise<boolean>;
137
- /**
138
- * End every live session of `userId` except `exceptSessionId`, and move the
139
- * user's legacy cutoff to now (pre-session tokens die too). Returns how many
140
- * sessions ended.
141
- */
142
- revokeAllForUser(userId: string, options: {
143
- readonly exceptSessionId?: string;
144
- readonly reason: LoginSessionRevocation;
145
- }): Promise<number>;
146
- /** `userId`'s live sessions, newest first. */
147
- listForUser(userId: string): readonly LoginSessionSummary[];
148
- /** Every live session, newest first. */
149
- listActive(): readonly LoginSessionSummary[];
150
- /** Delete rows expired more than 7 days ago or revoked more than 30. Returns how many. */
151
- reap(): Promise<number>;
152
- private newRefreshToken;
153
- private remember;
154
- private forget;
155
- private replace;
156
- private persist;
157
- private persistCutoff;
73
+ private readonly store;
74
+ private readonly sessions;
75
+ /** refresh hash (current or previous) → session id */
76
+ private readonly byRefreshHash;
77
+ private readonly cutoffs;
78
+ private readonly now;
79
+ private readonly logger;
80
+ constructor(store: SettingsStoreClient, options?: LoginSessionManagerOptions);
81
+ /** Load every row into the mirror. Call once at init, before serving. */
82
+ load(): Promise<void>;
83
+ create(input: CreateLoginSessionInput): Promise<{
84
+ readonly session: LoginSessionRecord;
85
+ readonly refreshToken: string | null;
86
+ }>;
87
+ /** Is `sessionId` a live session right now? Synchronous: the hub asks on every request. */
88
+ check(sessionId: string): LoginSessionCheck;
89
+ /** Epoch ms before which a pre-session (no `sid`) token of `userId` is refused; 0 = none. */
90
+ legacyCutoff(userId: string): number;
91
+ /** Swap a refresh token for a rotated one, sliding the session's expiry to now + `lifetimeMs`. */
92
+ refresh(refreshToken: string, lifetimeMs: number): Promise<LoginSessionRefresh>;
93
+ /** Renew an active session (legacy client): slide its expiry. `null` when it is not active. */
94
+ extend(sessionId: string, lifetimeMs: number): Promise<LoginSessionRecord | null>;
95
+ /** End one session. `false` when it was unknown or already ended. */
96
+ revoke(sessionId: string, reason: LoginSessionRevocation): Promise<boolean>;
97
+ /**
98
+ * End every live session of `userId` except `exceptSessionId`, and move the
99
+ * user's legacy cutoff to now (pre-session tokens die too). Returns how many
100
+ * sessions ended.
101
+ */
102
+ revokeAllForUser(userId: string, options: {
103
+ readonly exceptSessionId?: string;
104
+ readonly reason: LoginSessionRevocation;
105
+ }): Promise<number>;
106
+ /** `userId`'s live sessions, newest first. */
107
+ listForUser(userId: string): readonly LoginSessionSummary[];
108
+ /** Every live session, newest first. */
109
+ listActive(): readonly LoginSessionSummary[];
110
+ /** Delete rows expired more than 7 days ago or revoked more than 30. Returns how many. */
111
+ reap(): Promise<number>;
112
+ private newRefreshToken;
113
+ private remember;
114
+ private forget;
115
+ private replace;
116
+ private persist;
117
+ private persistCutoff;
158
118
  }
@@ -1,18 +1,18 @@
1
1
  /**
2
- * Wrap a Zod schema parse with an actionable error message. The
3
- * settings-store regression that broke local-auth in May 2026 surfaced
4
- * as an opaque Zod error listing every required field as `undefined`
5
- * — confusing because the data IS in the DB, just exposed through the
6
- * wrong shape by `queryDeclared`. This helper makes the failure mode
7
- * obvious: it explicitly mentions the kind, the offending value's top-
8
- * level keys, and a hint about the most common cause.
9
- *
10
- * `schema` is typed loosely (any with a `parse` method) to avoid the
11
- * generic ZodTypeAny variance error across Zod major versions when this
12
- * helper is reused by callers that import schemas from `@camstack/types`.
13
- */
2
+ * Wrap a Zod schema parse with an actionable error message. The
3
+ * settings-store regression that broke local-auth in May 2026 surfaced
4
+ * as an opaque Zod error listing every required field as `undefined`
5
+ * — confusing because the data IS in the DB, just exposed through the
6
+ * wrong shape by `queryDeclared`. This helper makes the failure mode
7
+ * obvious: it explicitly mentions the kind, the offending value's top-
8
+ * level keys, and a hint about the most common cause.
9
+ *
10
+ * `schema` is typed loosely (any with a `parse` method) to avoid the
11
+ * generic ZodTypeAny variance error across Zod major versions when this
12
+ * helper is reused by callers that import schemas from `@camstack/types`.
13
+ */
14
14
  interface ZodLikeSchema<T> {
15
- parse(data: unknown): T;
15
+ parse(data: unknown): T;
16
16
  }
17
17
  export declare function parseRecord<T>(kind: string, schema: ZodLikeSchema<T>, data: unknown): T;
18
18
  export {};
@@ -1,8 +1,8 @@
1
1
  /**
2
- * The scope derivation moved to `@camstack/types`
3
- * (`src/auth/principal-scope.ts`) so that ADDONS can reach it — they may not
4
- * import `@camstack/system`, which is why `addon-export-alexa` had hand-copied
5
- * `scopesAllowDeviceCap` into its `directive-router.ts`. This module is the
6
- * kernel-side re-export; there is no second implementation.
7
- */
8
- export { scopesAllowAddon, scopesAllowDeviceCap } from '@camstack/types';
2
+ * The scope derivation moved to `@camstack/types`
3
+ * (`src/auth/principal-scope.ts`) so that ADDONS can reach it — they may not
4
+ * import `@camstack/system`, which is why `addon-export-alexa` had hand-copied
5
+ * `scopesAllowDeviceCap` into its `directive-router.ts`. This module is the
6
+ * kernel-side re-export; there is no second implementation.
7
+ */
8
+ export { scopesAllowAddon, scopesAllowDeviceCap } from "@camstack/types";
@@ -1,65 +1,65 @@
1
- import { ScopedToken, TokenScope, SettingsStoreClient } from '@camstack/types';
1
+ import type { ScopedToken, TokenScope, SettingsStoreClient } from "@camstack/types";
2
2
  /**
3
- * Manages scoped API tokens with restricted addon/route/capability access.
4
- */
3
+ * Manages scoped API tokens with restricted addon/route/capability access.
4
+ */
5
5
  export declare class ScopedTokenManager {
6
- private readonly store;
7
- constructor(store: SettingsStoreClient);
8
- create(userId: string, name: string, scopes: TokenScope[], expiresAt?: number): Promise<{
9
- token: string;
10
- record: ScopedToken;
11
- }>;
12
- validate(rawToken: string): Promise<ScopedToken | null>;
13
- /**
14
- * Coarse scope match — checks only `addonId` / `capability` (no
15
- * `route-prefix` after the caps-only migration). Used by addon-route
16
- * HTTP handlers that need a quick allow/deny before the per-method
17
- * `access` check kicks in via `METHOD_ACCESS_MAP` in
18
- * `protectedProcedure`.
19
- */
20
- matchesScope(token: ScopedToken, addonId?: string, capability?: string): boolean;
21
- revoke(tokenId: string): Promise<void>;
22
- listForUser(userId: string): Promise<ScopedToken[]>;
23
- updateLastUsed(tokenId: string): Promise<void>;
24
- /**
25
- * Delete tokens whose expiry has passed.
26
- *
27
- * These were never usable — {@link validate} already rejects an expired
28
- * token — so this is hygiene rather than a hole being closed, and it is
29
- * worth being precise about what it actually buys:
30
- *
31
- * - `listForUser` returns rows with no expiry filter, so the operator's
32
- * token list showed dead tokens as if they were live. There was no way to
33
- * tell from the UI which ones still worked.
34
- * - a database that outlives its tokens keeps their hashes indefinitely.
35
- * 27 rows on the live hub had been unusable for months.
36
- *
37
- * A token with NO expiry (`expiresAt` null/absent) is a deliberate
38
- * never-expires token and MUST survive: `BETWEEN` never matches NULL in
39
- * SQL, which is the property this depends on and the spec pins against a
40
- * real SQLite.
41
- *
42
- * The bound is `nowMs - 1` because {@link validate} treats `now ===
43
- * expiresAt` as still valid; reaping at exactly the expiry instant would
44
- * delete a token that the same millisecond still accepts.
45
- *
46
- * Returns how many rows went.
47
- */
48
- reapExpired(nowMs?: number): Promise<number>;
49
- /**
50
- * One-shot migration: drop tokens whose owner can't be resolved.
51
- *
52
- * Two ways a token can end up orphan:
53
- * • Pre-fix tokens minted via the CLI were owned by the literal
54
- * string `"system"` (provider hardcode, fixed 2026-05-11).
55
- * • A user gets deleted but their tokens were not cascade-revoked.
56
- *
57
- * Either way the UI's `listScopedTokens({ userId: u.id })` never
58
- * returns them, so the operator can't revoke through the normal flow.
59
- * We sweep both classes by passing the live user-id set in.
60
- *
61
- * Idempotent: if no orphans exist the method is a no-op.
62
- * Returns the number of tokens removed.
63
- */
64
- cleanupOrphans(validUserIds: ReadonlySet<string>): Promise<number>;
6
+ private readonly store;
7
+ constructor(store: SettingsStoreClient);
8
+ create(userId: string, name: string, scopes: TokenScope[], expiresAt?: number): Promise<{
9
+ token: string;
10
+ record: ScopedToken;
11
+ }>;
12
+ validate(rawToken: string): Promise<ScopedToken | null>;
13
+ /**
14
+ * Coarse scope match — checks only `addonId` / `capability` (no
15
+ * `route-prefix` after the caps-only migration). Used by addon-route
16
+ * HTTP handlers that need a quick allow/deny before the per-method
17
+ * `access` check kicks in via `METHOD_ACCESS_MAP` in
18
+ * `protectedProcedure`.
19
+ */
20
+ matchesScope(token: ScopedToken, addonId?: string, capability?: string): boolean;
21
+ revoke(tokenId: string): Promise<void>;
22
+ listForUser(userId: string): Promise<ScopedToken[]>;
23
+ updateLastUsed(tokenId: string): Promise<void>;
24
+ /**
25
+ * Delete tokens whose expiry has passed.
26
+ *
27
+ * These were never usable — {@link validate} already rejects an expired
28
+ * token — so this is hygiene rather than a hole being closed, and it is
29
+ * worth being precise about what it actually buys:
30
+ *
31
+ * - `listForUser` returns rows with no expiry filter, so the operator's
32
+ * token list showed dead tokens as if they were live. There was no way to
33
+ * tell from the UI which ones still worked.
34
+ * - a database that outlives its tokens keeps their hashes indefinitely.
35
+ * 27 rows on the live hub had been unusable for months.
36
+ *
37
+ * A token with NO expiry (`expiresAt` null/absent) is a deliberate
38
+ * never-expires token and MUST survive: `BETWEEN` never matches NULL in
39
+ * SQL, which is the property this depends on and the spec pins against a
40
+ * real SQLite.
41
+ *
42
+ * The bound is `nowMs - 1` because {@link validate} treats `now ===
43
+ * expiresAt` as still valid; reaping at exactly the expiry instant would
44
+ * delete a token that the same millisecond still accepts.
45
+ *
46
+ * Returns how many rows went.
47
+ */
48
+ reapExpired(nowMs?: number): Promise<number>;
49
+ /**
50
+ * One-shot migration: drop tokens whose owner can't be resolved.
51
+ *
52
+ * Two ways a token can end up orphan:
53
+ * • Pre-fix tokens minted via the CLI were owned by the literal
54
+ * string `"system"` (provider hardcode, fixed 2026-05-11).
55
+ * • A user gets deleted but their tokens were not cascade-revoked.
56
+ *
57
+ * Either way the UI's `listScopedTokens({ userId: u.id })` never
58
+ * returns them, so the operator can't revoke through the normal flow.
59
+ * We sweep both classes by passing the live user-id set in.
60
+ *
61
+ * Idempotent: if no orphans exist the method is a no-op.
62
+ * Returns the number of tokens removed.
63
+ */
64
+ cleanupOrphans(validUserIds: ReadonlySet<string>): Promise<number>;
65
65
  }
@@ -1,39 +1,62 @@
1
- import { DEFAULT_TOKEN_EXPIRY, IScopedLogger } from '@camstack/types';
1
+ /**
2
+ * Validation for the operator-configured session-JWT lifetime
3
+ * (`auth.tokenExpiry`, System → Settings → Authentication → Token Expiry).
4
+ *
5
+ * WHY THIS EXISTS. The field is a free-text box that reaches `jwt.sign`'s
6
+ * `expiresIn`. Two things go wrong without a gate in front of it:
7
+ *
8
+ * 1. `jsonwebtoken` THROWS on a value it cannot parse. The only caller is
9
+ * the login/refresh path, so one typo in a settings form turns every
10
+ * login into a 500 — a self-inflicted outage from a text field.
11
+ * 2. `jsonwebtoken` hands a bare numeric STRING to `ms()`, which reads it
12
+ * as MILLISECONDS. An operator who types `3600` meaning "an hour" gets
13
+ * a token that dies in 3.6 seconds. A bare number is therefore rejected
14
+ * rather than interpreted — the field's own description, placeholder and
15
+ * default are all duration strings (`24h`, `7d`, `30d`).
16
+ *
17
+ * A rejection never becomes an unbounded lifetime — it resolves to
18
+ * {@link DEFAULT_TOKEN_EXPIRY}, the single documented default — and it is
19
+ * never silent: `parseTokenExpiry` reports the refusal in its result and
20
+ * `logTokenExpiryRejection` renders it. The two are separate so the caller
21
+ * owns how often it speaks; the signer re-reads on every mint.
22
+ */
23
+ import { DEFAULT_TOKEN_EXPIRY } from "@camstack/types";
24
+ import type { IScopedLogger } from "@camstack/types";
2
25
  /** Why a candidate value was refused. Feeds the log line, not the UI. */
3
- export type TokenExpiryRejection = 'not-a-string' | 'malformed' | 'too-short' | 'too-long';
26
+ export type TokenExpiryRejection = "not-a-string" | "malformed" | "too-short" | "too-long";
4
27
  interface TokenExpiryOutcome {
5
- /**
6
- * Lifetime to hand `jwt.sign`, in SECONDS.
7
- *
8
- * Deliberately a number rather than the duration string: `expiresIn` accepts
9
- * both, but the string branch re-parses through `ms` — which is the branch
10
- * that reads a bare number as milliseconds. Resolving to seconds here means
11
- * exactly one parser decides what the operator's text meant, and it is this
12
- * one.
13
- */
14
- readonly seconds: number;
15
- /** The duration string actually applied — for the log line and the UI story. */
16
- readonly value: string;
28
+ /**
29
+ * Lifetime to hand `jwt.sign`, in SECONDS.
30
+ *
31
+ * Deliberately a number rather than the duration string: `expiresIn` accepts
32
+ * both, but the string branch re-parses through `ms` — which is the branch
33
+ * that reads a bare number as milliseconds. Resolving to seconds here means
34
+ * exactly one parser decides what the operator's text meant, and it is this
35
+ * one.
36
+ */
37
+ readonly seconds: number;
38
+ /** The duration string actually applied — for the log line and the UI story. */
39
+ readonly value: string;
17
40
  }
18
41
  export interface TokenExpiryRejected extends TokenExpiryOutcome {
19
- readonly ok: false;
20
- readonly reason: TokenExpiryRejection;
42
+ readonly ok: false;
43
+ readonly reason: TokenExpiryRejection;
21
44
  }
22
45
  export interface TokenExpiryAccepted extends TokenExpiryOutcome {
23
- readonly ok: true;
24
- readonly reason?: undefined;
46
+ readonly ok: true;
47
+ readonly reason?: undefined;
25
48
  }
26
49
  export type TokenExpiryResult = TokenExpiryAccepted | TokenExpiryRejected;
27
50
  /**
28
- * Parse a configured `auth.tokenExpiry`. An absent/blank value is not a
29
- * rejection — it is "operator never set it" and resolves to the default
30
- * without a log line.
31
- */
51
+ * Parse a configured `auth.tokenExpiry`. An absent/blank value is not a
52
+ * rejection — it is "operator never set it" and resolves to the default
53
+ * without a log line.
54
+ */
32
55
  export declare function parseTokenExpiry(configured: unknown): TokenExpiryResult;
33
56
  /**
34
- * Report a refused `auth.tokenExpiry`. Separate from {@link parseTokenExpiry}
35
- * so the caller owns HOW OFTEN it speaks — the signer re-reads the setting on
36
- * every mint and must not turn one bad save into a line per login.
37
- */
57
+ * Report a refused `auth.tokenExpiry`. Separate from {@link parseTokenExpiry}
58
+ * so the caller owns HOW OFTEN it speaks — the signer re-reads the setting on
59
+ * every mint and must not turn one bad save into a line per login.
60
+ */
38
61
  export declare function logTokenExpiryRejection(configured: unknown, rejection: TokenExpiryRejected, logger: IScopedLogger): void;
39
62
  export { DEFAULT_TOKEN_EXPIRY };
@@ -1,54 +1,54 @@
1
- import { SettingsStoreClient } from '@camstack/types';
1
+ import type { SettingsStoreClient } from "@camstack/types";
2
2
  export interface TotpSetupResult {
3
- readonly secret: string;
4
- readonly otpauthUrl: string;
3
+ readonly secret: string;
4
+ readonly otpauthUrl: string;
5
5
  }
6
6
  export interface TotpStatus {
7
- readonly enabled: boolean;
8
- readonly confirmedAt: number | null;
7
+ readonly enabled: boolean;
8
+ readonly confirmedAt: number | null;
9
9
  }
10
10
  export declare class TotpManager {
11
- private readonly store;
12
- /** ±N steps of clock-skew tolerance, expressed in seconds for otplib v13's
13
- * per-call `epochTolerance`. Default window 1 = ±30 s. */
14
- private readonly epochTolerance;
15
- constructor(store: SettingsStoreClient, opts?: {
16
- /** ±N 30-second windows tolerated. Default 1 = ±30 s clock skew. */
17
- readonly window?: number;
18
- });
19
- /**
20
- * Begin enrollment. Always generates a fresh secret — calling `setup`
21
- * a second time on the same user replaces any pending half-enrollment
22
- * (the user must rescan the QR / re-enter the secret).
23
- *
24
- * The user identity (`label`) is what an authenticator displays as
25
- * the account name; we use the supplied `username` for human-readable
26
- * recognition. `ISSUER` is the CamStack brand.
27
- */
28
- setup(userId: string, username: string): Promise<TotpSetupResult>;
29
- /**
30
- * Confirm enrollment by checking a code from the authenticator
31
- * against the pending secret. On success, flips `confirmedAt` so
32
- * `verify()` starts accepting codes. Idempotent on already-confirmed
33
- * rows: re-confirming a valid code just succeeds with no state
34
- * change.
35
- */
36
- confirm(userId: string, code: string): Promise<boolean>;
37
- /**
38
- * Remove enrollment. Idempotent — no error if the user had no row.
39
- */
40
- disable(userId: string): Promise<void>;
41
- /**
42
- * Verify a code against the confirmed secret. Returns `false` when:
43
- * - The user has no row (not set up).
44
- * - The row is pending (`confirmedAt === null`).
45
- * - The code doesn't match within the configured window.
46
- */
47
- verify(userId: string, code: string): Promise<boolean>;
48
- /**
49
- * Read the user's enrollment status. Pending half-enrollments are
50
- * reported as `enabled: false` — only a confirmed row counts.
51
- */
52
- getStatus(userId: string): Promise<TotpStatus>;
53
- private find;
11
+ private readonly store;
12
+ /** ±N steps of clock-skew tolerance, expressed in seconds for otplib v13's
13
+ * per-call `epochTolerance`. Default window 1 = ±30 s. */
14
+ private readonly epochTolerance;
15
+ constructor(store: SettingsStoreClient, opts?: {
16
+ /** ±N 30-second windows tolerated. Default 1 = ±30 s clock skew. */
17
+ readonly window?: number;
18
+ });
19
+ /**
20
+ * Begin enrollment. Always generates a fresh secret — calling `setup`
21
+ * a second time on the same user replaces any pending half-enrollment
22
+ * (the user must rescan the QR / re-enter the secret).
23
+ *
24
+ * The user identity (`label`) is what an authenticator displays as
25
+ * the account name; we use the supplied `username` for human-readable
26
+ * recognition. `ISSUER` is the CamStack brand.
27
+ */
28
+ setup(userId: string, username: string): Promise<TotpSetupResult>;
29
+ /**
30
+ * Confirm enrollment by checking a code from the authenticator
31
+ * against the pending secret. On success, flips `confirmedAt` so
32
+ * `verify()` starts accepting codes. Idempotent on already-confirmed
33
+ * rows: re-confirming a valid code just succeeds with no state
34
+ * change.
35
+ */
36
+ confirm(userId: string, code: string): Promise<boolean>;
37
+ /**
38
+ * Remove enrollment. Idempotent — no error if the user had no row.
39
+ */
40
+ disable(userId: string): Promise<void>;
41
+ /**
42
+ * Verify a code against the confirmed secret. Returns `false` when:
43
+ * - The user has no row (not set up).
44
+ * - The row is pending (`confirmedAt === null`).
45
+ * - The code doesn't match within the configured window.
46
+ */
47
+ verify(userId: string, code: string): Promise<boolean>;
48
+ /**
49
+ * Read the user's enrollment status. Pending half-enrollments are
50
+ * reported as `enabled: false` — only a confirmed row counts.
51
+ */
52
+ getStatus(userId: string): Promise<TotpStatus>;
53
+ private find;
54
54
  }