@camstack/core 0.1.15 → 0.1.17

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 (382) hide show
  1. package/dist/addon/addon-api-factory.d.ts +36 -0
  2. package/dist/addon/addon-api-factory.d.ts.map +1 -0
  3. package/dist/addon-routes/addon-route-registry.d.ts +38 -0
  4. package/dist/addon-routes/addon-route-registry.d.ts.map +1 -0
  5. package/dist/auth/api-key-manager.d.ts +27 -0
  6. package/dist/auth/api-key-manager.d.ts.map +1 -0
  7. package/dist/auth/auth-manager.d.ts +47 -0
  8. package/dist/auth/auth-manager.d.ts.map +1 -0
  9. package/dist/auth/parse-record.d.ts +19 -0
  10. package/dist/auth/parse-record.d.ts.map +1 -0
  11. package/dist/auth/scoped-token-manager.d.ts +18 -0
  12. package/dist/auth/scoped-token-manager.d.ts.map +1 -0
  13. package/dist/auth/user-manager.d.ts +34 -0
  14. package/dist/auth/user-manager.d.ts.map +1 -0
  15. package/dist/builtins/addon-pages-aggregator/addon-pages-aggregator.addon.d.ts +54 -0
  16. package/dist/builtins/addon-pages-aggregator/addon-pages-aggregator.addon.d.ts.map +1 -0
  17. package/dist/builtins/addon-pages-aggregator/addon-pages-aggregator.addon.js +223 -217
  18. package/dist/builtins/addon-pages-aggregator/addon-pages-aggregator.addon.js.map +1 -1
  19. package/dist/builtins/addon-pages-aggregator/addon-pages-aggregator.addon.mjs +216 -7
  20. package/dist/builtins/addon-pages-aggregator/addon-pages-aggregator.addon.mjs.map +1 -1
  21. package/dist/builtins/addon-pages-aggregator/index.d.ts +2 -0
  22. package/dist/builtins/addon-pages-aggregator/index.d.ts.map +1 -0
  23. package/dist/builtins/addon-pages-aggregator/index.js +6 -221
  24. package/dist/builtins/addon-pages-aggregator/index.mjs +2 -9
  25. package/dist/builtins/addon-widgets-aggregator/addon-widgets-aggregator.addon.d.ts +33 -0
  26. package/dist/builtins/addon-widgets-aggregator/addon-widgets-aggregator.addon.d.ts.map +1 -0
  27. package/dist/builtins/addon-widgets-aggregator/addon-widgets-aggregator.addon.js +199 -197
  28. package/dist/builtins/addon-widgets-aggregator/addon-widgets-aggregator.addon.js.map +1 -1
  29. package/dist/builtins/addon-widgets-aggregator/addon-widgets-aggregator.addon.mjs +192 -7
  30. package/dist/builtins/addon-widgets-aggregator/addon-widgets-aggregator.addon.mjs.map +1 -1
  31. package/dist/builtins/addon-widgets-aggregator/index.d.ts +2 -0
  32. package/dist/builtins/addon-widgets-aggregator/index.d.ts.map +1 -0
  33. package/dist/builtins/addon-widgets-aggregator/index.js +6 -201
  34. package/dist/builtins/addon-widgets-aggregator/index.mjs +2 -9
  35. package/dist/builtins/alerts/alerts.addon.d.ts +82 -0
  36. package/dist/builtins/alerts/alerts.addon.d.ts.map +1 -0
  37. package/dist/builtins/alerts/alerts.addon.js +590 -430
  38. package/dist/builtins/alerts/alerts.addon.js.map +1 -1
  39. package/dist/builtins/alerts/alerts.addon.mjs +595 -7
  40. package/dist/builtins/alerts/alerts.addon.mjs.map +1 -1
  41. package/dist/builtins/alerts/index.d.ts +2 -0
  42. package/dist/builtins/alerts/index.d.ts.map +1 -0
  43. package/dist/builtins/alerts/index.js +3 -443
  44. package/dist/builtins/alerts/index.mjs +2 -8
  45. package/dist/builtins/auth-orchestrator/auth-orchestrator.addon.d.ts +8 -0
  46. package/dist/builtins/auth-orchestrator/auth-orchestrator.addon.d.ts.map +1 -0
  47. package/dist/builtins/auth-orchestrator/auth-orchestrator.addon.js +56 -0
  48. package/dist/builtins/auth-orchestrator/auth-orchestrator.addon.js.map +1 -0
  49. package/dist/builtins/auth-orchestrator/auth-orchestrator.addon.mjs +50 -0
  50. package/dist/builtins/auth-orchestrator/auth-orchestrator.addon.mjs.map +1 -0
  51. package/dist/builtins/auth-orchestrator/index.d.ts +2 -0
  52. package/dist/builtins/auth-orchestrator/index.d.ts.map +1 -0
  53. package/dist/builtins/auth-orchestrator/index.js +7 -0
  54. package/dist/builtins/auth-orchestrator/index.mjs +2 -0
  55. package/dist/builtins/backup-orchestrator/backup-orchestrator.addon.d.ts +148 -0
  56. package/dist/builtins/backup-orchestrator/backup-orchestrator.addon.d.ts.map +1 -0
  57. package/dist/builtins/backup-orchestrator/backup-orchestrator.addon.js +7639 -0
  58. package/dist/builtins/backup-orchestrator/backup-orchestrator.addon.js.map +1 -0
  59. package/dist/builtins/backup-orchestrator/backup-orchestrator.addon.mjs +7627 -0
  60. package/dist/builtins/backup-orchestrator/backup-orchestrator.addon.mjs.map +1 -0
  61. package/dist/builtins/backup-orchestrator/cron-helpers.d.ts +24 -0
  62. package/dist/builtins/backup-orchestrator/cron-helpers.d.ts.map +1 -0
  63. package/dist/builtins/backup-orchestrator/destination-policy.d.ts +73 -0
  64. package/dist/builtins/backup-orchestrator/destination-policy.d.ts.map +1 -0
  65. package/dist/builtins/backup-orchestrator/download-helpers.d.ts +13 -0
  66. package/dist/builtins/backup-orchestrator/download-helpers.d.ts.map +1 -0
  67. package/dist/builtins/backup-orchestrator/index.d.ts +3 -0
  68. package/dist/builtins/backup-orchestrator/index.d.ts.map +1 -0
  69. package/dist/builtins/backup-orchestrator/index.js +7 -0
  70. package/dist/builtins/backup-orchestrator/index.mjs +2 -0
  71. package/dist/builtins/backup-orchestrator/manifest-store.d.ts +78 -0
  72. package/dist/builtins/backup-orchestrator/manifest-store.d.ts.map +1 -0
  73. package/dist/builtins/console-logging/console-destination.d.ts +14 -0
  74. package/dist/builtins/console-logging/console-destination.d.ts.map +1 -0
  75. package/dist/builtins/console-logging/console-logging.addon.d.ts +26 -0
  76. package/dist/builtins/console-logging/console-logging.addon.d.ts.map +1 -0
  77. package/dist/builtins/console-logging/index.d.ts +4 -0
  78. package/dist/builtins/console-logging/index.d.ts.map +1 -0
  79. package/dist/builtins/console-logging/index.js +99 -235
  80. package/dist/builtins/console-logging/index.js.map +1 -1
  81. package/dist/builtins/console-logging/index.mjs +95 -9
  82. package/dist/builtins/console-logging/index.mjs.map +1 -1
  83. package/dist/builtins/device-manager/device-event-propagator.d.ts +27 -0
  84. package/dist/builtins/device-manager/device-event-propagator.d.ts.map +1 -0
  85. package/dist/builtins/device-manager/device-manager.addon.d.ts +259 -0
  86. package/dist/builtins/device-manager/device-manager.addon.d.ts.map +1 -0
  87. package/dist/builtins/device-manager/device-manager.addon.js +2125 -2127
  88. package/dist/builtins/device-manager/device-manager.addon.js.map +1 -1
  89. package/dist/builtins/device-manager/device-manager.addon.mjs +2145 -7
  90. package/dist/builtins/device-manager/device-manager.addon.mjs.map +1 -1
  91. package/dist/builtins/device-manager/index.d.ts +3 -0
  92. package/dist/builtins/device-manager/index.d.ts.map +1 -0
  93. package/dist/builtins/device-manager/index.js +6 -2156
  94. package/dist/builtins/device-manager/index.mjs +2 -10
  95. package/dist/builtins/hub-forwarder/hub-forwarder-destination.d.ts +45 -0
  96. package/dist/builtins/hub-forwarder/hub-forwarder-destination.d.ts.map +1 -0
  97. package/dist/builtins/hub-forwarder/hub-forwarder.addon.d.ts +16 -0
  98. package/dist/builtins/hub-forwarder/hub-forwarder.addon.d.ts.map +1 -0
  99. package/dist/builtins/hub-forwarder/index.d.ts +4 -0
  100. package/dist/builtins/hub-forwarder/index.d.ts.map +1 -0
  101. package/dist/builtins/hub-forwarder/index.js +150 -291
  102. package/dist/builtins/hub-forwarder/index.js.map +1 -1
  103. package/dist/builtins/hub-forwarder/index.mjs +145 -9
  104. package/dist/builtins/hub-forwarder/index.mjs.map +1 -1
  105. package/dist/builtins/local-auth/auth-schema.d.ts +12 -0
  106. package/dist/builtins/local-auth/auth-schema.d.ts.map +1 -0
  107. package/dist/builtins/local-auth/index.d.ts +2 -0
  108. package/dist/builtins/local-auth/index.d.ts.map +1 -0
  109. package/dist/builtins/local-auth/index.js +3 -623
  110. package/dist/builtins/local-auth/index.mjs +2 -8
  111. package/dist/builtins/local-auth/local-auth.addon.d.ts +17 -0
  112. package/dist/builtins/local-auth/local-auth.addon.d.ts.map +1 -0
  113. package/dist/builtins/local-auth/local-auth.addon.js +6861 -589
  114. package/dist/builtins/local-auth/local-auth.addon.js.map +1 -1
  115. package/dist/builtins/local-auth/local-auth.addon.mjs +6883 -7
  116. package/dist/builtins/local-auth/local-auth.addon.mjs.map +1 -1
  117. package/dist/builtins/local-network/index.d.ts +3 -0
  118. package/dist/builtins/local-network/index.d.ts.map +1 -0
  119. package/dist/builtins/local-network/index.js +9 -0
  120. package/dist/builtins/local-network/index.mjs +2 -0
  121. package/dist/builtins/local-network/local-network.addon.d.ts +110 -0
  122. package/dist/builtins/local-network/local-network.addon.d.ts.map +1 -0
  123. package/dist/builtins/local-network/local-network.addon.js +399 -0
  124. package/dist/builtins/local-network/local-network.addon.js.map +1 -0
  125. package/dist/builtins/local-network/local-network.addon.mjs +387 -0
  126. package/dist/builtins/local-network/local-network.addon.mjs.map +1 -0
  127. package/dist/builtins/mesh-orchestrator/index.d.ts +2 -0
  128. package/dist/builtins/mesh-orchestrator/index.d.ts.map +1 -0
  129. package/dist/builtins/mesh-orchestrator/index.js +7 -0
  130. package/dist/builtins/mesh-orchestrator/index.mjs +2 -0
  131. package/dist/builtins/mesh-orchestrator/mesh-orchestrator.addon.d.ts +9 -0
  132. package/dist/builtins/mesh-orchestrator/mesh-orchestrator.addon.d.ts.map +1 -0
  133. package/dist/builtins/mesh-orchestrator/mesh-orchestrator.addon.js +83 -0
  134. package/dist/builtins/mesh-orchestrator/mesh-orchestrator.addon.js.map +1 -0
  135. package/dist/builtins/mesh-orchestrator/mesh-orchestrator.addon.mjs +77 -0
  136. package/dist/builtins/mesh-orchestrator/mesh-orchestrator.addon.mjs.map +1 -0
  137. package/dist/builtins/native-metrics/index.d.ts +3 -0
  138. package/dist/builtins/native-metrics/index.d.ts.map +1 -0
  139. package/dist/builtins/native-metrics/native-metrics-provider.d.ts +49 -0
  140. package/dist/builtins/native-metrics/native-metrics-provider.d.ts.map +1 -0
  141. package/dist/builtins/native-metrics/native-metrics.addon.d.ts +74 -0
  142. package/dist/builtins/native-metrics/native-metrics.addon.d.ts.map +1 -0
  143. package/dist/builtins/native-metrics/native-metrics.addon.js +887 -861
  144. package/dist/builtins/native-metrics/native-metrics.addon.js.map +1 -1
  145. package/dist/builtins/native-metrics/native-metrics.addon.mjs +914 -5
  146. package/dist/builtins/native-metrics/native-metrics.addon.mjs.map +1 -1
  147. package/dist/builtins/platform-probe/index.d.ts +12 -0
  148. package/dist/builtins/platform-probe/index.d.ts.map +1 -0
  149. package/dist/builtins/platform-probe/index.js +539 -0
  150. package/dist/builtins/platform-probe/index.js.map +1 -0
  151. package/dist/builtins/platform-probe/index.mjs +530 -0
  152. package/dist/builtins/platform-probe/index.mjs.map +1 -0
  153. package/dist/builtins/platform-probe/inference-config-resolver.d.ts +30 -0
  154. package/dist/builtins/platform-probe/inference-config-resolver.d.ts.map +1 -0
  155. package/dist/builtins/platform-probe/platform-scorer.d.ts +22 -0
  156. package/dist/builtins/platform-probe/platform-scorer.d.ts.map +1 -0
  157. package/dist/builtins/remote-access-orchestrator/index.d.ts +2 -0
  158. package/dist/builtins/remote-access-orchestrator/index.d.ts.map +1 -0
  159. package/dist/builtins/remote-access-orchestrator/index.js +7 -0
  160. package/dist/builtins/remote-access-orchestrator/index.mjs +2 -0
  161. package/dist/builtins/remote-access-orchestrator/remote-access-orchestrator.addon.d.ts +9 -0
  162. package/dist/builtins/remote-access-orchestrator/remote-access-orchestrator.addon.d.ts.map +1 -0
  163. package/dist/builtins/remote-access-orchestrator/remote-access-orchestrator.addon.js +72 -0
  164. package/dist/builtins/remote-access-orchestrator/remote-access-orchestrator.addon.js.map +1 -0
  165. package/dist/builtins/remote-access-orchestrator/remote-access-orchestrator.addon.mjs +66 -0
  166. package/dist/builtins/remote-access-orchestrator/remote-access-orchestrator.addon.mjs.map +1 -0
  167. package/dist/builtins/snapshot/index.d.ts +3 -0
  168. package/dist/builtins/snapshot/index.d.ts.map +1 -0
  169. package/dist/builtins/snapshot/index.js +481 -491
  170. package/dist/builtins/snapshot/index.js.map +1 -1
  171. package/dist/builtins/snapshot/index.mjs +475 -464
  172. package/dist/builtins/snapshot/index.mjs.map +1 -1
  173. package/dist/builtins/snapshot/snapshot.addon.d.ts +121 -0
  174. package/dist/builtins/snapshot/snapshot.addon.d.ts.map +1 -0
  175. package/dist/builtins/sqlite-storage/config-store.d.ts +9 -0
  176. package/dist/builtins/sqlite-storage/config-store.d.ts.map +1 -0
  177. package/dist/builtins/sqlite-storage/device-store.d.ts +24 -0
  178. package/dist/builtins/sqlite-storage/device-store.d.ts.map +1 -0
  179. package/dist/builtins/sqlite-storage/filesystem-storage-provider.d.ts +87 -0
  180. package/dist/builtins/sqlite-storage/filesystem-storage-provider.d.ts.map +1 -0
  181. package/dist/builtins/sqlite-storage/filesystem-storage.addon.d.ts +32 -0
  182. package/dist/builtins/sqlite-storage/filesystem-storage.addon.d.ts.map +1 -0
  183. package/dist/builtins/sqlite-storage/filesystem-storage.addon.js +312 -56
  184. package/dist/builtins/sqlite-storage/filesystem-storage.addon.js.map +1 -1
  185. package/dist/builtins/sqlite-storage/filesystem-storage.addon.mjs +305 -7
  186. package/dist/builtins/sqlite-storage/filesystem-storage.addon.mjs.map +1 -1
  187. package/dist/builtins/sqlite-storage/index.d.ts +12 -0
  188. package/dist/builtins/sqlite-storage/index.d.ts.map +1 -0
  189. package/dist/builtins/sqlite-storage/index.js +229 -1001
  190. package/dist/builtins/sqlite-storage/index.js.map +1 -1
  191. package/dist/builtins/sqlite-storage/index.mjs +268 -26
  192. package/dist/builtins/sqlite-storage/index.mjs.map +1 -1
  193. package/dist/builtins/sqlite-storage/integration-registry.d.ts +28 -0
  194. package/dist/builtins/sqlite-storage/integration-registry.d.ts.map +1 -0
  195. package/dist/builtins/sqlite-storage/settings-store.d.ts +40 -0
  196. package/dist/builtins/sqlite-storage/settings-store.d.ts.map +1 -0
  197. package/dist/builtins/sqlite-storage/sql-schema.d.ts +33 -0
  198. package/dist/builtins/sqlite-storage/sql-schema.d.ts.map +1 -0
  199. package/dist/builtins/sqlite-storage/sqlite-settings-backend.d.ts +94 -0
  200. package/dist/builtins/sqlite-storage/sqlite-settings-backend.d.ts.map +1 -0
  201. package/dist/builtins/sqlite-storage/sqlite-settings.addon.d.ts +15 -0
  202. package/dist/builtins/sqlite-storage/sqlite-settings.addon.d.ts.map +1 -0
  203. package/dist/builtins/sqlite-storage/sqlite-settings.addon.js +586 -653
  204. package/dist/builtins/sqlite-storage/sqlite-settings.addon.js.map +1 -1
  205. package/dist/builtins/sqlite-storage/sqlite-settings.addon.mjs +582 -7
  206. package/dist/builtins/sqlite-storage/sqlite-settings.addon.mjs.map +1 -1
  207. package/dist/builtins/storage-orchestrator/index.d.ts +7 -0
  208. package/dist/builtins/storage-orchestrator/index.d.ts.map +1 -0
  209. package/dist/builtins/storage-orchestrator/index.js +9 -0
  210. package/dist/builtins/storage-orchestrator/index.mjs +2 -0
  211. package/dist/builtins/storage-orchestrator/location-store.d.ts +50 -0
  212. package/dist/builtins/storage-orchestrator/location-store.d.ts.map +1 -0
  213. package/dist/builtins/storage-orchestrator/storage-orchestrator.addon.d.ts +60 -0
  214. package/dist/builtins/storage-orchestrator/storage-orchestrator.addon.d.ts.map +1 -0
  215. package/dist/builtins/storage-orchestrator/storage-orchestrator.addon.js +755 -0
  216. package/dist/builtins/storage-orchestrator/storage-orchestrator.addon.js.map +1 -0
  217. package/dist/builtins/storage-orchestrator/storage-orchestrator.addon.mjs +746 -0
  218. package/dist/builtins/storage-orchestrator/storage-orchestrator.addon.mjs.map +1 -0
  219. package/dist/builtins/storage-orchestrator/storage-orchestrator.service.d.ts +121 -0
  220. package/dist/builtins/storage-orchestrator/storage-orchestrator.service.d.ts.map +1 -0
  221. package/dist/builtins/system-backup/system-backup.service.d.ts +138 -0
  222. package/dist/builtins/system-backup/system-backup.service.d.ts.map +1 -0
  223. package/dist/builtins/system-config/index.d.ts +2 -0
  224. package/dist/builtins/system-config/index.d.ts.map +1 -0
  225. package/dist/builtins/system-config/index.js +6 -188
  226. package/dist/builtins/system-config/index.mjs +2 -10
  227. package/dist/builtins/system-config/system-config.addon.d.ts +11 -0
  228. package/dist/builtins/system-config/system-config.addon.d.ts.map +1 -0
  229. package/dist/builtins/system-config/system-config.addon.js +227 -180
  230. package/dist/builtins/system-config/system-config.addon.js.map +1 -1
  231. package/dist/builtins/system-config/system-config.addon.mjs +226 -7
  232. package/dist/builtins/system-config/system-config.addon.mjs.map +1 -1
  233. package/dist/builtins/turn-orchestrator/index.d.ts +2 -0
  234. package/dist/builtins/turn-orchestrator/index.d.ts.map +1 -0
  235. package/dist/builtins/turn-orchestrator/index.js +7 -0
  236. package/dist/builtins/turn-orchestrator/index.mjs +2 -0
  237. package/dist/builtins/turn-orchestrator/turn-orchestrator.addon.d.ts +10 -0
  238. package/dist/builtins/turn-orchestrator/turn-orchestrator.addon.d.ts.map +1 -0
  239. package/dist/builtins/turn-orchestrator/turn-orchestrator.addon.js +78 -0
  240. package/dist/builtins/turn-orchestrator/turn-orchestrator.addon.js.map +1 -0
  241. package/dist/builtins/turn-orchestrator/turn-orchestrator.addon.mjs +72 -0
  242. package/dist/builtins/turn-orchestrator/turn-orchestrator.addon.mjs.map +1 -0
  243. package/dist/builtins/winston-logging/index.d.ts +4 -0
  244. package/dist/builtins/winston-logging/index.d.ts.map +1 -0
  245. package/dist/builtins/winston-logging/index.js +153 -300
  246. package/dist/builtins/winston-logging/index.js.map +1 -1
  247. package/dist/builtins/winston-logging/index.mjs +144 -9
  248. package/dist/builtins/winston-logging/index.mjs.map +1 -1
  249. package/dist/builtins/winston-logging/winston-destination.d.ts +22 -0
  250. package/dist/builtins/winston-logging/winston-destination.d.ts.map +1 -0
  251. package/dist/builtins/winston-logging/winston-logging.addon.d.ts +20 -0
  252. package/dist/builtins/winston-logging/winston-logging.addon.d.ts.map +1 -0
  253. package/dist/chunk-C13QxCFV.js +50 -0
  254. package/dist/chunk-hT5z_Zn9.mjs +35 -0
  255. package/dist/download/model-download-service.d.ts +42 -0
  256. package/dist/download/model-download-service.d.ts.map +1 -0
  257. package/dist/download/model-downloader.d.ts +32 -0
  258. package/dist/download/model-downloader.d.ts.map +1 -0
  259. package/dist/events/event-bus.d.ts +11 -0
  260. package/dist/events/event-bus.d.ts.map +1 -0
  261. package/dist/events/system-event-bus.d.ts +15 -0
  262. package/dist/events/system-event-bus.d.ts.map +1 -0
  263. package/dist/feature/feature-manager.d.ts +12 -0
  264. package/dist/feature/feature-manager.d.ts.map +1 -0
  265. package/dist/formatter-C-5An4Bl.mjs +164 -0
  266. package/dist/formatter-C-5An4Bl.mjs.map +1 -0
  267. package/dist/formatter-Dr_6NNZc.js +169 -0
  268. package/dist/formatter-Dr_6NNZc.js.map +1 -0
  269. package/dist/index.d.ts +76 -1696
  270. package/dist/index.d.ts.map +1 -0
  271. package/dist/index.js +7780 -8035
  272. package/dist/index.js.map +1 -1
  273. package/dist/index.mjs +7707 -2148
  274. package/dist/index.mjs.map +1 -1
  275. package/dist/lifecycle/lifecycle-state-machine.d.ts +29 -0
  276. package/dist/lifecycle/lifecycle-state-machine.d.ts.map +1 -0
  277. package/dist/logging/formatter.d.ts +31 -0
  278. package/dist/logging/formatter.d.ts.map +1 -0
  279. package/dist/logging/log-manager.d.ts +52 -0
  280. package/dist/logging/log-manager.d.ts.map +1 -0
  281. package/dist/logging/log-ring-buffer.d.ts +48 -0
  282. package/dist/logging/log-ring-buffer.d.ts.map +1 -0
  283. package/dist/logging/scoped-logger.d.ts +18 -0
  284. package/dist/logging/scoped-logger.d.ts.map +1 -0
  285. package/dist/network/network-quality.d.ts +12 -0
  286. package/dist/network/network-quality.d.ts.map +1 -0
  287. package/dist/notification/notification-service.d.ts +38 -0
  288. package/dist/notification/notification-service.d.ts.map +1 -0
  289. package/dist/notification/toast-service.d.ts +23 -0
  290. package/dist/notification/toast-service.d.ts.map +1 -0
  291. package/dist/pipeline/engine-manager-resolver.d.ts +16 -0
  292. package/dist/pipeline/engine-manager-resolver.d.ts.map +1 -0
  293. package/dist/pipeline/pipeline-runner.d.ts +9 -0
  294. package/dist/pipeline/pipeline-runner.d.ts.map +1 -0
  295. package/dist/pipeline/pipeline-validator.d.ts +14 -0
  296. package/dist/pipeline/pipeline-validator.d.ts.map +1 -0
  297. package/dist/process/resource-monitor.d.ts +12 -0
  298. package/dist/process/resource-monitor.d.ts.map +1 -0
  299. package/dist/python/python-env-manager.d.ts +13 -0
  300. package/dist/python/python-env-manager.d.ts.map +1 -0
  301. package/dist/repl/interfaces.d.ts +32 -0
  302. package/dist/repl/interfaces.d.ts.map +1 -0
  303. package/dist/repl/repl-engine.d.ts +9 -0
  304. package/dist/repl/repl-engine.d.ts.map +1 -0
  305. package/dist/resource-monitor-CmuWlmap.js +76 -0
  306. package/dist/resource-monitor-CmuWlmap.js.map +1 -0
  307. package/dist/resource-monitor-DcQdKGYU.mjs +59 -0
  308. package/dist/resource-monitor-DcQdKGYU.mjs.map +1 -0
  309. package/dist/storage/fs-storage-backend.d.ts +41 -0
  310. package/dist/storage/fs-storage-backend.d.ts.map +1 -0
  311. package/dist/storage/storage-location-manager.d.ts +24 -0
  312. package/dist/storage/storage-location-manager.d.ts.map +1 -0
  313. package/dist/storage/storage-manager.d.ts +77 -0
  314. package/dist/storage/storage-manager.d.ts.map +1 -0
  315. package/dist/tls/cert-manager.d.ts +27 -0
  316. package/dist/tls/cert-manager.d.ts.map +1 -0
  317. package/dist/tls/index.d.ts +2 -0
  318. package/dist/tls/index.d.ts.map +1 -0
  319. package/package.json +119 -23
  320. package/dist/builtins/addon-pages-aggregator/index.js.map +0 -1
  321. package/dist/builtins/addon-pages-aggregator/index.mjs.map +0 -1
  322. package/dist/builtins/addon-widgets-aggregator/index.js.map +0 -1
  323. package/dist/builtins/addon-widgets-aggregator/index.mjs.map +0 -1
  324. package/dist/builtins/alerts/index.js.map +0 -1
  325. package/dist/builtins/alerts/index.mjs.map +0 -1
  326. package/dist/builtins/device-manager/index.js.map +0 -1
  327. package/dist/builtins/device-manager/index.mjs.map +0 -1
  328. package/dist/builtins/local-auth/index.js.map +0 -1
  329. package/dist/builtins/local-auth/index.mjs.map +0 -1
  330. package/dist/builtins/local-backup/index.js +0 -173
  331. package/dist/builtins/local-backup/index.js.map +0 -1
  332. package/dist/builtins/local-backup/index.mjs +0 -10
  333. package/dist/builtins/local-backup/index.mjs.map +0 -1
  334. package/dist/builtins/system-config/index.js.map +0 -1
  335. package/dist/builtins/system-config/index.mjs.map +0 -1
  336. package/dist/chunk-2CIYKDRN.mjs +0 -1
  337. package/dist/chunk-2CIYKDRN.mjs.map +0 -1
  338. package/dist/chunk-2F76X6NL.mjs +0 -136
  339. package/dist/chunk-2F76X6NL.mjs.map +0 -1
  340. package/dist/chunk-2QUFBZ7M.mjs +0 -1
  341. package/dist/chunk-2QUFBZ7M.mjs.map +0 -1
  342. package/dist/chunk-3BK2Y7GY.mjs +0 -593
  343. package/dist/chunk-3BK2Y7GY.mjs.map +0 -1
  344. package/dist/chunk-4OOHFJHT.mjs +0 -421
  345. package/dist/chunk-4OOHFJHT.mjs.map +0 -1
  346. package/dist/chunk-4XHB7IHT.mjs +0 -809
  347. package/dist/chunk-4XHB7IHT.mjs.map +0 -1
  348. package/dist/chunk-6M2HSSTQ.mjs +0 -98
  349. package/dist/chunk-6M2HSSTQ.mjs.map +0 -1
  350. package/dist/chunk-7FI7SQS7.mjs +0 -135
  351. package/dist/chunk-7FI7SQS7.mjs.map +0 -1
  352. package/dist/chunk-ED57RCQE.mjs +0 -171
  353. package/dist/chunk-ED57RCQE.mjs.map +0 -1
  354. package/dist/chunk-FZN56HGQ.mjs +0 -626
  355. package/dist/chunk-FZN56HGQ.mjs.map +0 -1
  356. package/dist/chunk-GL4OOB25.mjs +0 -51
  357. package/dist/chunk-GL4OOB25.mjs.map +0 -1
  358. package/dist/chunk-KDG2NTDB.mjs +0 -137
  359. package/dist/chunk-KDG2NTDB.mjs.map +0 -1
  360. package/dist/chunk-NRBQWBDM.mjs +0 -191
  361. package/dist/chunk-NRBQWBDM.mjs.map +0 -1
  362. package/dist/chunk-O4V246GG.mjs +0 -2137
  363. package/dist/chunk-O4V246GG.mjs.map +0 -1
  364. package/dist/chunk-QT57H266.mjs +0 -163
  365. package/dist/chunk-QT57H266.mjs.map +0 -1
  366. package/dist/chunk-QX4RH25I.mjs +0 -141
  367. package/dist/chunk-QX4RH25I.mjs.map +0 -1
  368. package/dist/chunk-TB562PZX.mjs +0 -86
  369. package/dist/chunk-TB562PZX.mjs.map +0 -1
  370. package/dist/chunk-TDYPZXK5.mjs +0 -1
  371. package/dist/chunk-TDYPZXK5.mjs.map +0 -1
  372. package/dist/chunk-UJI4LN5P.mjs +0 -36
  373. package/dist/chunk-UJI4LN5P.mjs.map +0 -1
  374. package/dist/chunk-W6RTHQGP.mjs +0 -1
  375. package/dist/chunk-W6RTHQGP.mjs.map +0 -1
  376. package/dist/chunk-ZELBCPDC.mjs +0 -369
  377. package/dist/chunk-ZELBCPDC.mjs.map +0 -1
  378. package/dist/index.d.mts +0 -1696
  379. package/dist/resource-monitor-UZUGPIAU.mjs +0 -9
  380. package/dist/resource-monitor-UZUGPIAU.mjs.map +0 -1
  381. package/dist/storage-location-manager-HFNB3PCS.mjs +0 -7
  382. package/dist/storage-location-manager-HFNB3PCS.mjs.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/builtins/alerts/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA"}
@@ -1,443 +1,3 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
-
20
- // src/builtins/alerts/index.ts
21
- var alerts_exports = {};
22
- __export(alerts_exports, {
23
- AlertCenterAddon: () => AlertCenterAddon
24
- });
25
- module.exports = __toCommonJS(alerts_exports);
26
-
27
- // src/builtins/alerts/alerts.addon.ts
28
- var import_types = require("@camstack/types");
29
- var import_types2 = require("@camstack/types");
30
- var CATEGORY_MAPPINGS = {
31
- // ── Critical — always surface ──────────────────────────────────────
32
- "addon.crashed": { severity: "error", titleTemplate: "Addon crashed" },
33
- "addon.error": { severity: "error", titleTemplate: "Addon error" },
34
- "process.crashed": { severity: "error", titleTemplate: "Process crashed" },
35
- "recording.error": { severity: "error", titleTemplate: "Recording error" },
36
- "recording.storage.critical": { severity: "warning", titleTemplate: "Storage critical" },
37
- "notification.failed": { severity: "error", titleTemplate: "Notification failed" },
38
- // ── Cluster — agent connect/disconnect ─────────────────────────────
39
- "agent.online": { severity: "info", titleTemplate: "Agent connected" },
40
- "agent.offline": { severity: "warning", titleTemplate: "Agent disconnected" },
41
- // ── System lifecycle ──────────────────────────────────────────────
42
- "system.boot": { severity: "info", titleTemplate: "System boot" },
43
- "system.restarting": { severity: "warning", titleTemplate: "System restarting" },
44
- // ── Device lifecycle (add/remove only, not settings tweaks) ───────
45
- "device.registered": { severity: "info", titleTemplate: "Device registered" },
46
- "device.unregistered": { severity: "warning", titleTemplate: "Device unregistered" },
47
- // ── Package management ────────────────────────────────────────────
48
- "addon.installed": { severity: "info", titleTemplate: "Addon installed" },
49
- "addon.updated": { severity: "info", titleTemplate: "Addon updated" },
50
- "addon.uninstalled": { severity: "info", titleTemplate: "Addon uninstalled" },
51
- // ── Backup (rare, important) ──────────────────────────────────────
52
- "backup.completed": { severity: "info", titleTemplate: "Backup completed" },
53
- "backup.restored": { severity: "info", titleTemplate: "Backup restored" },
54
- // ── Model downloads (in-progress merging path) ────────────────────
55
- "model.download.progress": { severity: "info", titleTemplate: "Model download" }
56
- };
57
- var TRACKED_CATEGORIES = Object.keys(CATEGORY_MAPPINGS);
58
- var RATE_LIMIT_WINDOW_MS = 6e4;
59
- var RATE_LIMIT_MAX_PER_SOURCE = 5;
60
- function parseAlert(record) {
61
- return import_types2.AlertSchema.parse({ id: record.id, ...record.data });
62
- }
63
- var DEFAULT_CONFIG = {
64
- maxAlerts: 500,
65
- retentionDays: 30
66
- };
67
- var ALERTS_COLLECTION = "alerts";
68
- var EVENT_SOURCE = { type: "addon", id: "alert-center" };
69
- var AlertCenterAddon = class extends import_types2.BaseAddon {
70
- unsubscribers = [];
71
- constructor() {
72
- super({ ...DEFAULT_CONFIG });
73
- }
74
- /**
75
- * Per `(category, source.id)` counter used to rate-limit chatty
76
- * events. Entries are pruned lazily when they age out of
77
- * `RATE_LIMIT_WINDOW_MS`; see `shouldSuppressByRate()` below.
78
- */
79
- rateLimitCounters = /* @__PURE__ */ new Map();
80
- async onInitialize() {
81
- const alertsProvider = {
82
- emit: (alert) => this.emitAlert(alert),
83
- update: (input) => this.updateAlert(input.alertId, input.patch),
84
- list: (filter) => this.listAlerts(filter),
85
- getUnreadCount: () => this.getUnreadCount(),
86
- markRead: (input) => this.markRead(input.alertId),
87
- markAllRead: () => this.markAllRead(),
88
- dismiss: (input) => this.dismiss(input.alertId)
89
- };
90
- const unsubs = [];
91
- for (const category of TRACKED_CATEGORIES) {
92
- const unsub = this.ctx.eventBus.subscribe(
93
- { category },
94
- (event) => {
95
- void this.handleEvent(category, event);
96
- }
97
- );
98
- unsubs.push(unsub);
99
- }
100
- this.unsubscribers = unsubs;
101
- this.ctx.logger.info("Initialized", { meta: { trackedCategoriesCount: TRACKED_CATEGORIES.length } });
102
- return [{ capability: import_types2.alertsCapability, provider: alertsProvider }];
103
- }
104
- async onShutdown() {
105
- for (const unsub of this.unsubscribers) {
106
- unsub();
107
- }
108
- this.unsubscribers = [];
109
- }
110
- globalSettingsSchema() {
111
- return this.schema({
112
- sections: [{
113
- id: "alerts",
114
- title: "Alert Center",
115
- description: "Configure alert storage and retention.",
116
- columns: 1,
117
- fields: [
118
- this.field({
119
- type: "number",
120
- key: "maxAlerts",
121
- label: "Maximum stored alerts",
122
- description: "Oldest read alerts are deleted when this limit is exceeded.",
123
- min: 50,
124
- max: 5e3,
125
- step: 50,
126
- default: 500
127
- }),
128
- this.field({
129
- type: "number",
130
- key: "retentionDays",
131
- label: "Alert retention (days)",
132
- description: "Alerts older than this are automatically removed.",
133
- min: 1,
134
- max: 365,
135
- step: 1,
136
- default: 30
137
- })
138
- ]
139
- }]
140
- });
141
- }
142
- // ── Public methods (called by the tRPC router) ────────────────────
143
- async listAlerts(filter) {
144
- const backend = this.ctx.api.settingsStore;
145
- if (!backend) return [];
146
- const whereClause = {};
147
- if (filter?.unreadOnly) {
148
- whereClause.read = false;
149
- }
150
- const records = await backend.query.query({ collection: ALERTS_COLLECTION, filter: {
151
- where: Object.keys(whereClause).length > 0 ? whereClause : void 0,
152
- orderBy: { field: "updatedAt", direction: "desc" },
153
- limit: filter?.limit ?? 100
154
- } });
155
- return records.map(parseAlert);
156
- }
157
- async getUnreadCount() {
158
- const backend = this.ctx.api.settingsStore;
159
- if (!backend) return 0;
160
- return backend.count.query({ collection: ALERTS_COLLECTION, filter: { where: { read: false } } });
161
- }
162
- async markRead(alertId) {
163
- await this.mergeUpdate(alertId, { read: true, updatedAt: Date.now() });
164
- }
165
- async markAllRead() {
166
- const backend = this.ctx.api.settingsStore;
167
- if (!backend) return;
168
- const unread = await backend.query.query({ collection: ALERTS_COLLECTION, filter: { where: { read: false } } });
169
- const now = Date.now();
170
- for (const record of unread) {
171
- await this.mergeUpdate(record.id, { read: true, updatedAt: now });
172
- }
173
- }
174
- async dismiss(alertId) {
175
- await this.mergeUpdate(alertId, {
176
- status: "dismissed",
177
- read: true,
178
- updatedAt: Date.now()
179
- });
180
- }
181
- // ── Private: event handling ──────────────────────────────────────
182
- async handleEvent(category, event) {
183
- try {
184
- if (category === "model.download.progress") {
185
- await this.handleModelDownload(event);
186
- return;
187
- }
188
- const mapping = CATEGORY_MAPPINGS[category];
189
- if (!mapping) return;
190
- if (this.shouldSuppressByRate(category, event)) return;
191
- const message = this.buildMessage(category, event.data);
192
- const alert = {
193
- id: crypto.randomUUID(),
194
- category,
195
- severity: mapping.severity,
196
- title: mapping.titleTemplate,
197
- message,
198
- status: "active",
199
- read: false,
200
- createdAt: Date.now(),
201
- updatedAt: Date.now(),
202
- source: event.source ? { type: event.source.type, id: String(event.source.id) } : void 0,
203
- metadata: event.data
204
- };
205
- await this.emitAlert(alert);
206
- } catch (err) {
207
- this.ctx.logger?.warn(
208
- "Failed to handle event",
209
- { meta: { category, error: (0, import_types2.errMsg)(err) } }
210
- );
211
- }
212
- }
213
- async handleModelDownload(event) {
214
- const data = event.data;
215
- const modelId = data.modelId ?? "unknown";
216
- const progress = data.progress ?? 0;
217
- const stableId = `model-download:${modelId}`;
218
- const backend = this.ctx.api.settingsStore;
219
- if (!backend) return;
220
- const existing = await backend.query.query({ collection: ALERTS_COLLECTION, filter: {
221
- where: { id: stableId }
222
- } });
223
- if (existing.length > 0) {
224
- const now = Date.now();
225
- if (progress >= 100) {
226
- await this.mergeUpdate(stableId, {
227
- status: "completed",
228
- progress: 100,
229
- message: `Model "${modelId}" download completed`,
230
- updatedAt: now
231
- });
232
- this.emitAlertUpdatedEvent(stableId, { status: "completed", progress: 100 });
233
- } else if (progress < 0) {
234
- await this.mergeUpdate(stableId, {
235
- status: "failed",
236
- message: `Model "${modelId}" download failed`,
237
- updatedAt: now
238
- });
239
- this.emitAlertUpdatedEvent(stableId, { status: "failed" });
240
- } else {
241
- await this.mergeUpdate(stableId, {
242
- progress,
243
- message: `Downloading model "${modelId}" \u2014 ${String(Math.round(progress))}%`,
244
- updatedAt: now
245
- });
246
- this.emitAlertUpdatedEvent(stableId, { progress });
247
- }
248
- } else {
249
- const alert = {
250
- id: stableId,
251
- category: import_types.EventCategory.ModelDownloadProgress,
252
- severity: "info",
253
- title: "Model download",
254
- message: `Downloading model "${modelId}" \u2014 ${String(Math.round(progress))}%`,
255
- status: "in-progress",
256
- progress,
257
- read: false,
258
- createdAt: Date.now(),
259
- updatedAt: Date.now(),
260
- source: event.source ? { type: event.source.type, id: String(event.source.id) } : void 0,
261
- metadata: { modelId }
262
- };
263
- await this.persistAlert(alert);
264
- this.emitAlertCreatedEvent(alert);
265
- }
266
- }
267
- /**
268
- * `[ALERT-CENTER-EVENTS]` — rate limit a `(category, source.id)`
269
- * tuple. Returns `true` when the caller should DROP this event
270
- * without persisting an alert, and `false` when the alert should
271
- * proceed normally.
272
- *
273
- * Heuristic: the first `RATE_LIMIT_MAX_PER_SOURCE` events within a
274
- * `RATE_LIMIT_WINDOW_MS` window go through. Once the threshold is
275
- * crossed, subsequent events are suppressed until the window rolls
276
- * over. When the threshold is first crossed, the suppression is
277
- * logged once so operators know why they're not seeing the follow-
278
- * up alerts; after the window rolls over the next event is
279
- * un-suppressed and starts a new window.
280
- */
281
- shouldSuppressByRate(category, event) {
282
- const sourceId = event.source?.id ?? "unknown";
283
- const key = `${category}::${sourceId}`;
284
- const now = Date.now();
285
- const entry = this.rateLimitCounters.get(key);
286
- if (!entry || now - entry.firstAt > RATE_LIMIT_WINDOW_MS) {
287
- this.rateLimitCounters.set(key, { firstAt: now, count: 1, suppressedLogged: false });
288
- return false;
289
- }
290
- entry.count += 1;
291
- if (entry.count <= RATE_LIMIT_MAX_PER_SOURCE) return false;
292
- if (!entry.suppressedLogged) {
293
- entry.suppressedLogged = true;
294
- this.ctx.logger?.info(
295
- "rate-limiting suppressing remainder of window",
296
- { meta: { category, sourceId, maxPerSource: RATE_LIMIT_MAX_PER_SOURCE, windowSeconds: RATE_LIMIT_WINDOW_MS / 1e3 } }
297
- );
298
- }
299
- return true;
300
- }
301
- buildMessage(category, data) {
302
- const addonId = data.addonId;
303
- const deviceId = data.deviceId;
304
- const error = data.error;
305
- const processId = data.processId;
306
- switch (category) {
307
- case "addon.crashed":
308
- return `Addon "${addonId ?? "unknown"}" crashed${error ? `: ${error}` : ""}`;
309
- case "addon.error":
310
- return `Addon "${addonId ?? "unknown"}" error${error ? `: ${error}` : ""}`;
311
- case "addon.installed":
312
- return `Addon "${addonId ?? "unknown"}" installed`;
313
- case "addon.updated": {
314
- const from = data.fromVersion;
315
- const to = data.toVersion;
316
- return `Addon "${addonId ?? "unknown"}" updated${from && to ? ` from ${from} to ${to}` : ""}`;
317
- }
318
- case "addon.uninstalled":
319
- return `Addon "${addonId ?? "unknown"}" uninstalled`;
320
- case "device.registered":
321
- return `Device "${data.name ?? deviceId ?? "unknown"}" registered`;
322
- case "device.unregistered":
323
- return `Device "${deviceId ?? "unknown"}" unregistered`;
324
- case "agent.online":
325
- return `Agent "${data.agentId ?? data.nodeId ?? "unknown"}" connected`;
326
- case "agent.offline":
327
- return `Agent "${data.agentId ?? data.nodeId ?? "unknown"}" disconnected${data.reason ? `: ${String(data.reason)}` : ""}`;
328
- case "backup.completed":
329
- return `Backup completed${data.targetId ? ` (${String(data.targetId)})` : ""}`;
330
- case "backup.restored":
331
- return `Backup restored${data.source ? ` from ${String(data.source)}` : ""}`;
332
- case "notification.failed":
333
- return `Notification failed${error ? `: ${error}` : ""}`;
334
- case "system.restarting":
335
- return `System restarting${data.reason ? ` \u2014 ${String(data.reason)}` : ""}`;
336
- case "recording.error":
337
- return `Recording error on device "${deviceId ?? "unknown"}"${error ? `: ${error}` : ""}`;
338
- case "recording.storage.critical":
339
- return `Storage critical for device "${deviceId ?? "unknown"}"`;
340
- case "system.boot":
341
- return `System booted in "${data.mode ?? "unknown"}" mode`;
342
- case "process.crashed":
343
- return `Process "${processId ?? "unknown"}" crashed`;
344
- default:
345
- return `Event: ${category}`;
346
- }
347
- }
348
- // ── Private: persistence ─────────────────────────────────────────
349
- async emitAlert(alert) {
350
- await this.persistAlert(alert);
351
- this.emitAlertCreatedEvent(alert);
352
- await this.enforceMaxAlerts();
353
- await this.enforceRetention();
354
- }
355
- async updateAlert(alertId, patch) {
356
- await this.mergeUpdate(alertId, { ...patch, updatedAt: Date.now() });
357
- this.emitAlertUpdatedEvent(alertId, patch);
358
- }
359
- /**
360
- * Read-merge-write: SettingsBackend.update() replaces the entire `data` blob,
361
- * so we must read the existing record, merge the patch, and write back.
362
- */
363
- async mergeUpdate(id, patch) {
364
- const backend = this.ctx.api.settingsStore;
365
- if (!backend) return;
366
- const raw = await backend.get.query({ collection: ALERTS_COLLECTION, key: id });
367
- if (raw === null || raw === void 0 || typeof raw !== "object") return;
368
- const existing = Object.fromEntries(Object.entries(raw));
369
- await backend.set.mutate({ collection: ALERTS_COLLECTION, key: id, value: { ...existing, ...patch } });
370
- }
371
- async persistAlert(alert) {
372
- const backend = this.ctx.api.settingsStore;
373
- if (!backend) return;
374
- const data = {
375
- id: alert.id,
376
- category: alert.category,
377
- severity: alert.severity,
378
- title: alert.title,
379
- message: alert.message,
380
- status: alert.status,
381
- read: alert.read,
382
- createdAt: alert.createdAt,
383
- updatedAt: alert.updatedAt,
384
- ...alert.progress !== void 0 ? { progress: alert.progress } : {},
385
- ...alert.source ? { source: alert.source } : {},
386
- ...alert.metadata ? { metadata: alert.metadata } : {}
387
- };
388
- await backend.set.mutate({ collection: ALERTS_COLLECTION, key: alert.id, value: data });
389
- }
390
- emitAlertCreatedEvent(alert) {
391
- this.ctx.eventBus?.emit((0, import_types2.createEvent)("alert.created", EVENT_SOURCE, {
392
- id: alert.id,
393
- category: alert.category,
394
- severity: alert.severity,
395
- title: alert.title,
396
- status: alert.status
397
- }));
398
- }
399
- emitAlertUpdatedEvent(alertId, patch) {
400
- const patchRecord = {};
401
- for (const [key, value] of Object.entries(patch)) {
402
- patchRecord[key] = value;
403
- }
404
- this.ctx.eventBus?.emit((0, import_types2.createEvent)("alert.updated", EVENT_SOURCE, {
405
- alertId,
406
- patch: patchRecord
407
- }));
408
- }
409
- async enforceMaxAlerts() {
410
- const backend = this.ctx.api.settingsStore;
411
- if (!backend) return;
412
- const total = await backend.count.query({ collection: ALERTS_COLLECTION });
413
- if (total <= this.config.maxAlerts) return;
414
- const excess = total - this.config.maxAlerts;
415
- const oldest = await backend.query.query({ collection: ALERTS_COLLECTION, filter: {
416
- where: { read: true },
417
- orderBy: { field: "createdAt", direction: "asc" },
418
- limit: excess
419
- } });
420
- for (const record of oldest) {
421
- await backend.delete.mutate({ collection: ALERTS_COLLECTION, key: record.id });
422
- }
423
- }
424
- async enforceRetention() {
425
- const backend = this.ctx.api.settingsStore;
426
- if (!backend) return;
427
- const cutoff = Date.now() - this.config.retentionDays * 24 * 60 * 60 * 1e3;
428
- const expired = await backend.query.query({ collection: ALERTS_COLLECTION, filter: {
429
- where: { read: true },
430
- orderBy: { field: "createdAt", direction: "asc" }
431
- } });
432
- for (const record of expired) {
433
- if (Number(record.data["createdAt"] ?? 0) < cutoff) {
434
- await backend.delete.mutate({ collection: ALERTS_COLLECTION, key: record.id });
435
- }
436
- }
437
- }
438
- };
439
- // Annotate the CommonJS export names for ESM import in node:
440
- 0 && (module.exports = {
441
- AlertCenterAddon
442
- });
443
- //# sourceMappingURL=index.js.map
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_builtins_alerts_alerts_addon = require("./alerts.addon.js");
3
+ exports.AlertCenterAddon = require_builtins_alerts_alerts_addon.AlertCenterAddon;
@@ -1,8 +1,2 @@
1
- import "../../chunk-2CIYKDRN.mjs";
2
- import {
3
- AlertCenterAddon
4
- } from "../../chunk-4OOHFJHT.mjs";
5
- export {
6
- AlertCenterAddon
7
- };
8
- //# sourceMappingURL=index.mjs.map
1
+ import { AlertCenterAddon } from "./alerts.addon.mjs";
2
+ export { AlertCenterAddon };
@@ -0,0 +1,8 @@
1
+ import { BaseAddon, ProviderRegistration } from '@camstack/types';
2
+ export declare class AuthOrchestratorAddon extends BaseAddon<Record<string, never>> {
3
+ constructor();
4
+ protected onInitialize(): Promise<ProviderRegistration[]>;
5
+ private listProviders;
6
+ }
7
+ export default AuthOrchestratorAddon;
8
+ //# sourceMappingURL=auth-orchestrator.addon.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth-orchestrator.addon.d.ts","sourceRoot":"","sources":["../../../src/builtins/auth-orchestrator/auth-orchestrator.addon.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,EACL,SAAS,EAIT,KAAK,oBAAoB,EAC1B,MAAM,iBAAiB,CAAA;AAYxB,qBAAa,qBAAsB,SAAQ,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;;cAKzD,YAAY,IAAI,OAAO,CAAC,oBAAoB,EAAE,CAAC;YAgBjD,aAAa;CAa5B;AAED,eAAe,qBAAqB,CAAA"}
@@ -0,0 +1,56 @@
1
+ Object.defineProperties(exports, {
2
+ __esModule: { value: true },
3
+ [Symbol.toStringTag]: { value: "Module" }
4
+ });
5
+ require("../../chunk-C13QxCFV.js");
6
+ let _camstack_types = require("@camstack/types");
7
+ //#region src/builtins/auth-orchestrator/auth-orchestrator.addon.ts
8
+ /**
9
+ * Authentication orchestrator — singleton facade over the
10
+ * `auth-provider` collection. Mirrors the backup-orchestrator pattern:
11
+ * UI consumers go through this builtin, which walks the
12
+ * `auth-provider` collection registered by `local-auth` and any
13
+ * additional `auth-*` addons (OIDC, SAML, LDAP, …) and returns a
14
+ * curated view.
15
+ *
16
+ * The actual login flow still goes through `auth-provider`
17
+ * collection methods (validateCredentials / getLoginUrl / …); this
18
+ * cap exists so the admin UI's "Authentication" page and the login
19
+ * screen's provider picker have ONE place to query instead of
20
+ * walking the collection themselves.
21
+ */
22
+ var AuthOrchestratorAddon = class extends _camstack_types.BaseAddon {
23
+ constructor() {
24
+ super({});
25
+ }
26
+ async onInitialize() {
27
+ const provider = {
28
+ listProviders: async () => this.listProviders(),
29
+ setProviderEnabled: async () => {
30
+ return { success: true };
31
+ }
32
+ };
33
+ this.ctx.logger.info("Authentication orchestrator initialized");
34
+ return [{
35
+ capability: _camstack_types.authenticationCapability,
36
+ provider
37
+ }];
38
+ }
39
+ async listProviders() {
40
+ return (this.capabilities?.getCollectionEntries("auth-provider") ?? []).map(([addonId, raw]) => ({
41
+ addonId: raw?.addonId ?? addonId,
42
+ displayName: raw?.displayName ?? addonId,
43
+ kind: raw?.kind ?? (addonId === "local-auth" ? "local" : "other"),
44
+ ...raw?.icon !== void 0 ? { icon: raw.icon } : {},
45
+ hasRedirectFlow: raw?.hasRedirectFlow ?? false,
46
+ hasCredentialFlow: raw?.hasCredentialFlow ?? addonId === "local-auth",
47
+ ...raw?.status !== void 0 ? { status: raw.status } : {},
48
+ enabled: true
49
+ }));
50
+ }
51
+ };
52
+ //#endregion
53
+ exports.AuthOrchestratorAddon = AuthOrchestratorAddon;
54
+ exports.default = AuthOrchestratorAddon;
55
+
56
+ //# sourceMappingURL=auth-orchestrator.addon.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth-orchestrator.addon.js","names":[],"sources":["../../../src/builtins/auth-orchestrator/auth-orchestrator.addon.ts"],"sourcesContent":["/**\n * Authentication orchestrator — singleton facade over the\n * `auth-provider` collection. Mirrors the backup-orchestrator pattern:\n * UI consumers go through this builtin, which walks the\n * `auth-provider` collection registered by `local-auth` and any\n * additional `auth-*` addons (OIDC, SAML, LDAP, …) and returns a\n * curated view.\n *\n * The actual login flow still goes through `auth-provider`\n * collection methods (validateCredentials / getLoginUrl / …); this\n * cap exists so the admin UI's \"Authentication\" page and the login\n * screen's provider picker have ONE place to query instead of\n * walking the collection themselves.\n */\nimport {\n BaseAddon,\n authenticationCapability,\n type AuthProviderInfo,\n type IAuthenticationProvider,\n type ProviderRegistration,\n} from '@camstack/types'\n\ninterface AuthProviderRegistrationLike {\n readonly addonId?: string\n readonly displayName?: string\n readonly kind?: AuthProviderInfo['kind']\n readonly icon?: string\n readonly hasRedirectFlow?: boolean\n readonly hasCredentialFlow?: boolean\n readonly status?: string\n}\n\nexport class AuthOrchestratorAddon extends BaseAddon<Record<string, never>> {\n constructor() {\n super({})\n }\n\n protected async onInitialize(): Promise<ProviderRegistration[]> {\n const provider: IAuthenticationProvider = {\n listProviders: async () => this.listProviders(),\n setProviderEnabled: async () => {\n // Persistence is per-addon today — operators toggle enabled\n // via the provider addon's own settings panel. The orchestrator\n // exposes the affordance for forward-compat (UI may move the\n // enabled toggle into the Authentication page later) but\n // currently no-ops the persistence side.\n return { success: true as const }\n },\n }\n this.ctx.logger.info('Authentication orchestrator initialized')\n return [{ capability: authenticationCapability, provider }]\n }\n\n private async listProviders(): Promise<readonly AuthProviderInfo[]> {\n const entries = this.capabilities?.getCollectionEntries<AuthProviderRegistrationLike>('auth-provider') ?? []\n return entries.map(([addonId, raw]) => ({\n addonId: raw?.addonId ?? addonId,\n displayName: raw?.displayName ?? addonId,\n kind: raw?.kind ?? (addonId === 'local-auth' ? ('local' as const) : ('other' as const)),\n ...(raw?.icon !== undefined ? { icon: raw.icon } : {}),\n hasRedirectFlow: raw?.hasRedirectFlow ?? false,\n hasCredentialFlow: raw?.hasCredentialFlow ?? (addonId === 'local-auth'),\n ...(raw?.status !== undefined ? { status: raw.status } : {}),\n enabled: true,\n }))\n }\n}\n\nexport default AuthOrchestratorAddon\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAgCA,IAAa,wBAAb,cAA2C,gBAAA,UAAiC;CAC1E,cAAc;EACZ,MAAM,EAAE,CAAC;;CAGX,MAAgB,eAAgD;EAC9D,MAAM,WAAoC;GACxC,eAAe,YAAY,KAAK,eAAe;GAC/C,oBAAoB,YAAY;IAM9B,OAAO,EAAE,SAAS,MAAe;;GAEpC;EACD,KAAK,IAAI,OAAO,KAAK,0CAA0C;EAC/D,OAAO,CAAC;GAAE,YAAY,gBAAA;GAA0B;GAAU,CAAC;;CAG7D,MAAc,gBAAsD;EAElE,QADgB,KAAK,cAAc,qBAAmD,gBAAgB,IAAI,EAAE,EAC7F,KAAK,CAAC,SAAS,UAAU;GACtC,SAAS,KAAK,WAAW;GACzB,aAAa,KAAK,eAAe;GACjC,MAAM,KAAK,SAAS,YAAY,eAAgB,UAAqB;GACrE,GAAI,KAAK,SAAS,KAAA,IAAY,EAAE,MAAM,IAAI,MAAM,GAAG,EAAE;GACrD,iBAAiB,KAAK,mBAAmB;GACzC,mBAAmB,KAAK,qBAAsB,YAAY;GAC1D,GAAI,KAAK,WAAW,KAAA,IAAY,EAAE,QAAQ,IAAI,QAAQ,GAAG,EAAE;GAC3D,SAAS;GACV,EAAE"}
@@ -0,0 +1,50 @@
1
+ import { BaseAddon, authenticationCapability } from "@camstack/types";
2
+ //#region src/builtins/auth-orchestrator/auth-orchestrator.addon.ts
3
+ /**
4
+ * Authentication orchestrator — singleton facade over the
5
+ * `auth-provider` collection. Mirrors the backup-orchestrator pattern:
6
+ * UI consumers go through this builtin, which walks the
7
+ * `auth-provider` collection registered by `local-auth` and any
8
+ * additional `auth-*` addons (OIDC, SAML, LDAP, …) and returns a
9
+ * curated view.
10
+ *
11
+ * The actual login flow still goes through `auth-provider`
12
+ * collection methods (validateCredentials / getLoginUrl / …); this
13
+ * cap exists so the admin UI's "Authentication" page and the login
14
+ * screen's provider picker have ONE place to query instead of
15
+ * walking the collection themselves.
16
+ */
17
+ var AuthOrchestratorAddon = class extends BaseAddon {
18
+ constructor() {
19
+ super({});
20
+ }
21
+ async onInitialize() {
22
+ const provider = {
23
+ listProviders: async () => this.listProviders(),
24
+ setProviderEnabled: async () => {
25
+ return { success: true };
26
+ }
27
+ };
28
+ this.ctx.logger.info("Authentication orchestrator initialized");
29
+ return [{
30
+ capability: authenticationCapability,
31
+ provider
32
+ }];
33
+ }
34
+ async listProviders() {
35
+ return (this.capabilities?.getCollectionEntries("auth-provider") ?? []).map(([addonId, raw]) => ({
36
+ addonId: raw?.addonId ?? addonId,
37
+ displayName: raw?.displayName ?? addonId,
38
+ kind: raw?.kind ?? (addonId === "local-auth" ? "local" : "other"),
39
+ ...raw?.icon !== void 0 ? { icon: raw.icon } : {},
40
+ hasRedirectFlow: raw?.hasRedirectFlow ?? false,
41
+ hasCredentialFlow: raw?.hasCredentialFlow ?? addonId === "local-auth",
42
+ ...raw?.status !== void 0 ? { status: raw.status } : {},
43
+ enabled: true
44
+ }));
45
+ }
46
+ };
47
+ //#endregion
48
+ export { AuthOrchestratorAddon, AuthOrchestratorAddon as default };
49
+
50
+ //# sourceMappingURL=auth-orchestrator.addon.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth-orchestrator.addon.mjs","names":[],"sources":["../../../src/builtins/auth-orchestrator/auth-orchestrator.addon.ts"],"sourcesContent":["/**\n * Authentication orchestrator — singleton facade over the\n * `auth-provider` collection. Mirrors the backup-orchestrator pattern:\n * UI consumers go through this builtin, which walks the\n * `auth-provider` collection registered by `local-auth` and any\n * additional `auth-*` addons (OIDC, SAML, LDAP, …) and returns a\n * curated view.\n *\n * The actual login flow still goes through `auth-provider`\n * collection methods (validateCredentials / getLoginUrl / …); this\n * cap exists so the admin UI's \"Authentication\" page and the login\n * screen's provider picker have ONE place to query instead of\n * walking the collection themselves.\n */\nimport {\n BaseAddon,\n authenticationCapability,\n type AuthProviderInfo,\n type IAuthenticationProvider,\n type ProviderRegistration,\n} from '@camstack/types'\n\ninterface AuthProviderRegistrationLike {\n readonly addonId?: string\n readonly displayName?: string\n readonly kind?: AuthProviderInfo['kind']\n readonly icon?: string\n readonly hasRedirectFlow?: boolean\n readonly hasCredentialFlow?: boolean\n readonly status?: string\n}\n\nexport class AuthOrchestratorAddon extends BaseAddon<Record<string, never>> {\n constructor() {\n super({})\n }\n\n protected async onInitialize(): Promise<ProviderRegistration[]> {\n const provider: IAuthenticationProvider = {\n listProviders: async () => this.listProviders(),\n setProviderEnabled: async () => {\n // Persistence is per-addon today — operators toggle enabled\n // via the provider addon's own settings panel. The orchestrator\n // exposes the affordance for forward-compat (UI may move the\n // enabled toggle into the Authentication page later) but\n // currently no-ops the persistence side.\n return { success: true as const }\n },\n }\n this.ctx.logger.info('Authentication orchestrator initialized')\n return [{ capability: authenticationCapability, provider }]\n }\n\n private async listProviders(): Promise<readonly AuthProviderInfo[]> {\n const entries = this.capabilities?.getCollectionEntries<AuthProviderRegistrationLike>('auth-provider') ?? []\n return entries.map(([addonId, raw]) => ({\n addonId: raw?.addonId ?? addonId,\n displayName: raw?.displayName ?? addonId,\n kind: raw?.kind ?? (addonId === 'local-auth' ? ('local' as const) : ('other' as const)),\n ...(raw?.icon !== undefined ? { icon: raw.icon } : {}),\n hasRedirectFlow: raw?.hasRedirectFlow ?? false,\n hasCredentialFlow: raw?.hasCredentialFlow ?? (addonId === 'local-auth'),\n ...(raw?.status !== undefined ? { status: raw.status } : {}),\n enabled: true,\n }))\n }\n}\n\nexport default AuthOrchestratorAddon\n"],"mappings":";;;;;;;;;;;;;;;;AAgCA,IAAa,wBAAb,cAA2C,UAAiC;CAC1E,cAAc;EACZ,MAAM,EAAE,CAAC;;CAGX,MAAgB,eAAgD;EAC9D,MAAM,WAAoC;GACxC,eAAe,YAAY,KAAK,eAAe;GAC/C,oBAAoB,YAAY;IAM9B,OAAO,EAAE,SAAS,MAAe;;GAEpC;EACD,KAAK,IAAI,OAAO,KAAK,0CAA0C;EAC/D,OAAO,CAAC;GAAE,YAAY;GAA0B;GAAU,CAAC;;CAG7D,MAAc,gBAAsD;EAElE,QADgB,KAAK,cAAc,qBAAmD,gBAAgB,IAAI,EAAE,EAC7F,KAAK,CAAC,SAAS,UAAU;GACtC,SAAS,KAAK,WAAW;GACzB,aAAa,KAAK,eAAe;GACjC,MAAM,KAAK,SAAS,YAAY,eAAgB,UAAqB;GACrE,GAAI,KAAK,SAAS,KAAA,IAAY,EAAE,MAAM,IAAI,MAAM,GAAG,EAAE;GACrD,iBAAiB,KAAK,mBAAmB;GACzC,mBAAmB,KAAK,qBAAsB,YAAY;GAC1D,GAAI,KAAK,WAAW,KAAA,IAAY,EAAE,QAAQ,IAAI,QAAQ,GAAG,EAAE;GAC3D,SAAS;GACV,EAAE"}
@@ -0,0 +1,2 @@
1
+ export { AuthOrchestratorAddon, default } from './auth-orchestrator.addon.js';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/builtins/auth-orchestrator/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAA"}
@@ -0,0 +1,7 @@
1
+ Object.defineProperties(exports, {
2
+ __esModule: { value: true },
3
+ [Symbol.toStringTag]: { value: "Module" }
4
+ });
5
+ const require_builtins_auth_orchestrator_auth_orchestrator_addon = require("./auth-orchestrator.addon.js");
6
+ exports.AuthOrchestratorAddon = require_builtins_auth_orchestrator_auth_orchestrator_addon.AuthOrchestratorAddon;
7
+ exports.default = require_builtins_auth_orchestrator_auth_orchestrator_addon.AuthOrchestratorAddon;
@@ -0,0 +1,2 @@
1
+ import { AuthOrchestratorAddon } from "./auth-orchestrator.addon.mjs";
2
+ export { AuthOrchestratorAddon, AuthOrchestratorAddon as default };