@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,99 +1,125 @@
1
- import { ILogDestination, LogEntry, LogFilter, LogLevel } from '@camstack/types';
1
+ /**
2
+ * Grafana Loki log destination — batches entries and pushes them to Loki's
3
+ * `POST /loki/api/v1/push`. Payload construction and the label policy live in the
4
+ * pure `loki-payload.ts`; this file owns the batching, the transport and the
5
+ * failure behaviour.
6
+ *
7
+ * ## It must never log
8
+ *
9
+ * This is the constraint that shapes everything else. A `log-destination` that
10
+ * emits a log line feeds itself: one entry → a push → the push logs something →
11
+ * another entry → another push. The `hub-forwarder` builtin carries the same
12
+ * warning in its manifest for the same reason.
13
+ *
14
+ * So this class NEVER calls `ctx.logger`, and it does not throw out of `write()`
15
+ * either — `LogManager` fans one entry to every destination, so throwing here
16
+ * would break the other sinks. Errors are counted and exposed through
17
+ * `getStatus()` for the Admin UI to render. Diagnosing a broken Loki
18
+ * configuration is a UI affordance, deliberately, because it cannot be a log line.
19
+ *
20
+ * ## Backpressure
21
+ *
22
+ * If Loki is down, entries accumulate. A logger that OOMs the process it is
23
+ * observing is worse than a logger that loses lines, so the queue is bounded at
24
+ * `MAX_QUEUE` and drops OLDEST-first when full (a burst during an incident is
25
+ * exactly when the newest lines matter most). Drops are counted and surfaced.
26
+ */
27
+ import type { ILogDestination, LogEntry, LogFilter, LogLevel } from "@camstack/types";
2
28
  export interface LokiConfig {
3
- readonly enabled: boolean;
4
- /** Base URL of the Loki instance, e.g. `http://loki:3100`. */
5
- readonly url: string;
6
- readonly job: string;
7
- readonly node: string;
8
- readonly level: LogLevel;
9
- /** Flush period in ms. */
10
- readonly batchIntervalMs: number;
11
- /** Flush early once this many entries are queued. */
12
- readonly batchSize: number;
13
- /** `key=value,key2=value2` static labels. Must stay low-cardinality. */
14
- readonly extraLabels: string;
15
- /** Grafana Cloud / multi-tenant Loki: sent as `X-Scope-OrgID`. */
16
- readonly tenantId: string;
17
- /** Optional HTTP basic auth. */
18
- readonly username: string;
19
- readonly password: string;
20
- readonly timeoutMs: number;
29
+ readonly enabled: boolean;
30
+ /** Base URL of the Loki instance, e.g. `http://loki:3100`. */
31
+ readonly url: string;
32
+ readonly job: string;
33
+ readonly node: string;
34
+ readonly level: LogLevel;
35
+ /** Flush period in ms. */
36
+ readonly batchIntervalMs: number;
37
+ /** Flush early once this many entries are queued. */
38
+ readonly batchSize: number;
39
+ /** `key=value,key2=value2` static labels. Must stay low-cardinality. */
40
+ readonly extraLabels: string;
41
+ /** Grafana Cloud / multi-tenant Loki: sent as `X-Scope-OrgID`. */
42
+ readonly tenantId: string;
43
+ /** Optional HTTP basic auth. */
44
+ readonly username: string;
45
+ readonly password: string;
46
+ readonly timeoutMs: number;
21
47
  }
22
48
  export interface LokiStatus {
23
- readonly enabled: boolean;
24
- readonly configured: boolean;
25
- readonly queued: number;
26
- readonly pushed: number;
27
- readonly dropped: number;
28
- readonly failures: number;
29
- readonly lastError: string | null;
30
- readonly lastPushAtMs: number | null;
49
+ readonly enabled: boolean;
50
+ readonly configured: boolean;
51
+ readonly queued: number;
52
+ readonly pushed: number;
53
+ readonly dropped: number;
54
+ readonly failures: number;
55
+ readonly lastError: string | null;
56
+ readonly lastPushAtMs: number | null;
31
57
  }
32
58
  /** Injected in tests. Matches the shape of global `fetch` that is actually used. */
33
59
  export type LokiFetch = (url: string, init: {
34
- readonly method: string;
35
- readonly headers: Readonly<Record<string, string>>;
36
- readonly body: string;
37
- readonly signal?: AbortSignal;
60
+ readonly method: string;
61
+ readonly headers: Readonly<Record<string, string>>;
62
+ readonly body: string;
63
+ readonly signal?: AbortSignal;
38
64
  }) => Promise<{
39
- readonly ok: boolean;
40
- readonly status: number;
41
- text(): Promise<string>;
65
+ readonly ok: boolean;
66
+ readonly status: number;
67
+ text(): Promise<string>;
42
68
  }>;
43
69
  export interface LokiDestinationDeps {
44
- readonly fetchFn?: LokiFetch;
45
- readonly setIntervalFn?: typeof setInterval;
46
- readonly clearIntervalFn?: typeof clearInterval;
70
+ readonly fetchFn?: LokiFetch;
71
+ readonly setIntervalFn?: typeof setInterval;
72
+ readonly clearIntervalFn?: typeof clearInterval;
47
73
  }
48
74
  export declare class LokiDestination implements ILogDestination {
49
- private config;
50
- private queue;
51
- private timer;
52
- private flushing;
53
- private pushed;
54
- private dropped;
55
- private failures;
56
- private lastError;
57
- private lastPushAtMs;
58
- private readonly fetchFn;
59
- private readonly setIntervalFn;
60
- private readonly clearIntervalFn;
61
- constructor(deps?: LokiDestinationDeps);
62
- initialize(config?: LokiConfig): Promise<void>;
63
- /**
64
- * Re-apply configuration to an already-initialized destination after a
65
- * settings change, without dropping the queued tail. Stops the current flush
66
- * timer, swaps the config in, and starts a fresh timer only when the new
67
- * config is active. This is what makes the addon's "enable without a restart"
68
- * contract real: `initialize()` starts a timer, so calling it twice would leak
69
- * the first one — `reconfigure()` clears it first.
70
- */
71
- reconfigure(config: LokiConfig): Promise<void>;
72
- private stopTimer;
73
- private startTimerIfActive;
74
- /** Enabled AND pointed somewhere. An enabled destination with no URL is inert. */
75
- private isActive;
76
- write(entry: LogEntry): void;
77
- /**
78
- * Push whatever is queued. Never throws and never logs.
79
- *
80
- * On failure the batch is put BACK at the front of the queue so a transient
81
- * Loki outage does not lose lines; `MAX_QUEUE` is what stops that from growing
82
- * without bound.
83
- */
84
- flush(): Promise<void>;
85
- private push;
86
- getStatus(): LokiStatus;
87
- /**
88
- * One-shot reachability probe for the Admin UI's "Test connection" button.
89
- * Pushes a single synthetic entry, which validates the URL, the auth, the
90
- * tenant header AND the label policy in one go — a bare GET would validate
91
- * none of them.
92
- */
93
- testConnection(config: LokiConfig): Promise<{
94
- ok: boolean;
95
- error: string | null;
96
- }>;
97
- query(_filter: LogFilter): Promise<readonly LogEntry[]>;
98
- shutdown(): Promise<void>;
75
+ private config;
76
+ private queue;
77
+ private timer;
78
+ private flushing;
79
+ private pushed;
80
+ private dropped;
81
+ private failures;
82
+ private lastError;
83
+ private lastPushAtMs;
84
+ private readonly fetchFn;
85
+ private readonly setIntervalFn;
86
+ private readonly clearIntervalFn;
87
+ constructor(deps?: LokiDestinationDeps);
88
+ initialize(config?: LokiConfig): Promise<void>;
89
+ /**
90
+ * Re-apply configuration to an already-initialized destination after a
91
+ * settings change, without dropping the queued tail. Stops the current flush
92
+ * timer, swaps the config in, and starts a fresh timer only when the new
93
+ * config is active. This is what makes the addon's "enable without a restart"
94
+ * contract real: `initialize()` starts a timer, so calling it twice would leak
95
+ * the first one — `reconfigure()` clears it first.
96
+ */
97
+ reconfigure(config: LokiConfig): Promise<void>;
98
+ private stopTimer;
99
+ private startTimerIfActive;
100
+ /** Enabled AND pointed somewhere. An enabled destination with no URL is inert. */
101
+ private isActive;
102
+ write(entry: LogEntry): void;
103
+ /**
104
+ * Push whatever is queued. Never throws and never logs.
105
+ *
106
+ * On failure the batch is put BACK at the front of the queue so a transient
107
+ * Loki outage does not lose lines; `MAX_QUEUE` is what stops that from growing
108
+ * without bound.
109
+ */
110
+ flush(): Promise<void>;
111
+ private push;
112
+ getStatus(): LokiStatus;
113
+ /**
114
+ * One-shot reachability probe for the Admin UI's "Test connection" button.
115
+ * Pushes a single synthetic entry, which validates the URL, the auth, the
116
+ * tenant header AND the label policy in one go — a bare GET would validate
117
+ * none of them.
118
+ */
119
+ testConnection(config: LokiConfig): Promise<{
120
+ ok: boolean;
121
+ error: string | null;
122
+ }>;
123
+ query(_filter: LogFilter): Promise<readonly LogEntry[]>;
124
+ shutdown(): Promise<void>;
99
125
  }
@@ -1,47 +1,66 @@
1
- import { LogLevel, ProviderRegistration, BaseAddon } from '@camstack/types';
2
- import { LokiDestination } from './loki-destination.js';
1
+ /**
2
+ * Loki logging addon — ships this node's log entries to a Grafana Loki instance.
3
+ *
4
+ * OPT-IN. It is a builtin so it is always available, but it does nothing until an
5
+ * operator supplies a URL: `url` defaults to empty and `LokiDestination` treats
6
+ * that as inert. Whether it is used at all is the per-destination
7
+ * `log-destination` capability toggle — the ONE enable (D777); the old private
8
+ * `enabled` setting is retired by `retire-enabled-flag.ts`. The provider is
9
+ * registered either way, so the Logging page can show it and the operator can
10
+ * turn it on without a restart of anything else.
11
+ *
12
+ * Sits at the same level as `winston-logging` (rotated files), `console-logging`
13
+ * (stdout) and `hub-forwarder` (agent → hub): all four are `log-destination`
14
+ * collection providers, `LogManager` fans every entry to all of them, and each is
15
+ * independently configurable. Enabling this one does not disable any other.
16
+ *
17
+ * Why Loki's push API rather than Promtail: see the docblock in `loki-payload.ts`.
18
+ */
19
+ import type { ConfigUISchema, LogLevel, ProviderRegistration } from "@camstack/types";
20
+ import { BaseAddon } from "@camstack/types";
21
+ import { LokiDestination } from "./loki-destination.js";
3
22
  interface LokiAddonConfig {
4
- readonly url: string;
5
- readonly job: string;
6
- readonly level: LogLevel;
7
- readonly batchIntervalMs: number;
8
- readonly batchSize: number;
9
- readonly extraLabels: string;
10
- readonly tenantId: string;
11
- readonly username: string;
12
- readonly password: string;
13
- readonly timeoutMs: number;
23
+ readonly url: string;
24
+ readonly job: string;
25
+ readonly level: LogLevel;
26
+ readonly batchIntervalMs: number;
27
+ readonly batchSize: number;
28
+ readonly extraLabels: string;
29
+ readonly tenantId: string;
30
+ readonly username: string;
31
+ readonly password: string;
32
+ readonly timeoutMs: number;
14
33
  }
15
34
  export declare class LokiLoggingAddon extends BaseAddon<LokiAddonConfig> {
16
- private destination;
17
- private retirementTimer;
18
- private shuttingDown;
19
- constructor();
20
- protected onInitialize(): Promise<ProviderRegistration[]>;
21
- /** One attempt of the D777 carry-over; reschedules itself while deferred. */
22
- private attemptEnabledFlagRetirement;
23
- protected onShutdown(): Promise<void>;
24
- /**
25
- * React to a settings change (URL, level, batching) without a
26
- * restart — the contract this addon advertises. `BaseAddon` has already
27
- * reloaded `this.config` by the time this runs; re-apply it to the live
28
- * destination so setting or clearing the URL actually starts (or stops)
29
- * pushing. Without this the destination keeps its boot-time config forever.
30
- */
31
- protected onConfigChanged(): Promise<void>;
32
- /**
33
- * `node` is a Loki LABEL, so it must be the node's real identity and must not
34
- * be operator-editable — a typo would fork the stream and split a node's history
35
- * in two. `kernel.localNodeId` is the Moleculer node id (`'hub'` on the hub, the
36
- * agent's own name elsewhere), which is exactly the bounded value wanted here.
37
- *
38
- * NOT named `resolveConfig`: `BaseAddon` already has a protected
39
- * `resolveConfig()` that reloads persisted settings, and shadowing it with a
40
- * different signature is a type error — usefully, since silently overriding it
41
- * would have broken this addon's settings reload.
42
- */
43
- private destinationConfig;
44
- getDestination(): LokiDestination;
45
- protected globalSettingsSchema(): import('@camstack/types').ConfigUISchema;
35
+ private destination;
36
+ private retirementTimer;
37
+ private shuttingDown;
38
+ constructor();
39
+ protected onInitialize(): Promise<ProviderRegistration[]>;
40
+ /** One attempt of the D777 carry-over; reschedules itself while deferred. */
41
+ private attemptEnabledFlagRetirement;
42
+ protected onShutdown(): Promise<void>;
43
+ /**
44
+ * React to a settings change (URL, level, batching) without a
45
+ * restart — the contract this addon advertises. `BaseAddon` has already
46
+ * reloaded `this.config` by the time this runs; re-apply it to the live
47
+ * destination so setting or clearing the URL actually starts (or stops)
48
+ * pushing. Without this the destination keeps its boot-time config forever.
49
+ */
50
+ protected onConfigChanged(): Promise<void>;
51
+ /**
52
+ * `node` is a Loki LABEL, so it must be the node's real identity and must not
53
+ * be operator-editable — a typo would fork the stream and split a node's history
54
+ * in two. `kernel.localNodeId` is the Moleculer node id (`'hub'` on the hub, the
55
+ * agent's own name elsewhere), which is exactly the bounded value wanted here.
56
+ *
57
+ * NOT named `resolveConfig`: `BaseAddon` already has a protected
58
+ * `resolveConfig()` that reloads persisted settings, and shadowing it with a
59
+ * different signature is a type error — usefully, since silently overriding it
60
+ * would have broken this addon's settings reload.
61
+ */
62
+ private destinationConfig;
63
+ getDestination(): LokiDestination;
64
+ protected globalSettingsSchema(): ConfigUISchema;
46
65
  }
47
66
  export {};
@@ -1,57 +1,100 @@
1
- import { LogEntry } from '@camstack/types';
1
+ /**
2
+ * Pure Loki push-payload construction. No I/O, no timers — so the label policy
3
+ * and the ordering rules below are testable without a Loki instance.
4
+ *
5
+ * ## Why Loki and not Promtail
6
+ *
7
+ * Promtail is a file *tailer*: it watches log files on disk and ships what it
8
+ * reads to Loki. CamStack already has every entry in memory, in structured form,
9
+ * at the moment it is emitted — writing it to disk purely so a sidecar can parse
10
+ * it back out loses the structure and adds a process. Loki's own ingestion API
11
+ * (`POST /loki/api/v1/push`) takes the structured form directly.
12
+ *
13
+ * Promtail is also end-of-life: Grafana deprecated it in favour of Alloy in 2025.
14
+ * Building against a deprecated shipper to reach an API we can call ourselves
15
+ * would be strange. If someone does run Promtail or Alloy, the rotated files
16
+ * from the `winston-logging` destination are still there to tail — the two
17
+ * destinations are independent.
18
+ *
19
+ * ## The label policy, which matters more than it looks
20
+ *
21
+ * Loki indexes labels, and every distinct label-value combination is a separate
22
+ * *stream* with its own index entry and its own chunks. High-cardinality labels
23
+ * are the documented way to make a Loki cluster fall over.
24
+ *
25
+ * So `scope`, `message`, `deviceId`, `sessionId` and everything else per-entry
26
+ * stay OUT of the labels and go in the line body as JSON. Labels are only the
27
+ * handful of values with a small, bounded set:
28
+ *
29
+ * job a fixed string, operator-configured (default `camstack`)
30
+ * node the ORIGIN node's id — the agent that EMITTED the entry, not the
31
+ * node running this destination. The hub is the single Loki egress
32
+ * for the whole cluster (agents forward their logs to it via the
33
+ * `hub-forwarder`), so labelling every pushed line with the hub's own
34
+ * id would collapse the entire fleet onto `node="hub"` and lose the
35
+ * source. Each entry carries its origin in `tags.agentId` (`'hub'` for
36
+ * hub-local entries, the agent id for forwarded ones — always the root
37
+ * node, never a child process), which is bounded by cluster size. The
38
+ * destination's configured node is only the fallback for an entry with
39
+ * no `agentId` tag.
40
+ * level one of four
41
+ *
42
+ * That is at most `4 × nodes` streams, which is what Loki is built for.
43
+ */
44
+ import type { LogEntry } from "@camstack/types";
2
45
  /** One `[unixNano, line]` pair, exactly as Loki's push API expects. */
3
46
  export type LokiValue = readonly [string, string];
4
47
  export interface LokiStream {
5
- readonly stream: Readonly<Record<string, string>>;
6
- readonly values: readonly LokiValue[];
48
+ readonly stream: Readonly<Record<string, string>>;
49
+ readonly values: readonly LokiValue[];
7
50
  }
8
51
  export interface LokiPushBody {
9
- readonly streams: readonly LokiStream[];
52
+ readonly streams: readonly LokiStream[];
10
53
  }
11
54
  export interface LokiLabelInput {
12
- /** Fixed `job` label. Bounded by configuration, never per-entry. */
13
- readonly job: string;
14
- /**
15
- * Fallback node id for entries that carry no `tags.agentId` origin — the
16
- * id of the node running this destination. The per-entry origin
17
- * (`tags.agentId`) is preferred so forwarded agent logs are attributed to
18
- * their source node rather than the hub that ships them.
19
- */
20
- readonly node: string;
21
- /** Extra static labels from configuration. Values must be low-cardinality. */
22
- readonly extra?: Readonly<Record<string, string>>;
55
+ /** Fixed `job` label. Bounded by configuration, never per-entry. */
56
+ readonly job: string;
57
+ /**
58
+ * Fallback node id for entries that carry no `tags.agentId` origin — the
59
+ * id of the node running this destination. The per-entry origin
60
+ * (`tags.agentId`) is preferred so forwarded agent logs are attributed to
61
+ * their source node rather than the hub that ships them.
62
+ */
63
+ readonly node: string;
64
+ /** Extra static labels from configuration. Values must be low-cardinality. */
65
+ readonly extra?: Readonly<Record<string, string>>;
23
66
  }
24
67
  /**
25
- * Loki rejects a label name that is not a valid Prometheus label
26
- * (`[a-zA-Z_][a-zA-Z0-9_]*`), so operator-supplied keys are sanitised rather
27
- * than passed through — a 400 from the push endpoint on every batch is a much
28
- * worse outcome than a renamed label.
29
- */
68
+ * Loki rejects a label name that is not a valid Prometheus label
69
+ * (`[a-zA-Z_][a-zA-Z0-9_]*`), so operator-supplied keys are sanitised rather
70
+ * than passed through — a 400 from the push endpoint on every batch is a much
71
+ * worse outcome than a renamed label.
72
+ */
30
73
  export declare function sanitizeLabelName(raw: string): string;
31
74
  /** Parse an operator's `key=value,key2=value2` label string. */
32
75
  export declare function parseExtraLabels(raw: string): Readonly<Record<string, string>>;
33
76
  /** `Date` → Loki's nanosecond-precision string timestamp. */
34
77
  export declare function toUnixNano(timestamp: Date | string | number): string;
35
78
  /**
36
- * The line body: JSON carrying everything that must NOT be a label. Loki can
37
- * parse this with `| json` at query time, so `scope` and `tags.deviceId` stay
38
- * filterable without ever being indexed.
39
- */
79
+ * The line body: JSON carrying everything that must NOT be a label. Loki can
80
+ * parse this with `| json` at query time, so `scope` and `tags.deviceId` stay
81
+ * filterable without ever being indexed.
82
+ */
40
83
  export declare function formatLokiLine(entry: LogEntry): string;
41
84
  /**
42
- * Group a batch into one stream per distinct label set, and sort each stream's
43
- * values by timestamp.
44
- *
45
- * The `node` label is resolved PER ENTRY from `tags.agentId` (the emitting
46
- * agent, falling back to `labels.node` when absent), so a batch that mixes
47
- * hub-local lines with forwarded agent lines fans out into one stream per
48
- * origin node — the whole point of shipping the cluster's logs through the hub
49
- * without flattening every line onto `node="hub"`.
50
- *
51
- * The sort is not cosmetic. Loki historically rejected a stream whose entries
52
- * were not in ascending time order, and even with out-of-order ingestion enabled
53
- * it is bounded by a window. Entries reach a destination from several concurrent
54
- * producers, so a batch is NOT naturally ordered — without this, some pushes
55
- * fail with `entry out of order` and those log lines are simply gone.
56
- */
85
+ * Group a batch into one stream per distinct label set, and sort each stream's
86
+ * values by timestamp.
87
+ *
88
+ * The `node` label is resolved PER ENTRY from `tags.agentId` (the emitting
89
+ * agent, falling back to `labels.node` when absent), so a batch that mixes
90
+ * hub-local lines with forwarded agent lines fans out into one stream per
91
+ * origin node — the whole point of shipping the cluster's logs through the hub
92
+ * without flattening every line onto `node="hub"`.
93
+ *
94
+ * The sort is not cosmetic. Loki historically rejected a stream whose entries
95
+ * were not in ascending time order, and even with out-of-order ingestion enabled
96
+ * it is bounded by a window. Entries reach a destination from several concurrent
97
+ * producers, so a batch is NOT naturally ordered — without this, some pushes
98
+ * fail with `entry out of order` and those log lines are simply gone.
99
+ */
57
100
  export declare function buildPushBody(entries: readonly LogEntry[], labels: LokiLabelInput): LokiPushBody | null;
@@ -1,23 +1,48 @@
1
- import { StoredKeyRead } from '@camstack/types';
1
+ /**
2
+ * ONE-SHOT retirement of Loki's private `enabled` setting (2026-07-30, D777).
3
+ *
4
+ * The per-destination `log-destination` capability toggle is the only enable.
5
+ * A stored `enabled: false` is carried over to it ONCE, so an operator who had
6
+ * Loki off does not silently start shipping logs to a host they may no longer
7
+ * control:
8
+ *
9
+ * - flag stored `false` → the provider is disabled at the capability;
10
+ * - flag stored `true`, or never
11
+ * written → the capability is left as it is.
12
+ *
13
+ * Then the dead key is stripped and the marker is written in the SAME store
14
+ * write, so the carry-over never repeats — an operator who re-enables Loki
15
+ * afterwards is never switched off again.
16
+ *
17
+ * Anything that cannot be confirmed (unreadable store, refused toggle — the
18
+ * provider is not registered yet while the addon initializes — or a write that
19
+ * silently did not land) returns `deferred` and writes nothing; the caller
20
+ * retries in the background.
21
+ *
22
+ * Same shape as the (since removed) magic-link addon's carry-over in
23
+ * addon-auth; the one difference is the default the flag had (OFF there, ON
24
+ * here).
25
+ */
26
+ import type { StoredKeyRead } from "@camstack/types";
2
27
  /** The retired settings key. */
3
28
  export declare const RETIRED_ENABLED_KEY = "enabled";
4
29
  /** Store key marking the retirement as done. Not a schema field. Pre-D777 name kept. */
5
30
  export declare const RETIREMENT_MARKER_KEY = "migratedEnabled";
6
31
  export type RetirementOutcome = {
7
- readonly kind: 'already-retired';
32
+ readonly kind: "already-retired";
8
33
  } | {
9
- readonly kind: 'retired';
10
- readonly capDisabled: boolean;
34
+ readonly kind: "retired";
35
+ readonly capDisabled: boolean;
11
36
  } | {
12
- readonly kind: 'deferred';
13
- readonly reason: string;
37
+ readonly kind: "deferred";
38
+ readonly reason: string;
14
39
  };
15
40
  export interface RetireEnabledFlagDeps {
16
- /** Three-way read of one key of the addon's own store. */
17
- readStoredKey(key: string): Promise<StoredKeyRead>;
18
- /** Disable this addon at the `log-destination` toggle. Throws when refused. */
19
- disableAtCapability(): Promise<void>;
20
- /** ONE store write: strip {@link RETIRED_ENABLED_KEY} and set {@link RETIREMENT_MARKER_KEY}. */
21
- commit(): Promise<void>;
41
+ /** Three-way read of one key of the addon's own store. */
42
+ readStoredKey(key: string): Promise<StoredKeyRead>;
43
+ /** Disable this addon at the `log-destination` toggle. Throws when refused. */
44
+ disableAtCapability(): Promise<void>;
45
+ /** ONE store write: strip {@link RETIRED_ENABLED_KEY} and set {@link RETIREMENT_MARKER_KEY}. */
46
+ commit(): Promise<void>;
22
47
  }
23
48
  export declare function retireEnabledFlag(deps: RetireEnabledFlagDeps): Promise<RetirementOutcome>;