@camstack/core 0.1.15 → 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 (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 +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 +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,29 @@
1
+ import { IScopedLogger, IEventBus } from '@camstack/types';
2
+ export type ElementState = 'stopped' | 'starting' | 'running' | 'stopping' | 'error' | 'disabled';
3
+ export interface ElementStatus {
4
+ state: ElementState;
5
+ error?: string;
6
+ startedAt?: number;
7
+ stoppedAt?: number;
8
+ restartCount: number;
9
+ uptime: number;
10
+ }
11
+ export declare class LifecycleStateMachine {
12
+ private readonly elementId;
13
+ private readonly elementType;
14
+ private readonly eventBus;
15
+ private readonly logger;
16
+ private _state;
17
+ private _error?;
18
+ private _startedAt?;
19
+ private _stoppedAt?;
20
+ private _restartCount;
21
+ private _hasStartedOnce;
22
+ constructor(elementId: string, elementType: 'provider' | 'device' | 'addon' | 'process', eventBus: IEventBus, logger: IScopedLogger);
23
+ get state(): ElementState;
24
+ getStatus(): ElementStatus;
25
+ transition(to: ElementState, error?: string): boolean;
26
+ incrementRestartCount(): void;
27
+ private isValidTransition;
28
+ }
29
+ //# sourceMappingURL=lifecycle-state-machine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lifecycle-state-machine.d.ts","sourceRoot":"","sources":["../../src/lifecycle/lifecycle-state-machine.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAE/D,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,UAAU,GAAG,SAAS,GAAG,UAAU,GAAG,OAAO,GAAG,UAAU,CAAA;AAEjG,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,YAAY,CAAA;IACnB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,YAAY,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,MAAM,CAAA;CACf;AAWD,qBAAa,qBAAqB;IAS9B,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,MAAM;IAXzB,OAAO,CAAC,MAAM,CAA0B;IACxC,OAAO,CAAC,MAAM,CAAC,CAAQ;IACvB,OAAO,CAAC,UAAU,CAAC,CAAQ;IAC3B,OAAO,CAAC,UAAU,CAAC,CAAQ;IAC3B,OAAO,CAAC,aAAa,CAAI;IACzB,OAAO,CAAC,eAAe,CAAQ;gBAGZ,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,UAAU,GAAG,QAAQ,GAAG,OAAO,GAAG,SAAS,EACxD,QAAQ,EAAE,SAAS,EACnB,MAAM,EAAE,aAAa;IAGxC,IAAI,KAAK,IAAI,YAAY,CAExB;IAED,SAAS,IAAI,aAAa;IAc1B,UAAU,CAAC,EAAE,EAAE,YAAY,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO;IAqCrD,qBAAqB,IAAI,IAAI;IAI7B,OAAO,CAAC,iBAAiB;CAG1B"}
@@ -0,0 +1,31 @@
1
+ import { LogEntry } from '@camstack/types';
2
+ /** Options for `formatLogLine`. */
3
+ export interface FormatLogLineOptions {
4
+ /**
5
+ * Emit ANSI colour codes. When omitted, falls back to the shell-env
6
+ * heuristic (`NO_COLOR`/`FORCE_COLOR`/`isTTY`). Destinations that
7
+ * always target a console (ConsoleDestination, HubForwarderDestination)
8
+ * pass `true`; file sinks (Winston JSON) pass `false` so logs on disk
9
+ * stay plain text regardless of the shell env.
10
+ *
11
+ * `NO_COLOR=1` in the environment still wins — consumer opt-in beats
12
+ * producer opt-in, matching the https://no-color.org/ convention.
13
+ */
14
+ readonly colorize?: boolean;
15
+ }
16
+ /**
17
+ * Render a `LogEntry` as one complete console line — no trailing newline.
18
+ * Caller appends `\n` (file sinks) or relies on `console.log` (stdout sink).
19
+ *
20
+ * PID column prefers `entry.tags.pid` when set (so forked-worker entries
21
+ * carry the worker's OS pid even when the hub renders them), falling back
22
+ * to the renderer's own `process.pid`.
23
+ *
24
+ * Colours (when enabled) follow the NestJS convention: the level token
25
+ * AND the message body share the level colour (green/yellow/red/gray for
26
+ * info/warn/error/debug). Brand, device context, scope and meta keep
27
+ * their fixed hues so the structural fields stay visually distinct from
28
+ * the message content.
29
+ */
30
+ export declare function formatLogLine(entry: LogEntry, options?: FormatLogLineOptions): string;
31
+ //# sourceMappingURL=formatter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formatter.d.ts","sourceRoot":"","sources":["../../src/logging/formatter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,OAAO,KAAK,EAAE,QAAQ,EAAW,MAAM,iBAAiB,CAAA;AAgKxD,mCAAmC;AACnC,MAAM,WAAW,oBAAoB;IACnC;;;;;;;;;OASG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;CAC5B;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,oBAAoB,GAAG,MAAM,CAyBrF"}
@@ -0,0 +1,52 @@
1
+ import { LogEntry, LogFilter } from './log-ring-buffer.js';
2
+ import { IScopedLogger } from './scoped-logger.js';
3
+ export interface ILogDestination {
4
+ initialize(): Promise<void>;
5
+ shutdown(): Promise<void>;
6
+ write(entry: LogEntry): void;
7
+ query?(filter: LogFilter): Promise<readonly LogEntry[]>;
8
+ }
9
+ export declare class LogManager {
10
+ private readonly ringBuffer;
11
+ private readonly destinations;
12
+ private readonly subscribers;
13
+ private deviceNameLookup;
14
+ constructor(bufferSize?: number);
15
+ /**
16
+ * Register a callback that resolves `deviceId → deviceName`. Called
17
+ * for every emitted entry that carries `tags.deviceId` but no
18
+ * explicit `tags.deviceName` — the LogManager injects the resolved
19
+ * name directly into the entry's tags BEFORE ring-buffer / destination
20
+ * write, so every destination (local console, file, remote forwarder,
21
+ * addon-bundled copies of core) sees the enriched shape regardless of
22
+ * which module instance the destination was built from.
23
+ */
24
+ setDeviceNameLookup(lookup: ((deviceId: number) => string | null) | null): void;
25
+ createLogger(scope?: string): IScopedLogger;
26
+ private enrichDeviceName;
27
+ /** Subscribe to live logs matching a filter. Returns an unsubscribe function. */
28
+ subscribe(filter: Partial<LogFilter>, callback: (entry: LogEntry) => void): () => void;
29
+ private matchesFilter;
30
+ /**
31
+ * Register a log destination.
32
+ *
33
+ * @param opts.replay If true (default), replay every entry currently in
34
+ * the ring buffer to the new destination before live
35
+ * traffic starts. Lets a destination added mid-boot
36
+ * still receive boot-time log entries.
37
+ */
38
+ addDestination(dest: ILogDestination, opts?: {
39
+ replay?: boolean;
40
+ }): void;
41
+ removeDestination(dest: ILogDestination): void;
42
+ query(filter: LogFilter): LogEntry[];
43
+ /**
44
+ * Drop ring-buffer entries matching `filter`. Returns the count
45
+ * removed. Backs the UI's "Clear logs" admin action so an operator
46
+ * can wipe the historical window for a scope (per-device, per-addon,
47
+ * agent-level) without restarting the server. External destinations
48
+ * (file, forwarder) are NOT touched — only the in-memory ring.
49
+ */
50
+ clear(filter?: LogFilter): number;
51
+ }
52
+ //# sourceMappingURL=log-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"log-manager.d.ts","sourceRoot":"","sources":["../../src/logging/log-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiC,KAAK,QAAQ,EAAE,KAAK,SAAS,EAAE,MAAM,sBAAsB,CAAA;AACnG,OAAO,EAAgB,KAAK,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAErE,MAAM,WAAW,eAAe;IAC9B,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IAC3B,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IACzB,KAAK,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI,CAAA;IAC5B,KAAK,CAAC,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,SAAS,QAAQ,EAAE,CAAC,CAAA;CACxD;AAED,qBAAa,UAAU;IACrB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAe;IAC1C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAwB;IACrD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAyF;IACrH,OAAO,CAAC,gBAAgB,CAAqD;gBAEjE,UAAU,GAAE,MAAc;IAItC;;;;;;;;OAQG;IACH,mBAAmB,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC,GAAG,IAAI,GAAG,IAAI;IAI/E,YAAY,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,aAAa;IAgB3C,OAAO,CAAC,gBAAgB;IAYxB,iFAAiF;IACjF,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,QAAQ,KAAK,IAAI,GAAG,MAAM,IAAI;IAMtF,OAAO,CAAC,aAAa;IAarB;;;;;;;OAOG;IACH,cAAc,CAAC,IAAI,EAAE,eAAe,EAAE,IAAI,GAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAA;KAAO,GAAG,IAAI;IAU5E,iBAAiB,CAAC,IAAI,EAAE,eAAe,GAAG,IAAI;IAO9C,KAAK,CAAC,MAAM,EAAE,SAAS,GAAG,QAAQ,EAAE;IAIpC;;;;;;OAMG;IACH,KAAK,CAAC,MAAM,GAAE,SAAc,GAAG,MAAM;CAGtC"}
@@ -0,0 +1,48 @@
1
+ import { LogLevel, LogEntry, LogFilter, LogTags } from '@camstack/types';
2
+ export type { LogLevel, LogEntry, LogFilter };
3
+ /**
4
+ * Per-tag filter matcher with semantic-aware comparisons:
5
+ *
6
+ * `addonId` — matches the entry's bare addon id (strips any `@<workerId>`
7
+ * qualifier added by the cap-router for remote providers).
8
+ * So a UI filter for `audio-classifier` matches both the
9
+ * addon's own log lines and bridge management lines whose
10
+ * addonId is logged as `audio-classifier@dev-agent-0/audio-classifier`.
11
+ *
12
+ * `agentId` — matches when ANY of these hold:
13
+ * * the entry was emitted by that agent (`agentId` exact)
14
+ * * the entry's `nodeId` IS that agent (single-node case)
15
+ * * the entry's `nodeId` starts with `<agent>/` (worker
16
+ * inside that agent — e.g. `dev-agent-0/audio-classifier`)
17
+ * Captures all the log emission paths for an addon hosted
18
+ * on the agent regardless of who actually emitted the line.
19
+ *
20
+ * any other key — exact match (legacy semantics).
21
+ *
22
+ * Returns `true` when ALL filter keys match (AND), `false` otherwise.
23
+ * `undefined` filter values are skipped.
24
+ */
25
+ export declare function matchesLogTags(entryTags: LogTags | undefined, filterTags: Partial<LogTags>): boolean;
26
+ export declare class LogRingBuffer {
27
+ private readonly capacity;
28
+ private readonly buffer;
29
+ private head;
30
+ private count;
31
+ constructor(capacity?: number);
32
+ push(entry: LogEntry): void;
33
+ getAll(): LogEntry[];
34
+ query(filter: LogFilter): LogEntry[];
35
+ /**
36
+ * Drop entries that match `filter`. Returns the number of entries
37
+ * removed. Triggered by the UI's "Clear logs" button so the operator
38
+ * can wipe the historical buffer for a specific scope (per-device,
39
+ * per-addon, per-agent) — without it, closing and reopening the
40
+ * panel re-populates the cleared rows from the server's ring buffer.
41
+ *
42
+ * Filter semantics mirror `query` (same level / since / until / tags
43
+ * handling) — whatever you'd see listed by `query(filter)` is what
44
+ * gets removed.
45
+ */
46
+ clear(filter?: LogFilter): number;
47
+ }
48
+ //# sourceMappingURL=log-ring-buffer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"log-ring-buffer.d.ts","sourceRoot":"","sources":["../../src/logging/log-ring-buffer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AAE7E,YAAY,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAA;AAE7C;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,cAAc,CAC5B,SAAS,EAAE,OAAO,GAAG,SAAS,EAC9B,UAAU,EAAE,OAAO,CAAC,OAAO,CAAC,GAC3B,OAAO,CAkCT;AAED,qBAAa,aAAa;IAKZ,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAJrC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA6B;IACpD,OAAO,CAAC,IAAI,CAAI;IAChB,OAAO,CAAC,KAAK,CAAI;gBAEY,QAAQ,GAAE,MAAc;IAIrD,IAAI,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI;IAQ3B,MAAM,IAAI,QAAQ,EAAE;IAWpB,KAAK,CAAC,MAAM,EAAE,SAAS,GAAG,QAAQ,EAAE;IA4BpC;;;;;;;;;;OAUG;IACH,KAAK,CAAC,MAAM,GAAE,SAAc,GAAG,MAAM;CA0BtC"}
@@ -0,0 +1,18 @@
1
+ import { IScopedLogger, LogExtras, LogTags } from '@camstack/types';
2
+ import { LogEntry } from './log-ring-buffer.js';
3
+ export type { IScopedLogger };
4
+ export declare class ScopedLogger implements IScopedLogger {
5
+ private readonly scope;
6
+ private readonly writeFn;
7
+ private readonly tags?;
8
+ constructor(scope: string | undefined, writeFn: (entry: LogEntry) => void, tags?: LogTags | undefined);
9
+ debug(message: string, extras?: LogExtras): void;
10
+ info(message: string, extras?: LogExtras): void;
11
+ warn(message: string, extras?: LogExtras): void;
12
+ error(message: string, extras?: LogExtras): void;
13
+ child(childScope: string): IScopedLogger;
14
+ withTags(tags: LogTags): IScopedLogger;
15
+ private write;
16
+ private mergeTags;
17
+ }
18
+ //# sourceMappingURL=scoped-logger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scoped-logger.d.ts","sourceRoot":"","sources":["../../src/logging/scoped-logger.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AACxE,OAAO,KAAK,EAAE,QAAQ,EAAY,MAAM,sBAAsB,CAAA;AAE9D,YAAY,EAAE,aAAa,EAAE,CAAA;AAE7B,qBAAa,YAAa,YAAW,aAAa;IAE9C,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;gBAFL,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,OAAO,EAAE,CAAC,KAAK,EAAE,QAAQ,KAAK,IAAI,EAClC,IAAI,CAAC,EAAE,OAAO,YAAA;IAGjC,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,SAAS,GAAG,IAAI;IAIhD,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,SAAS,GAAG,IAAI;IAI/C,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,SAAS,GAAG,IAAI;IAI/C,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,SAAS,GAAG,IAAI;IAIhD,KAAK,CAAC,UAAU,EAAE,MAAM,GAAG,aAAa;IAIxC,QAAQ,CAAC,IAAI,EAAE,OAAO,GAAG,aAAa;IAKtC,OAAO,CAAC,KAAK;IAab,OAAO,CAAC,SAAS;CAMlB"}
@@ -0,0 +1,12 @@
1
+ import { StreamNetworkStats, ClientNetworkStats, DeviceNetworkStats, INetworkQualityTracker } from '@camstack/types';
2
+ export type { StreamNetworkStats, ClientNetworkStats, DeviceNetworkStats, INetworkQualityTracker, };
3
+ export declare class NetworkQualityTracker implements INetworkQualityTracker {
4
+ private readonly devices;
5
+ private static readonly MAX_SAMPLES;
6
+ reportStreamStats(deviceId: number, streamId: string, bitrateKbps: number, packetLoss?: number): void;
7
+ reportClientStats(deviceId: number, stats: Omit<ClientNetworkStats, 'lastUpdated'>): void;
8
+ getDeviceStats(deviceId: number): DeviceNetworkStats | null;
9
+ getAllStats(): readonly DeviceNetworkStats[];
10
+ private getOrCreateDevice;
11
+ }
12
+ //# sourceMappingURL=network-quality.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"network-quality.d.ts","sourceRoot":"","sources":["../../src/network/network-quality.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,sBAAsB,EACvB,MAAM,iBAAiB,CAAA;AAExB,YAAY,EACV,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,sBAAsB,GACvB,CAAA;AAUD,qBAAa,qBAAsB,YAAW,sBAAsB;IAClE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAGpB;IAEJ,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAK;IAExC,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI;IAqBrG,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,kBAAkB,EAAE,aAAa,CAAC,GAAG,IAAI;IAKzF,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,kBAAkB,GAAG,IAAI;IAmB3D,WAAW,IAAI,SAAS,kBAAkB,EAAE;IAS5C,OAAO,CAAC,iBAAiB;CAQ1B"}
@@ -0,0 +1,38 @@
1
+ import { INotificationOutput, Notification, ICapabilityRegistry } from '@camstack/types';
2
+ import { IScopedLogger } from '../logging/scoped-logger.js';
3
+ /**
4
+ * Central notification service that routes notifications to configured outputs.
5
+ * Framework-agnostic — dependencies injected via constructor.
6
+ *
7
+ * Outputs are resolved from the ICapabilityRegistry's 'notification-output'
8
+ * collection on each call (proxy pattern). Falls back to a local map
9
+ * when no registry is provided (backward compat).
10
+ */
11
+ export declare class NotificationService {
12
+ private readonly logger;
13
+ private readonly localOutputs;
14
+ private readonly routing;
15
+ private readonly rateLimits;
16
+ private readonly lastSent;
17
+ private registry;
18
+ constructor(logger: IScopedLogger);
19
+ /** Set the registry for live output lookup. Called once during boot. */
20
+ setRegistry(registry: ICapabilityRegistry): void;
21
+ /** Resolve all outputs — prefers registry, falls back to local map */
22
+ private get outputs();
23
+ /** Register an output in the local fallback map (used when no registry is set). */
24
+ registerLocalOutput(output: INotificationOutput): void;
25
+ /** Remove an output from the local fallback map. */
26
+ unregisterLocalOutput(id: string): void;
27
+ setRouting(category: string, outputIds: string[]): void;
28
+ setRateLimit(category: string, minIntervalMs: number): void;
29
+ notify(notification: Notification): Promise<void>;
30
+ getOutputs(): ReadonlyArray<{
31
+ id: string;
32
+ name: string;
33
+ icon: string;
34
+ }>;
35
+ getRouting(): ReadonlyMap<string, string[]>;
36
+ getOutput(id: string): INotificationOutput | undefined;
37
+ }
38
+ //# sourceMappingURL=notification-service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"notification-service.d.ts","sourceRoot":"","sources":["../../src/notification/notification-service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAA;AAC7F,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAA;AAGhE;;;;;;;GAOG;AACH,qBAAa,mBAAmB;IAOlB,OAAO,CAAC,QAAQ,CAAC,MAAM;IANnC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAyC;IACtE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA8B;IACtD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA4B;IACvD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA4B;IACrD,OAAO,CAAC,QAAQ,CAAmC;gBAEtB,MAAM,EAAE,aAAa;IAElD,wEAAwE;IACxE,WAAW,CAAC,QAAQ,EAAE,mBAAmB,GAAG,IAAI;IAIhD,sEAAsE;IACtE,OAAO,KAAK,OAAO,GAUlB;IAED,mFAAmF;IACnF,mBAAmB,CAAC,MAAM,EAAE,mBAAmB,GAAG,IAAI;IAKtD,oDAAoD;IACpD,qBAAqB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAKvC,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,IAAI;IAIvD,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,IAAI;IAIrD,MAAM,CAAC,YAAY,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IA4CvD,UAAU,IAAI,aAAa,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAIvE,UAAU,IAAI,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;IAI3C,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,mBAAmB,GAAG,SAAS;CAGvD"}
@@ -0,0 +1,23 @@
1
+ import { Toast } from '@camstack/types';
2
+ export type Unsubscribe = () => void;
3
+ /**
4
+ * Service for broadcasting toast notifications to connected UI clients.
5
+ * Framework-agnostic — integrates with tRPC subscriptions via subscribe().
6
+ */
7
+ export declare class ToastService {
8
+ private readonly listeners;
9
+ /**
10
+ * Subscribe to toast events for a specific user.
11
+ * Returns an unsubscribe function.
12
+ */
13
+ subscribe(connectionId: string, userId: string, callback: (toast: Toast) => void): Unsubscribe;
14
+ /**
15
+ * Broadcast a toast to all connected clients.
16
+ */
17
+ broadcast(toast: Toast): void;
18
+ /**
19
+ * Send a toast to a specific user's connections only.
20
+ */
21
+ sendToUser(userId: string, toast: Toast): void;
22
+ }
23
+ //# sourceMappingURL=toast-service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toast-service.d.ts","sourceRoot":"","sources":["../../src/notification/toast-service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AAE5C,MAAM,MAAM,WAAW,GAAG,MAAM,IAAI,CAAA;AAOpC;;;GAGG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAmC;IAE7D;;;OAGG;IACH,SAAS,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,GAAG,WAAW;IAO9F;;OAEG;IACH,SAAS,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAM7B;;OAEG;IACH,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,IAAI;CAO/C"}
@@ -0,0 +1,16 @@
1
+ import { IAddonResolver, IAddonCaller, IEngineManager } from '@camstack/types';
2
+ /**
3
+ * Adapter that wraps an IEngineManager + addonConfigs as an IAddonResolver.
4
+ *
5
+ * Used for backwards compatibility — the in-process AddonEngineManager
6
+ * still uses the old getOrCreateEngine(addonId, globalConfig, override) API.
7
+ * This adapter bridges it to the new resolve(addonId, config) interface.
8
+ */
9
+ export declare class EngineManagerResolver implements IAddonResolver {
10
+ private readonly engineManager;
11
+ private readonly addonConfigs;
12
+ constructor(engineManager: IEngineManager, addonConfigs: Map<string, Record<string, unknown>>);
13
+ resolve(addonId: string, config: Record<string, unknown>): Promise<IAddonCaller>;
14
+ shutdownAll(): Promise<void>;
15
+ }
16
+ //# sourceMappingURL=engine-manager-resolver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"engine-manager-resolver.d.ts","sourceRoot":"","sources":["../../src/pipeline/engine-manager-resolver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,YAAY,EACZ,cAAc,EAIf,MAAM,iBAAiB,CAAA;AAExB;;;;;;GAMG;AACH,qBAAa,qBAAsB,YAAW,cAAc;IAExD,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,YAAY;gBADZ,aAAa,EAAE,cAAc,EAC7B,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAG/D,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC;IAWhF,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;CAGnC"}
@@ -0,0 +1,9 @@
1
+ import { FrameInput, PipelineConfig, PipelineResult, IAddonResolver } from '@camstack/types';
2
+ export declare class PipelineRunner {
3
+ private readonly addonResolver;
4
+ constructor(addonResolver: IAddonResolver);
5
+ run(frame: FrameInput, config: PipelineConfig): Promise<PipelineResult>;
6
+ private executeNode;
7
+ private executeChildren;
8
+ }
9
+ //# sourceMappingURL=pipeline-runner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pipeline-runner.d.ts","sourceRoot":"","sources":["../../src/pipeline/pipeline-runner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EAEV,cAAc,EAEd,cAAc,EAId,cAAc,EAEf,MAAM,iBAAiB,CAAA;AAIxB,qBAAa,cAAc;IAEvB,OAAO,CAAC,QAAQ,CAAC,aAAa;gBAAb,aAAa,EAAE,cAAc;IAG1C,GAAG,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;YAsB/D,WAAW;YAqFX,eAAe;CA0B9B"}
@@ -0,0 +1,14 @@
1
+ import { PipelineConfig, ValidationIssue, ValidationResult } from '@camstack/types';
2
+ export type { ValidationIssue, ValidationResult };
3
+ /**
4
+ * Check if a pipeline step is available in the system.
5
+ * Implementations should check the capability registry for `pipeline-step:{stepId}`.
6
+ */
7
+ export type StepExistsFn = (stepId: string) => boolean;
8
+ export declare class PipelineValidator {
9
+ private readonly stepExists;
10
+ constructor(stepExists: StepExistsFn);
11
+ validate(config: PipelineConfig): ValidationResult;
12
+ private validateNode;
13
+ }
14
+ //# sourceMappingURL=pipeline-validator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pipeline-validator.d.ts","sourceRoot":"","sources":["../../src/pipeline/pipeline-validator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAgB,eAAe,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAEtG,YAAY,EAAE,eAAe,EAAE,gBAAgB,EAAE,CAAA;AAEjD;;;GAGG;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAA;AAEtD,qBAAa,iBAAiB;IAChB,OAAO,CAAC,QAAQ,CAAC,UAAU;gBAAV,UAAU,EAAE,YAAY;IAErD,QAAQ,CAAC,MAAM,EAAE,cAAc,GAAG,gBAAgB;IAmBlD,OAAO,CAAC,YAAY;CAqBrB"}
@@ -0,0 +1,12 @@
1
+ export interface PidStats {
2
+ cpu: number;
3
+ memory: number;
4
+ }
5
+ /**
6
+ * Get CPU% and memory RSS for one or more PIDs.
7
+ * Returns a map of pid → stats. Missing/dead PIDs are silently omitted.
8
+ */
9
+ export declare function getPidStats(pids: number | readonly number[]): Promise<ReadonlyMap<number, PidStats>>;
10
+ /** Get CPU% and memory RSS for a single PID. Returns null if dead. */
11
+ export declare function getSinglePidStats(pid: number): Promise<PidStats | null>;
12
+ //# sourceMappingURL=resource-monitor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resource-monitor.d.ts","sourceRoot":"","sources":["../../src/process/resource-monitor.ts"],"names":[],"mappings":"AAcA,MAAM,WAAW,QAAQ;IACvB,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,EAAE,MAAM,CAAA;CACf;AAgCD;;;GAGG;AACH,wBAAsB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAU1G;AAED,sEAAsE;AACtE,wBAAsB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAG7E"}
@@ -0,0 +1,13 @@
1
+ import { IPythonEnvironment, PythonProbeResult, PythonEnvReady } from '@camstack/types';
2
+ import { ChildProcess } from 'node:child_process';
3
+ export declare class PythonEnvManager implements IPythonEnvironment {
4
+ private venvPath;
5
+ private cachedProbe;
6
+ constructor(dataDir: string);
7
+ probe(): Promise<PythonProbeResult>;
8
+ ensure(options: {
9
+ packages: readonly string[];
10
+ }): Promise<PythonEnvReady>;
11
+ spawn(script: string, args: readonly string[]): ChildProcess;
12
+ }
13
+ //# sourceMappingURL=python-env-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"python-env-manager.d.ts","sourceRoot":"","sources":["../../src/python/python-env-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAE5F,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAOtD,qBAAa,gBAAiB,YAAW,kBAAkB;IACzD,OAAO,CAAC,QAAQ,CAAQ;IACxB,OAAO,CAAC,WAAW,CAAiC;gBAExC,OAAO,EAAE,MAAM;IAIrB,KAAK,IAAI,OAAO,CAAC,iBAAiB,CAAC;IA6BnC,MAAM,CAAC,OAAO,EAAE;QAAE,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAA;KAAE,GAAG,OAAO,CAAC,cAAc,CAAC;IA2B/E,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,YAAY;CAO7D"}
@@ -0,0 +1,32 @@
1
+ import { ReplResult } from '@camstack/types';
2
+ export interface ReplScope {
3
+ readonly type: 'system' | 'provider' | 'device' | 'addon';
4
+ readonly providerId?: string;
5
+ readonly deviceId?: number;
6
+ readonly addonId?: string;
7
+ }
8
+ export interface ReplSessionContext {
9
+ readonly scope: ReplScope;
10
+ /** Pre-populated variables available in the REPL session */
11
+ readonly variables: Record<string, unknown>;
12
+ }
13
+ export type { ReplResult };
14
+ export interface IReplEngine {
15
+ execute(code: string, context: ReplSessionContext): Promise<ReplResult>;
16
+ getCompletions(partial: string, context: ReplSessionContext): Promise<string[]>;
17
+ }
18
+ /**
19
+ * Context provider that the server kernel implements.
20
+ * The REPL engine calls this to build the sandbox for each scope type.
21
+ *
22
+ * Methods may return a Promise so the kernel can warm up async
23
+ * resources (e.g. `SystemManager.init()`) before exposing them — the
24
+ * engine awaits each before evaluating user code.
25
+ */
26
+ export interface IReplContextProvider {
27
+ getSystemSandbox(): Record<string, unknown> | Promise<Record<string, unknown>>;
28
+ getDeviceSandbox(deviceId: number): Record<string, unknown> | Promise<Record<string, unknown>>;
29
+ getProviderSandbox(providerId: string): Record<string, unknown> | Promise<Record<string, unknown>>;
30
+ getAddonSandbox(addonId: string): Record<string, unknown> | Promise<Record<string, unknown>>;
31
+ }
32
+ //# sourceMappingURL=interfaces.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../src/repl/interfaces.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,UAAU,GAAG,QAAQ,GAAG,OAAO,CAAA;IACzD,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAC1B;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAA;IACzB,4DAA4D;IAC5D,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAC5C;AAED,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AACjD,YAAY,EAAE,UAAU,EAAE,CAAA;AAE1B,MAAM,WAAW,WAAW;IAC1B,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,UAAU,CAAC,CAAA;IACvE,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAA;CAChF;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,oBAAoB;IACnC,gBAAgB,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;IAC9E,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;IAC9F,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;IAClG,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;CAC7F"}
@@ -0,0 +1,9 @@
1
+ import { IReplEngine, IReplContextProvider, ReplSessionContext, ReplResult } from './interfaces.js';
2
+ export declare class ReplEngine implements IReplEngine {
3
+ private readonly contextProvider;
4
+ constructor(contextProvider: IReplContextProvider);
5
+ execute(code: string, context: ReplSessionContext): Promise<ReplResult>;
6
+ getCompletions(partial: string, context: ReplSessionContext): Promise<string[]>;
7
+ private buildSandbox;
8
+ }
9
+ //# sourceMappingURL=repl-engine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"repl-engine.d.ts","sourceRoot":"","sources":["../../src/repl/repl-engine.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,WAAW,EACX,oBAAoB,EACpB,kBAAkB,EAClB,UAAU,EACX,MAAM,iBAAiB,CAAA;AAKxB,qBAAa,UAAW,YAAW,WAAW;IAE1C,OAAO,CAAC,QAAQ,CAAC,eAAe;gBAAf,eAAe,EAAE,oBAAoB;IAGlD,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,UAAU,CAAC;IAoDvE,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;YAgCvE,YAAY;CA6C3B"}
@@ -0,0 +1,76 @@
1
+ const require_chunk = require("./chunk-C13QxCFV.js");
2
+ let node_child_process = require("node:child_process");
3
+ //#region src/process/resource-monitor.ts
4
+ var resource_monitor_exports = /* @__PURE__ */ require_chunk.__exportAll({
5
+ getPidStats: () => getPidStats,
6
+ getSinglePidStats: () => getSinglePidStats
7
+ });
8
+ function execPsForPids(pids) {
9
+ return new Promise((resolve, reject) => {
10
+ (0, node_child_process.execFile)("ps", [
11
+ "-o",
12
+ "pid=,pcpu=,rss=",
13
+ "-p",
14
+ pids.join(",")
15
+ ], { timeout: 5e3 }, (err, stdout) => {
16
+ if (err) return reject(err);
17
+ resolve(stdout);
18
+ });
19
+ });
20
+ }
21
+ function parsePsOutput(stdout) {
22
+ const result = /* @__PURE__ */ new Map();
23
+ for (const line of stdout.trim().split("\n")) {
24
+ const trimmed = line.trim();
25
+ if (!trimmed) continue;
26
+ const parts = trimmed.split(/\s+/);
27
+ if (parts.length < 3) continue;
28
+ const pid = parseInt(parts[0], 10);
29
+ const cpu = parseFloat(parts[1]);
30
+ const rssKb = parseInt(parts[2], 10);
31
+ if (isNaN(pid) || isNaN(cpu) || isNaN(rssKb)) continue;
32
+ result.set(pid, {
33
+ cpu: Math.round(cpu * 10) / 10,
34
+ memory: rssKb * 1024
35
+ });
36
+ }
37
+ return result;
38
+ }
39
+ /**
40
+ * Get CPU% and memory RSS for one or more PIDs.
41
+ * Returns a map of pid → stats. Missing/dead PIDs are silently omitted.
42
+ */
43
+ async function getPidStats(pids) {
44
+ const pidArray = typeof pids === "number" ? [pids] : [...pids];
45
+ if (pidArray.length === 0) return /* @__PURE__ */ new Map();
46
+ try {
47
+ return parsePsOutput(await execPsForPids(pidArray));
48
+ } catch {
49
+ return /* @__PURE__ */ new Map();
50
+ }
51
+ }
52
+ /** Get CPU% and memory RSS for a single PID. Returns null if dead. */
53
+ async function getSinglePidStats(pid) {
54
+ return (await getPidStats([pid])).get(pid) ?? null;
55
+ }
56
+ //#endregion
57
+ Object.defineProperty(exports, "getPidStats", {
58
+ enumerable: true,
59
+ get: function() {
60
+ return getPidStats;
61
+ }
62
+ });
63
+ Object.defineProperty(exports, "getSinglePidStats", {
64
+ enumerable: true,
65
+ get: function() {
66
+ return getSinglePidStats;
67
+ }
68
+ });
69
+ Object.defineProperty(exports, "resource_monitor_exports", {
70
+ enumerable: true,
71
+ get: function() {
72
+ return resource_monitor_exports;
73
+ }
74
+ });
75
+
76
+ //# sourceMappingURL=resource-monitor-CmuWlmap.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resource-monitor-CmuWlmap.js","names":[],"sources":["../src/process/resource-monitor.ts"],"sourcesContent":["import { execFile } from 'node:child_process'\n\n// ===========================================================================\n// Per-PID resource usage — zero dependencies, uses ps (macOS/Linux).\n//\n// These are process-management utilities used by:\n// - native-metrics-provider.ts (system metrics collection)\n// - addon-registry.service.ts (addon process stats)\n//\n// System-wide metrics (CPU, memory, disk, network, GPU, temp, PSI)\n// have moved to @camstack/addon-metrics-native via the IMetricsProvider\n// interface defined in @camstack/types.\n// ===========================================================================\n\nexport interface PidStats {\n cpu: number // 0–100 percentage\n memory: number // RSS in bytes\n}\n\nfunction execPsForPids(pids: readonly number[]): Promise<string> {\n return new Promise((resolve, reject) => {\n execFile('ps', ['-o', 'pid=,pcpu=,rss=', '-p', pids.join(',')], {\n timeout: 5000,\n }, (err, stdout) => {\n if (err) return reject(err)\n resolve(stdout)\n })\n })\n}\n\nfunction parsePsOutput(stdout: string): ReadonlyMap<number, PidStats> {\n const result = new Map<number, PidStats>()\n for (const line of stdout.trim().split('\\n')) {\n const trimmed = line.trim()\n if (!trimmed) continue\n const parts = trimmed.split(/\\s+/)\n if (parts.length < 3) continue\n const pid = parseInt(parts[0]!, 10)\n const cpu = parseFloat(parts[1]!)\n const rssKb = parseInt(parts[2]!, 10)\n if (isNaN(pid) || isNaN(cpu) || isNaN(rssKb)) continue\n result.set(pid, {\n cpu: Math.round(cpu * 10) / 10,\n memory: rssKb * 1024, // KB → bytes\n })\n }\n return result\n}\n\n/**\n * Get CPU% and memory RSS for one or more PIDs.\n * Returns a map of pid → stats. Missing/dead PIDs are silently omitted.\n */\nexport async function getPidStats(pids: number | readonly number[]): Promise<ReadonlyMap<number, PidStats>> {\n const pidArray = typeof pids === 'number' ? [pids] : [...pids]\n if (pidArray.length === 0) return new Map()\n\n try {\n const stdout = await execPsForPids(pidArray)\n return parsePsOutput(stdout)\n } catch {\n return new Map()\n }\n}\n\n/** Get CPU% and memory RSS for a single PID. Returns null if dead. */\nexport async function getSinglePidStats(pid: number): Promise<PidStats | null> {\n const stats = await getPidStats([pid])\n return stats.get(pid) ?? null\n}\n"],"mappings":";;;;;;;AAmBA,SAAS,cAAc,MAA0C;CAC/D,OAAO,IAAI,SAAS,SAAS,WAAW;EACtC,CAAA,GAAA,mBAAA,UAAS,MAAM;GAAC;GAAM;GAAmB;GAAM,KAAK,KAAK,IAAI;GAAC,EAAE,EAC9D,SAAS,KACV,GAAG,KAAK,WAAW;GAClB,IAAI,KAAK,OAAO,OAAO,IAAI;GAC3B,QAAQ,OAAO;IACf;GACF;;AAGJ,SAAS,cAAc,QAA+C;CACpE,MAAM,yBAAS,IAAI,KAAuB;CAC1C,KAAK,MAAM,QAAQ,OAAO,MAAM,CAAC,MAAM,KAAK,EAAE;EAC5C,MAAM,UAAU,KAAK,MAAM;EAC3B,IAAI,CAAC,SAAS;EACd,MAAM,QAAQ,QAAQ,MAAM,MAAM;EAClC,IAAI,MAAM,SAAS,GAAG;EACtB,MAAM,MAAM,SAAS,MAAM,IAAK,GAAG;EACnC,MAAM,MAAM,WAAW,MAAM,GAAI;EACjC,MAAM,QAAQ,SAAS,MAAM,IAAK,GAAG;EACrC,IAAI,MAAM,IAAI,IAAI,MAAM,IAAI,IAAI,MAAM,MAAM,EAAE;EAC9C,OAAO,IAAI,KAAK;GACd,KAAK,KAAK,MAAM,MAAM,GAAG,GAAG;GAC5B,QAAQ,QAAQ;GACjB,CAAC;;CAEJ,OAAO;;;;;;AAOT,eAAsB,YAAY,MAA0E;CAC1G,MAAM,WAAW,OAAO,SAAS,WAAW,CAAC,KAAK,GAAG,CAAC,GAAG,KAAK;CAC9D,IAAI,SAAS,WAAW,GAAG,uBAAO,IAAI,KAAK;CAE3C,IAAI;EAEF,OAAO,cAAc,MADA,cAAc,SAAS,CAChB;SACtB;EACN,uBAAO,IAAI,KAAK;;;;AAKpB,eAAsB,kBAAkB,KAAuC;CAE7E,QAAO,MADa,YAAY,CAAC,IAAI,CAAC,EACzB,IAAI,IAAI,IAAI"}
@@ -0,0 +1,59 @@
1
+ import { n as __exportAll } from "./chunk-hT5z_Zn9.mjs";
2
+ import { execFile } from "node:child_process";
3
+ //#region src/process/resource-monitor.ts
4
+ var resource_monitor_exports = /* @__PURE__ */ __exportAll({
5
+ getPidStats: () => getPidStats,
6
+ getSinglePidStats: () => getSinglePidStats
7
+ });
8
+ function execPsForPids(pids) {
9
+ return new Promise((resolve, reject) => {
10
+ execFile("ps", [
11
+ "-o",
12
+ "pid=,pcpu=,rss=",
13
+ "-p",
14
+ pids.join(",")
15
+ ], { timeout: 5e3 }, (err, stdout) => {
16
+ if (err) return reject(err);
17
+ resolve(stdout);
18
+ });
19
+ });
20
+ }
21
+ function parsePsOutput(stdout) {
22
+ const result = /* @__PURE__ */ new Map();
23
+ for (const line of stdout.trim().split("\n")) {
24
+ const trimmed = line.trim();
25
+ if (!trimmed) continue;
26
+ const parts = trimmed.split(/\s+/);
27
+ if (parts.length < 3) continue;
28
+ const pid = parseInt(parts[0], 10);
29
+ const cpu = parseFloat(parts[1]);
30
+ const rssKb = parseInt(parts[2], 10);
31
+ if (isNaN(pid) || isNaN(cpu) || isNaN(rssKb)) continue;
32
+ result.set(pid, {
33
+ cpu: Math.round(cpu * 10) / 10,
34
+ memory: rssKb * 1024
35
+ });
36
+ }
37
+ return result;
38
+ }
39
+ /**
40
+ * Get CPU% and memory RSS for one or more PIDs.
41
+ * Returns a map of pid → stats. Missing/dead PIDs are silently omitted.
42
+ */
43
+ async function getPidStats(pids) {
44
+ const pidArray = typeof pids === "number" ? [pids] : [...pids];
45
+ if (pidArray.length === 0) return /* @__PURE__ */ new Map();
46
+ try {
47
+ return parsePsOutput(await execPsForPids(pidArray));
48
+ } catch {
49
+ return /* @__PURE__ */ new Map();
50
+ }
51
+ }
52
+ /** Get CPU% and memory RSS for a single PID. Returns null if dead. */
53
+ async function getSinglePidStats(pid) {
54
+ return (await getPidStats([pid])).get(pid) ?? null;
55
+ }
56
+ //#endregion
57
+ export { getSinglePidStats as n, resource_monitor_exports as r, getPidStats as t };
58
+
59
+ //# sourceMappingURL=resource-monitor-DcQdKGYU.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resource-monitor-DcQdKGYU.mjs","names":[],"sources":["../src/process/resource-monitor.ts"],"sourcesContent":["import { execFile } from 'node:child_process'\n\n// ===========================================================================\n// Per-PID resource usage — zero dependencies, uses ps (macOS/Linux).\n//\n// These are process-management utilities used by:\n// - native-metrics-provider.ts (system metrics collection)\n// - addon-registry.service.ts (addon process stats)\n//\n// System-wide metrics (CPU, memory, disk, network, GPU, temp, PSI)\n// have moved to @camstack/addon-metrics-native via the IMetricsProvider\n// interface defined in @camstack/types.\n// ===========================================================================\n\nexport interface PidStats {\n cpu: number // 0–100 percentage\n memory: number // RSS in bytes\n}\n\nfunction execPsForPids(pids: readonly number[]): Promise<string> {\n return new Promise((resolve, reject) => {\n execFile('ps', ['-o', 'pid=,pcpu=,rss=', '-p', pids.join(',')], {\n timeout: 5000,\n }, (err, stdout) => {\n if (err) return reject(err)\n resolve(stdout)\n })\n })\n}\n\nfunction parsePsOutput(stdout: string): ReadonlyMap<number, PidStats> {\n const result = new Map<number, PidStats>()\n for (const line of stdout.trim().split('\\n')) {\n const trimmed = line.trim()\n if (!trimmed) continue\n const parts = trimmed.split(/\\s+/)\n if (parts.length < 3) continue\n const pid = parseInt(parts[0]!, 10)\n const cpu = parseFloat(parts[1]!)\n const rssKb = parseInt(parts[2]!, 10)\n if (isNaN(pid) || isNaN(cpu) || isNaN(rssKb)) continue\n result.set(pid, {\n cpu: Math.round(cpu * 10) / 10,\n memory: rssKb * 1024, // KB → bytes\n })\n }\n return result\n}\n\n/**\n * Get CPU% and memory RSS for one or more PIDs.\n * Returns a map of pid → stats. Missing/dead PIDs are silently omitted.\n */\nexport async function getPidStats(pids: number | readonly number[]): Promise<ReadonlyMap<number, PidStats>> {\n const pidArray = typeof pids === 'number' ? [pids] : [...pids]\n if (pidArray.length === 0) return new Map()\n\n try {\n const stdout = await execPsForPids(pidArray)\n return parsePsOutput(stdout)\n } catch {\n return new Map()\n }\n}\n\n/** Get CPU% and memory RSS for a single PID. Returns null if dead. */\nexport async function getSinglePidStats(pid: number): Promise<PidStats | null> {\n const stats = await getPidStats([pid])\n return stats.get(pid) ?? null\n}\n"],"mappings":";;;;;;;AAmBA,SAAS,cAAc,MAA0C;CAC/D,OAAO,IAAI,SAAS,SAAS,WAAW;EACtC,SAAS,MAAM;GAAC;GAAM;GAAmB;GAAM,KAAK,KAAK,IAAI;GAAC,EAAE,EAC9D,SAAS,KACV,GAAG,KAAK,WAAW;GAClB,IAAI,KAAK,OAAO,OAAO,IAAI;GAC3B,QAAQ,OAAO;IACf;GACF;;AAGJ,SAAS,cAAc,QAA+C;CACpE,MAAM,yBAAS,IAAI,KAAuB;CAC1C,KAAK,MAAM,QAAQ,OAAO,MAAM,CAAC,MAAM,KAAK,EAAE;EAC5C,MAAM,UAAU,KAAK,MAAM;EAC3B,IAAI,CAAC,SAAS;EACd,MAAM,QAAQ,QAAQ,MAAM,MAAM;EAClC,IAAI,MAAM,SAAS,GAAG;EACtB,MAAM,MAAM,SAAS,MAAM,IAAK,GAAG;EACnC,MAAM,MAAM,WAAW,MAAM,GAAI;EACjC,MAAM,QAAQ,SAAS,MAAM,IAAK,GAAG;EACrC,IAAI,MAAM,IAAI,IAAI,MAAM,IAAI,IAAI,MAAM,MAAM,EAAE;EAC9C,OAAO,IAAI,KAAK;GACd,KAAK,KAAK,MAAM,MAAM,GAAG,GAAG;GAC5B,QAAQ,QAAQ;GACjB,CAAC;;CAEJ,OAAO;;;;;;AAOT,eAAsB,YAAY,MAA0E;CAC1G,MAAM,WAAW,OAAO,SAAS,WAAW,CAAC,KAAK,GAAG,CAAC,GAAG,KAAK;CAC9D,IAAI,SAAS,WAAW,GAAG,uBAAO,IAAI,KAAK;CAE3C,IAAI;EAEF,OAAO,cAAc,MADA,cAAc,SAAS,CAChB;SACtB;EACN,uBAAO,IAAI,KAAK;;;;AAKpB,eAAsB,kBAAkB,KAAuC;CAE7E,QAAO,MADa,YAAY,CAAC,IAAI,CAAC,EACzB,IAAI,IAAI,IAAI"}