@lunora/studio 1.0.0-alpha.56 → 1.0.0-alpha.58

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 (147) hide show
  1. package/dist/index.d.ts +61 -4
  2. package/dist/index.js +13 -11
  3. package/dist/mount.d.ts +1 -1
  4. package/dist/mount.js +1 -1
  5. package/dist/packem_chunks/ApiTab.js +3 -3
  6. package/dist/packem_chunks/AuditPanel.js +4 -4
  7. package/dist/packem_chunks/DeploymentHealthPanel.js +664 -0
  8. package/dist/packem_chunks/ExportImportPanel.js +3 -3
  9. package/dist/packem_chunks/FileBrowser.js +3 -3
  10. package/dist/packem_chunks/FunctionRunner.js +2 -2
  11. package/dist/packem_chunks/FunctionStatsPanel.js +4 -4
  12. package/dist/packem_chunks/HealthPanel.js +3 -3
  13. package/dist/packem_chunks/InsightsPanel.js +4 -4
  14. package/dist/packem_chunks/LogsPanel.js +537 -89
  15. package/dist/packem_chunks/MailPanel.js +4 -4
  16. package/dist/packem_chunks/MetricsPanel.js +475 -244
  17. package/dist/packem_chunks/MigrationsPanel.js +4 -4
  18. package/dist/packem_chunks/NotificationsPanel.js +306 -0
  19. package/dist/packem_chunks/PitrPanel.js +2 -2
  20. package/dist/packem_chunks/SchemaViewer.js +2 -2
  21. package/dist/packem_chunks/SecurityAdvisorPanel.js +3 -3
  22. package/dist/packem_chunks/SettingsPanel.js +3 -3
  23. package/dist/packem_chunks/SqlEditorPanel.js +5 -5
  24. package/dist/packem_chunks/TableEditor.js +3 -3
  25. package/dist/packem_chunks/agents-panel.js +4 -4
  26. package/dist/packem_chunks/analytics-panel.js +1 -1
  27. package/dist/packem_chunks/auth-audit-panel.js +247 -0
  28. package/dist/packem_chunks/auth-config-panel.js +1 -1
  29. package/dist/packem_chunks/auth-sessions-panel.js +2 -2
  30. package/dist/packem_chunks/containers-panel.js +2 -2
  31. package/dist/packem_chunks/dashboards-panel.js +3 -3
  32. package/dist/packem_chunks/fanout-panel.js +3 -3
  33. package/dist/packem_chunks/flags-panel.js +3 -3
  34. package/dist/packem_chunks/issues-panel.js +3 -3
  35. package/dist/packem_chunks/kv-browser.js +2 -2
  36. package/dist/packem_chunks/log-drains-panel.js +1 -1
  37. package/dist/packem_chunks/organizations-panel.js +3 -3
  38. package/dist/packem_chunks/payments-panel.js +31 -4
  39. package/dist/packem_chunks/permissions-panel.js +4 -4
  40. package/dist/packem_chunks/queues-panel.js +4 -4
  41. package/dist/packem_chunks/rls-panel.js +3 -3
  42. package/dist/packem_chunks/schedule-panel.js +3 -3
  43. package/dist/packem_chunks/storage-rules-panel.js +3 -3
  44. package/dist/packem_chunks/subscriptions-panel.js +3 -3
  45. package/dist/packem_chunks/traces-panel.js +128 -115
  46. package/dist/packem_chunks/users-panel.js +3 -3
  47. package/dist/packem_chunks/vector-browser.js +1 -1
  48. package/dist/packem_chunks/workflows-panel.js +3 -3
  49. package/dist/packem_shared/{ADMIN_FUNCTIONS-C1LXrovV.js → ADMIN_FUNCTIONS-P2UzJscH.js} +3 -0
  50. package/dist/packem_shared/{ApiDocsPanel-cYkYKjK3.js → ApiDocsPanel-DNDpeR5O.js} +2 -2
  51. package/dist/packem_shared/{ApiReferencePanel-Dd8pcswz.js → ApiReferencePanel-ChlRsAXU.js} +1 -1
  52. package/dist/packem_shared/{CommandPalette-BXV4eKf5.js → CommandPalette-BpkopP5f.js} +1 -1
  53. package/dist/packem_shared/{DataBrowser-CowupumK.js → DataBrowser-obTn4sKX.js} +6 -6
  54. package/dist/packem_shared/{GlobalDataBrowser-D8h1fTL1.js → GlobalDataBrowser-BCaohHZ5.js} +3 -3
  55. package/dist/packem_shared/{HomePanel-B12QgvIn.js → HomePanel-DCRj3hGB.js} +4 -4
  56. package/dist/packem_shared/{OpenRpcReferencePanel-CWaf0ZtX.js → OpenRpcReferencePanel-CIeQE1aE.js} +1 -1
  57. package/dist/packem_shared/{ScheduledJobs-Cz5Tr-M6.js → ScheduledJobs-BQzQo84k.js} +2 -2
  58. package/dist/packem_shared/{Studio-DV1PhCIl.js → Studio-DnlPCbID.js} +4 -4
  59. package/dist/packem_shared/{StudioApp-BF2rK77z.js → StudioApp-CzqlB4zO.js} +2 -2
  60. package/dist/packem_shared/{advisor-view-1RaDWED7.js → advisor-view-D95sN-wO.js} +1 -1
  61. package/dist/packem_shared/{app.d-C-kxb-1T.d.ts → app.d-bRPJhby-.d.ts} +1 -1
  62. package/dist/packem_shared/{data-grid-C9I16KWr.js → data-grid-BywzWfek.js} +1 -1
  63. package/dist/packem_shared/{error-alert-vIPQoN3Y.js → error-alert-D9uIFJUS.js} +1 -1
  64. package/dist/packem_shared/{grid-features-B_fZH4iQ.js → grid-features-ZOLhHKrR.js} +1 -1
  65. package/dist/packem_shared/{home-panel-DDo_fi19.js → home-panel-BRAA2UlM.js} +3 -3
  66. package/dist/packem_shared/{internal-zwBoOv24.js → internal-DzHCc2Rq.js} +10 -1
  67. package/dist/packem_shared/{reference-view-DUULLuOi.js → reference-view-DfXN7oWP.js} +1 -1
  68. package/dist/packem_shared/{result-chart-DZradBAS.js → result-chart-Bf9mbCIo.js} +1 -1
  69. package/dist/packem_shared/{studio-CuNuEnSJ.js → studio-8QSXbZ98.js} +684 -609
  70. package/dist/packem_shared/{table-list-sidebar-huX4VmgI.js → table-list-sidebar-gCE17v9B.js} +1 -1
  71. package/dist/packem_shared/trace-handoff-CGolF3KS.js +38 -0
  72. package/dist/packem_shared/{use-admin-query-BGJ010yZ.js → use-admin-query-C7JNuQp-.js} +1 -1
  73. package/dist/packem_shared/{use-async-submit-DGCtuDyz.js → use-async-submit-rnSk_jXl.js} +2 -2
  74. package/dist/standalone/{chunk-WOYQG5AM.js → chunk-2YTF6LJ6.js} +1 -1
  75. package/dist/standalone/chunk-3LJEGSMK.js +11 -0
  76. package/dist/standalone/{chunk-OOLK6C5I.js → chunk-56XQYNUJ.js} +1 -1
  77. package/dist/standalone/chunk-5QT5JRXD.js +3 -0
  78. package/dist/standalone/{chunk-VC2VDAUO.js → chunk-6RLPR7PL.js} +1 -1
  79. package/dist/standalone/{chunk-XFINDIAB.js → chunk-6V74EUPK.js} +1 -1
  80. package/dist/standalone/{chunk-RCSULEDU.js → chunk-7EE33WLB.js} +1 -1
  81. package/dist/standalone/{chunk-XCNYUUD6.js → chunk-AN4RKMKW.js} +1 -1
  82. package/dist/standalone/{chunk-S7BCXJWD.js → chunk-AXNGWSBM.js} +1 -1
  83. package/dist/standalone/{chunk-4A7VE2UO.js → chunk-AXZILWRM.js} +1 -1
  84. package/dist/standalone/{chunk-EGANQQLW.js → chunk-C7RHEBOH.js} +1 -1
  85. package/dist/standalone/chunk-CSWIYOB3.js +1 -0
  86. package/dist/standalone/{chunk-AL5UKM6M.js → chunk-D3VAON25.js} +1 -1
  87. package/dist/standalone/{chunk-HNIDN3RX.js → chunk-DDLQN67F.js} +1 -1
  88. package/dist/standalone/chunk-DGHW5JG5.js +1 -0
  89. package/dist/standalone/{chunk-6RW37KKD.js → chunk-DMCSOTAE.js} +1 -1
  90. package/dist/standalone/{chunk-E5Z2TAAR.js → chunk-E3BKETAS.js} +1 -1
  91. package/dist/standalone/{chunk-LJE6PGHD.js → chunk-E3OXNN6O.js} +1 -1
  92. package/dist/standalone/chunk-E6BOGDIS.js +1 -0
  93. package/dist/standalone/{chunk-FDWXYXOM.js → chunk-F2YMCQ6B.js} +1 -1
  94. package/dist/standalone/{chunk-D73WYMRU.js → chunk-F7GE4X2U.js} +1 -1
  95. package/dist/standalone/{chunk-3W4CSGDO.js → chunk-FAVUOGJR.js} +1 -1
  96. package/dist/standalone/{chunk-YS7NUMAN.js → chunk-FXP6256Q.js} +1 -1
  97. package/dist/standalone/{chunk-RVVADT2N.js → chunk-G6CTAYHJ.js} +1 -1
  98. package/dist/standalone/chunk-H42W62SE.js +1 -0
  99. package/dist/standalone/{chunk-5XO36X4C.js → chunk-HBGS4SEX.js} +8 -8
  100. package/dist/standalone/{chunk-25CDYYNE.js → chunk-HTF5ZX4I.js} +1 -1
  101. package/dist/standalone/{chunk-6ZGXWDSY.js → chunk-I2PS4L74.js} +1 -1
  102. package/dist/standalone/{chunk-LJ3KEIPO.js → chunk-J7OGP4NN.js} +1 -1
  103. package/dist/standalone/{chunk-3BYY75EO.js → chunk-L2LN3MK4.js} +1 -1
  104. package/dist/standalone/{chunk-2U3KE6IP.js → chunk-LT3FH6MW.js} +1 -1
  105. package/dist/standalone/{chunk-ZXLEXF4X.js → chunk-LXULVPEM.js} +3 -3
  106. package/dist/standalone/{chunk-XTOCLVRS.js → chunk-LZUWZBPE.js} +1 -1
  107. package/dist/standalone/{chunk-2DCA6LV7.js → chunk-M4JM3TOY.js} +1 -1
  108. package/dist/standalone/{chunk-OEIBZ5AI.js → chunk-MLA5ZAEB.js} +1 -1
  109. package/dist/standalone/{chunk-WQC5IIF7.js → chunk-MRBI5HNQ.js} +1 -1
  110. package/dist/standalone/{chunk-CHNXZYAC.js → chunk-N5XX4HOL.js} +1 -1
  111. package/dist/standalone/{chunk-SPACAIAR.js → chunk-NKFXMDOD.js} +1 -1
  112. package/dist/standalone/{chunk-D54HL2MW.js → chunk-NPSNKFHE.js} +1 -1
  113. package/dist/standalone/{chunk-WCLFE2ZB.js → chunk-O7FVPUCO.js} +1 -1
  114. package/dist/standalone/{chunk-GVFODXW2.js → chunk-OKQXTLFX.js} +1 -1
  115. package/dist/standalone/{chunk-G4GGGHEV.js → chunk-QAIM6KWT.js} +1 -1
  116. package/dist/standalone/{chunk-7YGTGBP7.js → chunk-QCPMTB6W.js} +1 -1
  117. package/dist/standalone/{chunk-LYAWJGSH.js → chunk-QQ2LOSZL.js} +1 -1
  118. package/dist/standalone/{chunk-XZWFP2GI.js → chunk-QVUQXJCT.js} +1 -1
  119. package/dist/standalone/{chunk-6LQ3FXP2.js → chunk-R2GMHLJY.js} +1 -1
  120. package/dist/standalone/{chunk-4F72YCTU.js → chunk-RD5UG2YL.js} +1 -1
  121. package/dist/standalone/chunk-RJTIP3WF.js +1 -0
  122. package/dist/standalone/chunk-SOC5CY3F.js +1 -0
  123. package/dist/standalone/{chunk-JWCCDDLY.js → chunk-SS7JLF2I.js} +1 -1
  124. package/dist/standalone/{chunk-VDOUWYIZ.js → chunk-SWWYUGPL.js} +1 -1
  125. package/dist/standalone/chunk-TEWVD66F.js +1 -0
  126. package/dist/standalone/{chunk-ULOBAURC.js → chunk-TTXRHJUP.js} +1 -1
  127. package/dist/standalone/{chunk-BZ5BHTVF.js → chunk-UKDHGVOC.js} +1 -1
  128. package/dist/standalone/{chunk-5IGHDPEP.js → chunk-UPNTMJFF.js} +1 -1
  129. package/dist/standalone/{chunk-FQUNSQLG.js → chunk-WMDH2CIZ.js} +1 -1
  130. package/dist/standalone/{chunk-DOLG4V3A.js → chunk-XN6QYJQ6.js} +1 -1
  131. package/dist/standalone/chunk-Y4U6CC22.js +1 -0
  132. package/dist/standalone/{chunk-SWMBBYJU.js → chunk-Y7PD5KP4.js} +1 -1
  133. package/dist/standalone/chunk-YFIPHCEC.js +1 -0
  134. package/dist/standalone/chunk-YJXOWLFJ.js +1 -0
  135. package/dist/standalone/{chunk-2XJ3WRKW.js → chunk-YNN6NFRZ.js} +1 -1
  136. package/dist/standalone/{chunk-DBCP55V6.js → chunk-YUGHRVPD.js} +1 -1
  137. package/dist/standalone/studio.js +1 -1
  138. package/dist/styles.css +1 -1
  139. package/package.json +6 -6
  140. package/dist/standalone/chunk-5SXQWGTH.js +0 -1
  141. package/dist/standalone/chunk-DGWFJ3GW.js +0 -1
  142. package/dist/standalone/chunk-ILGPO3PK.js +0 -3
  143. package/dist/standalone/chunk-MHGJUKCZ.js +0 -1
  144. package/dist/standalone/chunk-N3V74RBP.js +0 -1
  145. package/dist/standalone/chunk-OBFYFJYZ.js +0 -1
  146. package/dist/standalone/chunk-S2G7OH5T.js +0 -11
  147. package/dist/standalone/chunk-VJABWVPW.js +0 -1
@@ -0,0 +1,247 @@
1
+ import { c } from 'react/compiler-runtime';
2
+ import { useState } from 'react';
3
+ import { E as ErrorAlert } from '../packem_shared/error-alert-D9uIFJUS.js';
4
+ import { B as Badge } from '../packem_shared/badge-B2PKA1-5.js';
5
+ import { B as Button } from '../packem_shared/button-BhsN2uZH.js';
6
+ import { C as Card, a as CardContent } from '../packem_shared/card-F2vH_aj2.js';
7
+ import { E as EmptyState } from '../packem_shared/empty-state-DY_oe0k6.js';
8
+ import { I as Input } from '../packem_shared/input-XH4r1Pt1.js';
9
+ import { T as Table, a as TableHeader, b as TableRow, c as TableHead, d as TableBody, e as TableCell } from '../packem_shared/table-DsCa9Qp9.js';
10
+ import { u as useAdminQuery } from '../packem_shared/use-admin-query-C7JNuQp-.js';
11
+ import { useT } from '../packem_shared/DEFAULT_LOCALE-CiX4W7Kr.js';
12
+ import { ADMIN_FUNCTIONS } from '../packem_shared/ADMIN_FUNCTIONS-P2UzJscH.js';
13
+ import { i as formatTimestamp } from '../packem_shared/internal-DzHCc2Rq.js';
14
+ import { jsxDEV } from 'react/jsx-dev-runtime';
15
+
16
+ const AuthAuditPanel = () => {
17
+ const $ = c(39);
18
+ const t = useT();
19
+ const [search, setSearch] = useState("");
20
+ let t0;
21
+ if ($[0] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel")) {
22
+ t0 = {};
23
+ $[0] = t0;
24
+ } else {
25
+ t0 = $[0];
26
+ }
27
+ const {
28
+ data,
29
+ error,
30
+ errorSource,
31
+ isLoading,
32
+ refetch
33
+ } = useAdminQuery(ADMIN_FUNCTIONS.getAuthAuditLog, t0);
34
+ let t1;
35
+ if ($[1] !== data?.entries || $[2] !== search) {
36
+ const entries = data?.entries ?? [];
37
+ const needle = search.trim().toLowerCase();
38
+ t1 = needle === "" ? entries : entries.filter((entry) => entry.event.toLowerCase().includes(needle) || (entry.actorId ?? "").toLowerCase().includes(needle) || (entry.actorEmail ?? "").toLowerCase().includes(needle) || (entry.ip ?? "").toLowerCase().includes(needle) || entry.outcome.toLowerCase().includes(needle));
39
+ $[1] = data?.entries;
40
+ $[2] = search;
41
+ $[3] = t1;
42
+ } else {
43
+ t1 = $[3];
44
+ }
45
+ const filtered = t1;
46
+ let t2;
47
+ if ($[4] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel")) {
48
+ t2 = (event) => {
49
+ setSearch(event.target.value);
50
+ };
51
+ $[4] = t2;
52
+ } else {
53
+ t2 = $[4];
54
+ }
55
+ const onSearchChange = t2;
56
+ let t3;
57
+ if ($[5] !== t) {
58
+ t3 = t("Filter security events");
59
+ $[5] = t;
60
+ $[6] = t3;
61
+ } else {
62
+ t3 = $[6];
63
+ }
64
+ let t4;
65
+ if ($[7] !== t) {
66
+ t4 = t("filter event, actor, IP");
67
+ $[7] = t;
68
+ $[8] = t4;
69
+ } else {
70
+ t4 = $[8];
71
+ }
72
+ let t5;
73
+ if ($[9] !== search || $[10] !== t3 || $[11] !== t4) {
74
+ t5 = /* @__PURE__ */ jsxDEV(Input, {
75
+ "aria-label": t3,
76
+ className: "h-8 w-56",
77
+ "data-testid": "aa-search",
78
+ onChange: onSearchChange,
79
+ placeholder: t4,
80
+ value: search
81
+ }, void 0, false);
82
+ $[9] = search;
83
+ $[10] = t3;
84
+ $[11] = t4;
85
+ $[12] = t5;
86
+ } else {
87
+ t5 = $[12];
88
+ }
89
+ let t6;
90
+ if ($[13] !== refetch) {
91
+ t6 = () => {
92
+ refetch();
93
+ };
94
+ $[13] = refetch;
95
+ $[14] = t6;
96
+ } else {
97
+ t6 = $[14];
98
+ }
99
+ let t7;
100
+ if ($[15] !== t) {
101
+ t7 = t("Refresh");
102
+ $[15] = t;
103
+ $[16] = t7;
104
+ } else {
105
+ t7 = $[16];
106
+ }
107
+ let t8;
108
+ if ($[17] !== t6 || $[18] !== t7) {
109
+ t8 = /* @__PURE__ */ jsxDEV(Button, {
110
+ "data-testid": "aa-refresh",
111
+ onClick: t6,
112
+ size: "xs",
113
+ type: "button",
114
+ variant: "ghost",
115
+ children: t7
116
+ }, void 0, false);
117
+ $[17] = t6;
118
+ $[18] = t7;
119
+ $[19] = t8;
120
+ } else {
121
+ t8 = $[19];
122
+ }
123
+ let t9;
124
+ if ($[20] !== t5 || $[21] !== t8) {
125
+ t9 = /* @__PURE__ */ jsxDEV("div", {
126
+ className: "flex flex-wrap items-center gap-2",
127
+ children: [t5, t8]
128
+ }, void 0, true);
129
+ $[20] = t5;
130
+ $[21] = t8;
131
+ $[22] = t9;
132
+ } else {
133
+ t9 = $[22];
134
+ }
135
+ let t10;
136
+ if ($[23] !== error || $[24] !== errorSource) {
137
+ t10 = error !== null && /* @__PURE__ */ jsxDEV(ErrorAlert, {
138
+ error: errorSource,
139
+ testId: "aa-error"
140
+ }, void 0, false);
141
+ $[23] = error;
142
+ $[24] = errorSource;
143
+ $[25] = t10;
144
+ } else {
145
+ t10 = $[25];
146
+ }
147
+ let t11;
148
+ if ($[26] !== error || $[27] !== filtered.length || $[28] !== isLoading || $[29] !== t) {
149
+ t11 = error === null && !isLoading && filtered.length === 0 && /* @__PURE__ */ jsxDEV(EmptyState, {
150
+ description: t("Authentication and security events are recorded here."),
151
+ testId: "aa-empty",
152
+ title: t("No security events.")
153
+ }, void 0, false);
154
+ $[26] = error;
155
+ $[27] = filtered.length;
156
+ $[28] = isLoading;
157
+ $[29] = t;
158
+ $[30] = t11;
159
+ } else {
160
+ t11 = $[30];
161
+ }
162
+ let t12;
163
+ if ($[31] !== filtered || $[32] !== t) {
164
+ t12 = filtered.length > 0 && /* @__PURE__ */ jsxDEV(Card, {
165
+ className: "overflow-hidden py-0",
166
+ children: /* @__PURE__ */ jsxDEV(CardContent, {
167
+ className: "max-h-[30rem] overflow-auto px-0",
168
+ children: /* @__PURE__ */ jsxDEV(Table, {
169
+ "data-testid": "aa-table",
170
+ children: [/* @__PURE__ */ jsxDEV(TableHeader, {
171
+ children: /* @__PURE__ */ jsxDEV(TableRow, {
172
+ children: [/* @__PURE__ */ jsxDEV(TableHead, {
173
+ children: t("time")
174
+ }, void 0, false), /* @__PURE__ */ jsxDEV(TableHead, {
175
+ children: t("event")
176
+ }, void 0, false), /* @__PURE__ */ jsxDEV(TableHead, {
177
+ children: t("actor")
178
+ }, void 0, false), /* @__PURE__ */ jsxDEV(TableHead, {
179
+ children: t("ip / user agent")
180
+ }, void 0, false), /* @__PURE__ */ jsxDEV(TableHead, {
181
+ children: t("outcome")
182
+ }, void 0, false)]
183
+ }, void 0, true)
184
+ }, void 0, false), /* @__PURE__ */ jsxDEV(TableBody, {
185
+ children: filtered.map((entry_0) => /* @__PURE__ */ jsxDEV(TableRow, {
186
+ "data-testid": "aa-row",
187
+ children: [/* @__PURE__ */ jsxDEV(TableCell, {
188
+ className: "text-muted-foreground tabular-nums",
189
+ children: formatTimestamp(entry_0.ts, "—")
190
+ }, void 0, false), /* @__PURE__ */ jsxDEV(TableCell, {
191
+ children: /* @__PURE__ */ jsxDEV(Badge, {
192
+ variant: "secondary",
193
+ children: entry_0.event
194
+ }, void 0, false)
195
+ }, void 0, false), /* @__PURE__ */ jsxDEV(TableCell, {
196
+ className: "max-w-[24ch] truncate font-mono text-xs",
197
+ title: entry_0.actorId ?? void 0,
198
+ children: entry_0.actorEmail ?? entry_0.actorId ?? /* @__PURE__ */ jsxDEV("span", {
199
+ className: "text-muted-foreground",
200
+ children: "—"
201
+ }, void 0, false)
202
+ }, void 0, false), /* @__PURE__ */ jsxDEV(TableCell, {
203
+ className: "max-w-[28ch] truncate text-xs text-muted-foreground",
204
+ title: entry_0.userAgent ?? void 0,
205
+ children: [entry_0.ip ?? /* @__PURE__ */ jsxDEV("span", {
206
+ className: "text-muted-foreground",
207
+ children: "—"
208
+ }, void 0, false), entry_0.userAgent !== void 0 && /* @__PURE__ */ jsxDEV("span", {
209
+ className: "ml-1 opacity-70",
210
+ children: ["· ", entry_0.userAgent]
211
+ }, void 0, true)]
212
+ }, void 0, true), /* @__PURE__ */ jsxDEV(TableCell, {
213
+ children: /* @__PURE__ */ jsxDEV(Badge, {
214
+ variant: entry_0.outcome === "failure" ? "destructive" : "outline",
215
+ children: t(entry_0.outcome)
216
+ }, void 0, false)
217
+ }, void 0, false)]
218
+ }, entry_0.seq, true))
219
+ }, void 0, false)]
220
+ }, void 0, true)
221
+ }, void 0, false)
222
+ }, void 0, false);
223
+ $[31] = filtered;
224
+ $[32] = t;
225
+ $[33] = t12;
226
+ } else {
227
+ t12 = $[33];
228
+ }
229
+ let t13;
230
+ if ($[34] !== t10 || $[35] !== t11 || $[36] !== t12 || $[37] !== t9) {
231
+ t13 = /* @__PURE__ */ jsxDEV("div", {
232
+ className: "flex flex-col gap-4",
233
+ "data-testid": "lunora-auth-audit",
234
+ children: [t9, t10, t11, t12]
235
+ }, void 0, true);
236
+ $[34] = t10;
237
+ $[35] = t11;
238
+ $[36] = t12;
239
+ $[37] = t9;
240
+ $[38] = t13;
241
+ } else {
242
+ t13 = $[38];
243
+ }
244
+ return t13;
245
+ };
246
+
247
+ export { AuthAuditPanel };
@@ -2,7 +2,7 @@ import { c } from 'react/compiler-runtime';
2
2
  import { useLunora } from '@lunora/react';
3
3
  import { B as Badge } from '../packem_shared/badge-B2PKA1-5.js';
4
4
  import { C as Card, a as CardContent } from '../packem_shared/card-F2vH_aj2.js';
5
- import { a as useClientQuery } from '../packem_shared/use-admin-query-BGJ010yZ.js';
5
+ import { a as useClientQuery } from '../packem_shared/use-admin-query-C7JNuQp-.js';
6
6
  import { useT } from '../packem_shared/DEFAULT_LOCALE-CiX4W7Kr.js';
7
7
  import { jsxDEV, Fragment } from 'react/jsx-dev-runtime';
8
8
 
@@ -4,10 +4,10 @@ import { B as Button } from '../packem_shared/button-BhsN2uZH.js';
4
4
  import { C as Card, a as CardContent } from '../packem_shared/card-F2vH_aj2.js';
5
5
  import { E as EmptyState } from '../packem_shared/empty-state-DY_oe0k6.js';
6
6
  import { T as Table, a as TableHeader, b as TableRow, c as TableHead, d as TableBody, e as TableCell } from '../packem_shared/table-DsCa9Qp9.js';
7
- import { a as useClientQuery } from '../packem_shared/use-admin-query-BGJ010yZ.js';
7
+ import { a as useClientQuery } from '../packem_shared/use-admin-query-C7JNuQp-.js';
8
8
  import { useAutoRefresh } from '../packem_shared/DEFAULT_AUTO_REFRESH_MS-Vxwaxx51.js';
9
9
  import { useT } from '../packem_shared/DEFAULT_LOCALE-CiX4W7Kr.js';
10
- import { i as formatTimestamp, f as fireAndForget } from '../packem_shared/internal-zwBoOv24.js';
10
+ import { i as formatTimestamp, f as fireAndForget } from '../packem_shared/internal-DzHCc2Rq.js';
11
11
  import { jsxDEV } from 'react/jsx-dev-runtime';
12
12
 
13
13
  const SESSION_LIMIT = 200;
@@ -5,9 +5,9 @@ import { B as Badge } from '../packem_shared/badge-B2PKA1-5.js';
5
5
  import { C as Card, a as CardContent } from '../packem_shared/card-F2vH_aj2.js';
6
6
  import { E as EmptyState } from '../packem_shared/empty-state-DY_oe0k6.js';
7
7
  import { T as Table, a as TableHeader, b as TableRow, c as TableHead, d as TableBody, e as TableCell } from '../packem_shared/table-DsCa9Qp9.js';
8
- import { u as useAdminQuery } from '../packem_shared/use-admin-query-BGJ010yZ.js';
8
+ import { u as useAdminQuery } from '../packem_shared/use-admin-query-C7JNuQp-.js';
9
9
  import { useT } from '../packem_shared/DEFAULT_LOCALE-CiX4W7Kr.js';
10
- import { ADMIN_FUNCTIONS } from '../packem_shared/ADMIN_FUNCTIONS-C1LXrovV.js';
10
+ import { ADMIN_FUNCTIONS } from '../packem_shared/ADMIN_FUNCTIONS-P2UzJscH.js';
11
11
  import { jsxDEV } from 'react/jsx-dev-runtime';
12
12
 
13
13
  const CONTAINER_LOG_PREFIX = "container:";
@@ -1,6 +1,6 @@
1
1
  import { c } from 'react/compiler-runtime';
2
2
  import { useState, useCallback, useEffect } from 'react';
3
- import { S as SqlResultChart } from '../packem_shared/result-chart-DZradBAS.js';
3
+ import { S as SqlResultChart } from '../packem_shared/result-chart-Bf9mbCIo.js';
4
4
  import { A as Alert } from '../packem_shared/alert-CdAET2K_.js';
5
5
  import { B as Button } from '../packem_shared/button-BhsN2uZH.js';
6
6
  import { b as CardTitle, c as CardHeader, a as CardContent, C as Card } from '../packem_shared/card-F2vH_aj2.js';
@@ -8,8 +8,8 @@ import { E as EmptyState } from '../packem_shared/empty-state-DY_oe0k6.js';
8
8
  import { useT } from '../packem_shared/DEFAULT_LOCALE-CiX4W7Kr.js';
9
9
  import { u as usePersistedList, n as newId } from '../packem_shared/browser-storage-L4gOP5gJ.js';
10
10
  import { useLunora } from '@lunora/react';
11
- import { ADMIN_FUNCTIONS } from '../packem_shared/ADMIN_FUNCTIONS-C1LXrovV.js';
12
- import { c as callOptions, e as errorMessage, f as fireAndForget, a as adminRef } from '../packem_shared/internal-zwBoOv24.js';
11
+ import { ADMIN_FUNCTIONS } from '../packem_shared/ADMIN_FUNCTIONS-P2UzJscH.js';
12
+ import { c as callOptions, e as errorMessage, f as fireAndForget, a as adminRef } from '../packem_shared/internal-DzHCc2Rq.js';
13
13
  import { jsxDEV } from 'react/jsx-dev-runtime';
14
14
 
15
15
  const RUN_SQL = adminRef(ADMIN_FUNCTIONS.runSql);
@@ -1,16 +1,16 @@
1
1
  import { c } from 'react/compiler-runtime';
2
2
  import { useState } from 'react';
3
- import { E as ErrorAlert } from '../packem_shared/error-alert-vIPQoN3Y.js';
3
+ import { E as ErrorAlert } from '../packem_shared/error-alert-D9uIFJUS.js';
4
4
  import { ShardInput } from '../packem_shared/ShardInput-CZnpHILL.js';
5
5
  import { B as Badge } from '../packem_shared/badge-B2PKA1-5.js';
6
6
  import { C as Card } from '../packem_shared/card-F2vH_aj2.js';
7
7
  import { E as EmptyState } from '../packem_shared/empty-state-DY_oe0k6.js';
8
8
  import { T as Table, a as TableHeader, b as TableRow, c as TableHead, d as TableBody, e as TableCell } from '../packem_shared/table-DsCa9Qp9.js';
9
- import { u as useAdminQuery } from '../packem_shared/use-admin-query-BGJ010yZ.js';
9
+ import { u as useAdminQuery } from '../packem_shared/use-admin-query-C7JNuQp-.js';
10
10
  import { useAutoRefresh } from '../packem_shared/DEFAULT_AUTO_REFRESH_MS-Vxwaxx51.js';
11
11
  import useDebounced from '../packem_shared/useDebounced-Dxncpg6z.js';
12
12
  import { useT } from '../packem_shared/DEFAULT_LOCALE-CiX4W7Kr.js';
13
- import { ADMIN_FUNCTIONS } from '../packem_shared/ADMIN_FUNCTIONS-C1LXrovV.js';
13
+ import { ADMIN_FUNCTIONS } from '../packem_shared/ADMIN_FUNCTIONS-P2UzJscH.js';
14
14
  import { jsxDEV, Fragment } from 'react/jsx-dev-runtime';
15
15
 
16
16
  const formatMs = (ms) => `${ms.toString()} ms`;
@@ -1,14 +1,14 @@
1
1
  import { useState, useMemo } from 'react';
2
- import { E as ErrorAlert } from '../packem_shared/error-alert-vIPQoN3Y.js';
2
+ import { E as ErrorAlert } from '../packem_shared/error-alert-D9uIFJUS.js';
3
3
  import { B as Badge } from '../packem_shared/badge-B2PKA1-5.js';
4
4
  import { C as Card, a as CardContent } from '../packem_shared/card-F2vH_aj2.js';
5
5
  import { E as EmptyState } from '../packem_shared/empty-state-DY_oe0k6.js';
6
6
  import { L as Label } from '../packem_shared/label-D8ykjn5J.js';
7
7
  import { T as Table, a as TableHeader, b as TableRow, c as TableHead, d as TableBody, e as TableCell } from '../packem_shared/table-DsCa9Qp9.js';
8
8
  import { T as Textarea } from '../packem_shared/textarea-D3gaCU_-.js';
9
- import { u as useAdminQuery } from '../packem_shared/use-admin-query-BGJ010yZ.js';
9
+ import { u as useAdminQuery } from '../packem_shared/use-admin-query-C7JNuQp-.js';
10
10
  import { useT } from '../packem_shared/DEFAULT_LOCALE-CiX4W7Kr.js';
11
- import { ADMIN_FUNCTIONS } from '../packem_shared/ADMIN_FUNCTIONS-C1LXrovV.js';
11
+ import { ADMIN_FUNCTIONS } from '../packem_shared/ADMIN_FUNCTIONS-P2UzJscH.js';
12
12
  import { jsxDEV } from 'react/jsx-dev-runtime';
13
13
 
14
14
  const parseContext = (raw) => {
@@ -10,11 +10,11 @@ import { E as EmptyState } from '../packem_shared/empty-state-DY_oe0k6.js';
10
10
  import { I as Input } from '../packem_shared/input-XH4r1Pt1.js';
11
11
  import { S as Select, a as SelectTrigger, b as SelectValue, c as SelectContent, d as SelectItem } from '../packem_shared/select-D9OwHEch.js';
12
12
  import { T as Table, a as TableHeader, b as TableRow, c as TableHead, d as TableBody, e as TableCell } from '../packem_shared/table-DsCa9Qp9.js';
13
- import { u as useAdminQuery } from '../packem_shared/use-admin-query-BGJ010yZ.js';
13
+ import { u as useAdminQuery } from '../packem_shared/use-admin-query-C7JNuQp-.js';
14
14
  import useDebounced from '../packem_shared/useDebounced-Dxncpg6z.js';
15
15
  import { useT } from '../packem_shared/DEFAULT_LOCALE-CiX4W7Kr.js';
16
- import { ADMIN_FUNCTIONS } from '../packem_shared/ADMIN_FUNCTIONS-C1LXrovV.js';
17
- import { i as formatTimestamp, f as fireAndForget, a as adminRef, c as callOptions, e as errorMessage } from '../packem_shared/internal-zwBoOv24.js';
16
+ import { ADMIN_FUNCTIONS } from '../packem_shared/ADMIN_FUNCTIONS-P2UzJscH.js';
17
+ import { i as formatTimestamp, f as fireAndForget, a as adminRef, c as callOptions, e as errorMessage } from '../packem_shared/internal-DzHCc2Rq.js';
18
18
  import { jsxDEV } from 'react/jsx-dev-runtime';
19
19
 
20
20
  const SEVERITY_NONE = "none";
@@ -4,11 +4,11 @@ import { C as Card, a as CardContent } from '../packem_shared/card-F2vH_aj2.js';
4
4
  import { E as EmptyState } from '../packem_shared/empty-state-DY_oe0k6.js';
5
5
  import { T as Table, a as TableHeader, b as TableRow, c as TableHead, d as TableBody, e as TableCell } from '../packem_shared/table-DsCa9Qp9.js';
6
6
  import { useT } from '../packem_shared/DEFAULT_LOCALE-CiX4W7Kr.js';
7
- import { f as fireAndForget, e as errorMessage, k as formatBytes, g as copyToClipboard } from '../packem_shared/internal-zwBoOv24.js';
7
+ import { f as fireAndForget, e as errorMessage, k as formatBytes, g as copyToClipboard } from '../packem_shared/internal-DzHCc2Rq.js';
8
8
  import { B as Button } from '../packem_shared/button-BhsN2uZH.js';
9
9
  import { C as Checkbox } from '../packem_shared/checkbox-UNkzAxl-.js';
10
10
  import { I as Input } from '../packem_shared/input-XH4r1Pt1.js';
11
- import { b as Sheet, c as SheetContent, d as SheetHeader, e as SheetTitle } from '../packem_shared/studio-CuNuEnSJ.js';
11
+ import { b as Sheet, c as SheetContent, d as SheetHeader, e as SheetTitle } from '../packem_shared/studio-8QSXbZ98.js';
12
12
  import { c } from 'react/compiler-runtime';
13
13
  import { L as Label } from '../packem_shared/label-D8ykjn5J.js';
14
14
  import { T as Textarea } from '../packem_shared/textarea-D3gaCU_-.js';
@@ -5,7 +5,7 @@ import { C as Card, a as CardContent } from '../packem_shared/card-F2vH_aj2.js';
5
5
  import { I as Input } from '../packem_shared/input-XH4r1Pt1.js';
6
6
  import { useT } from '../packem_shared/DEFAULT_LOCALE-CiX4W7Kr.js';
7
7
  import { b as CLOUDFLARE_OBSERVABILITY_URL } from '../packem_shared/cf-links-SIbyi4Y1.js';
8
- import { f as fireAndForget, e as errorMessage, g as copyToClipboard } from '../packem_shared/internal-zwBoOv24.js';
8
+ import { f as fireAndForget, e as errorMessage, g as copyToClipboard } from '../packem_shared/internal-DzHCc2Rq.js';
9
9
  import { jsxDEV } from 'react/jsx-dev-runtime';
10
10
 
11
11
  const DestinationRow = (t0) => {
@@ -5,11 +5,11 @@ import { B as Button } from '../packem_shared/button-BhsN2uZH.js';
5
5
  import { a as CardContent, C as Card } from '../packem_shared/card-F2vH_aj2.js';
6
6
  import { E as EmptyState } from '../packem_shared/empty-state-DY_oe0k6.js';
7
7
  import { c as TableHead, a as TableHeader, b as TableRow, e as TableCell, d as TableBody, T as Table } from '../packem_shared/table-DsCa9Qp9.js';
8
- import { a as useClientQuery } from '../packem_shared/use-admin-query-BGJ010yZ.js';
9
- import { u as useAsyncSubmit, a as useAuthConfig } from '../packem_shared/use-async-submit-DGCtuDyz.js';
8
+ import { a as useClientQuery } from '../packem_shared/use-admin-query-C7JNuQp-.js';
9
+ import { u as useAsyncSubmit, a as useAuthConfig } from '../packem_shared/use-async-submit-rnSk_jXl.js';
10
10
  import { useAutoRefresh } from '../packem_shared/DEFAULT_AUTO_REFRESH_MS-Vxwaxx51.js';
11
11
  import { useT } from '../packem_shared/DEFAULT_LOCALE-CiX4W7Kr.js';
12
- import { h as formatCell, f as fireAndForget, e as errorMessage, i as formatTimestamp } from '../packem_shared/internal-zwBoOv24.js';
12
+ import { h as formatCell, f as fireAndForget, e as errorMessage, i as formatTimestamp } from '../packem_shared/internal-DzHCc2Rq.js';
13
13
  import { I as Input } from '../packem_shared/input-XH4r1Pt1.js';
14
14
  import { L as Label } from '../packem_shared/label-D8ykjn5J.js';
15
15
  import { M as ModalShell } from '../packem_shared/modal-shell-hyaJvIJ6.js';
@@ -1,15 +1,17 @@
1
- import { E as ErrorAlert } from '../packem_shared/error-alert-vIPQoN3Y.js';
1
+ import { E as ErrorAlert } from '../packem_shared/error-alert-D9uIFJUS.js';
2
2
  import { B as Badge } from '../packem_shared/badge-B2PKA1-5.js';
3
3
  import { C as Card, a as CardContent } from '../packem_shared/card-F2vH_aj2.js';
4
4
  import { E as EmptyState } from '../packem_shared/empty-state-DY_oe0k6.js';
5
5
  import { T as Table, a as TableHeader, b as TableRow, c as TableHead, d as TableBody, e as TableCell } from '../packem_shared/table-DsCa9Qp9.js';
6
- import { u as useAdminQuery } from '../packem_shared/use-admin-query-BGJ010yZ.js';
6
+ import { u as useAdminQuery } from '../packem_shared/use-admin-query-C7JNuQp-.js';
7
7
  import { useAutoRefresh } from '../packem_shared/DEFAULT_AUTO_REFRESH_MS-Vxwaxx51.js';
8
8
  import { useT } from '../packem_shared/DEFAULT_LOCALE-CiX4W7Kr.js';
9
- import { ADMIN_FUNCTIONS } from '../packem_shared/ADMIN_FUNCTIONS-C1LXrovV.js';
10
- import { i as formatTimestamp } from '../packem_shared/internal-zwBoOv24.js';
9
+ import { ADMIN_FUNCTIONS } from '../packem_shared/ADMIN_FUNCTIONS-P2UzJscH.js';
10
+ import { i as formatTimestamp } from '../packem_shared/internal-DzHCc2Rq.js';
11
11
  import { jsxDEV } from 'react/jsx-dev-runtime';
12
12
 
13
+ const SUBSCRIPTIONS_TABLE = "subscriptions";
14
+ const NO_ARGS = {};
13
15
  const ACTIVE_STATES = /* @__PURE__ */ new Set(["active", "trialing"]);
14
16
  const ALERT_STATES = /* @__PURE__ */ new Set(["past_due", "unpaid"]);
15
17
  const readField = (row, key) => {
@@ -44,6 +46,13 @@ const PaymentsPanel = ({
44
46
  limit = 100
45
47
  }) => {
46
48
  const t = useT();
49
+ const {
50
+ data: tables
51
+ } = useAdminQuery(ADMIN_FUNCTIONS.listTables, NO_ARGS, {
52
+ live: true
53
+ });
54
+ const loadedTables = tables !== void 0;
55
+ const hasPaymentTables = Array.isArray(tables) && tables.some((table) => table.name === SUBSCRIPTIONS_TABLE);
47
56
  const subscriptionsQuery = useAdminQuery(ADMIN_FUNCTIONS.readTablePage, {
48
57
  filters: [],
49
58
  limit,
@@ -51,6 +60,8 @@ const PaymentsPanel = ({
51
60
  orderBy: [],
52
61
  search: "",
53
62
  table: "subscriptions"
63
+ }, {
64
+ enabled: hasPaymentTables
54
65
  });
55
66
  const eventsQuery = useAdminQuery(ADMIN_FUNCTIONS.readTablePage, {
56
67
  filters: [],
@@ -59,8 +70,13 @@ const PaymentsPanel = ({
59
70
  orderBy: [],
60
71
  search: "",
61
72
  table: "events"
73
+ }, {
74
+ enabled: hasPaymentTables
62
75
  });
63
76
  useAutoRefresh(() => {
77
+ if (!hasPaymentTables) {
78
+ return;
79
+ }
64
80
  subscriptionsQuery.refetch();
65
81
  eventsQuery.refetch();
66
82
  }, true);
@@ -70,6 +86,17 @@ const PaymentsPanel = ({
70
86
  const errorSource = subscriptionsQuery.error === null ? eventsQuery.errorSource : subscriptionsQuery.errorSource;
71
87
  const activeCount = subscriptions.filter((row) => ACTIVE_STATES.has(text(readField(row, "state")))).length;
72
88
  const recentEvents = events.toSorted((a, b) => Number(readField(b, "processedAt") ?? 0) - Number(readField(a, "processedAt") ?? 0));
89
+ if (loadedTables && !hasPaymentTables) {
90
+ return /* @__PURE__ */ jsxDEV("div", {
91
+ className: "flex flex-col gap-4",
92
+ "data-testid": "payments-panel",
93
+ children: /* @__PURE__ */ jsxDEV(EmptyState, {
94
+ description: t("No @lunora/payment tables found in this deployment. Declare the store tables (subscriptions, events, …) in lunora/schema.ts and wire `payment` on createShardDO() to sync customers and subscriptions."),
95
+ testId: "payments-unconfigured",
96
+ title: t("No payments configured")
97
+ }, void 0, false)
98
+ }, void 0, false);
99
+ }
73
100
  return /* @__PURE__ */ jsxDEV("div", {
74
101
  className: "flex flex-col gap-4",
75
102
  "data-testid": "payments-panel",
@@ -2,21 +2,21 @@ import { useState, useRef, useEffect } from 'react';
2
2
  import { C as Card, c as CardHeader, b as CardTitle, d as CardDescription, a as CardContent } from '../packem_shared/card-F2vH_aj2.js';
3
3
  import { useT } from '../packem_shared/DEFAULT_LOCALE-CiX4W7Kr.js';
4
4
  import { c } from 'react/compiler-runtime';
5
- import { E as ErrorAlert } from '../packem_shared/error-alert-vIPQoN3Y.js';
5
+ import { E as ErrorAlert } from '../packem_shared/error-alert-D9uIFJUS.js';
6
6
  import { L as LiveError } from '../packem_shared/live-status-FZ0psC1z.js';
7
7
  import { B as Badge } from '../packem_shared/badge-B2PKA1-5.js';
8
8
  import { B as Button } from '../packem_shared/button-BhsN2uZH.js';
9
9
  import { E as EmptyState } from '../packem_shared/empty-state-DY_oe0k6.js';
10
10
  import { T as Table, a as TableHeader, b as TableRow, c as TableHead, d as TableBody, e as TableCell } from '../packem_shared/table-DsCa9Qp9.js';
11
- import { u as useAdminQuery } from '../packem_shared/use-admin-query-BGJ010yZ.js';
12
- import { ADMIN_FUNCTIONS } from '../packem_shared/ADMIN_FUNCTIONS-C1LXrovV.js';
11
+ import { u as useAdminQuery } from '../packem_shared/use-admin-query-C7JNuQp-.js';
12
+ import { ADMIN_FUNCTIONS } from '../packem_shared/ADMIN_FUNCTIONS-P2UzJscH.js';
13
13
  import { jsxDEV } from 'react/jsx-dev-runtime';
14
14
  import { useLunora } from '@lunora/react';
15
15
  import { ShardInput } from '../packem_shared/ShardInput-CZnpHILL.js';
16
16
  import { I as Input } from '../packem_shared/input-XH4r1Pt1.js';
17
17
  import { L as Label } from '../packem_shared/label-D8ykjn5J.js';
18
18
  import { T as Textarea } from '../packem_shared/textarea-D3gaCU_-.js';
19
- import { c as callOptions, a as adminRef, e as errorMessage, f as fireAndForget } from '../packem_shared/internal-zwBoOv24.js';
19
+ import { c as callOptions, a as adminRef, e as errorMessage, f as fireAndForget } from '../packem_shared/internal-DzHCc2Rq.js';
20
20
 
21
21
  const OPERATIONS = ["read", "insert", "update", "delete"];
22
22
  const operationLabel = (t, operation) => ({
@@ -1,7 +1,7 @@
1
1
  import { c } from 'react/compiler-runtime';
2
2
  import { useLunora } from '@lunora/react';
3
3
  import { useState } from 'react';
4
- import { E as ErrorAlert } from '../packem_shared/error-alert-vIPQoN3Y.js';
4
+ import { E as ErrorAlert } from '../packem_shared/error-alert-D9uIFJUS.js';
5
5
  import { A as Alert } from '../packem_shared/alert-CdAET2K_.js';
6
6
  import { B as Badge } from '../packem_shared/badge-B2PKA1-5.js';
7
7
  import { B as Button } from '../packem_shared/button-BhsN2uZH.js';
@@ -11,11 +11,11 @@ import { I as Input } from '../packem_shared/input-XH4r1Pt1.js';
11
11
  import { S as ScrollArea } from '../packem_shared/scroll-area-DLhcy-ml.js';
12
12
  import { T as Table, a as TableHeader, b as TableRow, c as TableHead, d as TableBody, e as TableCell } from '../packem_shared/table-DsCa9Qp9.js';
13
13
  import { T as Textarea } from '../packem_shared/textarea-D3gaCU_-.js';
14
- import { u as useAdminQuery } from '../packem_shared/use-admin-query-BGJ010yZ.js';
14
+ import { u as useAdminQuery } from '../packem_shared/use-admin-query-C7JNuQp-.js';
15
15
  import { useAutoRefresh } from '../packem_shared/DEFAULT_AUTO_REFRESH_MS-Vxwaxx51.js';
16
16
  import { useT } from '../packem_shared/DEFAULT_LOCALE-CiX4W7Kr.js';
17
- import { ADMIN_FUNCTIONS } from '../packem_shared/ADMIN_FUNCTIONS-C1LXrovV.js';
18
- import { c as callOptions, e as errorMessage, a as adminRef, f as fireAndForget, i as formatTimestamp } from '../packem_shared/internal-zwBoOv24.js';
17
+ import { ADMIN_FUNCTIONS } from '../packem_shared/ADMIN_FUNCTIONS-P2UzJscH.js';
18
+ import { c as callOptions, e as errorMessage, a as adminRef, f as fireAndForget, i as formatTimestamp } from '../packem_shared/internal-DzHCc2Rq.js';
19
19
  import { jsxDEV, Fragment } from 'react/jsx-dev-runtime';
20
20
 
21
21
  const computeQueueReliability = (queues, messages) => {
@@ -1,12 +1,12 @@
1
1
  import { c } from 'react/compiler-runtime';
2
- import { E as ErrorAlert } from '../packem_shared/error-alert-vIPQoN3Y.js';
2
+ import { E as ErrorAlert } from '../packem_shared/error-alert-D9uIFJUS.js';
3
3
  import { B as Badge } from '../packem_shared/badge-B2PKA1-5.js';
4
4
  import { a as CardContent, C as Card } from '../packem_shared/card-F2vH_aj2.js';
5
5
  import { E as EmptyState } from '../packem_shared/empty-state-DY_oe0k6.js';
6
6
  import { T as Table, a as TableHeader, b as TableRow, c as TableHead, d as TableBody, e as TableCell } from '../packem_shared/table-DsCa9Qp9.js';
7
- import { u as useAdminQuery } from '../packem_shared/use-admin-query-BGJ010yZ.js';
7
+ import { u as useAdminQuery } from '../packem_shared/use-admin-query-C7JNuQp-.js';
8
8
  import { useT } from '../packem_shared/DEFAULT_LOCALE-CiX4W7Kr.js';
9
- import { ADMIN_FUNCTIONS } from '../packem_shared/ADMIN_FUNCTIONS-C1LXrovV.js';
9
+ import { ADMIN_FUNCTIONS } from '../packem_shared/ADMIN_FUNCTIONS-P2UzJscH.js';
10
10
  import { jsxDEV } from 'react/jsx-dev-runtime';
11
11
 
12
12
  const OPERATIONS = ["read", "insert", "update", "delete"];
@@ -8,11 +8,11 @@ import { B as Badge } from '../packem_shared/badge-B2PKA1-5.js';
8
8
  import { C as Card, a as CardContent } from '../packem_shared/card-F2vH_aj2.js';
9
9
  import { E as EmptyState } from '../packem_shared/empty-state-DY_oe0k6.js';
10
10
  import { T as Table, a as TableHeader, b as TableRow, c as TableHead, d as TableBody, e as TableCell } from '../packem_shared/table-DsCa9Qp9.js';
11
- import { a as useClientQuery } from '../packem_shared/use-admin-query-BGJ010yZ.js';
12
- import { f as fireAndForget, e as errorMessage, i as formatTimestamp } from '../packem_shared/internal-zwBoOv24.js';
11
+ import { a as useClientQuery } from '../packem_shared/use-admin-query-C7JNuQp-.js';
12
+ import { f as fireAndForget, e as errorMessage, i as formatTimestamp } from '../packem_shared/internal-DzHCc2Rq.js';
13
13
  import { jsxDEV } from 'react/jsx-dev-runtime';
14
14
  import { useAutoRefresh } from '../packem_shared/DEFAULT_AUTO_REFRESH_MS-Vxwaxx51.js';
15
- import { ScheduledJobs } from '../packem_shared/ScheduledJobs-Cz5Tr-M6.js';
15
+ import { ScheduledJobs } from '../packem_shared/ScheduledJobs-BQzQo84k.js';
16
16
 
17
17
  const IDLE = {
18
18
  kind: "idle"
@@ -1,12 +1,12 @@
1
1
  import { c } from 'react/compiler-runtime';
2
- import { E as ErrorAlert } from '../packem_shared/error-alert-vIPQoN3Y.js';
2
+ import { E as ErrorAlert } from '../packem_shared/error-alert-D9uIFJUS.js';
3
3
  import { B as Badge } from '../packem_shared/badge-B2PKA1-5.js';
4
4
  import { C as Card, a as CardContent } from '../packem_shared/card-F2vH_aj2.js';
5
5
  import { E as EmptyState } from '../packem_shared/empty-state-DY_oe0k6.js';
6
6
  import { T as Table, a as TableHeader, b as TableRow, c as TableHead, d as TableBody, e as TableCell } from '../packem_shared/table-DsCa9Qp9.js';
7
- import { u as useAdminQuery } from '../packem_shared/use-admin-query-BGJ010yZ.js';
7
+ import { u as useAdminQuery } from '../packem_shared/use-admin-query-C7JNuQp-.js';
8
8
  import { useT } from '../packem_shared/DEFAULT_LOCALE-CiX4W7Kr.js';
9
- import { ADMIN_FUNCTIONS } from '../packem_shared/ADMIN_FUNCTIONS-C1LXrovV.js';
9
+ import { ADMIN_FUNCTIONS } from '../packem_shared/ADMIN_FUNCTIONS-P2UzJscH.js';
10
10
  import { jsxDEV } from 'react/jsx-dev-runtime';
11
11
 
12
12
  const operationLabel = (t, operation) => ({
@@ -1,16 +1,16 @@
1
1
  import { c } from 'react/compiler-runtime';
2
2
  import { useState } from 'react';
3
- import { E as ErrorAlert } from '../packem_shared/error-alert-vIPQoN3Y.js';
3
+ import { E as ErrorAlert } from '../packem_shared/error-alert-D9uIFJUS.js';
4
4
  import { ShardInput } from '../packem_shared/ShardInput-CZnpHILL.js';
5
5
  import { B as Badge } from '../packem_shared/badge-B2PKA1-5.js';
6
6
  import { C as Card, a as CardContent } from '../packem_shared/card-F2vH_aj2.js';
7
7
  import { E as EmptyState } from '../packem_shared/empty-state-DY_oe0k6.js';
8
8
  import { T as Table, a as TableHeader, b as TableRow, c as TableHead, d as TableBody, e as TableCell } from '../packem_shared/table-DsCa9Qp9.js';
9
- import { u as useAdminQuery } from '../packem_shared/use-admin-query-BGJ010yZ.js';
9
+ import { u as useAdminQuery } from '../packem_shared/use-admin-query-C7JNuQp-.js';
10
10
  import { useAutoRefresh } from '../packem_shared/DEFAULT_AUTO_REFRESH_MS-Vxwaxx51.js';
11
11
  import useDebounced from '../packem_shared/useDebounced-Dxncpg6z.js';
12
12
  import { useT } from '../packem_shared/DEFAULT_LOCALE-CiX4W7Kr.js';
13
- import { ADMIN_FUNCTIONS } from '../packem_shared/ADMIN_FUNCTIONS-C1LXrovV.js';
13
+ import { ADMIN_FUNCTIONS } from '../packem_shared/ADMIN_FUNCTIONS-P2UzJscH.js';
14
14
  import { jsxDEV } from 'react/jsx-dev-runtime';
15
15
 
16
16
  const ARGS_MAX = 80;