adonisjs-server-stats 1.5.4 → 1.6.2

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 (527) hide show
  1. package/README.md +351 -171
  2. package/dist/configure.d.ts.map +1 -1
  3. package/dist/core/api-client.d.ts +73 -0
  4. package/dist/core/api-client.d.ts.map +1 -0
  5. package/dist/core/config-utils.d.ts +109 -0
  6. package/dist/core/config-utils.d.ts.map +1 -0
  7. package/dist/core/constants.d.ts +11 -0
  8. package/dist/core/constants.d.ts.map +1 -0
  9. package/dist/core/dashboard-api.d.ts +65 -0
  10. package/dist/core/dashboard-api.d.ts.map +1 -0
  11. package/dist/core/dashboard-data-controller.d.ts +157 -0
  12. package/dist/core/dashboard-data-controller.d.ts.map +1 -0
  13. package/dist/core/debug-data-controller.d.ts +89 -0
  14. package/dist/core/debug-data-controller.d.ts.map +1 -0
  15. package/dist/core/feature-detect.d.ts +67 -0
  16. package/dist/core/feature-detect.d.ts.map +1 -0
  17. package/dist/core/formatters.d.ts +189 -0
  18. package/dist/core/formatters.d.ts.map +1 -0
  19. package/dist/core/history-buffer.d.ts +23 -0
  20. package/dist/core/history-buffer.d.ts.map +1 -0
  21. package/dist/core/icons.d.ts +36 -0
  22. package/dist/core/icons.d.ts.map +1 -0
  23. package/dist/core/index.d.ts +39 -0
  24. package/dist/core/index.d.ts.map +1 -0
  25. package/dist/core/index.js +1961 -0
  26. package/dist/core/internals-utils.d.ts +71 -0
  27. package/dist/core/internals-utils.d.ts.map +1 -0
  28. package/dist/core/job-utils.d.ts +45 -0
  29. package/dist/core/job-utils.d.ts.map +1 -0
  30. package/dist/core/log-utils.d.ts +34 -0
  31. package/dist/core/log-utils.d.ts.map +1 -0
  32. package/dist/core/metrics.d.ts +41 -0
  33. package/dist/core/metrics.d.ts.map +1 -0
  34. package/dist/core/pagination.d.ts +128 -0
  35. package/dist/core/pagination.d.ts.map +1 -0
  36. package/dist/core/query-utils.d.ts +35 -0
  37. package/dist/core/query-utils.d.ts.map +1 -0
  38. package/dist/core/resizable-columns.d.ts +18 -0
  39. package/dist/core/resizable-columns.d.ts.map +1 -0
  40. package/dist/core/routes.d.ts +12 -0
  41. package/dist/core/routes.d.ts.map +1 -0
  42. package/dist/core/server-stats-controller.d.ts +106 -0
  43. package/dist/core/server-stats-controller.d.ts.map +1 -0
  44. package/dist/core/sparkline.d.ts +80 -0
  45. package/dist/core/sparkline.d.ts.map +1 -0
  46. package/dist/core/theme.d.ts +42 -0
  47. package/dist/core/theme.d.ts.map +1 -0
  48. package/dist/core/trace-utils.d.ts +62 -0
  49. package/dist/core/trace-utils.d.ts.map +1 -0
  50. package/dist/core/transmit-adapter.d.ts +59 -0
  51. package/dist/core/transmit-adapter.d.ts.map +1 -0
  52. package/dist/core/types.d.ts +619 -0
  53. package/dist/core/types.d.ts.map +1 -0
  54. package/dist/react/CacheSection-DGxMDlWK.js +146 -0
  55. package/dist/react/CacheTab-CnVW5PLs.js +123 -0
  56. package/dist/react/ConfigContent-CnsEI4j3.js +397 -0
  57. package/dist/react/ConfigSection-DPcrfqXY.js +11 -0
  58. package/dist/react/ConfigTab-BSWq_o2p.js +15 -0
  59. package/dist/react/CustomPaneTab-xjkYwTvH.js +104 -0
  60. package/dist/react/DataTable-YyShr5B-.js +55 -0
  61. package/dist/react/EmailsSection-CSyTg1aX.js +262 -0
  62. package/dist/react/EmailsTab-Dh2YSa_f.js +131 -0
  63. package/dist/react/EventsSection-C1pbJDfW.js +86 -0
  64. package/dist/react/EventsTab-eCh02cdd.js +63 -0
  65. package/dist/react/FilterBar-DQRXpWrb.js +50 -0
  66. package/dist/react/InternalsContent-DBzsI0CG.js +346 -0
  67. package/dist/react/InternalsSection-t7ihcWO-.js +32 -0
  68. package/dist/react/InternalsTab-Oij0A2fN.js +30 -0
  69. package/dist/react/JobsSection-CLAin5vU.js +187 -0
  70. package/dist/react/JobsTab-Dl5nrj2z.js +141 -0
  71. package/dist/react/LogsSection-C1p81fXO.js +212 -0
  72. package/dist/react/LogsTab-D-kR7PjX.js +88 -0
  73. package/dist/react/OverviewSection-nm3xdACz.js +539 -0
  74. package/dist/react/Pagination-BkmzUDY8.js +64 -0
  75. package/dist/react/QueriesSection-DB12HMfQ.js +461 -0
  76. package/dist/react/QueriesTab-fyBB1u_Y.js +90 -0
  77. package/dist/react/RequestsSection-DTqB81ac.js +209 -0
  78. package/dist/react/RoutesSection-DJWa4NPV.js +74 -0
  79. package/dist/react/RoutesTab-D3l8TOpu.js +74 -0
  80. package/dist/react/TimelineSection-C4d-jRX1.js +158 -0
  81. package/dist/react/TimelineTab-C5TFaSmQ.js +193 -0
  82. package/dist/react/WaterfallChart-Cj73WdfM.js +100 -0
  83. package/dist/react/core/api-client.d.ts +73 -0
  84. package/dist/react/core/api-client.d.ts.map +1 -0
  85. package/dist/react/core/config-utils.d.ts +109 -0
  86. package/dist/react/core/config-utils.d.ts.map +1 -0
  87. package/dist/react/core/constants.d.ts +11 -0
  88. package/dist/react/core/constants.d.ts.map +1 -0
  89. package/dist/react/core/dashboard-api.d.ts +65 -0
  90. package/dist/react/core/dashboard-api.d.ts.map +1 -0
  91. package/dist/react/core/dashboard-data-controller.d.ts +157 -0
  92. package/dist/react/core/dashboard-data-controller.d.ts.map +1 -0
  93. package/dist/react/core/debug-data-controller.d.ts +89 -0
  94. package/dist/react/core/debug-data-controller.d.ts.map +1 -0
  95. package/dist/react/core/feature-detect.d.ts +67 -0
  96. package/dist/react/core/feature-detect.d.ts.map +1 -0
  97. package/dist/react/core/formatters.d.ts +189 -0
  98. package/dist/react/core/formatters.d.ts.map +1 -0
  99. package/dist/react/core/history-buffer.d.ts +23 -0
  100. package/dist/react/core/history-buffer.d.ts.map +1 -0
  101. package/dist/react/core/icons.d.ts +36 -0
  102. package/dist/react/core/icons.d.ts.map +1 -0
  103. package/dist/react/core/index.d.ts +39 -0
  104. package/dist/react/core/index.d.ts.map +1 -0
  105. package/dist/react/core/internals-utils.d.ts +71 -0
  106. package/dist/react/core/internals-utils.d.ts.map +1 -0
  107. package/dist/react/core/job-utils.d.ts +45 -0
  108. package/dist/react/core/job-utils.d.ts.map +1 -0
  109. package/dist/react/core/log-utils.d.ts +34 -0
  110. package/dist/react/core/log-utils.d.ts.map +1 -0
  111. package/dist/react/core/metrics.d.ts +41 -0
  112. package/dist/react/core/metrics.d.ts.map +1 -0
  113. package/dist/react/core/pagination.d.ts +128 -0
  114. package/dist/react/core/pagination.d.ts.map +1 -0
  115. package/dist/react/core/query-utils.d.ts +35 -0
  116. package/dist/react/core/query-utils.d.ts.map +1 -0
  117. package/dist/react/core/resizable-columns.d.ts +18 -0
  118. package/dist/react/core/resizable-columns.d.ts.map +1 -0
  119. package/dist/react/core/routes.d.ts +12 -0
  120. package/dist/react/core/routes.d.ts.map +1 -0
  121. package/dist/react/core/server-stats-controller.d.ts +106 -0
  122. package/dist/react/core/server-stats-controller.d.ts.map +1 -0
  123. package/dist/react/core/sparkline.d.ts +80 -0
  124. package/dist/react/core/sparkline.d.ts.map +1 -0
  125. package/dist/react/core/theme.d.ts +42 -0
  126. package/dist/react/core/theme.d.ts.map +1 -0
  127. package/dist/react/core/trace-utils.d.ts +62 -0
  128. package/dist/react/core/trace-utils.d.ts.map +1 -0
  129. package/dist/react/core/transmit-adapter.d.ts +59 -0
  130. package/dist/react/core/transmit-adapter.d.ts.map +1 -0
  131. package/dist/react/core/types.d.ts +619 -0
  132. package/dist/react/core/types.d.ts.map +1 -0
  133. package/dist/react/index-UdTfSvtO.js +1074 -0
  134. package/dist/react/index.js +18 -0
  135. package/dist/react/react/components/Dashboard/DashboardPage.d.ts +17 -0
  136. package/dist/react/react/components/Dashboard/DashboardPage.d.ts.map +1 -0
  137. package/dist/react/react/components/Dashboard/sections/CacheSection.d.ts +7 -0
  138. package/dist/react/react/components/Dashboard/sections/CacheSection.d.ts.map +1 -0
  139. package/dist/react/react/components/Dashboard/sections/ConfigSection.d.ts +7 -0
  140. package/dist/react/react/components/Dashboard/sections/ConfigSection.d.ts.map +1 -0
  141. package/dist/react/react/components/Dashboard/sections/EmailsSection.d.ts +7 -0
  142. package/dist/react/react/components/Dashboard/sections/EmailsSection.d.ts.map +1 -0
  143. package/dist/react/react/components/Dashboard/sections/EventsSection.d.ts +7 -0
  144. package/dist/react/react/components/Dashboard/sections/EventsSection.d.ts.map +1 -0
  145. package/dist/react/react/components/Dashboard/sections/InternalsSection.d.ts +14 -0
  146. package/dist/react/react/components/Dashboard/sections/InternalsSection.d.ts.map +1 -0
  147. package/dist/react/react/components/Dashboard/sections/JobsSection.d.ts +7 -0
  148. package/dist/react/react/components/Dashboard/sections/JobsSection.d.ts.map +1 -0
  149. package/dist/react/react/components/Dashboard/sections/LogsSection.d.ts +7 -0
  150. package/dist/react/react/components/Dashboard/sections/LogsSection.d.ts.map +1 -0
  151. package/dist/react/react/components/Dashboard/sections/OverviewSection.d.ts +7 -0
  152. package/dist/react/react/components/Dashboard/sections/OverviewSection.d.ts.map +1 -0
  153. package/dist/react/react/components/Dashboard/sections/QueriesSection.d.ts +7 -0
  154. package/dist/react/react/components/Dashboard/sections/QueriesSection.d.ts.map +1 -0
  155. package/dist/react/react/components/Dashboard/sections/RequestsSection.d.ts +7 -0
  156. package/dist/react/react/components/Dashboard/sections/RequestsSection.d.ts.map +1 -0
  157. package/dist/react/react/components/Dashboard/sections/RoutesSection.d.ts +7 -0
  158. package/dist/react/react/components/Dashboard/sections/RoutesSection.d.ts.map +1 -0
  159. package/dist/react/react/components/Dashboard/sections/TimelineSection.d.ts +9 -0
  160. package/dist/react/react/components/Dashboard/sections/TimelineSection.d.ts.map +1 -0
  161. package/dist/react/react/components/Dashboard/shared/DataTable.d.ts +27 -0
  162. package/dist/react/react/components/Dashboard/shared/DataTable.d.ts.map +1 -0
  163. package/dist/react/react/components/Dashboard/shared/FilterBar.d.ts +17 -0
  164. package/dist/react/react/components/Dashboard/shared/FilterBar.d.ts.map +1 -0
  165. package/dist/react/react/components/Dashboard/shared/Pagination.d.ts +13 -0
  166. package/dist/react/react/components/Dashboard/shared/Pagination.d.ts.map +1 -0
  167. package/dist/react/react/components/Dashboard/shared/TimeRangeSelector.d.ts +12 -0
  168. package/dist/react/react/components/Dashboard/shared/TimeRangeSelector.d.ts.map +1 -0
  169. package/dist/react/react/components/Dashboard/shared/WaterfallChart.d.ts +16 -0
  170. package/dist/react/react/components/Dashboard/shared/WaterfallChart.d.ts.map +1 -0
  171. package/dist/react/react/components/DebugPanel/DebugPanel.d.ts +16 -0
  172. package/dist/react/react/components/DebugPanel/DebugPanel.d.ts.map +1 -0
  173. package/dist/react/react/components/DebugPanel/tabs/CacheTab.d.ts +8 -0
  174. package/dist/react/react/components/DebugPanel/tabs/CacheTab.d.ts.map +1 -0
  175. package/dist/react/react/components/DebugPanel/tabs/ConfigTab.d.ts +8 -0
  176. package/dist/react/react/components/DebugPanel/tabs/ConfigTab.d.ts.map +1 -0
  177. package/dist/react/react/components/DebugPanel/tabs/CustomPaneTab.d.ts +14 -0
  178. package/dist/react/react/components/DebugPanel/tabs/CustomPaneTab.d.ts.map +1 -0
  179. package/dist/react/react/components/DebugPanel/tabs/EmailsTab.d.ts +7 -0
  180. package/dist/react/react/components/DebugPanel/tabs/EmailsTab.d.ts.map +1 -0
  181. package/dist/react/react/components/DebugPanel/tabs/EventsTab.d.ts +7 -0
  182. package/dist/react/react/components/DebugPanel/tabs/EventsTab.d.ts.map +1 -0
  183. package/dist/react/react/components/DebugPanel/tabs/InternalsTab.d.ts +12 -0
  184. package/dist/react/react/components/DebugPanel/tabs/InternalsTab.d.ts.map +1 -0
  185. package/dist/react/react/components/DebugPanel/tabs/JobsTab.d.ts +9 -0
  186. package/dist/react/react/components/DebugPanel/tabs/JobsTab.d.ts.map +1 -0
  187. package/dist/react/react/components/DebugPanel/tabs/LogsTab.d.ts +7 -0
  188. package/dist/react/react/components/DebugPanel/tabs/LogsTab.d.ts.map +1 -0
  189. package/dist/react/react/components/DebugPanel/tabs/QueriesTab.d.ts +7 -0
  190. package/dist/react/react/components/DebugPanel/tabs/QueriesTab.d.ts.map +1 -0
  191. package/dist/react/react/components/DebugPanel/tabs/RoutesTab.d.ts +8 -0
  192. package/dist/react/react/components/DebugPanel/tabs/RoutesTab.d.ts.map +1 -0
  193. package/dist/react/react/components/DebugPanel/tabs/TimelineTab.d.ts +7 -0
  194. package/dist/react/react/components/DebugPanel/tabs/TimelineTab.d.ts.map +1 -0
  195. package/dist/react/react/components/StatsBar/MetricCard.d.ts +21 -0
  196. package/dist/react/react/components/StatsBar/MetricCard.d.ts.map +1 -0
  197. package/dist/react/react/components/StatsBar/Sparkline.d.ts +15 -0
  198. package/dist/react/react/components/StatsBar/Sparkline.d.ts.map +1 -0
  199. package/dist/react/react/components/StatsBar/StatsBar.d.ts +22 -0
  200. package/dist/react/react/components/StatsBar/StatsBar.d.ts.map +1 -0
  201. package/dist/react/react/components/shared/Badge.d.ts +32 -0
  202. package/dist/react/react/components/shared/Badge.d.ts.map +1 -0
  203. package/dist/react/react/components/shared/ConfigContent.d.ts +13 -0
  204. package/dist/react/react/components/shared/ConfigContent.d.ts.map +1 -0
  205. package/dist/react/react/components/shared/InternalsContent.d.ts +10 -0
  206. package/dist/react/react/components/shared/InternalsContent.d.ts.map +1 -0
  207. package/dist/react/react/components/shared/JsonViewer.d.ts +12 -0
  208. package/dist/react/react/components/shared/JsonViewer.d.ts.map +1 -0
  209. package/dist/react/react/components/shared/ThemeToggle.d.ts +13 -0
  210. package/dist/react/react/components/shared/ThemeToggle.d.ts.map +1 -0
  211. package/dist/react/react/components/shared/Tooltip.d.ts +16 -0
  212. package/dist/react/react/components/shared/Tooltip.d.ts.map +1 -0
  213. package/dist/react/react/hooks/useApiClient.d.ts +10 -0
  214. package/dist/react/react/hooks/useApiClient.d.ts.map +1 -0
  215. package/dist/react/react/hooks/useDashboardApiBase.d.ts +19 -0
  216. package/dist/react/react/hooks/useDashboardApiBase.d.ts.map +1 -0
  217. package/dist/react/react/hooks/useDashboardData.d.ts +27 -0
  218. package/dist/react/react/hooks/useDashboardData.d.ts.map +1 -0
  219. package/dist/react/react/hooks/useDebugData.d.ts +17 -0
  220. package/dist/react/react/hooks/useDebugData.d.ts.map +1 -0
  221. package/dist/react/react/hooks/useFeatures.d.ts +13 -0
  222. package/dist/react/react/hooks/useFeatures.d.ts.map +1 -0
  223. package/dist/react/react/hooks/useResizableTable.d.ts +13 -0
  224. package/dist/react/react/hooks/useResizableTable.d.ts.map +1 -0
  225. package/dist/react/react/hooks/useServerStats.d.ts +21 -0
  226. package/dist/react/react/hooks/useServerStats.d.ts.map +1 -0
  227. package/dist/react/react/hooks/useTheme.d.ts +12 -0
  228. package/dist/react/react/hooks/useTheme.d.ts.map +1 -0
  229. package/dist/react/react/index.d.ts +14 -0
  230. package/dist/react/react/index.d.ts.map +1 -0
  231. package/dist/react/style.css +1 -0
  232. package/dist/react/useApiClient-BVtNCmnL.js +9 -0
  233. package/dist/react/useDashboardApiBase-Bi36pJ2L.js +14 -0
  234. package/dist/react/useResizableTable-CNJmACdt.js +13 -0
  235. package/dist/src/collectors/app_collector.d.ts.map +1 -1
  236. package/dist/src/collectors/app_collector.js +30 -2
  237. package/dist/src/collectors/auto_detect.d.ts +31 -0
  238. package/dist/src/collectors/auto_detect.d.ts.map +1 -0
  239. package/dist/src/collectors/auto_detect.js +120 -0
  240. package/dist/src/collectors/collector.d.ts +17 -0
  241. package/dist/src/collectors/collector.d.ts.map +1 -1
  242. package/dist/src/collectors/db_pool_collector.d.ts.map +1 -1
  243. package/dist/src/collectors/db_pool_collector.js +35 -1
  244. package/dist/src/collectors/http_collector.d.ts +4 -3
  245. package/dist/src/collectors/http_collector.d.ts.map +1 -1
  246. package/dist/src/collectors/http_collector.js +28 -11
  247. package/dist/src/collectors/index.d.ts +2 -0
  248. package/dist/src/collectors/index.d.ts.map +1 -1
  249. package/dist/src/collectors/index.js +1 -0
  250. package/dist/src/collectors/log_collector.d.ts +11 -4
  251. package/dist/src/collectors/log_collector.d.ts.map +1 -1
  252. package/dist/src/collectors/log_collector.js +51 -5
  253. package/dist/src/collectors/process_collector.d.ts.map +1 -1
  254. package/dist/src/collectors/process_collector.js +4 -0
  255. package/dist/src/collectors/queue_collector.d.ts.map +1 -1
  256. package/dist/src/collectors/queue_collector.js +55 -1
  257. package/dist/src/collectors/redis_collector.d.ts.map +1 -1
  258. package/dist/src/collectors/redis_collector.js +42 -3
  259. package/dist/src/collectors/system_collector.d.ts.map +1 -1
  260. package/dist/src/collectors/system_collector.js +4 -0
  261. package/dist/src/controller/api_controller.d.ts +101 -0
  262. package/dist/src/controller/api_controller.d.ts.map +1 -0
  263. package/dist/src/controller/api_controller.js +131 -0
  264. package/dist/src/controller/debug_controller.d.ts +19 -10
  265. package/dist/src/controller/debug_controller.d.ts.map +1 -1
  266. package/dist/src/controller/debug_controller.js +118 -101
  267. package/dist/src/core/theme.d.ts +42 -0
  268. package/dist/src/core/theme.d.ts.map +1 -0
  269. package/dist/src/core/theme.js +115 -0
  270. package/dist/src/dashboard/chart_aggregator.d.ts.map +1 -1
  271. package/dist/src/dashboard/chart_aggregator.js +3 -2
  272. package/dist/src/dashboard/dashboard_controller.d.ts +10 -14
  273. package/dist/src/dashboard/dashboard_controller.d.ts.map +1 -1
  274. package/dist/src/dashboard/dashboard_controller.js +132 -250
  275. package/dist/src/dashboard/dashboard_store.d.ts +62 -19
  276. package/dist/src/dashboard/dashboard_store.d.ts.map +1 -1
  277. package/dist/src/dashboard/dashboard_store.js +242 -53
  278. package/dist/src/dashboard/integrations/cache_inspector.d.ts +19 -1
  279. package/dist/src/dashboard/integrations/cache_inspector.d.ts.map +1 -1
  280. package/dist/src/dashboard/integrations/config_inspector.d.ts +1 -1
  281. package/dist/src/dashboard/integrations/config_inspector.d.ts.map +1 -1
  282. package/dist/src/dashboard/integrations/config_inspector.js +3 -2
  283. package/dist/src/dashboard/integrations/queue_inspector.d.ts +55 -10
  284. package/dist/src/dashboard/integrations/queue_inspector.d.ts.map +1 -1
  285. package/dist/src/dashboard/integrations/queue_inspector.js +70 -24
  286. package/dist/src/dashboard/migrator.d.ts +5 -0
  287. package/dist/src/dashboard/migrator.d.ts.map +1 -1
  288. package/dist/src/dashboard/migrator.js +44 -9
  289. package/dist/src/dashboard/models/stats_event.d.ts +1 -1
  290. package/dist/src/dashboard/models/stats_event.d.ts.map +1 -1
  291. package/dist/src/dashboard/models/stats_log.d.ts +1 -1
  292. package/dist/src/dashboard/models/stats_log.d.ts.map +1 -1
  293. package/dist/src/dashboard/models/stats_query.d.ts +1 -1
  294. package/dist/src/dashboard/models/stats_query.d.ts.map +1 -1
  295. package/dist/src/dashboard/models/stats_saved_filter.d.ts +1 -1
  296. package/dist/src/dashboard/models/stats_saved_filter.d.ts.map +1 -1
  297. package/dist/src/dashboard/models/stats_trace.d.ts +2 -1
  298. package/dist/src/dashboard/models/stats_trace.d.ts.map +1 -1
  299. package/dist/src/data/data_access.d.ts +105 -0
  300. package/dist/src/data/data_access.d.ts.map +1 -0
  301. package/dist/src/data/data_access.js +310 -0
  302. package/dist/src/data/index.d.ts +3 -0
  303. package/dist/src/data/index.d.ts.map +1 -0
  304. package/dist/src/data/index.js +1 -0
  305. package/dist/src/debug/debug_store.d.ts +20 -1
  306. package/dist/src/debug/debug_store.d.ts.map +1 -1
  307. package/dist/src/debug/debug_store.js +43 -15
  308. package/dist/src/debug/email_collector.d.ts +6 -2
  309. package/dist/src/debug/email_collector.d.ts.map +1 -1
  310. package/dist/src/debug/email_collector.js +3 -0
  311. package/dist/src/debug/event_collector.d.ts +6 -2
  312. package/dist/src/debug/event_collector.d.ts.map +1 -1
  313. package/dist/src/debug/event_collector.js +12 -8
  314. package/dist/src/debug/query_collector.d.ts +6 -2
  315. package/dist/src/debug/query_collector.d.ts.map +1 -1
  316. package/dist/src/debug/query_collector.js +3 -0
  317. package/dist/src/debug/ring_buffer.d.ts +1 -0
  318. package/dist/src/debug/ring_buffer.d.ts.map +1 -1
  319. package/dist/src/debug/ring_buffer.js +5 -2
  320. package/dist/src/debug/route_inspector.d.ts +2 -2
  321. package/dist/src/debug/route_inspector.d.ts.map +1 -1
  322. package/dist/src/debug/route_inspector.js +4 -3
  323. package/dist/src/debug/trace_collector.d.ts +7 -3
  324. package/dist/src/debug/trace_collector.d.ts.map +1 -1
  325. package/dist/src/debug/trace_collector.js +7 -5
  326. package/dist/src/debug/types.d.ts +107 -2
  327. package/dist/src/debug/types.d.ts.map +1 -1
  328. package/dist/src/debug/types.js +1 -1
  329. package/dist/src/define_config.d.ts +49 -5
  330. package/dist/src/define_config.d.ts.map +1 -1
  331. package/dist/src/define_config.js +361 -4
  332. package/dist/src/edge/bootstrap.d.ts +17 -0
  333. package/dist/src/edge/bootstrap.d.ts.map +1 -0
  334. package/dist/src/edge/bootstrap.js +29 -0
  335. package/dist/src/edge/client/dashboard.js +2 -3619
  336. package/dist/src/edge/client/debug-panel-deferred.js +1 -0
  337. package/dist/src/edge/client/debug-panel.js +1 -2140
  338. package/dist/src/edge/client/stats-bar.js +1 -801
  339. package/dist/src/edge/client-vue/dashboard.js +5 -0
  340. package/dist/src/edge/client-vue/debug-panel-deferred.js +4 -0
  341. package/dist/src/edge/client-vue/debug-panel.js +4 -0
  342. package/dist/src/edge/client-vue/stats-bar.js +4 -0
  343. package/dist/src/edge/plugin.d.ts +35 -2
  344. package/dist/src/edge/plugin.d.ts.map +1 -1
  345. package/dist/src/edge/plugin.js +30 -66
  346. package/dist/src/edge/types.d.ts +46 -0
  347. package/dist/src/edge/types.d.ts.map +1 -0
  348. package/dist/src/edge/types.js +4 -0
  349. package/dist/src/edge/views/dashboard.edge +1 -358
  350. package/dist/src/edge/views/debug-panel.edge +2 -154
  351. package/dist/src/edge/views/stats-bar.edge +15 -48
  352. package/dist/src/engine/stats_engine.d.ts +18 -0
  353. package/dist/src/engine/stats_engine.d.ts.map +1 -1
  354. package/dist/src/engine/stats_engine.js +45 -2
  355. package/dist/src/index.d.ts +1 -1
  356. package/dist/src/index.d.ts.map +1 -1
  357. package/dist/src/log_stream/log_stream_provider.d.ts.map +1 -1
  358. package/dist/src/log_stream/log_stream_provider.js +21 -4
  359. package/dist/src/log_stream/log_stream_service.d.ts +8 -1
  360. package/dist/src/log_stream/log_stream_service.d.ts.map +1 -1
  361. package/dist/src/log_stream/log_stream_service.js +27 -3
  362. package/dist/src/middleware/request_tracking_middleware.d.ts +1 -1
  363. package/dist/src/middleware/request_tracking_middleware.d.ts.map +1 -1
  364. package/dist/src/middleware/request_tracking_middleware.js +21 -6
  365. package/dist/src/prometheus/prometheus_collector.d.ts +2 -1
  366. package/dist/src/prometheus/prometheus_collector.d.ts.map +1 -1
  367. package/dist/src/provider/server_stats_provider.d.ts +100 -0
  368. package/dist/src/provider/server_stats_provider.d.ts.map +1 -1
  369. package/dist/src/provider/server_stats_provider.js +460 -104
  370. package/dist/src/routes/access_middleware.d.ts +2 -1
  371. package/dist/src/routes/access_middleware.d.ts.map +1 -1
  372. package/dist/src/routes/access_middleware.js +7 -1
  373. package/dist/src/routes/index.d.ts +4 -0
  374. package/dist/src/routes/index.d.ts.map +1 -0
  375. package/dist/src/routes/index.js +1 -0
  376. package/dist/src/routes/register_routes.d.ts +103 -0
  377. package/dist/src/routes/register_routes.d.ts.map +1 -0
  378. package/dist/src/routes/register_routes.js +356 -0
  379. package/dist/src/routes/router_types.d.ts +29 -0
  380. package/dist/src/routes/router_types.d.ts.map +1 -0
  381. package/dist/src/routes/router_types.js +1 -0
  382. package/dist/src/stubs/config.stub +12 -32
  383. package/dist/src/styles/components.css +1048 -0
  384. package/dist/src/{edge/client → styles}/dashboard.css +299 -736
  385. package/dist/src/{edge/client → styles}/debug-panel.css +117 -633
  386. package/dist/src/{edge/client → styles}/stats-bar.css +28 -10
  387. package/dist/src/styles/tokens.css +153 -0
  388. package/dist/src/styles/utilities.css +75 -0
  389. package/dist/src/types.d.ts +119 -16
  390. package/dist/src/types.d.ts.map +1 -1
  391. package/dist/src/utils/app_import.d.ts +23 -0
  392. package/dist/src/utils/app_import.d.ts.map +1 -0
  393. package/dist/src/utils/app_import.js +44 -0
  394. package/dist/src/utils/json_helpers.d.ts +2 -2
  395. package/dist/src/utils/json_helpers.d.ts.map +1 -1
  396. package/dist/src/utils/logger.d.ts +17 -0
  397. package/dist/src/utils/logger.d.ts.map +1 -0
  398. package/dist/src/utils/logger.js +27 -0
  399. package/dist/src/utils/mail_helpers.d.ts +1 -1
  400. package/dist/src/utils/mail_helpers.d.ts.map +1 -1
  401. package/dist/src/utils/mail_helpers.js +1 -1
  402. package/dist/vue/CacheSection-C788Yfai.js +149 -0
  403. package/dist/vue/CacheTab-BPisYYiQ.js +104 -0
  404. package/dist/vue/ConfigSection-CRzYxqW2.js +576 -0
  405. package/dist/vue/ConfigTab-C8cafGUj.js +361 -0
  406. package/dist/vue/CustomPaneTab-BJxT5Dp7.js +172 -0
  407. package/dist/vue/EmailsSection-C8JFMtW7.js +206 -0
  408. package/dist/vue/EmailsTab-DhFhoNmU.js +157 -0
  409. package/dist/vue/EventsSection-C4wXUgxG.js +107 -0
  410. package/dist/vue/EventsTab-DQ4Nd6AK.js +97 -0
  411. package/dist/vue/FilterBar.vue_vue_type_script_setup_true_lang-ClJ37hhT.js +62 -0
  412. package/dist/vue/InternalsSection-BJUXE-5F.js +468 -0
  413. package/dist/vue/InternalsTab-DEMjqtlw.js +471 -0
  414. package/dist/vue/JobsSection-CsKWTjgN.js +187 -0
  415. package/dist/vue/JobsTab-BCvhOARO.js +117 -0
  416. package/dist/vue/JsonViewer.vue_vue_type_script_setup_true_lang-Vsqar1zx.js +67 -0
  417. package/dist/vue/LogsSection-BFVjSZ24.js +227 -0
  418. package/dist/vue/LogsTab-DpEQ7euu.js +122 -0
  419. package/dist/vue/OverviewSection-CbMdAido.js +849 -0
  420. package/dist/vue/PaginationControls.vue_vue_type_script_setup_true_lang-CuN7g_8Z.js +50 -0
  421. package/dist/vue/QueriesSection-BPiv7u3r.js +429 -0
  422. package/dist/vue/QueriesTab-C8_7oprC.js +107 -0
  423. package/dist/vue/RequestsSection-LtImH4rD.js +243 -0
  424. package/dist/vue/RoutesSection-CrxOxmzx.js +106 -0
  425. package/dist/vue/RoutesTab-Dz0MkZuF.js +80 -0
  426. package/dist/vue/TimelineSection-DLxMW2J_.js +186 -0
  427. package/dist/vue/TimelineTab-Db6lKKsD.js +250 -0
  428. package/dist/vue/WaterfallChart.vue_vue_type_script_setup_true_lang-tZ13cNj1.js +118 -0
  429. package/dist/vue/components/Dashboard/DashboardPage.vue.d.ts +18 -0
  430. package/dist/vue/components/Dashboard/DashboardPage.vue.d.ts.map +1 -0
  431. package/dist/vue/components/Dashboard/sections/CacheSection.vue.d.ts +5 -0
  432. package/dist/vue/components/Dashboard/sections/CacheSection.vue.d.ts.map +1 -0
  433. package/dist/vue/components/Dashboard/sections/ConfigSection.vue.d.ts +3 -0
  434. package/dist/vue/components/Dashboard/sections/ConfigSection.vue.d.ts.map +1 -0
  435. package/dist/vue/components/Dashboard/sections/EmailsSection.vue.d.ts +5 -0
  436. package/dist/vue/components/Dashboard/sections/EmailsSection.vue.d.ts.map +1 -0
  437. package/dist/vue/components/Dashboard/sections/EventsSection.vue.d.ts +5 -0
  438. package/dist/vue/components/Dashboard/sections/EventsSection.vue.d.ts.map +1 -0
  439. package/dist/vue/components/Dashboard/sections/InternalsSection.vue.d.ts +3 -0
  440. package/dist/vue/components/Dashboard/sections/InternalsSection.vue.d.ts.map +1 -0
  441. package/dist/vue/components/Dashboard/sections/JobsSection.vue.d.ts +5 -0
  442. package/dist/vue/components/Dashboard/sections/JobsSection.vue.d.ts.map +1 -0
  443. package/dist/vue/components/Dashboard/sections/LogsSection.vue.d.ts +3 -0
  444. package/dist/vue/components/Dashboard/sections/LogsSection.vue.d.ts.map +1 -0
  445. package/dist/vue/components/Dashboard/sections/OverviewSection.vue.d.ts +5 -0
  446. package/dist/vue/components/Dashboard/sections/OverviewSection.vue.d.ts.map +1 -0
  447. package/dist/vue/components/Dashboard/sections/QueriesSection.vue.d.ts +45 -0
  448. package/dist/vue/components/Dashboard/sections/QueriesSection.vue.d.ts.map +1 -0
  449. package/dist/vue/components/Dashboard/sections/RequestsSection.vue.d.ts +5 -0
  450. package/dist/vue/components/Dashboard/sections/RequestsSection.vue.d.ts.map +1 -0
  451. package/dist/vue/components/Dashboard/sections/RoutesSection.vue.d.ts +5 -0
  452. package/dist/vue/components/Dashboard/sections/RoutesSection.vue.d.ts.map +1 -0
  453. package/dist/vue/components/Dashboard/sections/TimelineSection.vue.d.ts +11 -0
  454. package/dist/vue/components/Dashboard/sections/TimelineSection.vue.d.ts.map +1 -0
  455. package/dist/vue/components/Dashboard/shared/FilterBar.vue.d.ts +29 -0
  456. package/dist/vue/components/Dashboard/shared/FilterBar.vue.d.ts.map +1 -0
  457. package/dist/vue/components/Dashboard/shared/PaginationControls.vue.d.ts +12 -0
  458. package/dist/vue/components/Dashboard/shared/PaginationControls.vue.d.ts.map +1 -0
  459. package/dist/vue/components/Dashboard/shared/TimeRangeSelector.vue.d.ts +11 -0
  460. package/dist/vue/components/Dashboard/shared/TimeRangeSelector.vue.d.ts.map +1 -0
  461. package/dist/vue/components/Dashboard/shared/WaterfallChart.vue.d.ts +10 -0
  462. package/dist/vue/components/Dashboard/shared/WaterfallChart.vue.d.ts.map +1 -0
  463. package/dist/vue/components/DebugPanel/DebugPanel.vue.d.ts +21 -0
  464. package/dist/vue/components/DebugPanel/DebugPanel.vue.d.ts.map +1 -0
  465. package/dist/vue/components/DebugPanel/tabs/CacheTab.vue.d.ts +12 -0
  466. package/dist/vue/components/DebugPanel/tabs/CacheTab.vue.d.ts.map +1 -0
  467. package/dist/vue/components/DebugPanel/tabs/ConfigTab.vue.d.ts +11 -0
  468. package/dist/vue/components/DebugPanel/tabs/ConfigTab.vue.d.ts.map +1 -0
  469. package/dist/vue/components/DebugPanel/tabs/CustomPaneTab.vue.d.ts +11 -0
  470. package/dist/vue/components/DebugPanel/tabs/CustomPaneTab.vue.d.ts.map +1 -0
  471. package/dist/vue/components/DebugPanel/tabs/EmailsTab.vue.d.ts +12 -0
  472. package/dist/vue/components/DebugPanel/tabs/EmailsTab.vue.d.ts.map +1 -0
  473. package/dist/vue/components/DebugPanel/tabs/EventsTab.vue.d.ts +12 -0
  474. package/dist/vue/components/DebugPanel/tabs/EventsTab.vue.d.ts.map +1 -0
  475. package/dist/vue/components/DebugPanel/tabs/InternalsTab.vue.d.ts +11 -0
  476. package/dist/vue/components/DebugPanel/tabs/InternalsTab.vue.d.ts.map +1 -0
  477. package/dist/vue/components/DebugPanel/tabs/JobsTab.vue.d.ts +13 -0
  478. package/dist/vue/components/DebugPanel/tabs/JobsTab.vue.d.ts.map +1 -0
  479. package/dist/vue/components/DebugPanel/tabs/LogsTab.vue.d.ts +15 -0
  480. package/dist/vue/components/DebugPanel/tabs/LogsTab.vue.d.ts.map +1 -0
  481. package/dist/vue/components/DebugPanel/tabs/QueriesTab.vue.d.ts +12 -0
  482. package/dist/vue/components/DebugPanel/tabs/QueriesTab.vue.d.ts.map +1 -0
  483. package/dist/vue/components/DebugPanel/tabs/RoutesTab.vue.d.ts +12 -0
  484. package/dist/vue/components/DebugPanel/tabs/RoutesTab.vue.d.ts.map +1 -0
  485. package/dist/vue/components/DebugPanel/tabs/TimelineTab.vue.d.ts +15 -0
  486. package/dist/vue/components/DebugPanel/tabs/TimelineTab.vue.d.ts.map +1 -0
  487. package/dist/vue/components/StatsBar/MetricCard.vue.d.ts +19 -0
  488. package/dist/vue/components/StatsBar/MetricCard.vue.d.ts.map +1 -0
  489. package/dist/vue/components/StatsBar/Sparkline.vue.d.ts +17 -0
  490. package/dist/vue/components/StatsBar/Sparkline.vue.d.ts.map +1 -0
  491. package/dist/vue/components/StatsBar/StatsBar.vue.d.ts +22 -0
  492. package/dist/vue/components/StatsBar/StatsBar.vue.d.ts.map +1 -0
  493. package/dist/vue/components/shared/JsonViewer.vue.d.ts +13 -0
  494. package/dist/vue/components/shared/JsonViewer.vue.d.ts.map +1 -0
  495. package/dist/vue/components/shared/ThemeToggle.vue.d.ts +8 -0
  496. package/dist/vue/components/shared/ThemeToggle.vue.d.ts.map +1 -0
  497. package/dist/vue/composables/useApiClient.d.ts +9 -0
  498. package/dist/vue/composables/useApiClient.d.ts.map +1 -0
  499. package/dist/vue/composables/useDashboardData.d.ts +53 -0
  500. package/dist/vue/composables/useDashboardData.d.ts.map +1 -0
  501. package/dist/vue/composables/useDebugData.d.ts +25 -0
  502. package/dist/vue/composables/useDebugData.d.ts.map +1 -0
  503. package/dist/vue/composables/useFeatures.d.ts +80 -0
  504. package/dist/vue/composables/useFeatures.d.ts.map +1 -0
  505. package/dist/vue/composables/useResizableTable.d.ts +16 -0
  506. package/dist/vue/composables/useResizableTable.d.ts.map +1 -0
  507. package/dist/vue/composables/useServerStats.d.ts +104 -0
  508. package/dist/vue/composables/useServerStats.d.ts.map +1 -0
  509. package/dist/vue/composables/useTheme.d.ts +6 -0
  510. package/dist/vue/composables/useTheme.d.ts.map +1 -0
  511. package/dist/vue/index-qCQpBftQ.js +1233 -0
  512. package/dist/vue/index.d.ts +10 -0
  513. package/dist/vue/index.d.ts.map +1 -0
  514. package/dist/vue/index.js +11 -0
  515. package/dist/vue/style.css +1 -0
  516. package/dist/vue/useApiClient-BQQ9CF-q.js +10 -0
  517. package/dist/vue/useResizableTable-BoivAevK.js +17 -0
  518. package/package.json +72 -10
  519. package/dist/src/dashboard/dashboard_routes.d.ts +0 -16
  520. package/dist/src/dashboard/dashboard_routes.d.ts.map +0 -1
  521. package/dist/src/dashboard/dashboard_routes.js +0 -77
  522. package/dist/src/routes/debug_routes.d.ts +0 -14
  523. package/dist/src/routes/debug_routes.d.ts.map +0 -1
  524. package/dist/src/routes/debug_routes.js +0 -42
  525. package/dist/src/routes/stats_routes.d.ts +0 -14
  526. package/dist/src/routes/stats_routes.d.ts.map +0 -1
  527. package/dist/src/routes/stats_routes.js +0 -27
@@ -0,0 +1,71 @@
1
+ /**
2
+ * Check whether a configuration key name likely contains a secret value.
3
+ *
4
+ * Matches common patterns like `password`, `secret`, `token`, `key`,
5
+ * `credential`, and `auth` (case-insensitive substring match).
6
+ */
7
+ export declare function isSecretKey(key: string): boolean;
8
+ /**
9
+ * Format a configuration value for display.
10
+ *
11
+ * - `null`/`undefined` -> `'-'`
12
+ * - Primitives -> `String(value)`
13
+ * - Arrays -> comma-joined or `'-'` if empty
14
+ * - Objects -> JSON stringified
15
+ */
16
+ export declare function formatConfigVal(val: unknown): string;
17
+ /**
18
+ * Human-readable display names for internal timer keys.
19
+ */
20
+ export declare const TIMER_LABELS: Record<string, string>;
21
+ /**
22
+ * Get a human-readable label for a timer key.
23
+ * Falls back to the raw key name if no label is defined.
24
+ */
25
+ export declare function getTimerLabel(name: string): string;
26
+ /**
27
+ * Human-readable display names for integration keys.
28
+ */
29
+ export declare const INTEGRATION_LABELS: Record<string, string>;
30
+ /**
31
+ * Get a human-readable label for an integration key.
32
+ * Falls back to the raw key name if no label is defined.
33
+ */
34
+ export declare function getIntegrationLabel(name: string): string;
35
+ /**
36
+ * Determine the display status string for an integration entry.
37
+ */
38
+ export declare function getIntegrationStatus(info: {
39
+ active?: boolean;
40
+ available?: boolean;
41
+ }): string;
42
+ /**
43
+ * Determine the detail description for an integration entry.
44
+ */
45
+ export declare function getIntegrationDetails(key: string, info: {
46
+ active?: boolean;
47
+ available?: boolean;
48
+ mode?: string;
49
+ }): string;
50
+ /**
51
+ * Format a collector's config object into a display-friendly array.
52
+ */
53
+ export declare function formatCollectorConfig(config: Record<string, unknown>): Array<{
54
+ key: string;
55
+ value: string;
56
+ secret: boolean;
57
+ }>;
58
+ /**
59
+ * Compute the fill percentage of a buffer (0-100, clamped).
60
+ */
61
+ export declare function fillPercent(current: number, max: number): number;
62
+ /** Status strings that map to an "ok" visual indicator. */
63
+ export declare const OK_STATUSES: string[];
64
+ /** Status strings that map to an "error" visual indicator. */
65
+ export declare const ERROR_STATUSES: string[];
66
+ /**
67
+ * Classify a status string as 'ok', 'err', or neutral.
68
+ * Useful for mapping to CSS classes like `prefix-dot-ok` / `prefix-dot-err`.
69
+ */
70
+ export declare function classifyStatus(status: string): 'ok' | 'err' | '';
71
+ //# sourceMappingURL=internals-utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"internals-utils.d.ts","sourceRoot":"","sources":["../../src/core/internals-utils.ts"],"names":[],"mappings":"AAcA;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAGhD;AAMD;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAUpD;AAMD;;GAEG;AACH,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAM/C,CAAA;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAElD;AAMD;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAMrD,CAAA;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAExD;AAMD;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,SAAS,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,MAAM,CAI5F;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,MAAM,EACX,IAAI,EAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,SAAS,CAAC,EAAE,OAAO,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,GAC7D,MAAM,CAQR;AAMD;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,KAAK,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,OAAO,CAAA;CAAE,CAAC,CAMxD;AAMD;;GAEG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAGhE;AAMD,2DAA2D;AAC3D,eAAO,MAAM,WAAW,UAA2D,CAAA;AAEnF,8DAA8D;AAC9D,eAAO,MAAM,cAAc,UAA6B,CAAA;AAExD;;;GAGG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,KAAK,GAAG,EAAE,CAIhE"}
@@ -0,0 +1,45 @@
1
+ import { JobStats } from './types.js';
2
+ /**
3
+ * Available job status filter values (including the "show all" option).
4
+ */
5
+ export declare const JOB_STATUS_FILTERS: readonly ["all", "active", "waiting", "delayed", "completed", "failed"];
6
+ /**
7
+ * A single job status value (without the 'all' meta-filter).
8
+ */
9
+ export type JobStatusFilter = (typeof JOB_STATUS_FILTERS)[number];
10
+ /**
11
+ * Return the CSS class for a given job status in the debug panel.
12
+ *
13
+ * @param status The job status string (e.g. `'completed'`, `'failed'`).
14
+ * @param prefix CSS class prefix. Defaults to `'ss-dbg-job-status'`.
15
+ * @returns The full CSS class string, e.g. `'ss-dbg-job-status-completed'`.
16
+ * Falls back to `'ss-dbg-badge-muted'` for unknown statuses.
17
+ */
18
+ export declare function getJobStatusCssClass(status: string, prefix?: string): string;
19
+ /**
20
+ * Map a job status to a badge color name used in the dashboard UI.
21
+ *
22
+ * @param status The job status string (e.g. `'active'`, `'failed'`).
23
+ * @returns A color name string (e.g. `'blue'`, `'red'`, `'muted'`).
24
+ */
25
+ export declare function getJobStatusBadgeColor(status: string): string;
26
+ /**
27
+ * Extract the jobs array from a server response.
28
+ *
29
+ * Handles the following shapes:
30
+ * - `{ jobs: [...] }` — standard shape
31
+ * - `{ data: [...] }` — alternative shape
32
+ * - `[...]` — bare array
33
+ * - `null` / `undefined` — returns empty array
34
+ */
35
+ export declare function extractJobs(data: unknown): Record<string, unknown>[];
36
+ /**
37
+ * Extract the job stats (overview) from a server response.
38
+ *
39
+ * Handles the following shapes:
40
+ * - `{ stats: { active, waiting, ... } }`
41
+ * - `{ overview: { active, waiting, ... } }`
42
+ * - Returns `null` when no stats are available.
43
+ */
44
+ export declare function extractJobStats(data: unknown): JobStats | null;
45
+ //# sourceMappingURL=job-utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"job-utils.d.ts","sourceRoot":"","sources":["../../src/core/job-utils.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAa,QAAQ,EAAE,MAAM,YAAY,CAAA;AAErD;;GAEG;AACH,eAAO,MAAM,kBAAkB,yEAOrB,CAAA;AAEV;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAA;AAMjE;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,SAAsB,GAAG,MAAM,CAWzF;AAMD;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAe7D;AAqBD;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAKpE;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,OAAO,GAAG,QAAQ,GAAG,IAAI,CAI9D"}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * Generic log entry – the resolver functions only rely on dynamic property
3
+ * access, so a simple index-signature is sufficient.
4
+ */
5
+ export interface LogEntry {
6
+ [key: string]: unknown;
7
+ }
8
+ /**
9
+ * Available log level filter values (including the "show all" option).
10
+ */
11
+ export declare const LOG_LEVELS: readonly ["all", "error", "warn", "info", "debug"];
12
+ /** Resolve the log level string from whichever field the backend provides. */
13
+ export declare function resolveLogLevel(entry: LogEntry): string;
14
+ /** Resolve the message from whichever field the backend provides. */
15
+ export declare function resolveLogMessage(entry: LogEntry): string;
16
+ /** Resolve the timestamp from whichever field the backend provides. */
17
+ export declare function resolveLogTimestamp(entry: LogEntry): number | string;
18
+ /** Resolve the request ID from whichever field the backend provides. */
19
+ export declare function resolveLogRequestId(entry: LogEntry): string;
20
+ /**
21
+ * Return the CSS class for a given log level.
22
+ *
23
+ * @param level The resolved log level string (e.g. `'error'`, `'warn'`).
24
+ * @param prefix CSS class prefix. Defaults to `'ss-dbg-log-level'`.
25
+ */
26
+ export declare function getLogLevelCssClass(level: string, prefix?: string): string;
27
+ /**
28
+ * Filter an array of log entries by level.
29
+ *
30
+ * When `level` is `'all'` the original array is returned as-is.
31
+ * The `'error'` filter also includes `'fatal'` entries (matching React behaviour).
32
+ */
33
+ export declare function filterLogsByLevel(logs: LogEntry[], level: string): LogEntry[];
34
+ //# sourceMappingURL=log-utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"log-utils.d.ts","sourceRoot":"","sources":["../../src/core/log-utils.ts"],"names":[],"mappings":"AAQA;;;GAGG;AACH,MAAM,WAAW,QAAQ;IACvB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CACvB;AAED;;GAEG;AACH,eAAO,MAAM,UAAU,oDAAqD,CAAA;AAM5E,8EAA8E;AAC9E,wBAAgB,eAAe,CAAC,KAAK,EAAE,QAAQ,GAAG,MAAM,CAOvD;AAED,qEAAqE;AACrE,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,QAAQ,GAAG,MAAM,CAEzD;AAED,uEAAuE;AACvE,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,QAAQ,GAAG,MAAM,GAAG,MAAM,CAQpE;AAED,wEAAwE;AACxE,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,QAAQ,GAAG,MAAM,CAW3D;AAMD;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,SAAqB,GAAG,MAAM,CAgBtF;AAMD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,QAAQ,EAAE,CAO7E"}
@@ -0,0 +1,41 @@
1
+ import { MetricDefinition } from './types.js';
2
+ export type { MetricDefinition } from './types.js';
3
+ /**
4
+ * All metric definitions in display order.
5
+ *
6
+ * Components iterate over this array to render each metric card.
7
+ * Metrics with a `show` predicate are conditionally hidden when
8
+ * the predicate returns `false` for the current stats snapshot.
9
+ */
10
+ export declare const METRIC_DEFINITIONS: MetricDefinition[];
11
+ /**
12
+ * Look up a metric definition by its ID.
13
+ *
14
+ * @param id - Metric identifier (e.g. `'cpu'`, `'memory'`).
15
+ * @returns The matching definition, or `undefined` if not found.
16
+ */
17
+ export declare function getMetricById(id: string): MetricDefinition | undefined;
18
+ /**
19
+ * Group metric definitions by their `group` field.
20
+ *
21
+ * Returns a `Map` where keys are group names and values are
22
+ * arrays of metrics in that group. Metrics without an explicit
23
+ * `group` default to `'core'`.
24
+ *
25
+ * The map iteration order matches first-seen order of groups
26
+ * in {@link METRIC_DEFINITIONS}.
27
+ *
28
+ * @returns A map of group name to metric definitions.
29
+ */
30
+ export declare function getMetricsByGroup(): Map<string, MetricDefinition[]>;
31
+ /**
32
+ * Maximum number of data points to keep in the sparkline history
33
+ * buffer per metric. Matches the Edge implementation.
34
+ */
35
+ export declare const MAX_HISTORY = 60;
36
+ /**
37
+ * Milliseconds after the last successful update before the connection
38
+ * is considered stale (amber dot indicator).
39
+ */
40
+ export declare const STALE_MS = 10000;
41
+ //# sourceMappingURL=metrics.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metrics.d.ts","sourceRoot":"","sources":["../../src/core/metrics.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,gBAAgB,EAAkB,MAAM,YAAY,CAAA;AAClE,YAAY,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAiBlD;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB,EAAE,gBAAgB,EA4UhD,CAAA;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS,CAEtE;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,iBAAiB,IAAI,GAAG,CAAC,MAAM,EAAE,gBAAgB,EAAE,CAAC,CAUnE;AAED;;;GAGG;AACH,eAAO,MAAM,WAAW,KAAK,CAAA;AAE7B;;;GAGG;AACH,eAAO,MAAM,QAAQ,QAAS,CAAA"}
@@ -0,0 +1,128 @@
1
+ import { PaginationState, FilterState, SortState } from './types.js';
2
+ /**
3
+ * Shape of a raw paginated API response before parsing.
4
+ */
5
+ export interface RawPaginatedResponse {
6
+ data?: unknown[];
7
+ items?: unknown[];
8
+ total?: number;
9
+ page?: number;
10
+ perPage?: number;
11
+ limit?: number;
12
+ totalPages?: number;
13
+ }
14
+ /**
15
+ * Default number of items per page.
16
+ */
17
+ export declare const DEFAULT_PER_PAGE = 50;
18
+ /**
19
+ * Build a URL query string from pagination, filter, and sort state.
20
+ *
21
+ * @param pagination - Current pagination state.
22
+ * @param filters - Optional filter state (search + key-value filters).
23
+ * @param sort - Optional sort state.
24
+ * @returns A query string (without leading `?`), e.g. `"page=2&limit=50&search=foo"`.
25
+ */
26
+ export declare function buildQueryString(pagination: Pick<PaginationState, 'page' | 'perPage'>, filters?: FilterState, sort?: SortState): string;
27
+ /**
28
+ * Parse a paginated API response into typed data and pagination state.
29
+ *
30
+ * Expects the response to have the shape:
31
+ * ```json
32
+ * {
33
+ * "data": [...],
34
+ * "total": 100,
35
+ * "page": 1,
36
+ * "perPage": 50,
37
+ * "totalPages": 2
38
+ * }
39
+ * ```
40
+ *
41
+ * Also supports the alternate shape used by some endpoints:
42
+ * ```json
43
+ * {
44
+ * "items": [...],
45
+ * "total": 100,
46
+ * "page": 1
47
+ * }
48
+ * ```
49
+ *
50
+ * @param response - Raw API response object.
51
+ * @param perPage - Items per page (used to compute `totalPages` if missing).
52
+ * @returns An object with `data` array and `pagination` state.
53
+ */
54
+ export declare function parsePaginatedResponse<T>(response: RawPaginatedResponse, perPage?: number): {
55
+ data: T[];
56
+ pagination: PaginationState;
57
+ };
58
+ /**
59
+ * Create an initial pagination state.
60
+ *
61
+ * @param perPage - Items per page. Defaults to {@link DEFAULT_PER_PAGE}.
62
+ */
63
+ export declare function createPaginationState(perPage?: number): PaginationState;
64
+ /**
65
+ * Create an initial filter state.
66
+ */
67
+ export declare function createFilterState(): FilterState;
68
+ /**
69
+ * Create an initial sort state.
70
+ *
71
+ * @param field - Default sort field.
72
+ * @param direction - Default sort direction.
73
+ */
74
+ export declare function createSortState(field?: string, direction?: 'asc' | 'desc'): SortState;
75
+ /**
76
+ * Build a URL query parameter string from dashboard hook options.
77
+ *
78
+ * Accepts the flat options shape used by React/Vue hooks and converts
79
+ * it to a query string compatible with the dashboard API.
80
+ *
81
+ * @param options - Dashboard hook options (page, perPage, search, sort, etc.).
82
+ * @returns A query string (without leading `?`).
83
+ */
84
+ export declare function buildQueryParams(options: {
85
+ page?: number;
86
+ perPage?: number;
87
+ search?: string;
88
+ sort?: string;
89
+ sortDir?: 'asc' | 'desc';
90
+ filters?: Record<string, string>;
91
+ timeRange?: string;
92
+ }): string;
93
+ /**
94
+ * Computed pagination info for UI rendering.
95
+ *
96
+ * Provides `from`, `to`, `lastPage`, `hasPrev`, `hasNext` derived
97
+ * from the raw pagination state.
98
+ *
99
+ * @param state - Raw pagination state with page, perPage, total.
100
+ * @returns Computed pagination values.
101
+ */
102
+ export declare function computePagination(state: {
103
+ page: number;
104
+ perPage: number;
105
+ total: number;
106
+ }): {
107
+ page: number;
108
+ perPage: number;
109
+ total: number;
110
+ lastPage: number;
111
+ from: number;
112
+ to: number;
113
+ hasPrev: boolean;
114
+ hasNext: boolean;
115
+ };
116
+ /**
117
+ * Generate an array of page numbers (and ellipsis markers) for pagination UI.
118
+ *
119
+ * Always shows the first page, last page, and a window of pages around
120
+ * the current page. Gaps are represented by `'...'`.
121
+ *
122
+ * @param currentPage - The current page number (1-based).
123
+ * @param lastPage - The total number of pages.
124
+ * @param window - Number of pages to show on each side of current. Defaults to 2.
125
+ * @returns An array of page numbers and `'...'` markers.
126
+ */
127
+ export declare function getPageNumbers(currentPage: number, lastPage: number, window?: number): (number | '...')[];
128
+ //# sourceMappingURL=pagination.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pagination.d.ts","sourceRoot":"","sources":["../../src/core/pagination.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAEzE;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,IAAI,CAAC,EAAE,OAAO,EAAE,CAAA;IAChB,KAAK,CAAC,EAAE,OAAO,EAAE,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAED;;GAEG;AACH,eAAO,MAAM,gBAAgB,KAAK,CAAA;AAElC;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAC9B,UAAU,EAAE,IAAI,CAAC,eAAe,EAAE,MAAM,GAAG,SAAS,CAAC,EACrD,OAAO,CAAC,EAAE,WAAW,EACrB,IAAI,CAAC,EAAE,SAAS,GACf,MAAM,CAuBR;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,sBAAsB,CAAC,CAAC,EACtC,QAAQ,EAAE,oBAAoB,EAC9B,OAAO,GAAE,MAAyB,GACjC;IAAE,IAAI,EAAE,CAAC,EAAE,CAAC;IAAC,UAAU,EAAE,eAAe,CAAA;CAAE,CAgB5C;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,GAAE,MAAyB,GAAG,eAAe,CAOzF;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,WAAW,CAK/C;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAC7B,KAAK,GAAE,MAAa,EACpB,SAAS,GAAE,KAAK,GAAG,MAAe,GACjC,SAAS,CAEX;AAED;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE;IACxC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,KAAK,GAAG,MAAM,CAAA;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAChC,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,GAAG,MAAM,CAkBT;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG;IAC1F,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;IACZ,EAAE,EAAE,MAAM,CAAA;IACV,OAAO,EAAE,OAAO,CAAA;IAChB,OAAO,EAAE,OAAO,CAAA;CACjB,CAgBA;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,cAAc,CAC5B,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,MAAM,GAAE,MAAU,GACjB,CAAC,MAAM,GAAG,KAAK,CAAC,EAAE,CA+BpB"}
@@ -0,0 +1,35 @@
1
+ import { QueryRecord } from './types.js';
2
+ /**
3
+ * Summary statistics computed over a set of queries.
4
+ */
5
+ export interface QuerySummary {
6
+ /** Number of queries whose duration exceeds 100 ms. */
7
+ slowCount: number;
8
+ /** Number of unique SQL strings that appear more than once. */
9
+ dupCount: number;
10
+ /** Mean duration across all queries (0 when there are none). */
11
+ avgDuration: number;
12
+ /** Total number of queries considered. */
13
+ totalCount: number;
14
+ }
15
+ /**
16
+ * Filter queries by a search term.
17
+ *
18
+ * Matches case-insensitively against the `sql`, `model`, and `method`
19
+ * fields. Returns the full array when the search string is empty.
20
+ */
21
+ export declare function filterQueries(queries: QueryRecord[], search: string): QueryRecord[];
22
+ /**
23
+ * Count how many times each SQL string appears in the list.
24
+ *
25
+ * The returned record maps each SQL string to its occurrence count.
26
+ */
27
+ export declare function countDuplicateQueries(queries: QueryRecord[]): Record<string, number>;
28
+ /**
29
+ * Compute high-level summary statistics for a set of queries.
30
+ *
31
+ * @param queries – the full (unfiltered) query list
32
+ * @param dupCounts – the duplicate-count map returned by {@link countDuplicateQueries}
33
+ */
34
+ export declare function computeQuerySummary(queries: QueryRecord[], dupCounts: Record<string, number>): QuerySummary;
35
+ //# sourceMappingURL=query-utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query-utils.d.ts","sourceRoot":"","sources":["../../src/core/query-utils.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAE7C;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,uDAAuD;IACvD,SAAS,EAAE,MAAM,CAAA;IACjB,+DAA+D;IAC/D,QAAQ,EAAE,MAAM,CAAA;IAChB,gEAAgE;IAChE,WAAW,EAAE,MAAM,CAAA;IACnB,0CAA0C;IAC1C,UAAU,EAAE,MAAM,CAAA;CACnB;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,WAAW,EAAE,EAAE,MAAM,EAAE,MAAM,GAAG,WAAW,EAAE,CASnF;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,WAAW,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAMpF;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,WAAW,EAAE,EACtB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAChC,YAAY,CAMd"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Lightweight column-resize utility for HTML tables.
3
+ *
4
+ * Works with any `<table>` element — call `initResizableColumns(table)` after
5
+ * the table is rendered in the DOM. Each `<th>` gets a thin drag handle on its
6
+ * right edge; dragging switches the table to `table-layout: fixed` and sets
7
+ * explicit pixel widths so columns resize cleanly.
8
+ *
9
+ * Shared across Edge JS, React, and Vue frontends.
10
+ */
11
+ /**
12
+ * Attach drag-to-resize handles to every `<th>` in a table.
13
+ *
14
+ * @param table - The `<table>` DOM element.
15
+ * @returns A cleanup function that removes all handles and listeners.
16
+ */
17
+ export declare function initResizableColumns(table: HTMLTableElement): () => void;
18
+ //# sourceMappingURL=resizable-columns.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resizable-columns.d.ts","sourceRoot":"","sources":["../../src/core/resizable-columns.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAKH;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,gBAAgB,GAAG,MAAM,IAAI,CA8DxE"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Maps debug panel tab IDs to their API endpoint paths.
3
+ * The 'timeline' tab maps to '/traces' on the server.
4
+ */
5
+ export declare const DEBUG_TAB_PATHS: Record<string, string>;
6
+ export declare function getDebugTabPath(tab: string): string;
7
+ /**
8
+ * Maps dashboard section IDs to their API endpoint paths.
9
+ */
10
+ export declare const DASHBOARD_SECTION_PATHS: Record<string, string>;
11
+ export declare function getDashboardSectionPath(section: string): string;
12
+ //# sourceMappingURL=routes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../../src/core/routes.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAWlD,CAAA;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEnD;AAED;;GAEG;AACH,eAAO,MAAM,uBAAuB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAY1D,CAAA;AAED,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAE/D"}
@@ -0,0 +1,106 @@
1
+ import { ServerStats } from './types.js';
2
+ /**
3
+ * Connection mode reflecting the current transport.
4
+ */
5
+ export type ConnectionMode = 'live' | 'polling' | 'disconnected';
6
+ /**
7
+ * Configuration for {@link ServerStatsController}.
8
+ */
9
+ export interface ServerStatsControllerConfig {
10
+ /** Base URL for API calls. Defaults to `''` (same origin). */
11
+ baseUrl?: string;
12
+ /** Stats endpoint path. Defaults to `'/admin/api/server-stats'`. */
13
+ endpoint?: string;
14
+ /** Transmit channel name. Defaults to `'admin/server-stats'`. */
15
+ channelName?: string;
16
+ /** Optional auth token for Bearer auth. */
17
+ authToken?: string;
18
+ /** Polling interval fallback in ms. Defaults to `3000`. */
19
+ pollInterval?: number;
20
+ /** Called with every new stats snapshot. */
21
+ onStatsUpdate?: (stats: ServerStats) => void;
22
+ /** Called when the SSE connection state changes. */
23
+ onConnectionChange?: (connected: boolean) => void;
24
+ /** Called when stale detection changes. */
25
+ onStaleChange?: (stale: boolean) => void;
26
+ /** Called when an error occurs. */
27
+ onError?: (error: Error | null) => void;
28
+ /** Called when the unauthorized state changes. */
29
+ onUnauthorizedChange?: (unauthorized: boolean) => void;
30
+ /** Called when the history buffer changes (new data pushed). */
31
+ onHistoryChange?: (history: Record<string, number[]>) => void;
32
+ /** Called when the SSE active state changes (separate from isConnected). */
33
+ onSseActiveChange?: (active: boolean) => void;
34
+ /** Called when the poll timer state changes (running or not). */
35
+ onPollActiveChange?: (active: boolean) => void;
36
+ }
37
+ /**
38
+ * Framework-agnostic controller that owns the entire SSE subscription +
39
+ * polling fallback lifecycle for server stats.
40
+ *
41
+ * React and Vue hooks create a thin wrapper around this class, bridging
42
+ * the callbacks to their respective reactivity primitives.
43
+ */
44
+ export declare class ServerStatsController {
45
+ private readonly baseUrl;
46
+ private readonly endpoint;
47
+ private readonly channelName;
48
+ private readonly authToken;
49
+ private readonly pollInterval;
50
+ private readonly onStatsUpdate;
51
+ private readonly onConnectionChange;
52
+ private readonly onStaleChange;
53
+ private readonly onError;
54
+ private readonly onUnauthorizedChange;
55
+ private readonly onHistoryChange;
56
+ private readonly onSseActiveChange;
57
+ private readonly onPollActiveChange;
58
+ private readonly historyBuffer;
59
+ private client;
60
+ private sseHandle;
61
+ private pollTimer;
62
+ private staleTimer;
63
+ private lastSuccess;
64
+ private unauthorized;
65
+ private sseActive;
66
+ private isConnected;
67
+ private isStale;
68
+ constructor(config?: ServerStatsControllerConfig);
69
+ /**
70
+ * Start the SSE subscription + polling lifecycle.
71
+ *
72
+ * Safe to call multiple times (subsequent calls are no-ops).
73
+ */
74
+ start(): void;
75
+ /**
76
+ * Stop all timers and subscriptions. Call on unmount.
77
+ */
78
+ stop(): void;
79
+ /**
80
+ * Get the history array for a single metric key.
81
+ */
82
+ getHistory(key: string): number[];
83
+ /**
84
+ * Get the entire history map (all keys).
85
+ */
86
+ getAllHistory(): Record<string, number[]>;
87
+ /**
88
+ * Get the current connection mode.
89
+ */
90
+ getConnectionMode(): ConnectionMode;
91
+ /** Process incoming stats data from either SSE or polling. */
92
+ private processStats;
93
+ /** Poll the HTTP endpoint once. */
94
+ private poll;
95
+ /** Start the poll interval timer. */
96
+ private startPollInterval;
97
+ /** Stop the poll interval timer. */
98
+ private stopPolling;
99
+ /** Update SSE active state and notify. */
100
+ private setSseActive;
101
+ /** Update connected state and notify. */
102
+ private setConnected;
103
+ /** Update stale state and notify. */
104
+ private setStale;
105
+ }
106
+ //# sourceMappingURL=server-stats-controller.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server-stats-controller.d.ts","sourceRoot":"","sources":["../../src/core/server-stats-controller.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAE7C;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,SAAS,GAAG,cAAc,CAAA;AAEhE;;GAEG;AACH,MAAM,WAAW,2BAA2B;IAC1C,8DAA8D;IAC9D,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,oEAAoE;IACpE,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,iEAAiE;IACjE,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,2CAA2C;IAC3C,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,2DAA2D;IAC3D,YAAY,CAAC,EAAE,MAAM,CAAA;IAIrB,4CAA4C;IAC5C,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAA;IAC5C,oDAAoD;IACpD,kBAAkB,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,KAAK,IAAI,CAAA;IACjD,2CAA2C;IAC3C,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAA;IACxC,mCAAmC;IACnC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,KAAK,IAAI,CAAA;IACvC,kDAAkD;IAClD,oBAAoB,CAAC,EAAE,CAAC,YAAY,EAAE,OAAO,KAAK,IAAI,CAAA;IACtD,gEAAgE;IAChE,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,KAAK,IAAI,CAAA;IAC7D,4EAA4E;IAC5E,iBAAiB,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAA;IAC7C,iEAAiE;IACjE,kBAAkB,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAA;CAC/C;AAED;;;;;;GAMG;AACH,qBAAa,qBAAqB;IAEhC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAQ;IAChC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAQ;IACjC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAQ;IACpC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAoB;IAC9C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAQ;IAGrC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA8C;IAC5E,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAmD;IACtF,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA8C;IAC5E,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAwC;IAChE,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAqD;IAC1F,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAgD;IAChF,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAkD;IACpF,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAmD;IAGtF,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAe;IAC7C,OAAO,CAAC,MAAM,CAAyB;IACvC,OAAO,CAAC,SAAS,CAA2C;IAC5D,OAAO,CAAC,SAAS,CAA8C;IAC/D,OAAO,CAAC,UAAU,CAA8C;IAChE,OAAO,CAAC,WAAW,CAAI;IACvB,OAAO,CAAC,YAAY,CAAQ;IAC5B,OAAO,CAAC,SAAS,CAAQ;IACzB,OAAO,CAAC,WAAW,CAAQ;IAC3B,OAAO,CAAC,OAAO,CAAQ;gBAEX,MAAM,GAAE,2BAAgC;IAqBpD;;;;OAIG;IACH,KAAK,IAAI,IAAI;IAwEb;;OAEG;IACH,IAAI,IAAI,IAAI;IAUZ;;OAEG;IACH,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE;IAIjC;;OAEG;IACH,aAAa,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;IAIzC;;OAEG;IACH,iBAAiB,IAAI,cAAc;IASnC,8DAA8D;IAC9D,OAAO,CAAC,YAAY;IAUpB,mCAAmC;YACrB,IAAI;IAoBlB,qCAAqC;IACrC,OAAO,CAAC,iBAAiB;IAMzB,oCAAoC;IACpC,OAAO,CAAC,WAAW;IAQnB,0CAA0C;IAC1C,OAAO,CAAC,YAAY;IAOpB,yCAAyC;IACzC,OAAO,CAAC,YAAY;IAOpB,qCAAqC;IACrC,OAAO,CAAC,QAAQ;CAMjB"}
@@ -0,0 +1,80 @@
1
+ import { SparklineOptions } from './types.js';
2
+ /**
3
+ * Generate an SVG polyline `points` attribute string from an array of values.
4
+ *
5
+ * The values are scaled to fit within the specified dimensions,
6
+ * normalizing against the min/max range of the data.
7
+ *
8
+ * @param values - Array of numeric data points (at least 2 required).
9
+ * @param width - SVG viewBox width.
10
+ * @param height - SVG viewBox height.
11
+ * @param padding - Inner padding in pixels.
12
+ * @returns The `points` attribute value for an SVG `<polyline>`, or `null` if insufficient data.
13
+ */
14
+ export declare function generateSparklinePoints(values: number[], width?: number, height?: number, padding?: number): string | null;
15
+ /**
16
+ * Generate an SVG `<path>` `d` attribute for the filled area under the sparkline.
17
+ *
18
+ * The area path traces the sparkline from left to right, then drops
19
+ * down to the bottom-right corner, across to the bottom-left corner,
20
+ * and closes — suitable for use with a gradient fill.
21
+ *
22
+ * @param values - Array of numeric data points (at least 2 required).
23
+ * @param width - SVG viewBox width.
24
+ * @param height - SVG viewBox height.
25
+ * @param padding - Inner padding in pixels.
26
+ * @returns The `d` attribute value for an SVG `<path>`, or `null` if insufficient data.
27
+ */
28
+ export declare function generateSparklinePath(values: number[], width?: number, height?: number, padding?: number): string | null;
29
+ /**
30
+ * Generate a unique ID for an SVG gradient definition.
31
+ *
32
+ * IDs are unique within the lifetime of the page (monotonic counter).
33
+ * Safe to use for multiple sparklines rendered on the same page.
34
+ *
35
+ * @returns A string like `"ss-grad-0"`, `"ss-grad-1"`, etc.
36
+ */
37
+ export declare function generateGradientId(): string;
38
+ /**
39
+ * Reset the gradient counter (useful for tests).
40
+ */
41
+ export declare function resetGradientCounter(): void;
42
+ /**
43
+ * Computed statistics for a data series.
44
+ */
45
+ export interface SparklineStats {
46
+ min: number;
47
+ max: number;
48
+ avg: number;
49
+ }
50
+ /**
51
+ * Compute min, max, and average for a numeric data series.
52
+ *
53
+ * @param values - Array of numeric data points.
54
+ * @returns Statistics object, or `null` if the array is empty.
55
+ */
56
+ export declare function computeStats(values: number[]): SparklineStats | null;
57
+ /**
58
+ * All data needed to render a sparkline SVG in a component.
59
+ */
60
+ export interface SparklineData {
61
+ /** Polyline `points` attribute. */
62
+ points: string;
63
+ /** Filled area `path` `d` attribute. */
64
+ areaPath: string;
65
+ /** Unique gradient ID for this sparkline. */
66
+ gradientId: string;
67
+ /** Resolved rendering options. */
68
+ options: Required<SparklineOptions>;
69
+ /** Computed statistics (min/max/avg). */
70
+ stats: SparklineStats | null;
71
+ }
72
+ /**
73
+ * Build all sparkline rendering data in one call.
74
+ *
75
+ * @param values - Array of numeric data points.
76
+ * @param options - Optional rendering overrides.
77
+ * @returns Full sparkline data bundle, or `null` if insufficient data.
78
+ */
79
+ export declare function buildSparklineData(values: number[], options?: SparklineOptions): SparklineData | null;
80
+ //# sourceMappingURL=sparkline.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sparkline.d.ts","sourceRoot":"","sources":["../../src/core/sparkline.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAsBlD;;;;;;;;;;;GAWG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,MAAM,EAAE,EAChB,KAAK,GAAE,MAAuB,EAC9B,MAAM,GAAE,MAAwB,EAChC,OAAO,GAAE,MAAyB,GACjC,MAAM,GAAG,IAAI,CAgBf;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,MAAM,EAAE,EAChB,KAAK,GAAE,MAAuB,EAC9B,MAAM,GAAE,MAAwB,EAChC,OAAO,GAAE,MAAyB,GACjC,MAAM,GAAG,IAAI,CA4Bf;AAQD;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,CAE3C;AAED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,IAAI,CAE3C;AAMD;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;CACZ;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,cAAc,GAAG,IAAI,CAQpE;AAMD;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,mCAAmC;IACnC,MAAM,EAAE,MAAM,CAAA;IACd,wCAAwC;IACxC,QAAQ,EAAE,MAAM,CAAA;IAChB,6CAA6C;IAC7C,UAAU,EAAE,MAAM,CAAA;IAClB,kCAAkC;IAClC,OAAO,EAAE,QAAQ,CAAC,gBAAgB,CAAC,CAAA;IACnC,yCAAyC;IACzC,KAAK,EAAE,cAAc,GAAG,IAAI,CAAA;CAC7B;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,MAAM,EAAE,EAChB,OAAO,CAAC,EAAE,gBAAgB,GACzB,aAAa,GAAG,IAAI,CActB"}