adonisjs-server-stats 1.10.0 → 1.11.0

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 (248) hide show
  1. package/README.md +23 -14
  2. package/dist/core/config-utils.d.ts +8 -0
  3. package/dist/core/constants.d.ts +4 -0
  4. package/dist/core/dashboard-data-controller.d.ts +16 -0
  5. package/dist/core/dashboard-data-helpers.d.ts +12 -0
  6. package/dist/core/debug-data-controller.d.ts +4 -0
  7. package/dist/core/define-config-helpers.d.ts +25 -0
  8. package/dist/core/feature-detect-helpers.d.ts +36 -0
  9. package/dist/core/field-resolvers.d.ts +64 -0
  10. package/dist/core/formatters-helpers.d.ts +23 -0
  11. package/dist/core/formatters.d.ts +15 -0
  12. package/dist/core/index.d.ts +1 -1
  13. package/dist/core/index.js +599 -509
  14. package/dist/core/log-utils-helpers.d.ts +13 -0
  15. package/dist/core/metrics.d.ts +3 -28
  16. package/dist/core/pagination.d.ts +0 -9
  17. package/dist/core/server-stats-controller.d.ts +6 -0
  18. package/dist/core/transmit-helpers.d.ts +7 -0
  19. package/dist/core/types-dashboard.d.ts +178 -0
  20. package/dist/core/types-diagnostics.d.ts +85 -0
  21. package/dist/core/types.d.ts +10 -442
  22. package/dist/react/CacheSection-BYN53kYO.js +135 -0
  23. package/dist/react/CacheStatsBar-CRodCOeP.js +27 -0
  24. package/dist/react/CacheTab-DOhuK05d.js +106 -0
  25. package/dist/react/{ConfigSection-DfFd-WRq.js → ConfigSection-B9EHh4Rp.js} +1 -1
  26. package/dist/react/{ConfigTab-Bdg8YMer.js → ConfigTab-C8kriE2b.js} +1 -1
  27. package/dist/react/CustomPaneTab-CvzQS_Wh.js +99 -0
  28. package/dist/react/EmailPreviewOverlay-BmXOAvqG.js +58 -0
  29. package/dist/react/EmailsSection-BJyFJf7A.js +226 -0
  30. package/dist/react/EmailsTab-Ch8jp10B.js +110 -0
  31. package/dist/react/{EventsSection-ByQ-9blq.js → EventsSection-DJPwHeT8.js} +28 -27
  32. package/dist/react/EventsTab-B-FoehXC.js +58 -0
  33. package/dist/react/{FilterBar-DQRXpWrb.js → FilterBar-CQ7bD669.js} +15 -15
  34. package/dist/react/{InternalsContent-DBzsI0CG.js → InternalsContent-O8ino9oM.js} +133 -109
  35. package/dist/react/InternalsSection-B6VlVx5f.js +22 -0
  36. package/dist/react/InternalsTab-CkEKpRMU.js +17 -0
  37. package/dist/react/JobStatsBar-C7RslAFE.js +30 -0
  38. package/dist/react/JobsSection-DWF4i1t_.js +167 -0
  39. package/dist/react/JobsTab-DqnifQXV.js +129 -0
  40. package/dist/react/LogEntryRow-CMMkqA9M.js +43 -0
  41. package/dist/react/LogsSection-C1xC5aP4.js +198 -0
  42. package/dist/react/LogsTab-CS4sLfLw.js +79 -0
  43. package/dist/react/{OverviewSection-C4T1ur51.js → OverviewSection-CxvfOR0v.js} +70 -80
  44. package/dist/react/QueriesSection-CrMdU5Ax.js +458 -0
  45. package/dist/react/{QueriesTab-osLUWd4L.js → QueriesTab-x85PjkyS.js} +38 -40
  46. package/dist/react/RequestsSection-DETN9oZb.js +321 -0
  47. package/dist/react/{RoutesSection-BUSkM6PY.js → RoutesSection-CmorkJeC.js} +2 -2
  48. package/dist/react/RoutesTab-CbzBOzpc.js +68 -0
  49. package/dist/react/SplitPaneWrapper-BiIgT4ND.js +49 -0
  50. package/dist/react/TimeAgoCell-o3KigGfM.js +8 -0
  51. package/dist/react/{TimelineTab-Covg5weo.js → TimelineTab-Ue9tUD_n.js} +76 -102
  52. package/dist/react/index-DwDK-4oX.js +1121 -0
  53. package/dist/react/index.js +6 -6
  54. package/dist/react/react/components/shared/CacheStatsBar.d.ts +13 -0
  55. package/dist/react/react/components/shared/EmailPreviewOverlay.d.ts +29 -0
  56. package/dist/react/react/components/{Dashboard/shared → shared}/FilterBar.d.ts +4 -3
  57. package/dist/react/react/components/shared/JobStatsBar.d.ts +12 -0
  58. package/dist/react/react/components/shared/LogEntryRow.d.ts +9 -0
  59. package/dist/react/react/components/shared/RelatedLogs.d.ts +2 -2
  60. package/dist/react/react/components/shared/SplitPaneWrapper.d.ts +7 -0
  61. package/dist/react/react/components/shared/TimeAgoCell.d.ts +17 -0
  62. package/dist/react/react/hooks/useDashboardData.d.ts +4 -8
  63. package/dist/react/react/hooks/useDiagnosticsData.d.ts +14 -0
  64. package/dist/react/style.css +1 -1
  65. package/dist/src/collectors/app_collector.d.ts +0 -8
  66. package/dist/src/collectors/app_collector.js +45 -52
  67. package/dist/src/collectors/auto_detect.d.ts +0 -23
  68. package/dist/src/collectors/auto_detect.js +33 -55
  69. package/dist/src/collectors/db_pool_collector.d.ts +14 -16
  70. package/dist/src/collectors/db_pool_collector.js +72 -57
  71. package/dist/src/collectors/log_collector.d.ts +0 -47
  72. package/dist/src/collectors/log_collector.js +36 -65
  73. package/dist/src/collectors/queue_collector.d.ts +0 -20
  74. package/dist/src/collectors/queue_collector.js +60 -76
  75. package/dist/src/collectors/redis_collector.d.ts +10 -10
  76. package/dist/src/collectors/redis_collector.js +69 -66
  77. package/dist/src/config/deprecation_migration.d.ts +7 -0
  78. package/dist/src/config/deprecation_migration.js +201 -0
  79. package/dist/src/controller/debug_controller.d.ts +1 -1
  80. package/dist/src/controller/debug_controller.js +87 -81
  81. package/dist/src/dashboard/cache_handlers.d.ts +14 -0
  82. package/dist/src/dashboard/cache_handlers.js +52 -0
  83. package/dist/src/dashboard/chart_aggregator.d.ts +0 -7
  84. package/dist/src/dashboard/chart_aggregator.js +68 -50
  85. package/dist/src/dashboard/coalesce_cache.d.ts +25 -0
  86. package/dist/src/dashboard/coalesce_cache.js +47 -0
  87. package/dist/src/dashboard/dashboard_controller.d.ts +11 -37
  88. package/dist/src/dashboard/dashboard_controller.js +51 -544
  89. package/dist/src/dashboard/dashboard_page_assets.d.ts +17 -0
  90. package/dist/src/dashboard/dashboard_page_assets.js +51 -0
  91. package/dist/src/dashboard/dashboard_store.d.ts +19 -218
  92. package/dist/src/dashboard/dashboard_store.js +115 -1116
  93. package/dist/src/dashboard/dashboard_types.d.ts +83 -0
  94. package/dist/src/dashboard/dashboard_types.js +4 -0
  95. package/dist/src/dashboard/detail_queries.d.ts +19 -0
  96. package/dist/src/dashboard/detail_queries.js +98 -0
  97. package/dist/src/dashboard/email_event_builder.d.ts +8 -0
  98. package/dist/src/dashboard/email_event_builder.js +65 -0
  99. package/dist/src/dashboard/explain_query.d.ts +8 -0
  100. package/dist/src/dashboard/explain_query.js +22 -0
  101. package/dist/src/dashboard/filter_handlers.d.ts +23 -0
  102. package/dist/src/dashboard/filter_handlers.js +56 -0
  103. package/dist/src/dashboard/filtered_queries.d.ts +15 -0
  104. package/dist/src/dashboard/filtered_queries.js +155 -0
  105. package/dist/src/dashboard/flush_manager.d.ts +25 -0
  106. package/dist/src/dashboard/flush_manager.js +107 -0
  107. package/dist/src/dashboard/format_helpers.d.ts +126 -0
  108. package/dist/src/dashboard/format_helpers.js +140 -0
  109. package/dist/src/dashboard/inspector_manager.d.ts +36 -0
  110. package/dist/src/dashboard/inspector_manager.js +102 -0
  111. package/dist/src/dashboard/integrations/config_inspector.js +11 -13
  112. package/dist/src/dashboard/integrations/queue_inspector.d.ts +3 -3
  113. package/dist/src/dashboard/integrations/queue_inspector.js +13 -10
  114. package/dist/src/dashboard/jobs_handlers.d.ts +14 -0
  115. package/dist/src/dashboard/jobs_handlers.js +61 -0
  116. package/dist/src/dashboard/knex_factory.d.ts +18 -0
  117. package/dist/src/dashboard/knex_factory.js +91 -0
  118. package/dist/src/dashboard/migrator.js +30 -159
  119. package/dist/src/dashboard/migrator_tables.d.ts +19 -0
  120. package/dist/src/dashboard/migrator_tables.js +153 -0
  121. package/dist/src/dashboard/overview_queries.d.ts +66 -0
  122. package/dist/src/dashboard/overview_queries.js +155 -0
  123. package/dist/src/dashboard/overview_query_runners.d.ts +25 -0
  124. package/dist/src/dashboard/overview_query_runners.js +84 -0
  125. package/dist/src/dashboard/overview_store_queries.d.ts +40 -0
  126. package/dist/src/dashboard/overview_store_queries.js +69 -0
  127. package/dist/src/dashboard/paginate_helper.d.ts +12 -0
  128. package/dist/src/dashboard/paginate_helper.js +33 -0
  129. package/dist/src/dashboard/query_explain_handler.d.ts +10 -0
  130. package/dist/src/dashboard/query_explain_handler.js +80 -0
  131. package/dist/src/dashboard/read_queries.d.ts +32 -0
  132. package/dist/src/dashboard/read_queries.js +107 -0
  133. package/dist/src/dashboard/saved_filter_queries.d.ts +10 -0
  134. package/dist/src/dashboard/saved_filter_queries.js +24 -0
  135. package/dist/src/dashboard/storage_stats.d.ts +41 -0
  136. package/dist/src/dashboard/storage_stats.js +81 -0
  137. package/dist/src/dashboard/write_queue.d.ts +106 -0
  138. package/dist/src/dashboard/write_queue.js +225 -0
  139. package/dist/src/data/data_access.d.ts +2 -39
  140. package/dist/src/data/data_access.js +17 -193
  141. package/dist/src/data/data_access_helpers.d.ts +130 -0
  142. package/dist/src/data/data_access_helpers.js +212 -0
  143. package/dist/src/debug/debug_store.js +37 -32
  144. package/dist/src/debug/email_collector.d.ts +1 -10
  145. package/dist/src/debug/email_collector.js +78 -81
  146. package/dist/src/debug/event_collector.d.ts +0 -9
  147. package/dist/src/debug/event_collector.js +79 -62
  148. package/dist/src/debug/query_collector.js +23 -19
  149. package/dist/src/debug/route_inspector.d.ts +1 -5
  150. package/dist/src/debug/route_inspector.js +50 -51
  151. package/dist/src/debug/trace_collector.d.ts +9 -1
  152. package/dist/src/debug/trace_collector.js +21 -15
  153. package/dist/src/debug/types.d.ts +1 -1
  154. package/dist/src/define_config.d.ts +0 -65
  155. package/dist/src/define_config.js +93 -333
  156. package/dist/src/edge/client/dashboard.js +2 -2
  157. package/dist/src/edge/client/debug-panel-deferred.js +1 -1
  158. package/dist/src/edge/client/stats-bar.js +1 -1
  159. package/dist/src/edge/client-vue/dashboard.js +5 -5
  160. package/dist/src/edge/client-vue/debug-panel-deferred.js +4 -4
  161. package/dist/src/edge/client-vue/stats-bar.js +3 -3
  162. package/dist/src/edge/plugin.d.ts +0 -16
  163. package/dist/src/edge/plugin.js +57 -64
  164. package/dist/src/engine/request_metrics.d.ts +1 -0
  165. package/dist/src/engine/request_metrics.js +32 -42
  166. package/dist/src/middleware/request_tracking_middleware.d.ts +2 -8
  167. package/dist/src/middleware/request_tracking_middleware.js +65 -93
  168. package/dist/src/provider/auth_middleware_detector.d.ts +16 -0
  169. package/dist/src/provider/auth_middleware_detector.js +97 -0
  170. package/dist/src/provider/boot_helpers.d.ts +20 -0
  171. package/dist/src/provider/boot_helpers.js +91 -0
  172. package/dist/src/provider/boot_initializer.d.ts +28 -0
  173. package/dist/src/provider/boot_initializer.js +35 -0
  174. package/dist/src/provider/dashboard_init.d.ts +30 -0
  175. package/dist/src/provider/dashboard_init.js +138 -0
  176. package/dist/src/provider/dashboard_setup.d.ts +25 -0
  177. package/dist/src/provider/dashboard_setup.js +78 -0
  178. package/dist/src/provider/diagnostics.d.ts +134 -0
  179. package/dist/src/provider/diagnostics.js +127 -0
  180. package/dist/src/provider/email_bridge.d.ts +43 -0
  181. package/dist/src/provider/email_bridge.js +80 -0
  182. package/dist/src/provider/email_helpers.d.ts +13 -0
  183. package/dist/src/provider/email_helpers.js +68 -0
  184. package/dist/src/provider/pino_hook.d.ts +17 -0
  185. package/dist/src/provider/pino_hook.js +35 -0
  186. package/dist/src/provider/provider_helpers_extra.d.ts +47 -0
  187. package/dist/src/provider/provider_helpers_extra.js +177 -0
  188. package/dist/src/provider/server_stats_provider.d.ts +39 -85
  189. package/dist/src/provider/server_stats_provider.js +132 -951
  190. package/dist/src/provider/shutdown_helpers.d.ts +43 -0
  191. package/dist/src/provider/shutdown_helpers.js +70 -0
  192. package/dist/src/provider/toolbar_setup.d.ts +57 -0
  193. package/dist/src/provider/toolbar_setup.js +141 -0
  194. package/dist/src/routes/dashboard_routes.d.ts +14 -0
  195. package/dist/src/routes/dashboard_routes.js +197 -0
  196. package/dist/src/routes/debug_routes.d.ts +14 -0
  197. package/dist/src/routes/debug_routes.js +101 -0
  198. package/dist/src/routes/register_routes.d.ts +0 -78
  199. package/dist/src/routes/register_routes.js +22 -352
  200. package/dist/src/routes/stats_routes.d.ts +5 -0
  201. package/dist/src/routes/stats_routes.js +14 -0
  202. package/dist/src/styles/components.css +163 -0
  203. package/dist/src/styles/dashboard.css +13 -105
  204. package/dist/src/styles/debug-panel.css +2 -53
  205. package/dist/src/styles/utilities.css +3 -1
  206. package/dist/src/types.d.ts +305 -14
  207. package/dist/vue/{CacheSection-oFAJL3mo.js → CacheSection-DT2Mwf_s.js} +1 -1
  208. package/dist/vue/{ConfigSection-BhfJ4KqL.js → ConfigSection-BwKwS9lh.js} +1 -1
  209. package/dist/vue/CustomPaneTab-Hr1IBHfz.js +172 -0
  210. package/dist/vue/{EmailsSection-BcNyhyHs.js → EmailsSection-B65g0FVS.js} +1 -1
  211. package/dist/vue/{EventsSection-r60Q5Lmu.js → EventsSection-CxqtVF-o.js} +1 -1
  212. package/dist/vue/{JobsSection-BHL-hkQw.js → JobsSection-rMIyMb-g.js} +1 -1
  213. package/dist/vue/{LogsSection-DRMGzJmg.js → LogsSection-DmmZVJ7D.js} +9 -3
  214. package/dist/vue/{LogsTab-Bg3o0Mm6.js → LogsTab-47zEK7jL.js} +4 -1
  215. package/dist/vue/{OverviewSection-CXh6Ja1B.js → OverviewSection-BMabyqw-.js} +49 -50
  216. package/dist/vue/{QueriesSection-IodIsCJ-.js → QueriesSection-BfDFwGqH.js} +44 -45
  217. package/dist/vue/{QueriesTab-C8_7oprC.js → QueriesTab-DuTG7cpC.js} +30 -31
  218. package/dist/vue/RelatedLogs.vue_vue_type_script_setup_true_lang-Py1iu9GU.js +77 -0
  219. package/dist/vue/{RequestsSection-BPuMdmMc.js → RequestsSection-CTu4jPZ_.js} +143 -147
  220. package/dist/vue/{RoutesSection-NKo3Rbq3.js → RoutesSection-zQZDedL7.js} +1 -1
  221. package/dist/vue/TimelineTab-DHfXsX7t.js +334 -0
  222. package/dist/vue/components/shared/RelatedLogs.vue.d.ts +1 -4
  223. package/dist/vue/composables/useDashboardData.d.ts +12 -23
  224. package/dist/vue/index-CM3yNVUR.js +1232 -0
  225. package/dist/vue/index.js +1 -1
  226. package/dist/vue/style.css +1 -1
  227. package/package.json +1 -1
  228. package/dist/react/CacheSection-UCMptWyn.js +0 -146
  229. package/dist/react/CacheTab-CA8LB1J5.js +0 -123
  230. package/dist/react/CustomPaneTab-Bxtv_8Rw.js +0 -104
  231. package/dist/react/EmailsSection-CM7stSyh.js +0 -262
  232. package/dist/react/EmailsTab-BDhEiomM.js +0 -153
  233. package/dist/react/EventsTab-CMfY98Rl.js +0 -63
  234. package/dist/react/InternalsSection-t7ihcWO-.js +0 -32
  235. package/dist/react/InternalsTab-Oij0A2fN.js +0 -30
  236. package/dist/react/JobsSection-DF3qEv9O.js +0 -187
  237. package/dist/react/JobsTab-BbrBWIOb.js +0 -141
  238. package/dist/react/LogsSection-DcFTZY7b.js +0 -227
  239. package/dist/react/LogsTab-CicucmVk.js +0 -103
  240. package/dist/react/QueriesSection-PswteoF9.js +0 -461
  241. package/dist/react/RelatedLogs-DFDOyUMr.js +0 -40
  242. package/dist/react/RequestsSection-Nag30rEA.js +0 -341
  243. package/dist/react/RoutesTab-DgVzd2PZ.js +0 -74
  244. package/dist/react/index-Cflz9Ebj.js +0 -1069
  245. package/dist/vue/CustomPaneTab-BJxT5Dp7.js +0 -172
  246. package/dist/vue/RelatedLogs.vue_vue_type_script_setup_true_lang-CB2_TzYW.js +0 -84
  247. package/dist/vue/TimelineTab-zj5Z5OdT.js +0 -338
  248. package/dist/vue/index-Dtgysd26.js +0 -1229
@@ -1,32 +1,13 @@
1
1
  import { jsx as e, jsxs as t } from "react/jsx-runtime";
2
- import { useState as g, useMemo as F, useEffect as M, useCallback as E, useRef as v } from "react";
3
- import { formatDuration as w, durationSeverity as T, timeAgo as U, formatTime as W, initSplitPane as _ } from "adonisjs-server-stats/core";
4
- import { u as z } from "./useApiClient-BVtNCmnL.js";
5
- import { u as G } from "./index-Cflz9Ebj.js";
6
- import { u as V } from "./useResizableTable-CNJmACdt.js";
7
- import { R as H } from "./RelatedLogs-DFDOyUMr.js";
8
- function J({
9
- children: o,
10
- classPrefix: i = "ss-dbg",
11
- storageKey: u
12
- }) {
13
- const h = v(null), d = v(null), m = v(null), c = v(null);
14
- return M(() => {
15
- if (h.current && d.current && m.current && c.current)
16
- return _({
17
- container: h.current,
18
- handle: d.current,
19
- topPane: m.current,
20
- bottomPane: c.current,
21
- storageKey: u
22
- });
23
- }, [u]), /* @__PURE__ */ t("div", { ref: h, className: `${i}-split-container`, children: [
24
- /* @__PURE__ */ e("div", { ref: m, className: `${i}-split-top`, children: o[0] }),
25
- /* @__PURE__ */ e("div", { ref: d, className: `${i}-split-handle` }),
26
- /* @__PURE__ */ e("div", { ref: c, className: `${i}-split-bottom`, children: o[1] })
27
- ] });
28
- }
29
- const k = {
2
+ import { useState as i, useMemo as q, useEffect as I, useCallback as O } from "react";
3
+ import { formatDuration as m, durationClassName as j } from "adonisjs-server-stats/core";
4
+ import { u as U } from "./useApiClient-BVtNCmnL.js";
5
+ import { u as W, M as D, S as L } from "./index-DwDK-4oX.js";
6
+ import { T as _ } from "./TimeAgoCell-o3KigGfM.js";
7
+ import { u as z } from "./useResizableTable-CNJmACdt.js";
8
+ import { F as G } from "./FilterBar-CQ7bD669.js";
9
+ import { S as K, R as V } from "./SplitPaneWrapper-BiIgT4ND.js";
10
+ const S = {
30
11
  request: "#1e3a5f",
31
12
  middleware: "rgba(30, 58, 95, 0.7)",
32
13
  db: "#6d28d9",
@@ -34,7 +15,7 @@ const k = {
34
15
  mail: "#059669",
35
16
  event: "#b45309",
36
17
  custom: "#525252"
37
- }, K = [
18
+ }, H = [
38
19
  { label: "Request", color: "#1e3a5f" },
39
20
  { label: "Middleware", color: "rgba(30, 58, 95, 0.7)" },
40
21
  { label: "Database", color: "#6d28d9" },
@@ -42,67 +23,67 @@ const k = {
42
23
  { label: "Mail", color: "#059669" },
43
24
  { label: "Event", color: "#b45309" }
44
25
  ];
45
- function le({ options: o }) {
46
- const { baseUrl: i = "", debugEndpoint: u = "/admin/api/debug", authToken: h } = o || {}, { data: d, isLoading: m, error: c } = G("timeline", o), [b, A] = g(""), [p, y] = g(null), [a, L] = g(null), [q, C] = g(!1), [D, x] = g(null), f = F(() => {
47
- const s = d?.traces || [];
48
- if (!b) return s;
49
- const n = b.toLowerCase();
26
+ function ae({ options: f }) {
27
+ const { baseUrl: E = "", debugEndpoint: N = "/admin/api/debug", authToken: T } = f || {}, { data: g, isLoading: k, error: v } = W("timeline", f), [n, $] = i(""), [c, u] = i(null), [d, w] = i(null), [M, b] = i(!1), [y, p] = i(null), o = q(() => {
28
+ const s = g?.traces || [];
29
+ if (!n) return s;
30
+ const r = n.toLowerCase();
50
31
  return s.filter(
51
- (r) => r.url.toLowerCase().includes(n) || r.method.toLowerCase().includes(n) || String(r.statusCode).includes(n)
32
+ (a) => a.url.toLowerCase().includes(r) || a.method.toLowerCase().includes(r) || String(a.statusCode).includes(r)
52
33
  );
53
- }, [d, b]), $ = z(i, h);
54
- M(() => {
55
- if (p === null) {
56
- L(null), x(null);
34
+ }, [g, n]), C = U(E, T);
35
+ I(() => {
36
+ if (c === null) {
37
+ w(null), p(null);
57
38
  return;
58
39
  }
59
40
  let s = !1;
60
- return C(!0), x(null), $().get(`${u}/traces/${p}`).then((r) => {
61
- s || (L(r), C(!1));
62
- }).catch((r) => {
63
- s || (x(r instanceof Error ? r.message : "Failed to load trace"), C(!1));
41
+ return b(!0), p(null), C().get(`${N}/traces/${c}`).then((a) => {
42
+ s || (w(a), b(!1));
43
+ }).catch((a) => {
44
+ s || (p(a instanceof Error ? a.message : "Failed to load trace"), b(!1));
64
45
  }), () => {
65
46
  s = !0;
66
47
  };
67
- }, [p, u, $]);
68
- const B = E((s) => {
69
- y((n) => n === s ? null : s);
70
- }, []), R = E((s) => s >= 500 ? "ss-dbg-status-5xx" : s >= 400 ? "ss-dbg-status-4xx" : s >= 300 ? "ss-dbg-status-3xx" : "ss-dbg-status-2xx", []), I = V([f]);
71
- if (m && !d)
48
+ }, [c, N, C]);
49
+ const R = O((s) => {
50
+ u((r) => r === s ? null : s);
51
+ }, []), B = z([o]);
52
+ if (k && !g)
72
53
  return /* @__PURE__ */ e("div", { className: "ss-dbg-empty", children: "Loading traces..." });
73
- if (c)
54
+ if (v)
74
55
  return /* @__PURE__ */ t("div", { className: "ss-dbg-empty", children: [
75
56
  "Error: ",
76
- c.message
57
+ v.message
77
58
  ] });
78
- if (p !== null) {
79
- if (q)
59
+ if (c !== null) {
60
+ if (M)
80
61
  return /* @__PURE__ */ e("div", { className: "ss-dbg-empty", children: "Loading trace detail..." });
81
- if (D)
62
+ if (y)
82
63
  return /* @__PURE__ */ t("div", { children: [
83
64
  /* @__PURE__ */ e("div", { className: "ss-dbg-tl-detail-header", children: /* @__PURE__ */ e(
84
65
  "button",
85
66
  {
86
67
  type: "button",
87
68
  className: "ss-dbg-btn-clear",
88
- onClick: () => y(null),
69
+ onClick: () => u(null),
89
70
  children: "← Back"
90
71
  }
91
72
  ) }),
92
73
  /* @__PURE__ */ t("div", { className: "ss-dbg-empty", children: [
93
74
  "Error: ",
94
- D
75
+ y
95
76
  ] })
96
77
  ] });
97
- if (!a)
78
+ if (!d)
98
79
  return /* @__PURE__ */ e("div", { className: "ss-dbg-empty", children: "Loading trace detail..." });
99
- const s = a.spans || [], n = a.warnings || [], r = a.logs || [], O = r.length > 0, S = /* @__PURE__ */ t("div", { children: [
100
- /* @__PURE__ */ e("div", { className: "ss-dbg-tl-legend", children: K.map((l) => /* @__PURE__ */ t("div", { className: "ss-dbg-tl-legend-item", children: [
80
+ const s = d.spans || [], r = d.warnings || [], a = d.logs || [], P = a.length > 0, x = /* @__PURE__ */ t("div", { children: [
81
+ /* @__PURE__ */ e("div", { className: "ss-dbg-tl-legend", children: H.map((l) => /* @__PURE__ */ t("div", { className: "ss-dbg-tl-legend-item", children: [
101
82
  /* @__PURE__ */ e("div", { className: "ss-dbg-tl-legend-dot", style: { background: l.color } }),
102
83
  /* @__PURE__ */ e("span", { children: l.label })
103
84
  ] }, l.label)) }),
104
85
  /* @__PURE__ */ e("div", { style: { padding: "8px 12px", overflow: "auto" }, children: s.length === 0 ? /* @__PURE__ */ e("div", { className: "ss-dbg-empty", children: "No spans captured for this request" }) : s.map((l) => {
105
- const N = a.totalDuration || 1, P = l.startOffset / N * 100, j = Math.max(l.duration / N * 100, 0.5);
86
+ const h = d.totalDuration || 1, A = l.startOffset / h * 100, F = Math.max(l.duration / h * 100, 0.5);
106
87
  return /* @__PURE__ */ t("div", { className: "ss-dbg-tl-row", children: [
107
88
  /* @__PURE__ */ e("div", { className: "ss-dbg-tl-label", title: l.label, children: l.label }),
108
89
  /* @__PURE__ */ e("div", { className: "ss-dbg-tl-track", children: /* @__PURE__ */ e(
@@ -110,19 +91,19 @@ function le({ options: o }) {
110
91
  {
111
92
  className: `ss-dbg-tl-bar ss-dbg-tl-bar-${l.category}`,
112
93
  style: {
113
- left: `${P}%`,
114
- width: `${j}%`,
115
- background: k[l.category] || k.custom
94
+ left: `${A}%`,
95
+ width: `${F}%`,
96
+ background: S[l.category] || S.custom
116
97
  },
117
- title: `${l.label}: ${w(l.duration)}`
98
+ title: `${l.label}: ${m(l.duration)}`
118
99
  }
119
100
  ) }),
120
- /* @__PURE__ */ e("span", { className: "ss-dbg-tl-dur", children: w(l.duration) })
101
+ /* @__PURE__ */ e("span", { className: "ss-dbg-tl-dur", children: m(l.duration) })
121
102
  ] }, l.id);
122
103
  }) }),
123
- n.length > 0 && /* @__PURE__ */ t("div", { className: "ss-dbg-tl-warnings", children: [
104
+ r.length > 0 && /* @__PURE__ */ t("div", { className: "ss-dbg-tl-warnings", children: [
124
105
  /* @__PURE__ */ e("div", { className: "ss-dbg-tl-warnings-title", children: "Warnings" }),
125
- n.map((l, N) => /* @__PURE__ */ e("div", { className: "ss-dbg-tl-warning", children: l }, N))
106
+ r.map((l, h) => /* @__PURE__ */ e("div", { className: "ss-dbg-tl-warning", children: l }, h))
126
107
  ] })
127
108
  ] });
128
109
  return /* @__PURE__ */ t("div", { className: "ss-dbg-tl-detail-wrapper", children: [
@@ -132,44 +113,37 @@ function le({ options: o }) {
132
113
  {
133
114
  type: "button",
134
115
  className: "ss-dbg-btn-clear",
135
- onClick: () => y(null),
116
+ onClick: () => u(null),
136
117
  children: "← Back"
137
118
  }
138
119
  ),
139
- /* @__PURE__ */ e("span", { className: `ss-dbg-method ss-dbg-method-${a.method.toLowerCase()}`, children: a.method }),
140
- /* @__PURE__ */ e("span", { className: "ss-dbg-tl-detail-url", children: a.url }),
141
- /* @__PURE__ */ e("span", { className: `ss-dbg-status ${R(a.statusCode)}`, children: a.statusCode }),
120
+ /* @__PURE__ */ e(D, { method: d.method, classPrefix: "ss-dbg" }),
121
+ /* @__PURE__ */ e("span", { className: "ss-dbg-tl-detail-url", children: d.url }),
122
+ /* @__PURE__ */ e(L, { code: d.statusCode, classPrefix: "ss-dbg" }),
142
123
  /* @__PURE__ */ t("span", { className: "ss-dbg-tl-meta", children: [
143
- w(a.totalDuration),
124
+ m(d.totalDuration),
144
125
  " · ",
145
- a.spanCount,
126
+ d.spanCount,
146
127
  " spans"
147
128
  ] })
148
129
  ] }),
149
- O ? /* @__PURE__ */ t(J, { classPrefix: "ss-dbg", storageKey: "ss-dbg-timeline-split", children: [
150
- S,
151
- /* @__PURE__ */ e(H, { logs: r, classPrefix: "ss-dbg" })
152
- ] }) : S
130
+ P ? /* @__PURE__ */ t(K, { storageKey: "ss-dbg-timeline-split", children: [
131
+ x,
132
+ /* @__PURE__ */ e(V, { logs: a })
133
+ ] }) : x
153
134
  ] });
154
135
  }
155
136
  return /* @__PURE__ */ t("div", { children: [
156
- /* @__PURE__ */ t("div", { className: "ss-dbg-search-bar", children: [
157
- /* @__PURE__ */ e(
158
- "input",
159
- {
160
- type: "text",
161
- className: "ss-dbg-search",
162
- placeholder: "Filter traces...",
163
- value: b,
164
- onChange: (s) => A(s.target.value)
165
- }
166
- ),
167
- /* @__PURE__ */ t("span", { className: "ss-dbg-summary", children: [
168
- f.length,
169
- " traces"
170
- ] })
171
- ] }),
172
- f.length === 0 ? /* @__PURE__ */ e("div", { className: "ss-dbg-empty", children: "No traces captured. Enable tracing in config." }) : /* @__PURE__ */ t("table", { ref: I, className: "ss-dbg-table", children: [
137
+ /* @__PURE__ */ e(
138
+ G,
139
+ {
140
+ search: n,
141
+ onSearchChange: $,
142
+ placeholder: "Filter traces...",
143
+ summary: `${o.length} traces`
144
+ }
145
+ ),
146
+ o.length === 0 ? /* @__PURE__ */ e("div", { className: "ss-dbg-empty", children: "No traces captured. Enable tracing in config." }) : /* @__PURE__ */ t("table", { ref: B, className: "ss-dbg-table", children: [
173
147
  /* @__PURE__ */ t("colgroup", { children: [
174
148
  /* @__PURE__ */ e("col", { style: { width: "50px" } }),
175
149
  /* @__PURE__ */ e("col", { style: { width: "70px" } }),
@@ -188,25 +162,25 @@ function le({ options: o }) {
188
162
  /* @__PURE__ */ e("th", { children: "Spans" }),
189
163
  /* @__PURE__ */ e("th", { children: "Time" })
190
164
  ] }) }),
191
- /* @__PURE__ */ e("tbody", { children: f.map((s) => /* @__PURE__ */ t(
165
+ /* @__PURE__ */ e("tbody", { children: o.map((s) => /* @__PURE__ */ t(
192
166
  "tr",
193
167
  {
194
168
  className: "ss-dbg-email-row",
195
- onClick: () => B(s.id),
169
+ onClick: () => R(s.id),
196
170
  children: [
197
171
  /* @__PURE__ */ e("td", { className: "ss-dbg-c-dim", style: { whiteSpace: "nowrap" }, children: s.id }),
198
- /* @__PURE__ */ e("td", { children: /* @__PURE__ */ e("span", { className: `ss-dbg-method ss-dbg-method-${s.method.toLowerCase()}`, children: s.method }) }),
172
+ /* @__PURE__ */ e("td", { children: /* @__PURE__ */ e(D, { method: s.method, classPrefix: "ss-dbg" }) }),
199
173
  /* @__PURE__ */ e("td", { title: s.url, children: s.url }),
200
- /* @__PURE__ */ e("td", { children: /* @__PURE__ */ e("span", { className: `ss-dbg-status ${R(s.statusCode)}`, children: s.statusCode }) }),
174
+ /* @__PURE__ */ e("td", { children: /* @__PURE__ */ e(L, { code: s.statusCode, classPrefix: "ss-dbg" }) }),
201
175
  /* @__PURE__ */ e(
202
176
  "td",
203
177
  {
204
- className: `ss-dbg-duration ${T(s.totalDuration) === "very-slow" ? "ss-dbg-very-slow" : T(s.totalDuration) === "slow" ? "ss-dbg-slow" : ""}`,
205
- children: w(s.totalDuration)
178
+ className: `ss-dbg-duration ${j(s.totalDuration, "ss-dbg")}`,
179
+ children: m(s.totalDuration)
206
180
  }
207
181
  ),
208
182
  /* @__PURE__ */ e("td", { className: "ss-dbg-c-muted", style: { textAlign: "center" }, children: s.spanCount }),
209
- /* @__PURE__ */ e("td", { className: "ss-dbg-event-time", title: W(s.timestamp), children: U(s.timestamp) })
183
+ /* @__PURE__ */ e("td", { children: /* @__PURE__ */ e(_, { ts: s.timestamp, className: "ss-dbg-event-time" }) })
210
184
  ]
211
185
  },
212
186
  s.id
@@ -215,6 +189,6 @@ function le({ options: o }) {
215
189
  ] });
216
190
  }
217
191
  export {
218
- le as TimelineTab,
219
- le as default
192
+ ae as TimelineTab,
193
+ ae as default
220
194
  };