@lunora/studio 1.0.0-alpha.5 → 1.0.0-alpha.50

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 (198) hide show
  1. package/LICENSE.md +6 -0
  2. package/__assets__/package-og.svg +1 -1
  3. package/dist/index.d.ts +45 -23
  4. package/dist/index.js +31 -31
  5. package/dist/mount.d.ts +1 -1
  6. package/dist/mount.js +3 -2
  7. package/dist/{packem_shared/ApiTab-W3no0KOj.js → packem_chunks/ApiTab.js} +5 -5
  8. package/dist/{packem_shared/AuditPanel-Bq4o_IqT.js → packem_chunks/AuditPanel.js} +29 -41
  9. package/dist/{packem_shared/ExportImportPanel-dxY56TDF.js → packem_chunks/ExportImportPanel.js} +16 -11
  10. package/dist/{packem_shared/FileBrowser-Dhy4zES8.js → packem_chunks/FileBrowser.js} +55 -32
  11. package/dist/{packem_shared/FunctionRunner--fQJRPAD.js → packem_chunks/FunctionRunner.js} +15 -32
  12. package/dist/{packem_shared/FunctionStatsPanel-BjRUA_G3.js → packem_chunks/FunctionStatsPanel.js} +153 -208
  13. package/dist/{packem_shared/HealthPanel-PxclMWmA.js → packem_chunks/HealthPanel.js} +37 -29
  14. package/dist/{packem_shared/InsightsPanel-CWS_C-xW.js → packem_chunks/InsightsPanel.js} +108 -69
  15. package/dist/{packem_shared/LogsPanel-CTW8CFcM.js → packem_chunks/LogsPanel.js} +46 -58
  16. package/dist/{packem_shared/MailPanel-BwkvfIHF.js → packem_chunks/MailPanel.js} +45 -139
  17. package/dist/{packem_shared/MetricsPanel-BLuOhZQ4.js → packem_chunks/MetricsPanel.js} +41 -322
  18. package/dist/{packem_shared/MigrationsPanel-DT3lnwHF.js → packem_chunks/MigrationsPanel.js} +44 -51
  19. package/dist/{packem_shared/PitrPanel-CdErL7EJ.js → packem_chunks/PitrPanel.js} +9 -9
  20. package/dist/{packem_shared/SchemaViewer-LJDcmNIO.js → packem_chunks/SchemaViewer.js} +17 -16
  21. package/dist/{packem_shared/SecurityAdvisorPanel-C_ETsPih.js → packem_chunks/SecurityAdvisorPanel.js} +47 -31
  22. package/dist/packem_chunks/SettingsPanel.js +391 -0
  23. package/dist/{packem_shared/sql-editor-panel-BFRpzj6r.js → packem_chunks/SqlEditorPanel.js} +159 -387
  24. package/dist/{packem_shared/TableEditor-ChfUOZec.js → packem_chunks/TableEditor.js} +13 -94
  25. package/dist/packem_chunks/agents-panel.js +326 -0
  26. package/dist/packem_chunks/analytics-panel.js +261 -0
  27. package/dist/packem_chunks/auth-config-panel.js +365 -0
  28. package/dist/packem_chunks/auth-sessions-panel.js +175 -0
  29. package/dist/packem_chunks/containers-panel.js +261 -0
  30. package/dist/packem_chunks/dashboards-panel.js +781 -0
  31. package/dist/packem_chunks/fanout-panel.js +482 -0
  32. package/dist/packem_chunks/flags-panel.js +176 -0
  33. package/dist/packem_chunks/issues-panel.js +188 -0
  34. package/dist/packem_chunks/kv-browser.js +1896 -0
  35. package/dist/packem_chunks/log-drains-panel.js +273 -0
  36. package/dist/packem_chunks/organizations-panel.js +3178 -0
  37. package/dist/packem_chunks/payments-panel.js +186 -0
  38. package/dist/packem_chunks/permissions-panel.js +805 -0
  39. package/dist/packem_chunks/queues-panel.js +1075 -0
  40. package/dist/packem_chunks/rls-panel.js +315 -0
  41. package/dist/packem_chunks/schedule-panel.js +831 -0
  42. package/dist/packem_chunks/sparkline.js +79 -0
  43. package/dist/packem_chunks/storage-rules-panel.js +140 -0
  44. package/dist/packem_chunks/subscriptions-panel.js +238 -0
  45. package/dist/packem_chunks/users-panel.js +1731 -0
  46. package/dist/packem_chunks/vector-browser.js +281 -0
  47. package/dist/packem_chunks/workflows-panel.js +562 -0
  48. package/dist/packem_shared/{ADMIN_FUNCTIONS-DmBqMZ-z.js → ADMIN_FUNCTIONS-DNeyYtUN.js} +8 -0
  49. package/dist/packem_shared/{ApiDocsPanel-C5-yJ1p7.js → ApiDocsPanel-_aEZxAMX.js} +2 -2
  50. package/dist/packem_shared/{ApiReferencePanel-1vubqG5s.js → ApiReferencePanel-Dd8pcswz.js} +2 -1
  51. package/dist/packem_shared/{CommandPalette-BtgkBzZI.js → CommandPalette-BXV4eKf5.js} +1 -1
  52. package/dist/packem_shared/{DataBrowser-CtBe1So9.js → DataBrowser-C8hejnub.js} +201 -250
  53. package/dist/packem_shared/{DataFilters-FNquMaiu.js → DataFilters-B1Q7mrt7.js} +6 -2
  54. package/dist/packem_shared/{GlobalDataBrowser-BTEmGrph.js → GlobalDataBrowser-CxJxRRf2.js} +37 -66
  55. package/dist/packem_shared/HomePanel-Ye8PaqQL.js +14 -0
  56. package/dist/packem_shared/{OpenRpcReferencePanel-vbcYbv3V.js → OpenRpcReferencePanel-CWaf0ZtX.js} +2 -1
  57. package/dist/packem_shared/{ScheduledJobs-CabfKbyM.js → ScheduledJobs-dHMgnJbx.js} +163 -60
  58. package/dist/packem_shared/{ShardInput-gx_DZXXn.js → ShardInput-CZnpHILL.js} +1 -1
  59. package/dist/packem_shared/Studio-xJLTlLpf.js +16 -0
  60. package/dist/packem_shared/{StudioApp-D4azxYBu.js → StudioApp-oCQholCL.js} +6 -21
  61. package/dist/packem_shared/{advisor-view-CGcfMiPq.js → advisor-view-Cx21PS_T.js} +6 -6
  62. package/dist/packem_shared/alert-CdAET2K_.js +68 -0
  63. package/dist/packem_shared/{app.d-CCmwDEVs.d.ts → app.d-CGdOmLTm.d.ts} +1 -1
  64. package/dist/packem_shared/{bar-chart-CzJAgqkp.js → bar-chart-DSwcWIRy.js} +5 -4
  65. package/dist/packem_shared/browser-storage-L4gOP5gJ.js +105 -0
  66. package/dist/packem_shared/{cf-links-2cktDedA.js → cf-links-BZfRdxSE.js} +1 -1
  67. package/dist/packem_shared/{data-grid-B5CaV3wS.js → data-grid-C9I16KWr.js} +1 -1
  68. package/dist/packem_shared/data-view-params-Cd6yRVbv.js +96 -0
  69. package/dist/packem_shared/error-alert-vIPQoN3Y.js +114 -0
  70. package/dist/packem_shared/{grid-features-CzUfqgsM.js → grid-features-B_fZH4iQ.js} +133 -164
  71. package/dist/packem_shared/home-panel-D62G8108.js +1889 -0
  72. package/dist/packem_shared/internal-zwBoOv24.js +122 -0
  73. package/dist/packem_shared/modal-shell-hyaJvIJ6.js +100 -0
  74. package/dist/packem_shared/{reference-view-B4E49Lip.js → reference-view-DUULLuOi.js} +8 -61
  75. package/dist/packem_shared/result-chart-DZradBAS.js +119 -0
  76. package/dist/packem_shared/scroll-area-DLhcy-ml.js +93 -0
  77. package/dist/packem_shared/select-UkNYCT3s.js +273 -0
  78. package/dist/packem_shared/shard-history-AxiJ1WPP.js +16 -0
  79. package/dist/packem_shared/skeleton-CGhL0p20.js +45 -0
  80. package/dist/packem_shared/{sparkline-10dG-_f0.js → sparkline-BnA1kC9X.js} +1 -1
  81. package/dist/packem_shared/studio-WZUOecDv.js +4069 -0
  82. package/dist/packem_shared/{table-_RzNvy3R.js → table-DsCa9Qp9.js} +1 -1
  83. package/dist/packem_shared/{table-list-sidebar-Bg7uzbvC.js → table-list-sidebar-huX4VmgI.js} +19 -9
  84. package/dist/packem_shared/use-admin-query-BGJ010yZ.js +106 -0
  85. package/dist/packem_shared/use-async-submit-DGCtuDyz.js +91 -0
  86. package/dist/standalone/chunk-22C6COGE.js +13 -0
  87. package/dist/standalone/chunk-2CCWLKQW.js +1 -0
  88. package/dist/standalone/chunk-2JTPX3CV.js +1 -0
  89. package/dist/standalone/chunk-2K47A3P6.js +1 -0
  90. package/dist/standalone/chunk-2MLA6WFH.js +1 -0
  91. package/dist/standalone/chunk-2NGUNNGW.js +1 -0
  92. package/dist/standalone/chunk-3CPQ5IQU.js +1 -0
  93. package/dist/standalone/chunk-3GXGLNKW.js +1 -0
  94. package/dist/standalone/chunk-3OA7PECS.js +6 -0
  95. package/dist/standalone/chunk-4AXW2ECS.js +13 -0
  96. package/dist/standalone/chunk-4BVRLBEW.js +1 -0
  97. package/dist/standalone/chunk-4PC7IXNY.js +1 -0
  98. package/dist/standalone/chunk-4QHKBC77.js +1 -0
  99. package/dist/standalone/chunk-5OIBXYZM.js +1 -0
  100. package/dist/standalone/chunk-5OZQHQ26.js +1 -0
  101. package/dist/standalone/chunk-6RREMPQX.js +2 -0
  102. package/dist/standalone/chunk-6ZBU3JWR.js +3 -0
  103. package/dist/standalone/chunk-7LDYSHOU.js +1 -0
  104. package/dist/standalone/chunk-7TJJXVSE.js +1 -0
  105. package/dist/standalone/chunk-A2DBMISD.js +1 -0
  106. package/dist/standalone/chunk-A3ZJACVT.js +4 -0
  107. package/dist/standalone/chunk-A66LI6OV.js +4 -0
  108. package/dist/standalone/chunk-AHILM3ZP.js +1 -0
  109. package/dist/standalone/chunk-AITOCPML.js +1 -0
  110. package/dist/standalone/chunk-APSSZB6Z.js +1 -0
  111. package/dist/standalone/chunk-BGG56IF5.js +1 -0
  112. package/dist/standalone/chunk-BJGBHGK3.js +1 -0
  113. package/dist/standalone/chunk-CJXJIRSN.js +1 -0
  114. package/dist/standalone/chunk-CKSHCYGC.js +2 -0
  115. package/dist/standalone/chunk-DR6LGPXE.js +1 -0
  116. package/dist/standalone/chunk-DWDILV2E.js +1 -0
  117. package/dist/standalone/chunk-EEWKIQUE.js +1 -0
  118. package/dist/standalone/chunk-EOE5NDMK.js +1 -0
  119. package/dist/standalone/chunk-FAUN4Z72.js +1 -0
  120. package/dist/standalone/chunk-G7ZBM54M.js +1 -0
  121. package/dist/standalone/chunk-GTM65MVX.js +1 -0
  122. package/dist/standalone/chunk-HAJSYWFT.js +8 -0
  123. package/dist/standalone/chunk-HQM6MBPS.js +1 -0
  124. package/dist/standalone/chunk-HTQNZXDT.js +1 -0
  125. package/dist/standalone/chunk-HV7G6DFP.js +5 -0
  126. package/dist/standalone/chunk-IO2XEI6T.js +1 -0
  127. package/dist/standalone/chunk-ITQKVEP7.js +19 -0
  128. package/dist/standalone/chunk-IZN4TYMN.js +1 -0
  129. package/dist/standalone/chunk-J6J54MBP.js +1 -0
  130. package/dist/standalone/chunk-JM7XBQVK.js +1 -0
  131. package/dist/standalone/chunk-JPILGFXT.js +1 -0
  132. package/dist/standalone/chunk-JSEXCW5Q.js +1 -0
  133. package/dist/standalone/chunk-JUDPYSJZ.js +1 -0
  134. package/dist/standalone/chunk-K4S652EQ.js +4 -0
  135. package/dist/standalone/chunk-KEGAWN6Y.js +1 -0
  136. package/dist/standalone/chunk-KJFFID72.js +1 -0
  137. package/dist/standalone/chunk-KJJ3WM6H.js +4 -0
  138. package/dist/standalone/chunk-KZ6INM5M.js +1 -0
  139. package/dist/standalone/chunk-L7SK4ZZD.js +1 -0
  140. package/dist/standalone/chunk-LAK5VSPI.js +1 -0
  141. package/dist/standalone/chunk-LJAAZNQ6.js +1 -0
  142. package/dist/standalone/chunk-LUP4YTBS.js +1 -0
  143. package/dist/standalone/chunk-LX7KONE3.js +1 -0
  144. package/dist/standalone/chunk-MDTNVR3G.js +1 -0
  145. package/dist/standalone/chunk-NS23QR4W.js +1 -0
  146. package/dist/standalone/chunk-NW6SZZ5O.js +1 -0
  147. package/dist/standalone/chunk-O3NAGRTR.js +1 -0
  148. package/dist/standalone/chunk-P2ERTKMB.js +1 -0
  149. package/dist/standalone/chunk-PS3XCCZD.js +1 -0
  150. package/dist/standalone/chunk-QAFAJBAW.js +1 -0
  151. package/dist/standalone/chunk-RRCPZMC2.js +22 -0
  152. package/dist/standalone/chunk-RS7S7XVP.js +1 -0
  153. package/dist/standalone/chunk-S5NTGHCG.js +1 -0
  154. package/dist/standalone/chunk-S7AB7Y75.js +1 -0
  155. package/dist/standalone/chunk-SDMZKBTD.js +1 -0
  156. package/dist/standalone/chunk-SDQE2IUJ.js +1 -0
  157. package/dist/standalone/chunk-SEU5V7I6.js +1 -0
  158. package/dist/standalone/chunk-SHERR7ZP.js +1 -0
  159. package/dist/standalone/chunk-SHJUAHC6.js +1 -0
  160. package/dist/standalone/chunk-TAD43CG5.js +1 -0
  161. package/dist/standalone/chunk-TO6D2PJC.js +6 -0
  162. package/dist/standalone/chunk-TQ36RWOP.js +1 -0
  163. package/dist/standalone/chunk-TYN6SQ73.js +1 -0
  164. package/dist/standalone/chunk-U26QNHMO.js +1 -0
  165. package/dist/standalone/chunk-UK64ZSUW.js +1 -0
  166. package/dist/standalone/chunk-UTHHHJYS.js +1 -0
  167. package/dist/standalone/chunk-V43BLH4J.js +1 -0
  168. package/dist/standalone/chunk-VL23Y44O.js +4 -0
  169. package/dist/standalone/chunk-VL6HOZHF.js +1 -0
  170. package/dist/standalone/chunk-VLXV72QE.js +1 -0
  171. package/dist/standalone/chunk-W666BB6V.js +1 -0
  172. package/dist/standalone/chunk-W6JKUZKD.js +1 -0
  173. package/dist/standalone/chunk-WI7GWFEG.js +1 -0
  174. package/dist/standalone/chunk-WUFVFVHJ.js +1 -0
  175. package/dist/standalone/chunk-WVTPZ6CM.js +1 -0
  176. package/dist/standalone/chunk-X2TQRMQV.js +1 -0
  177. package/dist/standalone/chunk-X4676IX6.js +1 -0
  178. package/dist/standalone/chunk-X4QFAAZ5.js +76 -0
  179. package/dist/standalone/chunk-XJU5SRNL.js +4 -0
  180. package/dist/standalone/chunk-XNJNSCLM.js +1 -0
  181. package/dist/standalone/chunk-XWPZBZSZ.js +3 -0
  182. package/dist/standalone/chunk-YLHDKM2P.js +1 -0
  183. package/dist/standalone/chunk-ZHVTQ37P.js +1 -0
  184. package/dist/standalone/chunk-ZIGWVHCS.js +1 -0
  185. package/dist/standalone/chunk-ZPP2KOR4.js +1 -0
  186. package/dist/standalone/chunk-ZPUO7FNI.js +1 -0
  187. package/dist/standalone/studio.js +104 -246
  188. package/dist/styles.css +2 -2
  189. package/package.json +17 -15
  190. package/dist/packem_shared/HomePanel-Cw16stjq.js +0 -1273
  191. package/dist/packem_shared/SettingsPanel-C0uLRf5P.js +0 -176
  192. package/dist/packem_shared/SqlEditorPanel-CguV7otm.js +0 -13
  193. package/dist/packem_shared/Studio-BmSGSIuY.js +0 -33
  194. package/dist/packem_shared/internal-rXJEAhXS.js +0 -68
  195. package/dist/packem_shared/shard-history-DyebH1R5.js +0 -38
  196. package/dist/packem_shared/studio-H9fuQgSj.js +0 -10303
  197. package/dist/packem_shared/use-live-admin-Dq6g3daN.js +0 -73
  198. package/dist/packem_shared/use-live-shard-seed-Cuk3dnH0.js +0 -76
@@ -1,22 +1,22 @@
1
1
  import { c } from 'react/compiler-runtime';
2
- import { useState, useEffect, useMemo, useCallback, useRef } from 'react';
3
- import { ShardInput } from './ShardInput-gx_DZXXn.js';
4
- import { B as Button } from './button-BhsN2uZH.js';
5
- import { E as EmptyState } from './empty-state-DY_oe0k6.js';
6
- import { useT } from './DEFAULT_LOCALE-CiX4W7Kr.js';
7
- import { S as SelectionBar } from './grid-features-CzUfqgsM.js';
8
- import { C as Card, a as CardContent } from './card-DURq3ElK.js';
9
- import { C as Checkbox } from './checkbox-UNkzAxl-.js';
10
- import { c as TableHead, a as TableHeader, b as TableRow, d as TableBody, T as Table, e as TableCell } from './table-_RzNvy3R.js';
11
- import { d as formatBytes, f as fireAndForget, e as errorMessage, c as callOptions, a as adminRef } from './internal-rXJEAhXS.js';
12
- import { ConfirmButton } from './ConfirmButton-C2eVi2Qv.js';
13
- import { B as Badge } from './badge-B2PKA1-5.js';
2
+ import { useState, useEffect, useRef, useMemo, useCallback } from 'react';
3
+ import { ShardInput } from '../packem_shared/ShardInput-CZnpHILL.js';
4
+ import { B as Button } from '../packem_shared/button-BhsN2uZH.js';
5
+ import { E as EmptyState } from '../packem_shared/empty-state-DY_oe0k6.js';
6
+ import { useT } from '../packem_shared/DEFAULT_LOCALE-CiX4W7Kr.js';
7
+ import { S as SelectionBar } from '../packem_shared/grid-features-B_fZH4iQ.js';
8
+ import { C as Card, a as CardContent } from '../packem_shared/card-DURq3ElK.js';
9
+ import { C as Checkbox } from '../packem_shared/checkbox-UNkzAxl-.js';
10
+ import { c as TableHead, a as TableHeader, b as TableRow, d as TableBody, T as Table, e as TableCell } from '../packem_shared/table-DsCa9Qp9.js';
11
+ import { k as formatBytes, f as fireAndForget, e as errorMessage, c as callOptions, a as adminRef, g as copyToClipboard } from '../packem_shared/internal-zwBoOv24.js';
12
+ import { ConfirmButton } from '../packem_shared/ConfirmButton-C2eVi2Qv.js';
13
+ import { B as Badge } from '../packem_shared/badge-B2PKA1-5.js';
14
14
  import { jsxDEV, Fragment } from 'react/jsx-dev-runtime';
15
- import { I as Input } from './input-XH4r1Pt1.js';
16
- import { d as CLOUDFLARE_R2_URL } from './cf-links-2cktDedA.js';
15
+ import { I as Input } from '../packem_shared/input-XH4r1Pt1.js';
16
+ import { d as CLOUDFLARE_R2_URL } from '../packem_shared/cf-links-BZfRdxSE.js';
17
17
  import { useLunora } from '@lunora/react';
18
- import { useAutoRefresh } from './DEFAULT_AUTO_REFRESH_MS-Vxwaxx51.js';
19
- import { ADMIN_FUNCTIONS } from './ADMIN_FUNCTIONS-DmBqMZ-z.js';
18
+ import { useAutoRefresh } from '../packem_shared/DEFAULT_AUTO_REFRESH_MS-Vxwaxx51.js';
19
+ import { ADMIN_FUNCTIONS } from '../packem_shared/ADMIN_FUNCTIONS-DNeyYtUN.js';
20
20
 
21
21
  const useFileItem = (object, prefix, handlers) => {
22
22
  const $ = c(21);
@@ -2285,11 +2285,6 @@ const triggerDownload = (url, filename) => {
2285
2285
  anchor.click();
2286
2286
  anchor.remove();
2287
2287
  };
2288
- const copyToClipboard = async (text) => {
2289
- if ("navigator" in globalThis && "clipboard" in globalThis.navigator) {
2290
- await globalThis.navigator.clipboard.writeText(text);
2291
- }
2292
- };
2293
2288
  const useFileBrowser = ({
2294
2289
  initialPrefix,
2295
2290
  pageSize
@@ -2315,6 +2310,8 @@ const useFileBrowser = ({
2315
2310
  const [danglingTruncated, setDanglingTruncated] = useState(false);
2316
2311
  const [buckets, setBuckets] = useState([]);
2317
2312
  const [bucket, setBucket] = useState("");
2313
+ const listSeq = useRef(0);
2314
+ const orphanSeq = useRef(0);
2318
2315
  useEffect(() => {
2319
2316
  const token = {
2320
2317
  cancelled: false
@@ -2356,6 +2353,8 @@ const useFileBrowser = ({
2356
2353
  };
2357
2354
  }, [bucket, client]);
2358
2355
  const list = useCallback(async (searchPrefix, cursor, append) => {
2356
+ listSeq.current += 1;
2357
+ const seq = listSeq.current;
2359
2358
  setError(void 0);
2360
2359
  setBusy(true);
2361
2360
  try {
@@ -2364,15 +2363,23 @@ const useFileBrowser = ({
2364
2363
  limit: pageSize,
2365
2364
  prefix: searchPrefix
2366
2365
  });
2366
+ if (seq !== listSeq.current) {
2367
+ return;
2368
+ }
2367
2369
  setObjects((previous) => append && previous !== void 0 ? [...previous, ...page.objects] : page.objects);
2368
2370
  setNextCursor(page.cursor);
2369
2371
  } catch (error_) {
2372
+ if (seq !== listSeq.current) {
2373
+ return;
2374
+ }
2370
2375
  if (!append) {
2371
2376
  setObjects(void 0);
2372
2377
  }
2373
2378
  setError(errorMessage(error_));
2374
2379
  } finally {
2375
- setBusy(false);
2380
+ if (seq === listSeq.current) {
2381
+ setBusy(false);
2382
+ }
2376
2383
  }
2377
2384
  }, [pageSize, storageApi]);
2378
2385
  useEffect(() => {
@@ -2497,8 +2504,9 @@ const useFileBrowser = ({
2497
2504
  const url = await storageApi.signedUrl(key_5, {
2498
2505
  expiresInSeconds: expiry
2499
2506
  });
2500
- await copyToClipboard(url);
2501
- setCopiedKey(key_5);
2507
+ if (copyToClipboard(url)) {
2508
+ setCopiedKey(key_5);
2509
+ }
2502
2510
  } catch (error__1) {
2503
2511
  setError(errorMessage(error__1));
2504
2512
  }
@@ -2564,10 +2572,13 @@ const useFileBrowser = ({
2564
2572
  })());
2565
2573
  };
2566
2574
  useEffect(() => {
2575
+ orphanSeq.current += 1;
2567
2576
  setDanglingReferences(void 0);
2568
2577
  setDanglingTruncated(false);
2569
2578
  }, [referenceShard]);
2570
2579
  const checkOrphans = () => {
2580
+ orphanSeq.current += 1;
2581
+ const seq_0 = orphanSeq.current;
2571
2582
  setError(void 0);
2572
2583
  setDanglingBusy(true);
2573
2584
  fireAndForget((async () => {
@@ -2586,29 +2597,41 @@ const useFileBrowser = ({
2586
2597
  } while (cursor_0 !== void 0);
2587
2598
  const enumTruncated = liveKeys.length >= ORPHAN_LIVE_KEY_CAP;
2588
2599
  if (enumTruncated) {
2589
- setDanglingReferences([]);
2590
- setDanglingTruncated(true);
2600
+ if (seq_0 === orphanSeq.current) {
2601
+ setDanglingReferences([]);
2602
+ setDanglingTruncated(true);
2603
+ }
2591
2604
  } else {
2592
2605
  const result_0 = await client.query(STORAGE_ORPHANS, {
2593
2606
  liveKeys
2594
2607
  }, callOptions(referenceShard));
2595
- setDanglingReferences(result_0.references ?? []);
2596
- setDanglingTruncated(result_0.truncated === true);
2608
+ if (seq_0 === orphanSeq.current) {
2609
+ setDanglingReferences(result_0.references ?? []);
2610
+ setDanglingTruncated(result_0.truncated === true);
2611
+ }
2597
2612
  }
2598
2613
  } catch (error__5) {
2599
- setDanglingReferences([]);
2600
- setDanglingTruncated(false);
2601
- setError(errorMessage(error__5));
2614
+ if (seq_0 === orphanSeq.current) {
2615
+ setDanglingReferences([]);
2616
+ setDanglingTruncated(false);
2617
+ setError(errorMessage(error__5));
2618
+ }
2602
2619
  } finally {
2603
- setDanglingBusy(false);
2620
+ if (seq_0 === orphanSeq.current) {
2621
+ setDanglingBusy(false);
2622
+ }
2604
2623
  }
2605
2624
  })());
2606
2625
  };
2607
2626
  const selectBucket = (name_0) => {
2627
+ listSeq.current += 1;
2628
+ orphanSeq.current += 1;
2608
2629
  setBucket(name_0);
2609
2630
  setPrefix(initialPrefix ?? "");
2610
2631
  setDraftPrefix(initialPrefix ?? "");
2611
2632
  setObjects(void 0);
2633
+ setDanglingReferences(void 0);
2634
+ setDanglingTruncated(false);
2612
2635
  clearSelection();
2613
2636
  };
2614
2637
  return {
@@ -1,15 +1,15 @@
1
1
  import { useLunora } from '@lunora/react';
2
2
  import { useState, useEffect } from 'react';
3
- import { ShardInput } from './ShardInput-gx_DZXXn.js';
4
- import { B as Badge } from './badge-B2PKA1-5.js';
5
- import { B as Button } from './button-BhsN2uZH.js';
6
- import { I as Input } from './input-XH4r1Pt1.js';
7
- import { L as Label } from './label-D8ykjn5J.js';
8
- import { T as Textarea } from './textarea-D3gaCU_-.js';
9
- import { useT } from './DEFAULT_LOCALE-CiX4W7Kr.js';
10
- import { ADMIN_FUNCTIONS } from './ADMIN_FUNCTIONS-DmBqMZ-z.js';
11
- import { e as errorMessage, b as formatTimestamp, f as fireAndForget, a as adminRef } from './internal-rXJEAhXS.js';
12
- import { r as recordShard } from './shard-history-DyebH1R5.js';
3
+ import { ShardInput } from '../packem_shared/ShardInput-CZnpHILL.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 { I as Input } from '../packem_shared/input-XH4r1Pt1.js';
7
+ import { L as Label } from '../packem_shared/label-D8ykjn5J.js';
8
+ import { T as Textarea } from '../packem_shared/textarea-D3gaCU_-.js';
9
+ import { useT } from '../packem_shared/DEFAULT_LOCALE-CiX4W7Kr.js';
10
+ import { ADMIN_FUNCTIONS } from '../packem_shared/ADMIN_FUNCTIONS-DNeyYtUN.js';
11
+ import { e as errorMessage, i as formatTimestamp, f as fireAndForget, j as dispatchByKind, a as adminRef } from '../packem_shared/internal-zwBoOv24.js';
12
+ import { r as recordShard } from '../packem_shared/shard-history-AxiJ1WPP.js';
13
13
  import { jsxDEV } from 'react/jsx-dev-runtime';
14
14
 
15
15
  const argumentType = (argument) => {
@@ -144,28 +144,11 @@ const FunctionRunner = ({
144
144
  setStatus("running");
145
145
  setError(null);
146
146
  try {
147
- let value;
148
- if (forgedUserId === "") {
149
- switch (selected.kind) {
150
- case "action": {
151
- value = await client.action(reference, parsedArgs, options);
152
- break;
153
- }
154
- case "mutation": {
155
- value = await client.mutation(reference, parsedArgs, options);
156
- break;
157
- }
158
- default: {
159
- value = await client.query(reference, parsedArgs, options);
160
- }
161
- }
162
- } else {
163
- value = await client.query(RUN_AS, {
164
- args: parsedArgs,
165
- functionPath: selected.path,
166
- userId: forgedUserId
167
- }, options);
168
- }
147
+ const value = forgedUserId === "" ? await dispatchByKind(client, selected.kind, reference, parsedArgs, options) : await client.query(RUN_AS, {
148
+ args: parsedArgs,
149
+ functionPath: selected.path,
150
+ userId: forgedUserId
151
+ }, options);
169
152
  recordShard(shardKey);
170
153
  setResult(value);
171
154
  setStatus("success");