adonisjs-server-stats 1.10.0 → 1.10.3

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 (210) 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/formatters-helpers.d.ts +23 -0
  10. package/dist/core/index.js +594 -509
  11. package/dist/core/log-utils-helpers.d.ts +13 -0
  12. package/dist/core/metrics.d.ts +3 -28
  13. package/dist/core/pagination.d.ts +0 -9
  14. package/dist/core/server-stats-controller.d.ts +6 -0
  15. package/dist/core/transmit-helpers.d.ts +7 -0
  16. package/dist/core/types-dashboard.d.ts +178 -0
  17. package/dist/core/types-diagnostics.d.ts +85 -0
  18. package/dist/core/types.d.ts +10 -442
  19. package/dist/react/{CacheSection-UCMptWyn.js → CacheSection-baMZotSn.js} +2 -2
  20. package/dist/react/CacheTab-2cw_rMzj.js +117 -0
  21. package/dist/react/{ConfigSection-DfFd-WRq.js → ConfigSection-DGgqjAal.js} +1 -1
  22. package/dist/react/{ConfigTab-Bdg8YMer.js → ConfigTab-H3OnYqmK.js} +1 -1
  23. package/dist/react/CustomPaneTab-B6r7ha0u.js +98 -0
  24. package/dist/react/{EmailsSection-CM7stSyh.js → EmailsSection-C-UZISG-.js} +2 -2
  25. package/dist/react/EmailsTab-DbK4Eobn.js +139 -0
  26. package/dist/react/{EventsSection-ByQ-9blq.js → EventsSection-C7RQW_LY.js} +2 -2
  27. package/dist/react/EventsTab-CfVr7AiM.js +57 -0
  28. package/dist/react/{FilterBar-DQRXpWrb.js → FilterBar-CQ7bD669.js} +15 -15
  29. package/dist/react/{JobsSection-DF3qEv9O.js → JobsSection-CQHNK_Ls.js} +2 -2
  30. package/dist/react/{JobsTab-BbrBWIOb.js → JobsTab-znzf6jzk.js} +54 -42
  31. package/dist/react/{LogsSection-DcFTZY7b.js → LogsSection-Dmm3rE2B.js} +9 -3
  32. package/dist/react/LogsTab-D8unMV5P.js +108 -0
  33. package/dist/react/{OverviewSection-C4T1ur51.js → OverviewSection-ABP9ueBo.js} +1 -1
  34. package/dist/react/{QueriesSection-PswteoF9.js → QueriesSection-CnmSkznA.js} +2 -2
  35. package/dist/react/{QueriesTab-osLUWd4L.js → QueriesTab-BQzcxEiW.js} +37 -40
  36. package/dist/react/{RelatedLogs-DFDOyUMr.js → RelatedLogs-3A8RuGKH.js} +15 -3
  37. package/dist/react/{RequestsSection-Nag30rEA.js → RequestsSection-kW79_M7k.js} +3 -3
  38. package/dist/react/{RoutesSection-BUSkM6PY.js → RoutesSection-BRhxrtjZ.js} +2 -2
  39. package/dist/react/RoutesTab-CpYH5lUw.js +68 -0
  40. package/dist/react/{TimelineTab-Covg5weo.js → TimelineTab-DjLR35Ce.js} +47 -53
  41. package/dist/react/index-CsImORX6.js +1121 -0
  42. package/dist/react/index.js +1 -1
  43. package/dist/react/react/components/{Dashboard/shared → shared}/FilterBar.d.ts +4 -3
  44. package/dist/react/react/hooks/useDashboardData.d.ts +4 -8
  45. package/dist/react/style.css +1 -1
  46. package/dist/src/collectors/app_collector.d.ts +0 -8
  47. package/dist/src/collectors/app_collector.js +45 -52
  48. package/dist/src/collectors/auto_detect.d.ts +0 -23
  49. package/dist/src/collectors/auto_detect.js +33 -55
  50. package/dist/src/collectors/db_pool_collector.d.ts +14 -16
  51. package/dist/src/collectors/db_pool_collector.js +72 -57
  52. package/dist/src/collectors/log_collector.d.ts +0 -47
  53. package/dist/src/collectors/log_collector.js +36 -65
  54. package/dist/src/collectors/queue_collector.d.ts +0 -20
  55. package/dist/src/collectors/queue_collector.js +60 -76
  56. package/dist/src/collectors/redis_collector.d.ts +10 -10
  57. package/dist/src/collectors/redis_collector.js +69 -66
  58. package/dist/src/config/deprecation_migration.d.ts +7 -0
  59. package/dist/src/config/deprecation_migration.js +201 -0
  60. package/dist/src/controller/debug_controller.d.ts +1 -1
  61. package/dist/src/controller/debug_controller.js +87 -81
  62. package/dist/src/dashboard/cache_handlers.d.ts +14 -0
  63. package/dist/src/dashboard/cache_handlers.js +52 -0
  64. package/dist/src/dashboard/chart_aggregator.d.ts +0 -7
  65. package/dist/src/dashboard/chart_aggregator.js +68 -50
  66. package/dist/src/dashboard/coalesce_cache.d.ts +25 -0
  67. package/dist/src/dashboard/coalesce_cache.js +47 -0
  68. package/dist/src/dashboard/dashboard_controller.d.ts +11 -37
  69. package/dist/src/dashboard/dashboard_controller.js +51 -544
  70. package/dist/src/dashboard/dashboard_page_assets.d.ts +17 -0
  71. package/dist/src/dashboard/dashboard_page_assets.js +51 -0
  72. package/dist/src/dashboard/dashboard_store.d.ts +19 -218
  73. package/dist/src/dashboard/dashboard_store.js +115 -1116
  74. package/dist/src/dashboard/dashboard_types.d.ts +83 -0
  75. package/dist/src/dashboard/dashboard_types.js +4 -0
  76. package/dist/src/dashboard/detail_queries.d.ts +19 -0
  77. package/dist/src/dashboard/detail_queries.js +98 -0
  78. package/dist/src/dashboard/email_event_builder.d.ts +8 -0
  79. package/dist/src/dashboard/email_event_builder.js +65 -0
  80. package/dist/src/dashboard/explain_query.d.ts +8 -0
  81. package/dist/src/dashboard/explain_query.js +22 -0
  82. package/dist/src/dashboard/filter_handlers.d.ts +23 -0
  83. package/dist/src/dashboard/filter_handlers.js +56 -0
  84. package/dist/src/dashboard/filtered_queries.d.ts +15 -0
  85. package/dist/src/dashboard/filtered_queries.js +155 -0
  86. package/dist/src/dashboard/flush_manager.d.ts +25 -0
  87. package/dist/src/dashboard/flush_manager.js +107 -0
  88. package/dist/src/dashboard/format_helpers.d.ts +126 -0
  89. package/dist/src/dashboard/format_helpers.js +140 -0
  90. package/dist/src/dashboard/inspector_manager.d.ts +36 -0
  91. package/dist/src/dashboard/inspector_manager.js +102 -0
  92. package/dist/src/dashboard/integrations/config_inspector.js +11 -13
  93. package/dist/src/dashboard/integrations/queue_inspector.d.ts +3 -3
  94. package/dist/src/dashboard/integrations/queue_inspector.js +13 -10
  95. package/dist/src/dashboard/jobs_handlers.d.ts +14 -0
  96. package/dist/src/dashboard/jobs_handlers.js +61 -0
  97. package/dist/src/dashboard/knex_factory.d.ts +18 -0
  98. package/dist/src/dashboard/knex_factory.js +91 -0
  99. package/dist/src/dashboard/migrator.js +30 -159
  100. package/dist/src/dashboard/migrator_tables.d.ts +19 -0
  101. package/dist/src/dashboard/migrator_tables.js +153 -0
  102. package/dist/src/dashboard/overview_queries.d.ts +66 -0
  103. package/dist/src/dashboard/overview_queries.js +155 -0
  104. package/dist/src/dashboard/overview_query_runners.d.ts +25 -0
  105. package/dist/src/dashboard/overview_query_runners.js +84 -0
  106. package/dist/src/dashboard/overview_store_queries.d.ts +40 -0
  107. package/dist/src/dashboard/overview_store_queries.js +69 -0
  108. package/dist/src/dashboard/paginate_helper.d.ts +12 -0
  109. package/dist/src/dashboard/paginate_helper.js +33 -0
  110. package/dist/src/dashboard/query_explain_handler.d.ts +10 -0
  111. package/dist/src/dashboard/query_explain_handler.js +80 -0
  112. package/dist/src/dashboard/read_queries.d.ts +32 -0
  113. package/dist/src/dashboard/read_queries.js +107 -0
  114. package/dist/src/dashboard/saved_filter_queries.d.ts +10 -0
  115. package/dist/src/dashboard/saved_filter_queries.js +24 -0
  116. package/dist/src/dashboard/storage_stats.d.ts +41 -0
  117. package/dist/src/dashboard/storage_stats.js +81 -0
  118. package/dist/src/dashboard/write_queue.d.ts +106 -0
  119. package/dist/src/dashboard/write_queue.js +225 -0
  120. package/dist/src/data/data_access.d.ts +2 -39
  121. package/dist/src/data/data_access.js +17 -193
  122. package/dist/src/data/data_access_helpers.d.ts +130 -0
  123. package/dist/src/data/data_access_helpers.js +212 -0
  124. package/dist/src/debug/debug_store.js +37 -32
  125. package/dist/src/debug/email_collector.d.ts +1 -10
  126. package/dist/src/debug/email_collector.js +78 -81
  127. package/dist/src/debug/event_collector.d.ts +0 -9
  128. package/dist/src/debug/event_collector.js +79 -62
  129. package/dist/src/debug/query_collector.js +23 -19
  130. package/dist/src/debug/route_inspector.d.ts +1 -5
  131. package/dist/src/debug/route_inspector.js +50 -51
  132. package/dist/src/debug/trace_collector.d.ts +9 -1
  133. package/dist/src/debug/trace_collector.js +21 -15
  134. package/dist/src/debug/types.d.ts +1 -1
  135. package/dist/src/define_config.d.ts +0 -65
  136. package/dist/src/define_config.js +93 -333
  137. package/dist/src/edge/client/dashboard.js +2 -2
  138. package/dist/src/edge/client/debug-panel-deferred.js +1 -1
  139. package/dist/src/edge/client/stats-bar.js +1 -1
  140. package/dist/src/edge/client-vue/dashboard.js +5 -5
  141. package/dist/src/edge/client-vue/debug-panel-deferred.js +3 -3
  142. package/dist/src/edge/client-vue/stats-bar.js +3 -3
  143. package/dist/src/edge/plugin.d.ts +0 -16
  144. package/dist/src/edge/plugin.js +57 -64
  145. package/dist/src/engine/request_metrics.d.ts +1 -0
  146. package/dist/src/engine/request_metrics.js +32 -42
  147. package/dist/src/middleware/request_tracking_middleware.d.ts +2 -8
  148. package/dist/src/middleware/request_tracking_middleware.js +65 -93
  149. package/dist/src/provider/auth_middleware_detector.d.ts +16 -0
  150. package/dist/src/provider/auth_middleware_detector.js +97 -0
  151. package/dist/src/provider/boot_helpers.d.ts +20 -0
  152. package/dist/src/provider/boot_helpers.js +91 -0
  153. package/dist/src/provider/boot_initializer.d.ts +28 -0
  154. package/dist/src/provider/boot_initializer.js +35 -0
  155. package/dist/src/provider/dashboard_init.d.ts +30 -0
  156. package/dist/src/provider/dashboard_init.js +138 -0
  157. package/dist/src/provider/dashboard_setup.d.ts +25 -0
  158. package/dist/src/provider/dashboard_setup.js +78 -0
  159. package/dist/src/provider/diagnostics.d.ts +134 -0
  160. package/dist/src/provider/diagnostics.js +127 -0
  161. package/dist/src/provider/email_bridge.d.ts +43 -0
  162. package/dist/src/provider/email_bridge.js +80 -0
  163. package/dist/src/provider/email_helpers.d.ts +13 -0
  164. package/dist/src/provider/email_helpers.js +68 -0
  165. package/dist/src/provider/pino_hook.d.ts +17 -0
  166. package/dist/src/provider/pino_hook.js +35 -0
  167. package/dist/src/provider/provider_helpers_extra.d.ts +47 -0
  168. package/dist/src/provider/provider_helpers_extra.js +177 -0
  169. package/dist/src/provider/server_stats_provider.d.ts +39 -85
  170. package/dist/src/provider/server_stats_provider.js +132 -951
  171. package/dist/src/provider/shutdown_helpers.d.ts +43 -0
  172. package/dist/src/provider/shutdown_helpers.js +70 -0
  173. package/dist/src/provider/toolbar_setup.d.ts +57 -0
  174. package/dist/src/provider/toolbar_setup.js +141 -0
  175. package/dist/src/routes/dashboard_routes.d.ts +14 -0
  176. package/dist/src/routes/dashboard_routes.js +197 -0
  177. package/dist/src/routes/debug_routes.d.ts +14 -0
  178. package/dist/src/routes/debug_routes.js +101 -0
  179. package/dist/src/routes/register_routes.d.ts +0 -78
  180. package/dist/src/routes/register_routes.js +22 -352
  181. package/dist/src/routes/stats_routes.d.ts +5 -0
  182. package/dist/src/routes/stats_routes.js +14 -0
  183. package/dist/src/styles/components.css +96 -0
  184. package/dist/src/styles/dashboard.css +8 -90
  185. package/dist/src/styles/debug-panel.css +1 -31
  186. package/dist/src/types.d.ts +305 -14
  187. package/dist/vue/{CacheSection-oFAJL3mo.js → CacheSection-ITqvpfH5.js} +1 -1
  188. package/dist/vue/{ConfigSection-BhfJ4KqL.js → ConfigSection-DTn3GslE.js} +1 -1
  189. package/dist/vue/{EmailsSection-BcNyhyHs.js → EmailsSection-DtLJ4XoS.js} +1 -1
  190. package/dist/vue/{EventsSection-r60Q5Lmu.js → EventsSection-BOYYz0Ty.js} +1 -1
  191. package/dist/vue/{JobsSection-BHL-hkQw.js → JobsSection-BazTxcJL.js} +1 -1
  192. package/dist/vue/{LogsSection-DRMGzJmg.js → LogsSection-D55PjTKX.js} +9 -3
  193. package/dist/vue/{LogsTab-Bg3o0Mm6.js → LogsTab-47zEK7jL.js} +4 -1
  194. package/dist/vue/{OverviewSection-CXh6Ja1B.js → OverviewSection-1uBKo-Tu.js} +1 -1
  195. package/dist/vue/{QueriesSection-IodIsCJ-.js → QueriesSection-rpoZ4ogd.js} +1 -1
  196. package/dist/vue/{RequestsSection-BPuMdmMc.js → RequestsSection-x7LvT0MC.js} +1 -1
  197. package/dist/vue/{RoutesSection-NKo3Rbq3.js → RoutesSection-CCD0zZqQ.js} +1 -1
  198. package/dist/vue/composables/useDashboardData.d.ts +12 -23
  199. package/dist/vue/index-C8MxnS7Q.js +1232 -0
  200. package/dist/vue/index.js +1 -1
  201. package/dist/vue/style.css +1 -1
  202. package/package.json +1 -1
  203. package/dist/react/CacheTab-CA8LB1J5.js +0 -123
  204. package/dist/react/CustomPaneTab-Bxtv_8Rw.js +0 -104
  205. package/dist/react/EmailsTab-BDhEiomM.js +0 -153
  206. package/dist/react/EventsTab-CMfY98Rl.js +0 -63
  207. package/dist/react/LogsTab-CicucmVk.js +0 -103
  208. package/dist/react/RoutesTab-DgVzd2PZ.js +0 -74
  209. package/dist/react/index-Cflz9Ebj.js +0 -1069
  210. package/dist/vue/index-Dtgysd26.js +0 -1229
@@ -1,153 +0,0 @@
1
- import { jsx as e, jsxs as t } from "react/jsx-runtime";
2
- import { useState as n, useMemo as f, useCallback as v } from "react";
3
- import { timeAgo as k, formatTime as S } from "adonisjs-server-stats/core";
4
- import { u as A } from "./index-Cflz9Ebj.js";
5
- import { u as P } from "./useResizableTable-CNJmACdt.js";
6
- function M({ options: i }) {
7
- const { data: o, isLoading: N, error: u } = A("emails", i), [c, y] = n(""), [g, b] = n(null), [p, h] = n(null), [x, m] = n(!1), r = f(() => {
8
- const s = o?.emails || [];
9
- if (!c) return s;
10
- const l = c.toLowerCase();
11
- return s.filter(
12
- (a) => (a.subject || "").toLowerCase().includes(l) || (a.to || "").toLowerCase().includes(l) || (a.from || "").toLowerCase().includes(l) || (a.mailer || "").toLowerCase().includes(l)
13
- );
14
- }, [o, c]), d = f(() => r.find((s) => s.id === g), [r, g]), C = v(
15
- async (s) => {
16
- if (b(s.id), h(s.html || null), !s.html && s.id) {
17
- m(!0);
18
- try {
19
- const l = i?.debugEndpoint || "/admin/api/debug", a = {};
20
- i?.authToken && (a.Authorization = `Bearer ${i.authToken}`);
21
- const w = await fetch(`${l}/emails/${s.id}/preview`, {
22
- headers: a,
23
- credentials: i?.authToken ? "omit" : "include"
24
- });
25
- w.ok && h(await w.text());
26
- } catch {
27
- } finally {
28
- m(!1);
29
- }
30
- }
31
- },
32
- [i]
33
- ), L = v(() => {
34
- b(null), h(null), m(!1);
35
- }, []), T = {
36
- sent: "ss-dbg-email-status-sent",
37
- sending: "ss-dbg-email-status-sending",
38
- queueing: "ss-dbg-email-status-queued",
39
- queued: "ss-dbg-email-status-queued",
40
- failed: "ss-dbg-email-status-failed"
41
- }, j = P([r]);
42
- return N && !o ? /* @__PURE__ */ e("div", { className: "ss-dbg-empty", children: "Loading emails..." }) : u ? /* @__PURE__ */ t("div", { className: "ss-dbg-empty", children: [
43
- "Error: ",
44
- u.message
45
- ] }) : d ? /* @__PURE__ */ t("div", { className: "ss-dbg-email-preview", children: [
46
- /* @__PURE__ */ t("div", { className: "ss-dbg-email-preview-header", children: [
47
- /* @__PURE__ */ t("div", { className: "ss-dbg-email-preview-meta", children: [
48
- /* @__PURE__ */ t("div", { children: [
49
- /* @__PURE__ */ e("strong", { children: "Subject:" }),
50
- " ",
51
- d.subject
52
- ] }),
53
- /* @__PURE__ */ t("div", { children: [
54
- /* @__PURE__ */ e("strong", { children: "From:" }),
55
- " ",
56
- d.from
57
- ] }),
58
- /* @__PURE__ */ t("div", { children: [
59
- /* @__PURE__ */ e("strong", { children: "To:" }),
60
- " ",
61
- d.to
62
- ] }),
63
- d.cc && /* @__PURE__ */ t("div", { children: [
64
- /* @__PURE__ */ e("strong", { children: "CC:" }),
65
- " ",
66
- d.cc
67
- ] })
68
- ] }),
69
- /* @__PURE__ */ e("button", { className: "ss-dbg-btn-clear", onClick: L, type: "button", children: "×" })
70
- ] }),
71
- x ? /* @__PURE__ */ e("div", { className: "ss-dbg-empty", children: "Loading preview..." }) : p ? /* @__PURE__ */ e(
72
- "iframe",
73
- {
74
- className: "ss-dbg-email-iframe",
75
- srcDoc: p,
76
- title: "Email preview",
77
- sandbox: ""
78
- }
79
- ) : /* @__PURE__ */ e("div", { style: { padding: "12px", whiteSpace: "pre-wrap" }, children: d.text || "No content" })
80
- ] }) : /* @__PURE__ */ t("div", { children: [
81
- /* @__PURE__ */ t("div", { className: "ss-dbg-search-bar", children: [
82
- /* @__PURE__ */ e(
83
- "input",
84
- {
85
- type: "text",
86
- className: "ss-dbg-search",
87
- placeholder: "Filter emails...",
88
- value: c,
89
- onChange: (s) => y(s.target.value)
90
- }
91
- ),
92
- /* @__PURE__ */ t("span", { className: "ss-dbg-summary", children: [
93
- r.length,
94
- " emails"
95
- ] })
96
- ] }),
97
- r.length === 0 ? /* @__PURE__ */ e("div", { className: "ss-dbg-empty", children: "No emails captured" }) : /* @__PURE__ */ t("table", { ref: j, className: "ss-dbg-table", children: [
98
- /* @__PURE__ */ t("colgroup", { children: [
99
- /* @__PURE__ */ e("col", { style: { width: "50px" } }),
100
- /* @__PURE__ */ e("col", { style: { width: "140px" } }),
101
- /* @__PURE__ */ e("col", { style: { width: "140px" } }),
102
- /* @__PURE__ */ e("col", {}),
103
- /* @__PURE__ */ e("col", { style: { width: "70px" } }),
104
- /* @__PURE__ */ e("col", { style: { width: "80px" } }),
105
- /* @__PURE__ */ e("col", { style: { width: "40px" } }),
106
- /* @__PURE__ */ e("col", { style: { width: "80px" } })
107
- ] }),
108
- /* @__PURE__ */ e("thead", { children: /* @__PURE__ */ t("tr", { children: [
109
- /* @__PURE__ */ e("th", { children: "#" }),
110
- /* @__PURE__ */ e("th", { children: "From" }),
111
- /* @__PURE__ */ e("th", { children: "To" }),
112
- /* @__PURE__ */ e("th", { children: "Subject" }),
113
- /* @__PURE__ */ e("th", { children: "Status" }),
114
- /* @__PURE__ */ e("th", { children: "Mailer" }),
115
- /* @__PURE__ */ e("th", { title: "Attachments", children: "📎" }),
116
- /* @__PURE__ */ e("th", { children: "Time" })
117
- ] }) }),
118
- /* @__PURE__ */ e("tbody", { children: r.map((s) => /* @__PURE__ */ t(
119
- "tr",
120
- {
121
- className: "ss-dbg-email-row",
122
- onClick: () => C(s),
123
- children: [
124
- /* @__PURE__ */ e("td", { className: "ss-dbg-c-dim", style: { whiteSpace: "nowrap" }, children: s.id }),
125
- /* @__PURE__ */ e("td", { className: "ss-dbg-c-secondary", title: s.from, children: s.from }),
126
- /* @__PURE__ */ e("td", { className: "ss-dbg-c-secondary", title: s.to, children: s.to }),
127
- /* @__PURE__ */ e("td", { className: "ss-dbg-c-sql", children: s.subject }),
128
- /* @__PURE__ */ e("td", { children: /* @__PURE__ */ e("span", { className: `ss-dbg-email-status ${T[s.status] || ""}`, children: s.status }) }),
129
- /* @__PURE__ */ e("td", { className: "ss-dbg-c-muted", children: s.mailer }),
130
- /* @__PURE__ */ e("td", { className: "ss-dbg-c-dim", style: { textAlign: "center" }, children: s.attachmentCount > 0 ? s.attachmentCount : "-" }),
131
- /* @__PURE__ */ e(
132
- "td",
133
- {
134
- className: "ss-dbg-event-time",
135
- title: S(
136
- s.timestamp || s.created_at || s.createdAt
137
- ),
138
- children: k(
139
- s.timestamp || s.created_at || s.createdAt
140
- )
141
- }
142
- )
143
- ]
144
- },
145
- s.id
146
- )) })
147
- ] })
148
- ] });
149
- }
150
- export {
151
- M as EmailsTab,
152
- M as default
153
- };
@@ -1,63 +0,0 @@
1
- import { jsx as e, jsxs as t } from "react/jsx-runtime";
2
- import { useState as g, useMemo as u } from "react";
3
- import { timeAgo as b, formatTime as p } from "adonisjs-server-stats/core";
4
- import { u as v, J as f } from "./index-Cflz9Ebj.js";
5
- import { u as N } from "./useResizableTable-CNJmACdt.js";
6
- function T({ options: c }) {
7
- const { data: n, isLoading: o, error: i } = v("events", c), [r, m] = g(""), d = u(() => {
8
- const s = n?.events || [];
9
- if (!r) return s;
10
- const a = r.toLowerCase();
11
- return s.filter(
12
- (l) => (l.event || "").toLowerCase().includes(a) || (l.data || "").toLowerCase().includes(a)
13
- );
14
- }, [n, r]), h = N([d]);
15
- return o && !n ? /* @__PURE__ */ e("div", { className: "ss-dbg-empty", children: "Loading events..." }) : i ? /* @__PURE__ */ t("div", { className: "ss-dbg-empty", children: [
16
- "Error: ",
17
- i.message
18
- ] }) : /* @__PURE__ */ t("div", { children: [
19
- /* @__PURE__ */ t("div", { className: "ss-dbg-search-bar", children: [
20
- /* @__PURE__ */ e(
21
- "input",
22
- {
23
- type: "text",
24
- className: "ss-dbg-search",
25
- placeholder: "Filter events...",
26
- value: r,
27
- onChange: (s) => m(s.target.value)
28
- }
29
- ),
30
- /* @__PURE__ */ t("span", { className: "ss-dbg-summary", children: [
31
- d.length,
32
- " events"
33
- ] })
34
- ] }),
35
- d.length === 0 ? /* @__PURE__ */ e("div", { className: "ss-dbg-empty", children: "No events captured" }) : /* @__PURE__ */ t("table", { ref: h, className: "ss-dbg-table", children: [
36
- /* @__PURE__ */ t("colgroup", { children: [
37
- /* @__PURE__ */ e("col", { style: { width: "50px" } }),
38
- /* @__PURE__ */ e("col", { style: { width: "20%" } }),
39
- /* @__PURE__ */ e("col", {}),
40
- /* @__PURE__ */ e("col", { style: { width: "80px" } })
41
- ] }),
42
- /* @__PURE__ */ e("thead", { children: /* @__PURE__ */ t("tr", { children: [
43
- /* @__PURE__ */ e("th", { children: "#" }),
44
- /* @__PURE__ */ e("th", { children: "Event" }),
45
- /* @__PURE__ */ e("th", { children: "Data" }),
46
- /* @__PURE__ */ e("th", { children: "Time" })
47
- ] }) }),
48
- /* @__PURE__ */ e("tbody", { children: d.map((s) => {
49
- const a = s.timestamp || s.created_at || s.createdAt;
50
- return /* @__PURE__ */ t("tr", { children: [
51
- /* @__PURE__ */ e("td", { className: "ss-dbg-c-dim", style: { whiteSpace: "nowrap" }, children: s.id }),
52
- /* @__PURE__ */ e("td", { className: "ss-dbg-event-name", children: s.event }),
53
- /* @__PURE__ */ e("td", { className: "ss-dbg-event-data", children: /* @__PURE__ */ e(f, { data: s.data, maxPreviewLength: 80, classPrefix: "ss-dbg" }) }),
54
- /* @__PURE__ */ e("td", { className: "ss-dbg-event-time", title: p(a), children: b(a) })
55
- ] }, s.id);
56
- }) })
57
- ] })
58
- ] });
59
- }
60
- export {
61
- T as EventsTab,
62
- T as default
63
- };
@@ -1,103 +0,0 @@
1
- import { jsx as s, jsxs as a } from "react/jsx-runtime";
2
- import I, { useState as m, useMemo as E, useCallback as F } from "react";
3
- import { filterLogsByLevel as D, resolveLogRequestId as y, resolveLogMessage as N, LOG_LEVELS as R, resolveLogLevel as S, resolveLogTimestamp as $, getStructuredData as A, getLogLevelCssClass as P, timeAgo as T, formatTime as j } from "adonisjs-server-stats/core";
4
- import { u as J, J as M } from "./index-Cflz9Ebj.js";
5
- function O({ options: x }) {
6
- const { data: l, isLoading: C, error: h } = J("logs", x), [p, w] = m("all"), [d, k] = m(""), [n, f] = m(""), [u, q] = m(null), b = E(() => {
7
- let e = Array.isArray(l) ? l : l?.logs || l?.entries || [];
8
- if (e = D(e, p), n) {
9
- const t = n.toLowerCase();
10
- e = e.filter((r) => y(r).toLowerCase().includes(t));
11
- }
12
- if (d) {
13
- const t = d.toLowerCase();
14
- e = e.filter((r) => N(r).toLowerCase().includes(t));
15
- }
16
- return e;
17
- }, [l, p, d, n]), v = F((e) => {
18
- f((t) => t === e ? "" : e);
19
- }, []);
20
- return C && !l ? /* @__PURE__ */ s("div", { className: "ss-dbg-empty", children: "Loading logs..." }) : h ? /* @__PURE__ */ a("div", { className: "ss-dbg-empty", children: [
21
- "Error: ",
22
- h.message
23
- ] }) : /* @__PURE__ */ a("div", { children: [
24
- /* @__PURE__ */ a("div", { className: "ss-dbg-log-filters", children: [
25
- R.map((e) => /* @__PURE__ */ s(
26
- "button",
27
- {
28
- type: "button",
29
- className: `ss-dbg-log-filter ${p === e ? "ss-dbg-active" : ""}`,
30
- onClick: () => w(e),
31
- children: e
32
- },
33
- e
34
- )),
35
- n && /* @__PURE__ */ a(
36
- "button",
37
- {
38
- type: "button",
39
- className: "ss-dbg-log-filter ss-dbg-active",
40
- onClick: () => f(""),
41
- children: [
42
- "req: ",
43
- n.slice(0, 8),
44
- " x"
45
- ]
46
- }
47
- ),
48
- /* @__PURE__ */ a("span", { className: "ss-dbg-summary", style: { marginLeft: "auto" }, children: [
49
- b.length,
50
- " entries"
51
- ] })
52
- ] }),
53
- /* @__PURE__ */ s("div", { className: "ss-dbg-search-bar", children: /* @__PURE__ */ s(
54
- "input",
55
- {
56
- type: "text",
57
- className: "ss-dbg-search",
58
- placeholder: "Filter log messages...",
59
- value: d,
60
- onChange: (e) => k(e.target.value)
61
- }
62
- ) }),
63
- /* @__PURE__ */ s("div", { style: { overflow: "auto", flex: 1 }, children: b.length === 0 ? /* @__PURE__ */ s("div", { className: "ss-dbg-empty", children: "No log entries" }) : b.slice(0, 200).map((e, t) => {
64
- const r = S(e), L = N(e), c = $(e), o = y(e), i = A(e);
65
- return /* @__PURE__ */ a(I.Fragment, { children: [
66
- /* @__PURE__ */ a(
67
- "div",
68
- {
69
- className: `ss-dbg-log-entry${i ? " ss-dbg-log-entry-expandable" : ""}`,
70
- onClick: () => i && q(u === t ? null : t),
71
- children: [
72
- /* @__PURE__ */ s("span", { className: `ss-dbg-log-level ${P(r)}`, children: r.toUpperCase() }),
73
- /* @__PURE__ */ s("span", { className: "ss-dbg-log-time", title: c ? j(c) : "", children: c ? T(c) : "-" }),
74
- o ? /* @__PURE__ */ s(
75
- "span",
76
- {
77
- className: "ss-dbg-log-reqid",
78
- onClick: (g) => {
79
- g.stopPropagation(), v(o);
80
- },
81
- role: "button",
82
- tabIndex: 0,
83
- title: o,
84
- onKeyDown: (g) => {
85
- g.key === "Enter" && (g.stopPropagation(), v(o));
86
- },
87
- children: o.slice(0, 8)
88
- }
89
- ) : /* @__PURE__ */ s("span", { className: "ss-dbg-log-reqid-empty", children: "-" }),
90
- i ? /* @__PURE__ */ s("span", { className: `ss-dbg-log-expand-icon${u === t ? " ss-dbg-log-expand-icon-open" : ""}`, children: "▶" }) : /* @__PURE__ */ s("span", { style: { width: 14 } }),
91
- /* @__PURE__ */ s("span", { className: "ss-dbg-log-msg", children: L })
92
- ]
93
- }
94
- ),
95
- u === t && i && /* @__PURE__ */ s("div", { className: "ss-dbg-log-detail", children: /* @__PURE__ */ s(M, { data: i, classPrefix: "ss-dbg", defaultExpanded: !0 }) })
96
- ] }, t);
97
- }) })
98
- ] });
99
- }
100
- export {
101
- O as LogsTab,
102
- O as default
103
- };
@@ -1,74 +0,0 @@
1
- import { jsx as e, jsxs as t } from "react/jsx-runtime";
2
- import { useState as u, useMemo as p } from "react";
3
- import { u as b } from "./index-Cflz9Ebj.js";
4
- import { u as w } from "./useResizableTable-CNJmACdt.js";
5
- function C({ options: o, currentPath: n }) {
6
- const { data: c, isLoading: h, error: i } = b("routes", o), [r, m] = u(""), l = p(() => {
7
- const s = c?.routes || [];
8
- if (!r) return s;
9
- const a = r.toLowerCase();
10
- return s.filter(
11
- (d) => d.pattern.toLowerCase().includes(a) || d.handler.toLowerCase().includes(a) || d.method.toLowerCase().includes(a) || d.name && d.name.toLowerCase().includes(a)
12
- );
13
- }, [c, r]), g = w([l]);
14
- return h && !c ? /* @__PURE__ */ e("div", { className: "ss-dbg-empty", children: "Loading routes..." }) : i ? /* @__PURE__ */ t("div", { className: "ss-dbg-empty", children: [
15
- "Error: ",
16
- i.message
17
- ] }) : /* @__PURE__ */ t("div", { children: [
18
- /* @__PURE__ */ t("div", { className: "ss-dbg-search-bar", children: [
19
- /* @__PURE__ */ e(
20
- "input",
21
- {
22
- type: "text",
23
- className: "ss-dbg-search",
24
- placeholder: "Filter routes...",
25
- value: r,
26
- onChange: (s) => m(s.target.value)
27
- }
28
- ),
29
- /* @__PURE__ */ t("span", { className: "ss-dbg-summary", children: [
30
- l.length,
31
- " routes"
32
- ] })
33
- ] }),
34
- l.length === 0 ? /* @__PURE__ */ e("div", { className: "ss-dbg-empty", children: "No routes found" }) : /* @__PURE__ */ t("table", { ref: g, className: "ss-dbg-table", children: [
35
- /* @__PURE__ */ t("colgroup", { children: [
36
- /* @__PURE__ */ e("col", { style: { width: "70px" } }),
37
- /* @__PURE__ */ e("col", { style: { width: "25%" } }),
38
- /* @__PURE__ */ e("col", { style: { width: "15%" } }),
39
- /* @__PURE__ */ e("col", {}),
40
- /* @__PURE__ */ e("col", { style: { width: "20%" } })
41
- ] }),
42
- /* @__PURE__ */ e("thead", { children: /* @__PURE__ */ t("tr", { children: [
43
- /* @__PURE__ */ e("th", { children: "Method" }),
44
- /* @__PURE__ */ e("th", { children: "Pattern" }),
45
- /* @__PURE__ */ e("th", { children: "Name" }),
46
- /* @__PURE__ */ e("th", { children: "Handler" }),
47
- /* @__PURE__ */ e("th", { children: "Middleware" })
48
- ] }) }),
49
- /* @__PURE__ */ e("tbody", { children: l.map((s, a) => {
50
- const d = n && (s.pattern === n || new RegExp("^" + s.pattern.replace(/:[^/]+/g, "[^/]+") + "$").test(
51
- n
52
- ));
53
- return /* @__PURE__ */ t(
54
- "tr",
55
- {
56
- className: d ? "ss-dbg-current-route" : "",
57
- children: [
58
- /* @__PURE__ */ e("td", { children: /* @__PURE__ */ e("span", { className: `ss-dbg-method ss-dbg-method-${s.method.toLowerCase()}`, children: s.method }) }),
59
- /* @__PURE__ */ e("td", { className: "ss-dbg-c-text", children: s.pattern }),
60
- /* @__PURE__ */ e("td", { className: "ss-dbg-c-muted", children: s.name || "-" }),
61
- /* @__PURE__ */ e("td", { className: "ss-dbg-c-sql", children: s.handler }),
62
- /* @__PURE__ */ e("td", { className: "ss-dbg-c-dim", style: { fontSize: "10px" }, children: s.middleware.length > 0 ? s.middleware.join(", ") : "-" })
63
- ]
64
- },
65
- `${s.method}-${s.pattern}-${a}`
66
- );
67
- }) })
68
- ] })
69
- ] });
70
- }
71
- export {
72
- C as RoutesTab,
73
- C as default
74
- };