adonisjs-server-stats 1.13.0 → 1.14.1

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 (150) hide show
  1. package/README.md +3 -2
  2. package/dist/configure.js +6 -1
  3. package/dist/core/collectors/collector.d.ts +83 -0
  4. package/dist/core/core/types.d.ts +186 -0
  5. package/dist/core/debug/types.d.ts +467 -0
  6. package/dist/core/index.js +184 -169
  7. package/dist/core/types.d.ts +855 -167
  8. package/dist/react/{CacheSection-CX2duJuc.js → CacheSection-DkLtukWz.js} +1 -1
  9. package/dist/react/{CacheTab-CgT4t0oZ.js → CacheTab-DWeXnEBI.js} +51 -46
  10. package/dist/react/ConfigContent-Bwvfl_G7.js +350 -0
  11. package/dist/react/{ConfigSection-Dt0FyeaW.js → ConfigSection-DaVbFPDg.js} +2 -2
  12. package/dist/react/{ConfigTab-KtiTtsrj.js → ConfigTab-D4640WJZ.js} +2 -2
  13. package/dist/react/{CustomPaneTab-15QoEplP.js → CustomPaneTab-DglmAVMC.js} +1 -1
  14. package/dist/react/{EmailsSection-YcJYR5eA.js → EmailsSection-vYx6ExTb.js} +1 -1
  15. package/dist/react/{EmailsTab-CUjubln_.js → EmailsTab-DKDrRmRH.js} +54 -49
  16. package/dist/react/{EventsSection-GGPoYSNv.js → EventsSection-CapH5xut.js} +1 -1
  17. package/dist/react/{EventsTab-Wdwr0_ny.js → EventsTab-BNVEySAm.js} +1 -1
  18. package/dist/react/{InternalsContent-BNOnSoi9.js → InternalsContent-C9lIA92C.js} +1 -1
  19. package/dist/react/{InternalsSection-BwrTfpjA.js → InternalsSection-lOv_UcSV.js} +1 -1
  20. package/dist/react/{InternalsTab--RD-L1dX.js → InternalsTab-BygoSorC.js} +1 -1
  21. package/dist/react/{JobsSection-BqqIh_DR.js → JobsSection-ZIQsJWid.js} +1 -1
  22. package/dist/react/{JobsTab-CBrU-ryL.js → JobsTab-DXQzXrDt.js} +1 -1
  23. package/dist/react/{LogEntryRow-BOrRkhRU.js → LogEntryRow-BWkHE51-.js} +1 -1
  24. package/dist/react/{LogsSection-Cm_lphM6.js → LogsSection-ConXdBkL.js} +2 -2
  25. package/dist/react/LogsTab-CJM47LPn.js +82 -0
  26. package/dist/react/{OverviewSection-XF7bakyM.js → OverviewSection-DOMu2qvl.js} +131 -131
  27. package/dist/react/{QueriesSection-DsQBKrNK.js → QueriesSection-DFsaOSJI.js} +1 -1
  28. package/dist/react/{QueriesTab-CxCC1GVq.js → QueriesTab-CY9CG_7L.js} +1 -1
  29. package/dist/react/RequestsSection-CC-eVHsl.js +326 -0
  30. package/dist/react/{RoutesSection-D0y5JQP4.js → RoutesSection-p1DMq41y.js} +1 -1
  31. package/dist/react/{RoutesTab-Y_alJVMV.js → RoutesTab-Cnqy8UcK.js} +1 -1
  32. package/dist/react/{SplitPaneWrapper-CZl1ouIT.js → SplitPaneWrapper-XgkA0QxE.js} +1 -1
  33. package/dist/react/{TimelineTab-HyqZpfbp.js → TimelineTab-1YOERxe5.js} +3 -3
  34. package/dist/react/index-DOSlCpZ9.js +1159 -0
  35. package/dist/react/index.js +1 -1
  36. package/dist/react/useApiClient-CtEG7rHs.js +11 -0
  37. package/dist/src/collectors/queue_collector.js +22 -6
  38. package/dist/src/config/deprecation_migration.js +11 -0
  39. package/dist/src/dashboard/cache_handlers.js +22 -2
  40. package/dist/src/dashboard/flush_manager.d.ts +2 -0
  41. package/dist/src/dashboard/flush_manager.js +17 -0
  42. package/dist/src/dashboard/integrations/config_inspector.d.ts +0 -1
  43. package/dist/src/dashboard/integrations/config_inspector.js +4 -2
  44. package/dist/src/dashboard/paginate_helper.d.ts +5 -0
  45. package/dist/src/dashboard/paginate_helper.js +16 -4
  46. package/dist/src/dashboard/query_explain_handler.d.ts +6 -1
  47. package/dist/src/dashboard/query_explain_handler.js +12 -2
  48. package/dist/src/dashboard/write_queue.d.ts +13 -0
  49. package/dist/src/dashboard/write_queue.js +34 -2
  50. package/dist/src/debug/debug_store.js +8 -1
  51. package/dist/src/debug/event_collector.js +4 -0
  52. package/dist/src/debug/query_collector.js +2 -0
  53. package/dist/src/debug/ring_buffer.js +8 -1
  54. package/dist/src/debug/trace_collector.js +34 -10
  55. package/dist/src/debug/types.d.ts +2 -0
  56. package/dist/src/define_config.js +1 -0
  57. package/dist/src/edge/client/dashboard.js +2 -2
  58. package/dist/src/edge/client/debug-panel-deferred.js +1 -1
  59. package/dist/src/edge/client/stats-bar.js +1 -1
  60. package/dist/src/edge/client-vue/dashboard.js +5 -5
  61. package/dist/src/edge/client-vue/debug-panel-deferred.js +2 -2
  62. package/dist/src/engine/request_metrics.js +8 -10
  63. package/dist/src/log_stream/log_stream_service.d.ts +1 -0
  64. package/dist/src/log_stream/log_stream_service.js +7 -5
  65. package/dist/src/prometheus/prometheus_collector.d.ts +9 -0
  66. package/dist/src/prometheus/prometheus_collector.js +11 -0
  67. package/dist/src/provider/dashboard_init.js +15 -0
  68. package/dist/src/provider/dashboard_setup.js +9 -2
  69. package/dist/src/provider/email_bridge.js +6 -2
  70. package/dist/src/provider/email_helpers.d.ts +9 -1
  71. package/dist/src/provider/email_helpers.js +32 -4
  72. package/dist/src/provider/pino_hook.d.ts +8 -0
  73. package/dist/src/provider/pino_hook.js +19 -1
  74. package/dist/src/provider/provider_helpers_extra.d.ts +2 -0
  75. package/dist/src/provider/provider_helpers_extra.js +17 -2
  76. package/dist/src/provider/server_stats_provider.js +19 -1
  77. package/dist/src/provider/shutdown_helpers.js +2 -0
  78. package/dist/src/provider/toolbar_setup.js +17 -14
  79. package/dist/src/routes/dashboard_routes.js +96 -62
  80. package/dist/src/routes/debug_routes.js +45 -35
  81. package/dist/src/routes/no_session_middleware.d.ts +6 -3
  82. package/dist/src/routes/no_session_middleware.js +7 -3
  83. package/dist/src/routes/register_routes.d.ts +8 -0
  84. package/dist/src/routes/register_routes.js +19 -0
  85. package/dist/src/types.d.ts +31 -0
  86. package/dist/src/utils/app_import.js +12 -4
  87. package/dist/vue/CacheSection-CxEBVVkF.js +156 -0
  88. package/dist/vue/ConfigSection-BiRAiaHj.js +415 -0
  89. package/dist/vue/EmailsSection-Dl44qyqY.js +208 -0
  90. package/dist/vue/{EmailsTab-CwIF1fik.js → EmailsTab-Diya54CP.js} +6 -5
  91. package/dist/vue/{EventsSection-BpgkWIwM.js → EventsSection-CWjeitjU.js} +1 -1
  92. package/dist/vue/{InternalsTab-521fxYYj.js → InternalsTab-Z3c82glB.js} +15 -15
  93. package/dist/vue/{JobsSection-DrghFEKL.js → JobsSection-DOBb4LjZ.js} +1 -1
  94. package/dist/vue/LogsSection-CXx-HOWJ.js +260 -0
  95. package/dist/vue/{OverviewSection-BAgZTPjY.js → OverviewSection-CyfNQ8uV.js} +318 -302
  96. package/dist/vue/{QueriesSection-CUpwhp7u.js → QueriesSection-CXBsFp-y.js} +1 -1
  97. package/dist/vue/{RequestsSection-D8P2xpF2.js → RequestsSection-YTIaZGZd.js} +151 -145
  98. package/dist/vue/{RoutesSection-0qB81hTT.js → RoutesSection-CDKMey49.js} +1 -1
  99. package/dist/vue/composables/useApiClient.d.ts +8 -1
  100. package/dist/vue/index-14x39RI_.js +1239 -0
  101. package/dist/vue/index.js +1 -1
  102. package/dist/vue/style.css +1 -1
  103. package/package.json +13 -9
  104. package/dist/react/ConfigContent-CnsEI4j3.js +0 -397
  105. package/dist/react/LogsTab-jKwv9G7Q.js +0 -79
  106. package/dist/react/RequestsSection-D8cMbZU0.js +0 -321
  107. package/dist/react/index-CsprmgzI.js +0 -1121
  108. package/dist/react/useApiClient-BVtNCmnL.js +0 -9
  109. package/dist/vue/CacheSection-DRqV3YX2.js +0 -149
  110. package/dist/vue/ConfigSection-C6pQCHAL.js +0 -576
  111. package/dist/vue/EmailsSection-BTNw3ZU2.js +0 -206
  112. package/dist/vue/LogsSection-BDxx9Bfi.js +0 -258
  113. package/dist/vue/index-30jLw-_w.js +0 -1232
  114. /package/dist/core/{api-client.d.ts → core/api-client.d.ts} +0 -0
  115. /package/dist/core/{config-utils.d.ts → core/config-utils.d.ts} +0 -0
  116. /package/dist/core/{constants.d.ts → core/constants.d.ts} +0 -0
  117. /package/dist/core/{dashboard-api.d.ts → core/dashboard-api.d.ts} +0 -0
  118. /package/dist/core/{dashboard-data-controller.d.ts → core/dashboard-data-controller.d.ts} +0 -0
  119. /package/dist/core/{dashboard-data-helpers.d.ts → core/dashboard-data-helpers.d.ts} +0 -0
  120. /package/dist/core/{debug-data-controller.d.ts → core/debug-data-controller.d.ts} +0 -0
  121. /package/dist/core/{define-config-helpers.d.ts → core/define-config-helpers.d.ts} +0 -0
  122. /package/dist/core/{explain-utils.d.ts → core/explain-utils.d.ts} +0 -0
  123. /package/dist/core/{feature-detect-helpers.d.ts → core/feature-detect-helpers.d.ts} +0 -0
  124. /package/dist/core/{feature-detect.d.ts → core/feature-detect.d.ts} +0 -0
  125. /package/dist/core/{field-resolvers.d.ts → core/field-resolvers.d.ts} +0 -0
  126. /package/dist/core/{formatters-helpers.d.ts → core/formatters-helpers.d.ts} +0 -0
  127. /package/dist/core/{formatters.d.ts → core/formatters.d.ts} +0 -0
  128. /package/dist/core/{history-buffer.d.ts → core/history-buffer.d.ts} +0 -0
  129. /package/dist/core/{icons.d.ts → core/icons.d.ts} +0 -0
  130. /package/dist/core/{index.d.ts → core/index.d.ts} +0 -0
  131. /package/dist/core/{internals-utils.d.ts → core/internals-utils.d.ts} +0 -0
  132. /package/dist/core/{job-utils.d.ts → core/job-utils.d.ts} +0 -0
  133. /package/dist/core/{log-utils-helpers.d.ts → core/log-utils-helpers.d.ts} +0 -0
  134. /package/dist/core/{log-utils.d.ts → core/log-utils.d.ts} +0 -0
  135. /package/dist/core/{metrics.d.ts → core/metrics.d.ts} +0 -0
  136. /package/dist/core/{pagination.d.ts → core/pagination.d.ts} +0 -0
  137. /package/dist/core/{queries-columns.d.ts → core/queries-columns.d.ts} +0 -0
  138. /package/dist/core/{queries-controller.d.ts → core/queries-controller.d.ts} +0 -0
  139. /package/dist/core/{query-utils.d.ts → core/query-utils.d.ts} +0 -0
  140. /package/dist/core/{resizable-columns.d.ts → core/resizable-columns.d.ts} +0 -0
  141. /package/dist/core/{routes.d.ts → core/routes.d.ts} +0 -0
  142. /package/dist/core/{server-stats-controller.d.ts → core/server-stats-controller.d.ts} +0 -0
  143. /package/dist/core/{sparkline.d.ts → core/sparkline.d.ts} +0 -0
  144. /package/dist/core/{split-pane.d.ts → core/split-pane.d.ts} +0 -0
  145. /package/dist/core/{theme.d.ts → core/theme.d.ts} +0 -0
  146. /package/dist/core/{trace-utils.d.ts → core/trace-utils.d.ts} +0 -0
  147. /package/dist/core/{transmit-adapter.d.ts → core/transmit-adapter.d.ts} +0 -0
  148. /package/dist/core/{transmit-helpers.d.ts → core/transmit-helpers.d.ts} +0 -0
  149. /package/dist/core/{types-dashboard.d.ts → core/types-dashboard.d.ts} +0 -0
  150. /package/dist/core/{types-diagnostics.d.ts → core/types-diagnostics.d.ts} +0 -0
@@ -1,576 +0,0 @@
1
- import { defineComponent as re, inject as m, ref as w, computed as x, openBlock as i, createElementBlock as r, createElementVNode as n, normalizeClass as a, createCommentVNode as b, Fragment as _, toDisplayString as u, unref as c, renderList as A, withModifiers as I, normalizeStyle as R } from "vue";
2
- import { u as ue } from "./index-30jLw-_w.js";
3
- import { isRedactedValue as d, flattenConfig as z, TAB_ICONS as g, countLeaves as ce, collectTopLevelObjectKeys as pe, copyWithFeedback as de, formatFlatValue as ve } from "adonisjs-server-stats/core";
4
- const fe = { style: { position: "relative", flex: 1 } }, he = ["value"], ge = ["title", "onClick"], ye = ["viewBox", "innerHTML"], be = ["viewBox", "innerHTML"], $e = ["onClick"], we = { key: 0 }, xe = ["title", "onClick"], ke = ["viewBox", "innerHTML"], Ce = ["viewBox", "innerHTML"], _e = ["onClick"], Se = { key: 0 }, Be = { style: { padding: "4px 16px", fontSize: "10px", color: "var(--ss-muted)" } }, Le = ["onClick"], He = ["title"], Te = ["title"], je = ["title", "onClick"], Me = ["viewBox", "innerHTML"], me = ["viewBox", "innerHTML"], Ae = ["onClick"], Ie = ["title", "onClick"], Ee = ["viewBox", "innerHTML"], Ve = ["viewBox", "innerHTML"], Oe = {
5
- key: 1,
6
- style: { color: "var(--ss-dim)" }
7
- }, Re = {
8
- key: 3,
9
- style: { color: "var(--ss-amber-fg)" }
10
- }, ze = {
11
- key: 4,
12
- style: { color: "var(--ss-purple-fg)" }
13
- }, Ne = { key: 5 }, Ke = ["onClick"], l = "ss-dash", Pe = /* @__PURE__ */ re({
14
- __name: "ConfigSection",
15
- setup(We) {
16
- const P = m("ss-refresh-key", w(0)), U = m("ss-base-url", ""), Y = m("ss-dashboard-endpoint", "/__stats/api"), q = m("ss-auth-token", void 0), { data: N, loading: G } = ue(() => "config", {
17
- baseUrl: U,
18
- dashboardEndpoint: Y,
19
- authToken: q,
20
- refreshKey: P
21
- }), S = w(""), k = w(""), $ = w("app"), C = w(/* @__PURE__ */ new Set()), E = w("Copy JSON"), v = w(/* @__PURE__ */ new Set()), K = w(/* @__PURE__ */ new Map());
22
- let V = null;
23
- function Q(t) {
24
- S.value = t, V && clearTimeout(V), V = setTimeout(() => {
25
- k.value = t;
26
- }, 200);
27
- }
28
- function X(t) {
29
- return t.target.value;
30
- }
31
- const h = x(() => N.value ?? null), W = x(() => {
32
- const t = h.value?.env ?? {}, o = k.value.toLowerCase();
33
- return Object.entries(t).filter(([e, s]) => {
34
- if (!o) return !0;
35
- const f = d(s) ? s.display : s == null ? "" : String(s);
36
- return e.toLowerCase().includes(o) || f.toLowerCase().includes(o);
37
- });
38
- }), O = x(() => {
39
- const t = h.value?.app ?? {}, o = k.value.toLowerCase();
40
- return z(t, "").filter((s) => {
41
- const f = d(s.value) ? s.value.display : s.value === null || s.value === void 0 ? "" : String(s.value);
42
- return s.path.toLowerCase().includes(o) || f.toLowerCase().includes(o);
43
- });
44
- }), Z = x(() => {
45
- const t = h.value?.app ?? {};
46
- return z(t, "").length;
47
- }), ee = x(() => {
48
- const t = h.value?.app;
49
- return !t || typeof t != "object" || Array.isArray(t) || d(t) ? [] : Object.keys(t);
50
- });
51
- function te(t) {
52
- const o = new Set(C.value);
53
- o.has(t) ? o.delete(t) : o.add(t), C.value = o;
54
- }
55
- function ne() {
56
- if (!h.value) return;
57
- const t = $.value === "app" ? h.value.app : h.value.env;
58
- if (!t) return;
59
- const o = pe(t);
60
- C.value = new Set(o);
61
- }
62
- function le() {
63
- C.value = /* @__PURE__ */ new Set();
64
- }
65
- function oe() {
66
- if (!h.value) return;
67
- const t = $.value === "app" ? h.value.app : h.value.env;
68
- navigator.clipboard?.writeText(JSON.stringify(t, null, 2)).then(() => {
69
- E.value = "Copied!", setTimeout(() => {
70
- E.value = "Copy JSON";
71
- }, 1500);
72
- }).catch(() => {
73
- });
74
- }
75
- function B(t) {
76
- const o = new Set(v.value);
77
- o.has(t) ? o.delete(t) : o.add(t), v.value = o;
78
- }
79
- function L(t, o) {
80
- K.value.set(t, o);
81
- }
82
- function H(t, o, e) {
83
- e.stopPropagation(), de(t, K.value.get(o) ?? null, l);
84
- }
85
- function se(t) {
86
- return t !== null && typeof t == "object" && !Array.isArray(t) && !d(t);
87
- }
88
- function ae(t, o) {
89
- return z(t, o);
90
- }
91
- function D(t, o) {
92
- return t.indexOf(o + ".") === 0 ? t.slice(o.length + 1) : t;
93
- }
94
- function y(t) {
95
- return ve(t);
96
- }
97
- function F(t) {
98
- return d(t) ? t.display : t == null ? "null" : String(t);
99
- }
100
- function p(t) {
101
- const o = h.value?.app;
102
- return !o || typeof o != "object" ? null : o[t] ?? null;
103
- }
104
- function T(t, o) {
105
- return d(t) ? o ? t.value : t.display : "";
106
- }
107
- function ie() {
108
- S.value = "", k.value = "";
109
- }
110
- function J(t) {
111
- return d(t) ? t.display : "";
112
- }
113
- const j = x(() => g.eye.elements.join("")), M = x(() => g["eye-off"].elements.join(""));
114
- return (t, o) => (i(), r("div", null, [
115
- n("div", {
116
- class: a(`${l}-config-toolbar`),
117
- style: { display: "flex", alignItems: "center", gap: "8px", padding: "8px 12px" }
118
- }, [
119
- n("button", {
120
- type: "button",
121
- class: a(`${l}-config-tab${$.value === "app" ? ` ${l}-active` : ""}`),
122
- onClick: o[0] || (o[0] = (e) => $.value = "app")
123
- }, " App Config ", 2),
124
- n("button", {
125
- type: "button",
126
- class: a(`${l}-config-tab${$.value === "env" ? ` ${l}-active` : ""}`),
127
- onClick: o[1] || (o[1] = (e) => $.value = "env")
128
- }, " Env ", 2),
129
- n("div", fe, [
130
- n("input", {
131
- type: "text",
132
- class: a(`${l}-search`),
133
- placeholder: "Search keys and values...",
134
- value: S.value,
135
- style: { width: "100%" },
136
- onInput: o[2] || (o[2] = (e) => Q(X(e)))
137
- }, null, 42, he),
138
- S.value ? (i(), r("button", {
139
- key: 0,
140
- type: "button",
141
- style: {
142
- position: "absolute",
143
- right: "6px",
144
- top: "50%",
145
- transform: "translateY(-50%)",
146
- background: "none",
147
- border: "none",
148
- cursor: "pointer",
149
- fontSize: "14px",
150
- color: "var(--ss-dim)",
151
- padding: "0 2px",
152
- lineHeight: 1
153
- },
154
- onClick: ie
155
- }, " × ")) : b("", !0)
156
- ]),
157
- $.value === "app" && !k.value ? (i(), r(_, { key: 0 }, [
158
- n("button", {
159
- type: "button",
160
- class: a(`${l}-btn`),
161
- onClick: ne
162
- }, "Expand All", 2),
163
- n("button", {
164
- type: "button",
165
- class: a(`${l}-btn`),
166
- onClick: le
167
- }, "Collapse All", 2)
168
- ], 64)) : b("", !0),
169
- n("button", {
170
- type: "button",
171
- class: a(`${l}-btn`),
172
- onClick: oe
173
- }, u(E.value), 3)
174
- ], 2),
175
- c(G) && !c(N) ? (i(), r("div", {
176
- key: 0,
177
- class: a(`${l}-empty`)
178
- }, "Loading config...", 2)) : h.value ? $.value === "env" ? (i(), r("div", {
179
- key: 2,
180
- class: a(`${l}-config-table-wrap`)
181
- }, [
182
- n("table", {
183
- class: a(`${l}-table ${l}-config-env-table`)
184
- }, [
185
- o[4] || (o[4] = n("thead", null, [
186
- n("tr", null, [
187
- n("th", null, "Variable"),
188
- n("th", null, "Value"),
189
- n("th", { style: { width: "36px" } })
190
- ])
191
- ], -1)),
192
- n("tbody", null, [
193
- (i(!0), r(_, null, A(W.value, ([e, s]) => (i(), r("tr", { key: e }, [
194
- n("td", {
195
- class: a(`${l}-env-key`)
196
- }, [
197
- n("span", {
198
- class: a(`${l}-config-key`)
199
- }, u(e), 3)
200
- ], 2),
201
- n("td", {
202
- class: a(`${l}-env-val`)
203
- }, [
204
- c(d)(s) ? (i(), r("span", {
205
- key: 0,
206
- class: a(`${l}-config-redacted`),
207
- style: { display: "inline-flex", alignItems: "center", gap: "4px" }
208
- }, [
209
- n("span", null, u(T(s, v.value.has(e))), 1),
210
- n("button", {
211
- type: "button",
212
- class: a(`${l}-btn`),
213
- title: v.value.has(e) ? "Hide" : "Reveal",
214
- style: {
215
- padding: "0 4px",
216
- fontSize: "0.85em",
217
- lineHeight: 1,
218
- minWidth: "auto"
219
- },
220
- onClick: I((f) => B(e), ["stop"])
221
- }, [
222
- v.value.has(e) ? (i(), r("svg", {
223
- key: 0,
224
- width: "14",
225
- height: "14",
226
- viewBox: c(g)["eye-off"].viewBox,
227
- fill: "none",
228
- stroke: "currentColor",
229
- "stroke-width": "2",
230
- "stroke-linecap": "round",
231
- "stroke-linejoin": "round",
232
- innerHTML: M.value
233
- }, null, 8, ye)) : (i(), r("svg", {
234
- key: 1,
235
- width: "14",
236
- height: "14",
237
- viewBox: c(g).eye.viewBox,
238
- fill: "none",
239
- stroke: "currentColor",
240
- "stroke-width": "2",
241
- "stroke-linecap": "round",
242
- "stroke-linejoin": "round",
243
- innerHTML: j.value
244
- }, null, 8, be))
245
- ], 10, ge)
246
- ], 2)) : (i(), r("span", {
247
- key: 1,
248
- class: a(`${l}-config-val`)
249
- }, u(F(s)), 3))
250
- ], 2),
251
- n("td", null, [
252
- c(d)(s) ? b("", !0) : (i(), r("button", {
253
- key: 0,
254
- type: "button",
255
- class: a(`${l}-copy-row-btn`),
256
- title: "Copy",
257
- ref_for: !0,
258
- ref: (f) => L(`env-${e}`, f),
259
- onClick: (f) => H(`${e}=${F(s)}`, `env-${e}`, f)
260
- }, " ⎘ ", 10, $e))
261
- ])
262
- ]))), 128)),
263
- W.value.length === 0 ? (i(), r("tr", we, [...o[3] || (o[3] = [
264
- n("td", {
265
- colspan: "3",
266
- style: { textAlign: "center", color: "var(--ss-dim)" }
267
- }, " No matching variables ", -1)
268
- ])])) : b("", !0)
269
- ])
270
- ], 2)
271
- ], 2)) : k.value ? (i(), r("div", {
272
- key: 3,
273
- class: a(`${l}-config-table-wrap`)
274
- }, [
275
- n("table", {
276
- class: a(`${l}-table`)
277
- }, [
278
- o[6] || (o[6] = n("thead", null, [
279
- n("tr", null, [
280
- n("th", null, "Path"),
281
- n("th", null, "Value"),
282
- n("th", { style: { width: "36px" } })
283
- ])
284
- ], -1)),
285
- n("tbody", null, [
286
- (i(!0), r(_, null, A(O.value, (e) => (i(), r("tr", {
287
- key: e.path
288
- }, [
289
- n("td", null, [
290
- n("span", {
291
- class: a(`${l}-config-key`),
292
- style: { whiteSpace: "nowrap" }
293
- }, u(e.path), 3)
294
- ]),
295
- n("td", null, [
296
- c(d)(e.value) ? (i(), r("span", {
297
- key: 0,
298
- class: a(`${l}-config-redacted`),
299
- style: { display: "inline-flex", alignItems: "center", gap: "4px" }
300
- }, [
301
- n("span", null, u(T(e.value, v.value.has(e.path))), 1),
302
- n("button", {
303
- type: "button",
304
- class: a(`${l}-btn`),
305
- title: v.value.has(e.path) ? "Hide" : "Reveal",
306
- style: {
307
- padding: "0 4px",
308
- fontSize: "0.85em",
309
- lineHeight: 1,
310
- minWidth: "auto"
311
- },
312
- onClick: I((s) => B(e.path), ["stop"])
313
- }, [
314
- v.value.has(e.path) ? (i(), r("svg", {
315
- key: 0,
316
- width: "14",
317
- height: "14",
318
- viewBox: c(g)["eye-off"].viewBox,
319
- fill: "none",
320
- stroke: "currentColor",
321
- "stroke-width": "2",
322
- "stroke-linecap": "round",
323
- "stroke-linejoin": "round",
324
- innerHTML: M.value
325
- }, null, 8, ke)) : (i(), r("svg", {
326
- key: 1,
327
- width: "14",
328
- height: "14",
329
- viewBox: c(g).eye.viewBox,
330
- fill: "none",
331
- stroke: "currentColor",
332
- "stroke-width": "2",
333
- "stroke-linecap": "round",
334
- "stroke-linejoin": "round",
335
- innerHTML: j.value
336
- }, null, 8, Ce))
337
- ], 10, xe)
338
- ], 2)) : (i(), r("span", {
339
- key: 1,
340
- class: a(`${l}-config-val`),
341
- style: R({ wordBreak: "break-all", color: y(e.value).color })
342
- }, u(y(e.value).text), 7))
343
- ]),
344
- n("td", null, [
345
- c(d)(e.value) ? b("", !0) : (i(), r("button", {
346
- key: 0,
347
- type: "button",
348
- class: a(`${l}-copy-row-btn`),
349
- title: "Copy",
350
- ref_for: !0,
351
- ref: (s) => L(`search-${e.path}`, s),
352
- onClick: (s) => H(
353
- `${e.path}: ${c(d)(e.value) ? J(e.value) : y(e.value).text}`,
354
- `search-${e.path}`,
355
- s
356
- )
357
- }, " ⎘ ", 10, _e))
358
- ])
359
- ]))), 128)),
360
- O.value.length === 0 ? (i(), r("tr", Se, [...o[5] || (o[5] = [
361
- n("td", {
362
- colspan: "3",
363
- style: { textAlign: "center", color: "var(--ss-dim)" }
364
- }, " No matching entries ", -1)
365
- ])])) : b("", !0)
366
- ])
367
- ], 2),
368
- n("div", Be, u(O.value.length) + " of " + u(Z.value) + " entries ", 1)
369
- ], 2)) : (i(), r("div", {
370
- key: 4,
371
- class: a(`${l}-config-table-wrap`)
372
- }, [
373
- n("div", {
374
- class: a(`${l}-config-sections`)
375
- }, [
376
- (i(!0), r(_, null, A(ee.value, (e) => (i(), r("div", {
377
- key: e,
378
- class: a(`${l}-config-section`)
379
- }, [
380
- se(p(e)) ? (i(), r(_, { key: 0 }, [
381
- n("div", {
382
- class: a(`${l}-config-section-header`),
383
- style: { cursor: "pointer" },
384
- onClick: (s) => te(e)
385
- }, [
386
- n("span", {
387
- class: a(`${l}-config-toggle`)
388
- }, u(C.value.has(e) ? "▼" : "▶"), 3),
389
- n("span", {
390
- class: a(`${l}-config-key`)
391
- }, u(e), 3),
392
- n("span", {
393
- class: a(`${l}-config-count`)
394
- }, u(c(ce)(p(e))) + " entries ", 3)
395
- ], 10, Le),
396
- C.value.has(e) ? (i(), r("div", {
397
- key: 0,
398
- class: a(`${l}-config-section-body`)
399
- }, [
400
- n("table", {
401
- class: a(`${l}-table ${l}-config-inner-table`)
402
- }, [
403
- o[7] || (o[7] = n("thead", null, [
404
- n("tr", null, [
405
- n("th", { style: { width: "35%" } }, "Key"),
406
- n("th", null, "Value"),
407
- n("th", { style: { width: "36px" } })
408
- ])
409
- ], -1)),
410
- n("tbody", null, [
411
- (i(!0), r(_, null, A(ae(p(e), e), (s) => (i(), r("tr", {
412
- key: s.path
413
- }, [
414
- n("td", {
415
- title: D(s.path, e)
416
- }, [
417
- n("span", {
418
- class: a(`${l}-config-key`)
419
- }, u(D(s.path, e)), 3)
420
- ], 8, He),
421
- n("td", {
422
- title: c(d)(s.value) ? J(s.value) : y(s.value).text
423
- }, [
424
- c(d)(s.value) ? (i(), r("span", {
425
- key: 0,
426
- class: a(`${l}-config-redacted`),
427
- style: { display: "inline-flex", alignItems: "center", gap: "4px" }
428
- }, [
429
- n("span", null, u(T(s.value, v.value.has(s.path))), 1),
430
- n("button", {
431
- type: "button",
432
- class: a(`${l}-btn`),
433
- title: v.value.has(s.path) ? "Hide" : "Reveal",
434
- style: {
435
- padding: "0 4px",
436
- fontSize: "0.85em",
437
- lineHeight: 1,
438
- minWidth: "auto"
439
- },
440
- onClick: I((f) => B(s.path), ["stop"])
441
- }, [
442
- v.value.has(s.path) ? (i(), r("svg", {
443
- key: 0,
444
- width: "14",
445
- height: "14",
446
- viewBox: c(g)["eye-off"].viewBox,
447
- fill: "none",
448
- stroke: "currentColor",
449
- "stroke-width": "2",
450
- "stroke-linecap": "round",
451
- "stroke-linejoin": "round",
452
- innerHTML: M.value
453
- }, null, 8, Me)) : (i(), r("svg", {
454
- key: 1,
455
- width: "14",
456
- height: "14",
457
- viewBox: c(g).eye.viewBox,
458
- fill: "none",
459
- stroke: "currentColor",
460
- "stroke-width": "2",
461
- "stroke-linecap": "round",
462
- "stroke-linejoin": "round",
463
- innerHTML: j.value
464
- }, null, 8, me))
465
- ], 10, je)
466
- ], 2)) : (i(), r("span", {
467
- key: 1,
468
- class: a(`${l}-config-val`),
469
- style: R({ color: y(s.value).color })
470
- }, u(y(s.value).text), 7))
471
- ], 8, Te),
472
- n("td", null, [
473
- c(d)(s.value) ? b("", !0) : (i(), r("button", {
474
- key: 0,
475
- type: "button",
476
- class: a(`${l}-copy-row-btn`),
477
- title: "Copy",
478
- ref_for: !0,
479
- ref: (f) => L(`inner-${s.path}`, f),
480
- onClick: (f) => H(
481
- `${s.path}: ${y(s.value).text}`,
482
- `inner-${s.path}`,
483
- f
484
- )
485
- }, " ⎘ ", 10, Ae))
486
- ])
487
- ]))), 128))
488
- ])
489
- ], 2)
490
- ], 2)) : b("", !0)
491
- ], 64)) : (i(), r("div", {
492
- key: 1,
493
- class: a(`${l}-config-section-header ${l}-config-leaf`),
494
- style: { cursor: "default" }
495
- }, [
496
- n("span", {
497
- class: a(`${l}-config-toggle`),
498
- style: { visibility: "hidden" }
499
- }, "•", 2),
500
- n("span", {
501
- class: a(`${l}-config-key`)
502
- }, u(e), 3),
503
- n("span", {
504
- class: a(`${l}-config-val`),
505
- style: { marginLeft: "8px" }
506
- }, [
507
- c(d)(p(e)) ? (i(), r("span", {
508
- key: 0,
509
- class: a(`${l}-config-redacted`),
510
- style: { display: "inline-flex", alignItems: "center", gap: "4px" }
511
- }, [
512
- n("span", null, u(T(p(e), v.value.has(e))), 1),
513
- n("button", {
514
- type: "button",
515
- class: a(`${l}-btn`),
516
- title: v.value.has(e) ? "Hide" : "Reveal",
517
- style: {
518
- padding: "0 4px",
519
- fontSize: "0.85em",
520
- lineHeight: 1,
521
- minWidth: "auto"
522
- },
523
- onClick: I((s) => B(e), ["stop"])
524
- }, [
525
- v.value.has(e) ? (i(), r("svg", {
526
- key: 0,
527
- width: "14",
528
- height: "14",
529
- viewBox: c(g)["eye-off"].viewBox,
530
- fill: "none",
531
- stroke: "currentColor",
532
- "stroke-width": "2",
533
- "stroke-linecap": "round",
534
- "stroke-linejoin": "round",
535
- innerHTML: M.value
536
- }, null, 8, Ee)) : (i(), r("svg", {
537
- key: 1,
538
- width: "14",
539
- height: "14",
540
- viewBox: c(g).eye.viewBox,
541
- fill: "none",
542
- stroke: "currentColor",
543
- "stroke-width": "2",
544
- "stroke-linecap": "round",
545
- "stroke-linejoin": "round",
546
- innerHTML: j.value
547
- }, null, 8, Ve))
548
- ], 10, Ie)
549
- ], 2)) : p(e) === null || p(e) === void 0 ? (i(), r("span", Oe, "null")) : typeof p(e) == "boolean" ? (i(), r("span", {
550
- key: 2,
551
- style: R({ color: p(e) ? "var(--ss-green-fg)" : "var(--ss-red-fg)" })
552
- }, u(String(p(e))), 5)) : typeof p(e) == "number" ? (i(), r("span", Re, u(String(p(e))), 1)) : Array.isArray(p(e)) ? (i(), r("span", ze, u(y(p(e)).text), 1)) : (i(), r("span", Ne, u(String(p(e))), 1))
553
- ], 2),
554
- c(d)(p(e)) ? b("", !0) : (i(), r("button", {
555
- key: 0,
556
- type: "button",
557
- class: a(`${l}-copy-row-btn`),
558
- style: { marginLeft: "4px" },
559
- title: "Copy",
560
- ref_for: !0,
561
- ref: (s) => L(`leaf-${e}`, s),
562
- onClick: (s) => H(`${e}: ${y(p(e)).text}`, `leaf-${e}`, s)
563
- }, " ⎘ ", 10, Ke))
564
- ], 2))
565
- ], 2))), 128))
566
- ], 2)
567
- ], 2)) : (i(), r("div", {
568
- key: 1,
569
- class: a(`${l}-empty`)
570
- }, "Config not available", 2))
571
- ]));
572
- }
573
- });
574
- export {
575
- Pe as default
576
- };