@camstack/system 1.2.390 → 1.2.391

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 (503) 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/auth/admin-token-manager.d.ts +37 -67
  7. package/dist/auth/api-key-manager.d.ts +8 -8
  8. package/dist/auth/auth-audit-log.d.ts +29 -49
  9. package/dist/auth/auth-manager.d.ts +127 -126
  10. package/dist/auth/cidr.d.ts +8 -8
  11. package/dist/auth/external-identity-manager.d.ts +46 -34
  12. package/dist/auth/jwt-signing-key.d.ts +14 -14
  13. package/dist/auth/login-session-manager.d.ts +95 -135
  14. package/dist/auth/parse-record.d.ts +13 -13
  15. package/dist/auth/scope-matcher.d.ts +7 -7
  16. package/dist/auth/scoped-token-manager.d.ts +62 -62
  17. package/dist/auth/token-expiry.d.ts +49 -26
  18. package/dist/auth/totp-manager.d.ts +48 -48
  19. package/dist/auth/user-management-internal.d.ts +67 -52
  20. package/dist/auth/user-manager.d.ts +58 -58
  21. package/dist/builtins/addon-pages-aggregator/addon-pages-aggregator.addon.d.ts +54 -54
  22. package/dist/builtins/addon-pages-aggregator/dedupe-pages.d.ts +22 -4
  23. package/dist/builtins/addon-pages-aggregator/index.d.ts +1 -1
  24. package/dist/builtins/addon-widgets-aggregator/addon-widgets-aggregator.addon.d.ts +54 -54
  25. package/dist/builtins/addon-widgets-aggregator/index.d.ts +1 -1
  26. package/dist/builtins/alerts/alerts.addon.d.ts +88 -87
  27. package/dist/builtins/alerts/device-label.d.ts +6 -6
  28. package/dist/builtins/alerts/index.d.ts +1 -1
  29. package/dist/builtins/alerts/prune-policy.d.ts +36 -36
  30. package/dist/builtins/autotrack/autotrack-cameras.d.ts +102 -79
  31. package/dist/builtins/autotrack/autotrack-config.d.ts +81 -81
  32. package/dist/builtins/autotrack/autotrack-decision.d.ts +69 -82
  33. package/dist/builtins/autotrack/autotrack-loop.d.ts +81 -61
  34. package/dist/builtins/autotrack/autotrack.addon.d.ts +103 -66
  35. package/dist/builtins/autotrack/frame-error.d.ts +38 -38
  36. package/dist/builtins/autotrack/frame-measurements.d.ts +79 -79
  37. package/dist/builtins/autotrack/index.d.ts +2 -2
  38. package/dist/builtins/autotrack/ptz-mirror.d.ts +46 -17
  39. package/dist/builtins/autotrack/target-selection.d.ts +33 -47
  40. package/dist/builtins/backup-orchestrator/backup-orchestrator.addon.d.ts +270 -269
  41. package/dist/builtins/backup-orchestrator/cron-helpers.d.ts +17 -17
  42. package/dist/builtins/backup-orchestrator/destination-policy.d.ts +99 -82
  43. package/dist/builtins/backup-orchestrator/download-helpers.d.ts +9 -9
  44. package/dist/builtins/backup-orchestrator/encryption-key-store.d.ts +40 -29
  45. package/dist/builtins/backup-orchestrator/index.d.ts +2 -2
  46. package/dist/builtins/backup-orchestrator/manifest-store.d.ts +88 -69
  47. package/dist/builtins/backup-orchestrator/restore-archive.d.ts +14 -14
  48. package/dist/builtins/backup-orchestrator/run-queue.d.ts +86 -86
  49. package/dist/builtins/backup-orchestrator/schedule-store.d.ts +53 -37
  50. package/dist/builtins/backup-orchestrator/staging-paths.d.ts +23 -23
  51. package/dist/builtins/backup-orchestrator/write-targets.d.ts +53 -53
  52. package/dist/builtins/calendars/calendar-color.d.ts +5 -1
  53. package/dist/builtins/calendars/calendar-prefs-store.d.ts +18 -12
  54. package/dist/builtins/calendars/calendars.addon.d.ts +16 -11
  55. package/dist/builtins/calendars/index.d.ts +1 -1
  56. package/dist/builtins/camera-grid/acquire-retry.d.ts +26 -26
  57. package/dist/builtins/camera-grid/addon.d.ts +200 -174
  58. package/dist/builtins/camera-grid/flv-join.d.ts +32 -58
  59. package/dist/builtins/camera-grid/grid-activity-mirror.d.ts +37 -37
  60. package/dist/builtins/camera-grid/grid-activity.d.ts +83 -42
  61. package/dist/builtins/camera-grid/grid-camera-declarations.d.ts +46 -46
  62. package/dist/builtins/camera-grid/grid-camera-device.d.ts +60 -34
  63. package/dist/builtins/camera-grid/grid-canvas-derivation.d.ts +50 -15
  64. package/dist/builtins/camera-grid/grid-canvas-seed.d.ts +96 -46
  65. package/dist/builtins/camera-grid/grid-canvas.d.ts +74 -74
  66. package/dist/builtins/camera-grid/grid-child.d.ts +29 -16
  67. package/dist/builtins/camera-grid/grid-compositor-child.d.ts +2 -2
  68. package/dist/builtins/camera-grid/grid-compositor-invocation.d.ts +39 -11
  69. package/dist/builtins/camera-grid/grid-compositor.d.ts +50 -50
  70. package/dist/builtins/camera-grid/grid-detection-mapping.d.ts +52 -22
  71. package/dist/builtins/camera-grid/grid-device-settings.d.ts +31 -7
  72. package/dist/builtins/camera-grid/grid-filter-graph.d.ts +41 -41
  73. package/dist/builtins/camera-grid/grid-frame-sample.d.ts +45 -19
  74. package/dist/builtins/camera-grid/grid-instances.d.ts +20 -50
  75. package/dist/builtins/camera-grid/grid-last-frame-store.d.ts +51 -51
  76. package/dist/builtins/camera-grid/grid-layout-native-provider.d.ts +30 -4
  77. package/dist/builtins/camera-grid/grid-plan.d.ts +30 -20
  78. package/dist/builtins/camera-grid/grid-profiles.d.ts +85 -45
  79. package/dist/builtins/camera-grid/grid-row-normalization.d.ts +6 -6
  80. package/dist/builtins/camera-grid/grid-sentry-sources.d.ts +57 -57
  81. package/dist/builtins/camera-grid/grid-snapshot.d.ts +41 -41
  82. package/dist/builtins/camera-grid/grid-stream-descriptor.d.ts +49 -21
  83. package/dist/builtins/camera-grid/grid-stream-invocation.d.ts +37 -22
  84. package/dist/builtins/camera-grid/grid-stream-relay.d.ts +26 -26
  85. package/dist/builtins/camera-grid/grid-stream-session.d.ts +123 -93
  86. package/dist/builtins/camera-grid/grid-tile-feed.d.ts +47 -47
  87. package/dist/builtins/camera-grid/grid-tile-plan.d.ts +55 -20
  88. package/dist/builtins/camera-grid/grid-wire-format.d.ts +22 -6
  89. package/dist/builtins/camera-grid/index.d.ts +44 -44
  90. package/dist/builtins/camera-grid/silence-analysis.d.ts +31 -14
  91. package/dist/builtins/composer/claim-gate.d.ts +54 -27
  92. package/dist/builtins/composer/composed-device-set.d.ts +40 -26
  93. package/dist/builtins/composer/composed-device.d.ts +39 -17
  94. package/dist/builtins/composer/composer-apply-waits.d.ts +20 -13
  95. package/dist/builtins/composer/composer-grafts.d.ts +57 -38
  96. package/dist/builtins/composer/composer-live-set.d.ts +15 -15
  97. package/dist/builtins/composer/composer-plan.d.ts +76 -60
  98. package/dist/builtins/composer/composer-runtime-factory.d.ts +21 -14
  99. package/dist/builtins/composer/composer-seeds.d.ts +20 -14
  100. package/dist/builtins/composer/composer-verdict.d.ts +28 -14
  101. package/dist/builtins/composer/composer.addon.d.ts +23 -9
  102. package/dist/builtins/composer/composer.d.ts +145 -100
  103. package/dist/builtins/composer/composition-declarations.d.ts +50 -39
  104. package/dist/builtins/composer/composition-evaluation.d.ts +38 -22
  105. package/dist/builtins/composer/composition-runtime.d.ts +178 -125
  106. package/dist/builtins/composer/composition-target.d.ts +38 -34
  107. package/dist/builtins/composer/confirmed-seed.d.ts +35 -23
  108. package/dist/builtins/composer/deadline-timer.d.ts +13 -13
  109. package/dist/builtins/composer/existing-target.d.ts +90 -73
  110. package/dist/builtins/composer/field-record.d.ts +26 -19
  111. package/dist/builtins/composer/graft-host.d.ts +56 -32
  112. package/dist/builtins/composer/held-claims.d.ts +26 -9
  113. package/dist/builtins/composer/index.d.ts +1 -1
  114. package/dist/builtins/composer/own-field-reads.d.ts +26 -15
  115. package/dist/builtins/composer/owned-fields-target.d.ts +75 -44
  116. package/dist/builtins/composer/slice-assembler.d.ts +19 -3
  117. package/dist/builtins/composer/source-readings.d.ts +67 -61
  118. package/dist/builtins/composer/source-tracker.d.ts +133 -69
  119. package/dist/builtins/console-logging/console-destination.d.ts +15 -8
  120. package/dist/builtins/console-logging/console-logging.addon.d.ts +20 -19
  121. package/dist/builtins/console-logging/index.d.ts +3 -3
  122. package/dist/builtins/core-blocks/block-package.d.ts +37 -37
  123. package/dist/builtins/core-blocks/block-settings-store.d.ts +34 -21
  124. package/dist/builtins/core-blocks/block-supervisor.d.ts +138 -117
  125. package/dist/builtins/core-blocks/block-type-defs.d.ts +21 -21
  126. package/dist/builtins/core-blocks/blocks-integration.d.ts +76 -49
  127. package/dist/builtins/core-blocks/compile-block.d.ts +37 -37
  128. package/dist/builtins/core-blocks/composition-api.d.ts +38 -24
  129. package/dist/builtins/core-blocks/composition-peers.d.ts +26 -4
  130. package/dist/builtins/core-blocks/composition-sources.d.ts +25 -10
  131. package/dist/builtins/core-blocks/core-block-store.d.ts +109 -109
  132. package/dist/builtins/core-blocks/core-blocks.addon.d.ts +72 -72
  133. package/dist/builtins/core-blocks/extract-settings-schema.d.ts +4 -4
  134. package/dist/builtins/core-blocks/index.d.ts +8 -8
  135. package/dist/builtins/device-manager/adoption-job-engine.d.ts +141 -98
  136. package/dist/builtins/device-manager/claimed-status-overlay.d.ts +42 -9
  137. package/dist/builtins/device-manager/contribution-cache.d.ts +56 -56
  138. package/dist/builtins/device-manager/day-night-config-schema.d.ts +26 -12
  139. package/dist/builtins/device-manager/device-aggregation-merge.d.ts +17 -17
  140. package/dist/builtins/device-manager/device-aggregation.d.ts +277 -254
  141. package/dist/builtins/device-manager/device-bindings-store.d.ts +232 -220
  142. package/dist/builtins/device-manager/device-config-contribution.d.ts +29 -29
  143. package/dist/builtins/device-manager/device-config-secrets.d.ts +32 -13
  144. package/dist/builtins/device-manager/device-event-propagator.d.ts +22 -22
  145. package/dist/builtins/device-manager/device-extension-linked-slot.d.ts +17 -17
  146. package/dist/builtins/device-manager/device-form-secrets.d.ts +14 -14
  147. package/dist/builtins/device-manager/device-linked-devices.d.ts +159 -98
  148. package/dist/builtins/device-manager/device-manager.addon.d.ts +223 -197
  149. package/dist/builtins/device-manager/device-meta-actions.d.ts +306 -305
  150. package/dist/builtins/device-manager/device-meta-store.d.ts +100 -90
  151. package/dist/builtins/device-manager/device-meta-types.d.ts +250 -241
  152. package/dist/builtins/device-manager/device-online-fallback.d.ts +30 -30
  153. package/dist/builtins/device-manager/device-projection.d.ts +53 -67
  154. package/dist/builtins/device-manager/device-provider-context.d.ts +109 -94
  155. package/dist/builtins/device-manager/device-queries.d.ts +63 -63
  156. package/dist/builtins/device-manager/device-row-store.d.ts +417 -365
  157. package/dist/builtins/device-manager/device-source-activation.d.ts +91 -49
  158. package/dist/builtins/device-manager/device-state-claim-views.d.ts +76 -61
  159. package/dist/builtins/device-manager/device-state-claims.d.ts +53 -30
  160. package/dist/builtins/device-manager/device-state-mirror.d.ts +256 -264
  161. package/dist/builtins/device-manager/device-sync-resolvers.d.ts +25 -25
  162. package/dist/builtins/device-manager/field-claims-index.d.ts +85 -58
  163. package/dist/builtins/device-manager/field-ownership.d.ts +54 -36
  164. package/dist/builtins/device-manager/fleet-read-census.d.ts +99 -61
  165. package/dist/builtins/device-manager/image-settings-config-schema.d.ts +18 -8
  166. package/dist/builtins/device-manager/index.d.ts +2 -2
  167. package/dist/builtins/device-manager/linked-devices-manual-backfill.d.ts +20 -9
  168. package/dist/builtins/device-manager/location-alignment.d.ts +46 -46
  169. package/dist/builtins/device-manager/migrate-device.d.ts +178 -101
  170. package/dist/builtins/device-manager/migrate-guard.d.ts +66 -34
  171. package/dist/builtins/device-manager/migrate-hardware-state.d.ts +59 -59
  172. package/dist/builtins/device-manager/migrate-reload.d.ts +42 -4
  173. package/dist/builtins/device-manager/migration-refused.d.ts +20 -20
  174. package/dist/builtins/device-manager/mirror-row-writer.d.ts +205 -179
  175. package/dist/builtins/device-manager/recording-onboard-config-schema.d.ts +56 -32
  176. package/dist/builtins/device-manager/removal-fence.d.ts +48 -48
  177. package/dist/builtins/device-manager/runtime-state-persist-gate.d.ts +54 -26
  178. package/dist/builtins/device-manager/secret-config-paths.d.ts +17 -17
  179. package/dist/builtins/device-manager/stale-wrapper-activations.d.ts +52 -25
  180. package/dist/builtins/device-manager/write-lock.d.ts +13 -13
  181. package/dist/builtins/hub-forwarder/hub-forwarder-destination.d.ts +41 -41
  182. package/dist/builtins/hub-forwarder/hub-forwarder.addon.d.ts +13 -12
  183. package/dist/builtins/hub-forwarder/index.d.ts +3 -3
  184. package/dist/builtins/keychain/index.d.ts +1 -1
  185. package/dist/builtins/keychain/key-sources.d.ts +19 -19
  186. package/dist/builtins/keychain/keychain-crypto.d.ts +4 -4
  187. package/dist/builtins/keychain/keychain-reset-trigger.d.ts +13 -13
  188. package/dist/builtins/keychain/keychain-service.d.ts +128 -128
  189. package/dist/builtins/keychain/keychain-store.d.ts +96 -87
  190. package/dist/builtins/keychain/keychain-usage.d.ts +13 -2
  191. package/dist/builtins/keychain/keychain.addon.d.ts +31 -6
  192. package/dist/builtins/keychain/platform-key-source.d.ts +15 -15
  193. package/dist/builtins/keychain/system-held-secrets.d.ts +17 -4
  194. package/dist/builtins/liveness-monitor/index.d.ts +2 -2
  195. package/dist/builtins/liveness-monitor/liveness-checks.d.ts +73 -52
  196. package/dist/builtins/liveness-monitor/liveness-monitor.addon.d.ts +57 -36
  197. package/dist/builtins/local-auth/admin-account-boot.d.ts +14 -14
  198. package/dist/builtins/local-auth/auth-config-reader.d.ts +34 -17
  199. package/dist/builtins/local-auth/auth-schema.d.ts +92 -69
  200. package/dist/builtins/local-auth/index.d.ts +1 -1
  201. package/dist/builtins/local-auth/jwt-signing-key-keeper.d.ts +22 -22
  202. package/dist/builtins/local-auth/local-auth.addon.d.ts +41 -40
  203. package/dist/builtins/local-auth/oauth-grants.d.ts +57 -57
  204. package/dist/builtins/local-auth/oauth-session-manager.d.ts +62 -62
  205. package/dist/builtins/local-network/address-book.d.ts +61 -36
  206. package/dist/builtins/local-network/index.d.ts +2 -2
  207. package/dist/builtins/local-network/ipv6-lan.d.ts +12 -17
  208. package/dist/builtins/local-network/local-hostname.d.ts +10 -10
  209. package/dist/builtins/local-network/local-network.addon.d.ts +259 -258
  210. package/dist/builtins/loki-logging/index.d.ts +4 -4
  211. package/dist/builtins/loki-logging/loki-destination.d.ts +113 -87
  212. package/dist/builtins/loki-logging/loki-logging.addon.d.ts +61 -42
  213. package/dist/builtins/loki-logging/loki-payload.d.ts +82 -39
  214. package/dist/builtins/loki-logging/retire-enabled-flag.d.ts +37 -12
  215. package/dist/builtins/native-metrics/cgroup-memory.d.ts +206 -159
  216. package/dist/builtins/native-metrics/cgroup-pids.d.ts +138 -91
  217. package/dist/builtins/native-metrics/container-memory-series.d.ts +212 -178
  218. package/dist/builtins/native-metrics/gpu-probe.d.ts +9 -9
  219. package/dist/builtins/native-metrics/index.d.ts +2 -2
  220. package/dist/builtins/native-metrics/load-series-config.d.ts +29 -57
  221. package/dist/builtins/native-metrics/load-series-reader.d.ts +52 -26
  222. package/dist/builtins/native-metrics/load-series-store.d.ts +237 -176
  223. package/dist/builtins/native-metrics/native-metrics-provider.d.ts +43 -43
  224. package/dist/builtins/native-metrics/native-metrics.addon.d.ts +230 -230
  225. package/dist/builtins/native-metrics/node-load-ring.d.ts +196 -196
  226. package/dist/builtins/native-metrics/proc-process-table.d.ts +12 -12
  227. package/dist/builtins/native-metrics/process-classification.d.ts +95 -36
  228. package/dist/builtins/native-metrics/thread-cpu-sampler.d.ts +95 -95
  229. package/dist/builtins/platform-probe/coral-accelerators.d.ts +17 -17
  230. package/dist/builtins/platform-probe/index.d.ts +38 -30
  231. package/dist/builtins/platform-probe/inference-config-resolver.d.ts +27 -27
  232. package/dist/builtins/platform-probe/intel-accelerators.d.ts +8 -8
  233. package/dist/builtins/platform-probe/intel-npu.d.ts +30 -30
  234. package/dist/builtins/platform-probe/platform-scorer.d.ts +35 -35
  235. package/dist/builtins/platform-probe/runtime-packages.d.ts +3 -3
  236. package/dist/builtins/remote-access-orchestrator/enabled-providers-reconcile.d.ts +87 -87
  237. package/dist/builtins/remote-access-orchestrator/index.d.ts +1 -1
  238. package/dist/builtins/remote-access-orchestrator/remote-access-orchestrator.addon.d.ts +66 -35
  239. package/dist/builtins/shared/device-state-changed.d.ts +9 -9
  240. package/dist/builtins/shared/settle-sources.d.ts +16 -16
  241. package/dist/builtins/snapshot/index.d.ts +2 -2
  242. package/dist/builtins/snapshot/snapshot-cache.d.ts +92 -92
  243. package/dist/builtins/snapshot/snapshot-coalescing.d.ts +108 -108
  244. package/dist/builtins/snapshot/snapshot-courtesy.d.ts +48 -48
  245. package/dist/builtins/snapshot/snapshot-durable-store.d.ts +32 -32
  246. package/dist/builtins/snapshot/snapshot-fatigue.d.ts +34 -34
  247. package/dist/builtins/snapshot/snapshot-grab-pick.d.ts +14 -14
  248. package/dist/builtins/snapshot/snapshot-link-url.d.ts +49 -49
  249. package/dist/builtins/snapshot/snapshot-media-handler.d.ts +97 -97
  250. package/dist/builtins/snapshot/snapshot-resize.d.ts +64 -103
  251. package/dist/builtins/snapshot/snapshot.addon.d.ts +569 -568
  252. package/dist/builtins/sqlite-storage/analyze-stats.d.ts +73 -29
  253. package/dist/builtins/sqlite-storage/config-store.d.ts +6 -6
  254. package/dist/builtins/sqlite-storage/device-store.d.ts +16 -16
  255. package/dist/builtins/sqlite-storage/filesystem-browse-provider.d.ts +23 -23
  256. package/dist/builtins/sqlite-storage/filesystem-storage-provider.d.ts +79 -79
  257. package/dist/builtins/sqlite-storage/filesystem-storage.addon.d.ts +27 -26
  258. package/dist/builtins/sqlite-storage/filter-compiler.d.ts +107 -107
  259. package/dist/builtins/sqlite-storage/index.d.ts +12 -12
  260. package/dist/builtins/sqlite-storage/integration-registry.d.ts +37 -37
  261. package/dist/builtins/sqlite-storage/path-guard.d.ts +5 -5
  262. package/dist/builtins/sqlite-storage/prefix-range.d.ts +44 -44
  263. package/dist/builtins/sqlite-storage/query-bounds.d.ts +100 -106
  264. package/dist/builtins/sqlite-storage/query-profiler.d.ts +217 -217
  265. package/dist/builtins/sqlite-storage/retired-collections.d.ts +124 -55
  266. package/dist/builtins/sqlite-storage/retired-settings-keys.d.ts +239 -189
  267. package/dist/builtins/sqlite-storage/shm-lock-canary.d.ts +41 -41
  268. package/dist/builtins/sqlite-storage/sqlite-pragmas.d.ts +162 -162
  269. package/dist/builtins/sqlite-storage/sqlite-settings-backend.d.ts +458 -458
  270. package/dist/builtins/sqlite-storage/sqlite-settings.addon.d.ts +59 -58
  271. package/dist/builtins/sqlite-storage/sqlite-snapshot-protocol.d.ts +37 -32
  272. package/dist/builtins/sqlite-storage/sqlite-snapshot-worker.d.ts +19 -19
  273. package/dist/builtins/sqlite-storage/sqlite-snapshotter.d.ts +76 -76
  274. package/dist/builtins/sqlite-storage/statement-shape.d.ts +54 -54
  275. package/dist/builtins/sqlite-storage/table-sizes.d.ts +71 -71
  276. package/dist/builtins/sqlite-storage/vector-index-shared.d.ts +63 -54
  277. package/dist/builtins/sqlite-storage/vector-index-vec.d.ts +133 -96
  278. package/dist/builtins/sqlite-storage/wal-checkpoint-policy.d.ts +161 -161
  279. package/dist/builtins/sqlite-storage/wal-checkpointer.d.ts +60 -60
  280. package/dist/builtins/sqlite-storage/wal-maintenance.d.ts +94 -94
  281. package/dist/builtins/storage-orchestrator/access-guards.d.ts +37 -26
  282. package/dist/builtins/storage-orchestrator/data-store-dispatch.d.ts +33 -18
  283. package/dist/builtins/storage-orchestrator/drain-ratchet.d.ts +85 -85
  284. package/dist/builtins/storage-orchestrator/drain-state-store.d.ts +20 -10
  285. package/dist/builtins/storage-orchestrator/hub-settings-forward.d.ts +113 -53
  286. package/dist/builtins/storage-orchestrator/index.d.ts +7 -7
  287. package/dist/builtins/storage-orchestrator/location-occupancy-slice.d.ts +64 -40
  288. package/dist/builtins/storage-orchestrator/location-occupancy.d.ts +14 -14
  289. package/dist/builtins/storage-orchestrator/location-protection.d.ts +13 -13
  290. package/dist/builtins/storage-orchestrator/location-repoint-move.d.ts +44 -44
  291. package/dist/builtins/storage-orchestrator/location-root-collision.d.ts +61 -25
  292. package/dist/builtins/storage-orchestrator/location-secrets.d.ts +99 -58
  293. package/dist/builtins/storage-orchestrator/location-store.d.ts +56 -47
  294. package/dist/builtins/storage-orchestrator/location-volume-capacity.d.ts +37 -37
  295. package/dist/builtins/storage-orchestrator/provider-discovery.d.ts +20 -6
  296. package/dist/builtins/storage-orchestrator/storage-cleanup-coordinator.d.ts +51 -51
  297. package/dist/builtins/storage-orchestrator/storage-migration-coordinator.d.ts +224 -224
  298. package/dist/builtins/storage-orchestrator/storage-orchestrator.addon.d.ts +292 -292
  299. package/dist/builtins/storage-orchestrator/storage-orchestrator.service.d.ts +431 -450
  300. package/dist/builtins/storage-orchestrator/storage-pressure-manager.d.ts +104 -104
  301. package/dist/builtins/system-backup/backup-encryption.d.ts +60 -23
  302. package/dist/builtins/system-backup/system-backup.service.d.ts +240 -240
  303. package/dist/builtins/system-config/cluster-secret-keeper.d.ts +54 -34
  304. package/dist/builtins/system-config/index.d.ts +2 -2
  305. package/dist/builtins/system-config/mesh-actions.d.ts +2 -30
  306. package/dist/builtins/system-config/system-config.addon.d.ts +57 -100
  307. package/dist/builtins/system-config/system-config.addon.js +37 -33
  308. package/dist/builtins/system-config/system-config.addon.mjs +37 -33
  309. package/dist/builtins/winston-logging/index.d.ts +3 -3
  310. package/dist/builtins/winston-logging/winston-destination.d.ts +15 -15
  311. package/dist/builtins/winston-logging/winston-logging.addon.d.ts +14 -13
  312. package/dist/{child-cap-dispatch-nURMuVTX.js → child-cap-dispatch-Bnr8brru.js} +18 -0
  313. package/dist/{child-cap-dispatch-B1gyE35b.mjs → child-cap-dispatch-mHO_6r0G.mjs} +1 -1
  314. package/dist/download/hosted-model-revisions.d.ts +8 -8
  315. package/dist/download/model-download-service.d.ts +32 -32
  316. package/dist/download/model-downloader.d.ts +88 -88
  317. package/dist/events/event-bus.d.ts +6 -6
  318. package/dist/events/system-event-bus.d.ts +11 -11
  319. package/dist/feature/feature-manager.d.ts +6 -6
  320. package/dist/http/asset-compression.d.ts +35 -73
  321. package/dist/http/authenticated-file-server.d.ts +32 -32
  322. package/dist/http/data-plane-registry.d.ts +49 -39
  323. package/dist/http/file-data-plane.d.ts +14 -14
  324. package/dist/http/lan-http-bind.d.ts +24 -13
  325. package/dist/http/reverse-proxy.d.ts +36 -24
  326. package/dist/index.d.ts +137 -137
  327. package/dist/index.js +4 -3
  328. package/dist/index.mjs +2 -4
  329. package/dist/kernel/addon-class-resolver.d.ts +1 -1
  330. package/dist/kernel/addon-engine-manager.d.ts +20 -20
  331. package/dist/kernel/addon-health-monitor.d.ts +151 -151
  332. package/dist/kernel/addon-installer.d.ts +609 -609
  333. package/dist/kernel/addon-loader.d.ts +133 -133
  334. package/dist/kernel/addon-manifest.d.ts +118 -118
  335. package/dist/kernel/addon-residue.d.ts +28 -32
  336. package/dist/kernel/array-buffer-census.d.ts +84 -88
  337. package/dist/kernel/bootstrap-config.d.ts +3 -3
  338. package/dist/kernel/cap-router-builder.d.ts +145 -101
  339. package/dist/kernel/capability-handle.d.ts +41 -41
  340. package/dist/kernel/capability-registry.d.ts +588 -576
  341. package/dist/kernel/config-manager.d.ts +199 -199
  342. package/dist/kernel/config-schema.d.ts +132 -128
  343. package/dist/kernel/custom-action-registry.d.ts +25 -25
  344. package/dist/kernel/deps/addon-deps-manager.d.ts +17 -17
  345. package/dist/kernel/deps/closure-dedupe.d.ts +76 -76
  346. package/dist/kernel/deps/ensure-addon-natives.d.ts +34 -34
  347. package/dist/kernel/deps/ensure-native-prebuilds.d.ts +25 -25
  348. package/dist/kernel/deps/manifest-native-deps.d.ts +38 -38
  349. package/dist/kernel/deps/manifest-python-deps.d.ts +18 -18
  350. package/dist/kernel/deps/manifest-system-deps.d.ts +13 -13
  351. package/dist/kernel/deps/npm-command.d.ts +45 -45
  352. package/dist/kernel/deps/system-package-allowlist.d.ts +9 -9
  353. package/dist/kernel/deps/system-package-broker.d.ts +20 -20
  354. package/dist/kernel/deps/system-package-client.d.ts +3 -3
  355. package/dist/kernel/device-registry.d.ts +27 -27
  356. package/dist/kernel/event-loop-stall-monitor.d.ts +33 -33
  357. package/dist/kernel/event-plane-report.d.ts +174 -174
  358. package/dist/kernel/fs-utils.d.ts +70 -70
  359. package/dist/kernel/gc-census.d.ts +119 -119
  360. package/dist/kernel/heap-spaces.d.ts +87 -87
  361. package/dist/kernel/heap-watch.d.ts +706 -706
  362. package/dist/kernel/host-externals.d.ts +8 -8
  363. package/dist/kernel/hwaccel/hwaccel-resolver.d.ts +27 -27
  364. package/dist/kernel/index.d.ts +115 -113
  365. package/dist/kernel/inference/inference-resolver.d.ts +13 -13
  366. package/dist/kernel/infra-capabilities.d.ts +7 -7
  367. package/dist/kernel/isolated-builtin-phase.d.ts +42 -42
  368. package/dist/kernel/lifecycle/job-journal.d.ts +17 -17
  369. package/dist/kernel/lifecycle/lifecycle-job-engine.d.ts +99 -99
  370. package/dist/kernel/lifecycle/staging-area.d.ts +22 -22
  371. package/dist/kernel/moleculer/addon-context-factory.d.ts +90 -89
  372. package/dist/kernel/moleculer/addon-data-plane-facility.d.ts +12 -12
  373. package/dist/kernel/moleculer/addon-deploy-source.d.ts +11 -11
  374. package/dist/kernel/moleculer/addon-peer-bytes-facility.d.ts +18 -18
  375. package/dist/kernel/moleculer/addon-service-factory.d.ts +41 -41
  376. package/dist/kernel/moleculer/agent-mesh-authenticator.d.ts +60 -33
  377. package/dist/kernel/moleculer/agent-ui-unlock.d.ts +30 -30
  378. package/dist/kernel/moleculer/broker-factory.d.ts +61 -61
  379. package/dist/kernel/moleculer/cap-usage-registry.d.ts +108 -153
  380. package/dist/kernel/moleculer/capabilities-access.d.ts +19 -19
  381. package/dist/kernel/moleculer/child-addon-call-dispatch.d.ts +43 -43
  382. package/dist/kernel/moleculer/child-cap-descriptors.d.ts +26 -26
  383. package/dist/kernel/moleculer/child-cap-dispatch.d.ts +52 -52
  384. package/dist/kernel/moleculer/children-batch-loader.d.ts +86 -34
  385. package/dist/kernel/moleculer/cluster-secret.d.ts +19 -19
  386. package/dist/kernel/moleculer/core-cap-service.d.ts +53 -53
  387. package/dist/kernel/moleculer/crash-supervisor.d.ts +39 -39
  388. package/dist/kernel/moleculer/device-cap-proxy.d.ts +51 -51
  389. package/dist/kernel/moleculer/device-event-ring.d.ts +117 -75
  390. package/dist/kernel/moleculer/event-bus-core.d.ts +171 -159
  391. package/dist/kernel/moleculer/event-bus.d.ts +73 -73
  392. package/dist/kernel/moleculer/hub-log-forwarder.d.ts +30 -30
  393. package/dist/kernel/moleculer/hub-service.d.ts +42 -42
  394. package/dist/kernel/moleculer/init-watchdog.d.ts +49 -49
  395. package/dist/kernel/moleculer/mesh-access-middleware.d.ts +36 -21
  396. package/dist/kernel/moleculer/mesh-auth-mode.d.ts +33 -39
  397. package/dist/kernel/moleculer/mesh-authenticator.d.ts +58 -58
  398. package/dist/kernel/moleculer/mesh-auto-enforce.d.ts +38 -18
  399. package/dist/kernel/moleculer/mesh-join-client.d.ts +67 -45
  400. package/dist/kernel/moleculer/mesh-join-proof.d.ts +8 -8
  401. package/dist/kernel/moleculer/mesh-mtls/constants.d.ts +1 -1
  402. package/dist/kernel/moleculer/mesh-mtls/index.d.ts +10 -10
  403. package/dist/kernel/moleculer/mesh-mtls/mesh-ca-keeper.d.ts +43 -38
  404. package/dist/kernel/moleculer/mesh-mtls/mesh-ca.d.ts +29 -20
  405. package/dist/kernel/moleculer/mesh-mtls/mesh-clear-port.d.ts +32 -32
  406. package/dist/kernel/moleculer/mesh-mtls/mesh-crl.d.ts +11 -11
  407. package/dist/kernel/moleculer/mesh-mtls/mesh-enroll.d.ts +19 -16
  408. package/dist/kernel/moleculer/mesh-mtls/mesh-join-token.d.ts +40 -40
  409. package/dist/kernel/moleculer/mesh-mtls/mesh-tls-enabler.d.ts +5 -1
  410. package/dist/kernel/moleculer/mesh-mtls/tls-tcp-transporter.d.ts +131 -130
  411. package/dist/kernel/moleculer/mesh-queue-report.d.ts +39 -39
  412. package/dist/kernel/moleculer/node-registry.d.ts +120 -120
  413. package/dist/kernel/moleculer/process-context.d.ts +2 -2
  414. package/dist/kernel/moleculer/process-service.d.ts +168 -168
  415. package/dist/kernel/moleculer/provider-registry.d.ts +9 -9
  416. package/dist/kernel/moleculer/readiness-context.d.ts +58 -58
  417. package/dist/kernel/moleculer/readiness-service.d.ts +31 -16
  418. package/dist/kernel/moleculer/register-framework-resolver.d.ts +6 -6
  419. package/dist/kernel/moleculer/register-node-client.d.ts +34 -27
  420. package/dist/kernel/moleculer/remote-logger.d.ts +29 -29
  421. package/dist/kernel/moleculer/resilient-cap-call.d.ts +21 -21
  422. package/dist/kernel/moleculer/runner-native-allocator.d.ts +95 -95
  423. package/dist/kernel/moleculer/runner-process-group.d.ts +57 -57
  424. package/dist/kernel/moleculer/runtime-state-load.d.ts +21 -11
  425. package/dist/kernel/moleculer/settings-read-guard.d.ts +39 -39
  426. package/dist/kernel/moleculer/stream-probe-service.d.ts +25 -6
  427. package/dist/kernel/moleculer/trpc-links.d.ts +203 -203
  428. package/dist/kernel/moleculer/typed-array-serde.d.ts +9 -20
  429. package/dist/kernel/moleculer/worker-device-restore.d.ts +8 -8
  430. package/dist/kernel/outbound-queue-watch.d.ts +74 -74
  431. package/dist/kernel/process-cpu-census.d.ts +55 -55
  432. package/dist/kernel/provider-kind-drift.d.ts +17 -8
  433. package/dist/kernel/restart-coordinator.d.ts +71 -71
  434. package/dist/kernel/settings-door-view.d.ts +36 -25
  435. package/dist/kernel/settings-read-error.d.ts +29 -31
  436. package/dist/kernel/settings-view-types.d.ts +100 -95
  437. package/dist/kernel/socket-plane-report.d.ts +214 -153
  438. package/dist/kernel/status-overlay.d.ts +31 -11
  439. package/dist/kernel/storage-location-registry.d.ts +50 -50
  440. package/dist/kernel/store-settings-view.d.ts +13 -13
  441. package/dist/kernel/system-settings-mirror.d.ts +40 -28
  442. package/dist/kernel/system-settings-policy.d.ts +15 -34
  443. package/dist/kernel/transport/cap-action-census.d.ts +183 -183
  444. package/dist/kernel/transport/cap-action-name.d.ts +84 -84
  445. package/dist/kernel/transport/cap-child-index.d.ts +41 -41
  446. package/dist/kernel/transport/cap-route-resolver.d.ts +237 -212
  447. package/dist/kernel/transport/cap-route.d.ts +139 -139
  448. package/dist/kernel/transport/cap-routing-hints.d.ts +37 -37
  449. package/dist/kernel/transport/child-cap-protocol.d.ts +245 -245
  450. package/dist/kernel/transport/claimed-get-status.d.ts +30 -6
  451. package/dist/kernel/transport/create-local-transport.d.ts +5 -5
  452. package/dist/kernel/transport/frame-codec.d.ts +109 -109
  453. package/dist/kernel/transport/hub-cap-forward.d.ts +81 -59
  454. package/dist/kernel/transport/index.d.ts +36 -36
  455. package/dist/kernel/transport/local-child-client.d.ts +184 -184
  456. package/dist/kernel/transport/local-child-registry.d.ts +592 -592
  457. package/dist/kernel/transport/local-endpoint-path.d.ts +4 -4
  458. package/dist/kernel/transport/local-transport.d.ts +92 -92
  459. package/dist/kernel/transport/parent-unowned-call.d.ts +266 -237
  460. package/dist/kernel/transport/peer-answered-error.d.ts +14 -14
  461. package/dist/kernel/transport/socket-channel.d.ts +110 -110
  462. package/dist/kernel/transport/socket-traffic.d.ts +96 -96
  463. package/dist/kernel/transport/uds-event-bridge.d.ts +77 -50
  464. package/dist/kernel/transport/uds-event-bus.d.ts +75 -26
  465. package/dist/kernel/transport/uds-local-transport.d.ts +14 -14
  466. package/dist/kernel/transport/uds-log-ingest.d.ts +38 -23
  467. package/dist/kernel/transport/uds-logger.d.ts +33 -33
  468. package/dist/kernel/utils/ring-buffer.d.ts +12 -12
  469. package/dist/kernel/workspace-detect.d.ts +7 -7
  470. package/dist/lifecycle/lifecycle-state-machine.d.ts +24 -24
  471. package/dist/logging/formatter.d.ts +52 -25
  472. package/dist/logging/log-manager.d.ts +133 -133
  473. package/dist/logging/log-redactor.d.ts +22 -1
  474. package/dist/logging/log-ring-buffer.d.ts +57 -57
  475. package/dist/logging/logging-gate.d.ts +69 -25
  476. package/dist/logging/logging-gate.singleton.d.ts +12 -1
  477. package/dist/logging/partitioned-log-buffer.d.ts +161 -161
  478. package/dist/logging/scoped-logger.d.ts +14 -14
  479. package/dist/network/network-quality.d.ts +8 -8
  480. package/dist/notification/notification-service.d.ts +37 -37
  481. package/dist/notification/toast-service.d.ts +18 -18
  482. package/dist/pipeline/engine-manager-resolver.d.ts +12 -12
  483. package/dist/pipeline/pipeline-runner.d.ts +6 -6
  484. package/dist/pipeline/pipeline-validator.d.ts +8 -8
  485. package/dist/process/proc-stat.d.ts +51 -51
  486. package/dist/process/resource-monitor.d.ts +19 -19
  487. package/dist/python/python-env-manager.d.ts +10 -10
  488. package/dist/repl/interfaces.d.ts +21 -21
  489. package/dist/repl/repl-engine.d.ts +6 -6
  490. package/dist/storage/fs-storage-backend.d.ts +35 -35
  491. package/dist/storage/storage-location-manager.d.ts +21 -21
  492. package/dist/storage/storage-manager.d.ts +68 -68
  493. package/dist/tls/boot-tls.d.ts +24 -24
  494. package/dist/tls/cert-evaluation.d.ts +25 -25
  495. package/dist/tls/cert-identity.d.ts +39 -39
  496. package/dist/tls/cert-issue.d.ts +37 -17
  497. package/dist/tls/cert-manager.d.ts +86 -84
  498. package/dist/tls/https-listener.d.ts +16 -16
  499. package/dist/tls/index.d.ts +8 -8
  500. package/dist/tls/tls-actions.d.ts +18 -18
  501. package/dist/tls/tls-status.d.ts +15 -15
  502. package/dist/tls/uploaded-cert.d.ts +9 -9
  503. package/package.json +9 -3
@@ -1,141 +1,141 @@
1
- import { LogEntry, LogFilter, LogLevel } from './log-ring-buffer.js';
2
- import { LoggingGate } from './logging-gate.js';
3
- import { PartitionedLogBufferOptions } from './partitioned-log-buffer.js';
4
- import { IScopedLogger } from './scoped-logger.js';
1
+ import { type LogEntry, type LogFilter, type LogLevel } from "./log-ring-buffer.js";
2
+ import type { LoggingGate } from "./logging-gate.js";
3
+ import { type PartitionedLogBufferOptions } from "./partitioned-log-buffer.js";
4
+ import { type IScopedLogger } from "./scoped-logger.js";
5
5
  export interface ILogDestination {
6
- initialize(): Promise<void>;
7
- shutdown(): Promise<void>;
8
- write(entry: LogEntry): void;
9
- query?(filter: LogFilter): Promise<readonly LogEntry[]>;
6
+ initialize(): Promise<void>;
7
+ shutdown(): Promise<void>;
8
+ write(entry: LogEntry): void;
9
+ query?(filter: LogFilter): Promise<readonly LogEntry[]>;
10
10
  }
11
11
  /**
12
- * The reserved destination id of the in-memory buffer. Not an addon: the
13
- * buffer must exist before any addon loads (boot lines) and it backs
14
- * `logs.query`/`subscribe`, so it lives in the kernel — but it answers to the
15
- * SAME orchestrator toggle as every other destination.
16
- */
12
+ * The reserved destination id of the in-memory buffer. Not an addon: the
13
+ * buffer must exist before any addon loads (boot lines) and it backs
14
+ * `logs.query`/`subscribe`, so it lives in the kernel — but it answers to the
15
+ * SAME orchestrator toggle as every other destination.
16
+ */
17
17
  export declare const LOG_BUFFER_DESTINATION_ID = "log-buffer";
18
18
  /**
19
- * The addon that OWNS stdout. Every other shipped destination writes somewhere
20
- * else (winston is file-only, loki is remote), so this is the single id whose
21
- * arrival means "the real console is up now".
22
- *
23
- * It exists because the console destination is a core builtin that boots after
24
- * the whole runner plan: a measured hub boot produced no stdout for ~40 s and
25
- * then flushed the backlog newest-first. {@link LogManager.attachBootstrapConsole}
26
- * covers that window, and this constant is how the handover is recognised.
27
- */
19
+ * The addon that OWNS stdout. Every other shipped destination writes somewhere
20
+ * else (winston is file-only, loki is remote), so this is the single id whose
21
+ * arrival means "the real console is up now".
22
+ *
23
+ * It exists because the console destination is a core builtin that boots after
24
+ * the whole runner plan: a measured hub boot produced no stdout for ~40 s and
25
+ * then flushed the backlog newest-first. {@link LogManager.attachBootstrapConsole}
26
+ * covers that window, and this constant is how the handover is recognised.
27
+ */
28
28
  export declare const STDOUT_DESTINATION_ADDON_ID = "console-logging";
29
29
  export declare class LogManager {
30
- private readonly ringBuffer;
31
- /**
32
- * Destinations, each tagged with the addon that provides it (when known) so
33
- * the fan-out can honour the operator's per-destination toggle.
34
- */
35
- private readonly destinations;
36
- /**
37
- * "Is this destination enabled?", injected by the wiring side (which owns
38
- * the capability registry). Absent ⇒ everything is enabled.
39
- *
40
- * WHY: the orchestrator's Enable/Disable toggle only added the addon to
41
- * `disabledProviders` and NOTHING consulted it for `log-destination` — so
42
- * console and winston could not be turned off at all and the badge in the UI
43
- * lied, while Loki appeared to work only because it carried a SECOND,
44
- * private `enabled` setting of its own (audit 2026-07-30).
45
- */
46
- private isDestinationEnabled?;
47
- private readonly subscribers;
48
- private deviceNameLookup;
49
- /**
50
- * The bootstrap stdout sink, while one is attached. Detached — and its
51
- * replay suppressed — when {@link STDOUT_DESTINATION_ADDON_ID} registers.
52
- */
53
- private bootstrapConsole;
54
- /**
55
- * The node-wide level floor, mirrored from the logging settings document.
56
- *
57
- * Consulted on EVERY emitted line, so it is a boolean field read and nothing
58
- * else while nothing is configured — see {@link LoggingGate}. It gates the
59
- * DESTINATIONS only: the ring buffer keeps the line either way, because a
60
- * floor that also blinded the log viewer would make raising the level to
61
- * quieten a disk cost the operator the one window they read incidents from.
62
- */
63
- private gate;
64
- /**
65
- * `perAddonCapacity` bounds EACH addon's bucket, not the total — a chatty addon
66
- * evicts only its own lines, so quiet addons keep their sparse history.
67
- *
68
- * `options.maxTotalEntries` ceilings the total across all buckets, because the
69
- * per-bucket bound scales with addon count, and `options.maxBuckets` ceilings the
70
- * bucket count itself. When the total is exceeded, entries at or below
71
- * `options.pruneLevel` (default `debug`) are discarded first — a live addon's
72
- * `warn`/`error` are never evicted to satisfy it — and only if that cannot reach
73
- * the target are whole least-recently-written buckets dropped. Both bounds are ON
74
- * by default; pass an explicit `null` to opt out. See {@link PartitionedLogBuffer}.
75
- */
76
- constructor(perAddonCapacity?: number, options?: PartitionedLogBufferOptions);
77
- /** Entries currently retained across every bucket. */
78
- bufferSize(): number;
79
- /**
80
- * Register a callback that resolves `deviceId → deviceName`. Called
81
- * for every emitted entry that carries `tags.deviceId` but no
82
- * explicit `tags.deviceName` — the LogManager injects the resolved
83
- * name directly into the entry's tags BEFORE ring-buffer / destination
84
- * write, so every destination (local console, file, remote forwarder,
85
- * addon-bundled copies of core) sees the enriched shape regardless of
86
- * which module instance the destination was built from.
87
- */
88
- setDeviceNameLookup(lookup: ((deviceId: number) => string | null) | null): void;
89
- createLogger(scope?: string): IScopedLogger;
90
- private enrichDeviceName;
91
- /** Subscribe to live logs matching a filter. Returns an unsubscribe function. */
92
- subscribe(filter: Partial<LogFilter>, callback: (entry: LogEntry) => void): () => void;
93
- private matchesFilter;
94
- /**
95
- * Register a log destination.
96
- *
97
- * @param opts.replay If true (default), replay every entry currently in
98
- * the ring buffer to the new destination before live
99
- * traffic starts. Lets a destination added mid-boot
100
- * still receive boot-time log entries.
101
- */
102
- /** Apply new in-memory buffer limits at runtime (see PartitionedLogBuffer). */
103
- reconfigureBuffer(options: {
104
- readonly perAddonCapacity?: number;
105
- readonly maxTotalEntries?: number | null;
106
- readonly pruneLevel?: LogLevel;
107
- }): void;
108
- /**
109
- * Swap the node-wide level gate. Production uses the process singleton;
110
- * a spec passes its own so two suites cannot arm each other's floor.
111
- */
112
- setLoggingGate(gate: LoggingGate): void;
113
- /** Set the per-destination enablement check (see {@link isDestinationEnabled}). */
114
- setDestinationEnabledCheck(check: ((addonId: string) => boolean) | null): void;
115
- /**
116
- * Attach a minimal console sink that carries the boot log until the real
117
- * `console-logging` builtin registers — see {@link STDOUT_DESTINATION_ADDON_ID}.
118
- *
119
- * Registered WITHOUT an `addonId` on purpose: the per-destination toggle
120
- * could otherwise hide the one window an operator cannot read any other way
121
- * (a hub that dies before pass 3 would emit nothing at all). It is detached
122
- * the moment the stdout owner arrives, so stdout never carries two copies.
123
- *
124
- * Idempotent: a second call while one is attached is a no-op.
125
- */
126
- attachBootstrapConsole(dest: ILogDestination): void;
127
- addDestination(dest: ILogDestination, opts?: {
128
- replay?: boolean;
129
- addonId?: string;
130
- }): void;
131
- removeDestination(dest: ILogDestination): void;
132
- query(filter: LogFilter): LogEntry[];
133
- /**
134
- * Drop ring-buffer entries matching `filter`. Returns the count
135
- * removed. Backs the UI's "Clear logs" admin action so an operator
136
- * can wipe the historical window for a scope (per-device, per-addon,
137
- * agent-level) without restarting the server. External destinations
138
- * (file, forwarder) are NOT touched — only the in-memory ring.
139
- */
140
- clear(filter?: LogFilter): number;
30
+ private readonly ringBuffer;
31
+ /**
32
+ * Destinations, each tagged with the addon that provides it (when known) so
33
+ * the fan-out can honour the operator's per-destination toggle.
34
+ */
35
+ private readonly destinations;
36
+ /**
37
+ * "Is this destination enabled?", injected by the wiring side (which owns
38
+ * the capability registry). Absent ⇒ everything is enabled.
39
+ *
40
+ * WHY: the orchestrator's Enable/Disable toggle only added the addon to
41
+ * `disabledProviders` and NOTHING consulted it for `log-destination` — so
42
+ * console and winston could not be turned off at all and the badge in the UI
43
+ * lied, while Loki appeared to work only because it carried a SECOND,
44
+ * private `enabled` setting of its own (audit 2026-07-30).
45
+ */
46
+ private isDestinationEnabled?;
47
+ private readonly subscribers;
48
+ private deviceNameLookup;
49
+ /**
50
+ * The bootstrap stdout sink, while one is attached. Detached — and its
51
+ * replay suppressed — when {@link STDOUT_DESTINATION_ADDON_ID} registers.
52
+ */
53
+ private bootstrapConsole;
54
+ /**
55
+ * The node-wide level floor, mirrored from the logging settings document.
56
+ *
57
+ * Consulted on EVERY emitted line, so it is a boolean field read and nothing
58
+ * else while nothing is configured — see {@link LoggingGate}. It gates the
59
+ * DESTINATIONS only: the ring buffer keeps the line either way, because a
60
+ * floor that also blinded the log viewer would make raising the level to
61
+ * quieten a disk cost the operator the one window they read incidents from.
62
+ */
63
+ private gate;
64
+ /**
65
+ * `perAddonCapacity` bounds EACH addon's bucket, not the total — a chatty addon
66
+ * evicts only its own lines, so quiet addons keep their sparse history.
67
+ *
68
+ * `options.maxTotalEntries` ceilings the total across all buckets, because the
69
+ * per-bucket bound scales with addon count, and `options.maxBuckets` ceilings the
70
+ * bucket count itself. When the total is exceeded, entries at or below
71
+ * `options.pruneLevel` (default `debug`) are discarded first — a live addon's
72
+ * `warn`/`error` are never evicted to satisfy it — and only if that cannot reach
73
+ * the target are whole least-recently-written buckets dropped. Both bounds are ON
74
+ * by default; pass an explicit `null` to opt out. See {@link PartitionedLogBuffer}.
75
+ */
76
+ constructor(perAddonCapacity?: number, options?: PartitionedLogBufferOptions);
77
+ /** Entries currently retained across every bucket. */
78
+ bufferSize(): number;
79
+ /**
80
+ * Register a callback that resolves `deviceId → deviceName`. Called
81
+ * for every emitted entry that carries `tags.deviceId` but no
82
+ * explicit `tags.deviceName` — the LogManager injects the resolved
83
+ * name directly into the entry's tags BEFORE ring-buffer / destination
84
+ * write, so every destination (local console, file, remote forwarder,
85
+ * addon-bundled copies of core) sees the enriched shape regardless of
86
+ * which module instance the destination was built from.
87
+ */
88
+ setDeviceNameLookup(lookup: ((deviceId: number) => string | null) | null): void;
89
+ createLogger(scope?: string): IScopedLogger;
90
+ private enrichDeviceName;
91
+ /** Subscribe to live logs matching a filter. Returns an unsubscribe function. */
92
+ subscribe(filter: Partial<LogFilter>, callback: (entry: LogEntry) => void): () => void;
93
+ private matchesFilter;
94
+ /**
95
+ * Register a log destination.
96
+ *
97
+ * @param opts.replay If true (default), replay every entry currently in
98
+ * the ring buffer to the new destination before live
99
+ * traffic starts. Lets a destination added mid-boot
100
+ * still receive boot-time log entries.
101
+ */
102
+ /** Apply new in-memory buffer limits at runtime (see PartitionedLogBuffer). */
103
+ reconfigureBuffer(options: {
104
+ readonly perAddonCapacity?: number;
105
+ readonly maxTotalEntries?: number | null;
106
+ readonly pruneLevel?: LogLevel;
107
+ }): void;
108
+ /**
109
+ * Swap the node-wide level gate. Production uses the process singleton;
110
+ * a spec passes its own so two suites cannot arm each other's floor.
111
+ */
112
+ setLoggingGate(gate: LoggingGate): void;
113
+ /** Set the per-destination enablement check (see {@link isDestinationEnabled}). */
114
+ setDestinationEnabledCheck(check: ((addonId: string) => boolean) | null): void;
115
+ /**
116
+ * Attach a minimal console sink that carries the boot log until the real
117
+ * `console-logging` builtin registers — see {@link STDOUT_DESTINATION_ADDON_ID}.
118
+ *
119
+ * Registered WITHOUT an `addonId` on purpose: the per-destination toggle
120
+ * could otherwise hide the one window an operator cannot read any other way
121
+ * (a hub that dies before pass 3 would emit nothing at all). It is detached
122
+ * the moment the stdout owner arrives, so stdout never carries two copies.
123
+ *
124
+ * Idempotent: a second call while one is attached is a no-op.
125
+ */
126
+ attachBootstrapConsole(dest: ILogDestination): void;
127
+ addDestination(dest: ILogDestination, opts?: {
128
+ replay?: boolean;
129
+ addonId?: string;
130
+ }): void;
131
+ removeDestination(dest: ILogDestination): void;
132
+ query(filter: LogFilter): LogEntry[];
133
+ /**
134
+ * Drop ring-buffer entries matching `filter`. Returns the count
135
+ * removed. Backs the UI's "Clear logs" admin action so an operator
136
+ * can wipe the historical window for a scope (per-device, per-addon,
137
+ * agent-level) without restarting the server. External destinations
138
+ * (file, forwarder) are NOT touched — only the in-memory ring.
139
+ */
140
+ clear(filter?: LogFilter): number;
141
141
  }
@@ -1,4 +1,25 @@
1
- import { LogEntry } from '@camstack/types';
1
+ /**
2
+ * The central log redactor (D787 §8). Every line passes through it before any
3
+ * destination, ring buffer or subscriber sees it — in hub-main's `LogManager`,
4
+ * in a forked runner's UDS logger (which alone knows the values that runner
5
+ * resolved), and on an agent before a child's line is forwarded to the hub.
6
+ *
7
+ * Three nets, cheapest first:
8
+ * 1. KNOWN VALUES — every secret this process resolved through `ctx.secrets`
9
+ * is replaced wherever it appears (`‹secret:<ref hash>›`). The only net
10
+ * that catches a value inside a library's error message.
11
+ * 2. URL CREDENTIALS — `user:pass@` and credential query params in any URL
12
+ * inside a string (`maskUrlCredentials`), and the value after a
13
+ * credential-looking CLI flag (`--token X`, `--auth-key=X`).
14
+ * 3. KEY NAMES — a `meta` value under a credential-named key, at any depth.
15
+ *
16
+ * Key names are a LOG heuristic only: whether a field is STORED in the
17
+ * keychain is decided by its schema type, never by its name.
18
+ *
19
+ * Hot path: a line with no meta, no `://`, no `--` and no registered values
20
+ * costs a few `includes` checks.
21
+ */
22
+ import { type LogEntry } from "@camstack/types";
2
23
  /** True when a meta key names a credential. */
3
24
  export declare function isCredentialKeyName(key: string): boolean;
4
25
  /** Redact one free-form string. */
@@ -1,62 +1,62 @@
1
- import { LogLevel, LogEntry, LogFilter, LogTags } from '@camstack/types';
1
+ import type { LogLevel, LogEntry, LogFilter, LogTags } from "@camstack/types";
2
2
  export type { LogLevel, LogEntry, LogFilter };
3
3
  /**
4
- * Per-tag filter matcher with semantic-aware comparisons:
5
- *
6
- * `addonId` — matches the entry's bare addon id (strips any `@<workerId>`
7
- * qualifier added by the cap-router for remote providers).
8
- * So a UI filter for `audio-classifier` matches both the
9
- * addon's own log lines and bridge management lines whose
10
- * addonId is logged as `audio-classifier@dev-agent-0/audio-classifier`.
11
- *
12
- * `agentId` — matches when ANY of these hold:
13
- * * the entry was emitted by that agent (`agentId` exact)
14
- * * the entry's `nodeId` IS that agent (single-node case)
15
- * * the entry's `nodeId` starts with `<agent>/` (worker
16
- * inside that agent — e.g. `dev-agent-0/audio-classifier`)
17
- * Captures all the log emission paths for an addon hosted
18
- * on the agent regardless of who actually emitted the line.
19
- *
20
- * any other key — exact match (legacy semantics).
21
- *
22
- * Returns `true` when ALL filter keys match (AND), `false` otherwise.
23
- * `undefined` filter values are skipped.
24
- */
4
+ * Per-tag filter matcher with semantic-aware comparisons:
5
+ *
6
+ * `addonId` — matches the entry's bare addon id (strips any `@<workerId>`
7
+ * qualifier added by the cap-router for remote providers).
8
+ * So a UI filter for `audio-classifier` matches both the
9
+ * addon's own log lines and bridge management lines whose
10
+ * addonId is logged as `audio-classifier@dev-agent-0/audio-classifier`.
11
+ *
12
+ * `agentId` — matches when ANY of these hold:
13
+ * * the entry was emitted by that agent (`agentId` exact)
14
+ * * the entry's `nodeId` IS that agent (single-node case)
15
+ * * the entry's `nodeId` starts with `<agent>/` (worker
16
+ * inside that agent — e.g. `dev-agent-0/audio-classifier`)
17
+ * Captures all the log emission paths for an addon hosted
18
+ * on the agent regardless of who actually emitted the line.
19
+ *
20
+ * any other key — exact match (legacy semantics).
21
+ *
22
+ * Returns `true` when ALL filter keys match (AND), `false` otherwise.
23
+ * `undefined` filter values are skipped.
24
+ */
25
25
  export declare function matchesLogTags(entryTags: LogTags | undefined, filterTags: Partial<LogTags>): boolean;
26
26
  export declare class LogRingBuffer {
27
- private readonly capacity;
28
- private readonly buffer;
29
- private head;
30
- private count;
31
- constructor(capacity?: number);
32
- push(entry: LogEntry): void;
33
- getAll(): LogEntry[];
34
- query(filter: LogFilter): LogEntry[];
35
- /**
36
- * Drop entries that match `filter`. Returns the number of entries
37
- * removed. Triggered by the UI's "Clear logs" button so the operator
38
- * can wipe the historical buffer for a specific scope (per-device,
39
- * per-addon, per-agent) — without it, closing and reopening the
40
- * panel re-populates the cleared rows from the server's ring buffer.
41
- *
42
- * Filter semantics mirror `query` (same level / since / until / tags
43
- * handling) — whatever you'd see listed by `query(filter)` is what
44
- * gets removed.
45
- */
46
- clear(filter?: LogFilter): number;
47
- /** Entries currently retained. */
48
- size(): number;
49
- /**
50
- * Drop up to `max` entries, OLDEST first, whose level is at or below
51
- * `threshold`. Returns how many were removed.
52
- *
53
- * This is what lets a total-memory cap be enforced without losing the entries
54
- * that matter: sweeping `debug` reclaims almost all of the space (debug is the
55
- * overwhelming majority of any busy buffer) while `warn` and `error` are never
56
- * touched. Losing the one error line that explains an incident, in order to keep
57
- * a thousand debug lines about frame timings, would be the wrong trade.
58
- *
59
- * Oldest-first because recent context is what an operator is looking at.
60
- */
61
- pruneOldestAtOrBelow(threshold: LogLevel, max: number): number;
27
+ private readonly capacity;
28
+ private readonly buffer;
29
+ private head;
30
+ private count;
31
+ constructor(capacity?: number);
32
+ push(entry: LogEntry): void;
33
+ getAll(): LogEntry[];
34
+ query(filter: LogFilter): LogEntry[];
35
+ /**
36
+ * Drop entries that match `filter`. Returns the number of entries
37
+ * removed. Triggered by the UI's "Clear logs" button so the operator
38
+ * can wipe the historical buffer for a specific scope (per-device,
39
+ * per-addon, per-agent) — without it, closing and reopening the
40
+ * panel re-populates the cleared rows from the server's ring buffer.
41
+ *
42
+ * Filter semantics mirror `query` (same level / since / until / tags
43
+ * handling) — whatever you'd see listed by `query(filter)` is what
44
+ * gets removed.
45
+ */
46
+ clear(filter?: LogFilter): number;
47
+ /** Entries currently retained. */
48
+ size(): number;
49
+ /**
50
+ * Drop up to `max` entries, OLDEST first, whose level is at or below
51
+ * `threshold`. Returns how many were removed.
52
+ *
53
+ * This is what lets a total-memory cap be enforced without losing the entries
54
+ * that matter: sweeping `debug` reclaims almost all of the space (debug is the
55
+ * overwhelming majority of any busy buffer) while `warn` and `error` are never
56
+ * touched. Losing the one error line that explains an incident, in order to keep
57
+ * a thousand debug lines about frame timings, would be the wrong trade.
58
+ *
59
+ * Oldest-first because recent context is what an operator is looking at.
60
+ */
61
+ pruneOldestAtOrBelow(threshold: LogLevel, max: number): number;
62
62
  }
@@ -1,32 +1,76 @@
1
- import { LogLevel } from '@camstack/types';
1
+ /**
2
+ * The in-memory MIRROR of the logging settings document, read on the log path.
3
+ *
4
+ * ## Why a mirror and not the settings store
5
+ *
6
+ * The document (`system.getLoggingSettings` / `setLoggingSettings`) is the
7
+ * durable AUTHORITY. It is a row in `system-settings`, reachable only through
8
+ * an async cap call — and this gate is consulted once per emitted log line. A
9
+ * hot path cannot await a store, so the store is mirrored here and the mirror
10
+ * is refreshed OFF the hot path, on a write and once at boot.
11
+ *
12
+ * ## Cost when nothing is set
13
+ *
14
+ * {@link LoggingGate.restrictsDestinations} is a plain boolean FIELD, and it is
15
+ * the FIRST statement of {@link LoggingGate.allowsDestination} — before the
16
+ * entry is touched at all. A default hub sets no level, the field stays
17
+ * `false`, and every line costs one boolean read and a return: no rank lookup,
18
+ * no property access, no allocation. `logging-gate.spec.ts` pins this with an
19
+ * entry whose `level` getter THROWS, so moving the guard below a field access
20
+ * fails the spec instead of taxing every line the hub emits.
21
+ *
22
+ * ## A failed read changes nothing (D49)
23
+ *
24
+ * Nothing here reads the store. The only way the mirror moves is an explicit
25
+ * {@link LoggingGate.setDestinationFloor}, and the service that owns the
26
+ * document calls it ONLY with a value it actually read. A store read that
27
+ * fails leaves the mirror exactly as it was: it neither raises a level nor
28
+ * lowers one, and a diagnostic armed before the failure stays armed.
29
+ *
30
+ * ## What the floor governs, and what it deliberately does not
31
+ *
32
+ * The floor gates the fan-out to DESTINATIONS (console, rotated files, Loki,
33
+ * the hub forwarder). It does NOT gate the in-memory ring buffer: the ring
34
+ * keeps everything it has room for and prunes by level only under pressure,
35
+ * which the plan
36
+ * (`docs/design/plans/2026-08-26-per-component-logging.md`) settles as the
37
+ * better policy — an admission level for the ring would make the log viewer go
38
+ * blind exactly when an operator raises the level to quieten a disk.
39
+ *
40
+ * A destination's own level still applies on top. The two compose as
41
+ * "most restrictive wins", which is a hierarchy and not a second authority:
42
+ * the floor is node-wide, the destination level is that destination's own, and
43
+ * neither can be read as overriding the other.
44
+ */
45
+ import { type LogLevel } from "@camstack/types";
2
46
  /** What a hub emits when nothing is configured anywhere. */
3
47
  export declare const DEFAULT_LOG_LEVEL: LogLevel;
4
48
  /**
5
- * The only thing the gate needs off an entry — and it must not read it while
6
- * the gate is unrestricted. Deliberately structural so the spec can hand in an
7
- * object whose getter throws.
8
- */
49
+ * The only thing the gate needs off an entry — and it must not read it while
50
+ * the gate is unrestricted. Deliberately structural so the spec can hand in an
51
+ * object whose getter throws.
52
+ */
9
53
  export interface LevelBearing {
10
- readonly level: LogLevel;
54
+ readonly level: LogLevel;
11
55
  }
12
56
  export declare class LoggingGate {
13
- /** The ONLY field an unrestricted log path reads. */
14
- private restricted;
15
- private floorRank;
16
- private floor;
17
- /** The effective node-wide level currently mirrored. */
18
- get destinationFloor(): LogLevel;
19
- /** True only when the mirrored level is stricter than the default. */
20
- get restrictsDestinations(): boolean;
21
- /**
22
- * May this entry be fanned out to the log destinations?
23
- *
24
- * The boolean field is read FIRST. Do not move it below anything.
25
- */
26
- allowsDestination(entry: LevelBearing): boolean;
27
- /**
28
- * Refresh the mirror. Called off the hot path — on an operator write and
29
- * once at boot — and never with a value that was not actually read.
30
- */
31
- setDestinationFloor(level: LogLevel): void;
57
+ /** The ONLY field an unrestricted log path reads. */
58
+ private restricted;
59
+ private floorRank;
60
+ private floor;
61
+ /** The effective node-wide level currently mirrored. */
62
+ get destinationFloor(): LogLevel;
63
+ /** True only when the mirrored level is stricter than the default. */
64
+ get restrictsDestinations(): boolean;
65
+ /**
66
+ * May this entry be fanned out to the log destinations?
67
+ *
68
+ * The boolean field is read FIRST. Do not move it below anything.
69
+ */
70
+ allowsDestination(entry: LevelBearing): boolean;
71
+ /**
72
+ * Refresh the mirror. Called off the hot path — on an operator write and
73
+ * once at boot — and never with a value that was not actually read.
74
+ */
75
+ setDestinationFloor(level: LogLevel): void;
32
76
  }
@@ -1,4 +1,15 @@
1
- import { LoggingGate } from './logging-gate.js';
1
+ /**
2
+ * Process-wide holder for the {@link LoggingGate}.
3
+ *
4
+ * Two call sites that never meet need the SAME instance: `LogManager` reads it
5
+ * on every emitted line, and the `system` cap provider — which `trpc.router.ts`
6
+ * rebuilds PER REQUEST — refreshes it whenever the document is written. A gate
7
+ * built inside that per-request factory would be refreshed and collected,
8
+ * which is the shape of a knob that never does anything.
9
+ *
10
+ * Same idiom as `http-request-census.singleton.ts`.
11
+ */
12
+ import { LoggingGate } from "./logging-gate.js";
2
13
  /** The process-wide logging gate. Created unrestricted on first use. */
3
14
  export declare function getLoggingGate(): LoggingGate;
4
15
  /** Test-only: drop the instance so a spec starts from an unrestricted gate. */