@camstack/core 0.1.14 → 0.1.16

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 (352) 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 +226 -0
  18. package/dist/builtins/addon-pages-aggregator/addon-pages-aggregator.addon.js.map +1 -0
  19. package/dist/builtins/addon-pages-aggregator/addon-pages-aggregator.addon.mjs +218 -0
  20. package/dist/builtins/addon-pages-aggregator/addon-pages-aggregator.addon.mjs.map +1 -0
  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 +7 -0
  24. package/dist/builtins/addon-pages-aggregator/index.mjs +2 -0
  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 +202 -0
  28. package/dist/builtins/addon-widgets-aggregator/addon-widgets-aggregator.addon.js.map +1 -0
  29. package/dist/builtins/addon-widgets-aggregator/addon-widgets-aggregator.addon.mjs +194 -0
  30. package/dist/builtins/addon-widgets-aggregator/addon-widgets-aggregator.addon.mjs.map +1 -0
  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 +7 -0
  34. package/dist/builtins/addon-widgets-aggregator/index.mjs +2 -0
  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 +603 -0
  38. package/dist/builtins/alerts/alerts.addon.js.map +1 -0
  39. package/dist/builtins/alerts/alerts.addon.mjs +597 -0
  40. package/dist/builtins/alerts/alerts.addon.mjs.map +1 -0
  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 -0
  44. package/dist/builtins/alerts/index.mjs +2 -0
  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 +106 -0
  80. package/dist/builtins/console-logging/index.js.map +1 -0
  81. package/dist/builtins/console-logging/index.mjs +97 -0
  82. package/dist/builtins/console-logging/index.mjs.map +1 -0
  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 +2153 -0
  88. package/dist/builtins/device-manager/device-manager.addon.js.map +1 -0
  89. package/dist/builtins/device-manager/device-manager.addon.mjs +2147 -0
  90. package/dist/builtins/device-manager/device-manager.addon.mjs.map +1 -0
  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 +7 -0
  94. package/dist/builtins/device-manager/index.mjs +2 -0
  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 +156 -0
  102. package/dist/builtins/hub-forwarder/index.js.map +1 -0
  103. package/dist/builtins/hub-forwarder/index.mjs +147 -0
  104. package/dist/builtins/hub-forwarder/index.mjs.map +1 -0
  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 -0
  110. package/dist/builtins/local-auth/index.mjs +2 -0
  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 +6895 -0
  114. package/dist/builtins/local-auth/local-auth.addon.js.map +1 -0
  115. package/dist/builtins/local-auth/local-auth.addon.mjs +6885 -0
  116. package/dist/builtins/local-auth/local-auth.addon.mjs.map +1 -0
  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 +102 -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 +404 -0
  124. package/dist/builtins/local-network/local-network.addon.js.map +1 -0
  125. package/dist/builtins/local-network/local-network.addon.mjs +392 -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 +924 -0
  144. package/dist/builtins/native-metrics/native-metrics.addon.js.map +1 -0
  145. package/dist/builtins/native-metrics/native-metrics.addon.mjs +916 -0
  146. package/dist/builtins/native-metrics/native-metrics.addon.mjs.map +1 -0
  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 +494 -0
  170. package/dist/builtins/snapshot/index.js.map +1 -0
  171. package/dist/builtins/snapshot/index.mjs +488 -0
  172. package/dist/builtins/snapshot/index.mjs.map +1 -0
  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 -2
  182. package/dist/builtins/sqlite-storage/filesystem-storage.addon.d.ts.map +1 -0
  183. package/dist/builtins/sqlite-storage/filesystem-storage.addon.js +311 -205
  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 -4
  188. package/dist/builtins/sqlite-storage/index.d.ts.map +1 -0
  189. package/dist/builtins/sqlite-storage/index.js +258 -1097
  190. package/dist/builtins/sqlite-storage/index.js.map +1 -1
  191. package/dist/builtins/sqlite-storage/index.mjs +268 -28
  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 -2
  202. package/dist/builtins/sqlite-storage/sqlite-settings.addon.d.ts.map +1 -0
  203. package/dist/builtins/sqlite-storage/sqlite-settings.addon.js +588 -417
  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 +7 -0
  226. package/dist/builtins/system-config/index.mjs +2 -0
  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 +234 -0
  230. package/dist/builtins/system-config/system-config.addon.js.map +1 -0
  231. package/dist/builtins/system-config/system-config.addon.mjs +228 -0
  232. package/dist/builtins/system-config/system-config.addon.mjs.map +1 -0
  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 -30
  244. package/dist/builtins/winston-logging/index.d.ts.map +1 -0
  245. package/dist/builtins/winston-logging/index.js +153 -180
  246. package/dist/builtins/winston-logging/index.js.map +1 -1
  247. package/dist/builtins/winston-logging/index.mjs +144 -8
  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 -1137
  270. package/dist/index.d.ts.map +1 -0
  271. package/dist/index.js +7761 -7017
  272. package/dist/index.js.map +1 -1
  273. package/dist/index.mjs +7699 -3798
  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 +230 -13
  320. package/dist/builtins/local-backup/index.d.mts +0 -42
  321. package/dist/builtins/local-backup/index.d.ts +0 -42
  322. package/dist/builtins/local-backup/index.js +0 -188
  323. package/dist/builtins/local-backup/index.js.map +0 -1
  324. package/dist/builtins/local-backup/index.mjs +0 -10
  325. package/dist/builtins/local-backup/index.mjs.map +0 -1
  326. package/dist/builtins/sqlite-storage/filesystem-storage.addon.d.mts +0 -2
  327. package/dist/builtins/sqlite-storage/index.d.mts +0 -4
  328. package/dist/builtins/sqlite-storage/sqlite-settings.addon.d.mts +0 -2
  329. package/dist/builtins/winston-logging/index.d.mts +0 -30
  330. package/dist/chunk-2F3XZYRW.mjs +0 -89
  331. package/dist/chunk-2F3XZYRW.mjs.map +0 -1
  332. package/dist/chunk-LQFPAEQF.mjs +0 -147
  333. package/dist/chunk-LQFPAEQF.mjs.map +0 -1
  334. package/dist/chunk-R3DIIBBX.mjs +0 -532
  335. package/dist/chunk-R3DIIBBX.mjs.map +0 -1
  336. package/dist/chunk-SMNR44VG.mjs +0 -386
  337. package/dist/chunk-SMNR44VG.mjs.map +0 -1
  338. package/dist/chunk-SO4LROOT.mjs +0 -150
  339. package/dist/chunk-SO4LROOT.mjs.map +0 -1
  340. package/dist/chunk-SPA4JBKN.mjs +0 -175
  341. package/dist/chunk-SPA4JBKN.mjs.map +0 -1
  342. package/dist/dist-3BY63UQ5.mjs +0 -2151
  343. package/dist/dist-3BY63UQ5.mjs.map +0 -1
  344. package/dist/filesystem-storage.addon-C42r589X.d.mts +0 -57
  345. package/dist/filesystem-storage.addon-C42r589X.d.ts +0 -57
  346. package/dist/index.d.mts +0 -1137
  347. package/dist/sql-schema-CKz78rId.d.mts +0 -97
  348. package/dist/sql-schema-CKz78rId.d.ts +0 -97
  349. package/dist/sqlite-settings.addon-KwG-uKMP.d.mts +0 -79
  350. package/dist/sqlite-settings.addon-KwG-uKMP.d.ts +0 -79
  351. package/dist/storage-location-manager-KKDQNAKA.mjs +0 -7
  352. package/dist/storage-location-manager-KKDQNAKA.mjs.map +0 -1
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Validate a cron expression and return its next firing time strictly
3
+ * after `after`, expressed as ms-epoch. Returns `null` when the
4
+ * expression has no future runs (croner returns null e.g. for
5
+ * fully-bounded patterns that have already elapsed). Throws when the
6
+ * expression is syntactically invalid — callers are expected to
7
+ * surface that to the operator.
8
+ */
9
+ export declare function computeNextDue(cron: string, after: number): number | null;
10
+ /**
11
+ * Validate without computing — returns true when `cron` parses, false
12
+ * otherwise. Used by the cap-router input zod schema's `.refine`
13
+ * callback to reject malformed expressions at the boundary instead
14
+ * of at scheduler-tick time.
15
+ */
16
+ export declare function isValidCron(cron: string): boolean;
17
+ /**
18
+ * Peek the next N firing times after `after` (default: now). Used by
19
+ * the admin UI's CronEditor preview pane — operators see the next
20
+ * 3–5 runs as they edit the expression so a wrong pattern is
21
+ * obvious before save.
22
+ */
23
+ export declare function previewNextRuns(cron: string, count: number, after?: number): readonly number[];
24
+ //# sourceMappingURL=cron-helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cron-helpers.d.ts","sourceRoot":"","sources":["../../../src/builtins/backup-orchestrator/cron-helpers.ts"],"names":[],"mappings":"AAeA;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAIzE;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAOjD;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,CAW9F"}
@@ -0,0 +1,73 @@
1
+ import { ISettingsBackend, TableSchema } from '@camstack/types';
2
+ /**
3
+ * Per-`backups`-location policy. `locationId` is the foreign-key into
4
+ * the storage orchestrator's `storage_locations` table.
5
+ *
6
+ * `enabled` gates whether scheduled / unspecified-target backups fan out
7
+ * to this destination; operators can disable a destination temporarily
8
+ * without deleting the underlying `StorageLocation`.
9
+ *
10
+ * `retentionCount` is independent per destination — destination A may
11
+ * keep 3 archives while B keeps 30.
12
+ *
13
+ * `label` is an optional operator-defined display string. When omitted
14
+ * the orchestrator falls back to the `StorageLocation.displayName`.
15
+ */
16
+ export interface BackupDestinationPolicy {
17
+ readonly locationId: string;
18
+ readonly enabled: boolean;
19
+ readonly retentionCount: number;
20
+ readonly label?: string;
21
+ /**
22
+ * Cron expression for scheduled backups to this destination. When
23
+ * undefined / empty the destination only receives backups from
24
+ * manual `runNow()` calls. Each destination has its own cadence —
25
+ * an offsite SFTP can run weekly while local stays nightly. The
26
+ * orchestrator parses with `cron-parser` (5-field POSIX cron, no
27
+ * seconds field).
28
+ */
29
+ readonly cron?: string;
30
+ /** ms-epoch of the last successful backup completion to this destination. */
31
+ readonly lastRunAt?: number;
32
+ }
33
+ export declare const BACKUP_DESTINATION_POLICIES_SCHEMA: TableSchema;
34
+ export declare class BackupDestinationPolicyService {
35
+ private readonly backend;
36
+ private tableEnsured;
37
+ constructor(backend: ISettingsBackend);
38
+ /**
39
+ * Lazy `ensureTable` — called from every read/write path. The
40
+ * settings backend's own `ensureTable` is idempotent (additive
41
+ * migration), so repeated calls collapse to a no-op after the first.
42
+ * This keeps the constructor synchronous and avoids a separate
43
+ * `initialize()` step that callers could forget.
44
+ */
45
+ initialize(): Promise<void>;
46
+ private ensureTable;
47
+ list(): Promise<readonly BackupDestinationPolicy[]>;
48
+ get(locationId: string): Promise<BackupDestinationPolicy | null>;
49
+ /**
50
+ * Replace-or-insert. Implemented as `delete` + `insert` (mirrors the
51
+ * `SqliteLocationStore` contract) so backends that don't surface
52
+ * `tableUpdate` still work.
53
+ */
54
+ upsert(p: BackupDestinationPolicy): Promise<void>;
55
+ delete(locationId: string): Promise<void>;
56
+ /**
57
+ * Auto-create a default policy for a `backups` location seen for the
58
+ * first time (returns the existing policy unchanged when present).
59
+ * The orchestrator calls this lazily on the first `listDestinations`
60
+ * pass so newly-added storage locations are surfaced as enabled
61
+ * destinations without an explicit configuration step.
62
+ *
63
+ * Defaults are passed by the orchestrator (currently:
64
+ * `retentionCount=7` + `cron='0 3 * * *'`) so a fresh destination
65
+ * starts running daily at 03:00 with 7 archives kept. Operator can
66
+ * tune both inline on the destinations table.
67
+ */
68
+ ensureDefault(locationId: string, defaults: {
69
+ retentionCount: number;
70
+ cron?: string;
71
+ }): Promise<BackupDestinationPolicy>;
72
+ }
73
+ //# sourceMappingURL=destination-policy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"destination-policy.d.ts","sourceRoot":"","sources":["../../../src/builtins/backup-orchestrator/destination-policy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAEpE;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;IACzB,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;IACvB;;;;;;;OAOG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,6EAA6E;IAC7E,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAC5B;AAID,eAAO,MAAM,kCAAkC,EAAE,WAShD,CAAA;AAED,qBAAa,8BAA8B;IAG7B,OAAO,CAAC,QAAQ,CAAC,OAAO;IAFpC,OAAO,CAAC,YAAY,CAAQ;gBAEC,OAAO,EAAE,gBAAgB;IAEtD;;;;;;OAMG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;YAInB,WAAW;IAYnB,IAAI,IAAI,OAAO,CAAC,SAAS,uBAAuB,EAAE,CAAC;IAcnD,GAAG,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,GAAG,IAAI,CAAC;IAOtE;;;;OAIG;IACG,MAAM,CAAC,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC;IASjD,MAAM,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ/C;;;;;;;;;;;OAWG;IACG,aAAa,CACjB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE;QAAE,cAAc,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GAClD,OAAO,CAAC,uBAAuB,CAAC;CAYpC"}
@@ -0,0 +1,13 @@
1
+ import { IScopedLogger } from '@camstack/types';
2
+ import { ChunkedDownloadApi } from './manifest-store.js';
3
+ export interface DownloadArchiveInput {
4
+ readonly api: ChunkedDownloadApi;
5
+ readonly locationId: string;
6
+ readonly filename: string;
7
+ readonly cachePath: string;
8
+ /** Per-chunk byte budget. Matches the upload helper's 8 MiB. */
9
+ readonly chunkBytes: number;
10
+ readonly logger: IScopedLogger;
11
+ }
12
+ export declare function downloadArchiveToCache(input: DownloadArchiveInput): Promise<void>;
13
+ //# sourceMappingURL=download-helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"download-helpers.d.ts","sourceRoot":"","sources":["../../../src/builtins/backup-orchestrator/download-helpers.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AACpD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AAE7D,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,GAAG,EAAE,kBAAkB,CAAA;IAChC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,gEAAgE;IAChE,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAA;CAC/B;AAED,wBAAsB,sBAAsB,CAAC,KAAK,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CAyDvF"}
@@ -0,0 +1,3 @@
1
+ export { BackupOrchestratorAddon } from './backup-orchestrator.addon.js';
2
+ export { BackupOrchestratorAddon as default } from './backup-orchestrator.addon.js';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/builtins/backup-orchestrator/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAA;AACxE,OAAO,EAAE,uBAAuB,IAAI,OAAO,EAAE,MAAM,gCAAgC,CAAA"}
@@ -0,0 +1,7 @@
1
+ Object.defineProperties(exports, {
2
+ __esModule: { value: true },
3
+ [Symbol.toStringTag]: { value: "Module" }
4
+ });
5
+ const require_builtins_backup_orchestrator_backup_orchestrator_addon = require("./backup-orchestrator.addon.js");
6
+ exports.BackupOrchestratorAddon = require_builtins_backup_orchestrator_backup_orchestrator_addon.BackupOrchestratorAddon;
7
+ exports.default = require_builtins_backup_orchestrator_backup_orchestrator_addon.BackupOrchestratorAddon;
@@ -0,0 +1,2 @@
1
+ import { BackupOrchestratorAddon } from "./backup-orchestrator.addon.mjs";
2
+ export { BackupOrchestratorAddon, BackupOrchestratorAddon as default };
@@ -0,0 +1,78 @@
1
+ import { AddonApi } from '@camstack/types';
2
+ import { ArchiveManifest } from '../system-backup/system-backup.service.js';
3
+ /** File path (relative to the location root) where the index lives. */
4
+ export declare const MANIFESTS_FILENAME = "manifests.json";
5
+ export interface ManifestArchiveEntry {
6
+ readonly id: string;
7
+ /** Filename inside the location (e.g. `<id>.tar.gz`). */
8
+ readonly filename: string;
9
+ readonly createdAt: number;
10
+ readonly sizeBytes: number;
11
+ readonly label?: string;
12
+ /** Snapshot of the embedded `.camstack-backup-manifest.json`. */
13
+ readonly manifest: ArchiveManifest;
14
+ }
15
+ export interface LocationBackupManifest {
16
+ readonly version: 1;
17
+ readonly archives: readonly ManifestArchiveEntry[];
18
+ }
19
+ /** Subset of `AddonApi['storage']` the manifest store consumes. */
20
+ export type ManifestStorageApi = Pick<AddonApi['storage'], 'read' | 'write' | 'exists'>;
21
+ /**
22
+ * Subset of `AddonApi['storage']` consumed by the chunked-download
23
+ * helper. Sourced from the same generated type so the contract stays
24
+ * in lockstep with the live cap surface.
25
+ */
26
+ export type ChunkedDownloadApi = Pick<AddonApi['storage'], 'beginDownload' | 'readChunk' | 'endDownload'>;
27
+ /**
28
+ * Read the per-location manifest. Returns an empty manifest on first
29
+ * use (when `manifests.json` doesn't exist) or when the file is
30
+ * unreadable / corrupt — operators see destination state degrade
31
+ * gracefully rather than the orchestrator crashing.
32
+ */
33
+ export declare function readLocationManifest(api: ManifestStorageApi, locationId: string): Promise<LocationBackupManifest>;
34
+ export declare function writeLocationManifest(api: ManifestStorageApi, locationId: string, manifest: LocationBackupManifest): Promise<void>;
35
+ /**
36
+ * Decode the raw bytes of `manifests.json`. Falls back to an empty
37
+ * manifest on JSON-parse / shape-validation failure — same defensive
38
+ * stance as the legacy `LocalBackupService.ensureManifestsLoaded`.
39
+ */
40
+ export declare function parseManifestBytes(bytes: Uint8Array): LocationBackupManifest;
41
+ /**
42
+ * Build a `ManifestArchiveEntry` from the raw inputs collected during
43
+ * a successful upload. Pure transform — no I/O — kept here so the
44
+ * triggerBackup path stays terse.
45
+ */
46
+ export declare function buildArchiveEntry(input: {
47
+ id: string;
48
+ filename: string;
49
+ createdAt: number;
50
+ sizeBytes: number;
51
+ label?: string;
52
+ manifest: ArchiveManifest;
53
+ }): ManifestArchiveEntry;
54
+ /**
55
+ * Pure retention split: given an archive list and the operator's
56
+ * `retentionCount`, return `{ keep, drop }` where `keep` is the most-
57
+ * recent N archives (newest first) and `drop` is the older overflow.
58
+ *
59
+ * `retentionCount <= 0` is treated as "no pruning" — defensive against
60
+ * a config value that would otherwise wipe every archive on the next
61
+ * write.
62
+ */
63
+ export declare function applyRetention(archives: readonly ManifestArchiveEntry[], retentionCount: number): {
64
+ readonly keep: readonly ManifestArchiveEntry[];
65
+ readonly drop: readonly ManifestArchiveEntry[];
66
+ };
67
+ /**
68
+ * Per-location async mutex. The orchestrator owns one instance and
69
+ * funnels every read-modify-write of `manifests.json` through it so
70
+ * parallel destination uploads (within the same location) commit in
71
+ * arrival order. Across locations the operations run in parallel —
72
+ * each location keys its own promise chain.
73
+ */
74
+ export declare class LocationManifestLock {
75
+ private readonly chains;
76
+ run<T>(locationId: string, fn: () => Promise<T>): Promise<T>;
77
+ }
78
+ //# sourceMappingURL=manifest-store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manifest-store.d.ts","sourceRoot":"","sources":["../../../src/builtins/backup-orchestrator/manifest-store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2CAA2C,CAAA;AAEhF,uEAAuE;AACvE,eAAO,MAAM,kBAAkB,mBAAmB,CAAA;AAElD,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,yDAAyD;IACzD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;IACvB,iEAAiE;IACjE,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAA;CACnC;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAA;IACnB,QAAQ,CAAC,QAAQ,EAAE,SAAS,oBAAoB,EAAE,CAAA;CACnD;AAED,mEAAmE;AACnE,MAAM,MAAM,kBAAkB,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC,CAAA;AAEvF;;;;GAIG;AACH,MAAM,MAAM,kBAAkB,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,eAAe,GAAG,WAAW,GAAG,aAAa,CAAC,CAAA;AAEzG;;;;;GAKG;AACH,wBAAsB,oBAAoB,CACxC,GAAG,EAAE,kBAAkB,EACvB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,sBAAsB,CAAC,CAgBjC;AAED,wBAAsB,qBAAqB,CACzC,GAAG,EAAE,kBAAkB,EACvB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,sBAAsB,GAC/B,OAAO,CAAC,IAAI,CAAC,CAQf;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,UAAU,GAAG,sBAAsB,CAS5E;AAmCD;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE;IACvC,EAAE,EAAE,MAAM,CAAA;IACV,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,eAAe,CAAA;CAC1B,GAAG,oBAAoB,CASvB;AAED;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,SAAS,oBAAoB,EAAE,EACzC,cAAc,EAAE,MAAM,GACrB;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,oBAAoB,EAAE,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,oBAAoB,EAAE,CAAA;CAAE,CAUpG;AAED;;;;;;GAMG;AACH,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAmC;IAEpD,GAAG,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;CA0BnE"}
@@ -0,0 +1,14 @@
1
+ import { ILogDestination, LogEntry, LogFilter } from '@camstack/types';
2
+ interface ConsoleConfig {
3
+ /** Minimum log level to emit. Entries below this level are dropped. */
4
+ readonly level?: 'debug' | 'info' | 'warn' | 'error';
5
+ }
6
+ export declare class ConsoleDestination implements ILogDestination {
7
+ private minLevel;
8
+ initialize(config?: ConsoleConfig): Promise<void>;
9
+ write(entry: LogEntry): void;
10
+ query(_filter: LogFilter): Promise<readonly LogEntry[]>;
11
+ shutdown(): Promise<void>;
12
+ }
13
+ export {};
14
+ //# sourceMappingURL=console-destination.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"console-destination.d.ts","sourceRoot":"","sources":["../../../src/builtins/console-logging/console-destination.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,EAAE,eAAe,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAG3E,UAAU,aAAa;IACrB,uEAAuE;IACvE,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAA;CACrD;AAMD,qBAAa,kBAAmB,YAAW,eAAe;IACxD,OAAO,CAAC,QAAQ,CAAI;IAEd,UAAU,CAAC,MAAM,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAIvD,KAAK,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI;IAWtB,KAAK,CAAC,OAAO,EAAE,SAAS,GAAG,OAAO,CAAC,SAAS,QAAQ,EAAE,CAAC;IAKvD,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAGhC"}
@@ -0,0 +1,26 @@
1
+ import { ProviderRegistration, BaseAddon } from '@camstack/types';
2
+ import { ConsoleDestination } from './console-destination.js';
3
+ interface ConsoleConfig {
4
+ readonly level: 'debug' | 'info' | 'warn' | 'error';
5
+ }
6
+ /**
7
+ * Console logging addon — zero-dependency stdout/stderr sink that
8
+ * produces the same canonical line format as the Winston built-in.
9
+ * Registers as a `log-destination` capability provider so the shared
10
+ * LogManager fans every entry to both sinks when both are active.
11
+ *
12
+ * Settings live under Cluster → NodeDetail → Settings alongside the
13
+ * Winston addon. Disable one without disabling the other — the
14
+ * LogManager keeps working as long as at least one destination is
15
+ * registered.
16
+ */
17
+ export declare class ConsoleLoggingAddon extends BaseAddon<ConsoleConfig> {
18
+ private destination;
19
+ constructor();
20
+ protected onInitialize(): Promise<ProviderRegistration[]>;
21
+ protected onShutdown(): Promise<void>;
22
+ getDestination(): ConsoleDestination;
23
+ protected globalSettingsSchema(): import('@camstack/types').ConfigUISchema;
24
+ }
25
+ export {};
26
+ //# sourceMappingURL=console-logging.addon.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"console-logging.addon.d.ts","sourceRoot":"","sources":["../../../src/builtins/console-logging/console-logging.addon.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAA;AAC3D,OAAO,EAAE,SAAS,EAA4B,MAAM,iBAAiB,CAAA;AACrE,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAA;AAE7D,UAAU,aAAa;IACrB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAA;CACpD;AAED;;;;;;;;;;GAUG;AACH,qBAAa,mBAAoB,SAAQ,SAAS,CAAC,aAAa,CAAC;IAC/D,OAAO,CAAC,WAAW,CAAkC;;cAMrC,YAAY,IAAI,OAAO,CAAC,oBAAoB,EAAE,CAAC;cAO/C,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAI3C,cAAc,IAAI,kBAAkB;IAKpC,SAAS,CAAC,oBAAoB;CA0B/B"}
@@ -0,0 +1,4 @@
1
+ export { ConsoleLoggingAddon } from './console-logging.addon.js';
2
+ export { ConsoleDestination } from './console-destination.js';
3
+ export { ConsoleLoggingAddon as default } from './console-logging.addon.js';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/builtins/console-logging/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAA;AAChE,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAA;AAC7D,OAAO,EAAE,mBAAmB,IAAI,OAAO,EAAE,MAAM,4BAA4B,CAAA"}
@@ -0,0 +1,106 @@
1
+ Object.defineProperties(exports, {
2
+ __esModule: { value: true },
3
+ [Symbol.toStringTag]: { value: "Module" }
4
+ });
5
+ require("../../chunk-C13QxCFV.js");
6
+ const require_formatter = require("../../formatter-Dr_6NNZc.js");
7
+ let _camstack_types = require("@camstack/types");
8
+ //#region src/builtins/console-logging/console-destination.ts
9
+ var LEVEL_RANK = {
10
+ debug: 0,
11
+ info: 1,
12
+ warn: 2,
13
+ error: 3
14
+ };
15
+ var ConsoleDestination = class {
16
+ minLevel = 0;
17
+ async initialize(config) {
18
+ this.minLevel = LEVEL_RANK[config?.level ?? "info"] ?? 1;
19
+ }
20
+ write(entry) {
21
+ if ((LEVEL_RANK[entry.level] ?? 1) < this.minLevel) return;
22
+ const line = require_formatter.formatLogLine(entry, { colorize: true });
23
+ if (entry.level === "error") console.error(line);
24
+ else if (entry.level === "warn") console.warn(line);
25
+ else console.log(line);
26
+ }
27
+ async query(_filter) {
28
+ return [];
29
+ }
30
+ async shutdown() {}
31
+ };
32
+ //#endregion
33
+ //#region src/builtins/console-logging/console-logging.addon.ts
34
+ /**
35
+ * Console logging addon — zero-dependency stdout/stderr sink that
36
+ * produces the same canonical line format as the Winston built-in.
37
+ * Registers as a `log-destination` capability provider so the shared
38
+ * LogManager fans every entry to both sinks when both are active.
39
+ *
40
+ * Settings live under Cluster → NodeDetail → Settings alongside the
41
+ * Winston addon. Disable one without disabling the other — the
42
+ * LogManager keeps working as long as at least one destination is
43
+ * registered.
44
+ */
45
+ var ConsoleLoggingAddon = class extends _camstack_types.BaseAddon {
46
+ destination = null;
47
+ constructor() {
48
+ super({ level: "info" });
49
+ }
50
+ async onInitialize() {
51
+ this.destination = new ConsoleDestination();
52
+ await this.destination.initialize({ level: this.config.level });
53
+ this.ctx.logger.info("Console logging initialized");
54
+ return [{
55
+ capability: _camstack_types.logDestinationCapability,
56
+ provider: this.destination
57
+ }];
58
+ }
59
+ async onShutdown() {
60
+ await this.destination?.shutdown();
61
+ }
62
+ getDestination() {
63
+ if (!this.destination) throw new Error("Console logging not initialized");
64
+ return this.destination;
65
+ }
66
+ globalSettingsSchema() {
67
+ return this.schema({ sections: [{
68
+ id: "console-logging",
69
+ title: "Console Logging",
70
+ description: "Minimum log level to emit on stdout/stderr. Independent from the rotated-file (Winston) destination.",
71
+ columns: 2,
72
+ fields: [this.field({
73
+ type: "select",
74
+ key: "level",
75
+ label: "Log Level",
76
+ default: "info",
77
+ options: [
78
+ {
79
+ value: "debug",
80
+ label: "Debug"
81
+ },
82
+ {
83
+ value: "info",
84
+ label: "Info"
85
+ },
86
+ {
87
+ value: "warn",
88
+ label: "Warn"
89
+ },
90
+ {
91
+ value: "error",
92
+ label: "Error"
93
+ }
94
+ ]
95
+ })]
96
+ }] });
97
+ }
98
+ };
99
+ //#endregion
100
+ exports.ConsoleDestination = ConsoleDestination;
101
+ exports.ConsoleDestination$1 = ConsoleDestination;
102
+ exports.ConsoleLoggingAddon = ConsoleLoggingAddon;
103
+ exports.ConsoleLoggingAddon$1 = ConsoleLoggingAddon;
104
+ exports.default = ConsoleLoggingAddon;
105
+
106
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../src/builtins/console-logging/console-destination.ts","../../../src/builtins/console-logging/console-logging.addon.ts"],"sourcesContent":["/**\n * Zero-dependency log destination that writes every entry to stdout /\n * stderr via the shared `formatLogLine` formatter. Same surface as\n * `WinstonDestination` (full `ILogDestination` contract) but without\n * the rotating-file transport — ideal fallback when the Winston addon\n * is disabled or unavailable (e.g. bare-bones agents, tests).\n */\nimport type { ILogDestination, LogEntry, LogFilter } from '@camstack/types'\nimport { formatLogLine } from '../../logging/formatter.js'\n\ninterface ConsoleConfig {\n /** Minimum log level to emit. Entries below this level are dropped. */\n readonly level?: 'debug' | 'info' | 'warn' | 'error'\n}\n\nconst LEVEL_RANK: Readonly<Record<string, number>> = {\n debug: 0, info: 1, warn: 2, error: 3,\n}\n\nexport class ConsoleDestination implements ILogDestination {\n private minLevel = 0\n\n async initialize(config?: ConsoleConfig): Promise<void> {\n this.minLevel = LEVEL_RANK[config?.level ?? 'info'] ?? 1\n }\n\n write(entry: LogEntry): void {\n const rank = LEVEL_RANK[entry.level] ?? 1\n if (rank < this.minLevel) return\n // Always request ANSI colours for the console sink. The formatter still\n // respects `NO_COLOR` so operators can opt out globally.\n const line = formatLogLine(entry, { colorize: true })\n if (entry.level === 'error') console.error(line)\n else if (entry.level === 'warn') console.warn(line)\n else console.log(line)\n }\n\n async query(_filter: LogFilter): Promise<readonly LogEntry[]> {\n // Console has no persistence — queries are served by other destinations.\n return []\n }\n\n async shutdown(): Promise<void> {\n // Nothing to flush — stdout/stderr are process-owned.\n }\n}\n","import type { ProviderRegistration } from '@camstack/types'\nimport { BaseAddon, logDestinationCapability } from '@camstack/types'\nimport { ConsoleDestination } from './console-destination.js'\n\ninterface ConsoleConfig {\n readonly level: 'debug' | 'info' | 'warn' | 'error'\n}\n\n/**\n * Console logging addon — zero-dependency stdout/stderr sink that\n * produces the same canonical line format as the Winston built-in.\n * Registers as a `log-destination` capability provider so the shared\n * LogManager fans every entry to both sinks when both are active.\n *\n * Settings live under Cluster → NodeDetail → Settings alongside the\n * Winston addon. Disable one without disabling the other — the\n * LogManager keeps working as long as at least one destination is\n * registered.\n */\nexport class ConsoleLoggingAddon extends BaseAddon<ConsoleConfig> {\n private destination: ConsoleDestination | null = null\n\n constructor() {\n super({ level: 'info' })\n }\n\n protected async onInitialize(): Promise<ProviderRegistration[]> {\n this.destination = new ConsoleDestination()\n await this.destination.initialize({ level: this.config.level })\n this.ctx.logger.info('Console logging initialized')\n return [{ capability: logDestinationCapability, provider: this.destination }]\n }\n\n protected async onShutdown(): Promise<void> {\n await this.destination?.shutdown()\n }\n\n getDestination(): ConsoleDestination {\n if (!this.destination) throw new Error('Console logging not initialized')\n return this.destination\n }\n\n protected globalSettingsSchema() {\n return this.schema({\n sections: [\n {\n id: 'console-logging',\n title: 'Console Logging',\n description: 'Minimum log level to emit on stdout/stderr. Independent from the rotated-file (Winston) destination.',\n columns: 2,\n fields: [\n this.field({\n type: 'select',\n key: 'level',\n label: 'Log Level',\n default: 'info',\n options: [\n { value: 'debug', label: 'Debug' },\n { value: 'info', label: 'Info' },\n { value: 'warn', label: 'Warn' },\n { value: 'error', label: 'Error' },\n ],\n }),\n ],\n },\n ],\n })\n }\n}\n"],"mappings":";;;;;;;;AAeA,IAAM,aAA+C;CACnD,OAAO;CAAG,MAAM;CAAG,MAAM;CAAG,OAAO;CACpC;AAED,IAAa,qBAAb,MAA2D;CACzD,WAAmB;CAEnB,MAAM,WAAW,QAAuC;EACtD,KAAK,WAAW,WAAW,QAAQ,SAAS,WAAW;;CAGzD,MAAM,OAAuB;EAE3B,KADa,WAAW,MAAM,UAAU,KAC7B,KAAK,UAAU;EAG1B,MAAM,OAAO,kBAAA,cAAc,OAAO,EAAE,UAAU,MAAM,CAAC;EACrD,IAAI,MAAM,UAAU,SAAS,QAAQ,MAAM,KAAK;OAC3C,IAAI,MAAM,UAAU,QAAQ,QAAQ,KAAK,KAAK;OAC9C,QAAQ,IAAI,KAAK;;CAGxB,MAAM,MAAM,SAAkD;EAE5D,OAAO,EAAE;;CAGX,MAAM,WAA0B;;;;;;;;;;;;;;;ACvBlC,IAAa,sBAAb,cAAyC,gBAAA,UAAyB;CAChE,cAAiD;CAEjD,cAAc;EACZ,MAAM,EAAE,OAAO,QAAQ,CAAC;;CAG1B,MAAgB,eAAgD;EAC9D,KAAK,cAAc,IAAI,oBAAoB;EAC3C,MAAM,KAAK,YAAY,WAAW,EAAE,OAAO,KAAK,OAAO,OAAO,CAAC;EAC/D,KAAK,IAAI,OAAO,KAAK,8BAA8B;EACnD,OAAO,CAAC;GAAE,YAAY,gBAAA;GAA0B,UAAU,KAAK;GAAa,CAAC;;CAG/E,MAAgB,aAA4B;EAC1C,MAAM,KAAK,aAAa,UAAU;;CAGpC,iBAAqC;EACnC,IAAI,CAAC,KAAK,aAAa,MAAM,IAAI,MAAM,kCAAkC;EACzE,OAAO,KAAK;;CAGd,uBAAiC;EAC/B,OAAO,KAAK,OAAO,EACjB,UAAU,CACR;GACE,IAAI;GACJ,OAAO;GACP,aAAa;GACb,SAAS;GACT,QAAQ,CACN,KAAK,MAAM;IACT,MAAM;IACN,KAAK;IACL,OAAO;IACP,SAAS;IACT,SAAS;KACP;MAAE,OAAO;MAAS,OAAO;MAAS;KAClC;MAAE,OAAO;MAAQ,OAAO;MAAQ;KAChC;MAAE,OAAO;MAAQ,OAAO;MAAQ;KAChC;MAAE,OAAO;MAAS,OAAO;MAAS;KACnC;IACF,CAAC,CACH;GACF,CACF,EACF,CAAC"}
@@ -0,0 +1,97 @@
1
+ import { t as formatLogLine } from "../../formatter-C-5An4Bl.mjs";
2
+ import { BaseAddon, logDestinationCapability } from "@camstack/types";
3
+ //#region src/builtins/console-logging/console-destination.ts
4
+ var LEVEL_RANK = {
5
+ debug: 0,
6
+ info: 1,
7
+ warn: 2,
8
+ error: 3
9
+ };
10
+ var ConsoleDestination = class {
11
+ minLevel = 0;
12
+ async initialize(config) {
13
+ this.minLevel = LEVEL_RANK[config?.level ?? "info"] ?? 1;
14
+ }
15
+ write(entry) {
16
+ if ((LEVEL_RANK[entry.level] ?? 1) < this.minLevel) return;
17
+ const line = formatLogLine(entry, { colorize: true });
18
+ if (entry.level === "error") console.error(line);
19
+ else if (entry.level === "warn") console.warn(line);
20
+ else console.log(line);
21
+ }
22
+ async query(_filter) {
23
+ return [];
24
+ }
25
+ async shutdown() {}
26
+ };
27
+ //#endregion
28
+ //#region src/builtins/console-logging/console-logging.addon.ts
29
+ /**
30
+ * Console logging addon — zero-dependency stdout/stderr sink that
31
+ * produces the same canonical line format as the Winston built-in.
32
+ * Registers as a `log-destination` capability provider so the shared
33
+ * LogManager fans every entry to both sinks when both are active.
34
+ *
35
+ * Settings live under Cluster → NodeDetail → Settings alongside the
36
+ * Winston addon. Disable one without disabling the other — the
37
+ * LogManager keeps working as long as at least one destination is
38
+ * registered.
39
+ */
40
+ var ConsoleLoggingAddon = class extends BaseAddon {
41
+ destination = null;
42
+ constructor() {
43
+ super({ level: "info" });
44
+ }
45
+ async onInitialize() {
46
+ this.destination = new ConsoleDestination();
47
+ await this.destination.initialize({ level: this.config.level });
48
+ this.ctx.logger.info("Console logging initialized");
49
+ return [{
50
+ capability: logDestinationCapability,
51
+ provider: this.destination
52
+ }];
53
+ }
54
+ async onShutdown() {
55
+ await this.destination?.shutdown();
56
+ }
57
+ getDestination() {
58
+ if (!this.destination) throw new Error("Console logging not initialized");
59
+ return this.destination;
60
+ }
61
+ globalSettingsSchema() {
62
+ return this.schema({ sections: [{
63
+ id: "console-logging",
64
+ title: "Console Logging",
65
+ description: "Minimum log level to emit on stdout/stderr. Independent from the rotated-file (Winston) destination.",
66
+ columns: 2,
67
+ fields: [this.field({
68
+ type: "select",
69
+ key: "level",
70
+ label: "Log Level",
71
+ default: "info",
72
+ options: [
73
+ {
74
+ value: "debug",
75
+ label: "Debug"
76
+ },
77
+ {
78
+ value: "info",
79
+ label: "Info"
80
+ },
81
+ {
82
+ value: "warn",
83
+ label: "Warn"
84
+ },
85
+ {
86
+ value: "error",
87
+ label: "Error"
88
+ }
89
+ ]
90
+ })]
91
+ }] });
92
+ }
93
+ };
94
+ //#endregion
95
+ export { ConsoleDestination, ConsoleLoggingAddon, ConsoleLoggingAddon as default };
96
+
97
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","names":[],"sources":["../../../src/builtins/console-logging/console-destination.ts","../../../src/builtins/console-logging/console-logging.addon.ts"],"sourcesContent":["/**\n * Zero-dependency log destination that writes every entry to stdout /\n * stderr via the shared `formatLogLine` formatter. Same surface as\n * `WinstonDestination` (full `ILogDestination` contract) but without\n * the rotating-file transport — ideal fallback when the Winston addon\n * is disabled or unavailable (e.g. bare-bones agents, tests).\n */\nimport type { ILogDestination, LogEntry, LogFilter } from '@camstack/types'\nimport { formatLogLine } from '../../logging/formatter.js'\n\ninterface ConsoleConfig {\n /** Minimum log level to emit. Entries below this level are dropped. */\n readonly level?: 'debug' | 'info' | 'warn' | 'error'\n}\n\nconst LEVEL_RANK: Readonly<Record<string, number>> = {\n debug: 0, info: 1, warn: 2, error: 3,\n}\n\nexport class ConsoleDestination implements ILogDestination {\n private minLevel = 0\n\n async initialize(config?: ConsoleConfig): Promise<void> {\n this.minLevel = LEVEL_RANK[config?.level ?? 'info'] ?? 1\n }\n\n write(entry: LogEntry): void {\n const rank = LEVEL_RANK[entry.level] ?? 1\n if (rank < this.minLevel) return\n // Always request ANSI colours for the console sink. The formatter still\n // respects `NO_COLOR` so operators can opt out globally.\n const line = formatLogLine(entry, { colorize: true })\n if (entry.level === 'error') console.error(line)\n else if (entry.level === 'warn') console.warn(line)\n else console.log(line)\n }\n\n async query(_filter: LogFilter): Promise<readonly LogEntry[]> {\n // Console has no persistence — queries are served by other destinations.\n return []\n }\n\n async shutdown(): Promise<void> {\n // Nothing to flush — stdout/stderr are process-owned.\n }\n}\n","import type { ProviderRegistration } from '@camstack/types'\nimport { BaseAddon, logDestinationCapability } from '@camstack/types'\nimport { ConsoleDestination } from './console-destination.js'\n\ninterface ConsoleConfig {\n readonly level: 'debug' | 'info' | 'warn' | 'error'\n}\n\n/**\n * Console logging addon — zero-dependency stdout/stderr sink that\n * produces the same canonical line format as the Winston built-in.\n * Registers as a `log-destination` capability provider so the shared\n * LogManager fans every entry to both sinks when both are active.\n *\n * Settings live under Cluster → NodeDetail → Settings alongside the\n * Winston addon. Disable one without disabling the other — the\n * LogManager keeps working as long as at least one destination is\n * registered.\n */\nexport class ConsoleLoggingAddon extends BaseAddon<ConsoleConfig> {\n private destination: ConsoleDestination | null = null\n\n constructor() {\n super({ level: 'info' })\n }\n\n protected async onInitialize(): Promise<ProviderRegistration[]> {\n this.destination = new ConsoleDestination()\n await this.destination.initialize({ level: this.config.level })\n this.ctx.logger.info('Console logging initialized')\n return [{ capability: logDestinationCapability, provider: this.destination }]\n }\n\n protected async onShutdown(): Promise<void> {\n await this.destination?.shutdown()\n }\n\n getDestination(): ConsoleDestination {\n if (!this.destination) throw new Error('Console logging not initialized')\n return this.destination\n }\n\n protected globalSettingsSchema() {\n return this.schema({\n sections: [\n {\n id: 'console-logging',\n title: 'Console Logging',\n description: 'Minimum log level to emit on stdout/stderr. Independent from the rotated-file (Winston) destination.',\n columns: 2,\n fields: [\n this.field({\n type: 'select',\n key: 'level',\n label: 'Log Level',\n default: 'info',\n options: [\n { value: 'debug', label: 'Debug' },\n { value: 'info', label: 'Info' },\n { value: 'warn', label: 'Warn' },\n { value: 'error', label: 'Error' },\n ],\n }),\n ],\n },\n ],\n })\n }\n}\n"],"mappings":";;;AAeA,IAAM,aAA+C;CACnD,OAAO;CAAG,MAAM;CAAG,MAAM;CAAG,OAAO;CACpC;AAED,IAAa,qBAAb,MAA2D;CACzD,WAAmB;CAEnB,MAAM,WAAW,QAAuC;EACtD,KAAK,WAAW,WAAW,QAAQ,SAAS,WAAW;;CAGzD,MAAM,OAAuB;EAE3B,KADa,WAAW,MAAM,UAAU,KAC7B,KAAK,UAAU;EAG1B,MAAM,OAAO,cAAc,OAAO,EAAE,UAAU,MAAM,CAAC;EACrD,IAAI,MAAM,UAAU,SAAS,QAAQ,MAAM,KAAK;OAC3C,IAAI,MAAM,UAAU,QAAQ,QAAQ,KAAK,KAAK;OAC9C,QAAQ,IAAI,KAAK;;CAGxB,MAAM,MAAM,SAAkD;EAE5D,OAAO,EAAE;;CAGX,MAAM,WAA0B;;;;;;;;;;;;;;;ACvBlC,IAAa,sBAAb,cAAyC,UAAyB;CAChE,cAAiD;CAEjD,cAAc;EACZ,MAAM,EAAE,OAAO,QAAQ,CAAC;;CAG1B,MAAgB,eAAgD;EAC9D,KAAK,cAAc,IAAI,oBAAoB;EAC3C,MAAM,KAAK,YAAY,WAAW,EAAE,OAAO,KAAK,OAAO,OAAO,CAAC;EAC/D,KAAK,IAAI,OAAO,KAAK,8BAA8B;EACnD,OAAO,CAAC;GAAE,YAAY;GAA0B,UAAU,KAAK;GAAa,CAAC;;CAG/E,MAAgB,aAA4B;EAC1C,MAAM,KAAK,aAAa,UAAU;;CAGpC,iBAAqC;EACnC,IAAI,CAAC,KAAK,aAAa,MAAM,IAAI,MAAM,kCAAkC;EACzE,OAAO,KAAK;;CAGd,uBAAiC;EAC/B,OAAO,KAAK,OAAO,EACjB,UAAU,CACR;GACE,IAAI;GACJ,OAAO;GACP,aAAa;GACb,SAAS;GACT,QAAQ,CACN,KAAK,MAAM;IACT,MAAM;IACN,KAAK;IACL,OAAO;IACP,SAAS;IACT,SAAS;KACP;MAAE,OAAO;MAAS,OAAO;MAAS;KAClC;MAAE,OAAO;MAAQ,OAAO;MAAQ;KAChC;MAAE,OAAO;MAAQ,OAAO;MAAQ;KAChC;MAAE,OAAO;MAAS,OAAO;MAAS;KACnC;IACF,CAAC,CACH;GACF,CACF,EACF,CAAC"}
@@ -0,0 +1,27 @@
1
+ import { IEventBus, SystemEvent } from '@camstack/types';
2
+ export interface DeviceEventPropagatorOptions {
3
+ readonly eventBus: IEventBus;
4
+ /**
5
+ * Resolve the numeric parent id of a device, or `null` when the
6
+ * device has no parent (or was deleted). The propagator injects a
7
+ * closure over the hub's `DeviceRegistry` so the lookup is in-
8
+ * process and O(1) per call.
9
+ */
10
+ readonly getParentOf: (deviceId: number) => number | null;
11
+ /** Structured logger for anti-cycle + anti-loop diagnostics. */
12
+ readonly logger: {
13
+ warn: (msg: string, meta?: Record<string, unknown>) => void;
14
+ debug: (msg: string, meta?: Record<string, unknown>) => void;
15
+ };
16
+ }
17
+ export declare class DeviceEventPropagator {
18
+ private readonly opts;
19
+ private unsubscribe;
20
+ constructor(opts: DeviceEventPropagatorOptions);
21
+ start(): void;
22
+ stop(): void;
23
+ /** Exposed for tests — lets them inject events without the full bus. */
24
+ handle(ev: SystemEvent): void;
25
+ private resolveParentChain;
26
+ }
27
+ //# sourceMappingURL=device-event-propagator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"device-event-propagator.d.ts","sourceRoot":"","sources":["../../../src/builtins/device-manager/device-event-propagator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAe,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAqC1E,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAA;IAC5B;;;;;OAKG;IACH,QAAQ,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAA;IACzD,gEAAgE;IAChE,QAAQ,CAAC,MAAM,EAAE;QACf,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAA;QAC3D,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAA;KAC7D,CAAA;CACF;AAED,qBAAa,qBAAqB;IAGpB,OAAO,CAAC,QAAQ,CAAC,IAAI;IAFjC,OAAO,CAAC,WAAW,CAA4B;gBAElB,IAAI,EAAE,4BAA4B;IAE/D,KAAK,IAAI,IAAI;IASb,IAAI,IAAI,IAAI;IAMZ,wEAAwE;IACxE,MAAM,CAAC,EAAE,EAAE,WAAW,GAAG,IAAI;IAyB7B,OAAO,CAAC,kBAAkB;CAyB3B"}