adonisjs-server-stats 1.11.6 → 1.12.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 (82) hide show
  1. package/README.md +13 -0
  2. package/dist/core/explain-utils.d.ts +77 -0
  3. package/dist/core/index.d.ts +8 -2
  4. package/dist/core/index.js +1089 -877
  5. package/dist/core/queries-columns.d.ts +42 -0
  6. package/dist/core/queries-controller.d.ts +94 -0
  7. package/dist/core/query-utils.d.ts +49 -0
  8. package/dist/core/types-diagnostics.d.ts +2 -0
  9. package/dist/react/{CacheSection-BYN53kYO.js → CacheSection-DZFOiOYH.js} +1 -1
  10. package/dist/react/{CacheTab-DOhuK05d.js → CacheTab-D8js5o69.js} +1 -1
  11. package/dist/react/{ConfigSection-B9EHh4Rp.js → ConfigSection-DoJmvNkF.js} +1 -1
  12. package/dist/react/{ConfigTab-C8kriE2b.js → ConfigTab-CDvljuBF.js} +1 -1
  13. package/dist/react/{CustomPaneTab-CvzQS_Wh.js → CustomPaneTab-Db9eIQ-9.js} +1 -1
  14. package/dist/react/{EmailsSection-BJyFJf7A.js → EmailsSection-D7oxvAjA.js} +1 -1
  15. package/dist/react/{EmailsTab-Ch8jp10B.js → EmailsTab-BITuGTQm.js} +1 -1
  16. package/dist/react/{EventsSection-DJPwHeT8.js → EventsSection-7mDZv70I.js} +1 -1
  17. package/dist/react/{EventsTab-B-FoehXC.js → EventsTab-DF13BChE.js} +1 -1
  18. package/dist/react/InternalsContent-BNOnSoi9.js +393 -0
  19. package/dist/react/{InternalsSection-B6VlVx5f.js → InternalsSection-BwrTfpjA.js} +1 -1
  20. package/dist/react/{InternalsTab-CkEKpRMU.js → InternalsTab--RD-L1dX.js} +1 -1
  21. package/dist/react/{JobsSection-DWF4i1t_.js → JobsSection-B_VJFWy6.js} +1 -1
  22. package/dist/react/{JobsTab-DqnifQXV.js → JobsTab-DK8Fl9nz.js} +1 -1
  23. package/dist/react/{LogEntryRow-CMMkqA9M.js → LogEntryRow-Bdie9SFe.js} +1 -1
  24. package/dist/react/{LogsSection-C1xC5aP4.js → LogsSection-CrWqxWRr.js} +2 -2
  25. package/dist/react/{LogsTab-CS4sLfLw.js → LogsTab-DYSpL637.js} +2 -2
  26. package/dist/react/{OverviewSection-CxvfOR0v.js → OverviewSection-CuaccMZt.js} +1 -1
  27. package/dist/react/QueriesContent-BDIx8zFn.js +288 -0
  28. package/dist/react/QueriesSection-CvGGh5Ij.js +117 -0
  29. package/dist/react/QueriesTab-C7CCwhVc.js +87 -0
  30. package/dist/react/{RequestsSection-DETN9oZb.js → RequestsSection-mENyeNsk.js} +2 -2
  31. package/dist/react/{RoutesSection-CmorkJeC.js → RoutesSection-DjovlaNS.js} +1 -1
  32. package/dist/react/{RoutesTab-CbzBOzpc.js → RoutesTab-CbQECiUc.js} +1 -1
  33. package/dist/react/{SplitPaneWrapper-BiIgT4ND.js → SplitPaneWrapper-DyRyH5Re.js} +1 -1
  34. package/dist/react/{TimelineTab-Ue9tUD_n.js → TimelineTab-BKTFbsPe.js} +2 -2
  35. package/dist/react/components/Dashboard/shared/DataTable.d.ts +1 -1
  36. package/dist/react/components/shared/QueriesContent.d.ts +33 -0
  37. package/dist/react/{index-DwDK-4oX.js → index-CAUHa8QX.js} +2 -2
  38. package/dist/react/index.js +1 -1
  39. package/dist/react/style.css +1 -1
  40. package/dist/src/collectors/db_pool_collector.js +17 -23
  41. package/dist/src/dashboard/query_explain_handler.d.ts +11 -0
  42. package/dist/src/dashboard/query_explain_handler.js +64 -11
  43. package/dist/src/debug/query_collector.d.ts +1 -0
  44. package/dist/src/debug/query_collector.js +3 -0
  45. package/dist/src/edge/client/dashboard.js +2 -2
  46. package/dist/src/edge/client/debug-panel-deferred.js +1 -1
  47. package/dist/src/edge/client-vue/dashboard.js +4 -4
  48. package/dist/src/edge/client-vue/debug-panel-deferred.js +2 -2
  49. package/dist/src/provider/diagnostics.d.ts +3 -0
  50. package/dist/src/provider/diagnostics.js +1 -0
  51. package/dist/src/provider/server_stats_provider.d.ts +7 -0
  52. package/dist/src/provider/server_stats_provider.js +38 -0
  53. package/dist/src/routes/debug_routes.d.ts +4 -0
  54. package/dist/src/routes/debug_routes.js +45 -0
  55. package/dist/src/routes/register_routes.d.ts +4 -0
  56. package/dist/src/routes/register_routes.js +2 -0
  57. package/dist/src/styles/components.css +254 -0
  58. package/dist/src/styles/dashboard.css +26 -185
  59. package/dist/src/styles/debug-panel.css +2 -24
  60. package/dist/vue/{CacheSection-DT2Mwf_s.js → CacheSection-Bx41lpfK.js} +1 -1
  61. package/dist/vue/{ConfigSection-BwKwS9lh.js → ConfigSection-fkfUdCmx.js} +1 -1
  62. package/dist/vue/{EmailsSection-B65g0FVS.js → EmailsSection-CbcDKF9Q.js} +1 -1
  63. package/dist/vue/{EventsSection-CxqtVF-o.js → EventsSection-CWbTYOBi.js} +1 -1
  64. package/dist/vue/{InternalsSection-BJUXE-5F.js → InternalsSection-jhTCuK3j.js} +149 -130
  65. package/dist/vue/{InternalsTab-DEMjqtlw.js → InternalsTab-521fxYYj.js} +152 -133
  66. package/dist/vue/{JobsSection-rMIyMb-g.js → JobsSection-CGGO6rtS.js} +1 -1
  67. package/dist/vue/{LogsSection-DmmZVJ7D.js → LogsSection-BPB-C-XA.js} +1 -1
  68. package/dist/vue/{OverviewSection-BMabyqw-.js → OverviewSection-BTcnPeoM.js} +1 -1
  69. package/dist/vue/QueriesSection-2SE3igQJ.js +411 -0
  70. package/dist/vue/QueriesTab-DO5XwJ--.js +112 -0
  71. package/dist/vue/{RequestsSection-CTu4jPZ_.js → RequestsSection-DXcG5Zok.js} +1 -1
  72. package/dist/vue/{RoutesSection-zQZDedL7.js → RoutesSection-BkNGWdoP.js} +1 -1
  73. package/dist/vue/components/Dashboard/sections/QueriesSection.vue.d.ts +1 -41
  74. package/dist/vue/{index-CM3yNVUR.js → index-CptF6Qbp.js} +2 -2
  75. package/dist/vue/index.js +1 -1
  76. package/dist/vue/style.css +1 -1
  77. package/package.json +1 -1
  78. package/dist/react/InternalsContent-O8ino9oM.js +0 -370
  79. package/dist/react/QueriesSection-CrMdU5Ax.js +0 -458
  80. package/dist/react/QueriesTab-x85PjkyS.js +0 -88
  81. package/dist/vue/QueriesSection-BfDFwGqH.js +0 -428
  82. package/dist/vue/QueriesTab-DuTG7cpC.js +0 -106
@@ -1,370 +0,0 @@
1
- import { useState as f, useRef as M, useCallback as N, useEffect as E } from "react";
2
- import { UnauthorizedError as j, formatConfigVal as I, isSecretKey as C, formatUptime as A, timeAgo as w, getTimerLabel as R, formatDuration as x, getIntegrationLabel as z, TAB_ICONS as $, classifyStatus as B } from "adonisjs-server-stats/core";
3
- import { u as D } from "./useApiClient-BVtNCmnL.js";
4
- import { jsx as e, jsxs as n, Fragment as y } from "react/jsx-runtime";
5
- function H(l = {}) {
6
- const {
7
- baseUrl: c = "",
8
- debugEndpoint: d = "/admin/api/debug",
9
- authToken: r,
10
- refreshInterval: a = 3e3
11
- } = l, [g, b] = f(null), [v, t] = f(!0), [i, s] = f(null), o = M(null), h = D(c, r), S = N(async () => {
12
- try {
13
- const T = await h().get(`${d}/diagnostics`);
14
- b(T), s(null), t(!1);
15
- } catch (u) {
16
- if (u instanceof j) {
17
- s(u), t(!1), o.current && (clearInterval(o.current), o.current = null);
18
- return;
19
- }
20
- s(u instanceof Error ? u : new Error(String(u))), t(!1);
21
- }
22
- }, [d, h]);
23
- return E(() => (t(!0), s(null), S(), o.current = setInterval(S, a), () => {
24
- o.current && (clearInterval(o.current), o.current = null);
25
- }), [S, a]), { data: g, isLoading: v, error: i };
26
- }
27
- function p({ status: l, prefix: c }) {
28
- const d = B(l);
29
- let r = `${c}-dot`;
30
- return d === "ok" ? r += ` ${c}-dot-ok` : d === "err" && (r += ` ${c}-dot-err`), /* @__PURE__ */ e("span", { className: r });
31
- }
32
- const k = () => /* @__PURE__ */ e(
33
- "svg",
34
- {
35
- xmlns: "http://www.w3.org/2000/svg",
36
- width: "12",
37
- height: "12",
38
- viewBox: $.eye.viewBox,
39
- fill: "none",
40
- stroke: "currentColor",
41
- strokeWidth: "2",
42
- strokeLinecap: "round",
43
- strokeLinejoin: "round",
44
- dangerouslySetInnerHTML: { __html: $.eye.elements.join("") }
45
- }
46
- ), L = () => /* @__PURE__ */ e(
47
- "svg",
48
- {
49
- xmlns: "http://www.w3.org/2000/svg",
50
- width: "12",
51
- height: "12",
52
- viewBox: $["eye-off"].viewBox,
53
- fill: "none",
54
- stroke: "currentColor",
55
- strokeWidth: "2",
56
- strokeLinecap: "round",
57
- strokeLinejoin: "round",
58
- dangerouslySetInnerHTML: { __html: $["eye-off"].elements.join("") }
59
- }
60
- );
61
- function V({ value: l }) {
62
- const [c, d] = f(!1);
63
- return /* @__PURE__ */ n("span", { children: [
64
- c ? l : "••••••••",
65
- " ",
66
- /* @__PURE__ */ e(
67
- "button",
68
- {
69
- type: "button",
70
- onClick: () => d((r) => !r),
71
- style: {
72
- background: "none",
73
- border: "1px solid var(--ss-border)",
74
- borderRadius: 3,
75
- padding: "0 4px",
76
- fontSize: "10px",
77
- color: "var(--ss-dim)",
78
- cursor: "pointer",
79
- verticalAlign: "middle"
80
- },
81
- children: c ? /* @__PURE__ */ e(L, {}) : /* @__PURE__ */ e(k, {})
82
- }
83
- )
84
- ] });
85
- }
86
- function O({ current: l, max: c, prefix: d }) {
87
- const r = c > 0 ? Math.min(100, Math.round(l / c * 100)) : 0, a = r >= 100;
88
- return /* @__PURE__ */ n("div", { className: `${d}-bar`, children: [
89
- /* @__PURE__ */ e("div", { className: `${d}-bar-track`, children: /* @__PURE__ */ e(
90
- "div",
91
- {
92
- className: `${d}-bar-fill${a ? ` ${d}-bar-fill-warn` : ""}`,
93
- style: { width: `${r}%` }
94
- }
95
- ) }),
96
- /* @__PURE__ */ n("span", { className: `${d}-bar-pct${a ? ` ${d}-bar-pct-warn` : ""}`, children: [
97
- r,
98
- "%"
99
- ] })
100
- ] });
101
- }
102
- function P({ config: l, prefix: c }) {
103
- const d = Object.entries(l);
104
- return d.length === 0 ? /* @__PURE__ */ e("span", { className: `${c}-c-dim`, children: "-" }) : /* @__PURE__ */ e("span", { className: `${c}-c-muted`, children: d.map(([r, a], g) => /* @__PURE__ */ n("span", { children: [
105
- g > 0 && ", ",
106
- /* @__PURE__ */ e("span", { className: `${c}-c-dim`, children: r }),
107
- "=",
108
- C(r) && typeof a == "string" ? /* @__PURE__ */ e(V, { value: a }) : /* @__PURE__ */ e("span", { children: I(a) })
109
- ] }, r)) });
110
- }
111
- function m({ label: l, value: c, prefix: d }) {
112
- return /* @__PURE__ */ n("div", { className: `${d}-info-card`, children: [
113
- /* @__PURE__ */ e("span", { className: `${d}-info-card-label`, children: l }),
114
- /* @__PURE__ */ e("span", { className: `${d}-info-card-value`, children: c })
115
- ] });
116
- }
117
- function Q({ data: l, tableClassName: c, classPrefix: d }) {
118
- const r = d || "ss-dash", [a, g] = f(/* @__PURE__ */ new Set()), b = N((t) => {
119
- g((i) => {
120
- const s = new Set(i);
121
- return s.has(t) ? s.delete(t) : s.add(t), s;
122
- });
123
- }, []), v = N(
124
- (t, i) => {
125
- if (i == null) return /* @__PURE__ */ e("span", { className: `${r}-c-dim`, children: "null" });
126
- if (typeof i == "boolean")
127
- return /* @__PURE__ */ e("span", { className: i ? `${r}-c-green` : `${r}-c-red`, children: String(i) });
128
- if (Array.isArray(i)) return /* @__PURE__ */ e("span", { children: i.join(", ") || "-" });
129
- const s = I(i);
130
- if (C(t)) {
131
- const o = a.has(t);
132
- return /* @__PURE__ */ n("span", { children: [
133
- o ? s : "••••••••",
134
- " ",
135
- /* @__PURE__ */ e(
136
- "button",
137
- {
138
- type: "button",
139
- onClick: () => b(t),
140
- style: {
141
- background: "none",
142
- border: "1px solid var(--ss-border)",
143
- borderRadius: 3,
144
- padding: "0 4px",
145
- fontSize: "10px",
146
- color: "var(--ss-dim)",
147
- cursor: "pointer",
148
- verticalAlign: "middle"
149
- },
150
- children: o ? /* @__PURE__ */ e(L, {}) : /* @__PURE__ */ e(k, {})
151
- }
152
- )
153
- ] });
154
- }
155
- return /* @__PURE__ */ e("span", { children: s });
156
- },
157
- [a, b, r]
158
- );
159
- return /* @__PURE__ */ n("div", { children: [
160
- /* @__PURE__ */ e("h3", { className: `${r}-internals-title`, children: "Package Info" }),
161
- /* @__PURE__ */ n("div", { className: `${r}-info-cards`, children: [
162
- /* @__PURE__ */ e(m, { label: "Version", value: l.package.version || "-", prefix: r }),
163
- /* @__PURE__ */ e(m, { label: "Node.js", value: l.package.nodeVersion || "-", prefix: r }),
164
- /* @__PURE__ */ e(m, { label: "AdonisJS", value: l.package.adonisVersion || "-", prefix: r }),
165
- /* @__PURE__ */ e(m, { label: "Uptime", value: A(l.package.uptime), prefix: r }),
166
- /* @__PURE__ */ e(m, { label: "Renderer", value: l.devToolbar?.renderer || "preact", prefix: r })
167
- ] }),
168
- l.collectors.length > 0 && /* @__PURE__ */ n(y, { children: [
169
- /* @__PURE__ */ e("h3", { className: `${r}-internals-title`, children: "Collectors" }),
170
- /* @__PURE__ */ n("table", { className: c, children: [
171
- /* @__PURE__ */ e("thead", { children: /* @__PURE__ */ n("tr", { children: [
172
- /* @__PURE__ */ e("th", { children: "Collector" }),
173
- /* @__PURE__ */ e("th", { children: "Status" }),
174
- /* @__PURE__ */ e("th", { children: "Last Error" }),
175
- /* @__PURE__ */ e("th", { children: "Config" })
176
- ] }) }),
177
- /* @__PURE__ */ e("tbody", { children: l.collectors.map((t) => /* @__PURE__ */ n("tr", { children: [
178
- /* @__PURE__ */ n("td", { children: [
179
- /* @__PURE__ */ e("code", { children: t.name }),
180
- t.label && t.label !== t.name && /* @__PURE__ */ n("span", { className: `${r}-c-dim`, children: [
181
- " ",
182
- t.label
183
- ] })
184
- ] }),
185
- /* @__PURE__ */ n("td", { children: [
186
- /* @__PURE__ */ e(p, { status: t.status, prefix: r }),
187
- t.status
188
- ] }),
189
- /* @__PURE__ */ e("td", { className: t.lastError ? `${r}-c-red` : `${r}-c-dim`, children: t.lastError ? /* @__PURE__ */ n(y, { children: [
190
- t.lastError,
191
- t.lastErrorAt && /* @__PURE__ */ e("span", { className: `${r}-c-dim`, style: { fontSize: "10px" }, children: w(t.lastErrorAt) })
192
- ] }) : "-" }),
193
- /* @__PURE__ */ e("td", { children: /* @__PURE__ */ e(P, { config: t.config, prefix: r }) })
194
- ] }, t.name)) })
195
- ] })
196
- ] }),
197
- /* @__PURE__ */ e("h3", { className: `${r}-internals-title`, children: "Buffers" }),
198
- /* @__PURE__ */ n("table", { className: c, children: [
199
- /* @__PURE__ */ e("thead", { children: /* @__PURE__ */ n("tr", { children: [
200
- /* @__PURE__ */ e("th", { children: "Buffer" }),
201
- /* @__PURE__ */ e("th", { children: "Usage" }),
202
- /* @__PURE__ */ e("th", { children: "Fill %" })
203
- ] }) }),
204
- /* @__PURE__ */ e("tbody", { children: Object.entries(l.buffers).map(([t, i]) => /* @__PURE__ */ n("tr", { children: [
205
- /* @__PURE__ */ e("td", { style: { textTransform: "capitalize" }, children: t }),
206
- /* @__PURE__ */ n("td", { children: [
207
- i.current.toLocaleString(),
208
- " / ",
209
- i.max.toLocaleString()
210
- ] }),
211
- /* @__PURE__ */ e("td", { children: /* @__PURE__ */ e(O, { current: i.current, max: i.max, prefix: r }) })
212
- ] }, t)) })
213
- ] }),
214
- /* @__PURE__ */ e("h3", { className: `${r}-internals-title`, children: "Timers" }),
215
- /* @__PURE__ */ n("table", { className: c, children: [
216
- /* @__PURE__ */ e("thead", { children: /* @__PURE__ */ n("tr", { children: [
217
- /* @__PURE__ */ e("th", { children: "Timer" }),
218
- /* @__PURE__ */ e("th", { children: "Status" }),
219
- /* @__PURE__ */ e("th", { children: "Interval" })
220
- ] }) }),
221
- /* @__PURE__ */ e("tbody", { children: Object.entries(l.timers).map(([t, i]) => /* @__PURE__ */ n("tr", { children: [
222
- /* @__PURE__ */ e("td", { children: R(t) }),
223
- /* @__PURE__ */ n("td", { children: [
224
- /* @__PURE__ */ e(p, { status: i.active ? "active" : "inactive", prefix: r }),
225
- /* @__PURE__ */ e("span", { className: i.active ? `${r}-c-green` : `${r}-c-dim`, children: i.active ? "active" : "inactive" })
226
- ] }),
227
- /* @__PURE__ */ e("td", { children: i.active ? i.intervalMs ? x(i.intervalMs) : i.debounceMs ? `${x(i.debounceMs)} (debounce)` : "-" : /* @__PURE__ */ e("span", { className: `${r}-c-dim`, children: "—" }) })
228
- ] }, t)) })
229
- ] }),
230
- /* @__PURE__ */ e("h3", { className: `${r}-internals-title`, children: "Integrations" }),
231
- /* @__PURE__ */ n("table", { className: c, children: [
232
- /* @__PURE__ */ e("thead", { children: /* @__PURE__ */ n("tr", { children: [
233
- /* @__PURE__ */ e("th", { children: "Integration" }),
234
- /* @__PURE__ */ e("th", { children: "Status" }),
235
- /* @__PURE__ */ e("th", { children: "Details" })
236
- ] }) }),
237
- /* @__PURE__ */ n("tbody", { children: [
238
- /* @__PURE__ */ n("tr", { children: [
239
- /* @__PURE__ */ e("td", { children: "Transmit (SSE)" }),
240
- /* @__PURE__ */ n("td", { children: [
241
- /* @__PURE__ */ e(p, { status: l.transmit.available ? "connected" : "inactive", prefix: r }),
242
- l.transmit.available ? "connected" : "unavailable"
243
- ] }),
244
- /* @__PURE__ */ e("td", { style: { fontSize: "11px" }, children: l.transmit.channels.length > 0 ? `Channels: ${l.transmit.channels.join(", ")}` : "-" })
245
- ] }),
246
- Object.entries(l.integrations).map(([t, i]) => {
247
- const s = i.active ?? i.available ?? !1, o = i.active ? "active" : i.available ? "available" : "unavailable";
248
- let h = i.mode ? `Mode: ${i.mode}` : "-";
249
- return t === "edgePlugin" && i.active ? h = "@serverStats() tag registered" : t === "cacheInspector" && i.available ? h = "Redis dependency detected" : t === "queueInspector" && i.available && (h = "Queue dependency detected"), /* @__PURE__ */ n("tr", { children: [
250
- /* @__PURE__ */ e("td", { children: z(t) }),
251
- /* @__PURE__ */ n("td", { children: [
252
- /* @__PURE__ */ e(p, { status: s ? "active" : "inactive", prefix: r }),
253
- o
254
- ] }),
255
- /* @__PURE__ */ e("td", { className: `${r}-c-dim`, style: { fontSize: "11px" }, children: h })
256
- ] }, t);
257
- })
258
- ] })
259
- ] }),
260
- l.storage && /* @__PURE__ */ n(y, { children: [
261
- /* @__PURE__ */ e("h3", { className: `${r}-internals-title`, children: "Storage (SQLite)" }),
262
- /* @__PURE__ */ n("table", { className: c, children: [
263
- /* @__PURE__ */ e("thead", { children: /* @__PURE__ */ n("tr", { children: [
264
- /* @__PURE__ */ e("th", { style: { width: "200px" }, children: "Metric" }),
265
- /* @__PURE__ */ e("th", { children: "Value" })
266
- ] }) }),
267
- /* @__PURE__ */ n("tbody", { children: [
268
- /* @__PURE__ */ n("tr", { children: [
269
- /* @__PURE__ */ e("td", { children: "Status" }),
270
- /* @__PURE__ */ n("td", { children: [
271
- /* @__PURE__ */ e(p, { status: l.storage.ready ? "ready" : "inactive", prefix: r }),
272
- l.storage.ready ? "ready" : "not ready"
273
- ] })
274
- ] }),
275
- /* @__PURE__ */ n("tr", { children: [
276
- /* @__PURE__ */ e("td", { children: "DB Path" }),
277
- /* @__PURE__ */ e("td", { children: /* @__PURE__ */ e("code", { children: l.storage.dbPath }) })
278
- ] }),
279
- /* @__PURE__ */ n("tr", { children: [
280
- /* @__PURE__ */ e("td", { children: "File Size" }),
281
- /* @__PURE__ */ n("td", { children: [
282
- l.storage.fileSizeMb.toFixed(1),
283
- " MB"
284
- ] })
285
- ] }),
286
- /* @__PURE__ */ n("tr", { children: [
287
- /* @__PURE__ */ e("td", { children: "WAL Size" }),
288
- /* @__PURE__ */ n("td", { children: [
289
- l.storage.walSizeMb.toFixed(1),
290
- " MB"
291
- ] })
292
- ] }),
293
- /* @__PURE__ */ n("tr", { children: [
294
- /* @__PURE__ */ e("td", { children: "Retention" }),
295
- /* @__PURE__ */ n("td", { children: [
296
- l.storage.retentionDays,
297
- " days"
298
- ] })
299
- ] }),
300
- /* @__PURE__ */ n("tr", { children: [
301
- /* @__PURE__ */ e("td", { children: "Last Cleanup" }),
302
- /* @__PURE__ */ e("td", { children: l.storage.lastCleanupAt ? w(l.storage.lastCleanupAt) : "-" })
303
- ] })
304
- ] })
305
- ] }),
306
- l.storage.tables.length > 0 && /* @__PURE__ */ n("table", { className: c, style: { marginTop: 8 }, children: [
307
- /* @__PURE__ */ e("thead", { children: /* @__PURE__ */ n("tr", { children: [
308
- /* @__PURE__ */ e("th", { children: "Table" }),
309
- /* @__PURE__ */ e("th", { children: "Rows" })
310
- ] }) }),
311
- /* @__PURE__ */ e("tbody", { children: l.storage.tables.map((t) => /* @__PURE__ */ n("tr", { children: [
312
- /* @__PURE__ */ e("td", { children: /* @__PURE__ */ e("code", { children: t.name }) }),
313
- /* @__PURE__ */ e("td", { children: t.rowCount.toLocaleString() })
314
- ] }, t.name)) })
315
- ] })
316
- ] }),
317
- /* @__PURE__ */ e("h3", { className: `${r}-internals-title`, children: "Resolved Config" }),
318
- /* @__PURE__ */ n("table", { className: c, children: [
319
- /* @__PURE__ */ e("thead", { children: /* @__PURE__ */ n("tr", { children: [
320
- /* @__PURE__ */ e("th", { style: { width: "200px" }, children: "Setting" }),
321
- /* @__PURE__ */ e("th", { children: "Value" })
322
- ] }) }),
323
- /* @__PURE__ */ n("tbody", { children: [
324
- /* @__PURE__ */ n("tr", { children: [
325
- /* @__PURE__ */ e("td", { children: "intervalMs" }),
326
- /* @__PURE__ */ e("td", { children: l.config.intervalMs })
327
- ] }),
328
- /* @__PURE__ */ n("tr", { children: [
329
- /* @__PURE__ */ e("td", { children: "transport" }),
330
- /* @__PURE__ */ e("td", { children: l.config.transport })
331
- ] }),
332
- /* @__PURE__ */ n("tr", { children: [
333
- /* @__PURE__ */ e("td", { children: "channelName" }),
334
- /* @__PURE__ */ e("td", { children: l.config.channelName })
335
- ] }),
336
- /* @__PURE__ */ n("tr", { children: [
337
- /* @__PURE__ */ e("td", { children: "endpoint" }),
338
- /* @__PURE__ */ e("td", { children: l.config.endpoint === !1 ? "false" : l.config.endpoint })
339
- ] }),
340
- /* @__PURE__ */ n("tr", { children: [
341
- /* @__PURE__ */ e("td", { children: "skipInTest" }),
342
- /* @__PURE__ */ e("td", { children: v("skipInTest", l.config.skipInTest) })
343
- ] }),
344
- /* @__PURE__ */ n("tr", { children: [
345
- /* @__PURE__ */ e("td", { children: "onStats callback" }),
346
- /* @__PURE__ */ e("td", { children: l.config.hasOnStatsCallback ? "defined" : "not defined" })
347
- ] }),
348
- /* @__PURE__ */ n("tr", { children: [
349
- /* @__PURE__ */ e("td", { children: "shouldShow callback" }),
350
- /* @__PURE__ */ e("td", { children: l.config.hasShouldShowCallback ? "defined" : "not defined" })
351
- ] })
352
- ] })
353
- ] }),
354
- /* @__PURE__ */ e("h4", { className: `${r}-internals-title`, children: "DevToolbar" }),
355
- /* @__PURE__ */ n("table", { className: c, children: [
356
- /* @__PURE__ */ e("thead", { children: /* @__PURE__ */ n("tr", { children: [
357
- /* @__PURE__ */ e("th", { style: { width: "200px" }, children: "Setting" }),
358
- /* @__PURE__ */ e("th", { children: "Value" })
359
- ] }) }),
360
- /* @__PURE__ */ e("tbody", { children: Object.entries(l.devToolbar).map(([t, i]) => /* @__PURE__ */ n("tr", { children: [
361
- /* @__PURE__ */ e("td", { children: t === "customPaneCount" ? "customPanes" : t }),
362
- /* @__PURE__ */ e("td", { children: t === "customPaneCount" ? `${i} registered` : v(t, i) })
363
- ] }, t)) })
364
- ] })
365
- ] });
366
- }
367
- export {
368
- Q as I,
369
- H as u
370
- };