@lunora/studio 1.0.0-alpha.22 → 1.0.0-alpha.220

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 (337) hide show
  1. package/LICENSE.md +6 -0
  2. package/README.md +1 -1
  3. package/dist/index.d.mts +1566 -0
  4. package/dist/index.d.ts +961 -803
  5. package/dist/index.mjs +1 -0
  6. package/dist/mount.d.mts +22 -0
  7. package/dist/mount.d.ts +11 -10
  8. package/dist/mount.mjs +1 -0
  9. package/dist/packem_chunks/AdvisorHealthPanel.mjs +1 -0
  10. package/dist/packem_chunks/ApiTab.mjs +1 -0
  11. package/dist/packem_chunks/AuditPanel.mjs +1 -0
  12. package/dist/packem_chunks/DeploymentHealthPanel.mjs +1 -0
  13. package/dist/packem_chunks/ExportImportPanel.mjs +3 -0
  14. package/dist/packem_chunks/FileBrowser.mjs +4 -0
  15. package/dist/packem_chunks/FunctionRunner.mjs +1 -0
  16. package/dist/packem_chunks/FunctionStatsPanel.mjs +1 -0
  17. package/dist/packem_chunks/HealthPanel.mjs +1 -0
  18. package/dist/packem_chunks/InsightsPanel.mjs +1 -0
  19. package/dist/packem_chunks/LogsPanel.mjs +1 -0
  20. package/dist/packem_chunks/MailPanel.mjs +2 -0
  21. package/dist/packem_chunks/MetricsPanel.mjs +1 -0
  22. package/dist/packem_chunks/NotificationsPanel.mjs +1 -0
  23. package/dist/packem_chunks/PitrPanel.mjs +1 -0
  24. package/dist/packem_chunks/SchemaViewer.mjs +1 -0
  25. package/dist/packem_chunks/SecurityAdvisorPanel.mjs +1 -0
  26. package/dist/packem_chunks/SettingsPanel.mjs +1 -0
  27. package/dist/packem_chunks/SqlEditorPanel.mjs +8 -0
  28. package/dist/packem_chunks/TableEditor.mjs +1 -0
  29. package/dist/packem_chunks/agents-panel.mjs +1 -0
  30. package/dist/packem_chunks/analytics-panel.mjs +1 -0
  31. package/dist/packem_chunks/auth-audit-panel.mjs +1 -0
  32. package/dist/packem_chunks/auth-config-panel.mjs +1 -0
  33. package/dist/packem_chunks/auth-sessions-panel.mjs +1 -0
  34. package/dist/packem_chunks/containers-panel.mjs +1 -0
  35. package/dist/packem_chunks/dashboards-panel.mjs +1 -0
  36. package/dist/packem_chunks/evals-panel.mjs +1 -0
  37. package/dist/packem_chunks/fanout-panel.mjs +1 -0
  38. package/dist/packem_chunks/flags-panel.mjs +1 -0
  39. package/dist/packem_chunks/issues-panel.mjs +1 -0
  40. package/dist/packem_chunks/kv-browser.mjs +1 -0
  41. package/dist/packem_chunks/log-drains-panel.mjs +4 -0
  42. package/dist/packem_chunks/migrations-route.mjs +1 -0
  43. package/dist/packem_chunks/organizations-panel.mjs +1 -0
  44. package/dist/packem_chunks/payments-panel.mjs +1 -0
  45. package/dist/packem_chunks/permissions-panel.mjs +1 -0
  46. package/dist/packem_chunks/queues-panel.mjs +1 -0
  47. package/dist/packem_chunks/reactors-panel.mjs +1 -0
  48. package/dist/packem_chunks/rls-panel.mjs +1 -0
  49. package/dist/packem_chunks/schedule-panel.mjs +1 -0
  50. package/dist/packem_chunks/sparkline.mjs +1 -0
  51. package/dist/packem_chunks/storage-rules-panel.mjs +1 -0
  52. package/dist/packem_chunks/subscriptions-panel.mjs +1 -0
  53. package/dist/packem_chunks/sync-client-panel.mjs +1 -0
  54. package/dist/packem_chunks/traces-panel.mjs +1 -0
  55. package/dist/packem_chunks/users-panel.mjs +1 -0
  56. package/dist/packem_chunks/vector-browser.mjs +1 -0
  57. package/dist/packem_chunks/workflows-panel.mjs +1 -0
  58. package/dist/packem_shared/ADMIN_FUNCTIONS-B8yyk5BX.mjs +1 -0
  59. package/dist/packem_shared/ApiDocsPanel-DzvVLAev.mjs +2 -0
  60. package/dist/packem_shared/ApiReferencePanel--1Y4o_-l.mjs +1 -0
  61. package/dist/packem_shared/CommandPalette-D7GxhPrH.mjs +1 -0
  62. package/dist/packem_shared/ConfirmButton-DU4p72Er.mjs +1 -0
  63. package/dist/packem_shared/ConnectionBadge-B8Hj5DaE.mjs +1 -0
  64. package/dist/packem_shared/DEFAULT_AUTO_REFRESH_MS-DuULO4XM.mjs +1 -0
  65. package/dist/packem_shared/DEFAULT_INSIGHT_THRESHOLDS-D5YMT0gM.mjs +1 -0
  66. package/dist/packem_shared/DEFAULT_LOCALE-A1Yg5ORA.mjs +1 -0
  67. package/dist/packem_shared/DataBrowser-CKbaOtDh.mjs +4 -0
  68. package/dist/packem_shared/DataFilters-Cocu-WWE.mjs +1 -0
  69. package/dist/packem_shared/ErrorBoundary-BWNF98VF.mjs +1 -0
  70. package/dist/packem_shared/GlobalDataBrowser-DSexMt80.mjs +1 -0
  71. package/dist/packem_shared/HomePanel-BkCmY0Hl.mjs +1 -0
  72. package/dist/packem_shared/MigrationsPanel-DLQRarWw.mjs +1 -0
  73. package/dist/packem_shared/OpenRpcReferencePanel-a_mbqw67.mjs +1 -0
  74. package/dist/packem_shared/STUDIO_ROOT_CLASS-C6MccdVk.mjs +1 -0
  75. package/dist/packem_shared/ScheduledJobs-DSqsMB51.mjs +1 -0
  76. package/dist/packem_shared/ShardInput-C6mjgAh4.mjs +1 -0
  77. package/dist/packem_shared/Studio-BE_SzY44.mjs +1 -0
  78. package/dist/packem_shared/StudioApp-kVjMop0V.mjs +1 -0
  79. package/dist/packem_shared/StudioI18nProvider-fVsCSs5L.mjs +1 -0
  80. package/dist/packem_shared/advisor-view-DtkbHW2O.mjs +1 -0
  81. package/dist/packem_shared/aggregateMetrics-5zEJC6Ju.mjs +1 -0
  82. package/dist/packem_shared/alert-PB5W11MM.mjs +1 -0
  83. package/dist/packem_shared/app.d-BbmO2HA2.d.mts +301 -0
  84. package/dist/packem_shared/app.d-BbmO2HA2.d.ts +301 -0
  85. package/dist/packem_shared/auth-pager-DiDnXsfe.mjs +1 -0
  86. package/dist/packem_shared/badge-r_5B4LHP.mjs +1 -0
  87. package/dist/packem_shared/bar-chart-BCsEIQoQ.mjs +6 -0
  88. package/dist/packem_shared/browser-storage-BH1MxLZs.mjs +1 -0
  89. package/dist/packem_shared/button-q0UYSmrn.mjs +1 -0
  90. package/dist/packem_shared/card--2hKx4L2.mjs +1 -0
  91. package/dist/packem_shared/cf-links-CBJ5SywP.mjs +1 -0
  92. package/dist/packem_shared/checkbox-CnS9cyCz.mjs +1 -0
  93. package/dist/packem_shared/control-button-BOZ5K-FC.mjs +1 -0
  94. package/dist/packem_shared/data-grid-BPu1a997.mjs +1 -0
  95. package/dist/packem_shared/data-view-params-DhYmAkcj.mjs +1 -0
  96. package/dist/packem_shared/dropdown-menu-jLZenfWH.mjs +2 -0
  97. package/dist/packem_shared/empty-state-D7jEML_T.mjs +1 -0
  98. package/dist/packem_shared/error-alert-dQk3g8WI.mjs +1 -0
  99. package/dist/packem_shared/grid-features-ByxOklon.mjs +6 -0
  100. package/dist/packem_shared/grid-pagination-DgzyzfBh.mjs +1 -0
  101. package/dist/packem_shared/home-panel-B_HN6YMA.mjs +3 -0
  102. package/dist/packem_shared/input-CXhxesPC.mjs +1 -0
  103. package/dist/packem_shared/internal-CyDwqA67.mjs +2 -0
  104. package/dist/packem_shared/label-DKFzyHq6.mjs +1 -0
  105. package/dist/packem_shared/live-status-BuJdUZFU.mjs +1 -0
  106. package/dist/packem_shared/log-fields-SBxKyBug.mjs +1 -0
  107. package/dist/packem_shared/log-line-BHZD2Aj4.mjs +1 -0
  108. package/dist/packem_shared/modal-shell-CDztwLnv.mjs +1 -0
  109. package/dist/packem_shared/operation-console-provider-DoloEvon.mjs +1 -0
  110. package/dist/packem_shared/recording-client-CjRFjhya.mjs +1 -0
  111. package/dist/packem_shared/reference-view-vNXUVPlA.mjs +13 -0
  112. package/dist/packem_shared/schema-diagram-DADlbs2X.mjs +2 -0
  113. package/dist/packem_shared/scroll-area-CXCQH7VT.mjs +2 -0
  114. package/dist/packem_shared/select-DPyS18Vy.mjs +2 -0
  115. package/dist/packem_shared/shard-history-CaO3C4KQ.mjs +1 -0
  116. package/dist/packem_shared/shortcuts-B9gDaXmw.mjs +1 -0
  117. package/dist/packem_shared/skeleton-DX1gfixl.mjs +1 -0
  118. package/dist/packem_shared/sparkline-B_sPPO_8.mjs +1 -0
  119. package/dist/packem_shared/sql-result-table-DS4o0GoC.mjs +1 -0
  120. package/dist/packem_shared/stat-card-D0Fe04cX.mjs +1 -0
  121. package/dist/packem_shared/storage-tier-C2mKwYRj.mjs +1 -0
  122. package/dist/packem_shared/studio-BVQq3QLR.mjs +2 -0
  123. package/dist/packem_shared/table-D0SBiDu-.mjs +2 -0
  124. package/dist/packem_shared/table-list-sidebar-D30qERKx.mjs +1 -0
  125. package/dist/packem_shared/textarea--40GKAyz.mjs +1 -0
  126. package/dist/packem_shared/trace-handoff-BV3EWqy_.mjs +1 -0
  127. package/dist/packem_shared/use-admin-query-CR9mHt0P.mjs +1 -0
  128. package/dist/packem_shared/use-async-submit-LWIKsZ8r.mjs +1 -0
  129. package/dist/packem_shared/use-auth-config-HmTOvrWd.mjs +1 -0
  130. package/dist/packem_shared/use-open-trace-DdGxsEB9.mjs +1 -0
  131. package/dist/packem_shared/use-shard-key-BsP3o5wT.mjs +1 -0
  132. package/dist/packem_shared/use-sql-assistant-D4XQ0v0R.mjs +1 -0
  133. package/dist/packem_shared/useDebounced-DVeQ5-oW.mjs +1 -0
  134. package/dist/packem_shared/utils-bhneXptQ.mjs +1 -0
  135. package/dist/packem_shared/virtual-rect-D_j7aLxX.mjs +1 -0
  136. package/dist/packem_shared/wire-codec-Bk4XZGE4.mjs +1 -0
  137. package/dist/standalone/chunk-225VJ77I.js +1 -0
  138. package/dist/standalone/chunk-2ABVDLD3.js +1 -0
  139. package/dist/standalone/chunk-2HAWCLCS.js +1 -0
  140. package/dist/standalone/chunk-2HF37UQN.js +1 -0
  141. package/dist/standalone/chunk-2JLOP2EL.js +1 -0
  142. package/dist/standalone/chunk-2R6ZRXPJ.js +1 -0
  143. package/dist/standalone/chunk-2RMFAASK.js +3 -0
  144. package/dist/standalone/chunk-2URQKGWU.js +1 -0
  145. package/dist/standalone/chunk-35DM4JJG.js +1 -0
  146. package/dist/standalone/chunk-3C25RFTP.js +1 -0
  147. package/dist/standalone/chunk-3FBLWUXD.js +1 -0
  148. package/dist/standalone/chunk-3GFF4BA4.js +3 -0
  149. package/dist/standalone/chunk-3Q2P62UR.js +1 -0
  150. package/dist/standalone/chunk-3TE3V2QL.js +1 -0
  151. package/dist/standalone/chunk-3ZMF2GJ5.js +1 -0
  152. package/dist/standalone/chunk-4AZDQAT2.js +1 -0
  153. package/dist/standalone/chunk-4GTO7FL5.js +1 -0
  154. package/dist/standalone/chunk-4JLGLPWV.js +1 -0
  155. package/dist/standalone/chunk-4L4WTGN5.js +1 -0
  156. package/dist/standalone/chunk-4P2KFEUN.js +1 -0
  157. package/dist/standalone/chunk-4ZEL6BYL.js +1 -0
  158. package/dist/standalone/chunk-55754F6H.js +1 -0
  159. package/dist/standalone/chunk-5ICUJ4IA.js +15 -0
  160. package/dist/standalone/chunk-5JDWLCSH.js +1 -0
  161. package/dist/standalone/chunk-5WJXVZMZ.js +1 -0
  162. package/dist/standalone/chunk-66UGPQVC.js +1 -0
  163. package/dist/standalone/chunk-6B7FVPW3.js +19 -0
  164. package/dist/standalone/chunk-6CGJCPHC.js +1 -0
  165. package/dist/standalone/chunk-6D6Z2KXU.js +1 -0
  166. package/dist/standalone/chunk-6DAD3RFX.js +1 -0
  167. package/dist/standalone/chunk-6HDT763N.js +1 -0
  168. package/dist/standalone/chunk-6P7CYZPR.js +1 -0
  169. package/dist/standalone/chunk-6RNWWWLS.js +1 -0
  170. package/dist/standalone/chunk-6WPU62WQ.js +2 -0
  171. package/dist/standalone/chunk-A2XTI2C3.js +1 -0
  172. package/dist/standalone/chunk-AAVLPU5Q.js +1 -0
  173. package/dist/standalone/chunk-AM7VTTNL.js +1 -0
  174. package/dist/standalone/chunk-AWHXPIXU.js +1 -0
  175. package/dist/standalone/chunk-BJEJVHCO.js +9 -0
  176. package/dist/standalone/chunk-CMA4PTV7.js +1 -0
  177. package/dist/standalone/chunk-CSUROWL2.js +1 -0
  178. package/dist/standalone/chunk-DKLSANZA.js +1 -0
  179. package/dist/standalone/chunk-DX6246CW.js +8 -0
  180. package/dist/standalone/chunk-DXT2DY4I.js +1 -0
  181. package/dist/standalone/chunk-EA2JKR5D.js +1 -0
  182. package/dist/standalone/chunk-EDEQELIO.js +1 -0
  183. package/dist/standalone/chunk-EQVY6WGK.js +1 -0
  184. package/dist/standalone/chunk-EVTM6Q43.js +1 -0
  185. package/dist/standalone/chunk-F7UC63UN.js +1 -0
  186. package/dist/standalone/chunk-FCEQTBLC.js +1 -0
  187. package/dist/standalone/chunk-FCPY75TQ.js +1 -0
  188. package/dist/standalone/chunk-FEWMAPNI.js +1 -0
  189. package/dist/standalone/chunk-FKVZRPV5.js +1 -0
  190. package/dist/standalone/chunk-FS4GMDIW.js +4 -0
  191. package/dist/standalone/chunk-FSRSK4LY.js +1 -0
  192. package/dist/standalone/chunk-GGAUC5ZI.js +1 -0
  193. package/dist/standalone/chunk-GL7PC32W.js +1 -0
  194. package/dist/standalone/chunk-GMS77BZD.js +1 -0
  195. package/dist/standalone/chunk-GYKK64E7.js +1 -0
  196. package/dist/standalone/chunk-H4OORJHB.js +1 -0
  197. package/dist/standalone/chunk-HEAQVSNS.js +1 -0
  198. package/dist/standalone/chunk-HR7W3Z5I.js +1 -0
  199. package/dist/standalone/chunk-I3TUOZM3.js +1 -0
  200. package/dist/standalone/chunk-I4VOJYXE.js +1 -0
  201. package/dist/standalone/chunk-IHMGCHAA.js +1 -0
  202. package/dist/standalone/chunk-IJPXZZZ5.js +1 -0
  203. package/dist/standalone/chunk-IMOHEGMV.js +1 -0
  204. package/dist/standalone/chunk-IS6LVJ6L.js +1 -0
  205. package/dist/standalone/chunk-J345HOFQ.js +1 -0
  206. package/dist/standalone/chunk-JNDBJAO6.js +1 -0
  207. package/dist/standalone/chunk-JQ63BDVF.js +1 -0
  208. package/dist/standalone/chunk-K4HVLN3Z.js +1 -0
  209. package/dist/standalone/chunk-K7AJEMKE.js +1 -0
  210. package/dist/standalone/chunk-KFEWMJQS.js +1 -0
  211. package/dist/standalone/chunk-KGCUFNFC.js +5 -0
  212. package/dist/standalone/chunk-LJVH6HRQ.js +1 -0
  213. package/dist/standalone/chunk-MDUTVBJZ.js +1 -0
  214. package/dist/standalone/chunk-MMMRSTCL.js +1 -0
  215. package/dist/standalone/chunk-MU3P2FI7.js +1 -0
  216. package/dist/standalone/chunk-MXLAOCAN.js +1 -0
  217. package/dist/standalone/chunk-OGUKYRFM.js +1 -0
  218. package/dist/standalone/chunk-OKG3HWSJ.js +1 -0
  219. package/dist/standalone/chunk-ONIGWNXT.js +1 -0
  220. package/dist/standalone/chunk-PAE3ULFR.js +1 -0
  221. package/dist/standalone/chunk-PIKO7SSB.js +1 -0
  222. package/dist/standalone/chunk-PLHA3OWK.js +3 -0
  223. package/dist/standalone/chunk-PSBP27ZK.js +1 -0
  224. package/dist/standalone/chunk-PSPSEIFN.js +1 -0
  225. package/dist/standalone/chunk-PUBYZCHW.js +4 -0
  226. package/dist/standalone/chunk-PVNT7VXC.js +1 -0
  227. package/dist/standalone/chunk-PY5P53RV.js +6 -0
  228. package/dist/standalone/chunk-Q2F2DRGB.js +1 -0
  229. package/dist/standalone/chunk-Q4CAKBWN.js +1 -0
  230. package/dist/standalone/chunk-QKEJLVC5.js +1 -0
  231. package/dist/standalone/chunk-QKZ2JCH3.js +1 -0
  232. package/dist/standalone/chunk-RBJMRBC3.js +1 -0
  233. package/dist/standalone/chunk-RE4RWXYW.js +1 -0
  234. package/dist/standalone/chunk-RFNGDE33.js +1 -0
  235. package/dist/standalone/chunk-RPQL45FL.js +1 -0
  236. package/dist/standalone/chunk-RVBRSHYE.js +1 -0
  237. package/dist/standalone/chunk-S3CRZLGS.js +1 -0
  238. package/dist/standalone/chunk-SEBIGECV.js +1 -0
  239. package/dist/standalone/chunk-TZHEXHD4.js +8 -0
  240. package/dist/standalone/chunk-ULIQFBZU.js +1 -0
  241. package/dist/standalone/chunk-UTPXXTQ6.js +1 -0
  242. package/dist/standalone/chunk-UYEZR3BI.js +1 -0
  243. package/dist/standalone/chunk-UYKO4I36.js +1 -0
  244. package/dist/standalone/chunk-V2JKX5UU.js +14 -0
  245. package/dist/standalone/chunk-V2LIXSFE.js +1 -0
  246. package/dist/standalone/chunk-V3CZW3JB.js +1 -0
  247. package/dist/standalone/chunk-V3VJAA4D.js +1 -0
  248. package/dist/standalone/chunk-VQM2MKYO.js +1 -0
  249. package/dist/standalone/chunk-VQTSESFP.js +1 -0
  250. package/dist/standalone/chunk-WINPNKYC.js +1 -0
  251. package/dist/standalone/chunk-WUWBZPUK.js +1 -0
  252. package/dist/standalone/chunk-XZMOZFE6.js +1 -0
  253. package/dist/standalone/chunk-Y5PCZUGU.js +59 -0
  254. package/dist/standalone/chunk-Y6CXU7T4.js +1 -0
  255. package/dist/standalone/chunk-YBCFAAQJ.js +1 -0
  256. package/dist/standalone/chunk-YKXDMIHQ.js +1 -0
  257. package/dist/standalone/chunk-YOB2X3FZ.js +1 -0
  258. package/dist/standalone/chunk-YPRQLCKF.js +1 -0
  259. package/dist/standalone/chunk-YV6JXZJO.js +1 -0
  260. package/dist/standalone/chunk-ZHM5ZHPC.js +1 -0
  261. package/dist/standalone/chunk-ZJZNCJHY.js +1 -0
  262. package/dist/standalone/chunk-ZUGCPRKB.js +1 -0
  263. package/dist/standalone/studio.js +9 -378
  264. package/dist/styles.css +2 -2
  265. package/package.json +23 -20
  266. package/dist/index.js +0 -41
  267. package/dist/mount.js +0 -26
  268. package/dist/packem_shared/ADMIN_FUNCTIONS-CdaxLGkE.js +0 -48
  269. package/dist/packem_shared/ApiDocsPanel-BgrN4kml.js +0 -842
  270. package/dist/packem_shared/ApiReferencePanel-1vubqG5s.js +0 -229
  271. package/dist/packem_shared/ApiTab-CHkX49o_.js +0 -251
  272. package/dist/packem_shared/AuditPanel-CP9HM9nq.js +0 -200
  273. package/dist/packem_shared/CommandPalette-BtgkBzZI.js +0 -373
  274. package/dist/packem_shared/ConfirmButton-C2eVi2Qv.js +0 -59
  275. package/dist/packem_shared/ConnectionBadge-B2DDM2Tn.js +0 -111
  276. package/dist/packem_shared/DEFAULT_AUTO_REFRESH_MS-Vxwaxx51.js +0 -50
  277. package/dist/packem_shared/DEFAULT_INSIGHT_THRESHOLDS-DjF0h-gA.js +0 -89
  278. package/dist/packem_shared/DEFAULT_LOCALE-CiX4W7Kr.js +0 -27
  279. package/dist/packem_shared/DataBrowser-Bb1gTQ6c.js +0 -4475
  280. package/dist/packem_shared/DataFilters-FNquMaiu.js +0 -249
  281. package/dist/packem_shared/ErrorBoundary-BzAApI7J.js +0 -66
  282. package/dist/packem_shared/ExportImportPanel-Dj87tRa5.js +0 -197
  283. package/dist/packem_shared/FileBrowser-CWvxp_is.js +0 -2932
  284. package/dist/packem_shared/FunctionRunner-DlWApMCH.js +0 -343
  285. package/dist/packem_shared/FunctionStatsPanel-CuO2Tmw-.js +0 -375
  286. package/dist/packem_shared/GlobalDataBrowser-3X9uRfdO.js +0 -289
  287. package/dist/packem_shared/HealthPanel-Dj0GRo5P.js +0 -648
  288. package/dist/packem_shared/HomePanel-BewOCuag.js +0 -1334
  289. package/dist/packem_shared/InsightsPanel-y_Q-xdPY.js +0 -461
  290. package/dist/packem_shared/LogsPanel-C7crgYoS.js +0 -827
  291. package/dist/packem_shared/MailPanel-PILidruz.js +0 -440
  292. package/dist/packem_shared/MetricsPanel-DioILzgf.js +0 -1611
  293. package/dist/packem_shared/MigrationsPanel-DkIcRoE5.js +0 -239
  294. package/dist/packem_shared/OpenRpcReferencePanel-vbcYbv3V.js +0 -191
  295. package/dist/packem_shared/PitrPanel-yKJ1JPPk.js +0 -252
  296. package/dist/packem_shared/STUDIO_ROOT_CLASS-D12gX2dV.js +0 -3
  297. package/dist/packem_shared/ScheduledJobs-BWNwIN3I.js +0 -262
  298. package/dist/packem_shared/SchemaViewer-CNr8Wame.js +0 -2512
  299. package/dist/packem_shared/SecurityAdvisorPanel-BBzv7L3c.js +0 -92
  300. package/dist/packem_shared/SettingsPanel-BKSKl8tl.js +0 -390
  301. package/dist/packem_shared/ShardInput-gx_DZXXn.js +0 -107
  302. package/dist/packem_shared/SqlEditorPanel-CkemCQvy.js +0 -13
  303. package/dist/packem_shared/Studio-QkOjc2NS.js +0 -33
  304. package/dist/packem_shared/StudioApp-TEElspKL.js +0 -657
  305. package/dist/packem_shared/StudioI18nProvider-B-tDCZIi.js +0 -48
  306. package/dist/packem_shared/TableEditor-JS3sXYgS.js +0 -11
  307. package/dist/packem_shared/advisor-view-CGcfMiPq.js +0 -159
  308. package/dist/packem_shared/aggregateMetrics-D4nUHEKU.js +0 -108
  309. package/dist/packem_shared/app.d-Cnij4Zp5.d.ts +0 -300
  310. package/dist/packem_shared/badge-B2PKA1-5.js +0 -49
  311. package/dist/packem_shared/bar-chart-CzJAgqkp.js +0 -3245
  312. package/dist/packem_shared/button-BhsN2uZH.js +0 -49
  313. package/dist/packem_shared/card-DURq3ElK.js +0 -175
  314. package/dist/packem_shared/cf-links-2cktDedA.js +0 -8
  315. package/dist/packem_shared/checkbox-UNkzAxl-.js +0 -63
  316. package/dist/packem_shared/data-grid-B5CaV3wS.js +0 -183
  317. package/dist/packem_shared/dropdown-menu-WY4B_eJO.js +0 -280
  318. package/dist/packem_shared/empty-state-DY_oe0k6.js +0 -98
  319. package/dist/packem_shared/grid-features-CzUfqgsM.js +0 -840
  320. package/dist/packem_shared/input-XH4r1Pt1.js +0 -53
  321. package/dist/packem_shared/internal-rXJEAhXS.js +0 -68
  322. package/dist/packem_shared/label-D8ykjn5J.js +0 -46
  323. package/dist/packem_shared/live-status-FZ0psC1z.js +0 -44
  324. package/dist/packem_shared/reference-view-B4E49Lip.js +0 -2180
  325. package/dist/packem_shared/shard-history-DyebH1R5.js +0 -38
  326. package/dist/packem_shared/sparkline-10dG-_f0.js +0 -93
  327. package/dist/packem_shared/sql-editor-panel-CUJoYF1Z.js +0 -2562
  328. package/dist/packem_shared/storage-tier-CL98eOvn.js +0 -85
  329. package/dist/packem_shared/studio-c5Vf7kSh.js +0 -11532
  330. package/dist/packem_shared/table-_RzNvy3R.js +0 -246
  331. package/dist/packem_shared/table-editor-9fhJ4hMJ.js +0 -407
  332. package/dist/packem_shared/table-list-sidebar-Bg7uzbvC.js +0 -832
  333. package/dist/packem_shared/textarea-D3gaCU_-.js +0 -46
  334. package/dist/packem_shared/use-admin-query-BkbdNFNz.js +0 -105
  335. package/dist/packem_shared/useDebounced-Dxncpg6z.js +0 -32
  336. package/dist/packem_shared/utils-B05Dmz_H.js +0 -8
  337. package/dist/packem_shared/virtual-rect-CVMUskSm.js +0 -10
@@ -0,0 +1,9 @@
1
+ import{a as Lt,d as y}from"./chunk-5ICUJ4IA.js";import{a as o,d as L,e as ie,f as Qt,g as ze}from"./chunk-YKXDMIHQ.js";var q=class{static{o(this,"Subscribable")}constructor(){this.listeners=new Set,this.subscribe=this.subscribe.bind(this)}subscribe(t){return this.listeners.add(t),this.onSubscribe(),()=>{this.listeners.delete(t),this.onUnsubscribe()}}hasListeners(){return this.listeners.size>0}onSubscribe(){}onUnsubscribe(){}};var lr=class extends q{static{o(this,"FocusManager")}#e;#t;#s;constructor(){super(),this.#s=t=>{if(typeof window<"u"&&window.addEventListener){let e=o(()=>t(),"listener");return window.addEventListener("visibilitychange",e,!1),()=>{window.removeEventListener("visibilitychange",e)}}}}onSubscribe(){this.#t||this.setEventListener(this.#s)}onUnsubscribe(){this.hasListeners()||(this.#t?.(),this.#t=void 0)}setEventListener(t){this.#s=t,this.#t?.(),this.#t=t(e=>{typeof e=="boolean"?this.setFocused(e):this.onFocus()})}setFocused(t){this.#e!==t&&(this.#e=t,this.onFocus())}onFocus(){let t=this.isFocused();this.listeners.forEach(e=>{e(t)})}isFocused(){return typeof this.#e=="boolean"?this.#e:globalThis.document?.visibilityState!=="hidden"}},oe=new lr;var fr={setTimeout:o((t,e)=>setTimeout(t,e),"setTimeout"),clearTimeout:o(t=>clearTimeout(t),"clearTimeout"),setInterval:o((t,e)=>setInterval(t,e),"setInterval"),clearInterval:o(t=>clearInterval(t),"clearInterval")},pr=class{static{o(this,"TimeoutManager")}#e=fr;#t=!1;setTimeoutProvider(t){this.#e=t}setTimeout(t,e){return this.#e.setTimeout(t,e)}clearTimeout(t){this.#e.clearTimeout(t)}setInterval(t,e){return this.#e.setInterval(t,e)}clearInterval(t){this.#e.clearInterval(t)}},j=new pr;function _t(t){setTimeout(t,0)}o(_t,"systemSetTimeoutZero");var Ge=typeof window>"u"||"Deno"in globalThis;function C(){}o(C,"noop");function Nt(t,e){return typeof t=="function"?t(e):t}o(Nt,"functionalUpdate");function pe(t){return typeof t=="number"&&t>=0&&t!==1/0}o(pe,"isValidTimeout");function Ie(t,e){return Math.max(t+(e||0)-Date.now(),0)}o(Ie,"timeUntilStale");function U(t,e){return typeof t=="function"?t(e):t}o(U,"resolveStaleTime");function I(t,e){return typeof t=="function"?t(e):t}o(I,"resolveQueryBoolean");function Oe(t,e){let{type:s="all",exact:r,fetchStatus:i,predicate:n,queryKey:a,stale:c}=t;if(a){if(r){if(e.queryHash!==me(a,e.options))return!1}else if(!G(e.queryKey,a))return!1}if(s!=="all"){let u=e.isActive();if(s==="active"&&!u||s==="inactive"&&u)return!1}return!(typeof c=="boolean"&&e.isStale()!==c||i&&i!==e.state.fetchStatus||n&&!n(e))}o(Oe,"matchQuery");function Re(t,e){let{exact:s,status:r,predicate:i,mutationKey:n}=t;if(n){if(!e.options.mutationKey)return!1;if(s){if(ne(e.options.mutationKey)!==ne(n))return!1}else if(!G(e.options.mutationKey,n))return!1}return!(r&&e.state.status!==r||i&&!i(e))}o(Re,"matchMutation");function me(t,e){return(e?.queryKeyHashFn||ne)(t)}o(me,"hashQueryKeyByOptions");function ne(t){return JSON.stringify(t,(e,s)=>Ve(s)?Object.keys(s).sort().reduce((r,i)=>(r[i]=s[i],r),{}):s)}o(ne,"hashKey");function G(t,e){if(t===e)return!0;if(typeof t!=typeof e)return!1;if(t&&e&&typeof t=="object"&&typeof e=="object"){if(Array.isArray(t)&&Array.isArray(e)){for(let r=0;r<e.length;r++)if(!G(t[r],e[r]))return!1;return!0}let s=Object.keys(e);for(let r of s)if(!G(t[r],e[r]))return!1;return!0}return!1}o(G,"partialMatchKey");var mr=Object.prototype.hasOwnProperty;function Je(t,e,s=0){if(t===e)return t;if(s>500)return e;let r=Dt(t)&&Dt(e);if(!r&&!(Ve(t)&&Ve(e)))return e;let n=(r?t:Object.keys(t)).length,a=r?e:Object.keys(e),c=a.length,u=r?new Array(c):{},h=0;for(let d=0;d<c;d++){let l=r?d:a[d],f=t[l],p=e[l];if(f===p){u[l]=f,(r?d<n:mr.call(t,l))&&h++;continue}if(f===null||p===null||typeof f!="object"||typeof p!="object"){u[l]=p;continue}let m=Je(f,p,s+1);u[l]=m,m===f&&h++}return n===c&&h===n?t:u}o(Je,"replaceEqualDeep");function Ae(t,e){if(!e||Object.keys(t).length!==Object.keys(e).length)return!1;for(let s in t)if(t[s]!==e[s])return!1;return!0}o(Ae,"shallowEqualObjects");function Dt(t){return Array.isArray(t)&&t.length===Object.keys(t).length}o(Dt,"isPlainArray");function Ve(t){if(!Ut(t))return!1;let e=t.constructor;if(e===void 0)return!0;let s=e.prototype;return!(!Ut(s)||!s.hasOwnProperty("isPrototypeOf")||Object.getPrototypeOf(t)!==Object.prototype)}o(Ve,"isPlainObject");function Ut(t){return Object.prototype.toString.call(t)==="[object Object]"}o(Ut,"hasObjectPrototype");function qt(t){return new Promise(e=>{j.setTimeout(e,t)})}o(qt,"sleep");function ye(t,e,s){return typeof s.structuralSharing=="function"?s.structuralSharing(t,e):s.structuralSharing!==!1?Je(t,e):e}o(ye,"replaceData");function yr(t){return t}o(yr,"keepPreviousData");function jt(t,e,s=0){let r=[...t,e];return s&&r.length>s?r.slice(1):r}o(jt,"addToEnd");function Kt(t,e,s=0){let r=[e,...t];return s&&r.length>s?r.slice(0,-1):r}o(Kt,"addToStart");var ce=Symbol();function Pe(t,e){return!t.queryFn&&e?.initialPromise?()=>e.initialPromise:!t.queryFn||t.queryFn===ce?()=>Promise.reject(new Error(`Missing queryFn: '${t.queryHash}'`)):t.queryFn}o(Pe,"ensureQueryFn");function Fe(t,e){return typeof t=="function"?t(...e):!!t}o(Fe,"shouldThrowError");function Bt(t,e,s){let r=!1,i;return Object.defineProperty(t,"signal",{enumerable:!0,get:o(()=>(i??=e(),r||(r=!0,i.aborted?s():i.addEventListener("abort",s,{once:!0})),i),"get")}),t}o(Bt,"addConsumeAwareSignal");var K=(()=>{let t=o(()=>Ge,"isServerFn");return{isServer(){return t()},setIsServer(e){t=e}}})();function be(){let t,e,s=new Promise((i,n)=>{t=i,e=n});s.status="pending",s.catch(()=>{});function r(i){Object.assign(s,i),delete s.resolve,delete s.reject}return o(r,"finalize"),s.resolve=i=>{r({status:"fulfilled",value:i}),t(i)},s.reject=i=>{r({status:"rejected",reason:i}),e(i)},s}o(be,"pendingThenable");var $t=_t;function br(){let t=[],e=0,s=o(c=>{c()},"notifyFn"),r=o(c=>{c()},"batchNotifyFn"),i=$t,n=o(c=>{e?t.push(c):i(()=>{s(c)})},"schedule"),a=o(()=>{let c=t;t=[],c.length&&i(()=>{r(()=>{c.forEach(u=>{s(u)})})})},"flush");return{batch:o(c=>{let u;e++;try{u=c()}finally{e--,e||a()}return u},"batch"),batchCalls:o(c=>(...u)=>{n(()=>{c(...u)})},"batchCalls"),schedule:n,setNotifyFunction:o(c=>{s=c},"setNotifyFunction"),setBatchNotifyFunction:o(c=>{r=c},"setBatchNotifyFunction"),setScheduler:o(c=>{i=c},"setScheduler")}}o(br,"createNotifyManager");var v=br();var gr=class extends q{static{o(this,"OnlineManager")}#e=!0;#t;#s;constructor(){super(),this.#s=t=>{if(typeof window<"u"&&window.addEventListener){let e=o(()=>t(!0),"onlineListener"),s=o(()=>t(!1),"offlineListener");return window.addEventListener("online",e,!1),window.addEventListener("offline",s,!1),()=>{window.removeEventListener("online",e),window.removeEventListener("offline",s)}}}}onSubscribe(){this.#t||this.setEventListener(this.#s)}onUnsubscribe(){this.hasListeners()||(this.#t?.(),this.#t=void 0)}setEventListener(t){this.#s=t,this.#t?.(),this.#t=t(this.setOnline.bind(this))}setOnline(t){this.#e!==t&&(this.#e=t,this.listeners.forEach(s=>{s(t)}))}isOnline(){return this.#e}},ue=new gr;function vr(t){return Math.min(1e3*2**t,3e4)}o(vr,"defaultRetryDelay");function Ye(t){return(t??"online")==="online"?ue.isOnline():!0}o(Ye,"canFetch");var Me=class extends Error{static{o(this,"CancelledError")}constructor(t){super("CancelledError"),this.revert=t?.revert,this.silent=t?.silent}};function xe(t){let e=!1,s=0,r,i=be(),n=o(()=>i.status!=="pending","isResolved"),a=o(b=>{if(!n()){let w=new Me(b);f(w),t.onCancel?.(w)}},"cancel"),c=o(()=>{e=!0},"cancelRetry"),u=o(()=>{e=!1},"continueRetry"),h=o(()=>oe.isFocused()&&(t.networkMode==="always"||ue.isOnline())&&t.canRun(),"canContinue"),d=o(()=>Ye(t.networkMode)&&t.canRun(),"canStart"),l=o(b=>{n()||(r?.(),i.resolve(b))},"resolve"),f=o(b=>{n()||(r?.(),i.reject(b))},"reject"),p=o(()=>new Promise(b=>{r=o(w=>{(n()||h())&&b(w)},"continueFn"),t.onPause?.()}).then(()=>{r=void 0,n()||t.onContinue?.()}),"pause"),m=o(()=>{if(n())return;let b,w=s===0?t.initialPromise:void 0;try{b=w??t.fn()}catch(k){b=Promise.reject(k)}Promise.resolve(b).then(l).catch(k=>{if(n())return;let F=t.retry??(K.isServer()?0:3),_=t.retryDelay??vr,N=typeof _=="function"?_(s,k):_,D=F===!0||typeof F=="number"&&s<F||typeof F=="function"&&F(s,k);if(e||!D){f(k);return}s++,t.onFail?.(s,k),qt(N).then(()=>h()?void 0:p()).then(()=>{e?f(k):m()})})},"run");return{promise:i,status:o(()=>i.status,"status"),cancel:a,continue:o(()=>(r?.(),i),"continue"),cancelRetry:c,continueRetry:u,canStart:d,start:o(()=>(d()?m():p().then(m),i),"start")}}o(xe,"createRetryer");var Le=class{static{o(this,"Removable")}#e;destroy(){this.clearGcTimeout()}scheduleGc(){this.clearGcTimeout(),pe(this.gcTime)&&(this.#e=j.setTimeout(()=>{this.optionalRemove()},this.gcTime))}updateGcTime(t){this.gcTime=Math.max(this.gcTime||0,t??(K.isServer()?1/0:300*1e3))}clearGcTimeout(){this.#e!==void 0&&(j.clearTimeout(this.#e),this.#e=void 0)}};function Ht(t){return{onFetch:o((e,s)=>{let r=e.options,i=e.fetchOptions?.meta?.fetchMore?.direction,n=e.state.data?.pages||[],a=e.state.data?.pageParams||[],c={pages:[],pageParams:[]},u=0,h=o(async()=>{let d=!1,l=o(m=>{Bt(m,()=>e.signal,()=>d=!0)},"addSignalProperty"),f=Pe(e.options,e.fetchOptions),p=o(async(m,b,w)=>{if(d)return Promise.reject(e.signal.reason);if(b==null&&m.pages.length)return Promise.resolve(m);let F=o(()=>{let $={client:e.client,queryKey:e.queryKey,pageParam:b,direction:w?"backward":"forward",meta:e.options.meta};return l($),$},"createQueryFnContext")(),_=await f(F),{maxPages:N}=e.options,D=w?Kt:jt;return{pages:D(m.pages,_,N),pageParams:D(m.pageParams,b,N)}},"fetchPage");if(i&&n.length){let m=i==="backward",b=m?Sr:Wt,w={pages:n,pageParams:a},k=b(r,w);c=await p(w,k,m)}else{let m=t??n.length;do{let b=u===0?a[0]??r.initialPageParam:Wt(r,c);if(u>0&&b==null)break;c=await p(c,b),u++}while(u<m)}return c},"fetchFn");e.options.persister?e.fetchFn=()=>e.options.persister?.(h,{client:e.client,queryKey:e.queryKey,meta:e.options.meta,signal:e.signal},s):e.fetchFn=h},"onFetch")}}o(Ht,"infiniteQueryBehavior");function Wt(t,{pages:e,pageParams:s}){let r=e.length-1;return e.length>0?t.getNextPageParam(e[r],e,s[r],s):void 0}o(Wt,"getNextPageParam");function Sr(t,{pages:e,pageParams:s}){return e.length>0?t.getPreviousPageParam?.(e[0],e,s[0],s):void 0}o(Sr,"getPreviousPageParam");var Gt=class extends Le{static{o(this,"Query")}#e;#t;#s;#r;#n;#i;#o;#a;constructor(t){super(),this.#a=!1,this.#o=t.defaultOptions,this.setOptions(t.options),this.observers=[],this.#n=t.client,this.#r=this.#n.getQueryCache(),this.queryKey=t.queryKey,this.queryHash=t.queryHash,this.#t=Vt(this.options),this.state=t.state??this.#t,this.scheduleGc()}get meta(){return this.options.meta}get queryType(){return this.#e}get promise(){return this.#i?.promise}setOptions(t){if(this.options={...this.#o,...t},t?._type&&(this.#e=t._type),this.updateGcTime(this.options.gcTime),this.state&&this.state.data===void 0){let e=Vt(this.options);e.data!==void 0&&(this.setState(zt(e.data,e.dataUpdatedAt)),this.#t=e)}}optionalRemove(){!this.observers.length&&this.state.fetchStatus==="idle"&&this.#r.remove(this)}setData(t,e){let s=ye(this.state.data,t,this.options);return this.#c({data:s,type:"success",dataUpdatedAt:e?.updatedAt,manual:e?.manual}),s}setState(t){this.#c({type:"setState",state:t})}cancel(t){let e=this.#i?.promise;return this.#i?.cancel(t),e?e.then(C).catch(C):Promise.resolve()}destroy(){super.destroy(),this.cancel({silent:!0})}get resetState(){return this.#t}reset(){this.destroy(),this.setState(this.resetState)}isActive(){return this.observers.some(t=>I(t.options.enabled,this)!==!1)}isDisabled(){return this.getObserversCount()>0?!this.isActive():this.options.queryFn===ce||!this.isFetched()}isFetched(){return this.state.dataUpdateCount+this.state.errorUpdateCount>0}isStatic(){return this.getObserversCount()>0?this.observers.some(t=>U(t.options.staleTime,this)==="static"):!1}isStale(){return this.getObserversCount()>0?this.observers.some(t=>t.getCurrentResult().isStale):this.state.data===void 0||this.state.isInvalidated}isStaleByTime(t=0){return this.state.data===void 0?!0:t==="static"?!1:this.state.isInvalidated?!0:!Ie(this.state.dataUpdatedAt,t)}onFocus(){this.observers.find(e=>e.shouldFetchOnWindowFocus())?.refetch({cancelRefetch:!1}),this.#i?.continue()}onOnline(){this.observers.find(e=>e.shouldFetchOnReconnect())?.refetch({cancelRefetch:!1}),this.#i?.continue()}addObserver(t){this.observers.includes(t)||(this.observers.push(t),this.clearGcTimeout(),this.#r.notify({type:"observerAdded",query:this,observer:t}))}removeObserver(t){this.observers.includes(t)&&(this.observers=this.observers.filter(e=>e!==t),this.observers.length||(this.#i&&(this.#a||this.#h()?this.#i.cancel({revert:!0}):this.#i.cancelRetry()),this.scheduleGc()),this.#r.notify({type:"observerRemoved",query:this,observer:t}))}getObserversCount(){return this.observers.length}#h(){return this.state.fetchStatus==="paused"&&this.state.status==="pending"}invalidate(){this.state.isInvalidated||this.#c({type:"invalidate"})}async fetch(t,e){if(this.state.fetchStatus!=="idle"&&this.#i?.status()!=="rejected"){if(this.state.data!==void 0&&e?.cancelRefetch)this.cancel({silent:!0});else if(this.#i)return this.#i.continueRetry(),this.#i.promise}if(t&&this.setOptions(t),!this.options.queryFn){let u=this.observers.find(h=>h.options.queryFn);u&&this.setOptions(u.options)}let s=new AbortController,r=o(u=>{Object.defineProperty(u,"signal",{enumerable:!0,get:o(()=>(this.#a=!0,s.signal),"get")})},"addSignalProperty"),i=o(()=>{let u=Pe(this.options,e),d=o(()=>{let l={client:this.#n,queryKey:this.queryKey,meta:this.meta};return r(l),l},"createQueryFnContext")();return this.#a=!1,this.options.persister?this.options.persister(u,d,this):u(d)},"fetchFn"),a=o(()=>{let u={fetchOptions:e,options:this.options,queryKey:this.queryKey,client:this.#n,state:this.state,fetchFn:i};return r(u),u},"createFetchContext")();(this.#e==="infinite"?Ht(this.options.pages):this.options.behavior)?.onFetch(a,this),this.#s=this.state,(this.state.fetchStatus==="idle"||this.state.fetchMeta!==a.fetchOptions?.meta)&&this.#c({type:"fetch",meta:a.fetchOptions?.meta}),this.#i=xe({initialPromise:e?.initialPromise,fn:a.fetchFn,onCancel:o(u=>{u instanceof Me&&u.revert&&this.setState({...this.#s,fetchStatus:"idle"}),s.abort()},"onCancel"),onFail:o((u,h)=>{this.#c({type:"failed",failureCount:u,error:h})},"onFail"),onPause:o(()=>{this.#c({type:"pause"})},"onPause"),onContinue:o(()=>{this.#c({type:"continue"})},"onContinue"),retry:a.options.retry,retryDelay:a.options.retryDelay,networkMode:a.options.networkMode,canRun:o(()=>!0,"canRun")});try{let u=await this.#i.start();if(u===void 0)throw new Error(`${this.queryHash} data is undefined`);return this.setData(u),this.#r.config.onSuccess?.(u,this),this.#r.config.onSettled?.(u,this.state.error,this),u}catch(u){if(u instanceof Me){if(u.silent)return this.#i.promise;if(u.revert){if(this.state.data===void 0)throw u;return this.state.data}}throw this.#c({type:"error",error:u}),this.#r.config.onError?.(u,this),this.#r.config.onSettled?.(this.state.data,u,this),u}finally{this.scheduleGc()}}#c(t){let e=o(s=>{switch(t.type){case"failed":return{...s,fetchFailureCount:t.failureCount,fetchFailureReason:t.error};case"pause":return{...s,fetchStatus:"paused"};case"continue":return{...s,fetchStatus:"fetching"};case"fetch":return{...s,...Xe(s.data,this.options),fetchMeta:t.meta??null};case"success":let r={...s,...zt(t.data,t.dataUpdatedAt),dataUpdateCount:s.dataUpdateCount+1,...!t.manual&&{fetchStatus:"idle",fetchFailureCount:0,fetchFailureReason:null}};return this.#s=t.manual?r:void 0,r;case"error":let i=t.error;return{...s,error:i,errorUpdateCount:s.errorUpdateCount+1,errorUpdatedAt:Date.now(),fetchFailureCount:s.fetchFailureCount+1,fetchFailureReason:i,fetchStatus:"idle",status:"error",isInvalidated:!0};case"invalidate":return{...s,isInvalidated:!0};case"setState":return{...s,...t.state}}},"reducer");this.state=e(this.state),v.batch(()=>{this.observers.forEach(s=>{s.onQueryUpdate()}),this.#r.notify({query:this,type:"updated",action:t})})}};function Xe(t,e){return{fetchFailureCount:0,fetchFailureReason:null,fetchStatus:Ye(e.networkMode)?"fetching":"paused",...t===void 0&&{error:null,status:"pending"}}}o(Xe,"fetchState");function zt(t,e){return{data:t,dataUpdatedAt:e??Date.now(),error:null,isInvalidated:!1,status:"success"}}o(zt,"successState");function Vt(t){let e=typeof t.initialData=="function"?t.initialData():t.initialData,s=e!==void 0,r=s?typeof t.initialDataUpdatedAt=="function"?t.initialDataUpdatedAt():t.initialDataUpdatedAt:0;return{data:e,dataUpdateCount:0,dataUpdatedAt:s?r??Date.now():0,error:null,errorUpdateCount:0,errorUpdatedAt:0,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:null,isInvalidated:!1,status:s?"success":"pending",fetchStatus:"idle"}}o(Vt,"getDefaultState");var et=class extends q{static{o(this,"QueryObserver")}constructor(t,e){super(),this.options=e,this.#e=t,this.#a=null,this.#o=be(),this.bindMethods(),this.setOptions(e)}#e;#t=void 0;#s=void 0;#r=void 0;#n;#i;#o;#a;#h;#c;#p;#d;#l;#u;#m=new Set;bindMethods(){this.refetch=this.refetch.bind(this)}onSubscribe(){this.listeners.size===1&&(this.#t.addObserver(this),Jt(this.#t,this.options)?this.#f():this.updateResult(),this.#v())}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return Ze(this.#t,this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return Ze(this.#t,this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=new Set,this.#S(),this.#w(),this.#t.removeObserver(this)}setOptions(t){let e=this.options,s=this.#t;if(this.options=this.#e.defaultQueryOptions(t),this.options.enabled!==void 0&&typeof this.options.enabled!="boolean"&&typeof this.options.enabled!="function"&&typeof I(this.options.enabled,this.#t)!="boolean")throw new Error("Expected enabled to be a boolean or a callback that returns a boolean");this.#C(),this.#t.setOptions(this.options),e._defaulted&&!Ae(this.options,e)&&this.#e.getQueryCache().notify({type:"observerOptionsUpdated",query:this.#t,observer:this});let r=this.hasListeners();r&&Yt(this.#t,s,this.options,e)&&this.#f(),this.updateResult(),r&&(this.#t!==s||I(this.options.enabled,this.#t)!==I(e.enabled,this.#t)||U(this.options.staleTime,this.#t)!==U(e.staleTime,this.#t))&&this.#y();let i=this.#b();r&&(this.#t!==s||I(this.options.enabled,this.#t)!==I(e.enabled,this.#t)||i!==this.#u)&&this.#g(i)}getOptimisticResult(t){let e=this.#e.getQueryCache().build(this.#e,t),s=this.createResult(e,t);return Cr(this,s)&&(this.#r=s,this.#i=this.options,this.#n=this.#t.state),s}getCurrentResult(){return this.#r}trackResult(t,e){return new Proxy(t,{get:o((s,r)=>(this.trackProp(r),e?.(r),r==="promise"&&(this.trackProp("data"),!this.options.experimental_prefetchInRender&&this.#o.status==="pending"&&this.#o.reject(new Error("experimental_prefetchInRender feature flag is not enabled"))),Reflect.get(s,r)),"get")})}trackProp(t){this.#m.add(t)}getCurrentQuery(){return this.#t}refetch({...t}={}){return this.fetch({...t})}fetchOptimistic(t){let e=this.#e.defaultQueryOptions(t),s=this.#e.getQueryCache().build(this.#e,e);return s.fetch().then(()=>this.createResult(s,e))}fetch(t){return this.#f({...t,cancelRefetch:t.cancelRefetch??!0}).then(()=>(this.updateResult(),this.#r))}#f(t){this.#C();let e=this.#t.fetch(this.options,t);return t?.throwOnError||(e=e.catch(C)),e}#y(){this.#S();let t=U(this.options.staleTime,this.#t);if(K.isServer()||this.#r.isStale||!pe(t))return;let s=Ie(this.#r.dataUpdatedAt,t)+1;this.#d=j.setTimeout(()=>{this.#r.isStale||this.updateResult()},s)}#b(){return(typeof this.options.refetchInterval=="function"?this.options.refetchInterval(this.#t):this.options.refetchInterval)??!1}#g(t){this.#w(),this.#u=t,!(K.isServer()||I(this.options.enabled,this.#t)===!1||!pe(this.#u)||this.#u===0)&&(this.#l=j.setInterval(()=>{(this.options.refetchIntervalInBackground||oe.isFocused())&&this.#f()},this.#u))}#v(){this.#y(),this.#g(this.#b())}#S(){this.#d!==void 0&&(j.clearTimeout(this.#d),this.#d=void 0)}#w(){this.#l!==void 0&&(j.clearInterval(this.#l),this.#l=void 0)}createResult(t,e){let s=this.#t,r=this.options,i=this.#r,n=this.#n,a=this.#i,u=t!==s?t.state:this.#s,{state:h}=t,d={...h},l=!1,f;if(e._optimisticResults){let x=this.hasListeners(),fe=!x&&Jt(t,e),ke=x&&Yt(t,s,e,r);(fe||ke)&&(d={...d,...Xe(h.data,t.options)}),e._optimisticResults==="isRestoring"&&(d.fetchStatus="idle")}let{error:p,errorUpdatedAt:m,status:b}=d;f=d.data;let w=!1;if(e.placeholderData!==void 0&&f===void 0&&b==="pending"){let x;i?.isPlaceholderData&&e.placeholderData===a?.placeholderData?(x=i.data,w=!0):x=typeof e.placeholderData=="function"?e.placeholderData(this.#p?.state.data,this.#p):e.placeholderData,x!==void 0&&(b="success",f=ye(i?.data,x,e),l=!0)}if(e.select&&f!==void 0&&!w)if(i&&f===n?.data&&e.select===this.#h)f=this.#c;else try{this.#h=e.select,f=e.select(f),f=ye(i?.data,f,e),this.#c=f,this.#a=null}catch(x){this.#a=x}this.#a&&(p=this.#a,f=this.#c,m=Date.now(),b="error");let k=d.fetchStatus==="fetching",F=b==="pending",_=b==="error",N=F&&k,D=f!==void 0,M={status:b,fetchStatus:d.fetchStatus,isPending:F,isSuccess:b==="success",isError:_,isInitialLoading:N,isLoading:N,data:f,dataUpdatedAt:d.dataUpdatedAt,error:p,errorUpdatedAt:m,failureCount:d.fetchFailureCount,failureReason:d.fetchFailureReason,errorUpdateCount:d.errorUpdateCount,isFetched:t.isFetched(),isFetchedAfterMount:d.dataUpdateCount>u.dataUpdateCount||d.errorUpdateCount>u.errorUpdateCount,isFetching:k,isRefetching:k&&!F,isLoadingError:_&&!D,isPaused:d.fetchStatus==="paused",isPlaceholderData:l,isRefetchError:_&&D,isStale:tt(t,e),refetch:this.refetch,promise:this.#o,isEnabled:I(e.enabled,t)!==!1};if(this.options.experimental_prefetchInRender){let x=M.data!==void 0,fe=M.status==="error"&&!x,ke=o(Te=>{fe?Te.reject(M.error):x&&Te.resolve(M.data)},"finalizeThenableIfPossible"),xt=o(()=>{let Te=this.#o=M.promise=be();ke(Te)},"recreateThenable"),Ee=this.#o;switch(Ee.status){case"pending":t.queryHash===s.queryHash&&ke(Ee);break;case"fulfilled":(fe||M.data!==Ee.value)&&xt();break;case"rejected":(!fe||M.error!==Ee.reason)&&xt();break}}return M}updateResult(){let t=this.#r,e=this.createResult(this.#t,this.options);if(this.#n=this.#t.state,this.#i=this.options,this.#n.data!==void 0&&(this.#p=this.#t),Ae(e,t))return;this.#r=e;let s=o(()=>{if(!t)return!0;let{notifyOnChangeProps:r}=this.options,i=typeof r=="function"?r():r;if(i==="all"||!i&&!this.#m.size)return!0;let n=new Set(i??this.#m);return this.options.throwOnError&&n.add("error"),Object.keys(this.#r).some(a=>{let c=a;return this.#r[c]!==t[c]&&n.has(c)})},"shouldNotifyListeners");this.#k({listeners:s()})}#C(){let t=this.#e.getQueryCache().build(this.#e,this.options);if(t===this.#t)return;let e=this.#t;this.#t=t,this.#s=t.state,this.hasListeners()&&(e?.removeObserver(this),t.addObserver(this))}onQueryUpdate(){this.updateResult(),this.hasListeners()&&this.#v()}#k(t){v.batch(()=>{t.listeners&&this.listeners.forEach(e=>{e(this.#r)}),this.#e.getQueryCache().notify({query:this.#t,type:"observerResultsUpdated"})})}};function wr(t,e){return I(e.enabled,t)!==!1&&t.state.data===void 0&&!(t.state.status==="error"&&I(e.retryOnMount,t)===!1)}o(wr,"shouldLoadOnMount");function Jt(t,e){return wr(t,e)||t.state.data!==void 0&&Ze(t,e,e.refetchOnMount)}o(Jt,"shouldFetchOnMount");function Ze(t,e,s){if(I(e.enabled,t)!==!1&&U(e.staleTime,t)!=="static"){let r=typeof s=="function"?s(t):s;return r==="always"||r!==!1&&tt(t,e)}return!1}o(Ze,"shouldFetchOn");function Yt(t,e,s,r){return(t!==e||I(r.enabled,t)===!1)&&(!s.suspense||t.state.status!=="error")&&tt(t,s)}o(Yt,"shouldFetchOptionally");function tt(t,e){return I(e.enabled,t)!==!1&&t.isStaleByTime(U(e.staleTime,t))}o(tt,"isStale");function Cr(t,e){return!Ae(t.getCurrentResult(),e)}o(Cr,"shouldAssignObserverCurrentProperties");var Xt=class extends Le{static{o(this,"Mutation")}#e;#t;#s;#r;constructor(t){super(),this.#e=t.client,this.mutationId=t.mutationId,this.#s=t.mutationCache,this.#t=[],this.state=t.state||kr(),this.setOptions(t.options),this.scheduleGc()}setOptions(t){this.options=t,this.updateGcTime(this.options.gcTime)}get meta(){return this.options.meta}addObserver(t){this.#t.includes(t)||(this.#t.push(t),this.clearGcTimeout(),this.#s.notify({type:"observerAdded",mutation:this,observer:t}))}removeObserver(t){this.#t=this.#t.filter(e=>e!==t),this.scheduleGc(),this.#s.notify({type:"observerRemoved",mutation:this,observer:t})}optionalRemove(){this.#t.length||(this.state.status==="pending"?this.scheduleGc():this.#s.remove(this))}continue(){return this.#r?.continue()??this.execute(this.state.variables)}async execute(t){let e=o(()=>{this.#n({type:"continue"})},"onContinue"),s={client:this.#e,meta:this.options.meta,mutationKey:this.options.mutationKey};this.#r=xe({fn:o(()=>this.options.mutationFn?this.options.mutationFn(t,s):Promise.reject(new Error("No mutationFn found")),"fn"),onFail:o((n,a)=>{this.#n({type:"failed",failureCount:n,error:a})},"onFail"),onPause:o(()=>{this.#n({type:"pause"})},"onPause"),onContinue:e,retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode,canRun:o(()=>this.#s.canRun(this),"canRun")});let r=this.state.status==="pending",i=!this.#r.canStart();try{if(r)e();else{this.#n({type:"pending",variables:t,isPaused:i}),this.#s.config.onMutate&&await this.#s.config.onMutate(t,this,s);let a=await this.options.onMutate?.(t,s);a!==this.state.context&&this.#n({type:"pending",context:a,variables:t,isPaused:i})}let n=await this.#r.start();return await this.#s.config.onSuccess?.(n,t,this.state.context,this,s),await this.options.onSuccess?.(n,t,this.state.context,s),await this.#s.config.onSettled?.(n,null,this.state.variables,this.state.context,this,s),await this.options.onSettled?.(n,null,t,this.state.context,s),this.#n({type:"success",data:n}),n}catch(n){try{await this.#s.config.onError?.(n,t,this.state.context,this,s)}catch(a){Promise.reject(a)}try{await this.options.onError?.(n,t,this.state.context,s)}catch(a){Promise.reject(a)}try{await this.#s.config.onSettled?.(void 0,n,this.state.variables,this.state.context,this,s)}catch(a){Promise.reject(a)}try{await this.options.onSettled?.(void 0,n,t,this.state.context,s)}catch(a){Promise.reject(a)}throw this.#n({type:"error",error:n}),n}finally{this.#s.runNext(this)}}#n(t){let e=o(s=>{switch(t.type){case"failed":return{...s,failureCount:t.failureCount,failureReason:t.error};case"pause":return{...s,isPaused:!0};case"continue":return{...s,isPaused:!1};case"pending":return{...s,context:t.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:t.isPaused,status:"pending",variables:t.variables,submittedAt:Date.now()};case"success":return{...s,data:t.data,failureCount:0,failureReason:null,error:null,status:"success",isPaused:!1};case"error":return{...s,data:void 0,error:t.error,failureCount:s.failureCount+1,failureReason:t.error,isPaused:!1,status:"error"}}},"reducer");this.state=e(this.state),v.batch(()=>{this.#t.forEach(s=>{s.onMutationUpdate(t)}),this.#s.notify({mutation:this,type:"updated",action:t})})}};function kr(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:"idle",variables:void 0,submittedAt:0}}o(kr,"getDefaultState");var Zt=class extends q{static{o(this,"MutationCache")}constructor(t={}){super(),this.config=t,this.#e=new Set,this.#t=new Map,this.#s=0}#e;#t;#s;build(t,e,s){let r=new Xt({client:t,mutationCache:this,mutationId:++this.#s,options:t.defaultMutationOptions(e),state:s});return this.add(r),r}add(t){this.#e.add(t);let e=Qe(t);if(typeof e=="string"){let s=this.#t.get(e);s?s.push(t):this.#t.set(e,[t])}this.notify({type:"added",mutation:t})}remove(t){if(this.#e.delete(t)){let e=Qe(t);if(typeof e=="string"){let s=this.#t.get(e);if(s)if(s.length>1){let r=s.indexOf(t);r!==-1&&s.splice(r,1)}else s[0]===t&&this.#t.delete(e)}}this.notify({type:"removed",mutation:t})}canRun(t){let e=Qe(t);if(typeof e=="string"){let r=this.#t.get(e)?.find(i=>i.state.status==="pending");return!r||r===t}else return!0}runNext(t){let e=Qe(t);return typeof e=="string"?this.#t.get(e)?.find(r=>r!==t&&r.state.isPaused)?.continue()??Promise.resolve():Promise.resolve()}clear(){v.batch(()=>{this.#e.forEach(t=>{this.notify({type:"removed",mutation:t})}),this.#e.clear(),this.#t.clear()})}getAll(){return Array.from(this.#e)}find(t){let e={exact:!0,...t};return this.getAll().find(s=>Re(e,s))}findAll(t={}){return this.getAll().filter(e=>Re(t,e))}notify(t){v.batch(()=>{this.listeners.forEach(e=>{e(t)})})}resumePausedMutations(){let t=this.getAll().filter(e=>e.state.isPaused);return v.batch(()=>Promise.all(t.map(e=>e.continue().catch(C))))}};function Qe(t){return t.options.scope?.id}o(Qe,"scopeFor");var es=class extends q{static{o(this,"QueryCache")}constructor(t={}){super(),this.config=t,this.#e=new Map}#e;build(t,e,s){let r=e.queryKey,i=e.queryHash??me(r,e),n=this.get(i);return n||(n=new Gt({client:t,queryKey:r,queryHash:i,options:t.defaultQueryOptions(e),state:s,defaultOptions:t.getQueryDefaults(r)}),this.add(n)),n}add(t){this.#e.has(t.queryHash)||(this.#e.set(t.queryHash,t),this.notify({type:"added",query:t}))}remove(t){let e=this.#e.get(t.queryHash);e&&(t.destroy(),e===t&&this.#e.delete(t.queryHash),this.notify({type:"removed",query:t}))}clear(){v.batch(()=>{this.getAll().forEach(t=>{this.remove(t)})})}get(t){return this.#e.get(t)}getAll(){return[...this.#e.values()]}find(t){let e={exact:!0,...t};return this.getAll().find(s=>Oe(e,s))}findAll(t={}){let e=this.getAll();return Object.keys(t).length>0?e.filter(s=>Oe(t,s)):e}notify(t){v.batch(()=>{this.listeners.forEach(e=>{e(t)})})}onFocus(){v.batch(()=>{this.getAll().forEach(t=>{t.onFocus()})})}onOnline(){v.batch(()=>{this.getAll().forEach(t=>{t.onOnline()})})}};var st=class{static{o(this,"QueryClient")}#e;#t;#s;#r;#n;#i;#o;#a;constructor(t={}){this.#e=t.queryCache||new es,this.#t=t.mutationCache||new Zt,this.#s=t.defaultOptions||{},this.#r=new Map,this.#n=new Map,this.#i=0}mount(){this.#i++,this.#i===1&&(this.#o=oe.subscribe(async t=>{t&&(await this.resumePausedMutations(),this.#e.onFocus())}),this.#a=ue.subscribe(async t=>{t&&(await this.resumePausedMutations(),this.#e.onOnline())}))}unmount(){this.#i--,this.#i===0&&(this.#o?.(),this.#o=void 0,this.#a?.(),this.#a=void 0)}isFetching(t){return this.#e.findAll({...t,fetchStatus:"fetching"}).length}isMutating(t){return this.#t.findAll({...t,status:"pending"}).length}getQueryData(t){let e=this.defaultQueryOptions({queryKey:t});return this.#e.get(e.queryHash)?.state.data}ensureQueryData(t){let e=this.defaultQueryOptions(t),s=this.#e.build(this,e),r=s.state.data;return r===void 0?this.fetchQuery(t):(t.revalidateIfStale&&s.isStaleByTime(U(e.staleTime,s))&&this.prefetchQuery(e),Promise.resolve(r))}getQueriesData(t){return this.#e.findAll(t).map(({queryKey:e,state:s})=>{let r=s.data;return[e,r]})}setQueryData(t,e,s){let r=this.defaultQueryOptions({queryKey:t}),n=this.#e.get(r.queryHash)?.state.data,a=Nt(e,n);if(a!==void 0)return this.#e.build(this,r).setData(a,{...s,manual:!0})}setQueriesData(t,e,s){return v.batch(()=>this.#e.findAll(t).map(({queryKey:r})=>[r,this.setQueryData(r,e,s)]))}getQueryState(t){let e=this.defaultQueryOptions({queryKey:t});return this.#e.get(e.queryHash)?.state}removeQueries(t){let e=this.#e;v.batch(()=>{e.findAll(t).forEach(s=>{e.remove(s)})})}resetQueries(t,e){let s=this.#e;return v.batch(()=>(s.findAll(t).forEach(r=>{r.reset()}),this.refetchQueries({type:"active",...t},e)))}cancelQueries(t,e={}){let s={revert:!0,...e},r=v.batch(()=>this.#e.findAll(t).map(i=>i.cancel(s)));return Promise.all(r).then(C).catch(C)}invalidateQueries(t,e={}){return v.batch(()=>(this.#e.findAll(t).forEach(s=>{s.invalidate()}),t?.refetchType==="none"?Promise.resolve():this.refetchQueries({...t,type:t?.refetchType??t?.type??"active"},e)))}refetchQueries(t,e={}){let s={...e,cancelRefetch:e.cancelRefetch??!0},r=v.batch(()=>this.#e.findAll(t).filter(i=>!i.isDisabled()&&!i.isStatic()).map(i=>{let n=i.fetch(void 0,s);return s.throwOnError||(n=n.catch(C)),i.state.fetchStatus==="paused"?Promise.resolve():n}));return Promise.all(r).then(C)}fetchQuery(t){let e=this.defaultQueryOptions(t);e.retry===void 0&&(e.retry=!1);let s=this.#e.build(this,e);return s.isStaleByTime(U(e.staleTime,s))?s.fetch(e):Promise.resolve(s.state.data)}prefetchQuery(t){return this.fetchQuery(t).then(C).catch(C)}fetchInfiniteQuery(t){return t._type="infinite",this.fetchQuery(t)}prefetchInfiniteQuery(t){return this.fetchInfiniteQuery(t).then(C).catch(C)}ensureInfiniteQueryData(t){return t._type="infinite",this.ensureQueryData(t)}resumePausedMutations(){return ue.isOnline()?this.#t.resumePausedMutations():Promise.resolve()}getQueryCache(){return this.#e}getMutationCache(){return this.#t}getDefaultOptions(){return this.#s}setDefaultOptions(t){this.#s=t}setQueryDefaults(t,e){this.#r.set(ne(t),{queryKey:t,defaultOptions:e})}getQueryDefaults(t){let e=[...this.#r.values()],s={};return e.forEach(r=>{G(t,r.queryKey)&&Object.assign(s,r.defaultOptions)}),s}setMutationDefaults(t,e){this.#n.set(ne(t),{mutationKey:t,defaultOptions:e})}getMutationDefaults(t){let e=[...this.#n.values()],s={};return e.forEach(r=>{G(t,r.mutationKey)&&Object.assign(s,r.defaultOptions)}),s}defaultQueryOptions(t){if(t._defaulted)return t;let e={...this.#s.queries,...this.getQueryDefaults(t.queryKey),...t,_defaulted:!0};return e.queryHash||(e.queryHash=me(e.queryKey,e)),e.refetchOnReconnect===void 0&&(e.refetchOnReconnect=e.networkMode!=="always"),e.throwOnError===void 0&&(e.throwOnError=!!e.suspense),!e.networkMode&&e.persister&&(e.networkMode="offlineFirst"),e.queryFn===ce&&(e.enabled=!1),e}defaultMutationOptions(t){return t?._defaulted?t:{...this.#s.mutations,...t?.mutationKey&&this.getMutationDefaults(t.mutationKey),...t,_defaulted:!0}}clear(){this.#e.clear(),this.#t.clear()}};var J=L(ie(),1);var he=L(ie(),1),ts=L(ze(),1);var ge=he.createContext(void 0),rt=o(t=>{let e=he.useContext(ge);if(t)return t;if(!e)throw new Error("No QueryClient set, use QueryClientProvider to set one");return e},"useQueryClient"),it=o(({client:t,children:e})=>(he.useEffect(()=>(t.mount(),()=>{t.unmount()}),[t]),(0,ts.jsx)(ge.Provider,{value:t,children:e})),"QueryClientProvider");var ve=L(ie(),1),Er=L(ze(),1);function Tr(){let t=!1;return{clearReset:o(()=>{t=!1},"clearReset"),reset:o(()=>{t=!0},"reset"),isReset:o(()=>t,"isReset")}}o(Tr,"createValue");var Ir=ve.createContext(Tr()),ss=o(()=>ve.useContext(Ir),"useQueryErrorResetBoundary");var rs=L(ie(),1);var is=o((t,e,s)=>{let r=s?.state.error&&typeof t.throwOnError=="function"?Fe(t.throwOnError,[s.state.error,s]):t.throwOnError;(t.suspense||t.experimental_prefetchInRender||r)&&(e.isReset()||(t.retryOnMount=!1))},"ensurePreventErrorBoundaryRetry"),ns=o(t=>{rs.useEffect(()=>{t.clearReset()},[t])},"useClearResetErrorBoundary"),as=o(({result:t,errorResetBoundary:e,throwOnError:s,query:r,suspense:i})=>t.isError&&!e.isReset()&&!t.isFetching&&r&&(i&&t.data===void 0||Fe(s,[t.error,r])),"getHasError");var _e=L(ie(),1);var os=_e.createContext(!1),cs=o(()=>_e.useContext(os),"useIsRestoring"),ac=os.Provider;var us=o(t=>{if(t.suspense){let s=o(i=>i==="static"?i:Math.max(i??1e3,1e3),"clamp"),r=t.staleTime;t.staleTime=typeof r=="function"?(...i)=>s(r(...i)):s(r),typeof t.gcTime=="number"&&(t.gcTime=Math.max(t.gcTime,1e3))}},"ensureSuspenseTimers"),hs=o((t,e)=>t.isLoading&&t.isFetching&&!e,"willFetch"),ds=o((t,e)=>t?.suspense&&e.isPending,"shouldSuspend"),nt=o((t,e,s)=>e.fetchOptimistic(t).catch(()=>{s.clearReset()}),"fetchOptimistic");function ls(t,e,s){let r=cs(),i=ss(),n=rt(s),a=n.defaultQueryOptions(t);n.getDefaultOptions().queries?._experimental_beforeQuery?.(a);let c=n.getQueryCache().get(a.queryHash),u=t.subscribed!==!1;a._optimisticResults=r?"isRestoring":u?"optimistic":void 0,us(a),is(a,i,c),ns(i);let h=!n.getQueryCache().get(a.queryHash),[d]=J.useState(()=>new e(n,a)),l=d.getOptimisticResult(a),f=!r&&u;if(J.useSyncExternalStore(J.useCallback(p=>{let m=f?d.subscribe(v.batchCalls(p)):C;return d.updateResult(),m},[d,f]),()=>d.getCurrentResult(),()=>d.getCurrentResult()),J.useEffect(()=>{d.setOptions(a)},[a,d]),ds(a,l))throw nt(a,d,i);if(as({result:l,errorResetBoundary:i,throwOnError:a.throwOnError,query:c,suspense:a.suspense}))throw l.error;return n.getDefaultOptions().queries?._experimental_afterQuery?.(a,l),a.experimental_prefetchInRender&&!K.isServer()&&hs(l,r)&&(h?nt(a,d,i):c?.promise)?.catch(C).finally(()=>{d.updateResult()}),a.notifyOnChangeProps?l:d.trackResult(l)}o(ls,"useBaseQuery");function Or(t,e){return ls(t,et,e)}o(Or,"useQuery");var bs=L(Qt(),1);var H=L(ie(),1);var Rr=/["\\\u0000-\u001F\uD800-\uDFFF]/,fs=o(t=>Rr.test(t)?JSON.stringify(t):`"${t}"`,"d"),ot=o(t=>{if(t===void 0)return"null";if(typeof t=="bigint")throw new TypeError("stableStringify: cannot use a bigint in a stable JSON cache key \u2014 pass it as a string, or use stableWireKey");if(typeof t=="number"){if(Number.isNaN(t))return"nan";if(t===1/0)return"inf";if(t===-1/0)return"-inf";if(Object.is(t,-0))return"-0"}if(typeof t=="string")return fs(t);if(t===null||typeof t!="object")return JSON.stringify(t);if(Array.isArray(t)){let a="[";for(let c=0;c<t.length;c++)c>0&&(a+=","),a+=ot(t[c]);return a+"]"}let e=Object.getPrototypeOf(t);if(e!==null&&e!==Object.prototype){let a=t.constructor?.name??"value";throw new TypeError(`stableStringify: cannot use a ${a} in a stable JSON cache key \u2014 only plain objects, arrays, and JSON primitives are supported (wire-typed values key via stableWireKey)`)}let s=t,r=Object.keys(s).sort(),i="{",n=!0;for(let a of r){let c=s[a];c!==void 0&&(n?n=!1:i+=",",i+=fs(a),i+=":",i+=ot(c))}return i+"}"},"b"),at=o(t=>{let e="";for(let s=0;s<t.length;s+=32768)e+=String.fromCharCode(...t.subarray(s,s+32768));return btoa(e)},"u"),O="$lunora.wire$",ps="__proto__",Ar=o(t=>{if(t===null||typeof t!="object")return!1;let e=Object.getPrototypeOf(t);return e===null||e===Object.prototype},"m"),W=o((t,e=0)=>{if(e>64)throw new RangeError("wire-codec: value nesting exceeds the 64-level limit");if(t===void 0)return[O,"undefined"];if(t===null)return null;let s=typeof t;if(s==="bigint")return[O,"bigint",t.toString()];if(s==="number"){let n=t;return Number.isNaN(n)?[O,"nan"]:n===1/0?[O,"inf"]:n===-1/0?[O,"-inf"]:n}if(s!=="object")return t;if(t instanceof Date)return[O,"date",W(t.getTime(),e+1)];if(t instanceof Error){let n=t,a={};for(let u of Object.keys(n)){if(n[u]===void 0)continue;let h=W(n[u],e+1);u===ps?Object.defineProperty(a,u,{configurable:!0,enumerable:!0,value:h,writable:!0}):a[u]=h}let c=[O,"error",String(n.name),String(n.message),a];return n.cause!==void 0&&c.push(W(n.cause,e+1)),c}if(t instanceof URL)return[O,"url",t.href];if(t instanceof Map)return[O,"map",[...t.entries()].map(([n,a])=>[W(n,e+1),W(a,e+1)])];if(t instanceof Set)return[O,"set",[...t].map(n=>W(n,e+1))];if(t instanceof ArrayBuffer)return[O,"bytes",at(new Uint8Array(t)),"ArrayBuffer"];if(ArrayBuffer.isView(t)){let n=t,a=n.constructor.name,c=new Uint8Array(n.buffer,n.byteOffset,n.byteLength);return a==="Uint8Array"?[O,"bytes",at(c)]:[O,"bytes",at(c),a]}if(Array.isArray(t)){let n=t.map(a=>W(a,e+1));return n.length>0&&n[0]===O?[O,"arr",n]:n}if(!Ar(t)){let n=t.constructor?.name??"value";throw new TypeError(`wire-codec: cannot encode a ${n} over the Lunora wire \u2014 only plain objects, arrays, and the supported built-ins (Date, Error, URL, Map, Set, ArrayBuffer/typed arrays, bigint) round-trip`)}let r=t,i={};for(let n of Object.keys(r)){let a=r[n];if(a===void 0)continue;let c=W(a,e+1);n===ps?Object.defineProperty(i,n,{configurable:!0,enumerable:!0,value:c,writable:!0}):i[n]=c}return i},"a"),Pr=o(t=>ot(W(t)),"w"),Se=o(t=>Pr(t),"O");var ct=L(ze(),1);var ms=o(t=>{t!==void 0&&(t.cancel({silent:!0}),t.setState({...t.state,data:void 0,dataUpdatedAt:0,error:null,fetchStatus:"idle",status:"pending"}))},"C"),ut=class{static{o(this,"x")}constructor(e){this.client=e}client;entries=new Map;pushes=new Map;samples=new Map;epoch=0;identityWatched=new Set;listening=!1;keyOf(e){return Se(e)}hasConsumers(e){return this.entries.has(Se(e))}openSnapshotSample(e){let s=Se(e);return this.samples.set(s,(this.samples.get(s)??0)+1),{key:s,pushes:this.pushes.get(s)??0}}closeSnapshotSample(e){let s=(this.samples.get(e.key)??1)-1,r=(this.pushes.get(e.key)??0)===e.pushes;return s>0?(this.samples.set(e.key,s),r):(this.samples.delete(e.key),this.entries.has(e.key)||this.pushes.delete(e.key),r)}clearOnIdentityChange(e){this.listenForIdentityChange(),this.identityWatched.add(e)}identityEpoch=o(()=>this.epoch,"identityEpoch");subscribeIdentityEpoch=o(e=>(this.listenForIdentityChange(),this.client.onIdentityChange(e)),"subscribeIdentityEpoch");listenForIdentityChange(){this.listening||(this.listening=!0,this.client.onIdentityChange(()=>{this.epoch+=1;for(let e of this.identityWatched){let s=e.getQueryCache();for(let r of s.findAll({queryKey:["lunora"]}))ms(r),r.getObserversCount()===0&&!this.hasConsumers(r.queryKey)&&s.remove(r)}}))}attach(e,s,r,i,n,a={}){let c=Se(s),u=this.entries.get(c);if(!u){u={errorCallbacks:new Set,refCount:0,unsubscribe:void 0},this.entries.set(c,u);let l=u;try{u.unsubscribe=this.client.subscribe(r,i,f=>{if(this.pushes.set(c,(this.pushes.get(c)??0)+1),f===void 0){ms(e.getQueryCache().find({exact:!0,queryKey:s}));return}e.setQueryData(s,f)},{onError:o(f=>{for(let p of l.errorCallbacks)p(f)},"onError"),shardKey:n})}catch(f){throw this.entries.delete(c),f}}u.refCount+=1;let{onError:h}=a;h&&u.errorCallbacks.add(h);let d=!1;return()=>{if(d)return;d=!0;let l=this.entries.get(c);l&&(l.refCount-=1,h&&l.errorCallbacks.delete(h),l.refCount<=0&&(l.unsubscribe?.(),this.entries.delete(c)))}}},ys=new WeakMap,Fr=o(t=>{let e=ys.get(t);return e||(e=new ut(t),ys.set(t,e)),e},"O"),gs=(0,H.createContext)(null),Mr=o(()=>new st({defaultOptions:{mutations:{retry:0},queries:{gcTime:5*6e4,retry:0,staleTime:Number.POSITIVE_INFINITY}}}),"N"),xr=o(t=>{let e=(0,bs.c)(13),{children:s,client:r,queryClient:i}=t,n=(0,H.use)(ge),a;e[0]!==n||e[1]!==i?(a=o(()=>i??n??Mr(),"d"),e[0]=n,e[1]=i,e[2]=a):a=e[2];let[c]=(0,H.useState)(a),u=i??n??c,h,d;e[3]!==r||e[4]!==u?(h=o(()=>{Fr(r).clearOnIdentityChange(u)},"u"),d=[r,u],e[3]=r,e[4]=u,e[5]=h,e[6]=d):(h=e[5],d=e[6]),(0,H.useEffect)(h,d);let l;e[7]!==s||e[8]!==r?(l=(0,ct.jsx)(gs,{value:r,children:s}),e[7]=s,e[8]=r,e[9]=l):l=e[9];let f=l;if(n===u)return f;let p;return e[10]!==f||e[11]!==u?(p=(0,ct.jsx)(it,{client:u,children:f}),e[10]=f,e[11]=u,e[12]=p):p=e[12],p},"R"),ht=o(()=>{let t=(0,H.use)(gs);if(!t)throw new y("INTERNAL","useLunora must be used inside <LunoraProvider />");return t},"D");var De=o(t=>{let e="";for(let s=0;s<t.length;s+=32768)e+=String.fromCharCode(...t.subarray(s,s+32768));return btoa(e)},"w"),Lr=o(t=>{let e=atob(t),s=new Uint8Array(e.length);for(let r=0;r<e.length;r+=1)s[r]=e.codePointAt(r)??0;return s},"p"),z="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",ws=o(t=>{let e="",s=0,r=t.length-2;for(;s<r;s+=3){let n=t[s]<<16|t[s+1]<<8|t[s+2];e+=z.charAt(n>>18&63)+z.charAt(n>>12&63)+z.charAt(n>>6&63)+z.charAt(n&63)}let i=t.length-s;if(i===1){let n=t[s]<<16;e+=z.charAt(n>>18&63)+z.charAt(n>>12&63)}else if(i===2){let n=t[s]<<16|t[s+1]<<8;e+=z.charAt(n>>18&63)+z.charAt(n>>12&63)+z.charAt(n>>6&63)}return e},"h"),E="$lunora.wire$",Ue="__proto__",vs={BigInt64Array,BigUint64Array,Float32Array,Float64Array,Int8Array,Int16Array,Int32Array,Uint8Array,Uint8ClampedArray,Uint16Array,Uint32Array},Ss={Error,EvalError,RangeError,ReferenceError,SyntaxError,TypeError,URIError},dt=o(t=>{if(t===null||typeof t!="object")return!1;let e=Object.getPrototypeOf(t);return e===null||e===Object.prototype},"E"),T=o((t,e=0)=>{if(e>64)throw new RangeError("wire-codec: value nesting exceeds the 64-level limit");if(t===void 0)return[E,"undefined"];if(t===null)return null;let s=typeof t;if(s==="bigint")return[E,"bigint",t.toString()];if(s==="number"){let n=t;return Number.isNaN(n)?[E,"nan"]:n===1/0?[E,"inf"]:n===-1/0?[E,"-inf"]:n}if(s!=="object")return t;if(t instanceof Date)return[E,"date",T(t.getTime(),e+1)];if(t instanceof Error){let n=t,a={};for(let u of Object.keys(n)){if(n[u]===void 0)continue;let h=T(n[u],e+1);u===Ue?Object.defineProperty(a,u,{configurable:!0,enumerable:!0,value:h,writable:!0}):a[u]=h}let c=[E,"error",String(n.name),String(n.message),a];return n.cause!==void 0&&c.push(T(n.cause,e+1)),c}if(t instanceof URL)return[E,"url",t.href];if(t instanceof Map)return[E,"map",[...t.entries()].map(([n,a])=>[T(n,e+1),T(a,e+1)])];if(t instanceof Set)return[E,"set",[...t].map(n=>T(n,e+1))];if(t instanceof ArrayBuffer)return[E,"bytes",De(new Uint8Array(t)),"ArrayBuffer"];if(ArrayBuffer.isView(t)){let n=t,a=n.constructor.name,c=new Uint8Array(n.buffer,n.byteOffset,n.byteLength);return a==="Uint8Array"?[E,"bytes",De(c)]:[E,"bytes",De(c),a]}if(Array.isArray(t)){let n=t.map(a=>T(a,e+1));return n.length>0&&n[0]===E?[E,"arr",n]:n}if(!dt(t)){let n=t.constructor?.name??"value";throw new TypeError(`wire-codec: cannot encode a ${n} over the Lunora wire \u2014 only plain objects, arrays, and the supported built-ins (Date, Error, URL, Map, Set, ArrayBuffer/typed arrays, bigint) round-trip`)}let r=t,i={};for(let n of Object.keys(r)){let a=r[n];if(a===void 0)continue;let c=T(a,e+1);n===Ue?Object.defineProperty(i,n,{configurable:!0,enumerable:!0,value:c,writable:!0}):i[n]=c}return i},"d"),S=o((t,e=0)=>{if(e>64)throw new RangeError("wire-codec: value nesting exceeds the 64-level limit");if(t===null||typeof t!="object")return t;if(Array.isArray(t)){if(t[0]===E)switch(t[1]){case"-inf":return-1/0;case"arr":return t[2].map(i=>S(i,e+1));case"bigint":{let i=t[2];if(typeof i!="string"||i.length>1024||!/^-?\d+$/.test(i))throw new RangeError("wire-codec: invalid or over-long bigint (max 1024 digits)");return BigInt(i)}case"date":{let i=S(t[2],e+1);if(typeof i!="number")throw new TypeError("wire-codec: malformed date \u2014 epoch must be a number");return new Date(i)}case"map":{let i=t[2];return new Map(i.map(n=>{if(!Array.isArray(n)||n.length!==2)throw new TypeError("wire-codec: malformed map entry \u2014 expected a [key, value] pair");return[S(n[0],e+1),S(n[1],e+1)]}))}case"set":return new Set(t[2].map(i=>S(i,e+1)));case"url":{let i=t[2];if(typeof i!="string")throw new TypeError("wire-codec: malformed url \u2014 href must be a string");return new URL(i)}case"error":{let i=t[2],n=t[3];if(typeof i!="string"||typeof n!="string")throw new TypeError("wire-codec: malformed error \u2014 name and message must be strings");let a=(Object.hasOwn(Ss,i)?Ss[i]:void 0)??Error,c=new a(n);c.name!==i&&Object.defineProperty(c,"name",{configurable:!0,value:i,writable:!0});let u=S(t[4],e+1);if(u===null||typeof u!="object"||Array.isArray(u))throw new TypeError("wire-codec: malformed error \u2014 props must be an object");for(let h of Object.keys(u))h===Ue?Object.defineProperty(c,h,{configurable:!0,enumerable:!0,value:u[h],writable:!0}):c[h]=u[h];return t.length>5&&Object.defineProperty(c,"cause",{configurable:!0,value:S(t[5],e+1),writable:!0}),c}case"bytes":{let i=t[2];if(typeof i!="string")throw new TypeError("wire-codec: malformed bytes \u2014 payload must be a base64 string");let n=Lr(i);if(De(n)!==i)throw new TypeError("wire-codec: malformed bytes \u2014 payload must be canonical padded base64");let a=t[3]??"Uint8Array";if(a==="ArrayBuffer")return n.buffer.byteLength===n.byteLength?n.buffer:n.slice().buffer;let c=Object.hasOwn(vs,a)?vs[a]:void 0;return c?new c(n.slice().buffer):n}case"inf":return 1/0;case"nan":return Number.NaN;case"undefined":return;default:return t.map(i=>S(i,e+1))}return t.map(i=>S(i,e+1))}let s=t,r={};for(let i of Object.keys(s)){let n=S(s[i],e+1);i===Ue?Object.defineProperty(r,i,{configurable:!0,enumerable:!0,value:n,writable:!0}):r[i]=n}return r},"u");var A=o(t=>new Promise((e,s)=>{t.addEventListener("success",()=>{e(t.result)}),t.addEventListener("error",()=>{s(t.error??new Error("IndexedDB request failed"))})}),"c"),Ne=o((t,e,s,r)=>{let i;return()=>i||(i=new Promise((n,a)=>{let c=t.open(e,s);c.addEventListener("upgradeneeded",()=>{r(c.result)}),c.addEventListener("success",()=>{n(c.result)}),c.addEventListener("error",()=>{a(c.error??new Error("IndexedDB open failed"))})}),i)},"E"),qe=o((t,e)=>async(s,r)=>{let i=(await t()).transaction(e,s),n=await r(i.objectStore(e));return await new Promise((a,c)=>{i.addEventListener("complete",()=>{a()}),i.addEventListener("error",()=>{c(i.error??new Error("IndexedDB transaction failed"))}),i.addEventListener("abort",()=>{c(i.error??new Error("IndexedDB transaction aborted"))})}),n},"u");var ae=o((t,e,s)=>`${t}::${e}::${s??""}`,"T"),Qr=500,_r=o((t,e)=>{if(!Number.isInteger(t)||t<1)throw new y("INTERNAL",`${e}: maxEntries must be a positive integer, got ${String(t)}`);return t},"E");var Dr="lunora-query-cache",Ur="query-cache",Cs="by_ts",Nr=1,qr=o((t={})=>{let e=t.indexedDB??(typeof indexedDB>"u"?void 0:indexedDB);if(!e)throw new y("INTERNAL","createIndexedDbQueryCache: no IndexedDB available \u2014 pass `indexedDB` or use createInMemoryQueryCache()");let s=t.databaseName??Dr,r=t.storeName??Ur,i=_r(t.maxEntries??Qr,"createIndexedDbQueryCache"),n=Ne(e,s,Nr,u=>{u.objectStoreNames.contains(r)||u.createObjectStore(r,{keyPath:"key"}).createIndex(Cs,"ts",{unique:!1})}),a=qe(n,r),c=o(async u=>{let h=await A(u.count())-i;h<=0||await new Promise((d,l)=>{let f=u.index(Cs).openCursor();f.addEventListener("success",()=>{let p=f.result;if(!p||h<=0){d();return}p.delete(),h-=1,p.continue()}),f.addEventListener("error",()=>{l(f.error??new Error("IndexedDB eviction failed"))})})},"y");return{clear:o(async()=>{await a("readwrite",u=>A(u.clear()))},"clear"),load:o(async()=>a("readonly",u=>A(u.getAll())),"load"),put:o(async(u,h)=>{await a("readwrite",async d=>{await A(d.put({...h,key:u})),await c(d)})},"put"),remove:o(async u=>{await a("readwrite",h=>A(h.delete(u)))},"remove")}},"N"),ks=o(t=>{if(t!==!1){if(t)return t;if(!(typeof indexedDB>"u"))return qr()}},"L");var Es=o(()=>{let t=null;return{get:o(()=>t,"get"),set:o(e=>{t=e},"set")}},"r");var je=class{static{o(this,"u")}values=new Map;subscribers=new Map;get(e){return this.values.has(e.key)?this.values.get(e.key):e.defaultValue}set(e,s){if(s===void 0){this.reset(e);return}this.values.set(e.key,s),this.notify(e.key,s)}reset(e){this.values.delete(e.key),this.notify(e.key,e.defaultValue)}clear(){this.values.clear(),this.subscribers.clear()}subscribe(e,s){let r=this.subscribers.get(e.key);return r||(r=new Set,this.subscribers.set(e.key,r)),r.add(s),()=>{r.delete(s),r.size===0&&this.subscribers.delete(e.key)}}notify(e,s){let r=this.subscribers.get(e);if(r)for(let i of r)try{i(s)}catch{}}};var Ts=0,jr="lunora-bridge",Kr=1e3,Br=3e3,Ke=class{static{o(this,"l")}bc;tabId;heartbeatInterval;leaderTimeout;knownLeader=void 0;leader=!1;running=!1;promotionPending=!1;lastHeartbeat=0;heartbeatTimer=void 0;leaderCheckTimer=void 0;onBecomeLeader;onStopBeingLeader;onConnectionStatus;onSubscriptionData;onLeaderClaimAnswered;onSubscriptionError;onSubscriptionSettled;constructor(e={}){if(Ts+=1,this.tabId=`tab_${String(Ts)}_${crypto.randomUUID()}`,this.heartbeatInterval=e.heartbeatInterval??Kr,this.leaderTimeout=e.leaderTimeout??Br,this.onBecomeLeader=e.onBecomeLeader,this.onStopBeingLeader=e.onStopBeingLeader,this.onConnectionStatus=e.onConnectionStatus,this.onSubscriptionData=e.onSubscriptionData,this.onLeaderClaimAnswered=e.onLeaderClaimAnswered,this.onSubscriptionError=e.onSubscriptionError,this.onSubscriptionSettled=e.onSubscriptionSettled,typeof BroadcastChannel>"u"){this.bc=void 0;return}this.bc=new BroadcastChannel(e.channelName??jr),this.bc.addEventListener("message",s=>{this.handleMessage(s.data)})}start(){if(!this.running){if(this.running=!0,this.bc===void 0){this.becomeLeader();return}this.broadcast({type:"claim-leadership",tabId:this.tabId,ts:Date.now()}),setTimeout(()=>{this.running&&this.knownLeader===void 0&&this.becomeLeader()},this.leaderTimeout),this.leaderCheckTimer=setInterval(()=>{this.checkLeaderHealth()},this.leaderTimeout),this.heartbeatTimer=setInterval(()=>{this.sendHeartbeat()},this.heartbeatInterval)}}stop(){this.running=!1,this.leader&&(this.broadcast({type:"yield-leadership",tabId:this.tabId}),this.leader=!1,this.knownLeader=void 0,this.onStopBeingLeader?.()),this.heartbeatTimer!==void 0&&(clearInterval(this.heartbeatTimer),this.heartbeatTimer=void 0),this.leaderCheckTimer!==void 0&&(clearInterval(this.leaderCheckTimer),this.leaderCheckTimer=void 0),this.bc?.close()}isLeader(){return this.leader}promoteImmediately(){this.running&&this.becomeLeader()}get leaderTabId(){return this.knownLeader}get id(){return this.tabId}get isRunning(){return this.running}broadcastSubscriptionData(e,s,r,i,n){this.leader&&this.broadcast({type:"subscription-data",tabId:this.tabId,key:e,data:s,...r===void 0?{}:{cursor:r},...i===void 0?{}:{epoch:i},...n===void 0?{}:{identity:n}})}broadcastSubscriptionError(e,s,r){this.leader&&this.broadcast({type:"subscription-error",tabId:this.tabId,key:e,error:s,...r===void 0?{}:{identity:r}})}broadcastSubscriptionSettled(e,s,r,i,n,a){this.leader&&this.broadcast({type:"subscription-settled",tabId:this.tabId,key:e,...s===void 0?{}:{cursor:s},...r===void 0?{}:{epoch:r},...i===void 0?{}:{lastMutationId:i},...n===void 0?{}:{clientId:n},...a===void 0?{}:{identity:a}})}broadcastConnectionStatus(e,s){this.leader&&this.broadcast({type:"connection-status",tabId:this.tabId,status:e,...s===void 0?{}:{identity:s}})}broadcast(e){this.bc?.postMessage(e)}handleMessage(e){switch(e.type){case"claim-leadership":{this.handleClaimLeadership(e);break}case"connection-status":{if(this.leader||e.tabId===this.tabId)break;this.onConnectionStatus?.(e.status,e.identity);break}case"heartbeat":{this.handleHeartbeat(e);break}case"subscription-data":{if(this.leader||e.tabId===this.tabId)break;this.onSubscriptionData?.(e.key,e.data,e.cursor,e.epoch,e.identity);break}case"subscription-error":{if(this.leader||e.tabId===this.tabId)break;this.onSubscriptionError?.(e.key,e.error,e.identity);break}case"subscription-settled":{if(this.leader||e.tabId===this.tabId)break;this.onSubscriptionSettled?.(e.key,e.cursor,e.epoch,e.lastMutationId,e.clientId,e.identity);break}case"yield-leadership":{this.knownLeader===e.tabId&&(this.knownLeader=void 0,this.running&&!this.leader&&this.claimAndPromote());break}}}handleClaimLeadership(e){if(e.tabId!==this.tabId){if(this.leader){this.broadcast({type:"heartbeat",tabId:this.tabId,ts:Date.now()}),this.onLeaderClaimAnswered?.();return}this.knownLeader===void 0&&e.tabId<this.tabId&&(this.knownLeader=e.tabId,this.lastHeartbeat=e.ts)}}handleHeartbeat(e){if(e.tabId!==this.tabId){if(this.leader){this.resolveLeaderVsLeaderTieBreak(e);return}this.lastHeartbeat=e.ts,this.knownLeader=e.tabId}}resolveLeaderVsLeaderTieBreak(e){e.tabId<this.tabId?(this.leader=!1,this.knownLeader=e.tabId,this.lastHeartbeat=e.ts,this.onStopBeingLeader?.()):this.broadcast({type:"heartbeat",tabId:this.tabId,ts:Date.now()})}becomeLeader(){this.leader||(this.leader=!0,this.knownLeader=this.tabId,this.lastHeartbeat=Date.now(),this.onBecomeLeader?.(),this.broadcast({type:"heartbeat",tabId:this.tabId,ts:Date.now()}))}sendHeartbeat(){this.leader&&this.broadcast({type:"heartbeat",tabId:this.tabId,ts:Date.now()})}checkLeaderHealth(){if(!(!this.running||this.leader)){if(this.knownLeader===void 0){this.claimAndPromote();return}Date.now()-this.lastHeartbeat>this.leaderTimeout&&(this.knownLeader=void 0,this.claimAndPromote())}}claimAndPromote(){this.promotionPending||(this.promotionPending=!0,this.broadcast({type:"claim-leadership",tabId:this.tabId,ts:Date.now()}),setTimeout(()=>{this.promotionPending=!1,this.running&&this.knownLeader===void 0&&this.becomeLeader()},this.leaderTimeout))}};var lt="_id",ft="_creationTime",pt="page",Is="pageDelta",$r=o(t=>{if(Array.isArray(t))return t;if(dt(t)&&Array.isArray(t[pt]))return t[pt]},"y"),Wr=o(t=>{let e;for(let s of t){let r=s[ft];if(typeof r=="number"){if(e!==void 0){if(r<e)return!0;if(r>e)return!1}e=r}}return!1},"l"),Hr=o((t,e)=>{let s=e[ft];if(typeof s!="number")return t.length;let r=Wr(t);for(let[i,n]of t.entries()){let a=n[ft];if(typeof a=="number"&&(r?a<s:a>s))return i}return t.length},"x"),zr=o(t=>{if(typeof t!="object"||t===null)return;let e=t[lt];return typeof e=="string"?e:void 0},"A"),Os=o(t=>{if(typeof t!="object"||t===null)return!1;let e=t;return typeof e.key=="string"&&typeof e.table=="string"&&(e.op==="insert"||e.op==="update"||e.op==="delete")},"b"),Vr=o((t,e)=>{let s=[];for(let u of t){if(zr(u)===void 0)return;s.push(u)}let{key:r,op:i,row:n}=e;if(i==="delete"){let u=s.filter(h=>h[lt]!==r);return u.length===s.length?[...s]:u}if(n===void 0)return;let a=[...s],c=s.findIndex(u=>u[lt]===r);return c===-1?a.splice(Hr(s,n),0,n):a[c]=n,a},"I"),Rs=o((t,e)=>{let s=$r(t);if(s===void 0)return;let r=Vr(s,e);return r===void 0||Array.isArray(t)?r:{...t,[pt]:r}},"E");var Zc=new Set(Object.keys(Lt)),B=class extends y{static{o(this,"E")}constructor(e,s){super("INTERNAL",e,{data:s})}};var mt=o(t=>{let e=t?.data?.retryAfterMs;return typeof e=="number"&&Number.isFinite(e)?e:void 0},"u");var Gr=1024,Be=o(t=>{let e=t.maxBuffer??Gr,s=[],r=[],i=!1,n,a=!1,c=o(()=>{let d=r.shift();if(!d)return!1;if(n)return d.reject(n),!0;if(s.length>0){let l=s.shift();return d.resolve({done:!1,value:l}),!0}return i?(d.resolve({done:!0,value:void 0}),!0):(r.unshift(d),!1)},"u"),u={complete(){if(!(i||n))for(i=!0;c(););},fail(d){if(!(i||n))for(n=d,s.length=0;c(););},push(d){if(!(i||n||a)){if(s.length>=e){u.fail(new y("STREAM_BACKPRESSURE",`stream buffer overflow (max=${e.toString()}); the consumer cannot keep up with the producer`));return}s.push(d),c()}}},h=o(()=>{if(!a){a=!0,i=!0,s.length=0;try{t.onCancel()}catch{}for(;c(););}},"c");return{handle:u,iterable:{cancel:h,[Symbol.asyncIterator](){return{next(){if(n)return Promise.reject(n);if(s.length>0){let d=s.shift();return Promise.resolve({done:!1,value:d})}return i?Promise.resolve({done:!0,value:void 0}):new Promise((d,l)=>{r.push({reject:l,resolve:d})})},return(){return h(),Promise.resolve({done:!0,value:void 0})}}}}}},"p");var As=/^ /u,Ps=o(t=>typeof t=="object"&&t!==null?JSON.stringify(t):String(t),"h"),Jr=o(t=>{let e="",s=[];for(let r of t.split(`
2
+ `))r.startsWith("event:")?e=r.slice(6).replace(As,""):r.startsWith("data:")&&s.push(r.slice(5).replace(As,""));return{data:s.join(`
3
+ `),event:e}},"S"),Yr=o((t,e,s)=>{let r=e.params??{},i=t.path.split("/").map(c=>{if(!c.startsWith(":"))return c;let u=c.slice(1),h=r[u];if(h===void 0)throw new y("HTTP_STREAM_MISSING_PARAM",`httpStream: missing path param ":${u}" for route ${t.path}`);return encodeURIComponent(Ps(h))}).join("/"),n=new URLSearchParams;for(let[c,u]of Object.entries(e.searchParams??{}))u!==void 0&&n.set(c,Ps(u));let a=n.toString();return`${s.endsWith("/")?s.slice(0,-1):s}${i}${a===""?"":`?${a}`}`},"T"),Xr=o((t,e)=>{if(t.event==="complete")return e.complete(),!0;if(t.event==="error"){let s={};try{s=JSON.parse(t.data)}catch{}let r=typeof s.message=="string"?s.message:"stream error",i=typeof s.code=="string"?s.code:"HTTP_STREAM_ERROR";return e.fail(new y(i,r)),!0}if((t.event===""||t.event==="message")&&t.data!=="")try{e.push(S(JSON.parse(t.data)))}catch{return e.fail(new y("HTTP_STREAM_BAD_CHUNK","httpStream: malformed SSE chunk (invalid JSON)")),!0}return!1},"E"),Zr=o(async(t,e)=>{let s=t.getReader(),r=new TextDecoder,i="",n=!1,a=o(u=>{let h=n?`\r${u}`:u;n=h.endsWith("\r"),n&&(h=h.slice(0,-1)),i+=h.replaceAll(`\r
4
+ `,`
5
+ `)},"l"),c=o(()=>{let u=i.indexOf(`
6
+
7
+ `);for(;u!==-1;){let h=Jr(i.slice(0,u));if(i=i.slice(u+2),Xr(h,e))return!0;u=i.indexOf(`
8
+
9
+ `)}return!1},"d");for(;;){let{done:u,value:h}=await s.read();if(u)break;if(a(r.decode(h,{stream:!0})),c()){await s.cancel().catch(()=>{});return}}a(r.decode()),c()||e.fail(new y("HTTP_STREAM_INTERRUPTED","httpStream: stream ended without a complete frame"))},"b"),Fs=o((t,e,s={})=>{let r=s.fetch??(typeof fetch=="function"?fetch.bind(globalThis):void 0);if(!r)throw new y("INTERNAL","httpStream: no `fetch` implementation available");let i=Yr(t,e??{},s.baseUrl??""),n=new AbortController,a;s.signal&&(s.signal.aborted?n.abort():(a=o(()=>{n.abort()},"l"),s.signal.addEventListener("abort",a,{once:!0})));let c=o(()=>{a&&s.signal?.removeEventListener("abort",a)},"d"),{handle:u,iterable:h}=Be({maxBuffer:s.maxBuffer,onCancel:o(()=>{n.abort()},"onCancel")});return(async()=>{try{let d=await r(i,{headers:{accept:"text/event-stream",...s.headers},method:t.method,signal:n.signal});if(!d.ok){await d.body?.cancel().catch(()=>{}),u.fail(new y("HTTP_STREAM_STATUS",`httpStream: request failed (status ${d.status.toString()})`,{status:d.status}));return}if(!d.body){u.fail(new y("HTTP_STREAM_NO_BODY","httpStream: response has no body"));return}await Zr(d.body,u)}finally{c()}})().catch(d=>{if(n.signal.aborted){u.complete();return}if(d instanceof Error&&"code"in d){u.fail(d);return}u.fail(new y("HTTP_STREAM_TRANSPORT",d instanceof Error?d.message:String(d),{cause:d}))}),h},"_");var ei=/["\\\u0000-\u001F\uD800-\uDFFF]/,Ms=o(t=>ei.test(t)?JSON.stringify(t):`"${t}"`,"y"),yt=o(t=>{if(t===void 0)return"null";if(typeof t=="bigint")throw new TypeError("stableStringify: cannot use a bigint in a stable JSON cache key \u2014 pass it as a string, or use stableWireKey");if(typeof t=="number"){if(Number.isNaN(t))return"nan";if(t===1/0)return"inf";if(t===-1/0)return"-inf";if(Object.is(t,-0))return"-0"}if(typeof t=="string")return Ms(t);if(t===null||typeof t!="object")return JSON.stringify(t);if(Array.isArray(t)){let a="[";for(let c=0;c<t.length;c++)c>0&&(a+=","),a+=yt(t[c]);return a+"]"}let e=Object.getPrototypeOf(t);if(e!==null&&e!==Object.prototype){let a=t.constructor?.name??"value";throw new TypeError(`stableStringify: cannot use a ${a} in a stable JSON cache key \u2014 only plain objects, arrays, and JSON primitives are supported (wire-typed values key via stableWireKey)`)}let s=t,r=Object.keys(s).sort(),i="{",n=!0;for(let a of r){let c=s[a];c!==void 0&&(n?n=!1:i+=",",i+=Ms(a),i+=":",i+=yt(c))}return i+"}"},"i"),Y=o(t=>yt(T(t)),"u");var P=class t{static{o(this,"r")}static key(e,s,r){return`${e}::${Y(s)}::${r??""}`}static keyOf(e){return`${e.fn.__lunoraRef}::${e.argsKey}::${e.shardKey??""}`}byKey=new Map;byId=new Map;get(e){return this.byKey.get(e)}getById(e){return this.byId.get(e)}add(e){this.byKey.set(t.keyOf(e),e),this.byId.set(e.id,e)}remove(e){let s=t.keyOf(e);this.byKey.get(s)===e&&this.byKey.delete(s),this.byId.delete(e.id)}all(){return[...this.byKey.values()]}clear(){this.byKey.clear(),this.byId.clear()}};var bt=0,xs=o(()=>bt,"L"),X=o((t,e)=>{let s=t;for(let r of e)try{s=r.transform(s)}catch{}return s},"p"),V=o((t,e)=>{if(e!==t.lastValue){t.lastValue=e;for(let s of t.callbacks)try{s(e)}catch{}}},"d"),gt=o((t,e)=>{let s;try{s=e(t.lastValue)}catch{return}let r={id:Symbol("optimistic"),transform:e},i=!1;t.optimisticLayers.push(r),V(t,s);let n=o(()=>{let c=t.optimisticLayers.findIndex(u=>u.id===r.id);return c===-1?!1:(t.optimisticLayers.splice(c,1),!0)},"a"),a=o(()=>{V(t,X(t.serverBase,t.optimisticLayers))},"s");return{confirm:o(c=>{if(c===void 0){n();return}r.commitCursor=c,bt+=1,r.acknowledgedAt=bt,t.serverCursor!==void 0&&t.serverCursor>=c&&n()&&a()},"confirm"),rollback:o(()=>{i||(i=!0,n(),a())},"rollback")}},"y"),$e=o((t,e)=>{if(e===void 0||t.optimisticLayers.length===0)return!1;let s=t.optimisticLayers.length;return t.optimisticLayers=t.optimisticLayers.filter(r=>r.commitCursor===void 0||r.commitCursor>e),t.optimisticLayers.length!==s},"k"),Ls=o((t,e)=>{t.optimisticLayers.length!==0&&(t.optimisticLayers=t.optimisticLayers.filter(s=>s.acknowledgedAt===void 0||s.acknowledgedAt>e))},"h"),Qs=o((t,e)=>{let s=[],r=[],i=o((n,a)=>t.get(P.key(n,a,e)),"c");return{confirms:s,rollbacks:r,store:{getAllQueries:o(n=>{let a=[];for(let c of t.all())c.fn.__lunoraRef===n.__lunoraRef&&(c.shardKey??"")===(e??"")&&a.push({args:c.args,value:c.lastValue});return a},"getAllQueries"),getQuery:o((n,a)=>i(n.__lunoraRef,a??{})?.lastValue,"getQuery"),setQuery:o((n,a,c)=>{let u=i(n.__lunoraRef,a??{});if(!u)return;let h=gt(u,()=>c);h&&(s.push(h.confirm),r.push(h.rollback))},"setQuery")}}},"v");var _s=0,ti=o(()=>{if(typeof crypto<"u"&&typeof crypto.randomUUID=="function")return crypto.randomUUID();_s+=1;let t=typeof crypto<"u"&&typeof crypto.getRandomValues=="function"?Array.from(crypto.getRandomValues(new Uint8Array(8)),e=>e.toString(16).padStart(2,"0")).join(""):Math.random().toString(16).slice(2,12);return`id_${Date.now().toString(36)}_${_s.toString(36)}_${t}`},"d"),vt=o((t,e)=>t!==void 0&&e!==t,"f"),He=ti,Z=o((t,e,s,r)=>{if(t)try{t({error:s,mutationId:r,operation:e});return}catch{}console.warn(`[lunora] offline-queue persistence ${e} failed`,s)},"o"),We=class{static{o(this,"l")}queueBeforeFirstConnect;maxItems;onPersistenceError;persistence;onEvict;onSizeChange;version;items=[];constructor(e={},s={}){this.maxItems=e.maxItems??1e3,this.queueBeforeFirstConnect=e.queueBeforeFirstConnect??!1,this.onPersistenceError=e.onPersistenceError,this.persistence=s.persistence,this.onEvict=s.onEvict,this.onSizeChange=s.onSizeChange,this.version=s.version}get size(){return this.items.length}enqueue(e){let s=e;s.id??=He(),this.items.push(s),this.persistence?.append({args:s.args,...s.baselineSeq===void 0?{}:{baselineSeq:s.baselineSeq},clientId:s.clientId,functionPath:s.functionPath,id:s.id,identity:s.identity,shardKey:s.shardKey,...this.version===void 0?{}:{version:this.version}}).catch(r=>{Z(this.onPersistenceError,"append",r,s.id)}),this.evictOverflow(),this.notifySize()}async hydrate(){if(!this.persistence)return[];let e;try{e=await this.persistence.load()}catch(a){throw Z(this.onPersistenceError,"load",a),a}let s=[],r=new Set(this.items.map(a=>a.id));for(let a of e)if(!r.has(a.id)){if(vt(this.version,a.version)){this.persistence.remove(a.id).catch(c=>{Z(this.onPersistenceError,"remove",c,a.id)});continue}r.add(a.id),s.push({args:a.args,baselineSeq:a.baselineSeq,clientId:a.clientId,functionPath:a.functionPath,id:a.id,identity:a.identity,reject:o(()=>{},"reject"),resolve:o(()=>{},"resolve"),shardKey:a.shardKey})}this.items.unshift(...s),this.evictOverflow(),this.notifySize();let i=new Set(this.items),n=new Set;for(let a of s)i.has(a)&&n.add(a.shardKey);return[...n]}restampIdentity(e,s){for(let r of this.items){if(r.identity!==e)continue;r.identity=s;let{id:i}=r;if(!this.persistence||i===void 0)continue;let n={args:r.args,...r.baselineSeq===void 0?{}:{baselineSeq:r.baselineSeq},clientId:r.clientId,functionPath:r.functionPath,id:i,identity:s,shardKey:r.shardKey,...this.version===void 0?{}:{version:this.version}};this.rewriteStamp(i,n).catch(a=>{Z(this.onPersistenceError,"replace",a,i)})}}hasPending(e){return this.items.some(s=>e(s))}drain(e){if(!e){let i=[...this.items];return this.items.length=0,this.notifySize(),i}let s=[],r=[];for(let i of this.items)(e(i)?s:r).push(i);return this.items.length=0,this.items.push(...r),this.notifySize(),s}requeue(e){e.length!==0&&(this.items.unshift(...e),this.notifySize())}drainConflict(){let e=[],s=[];for(let r of this.items)if(r.precondition!==void 0&&!r.precondition()){let i=new Error("offline mutation skipped: precondition failed before replay");i.code="OFFLINE_PRECONDITION_FAILED",r.reject(i),e.push(r)}else s.push(r);return e.length>0&&(this.items.length=0,this.items.push(...s),this.notifySize()),e}clear(){for(let e of this.items){let s=new Error("CLIENT_CLOSED");s.code="CLIENT_CLOSED",e.reject(s)}this.items.length=0,this.notifySize()}async rewriteStamp(e,s){let r=this.persistence;if(r)try{await r.replace(s)}catch(i){Z(this.onPersistenceError,"replace",i,e)}}evictOverflow(){for(;this.items.length>this.maxItems;){let e=this.items.shift();if(e){e.id&&this.persistence?.remove(e.id).catch(r=>{Z(this.onPersistenceError,"remove",r,e.id)});let s=new Error("offline queue overflow");s.code="OFFLINE_QUEUE_OVERFLOW",e.reject(s),this.onEvict?.(e,s)}}}notifySize(){this.onSizeChange?.(this.items.length)}};var si="lunora-outbox",ri="offline-mutations",St="by_id",ii=o((t={})=>{let e=t.indexedDB??(typeof indexedDB>"u"?void 0:indexedDB);if(!e)throw new y("INTERNAL","createIndexedDbPersistence: no IndexedDB available \u2014 pass `indexedDB` or use createInMemoryPersistence()");let s=t.databaseName??si,r=t.storeName??ri,i=Ne(e,s,1,a=>{a.objectStoreNames.contains(r)||a.createObjectStore(r,{autoIncrement:!0}).createIndex(St,"id",{unique:!0})}),n=qe(i,r);return{append:o(async a=>{await n("readwrite",c=>A(c.add(a)))},"append"),clear:o(async()=>{await n("readwrite",a=>A(a.clear()))},"clear"),load:o(async()=>n("readonly",a=>A(a.getAll())),"load"),remove:o(async a=>{await n("readwrite",async c=>{let u=await A(c.index(St).getKey(a));u!==void 0&&await A(c.delete(u))})},"remove"),replace:o(async a=>{await n("readwrite",async c=>{let u=await A(c.index(St).getKey(a.id));u!==void 0&&await A(c.put(a,u))})},"replace")}},"w"),Ds=o((t,e=!0)=>{if(t!==!1){if(t)return t;if(!(!e||typeof indexedDB>"u"))return ii()}},"b");var wt=o((t={},e=Math.random)=>{let s=t.initialDelayMs??250,r=t.maxDelayMs??3e4,i=t.jitter??!0,n=0;return{next(){let a=Math.min(r,s*2**n);if(n+=1,!i)return a;let c=a/2;return Math.floor(c+e()*(a-c))},reset(){n=0}}},"s");var Us=new Set(["RATE_LIMITED","SHARD_ERROR","SHARD_UNAVAILABLE","TOO_MANY_REQUESTS"]),Ns=new Set(["TOKEN_EXPIRED","UNAUTHENTICATED","UNAUTHORIZED"]),qs=o(t=>Ns.has(t?.code??""),"y"),js=o(t=>{if(t instanceof B)return!0;let e=t?.code;return e===void 0||Us.has(e)||Ns.has(e)},"O"),Ks=6e4,ni=1e3,Bs=o(t=>{if(t===null)return;let e=Number(t);if(Number.isFinite(e))return e>0?e*1e3:void 0;let s=Date.parse(t);if(Number.isNaN(s))return;let r=s-Date.now();return r>0?r:void 0},"A"),ai={401:"UNAUTHORIZED",403:"FORBIDDEN",404:"NOT_FOUND",413:"PAYLOAD_TOO_LARGE",429:"TOO_MANY_REQUESTS"},de=o((t,e,s)=>{let r=Bs(s),i=r===void 0?void 0:{retryAfterMs:r},n=`LunoraClient: response carried no error envelope (status ${t.toString()}${e?` ${e}`:""})`;return t<400||t>=500||t===408?new B(n,i):new y(ai[t]??"BAD_REQUEST",n,{data:i})},"M"),le=o(t=>{let e=t?.error;return typeof e=="object"&&e!==null&&!Array.isArray(e)?e:void 0},"h"),$s=o(()=>new B("LunoraClient: batch slot carried no error envelope"),"p"),Ws=o((t,e)=>{let s=Bs(e);if(!(s===void 0||mt(t)!==void 0))return t.data===void 0?{retryAfterMs:s}:typeof t.data=="object"&&t.data!==null&&!Array.isArray(t.data)?{...t.data,retryAfterMs:s}:void 0},"N"),Ct=o((t,e=Math.random)=>{let s=Math.min(ni*2**Math.max(t-1,0),Ks);return Math.round(s*(.5+e()*.5))},"f"),oi=o(t=>t instanceof B||Us.has(t?.code??""),"T"),Hs=o((t,e,s)=>{let r=mt(t);return r!==void 0&&r>0?Math.min(r,Ks):oi(t)?Ct(e,s):void 0},"v"),zs=983040,Vs=o(t=>typeof TextEncoder>"u"?t.length:new TextEncoder().encode(t).length,"m"),Gs=new WeakSet,kt=o(t=>{let e=new y("WIRE_DECODE_FAILED",`LunoraClient: the call succeeded but its result could not be decoded (a mutation has still committed) \u2014 ${t instanceof Error?t.message:String(t)}`,{cause:t});return Gs.add(e),e},"U"),we=o(t=>t instanceof Error&&Gs.has(t),"b");var Js=o((t,e,s,r)=>{let i=t.peekActiveQuerySnapshot(e.__lunoraRef,s,r),n=i.present?Y(i.value):void 0;return()=>{let a=t.peekActiveQuerySnapshot(e.__lunoraRef,s,r);return!i.present||!a.present?!0:Y(a.value)===n}},"c");var Et=500,ci=o(async t=>{let e=[],s;for(;;){let r=await t(s);if(e.push(...Array.isArray(r.records)?r.records:[]),r.truncated!==!0||typeof r.cursor!="string"||r.cursor.length===0)return e;if(r.cursor===s)throw new Error("collectPages: the list did not advance its cursor \u2014 refusing to page forever");s=r.cursor}},"qe"),Ys=o((t,e)=>{if(t.size<e)return;let s=t.keys().next().value;s!==void 0&&t.delete(s)},"Z");new TextDecoder;var ui=new TextEncoder,hi=o(t=>ws(ui.encode(JSON.stringify(t))),"$e"),di="x-lunora-expect-subject",li=o(t=>hi({subject:t}),"Ge"),Xs=Symbol.for("lunora:session-change"),fi="lunora:session-change",pi="better-auth.message",mi="signout",or=o(()=>{let t=globalThis,e=t[Xs];return e===void 0&&(e={detach:void 0,listeners:new Set,tab:`${Date.now().toString(36)}-${Math.random().toString(36).slice(2)}`},t[Xs]=e),e},"he"),yi=o(()=>"document"in globalThis,"Ye"),bi=o(async()=>{let t=[];for(let e of or().listeners)try{t.push(e())}catch{}await Promise.allSettled(t)},"Xe"),gi=o((t,e)=>{if(t!==pi||e===null)return!1;try{let s=JSON.parse(e);return s?.event==="session"&&s.data?.trigger===mi}catch{return!1}},"Ze"),vi=o(t=>{let e=[],s=o(()=>{bi().catch(()=>{})},"t"),r;try{r=typeof BroadcastChannel=="function"?new BroadcastChannel(fi):void 0}catch{r=void 0}if(r!==void 0){let n=r;n.addEventListener("message",a=>{a.data?.type==="lunora:session-change"&&a.data.tab!==t&&s()}),e.push(()=>{n.close()})}let i=globalThis;if(typeof i.addEventListener=="function"){let n=o(a=>{gi(a.key,a.newValue)&&s()},"i");i.addEventListener("storage",n),e.push(()=>{i.removeEventListener?.("storage",n)})}return()=>{for(let n of e)n()}},"et"),Si=o(t=>{let e=or();return e.listeners.add(t),e.detach===void 0&&yi()&&(e.detach=vi(e.tab)),()=>{e.listeners.delete(t),e.listeners.size===0&&(e.detach?.(),e.detach=void 0)}},"tt"),re=class{static{o(this,"O")}listeners=new Set;add(e){return this.listeners.add(e),()=>{this.listeners.delete(e)}}emit(...e){let[s]=e;for(let r of this.listeners)try{r(s)}catch{}}clear(){this.listeners.clear()}},wi=o(t=>{let{afterFailedAttempts:e,intervalMs:s,onReachable:r,onStateChange:i,poll:n}=t,a=s>0&&e>0,c=0,u,h=!1,d=!1,l=o(()=>{u!==void 0&&(clearInterval(u),u=void 0,h=!1,i())},"u"),f=o(m=>{if(u!==void 0){if(!m){l();return}h||(h=!0,i()),r()}},"f"),p=o(()=>{d||(d=!0,n().then(f).finally(()=>{d=!1}).catch(()=>{}))},"p");return{isPolling:o(()=>u!==void 0&&h,"isPolling"),noteFailedOpen:o(()=>{c+=1,!(!a||u!==void 0||c<e)&&(u=setInterval(p,s),i(),p())},"noteFailedOpen"),noteOpen:o(()=>{c=0,l()},"noteOpen"),stop:l}},"st"),Ci="/_lunora/rpc",Tt="/_lunora/rpc-batch",ki="/_lunora/ws",It=o(t=>t===void 0||t===""?"":`&bucket=${encodeURIComponent(t)}`,"D"),Ce=o(t=>{for(let e=t.length-1;e>=0;e-=1)t[e]?.()},"F"),Zs=Symbol("lunora.unmergeableDelta"),Ei=o((t,e)=>{for(let s of e)s.op==="delete"?t.delete(s.key):s.value!==void 0&&t.set(s.key,s.value)},"nt"),Ti="lunora-ping",Ii=3e4,Oi=1e4,Ri=5e3,Ai=3,Pi=250,Fi=5e3,Mi=64,xi=3,Li=1e4,Qi=8,_i="/_lunora/admin/shard-traffic",Di="/_lunora/admin/scheduled",Ui="/_lunora/admin/scheduled/status",Ni="/_lunora/admin/scheduled/ws",qi="/_lunora/admin/scheduled/cancel",er="/_lunora/admin/scheduled/dead",ji="/_lunora/admin/scheduled/dead/retry",Ki="/_lunora/admin/scheduled/dead/cancel",Bi="/_lunora/admin/workflows/instances",$i="/_lunora/admin/workflows/instance",Wi="/_lunora/admin/workflows/status",Ot="/_lunora/admin/storage",Hi="/_lunora/admin/storage/url",zi="/_lunora/admin/storage/buckets",Vi="/_lunora/admin/functions",Gi="/_lunora/admin/cron-jobs",Ji="/_lunora/admin/cron-jobs/run",Yi="/_lunora/admin/openapi",Xi="/_lunora/admin/openrpc",Zi="/_lunora/admin/global/tables",en="/_lunora/admin/global/table",tn="/_lunora/admin/global/facet",sn="/_lunora/admin/vector/indexes",rn="/_lunora/admin/vector/query",nn="/_lunora/admin/logs/archive",an="/_lunora/admin/kv/namespaces",on="/_lunora/admin/kv/keys",Rt="/_lunora/admin/kv/value",cn="/_lunora/admin/auth/users",un="/_lunora/admin/auth/sessions",hn="/_lunora/admin/auth/users/create",dn="/_lunora/admin/auth/users/role",ln="/_lunora/admin/auth/users/ban",fn="/_lunora/admin/auth/users/unban",pn="/_lunora/admin/auth/users/password",mn="/_lunora/admin/auth/users/remove",yn="/_lunora/admin/auth/users/impersonate",bn="/_lunora/admin/auth/sessions/revoke",gn="/_lunora/admin/auth/sessions/revoke-all",vn="/_lunora/admin/auth/capabilities",Sn="/_lunora/admin/auth/users/update",wn="/_lunora/admin/auth/accounts",Cn="/_lunora/admin/auth/accounts/unlink",kn="/_lunora/admin/auth/passkeys",En="/_lunora/admin/auth/passkeys/delete",Tn="/_lunora/admin/auth/two-factor/disable",In="/_lunora/admin/auth/organizations",On="/_lunora/admin/auth/organizations/members",Rn="/_lunora/admin/auth/organizations/invitations",An="/_lunora/admin/auth/organizations/members/remove",Pn="/_lunora/admin/auth/organizations/invitations/cancel",Fn="/_lunora/admin/auth/config",Mn="/_lunora/admin/auth/sign-up-invitations",xn="/_lunora/admin/auth/sign-up-invitations/create",Ln="/_lunora/admin/auth/sign-up-invitations/revoke",Qn="/_lunora/admin/auth/organizations/create",_n="/_lunora/admin/auth/organizations/update",Dn="/_lunora/admin/auth/organizations/remove",Un="/_lunora/admin/auth/organizations/members/add",Nn="/_lunora/admin/auth/organizations/members/invite",qn="/_lunora/admin/auth/organizations/members/role",jn="/_lunora/admin/auth/organizations/teams",Kn="/_lunora/admin/auth/organizations/teams/create",Bn="/_lunora/admin/auth/organizations/teams/update",$n="/_lunora/admin/auth/organizations/teams/remove",Wn="/_lunora/admin/auth/organizations/teams/members",Hn="/_lunora/admin/auth/organizations/teams/members/add",zn="/_lunora/admin/auth/organizations/teams/members/remove",Vn="/_lunora/admin/auth/organizations/roles",Gn="/_lunora/admin/auth/organizations/roles/create",Jn="/_lunora/admin/auth/organizations/roles/update",Yn="/_lunora/admin/auth/organizations/roles/remove",Xn="/api/auth",Zn="/get-session",tr=o(t=>t==="connected"||t==="polling","re"),ea=o((t,e,s)=>t!==null||e&&s===null,"Ls"),sr=o(t=>t.startsWith("https://")?`wss://${t.slice(8)}`:t.startsWith("http://")?`ws://${t.slice(7)}`:t,"ie"),ee=o((t,e)=>`${t.endsWith("/")?t.slice(0,-1):t}${e}`,"C"),R=o((t,e)=>{let s=new URLSearchParams;for(let[i,n]of Object.entries(e))n!==void 0&&n!==""&&s.set(i,String(n));let r=s.toString();return r===""?t:`${t}?${r}`},"S"),ta=[Is],g=o(t=>t??"","l"),cr=o((t,e)=>{let s=t.error,r=typeof s?.code=="string"?s.code:void 0,i=typeof s?.message=="string"?s.message:void 0;return{code:r,messageText:(typeof t.message=="string"?t.message:void 0)??i??e}},"de"),sa=o(t=>{let{code:e,messageText:s}=cr(t,"stream error");return e===void 0?new Error(s):new y(e,s)},"Us"),rr=o(t=>{let{code:e,messageText:s}=cr(t,"subscription error");return{message:s,...e===void 0?{}:{code:e}}},"ne");function At(t){if(t!==void 0)return e=>{t(e)}}o(At,"W");var te=o((t,e)=>{for(let s of t)try{s(e)}catch{}},"k"),ra=new TextDecoder,ia=o(t=>{if(typeof t=="string")return t;if(t instanceof ArrayBuffer)return ra.decode(t)},"Ns"),Q=o((t,e)=>{if(!t.socket||t.wsState!=="open")return!1;try{return t.socket.send(JSON.stringify(e)),!0}catch{return!1}},"g"),Mt=o(t=>{let e=new Error(t.message??"request failed");if(e.code=t.code,t.data!==void 0)try{e.data=S(t.data)}catch{}return t.hint!==void 0&&(e.hint=t.hint),t.docsUrl!==void 0&&(e.docsUrl=t.docsUrl),e},"j"),ir=o((t,e)=>{let s=Mt(t),r=Ws(s,e);return r!==void 0&&(s.data=r),s},"ae"),se=o((t,e)=>{try{return T(t)}catch(s){let r=s instanceof Error?s.message:String(s);throw new TypeError(`LunoraClient: cannot encode ${e} \u2014 ${r}`,s instanceof Error?{cause:s}:void 0)}},"w"),na=1e4,nr=o(async t=>{let e=new AbortController,s,r=new Promise((i,n)=>{s=setTimeout(()=>{e.abort(),n(new TypeError("LunoraClient: poll timed out"))},na)});try{return await Promise.race([t(e.signal),r])}catch(i){throw e.signal.aborted?new TypeError("LunoraClient: poll timed out"):i}finally{clearTimeout(s)}},"oe"),ar=o(t=>{try{return T(t),!0}catch{return!1}},"ce"),Pt=o(t=>"args"in t?{...t,args:S(t.args)}:t,"$"),ur=o(t=>{let e=le(t);return e===void 0?$s():Mt(e)},"ue"),aa=o((t,e)=>{let s=Array.from({length:e});for(let r of t){if(typeof r.id!="number"||r.id<0||r.id>=e)continue;let i=r.body;s[r.id]=i!==void 0&&"error"in i?{error:ur(i),ok:!1}:{ok:!0,value:S(i?.result)}}return s.map(r=>r??{error:new Error("batch call returned no result"),ok:!1})},"Qs"),oa=Promise.resolve(),Ft=class t{static{o(this,"le")}static MAX_POKE_BUFFERS=256;static createClientQuery(e,s){return{defaultValue:s,key:e}}url;wsUrl;clientQueryStore;wsToken;authBasePath;fetchImpl;WebSocketImpl;bookmark;reconnectOptions;connectTimeoutMs;heartbeatIntervalMs;pollingFallbackAfterFailedAttempts;pollingFallbackIntervalMs;offlineQueue;outbox;clientId;shardCursors=new Map;defaultShardKey;readyResolved=!1;readyResolve;readyPromise;clientWatermarks=new Map;outboxMutationCounter=0;onPersistenceError;persistence;persistenceVersion;outboxLeaderRelease;queryCache;hydratedQueryCache=new Map;cacheSeededQueries=new Map;pendingCacheWrites=new Map;cacheFlushTimer;subscriptions=new P;tabCoordinator;leaderStatus;leaderWasEverConnected=!1;connections=new Map;defaultConnectionContext;connectionContexts=new Map;connectionContextHolders=new Map;authToken=null;authSubject=void 0;subjectToken=null;sessionProbesInFlight=0;sessionProbeGeneration=0;identityQuestions=0;identityAnsweredAt=0;releaseSessionChangeListener;warnedIdentityDisagreement=!1;identityResolutionExpected=!1;identitySettled=!1;queuedIdentities=new Map;queuedOfflineShardKeys=new Set;closed=!1;authTokenListeners=new re;statusListeners=new re;tokenExpiredListeners=new re;identityChangeListeners=new re;authRefusalNotifiedFor;mutationSettledListeners=new re;pendingChangeListeners=new re;whisperHandlers=new Map;lastStatus="idle";nextSubId=0;nextStreamId=0;streams=new Map;adminSocketTeardowns=new Set;offlineFlushes=new Map;replayRetryState=new Map;replayRetryTimers=new Map;shapeSubscriptions=new Map;pokeBuffers=new Map;nextShapeId=0;constructor(e){this.url=e.url,this.wsUrl=e.wsUrl??ee(sr(e.url),ki),this.wsToken=e.wsToken;let s=e.authBasePath??Xn;this.authBasePath=s.endsWith("/")?s.slice(0,-1):s,this.fetchImpl=e.fetch??(typeof fetch=="function"?fetch.bind(globalThis):void 0),this.WebSocketImpl=e.WebSocket??(typeof WebSocket=="function"?WebSocket:void 0),this.bookmark=e.bookmarkStorage??Es(),this.reconnectOptions=e.reconnect,this.heartbeatIntervalMs=e.heartbeatIntervalMs??Ii,this.connectTimeoutMs=e.connectTimeoutMs??Oi,this.pollingFallbackIntervalMs=e.pollingFallback?.intervalMs??Ri,this.pollingFallbackAfterFailedAttempts=e.pollingFallback?.afterFailedAttempts??Ai,this.defaultConnectionContext=e.connectionContext,this.persistence=Ds(e.persistence,e.outbox===void 0),this.persistenceVersion=e.persistenceVersion,this.queryCache=ks(e.queryCache),this.onPersistenceError=e.offlineQueue?.onPersistenceError,this.clientQueryStore=new je,e.crossTabSync?(this.tabCoordinator=this.createTabCoordinator(),this.tabCoordinator.start()):this.tabCoordinator=void 0,e.hydrateOnStart&&this.queryCache?this.readyPromise=new Promise(r=>{this.readyResolve=r}):(this.readyResolved=!0,this.readyPromise=oa),this.offlineQueue=new We(e.offlineQueue,{onEvict:o((r,i)=>{this.emitItemSettled(r,"rejected",i)},"onEvict"),onSizeChange:o(r=>{this.pendingChangeListeners.emit(r)},"onSizeChange"),persistence:this.persistence,version:e.persistenceVersion}),this.outbox=e.outbox,this.clientId=e.clientId??`client-${He()}`,this.persistence&&queueMicrotask(()=>{this.hydrateAsOutboxLeader()}),this.queryCache&&queueMicrotask(()=>{(async()=>{try{await this.hydrateQueryCache()}catch{}finally{this.readyResolved=!0,this.readyResolve?.()}})().catch(()=>{})}),"document"in globalThis&&(this.releaseSessionChangeListener=Si(async()=>{!this.closed&&this.authToken===null&&await this.getCurrentUser().catch(()=>{})}))}setAuthToken(e,s){let r=this.authToken!==e,i=this.identityFingerprint(),n=this.authSubject===void 0||this.subjectToken===this.authToken,a=this.subjectAwaitingReconfirm(),c=this.isKnownNobody();this.authToken=e,this.applySubject(e,s);let u=this.identityFingerprint();u!==i&&(!r&&e!==null&&n?(this.restampQueuedIdentity(i,u),this.restampWatermarks(i,u),this.restampConnectionIdentity(i,u),this.reseedFromHydratedCache()):!r&&e===null&&i===null&&n&&!c?(this.restampWatermarks(i,u),this.restampConnectionIdentity(i,u),this.reseedFromHydratedCache()):(this.rejectQueuedForIdentityChange(i),ea(i,c,e)&&this.evictPreviousIdentitySession()),this.restartTabCoordinatorForIdentity()),this.syncReadCacheToCredential(a),r&&this.authTokenListeners.emit(e),(u!==i||r||a)&&this.offlineQueue.size>0&&tr(this.computeStatus())&&this.flushAllOfflineQueues()}getAuthToken(){return this.authToken}currentIdentity(){return this.identityFingerprint()}expectIdentityResolution(){this.identityResolutionExpected=!0}currentBaseline(e){return this.baselineCursorFor(e)}replayIdentityVerdict(e){if(this.subjectAwaitingReconfirm())return"unknown";let s=this.identityFingerprint();return s===null&&this.identityUnresolved()?"unknown":e===s||e!==void 0&&this.isSameCredentialUnderTokenHash(e)?"match":s===null?"unknown":"mismatch"}clientIdentifier(){return this.clientId}confirmedMutationWatermark(e){return this.clientWatermarks.get(this.identityFingerprint()??"")?.get(e??"")??0}async callMutator(e,s,r){let i=r?.clientSeq;if(i!==void 0&&(!Number.isInteger(i)||i<=0))throw new y("INTERNAL",`callMutator: clientSeq must be a positive integer, got ${String(i)}`);let n=r?.shardKey??"",a=this.identityFingerprint(),c,u,h;try{u=await this.rpc(e,s,r?.shardKey,{captureBookmark:!0,clientId:this.clientId,clientSeq:i,onMutationAck:o(d=>{c=d},"onMutationAck")})}catch(d){if(!we(d))throw d;h=d}if(c!==void 0&&c>(this.clientWatermarks.get(a??"")?.get(n)??0)){let d=this.clientWatermarks.get(a??"");d===void 0&&(Ys(this.clientWatermarks,Qi),d=new Map,this.clientWatermarks.set(a??"",d)),d.set(n,c)}if(h!==void 0)throw h;return{applied:c===void 0||c===i,result:u}}onAuthTokenChange(e){return this.authTokenListeners.add(e)}onIdentityChange(e){return this.identityChangeListeners.add(e)}async getCurrentUser(){if(this.identityResolutionExpected=!0,this.closed||!this.fetchImpl)return this.identitySettled=!0,null;let e={},s=this.authToken;this.authToken&&(e.authorization=`Bearer ${this.authToken}`),this.sessionProbesInFlight+=1,this.identityQuestions+=1,this.sessionProbeGeneration=this.identityQuestions;let r=this.sessionProbeGeneration;try{let i=await this.fetchImpl(ee(this.url,`${this.authBasePath}${Zn}`),{credentials:"include",headers:e,method:"GET"});if(!i.ok)return this.identitySettled=!0,i.status===401&&this.adoptResolvedSubject(s,null,r),null;let n=(await i.json())?.user??null;return this.identitySettled=!0,this.adoptResolvedSubject(s,n,r),n}finally{this.releaseSessionProbe()}}setWsToken(e){this.wsToken!==e&&(this.wsToken=e,this.bounceShardSockets())}setConnectionContext(e,s={}){this.assertLeaderOwnedSurface("setConnectionContext");let r=g(s.shardKey);e===void 0?this.connectionContexts.delete(r):this.connectionContexts.set(r,e),this.refreshConnectionContext(r)}acquireConnectionContext(e,s={}){if(this.followsAnotherTab())return()=>{};let r=g(s.shardKey),i={context:e},n=this.connectionContextHolders.get(r);n?n.push(i):this.connectionContextHolders.set(r,[i]),this.refreshConnectionContext(r);let a=!1;return()=>{if(a)return;a=!0;let c=this.connectionContextHolders.get(r);if(!c)return;let u=c.indexOf(i);u!==-1&&c.splice(u,1),c.length===0&&this.connectionContextHolders.delete(r),this.refreshConnectionContext(r)}}whisperSubscribe(e,s,r={}){this.assertLeaderOwnedSurface("whisperSubscribe");let i=g(r.shardKey),n=this.whisperHandlers.get(i);n||(n=new Map,this.whisperHandlers.set(i,n));let a=n.get(e),c=a===void 0;if(a||(a=new Set,n.set(e,a)),a.add(s),this.ensureSocket(r.shardKey),c){let u=this.getConnection(r.shardKey);u&&Q(u,{topic:e,type:"whisper_subscribe"})}return()=>{let u=this.whisperHandlers.get(i),h=u?.get(e);if(!h?.delete(s)||h.size>0)return;u?.delete(e),u?.size===0&&this.whisperHandlers.delete(i);let d=this.getConnection(r.shardKey);d&&Q(d,{topic:e,type:"whisper_unsubscribe"})}}whisper(e,s,r={}){this.assertLeaderOwnedSurface("whisper"),this.ensureSocket(r.shardKey);let i=this.getConnection(r.shardKey);i&&Q(i,{data:se(s??null,`whisper data for topic '${e}'`),topic:e,type:"whisper"})}onTokenExpired(e){return this.tokenExpiredListeners.add(e)}connectionStatus(){return this.computeStatus()}onConnectionStatus(e){let s=this.statusListeners.add(e);return e(this.computeStatus()),s}pendingCount(){return this.offlineQueue.size}debug(){let e=[],s=this.clientWatermarks.get(this.identityFingerprint()??""),r=new Set([...this.connections.keys(),...s?.keys()??[]]);for(let n of r){let a=this.connections.get(n);e.push({confirmedMutationWatermark:s?.get(n)??0,hasSocket:a?.socket!==void 0,shardKey:n===""?void 0:n,wasEverConnected:a?.wasEverConnected??!1,wsState:a?.wsState??"idle"})}let i=this.subscriptions.all().map(n=>({acked:n.acked,functionPath:n.fn.__lunoraRef,id:n.id,kind:"query",lastMutationId:n.lastMutationId,pendingOptimisticLayers:n.optimisticLayers.length,serverCursor:n.serverCursor,shardKey:n.shardKey,subscriberCount:n.callbacks.size}));for(let n of this.shapeSubscriptions.values())i.push({acked:n.serverCursor!==void 0,functionPath:`shape:${n.name}`,id:n.id,kind:"shape",lastMutationId:n.lastMutationId,pendingOptimisticLayers:0,rowCount:n.rows.size,serverCursor:n.serverCursor,shardKey:n.shardKey,subscriberCount:n.callbacks.size});return{clientId:this.clientId,closed:this.closed,connectionStatus:this.computeStatus(),pendingWrites:this.offlineQueue.size,shards:e.toSorted((n,a)=>(n.shardKey??"").localeCompare(a.shardKey??"")),subscriptions:i.toSorted((n,a)=>n.functionPath.localeCompare(a.functionPath))}}onPendingChange(e){let s=this.pendingChangeListeners.add(e);return e(this.offlineQueue.size),s}onMutationSettled(e){return this.mutationSettledListeners.add(e)}getWebSocketImpl(){return this.WebSocketImpl}getClientQuery(e){return this.clientQueryStore.get(e)}setClientQuery(e,s){this.clientQueryStore.set(e,s)}subscribeClientQuery(e,s){return this.clientQueryStore.subscribe(e,s)}resetClientQuery(e){this.clientQueryStore.reset(e)}snapshotPrecondition(e,s,r){return Js(this,e,s,r)}whenReady(){return this.readyPromise}get isReady(){return this.readyResolved}peekHydratedQuery(e,s,r){if(!this.readyResolved)return;let i=Y(s),n=ae(e,i,r),a=this.hydratedQueryCache.get(n);if(a!==void 0)return this.cachedQueryMatchesIdentity(a)?a.value:void 0}peekActiveQuerySnapshot(e,s,r){let i=P.key(e,s,r),n=this.subscriptions.get(i);return{present:n!==void 0,value:n?.lastValue}}async query(e,s,r={}){return this.assertOpen(),await this.rpc(e.__lunoraRef,s,r.shardKey,{attachBookmark:!0})}async batch(e){return this.sendBatch(e)}async mutation(e,s,r={}){let{value:i}=await this.runMutation(e,s,r);return i}canQueueOffline(e){let{wasEverConnected:s}=this.connectionGateState(e);return this.WebSocketImpl!==void 0&&(s||this.offlineQueue.queueBeforeFirstConnect)}async action(e,s,r={}){return this.assertOpen(),await this.rpc(e.__lunoraRef,s,r.shardKey,{attachBookmark:!0,captureBookmark:!0})}async importRows(e,s,r={}){this.assertOpen();let i=Math.max(1,Math.trunc(r.chunkSize??500)),n=r.toArgs??(d=>({rows:d})),a=s.length,c=0,u=0,h=0;for(let d=0;d<a;d+=i){let l=s.slice(d,d+i),f=h,{committed:p}=await this.runMutation(e,n(l),{...r.importId===void 0?{}:{mutationId:`${r.importId}:${String(f)}`},shardKey:r.shardKey});h+=1,c+=l.length,p&&(u+=l.length),r.onProgress?.({done:c,total:a})}return{chunks:h,imported:u,queued:c-u}}async shardTraffic(e){this.assertOpen();let s=await this.adminFetch(_i,"POST",{table:e});return{failed:s.failed??0,ok:s.ok??0,shards:s.shards??[]}}async listScheduledJobs(){return this.assertOpen(),((await this.adminFetch(Di,"GET")).records??[]).map(e=>Pt(e))}async schedulerStatus(){this.assertOpen();let e=await this.adminFetch(Ui,"GET");return{backlog:e.backlog??0,inFlight:e.inFlight??0,pools:e.pools??[]}}async cancelScheduledJob(e){return this.assertOpen(),{cancelled:(await this.adminFetch(qi,"POST",{id:e})).cancelled===!0}}async listDeadJobs(){return this.assertOpen(),(await ci(async e=>await this.adminFetch(e===void 0?er:`${er}?cursor=${encodeURIComponent(e)}`,"GET"))).map(e=>Pt(e))}async retryDeadJob(e){return this.assertOpen(),{retried:(await this.adminFetch(ji,"POST",{id:e})).retried===!0}}async removeDeadJob(e){return this.assertOpen(),{removed:(await this.adminFetch(Ki,"POST",{id:e})).removed===!0}}async listWorkflowInstances(e){this.assertOpen();let s=new URLSearchParams({name:e.name});e.status!==void 0&&s.set("status",e.status),e.page!==void 0&&s.set("page",String(e.page)),e.perPage!==void 0&&s.set("perPage",String(e.perPage));let r=await this.adminFetch(`${Bi}?${s.toString()}`,"GET");return{configured:r.configured,instances:r.instances??[],page:r.page??1,perPage:r.perPage??e.perPage??0,totalCount:r.totalCount}}async getWorkflowInstance(e){this.assertOpen();let s=new URLSearchParams({id:e.id,name:e.name}),r=await this.adminFetch(`${$i}?${s.toString()}`,"GET");return{createdOn:r.createdOn,endedOn:r.endedOn,error:r.error,id:r.id??e.id,output:r.output,params:r.params,startedOn:r.startedOn,status:r.status??"unknown",steps:r.steps??[]}}async setWorkflowInstanceStatus(e){return this.assertOpen(),{status:(await this.adminFetch(Wi,"POST",{action:e.action,id:e.id,name:e.name})).status??"unknown"}}subscribeScheduledJobs(e){if(this.assertOpen(),this.WebSocketImpl===void 0)return()=>{};let s=ee(sr(this.url),Ni),r=wt(this.reconnectOptions),i={connectTimer:void 0,heartbeatTimer:void 0,lastFrameAt:0,socket:void 0},n,a=!1,c=o(()=>{a||this.closed||(n=setTimeout(d,r.next()))},"a"),u=o(f=>{if(a||this.WebSocketImpl===void 0)return;let p=f===void 0?s:`${s}?token=${encodeURIComponent(f)}`;this.openManagedSocket(i,p,this.connectTimeoutMs,{onClose:o(()=>{c()},"onClose"),onMessage:o(m=>{let b;try{b=JSON.parse(typeof m.data=="string"?m.data:"")}catch{return}b.type==="jobs"&&Array.isArray(b.records)&&(r.reset(),e(b.records.map(w=>Pt(w))))},"onMessage")})},"o"),h=o(async f=>{let p;try{p=await f()}catch{c();return}u(p)},"h"),d=o(()=>{if(a||this.WebSocketImpl===void 0)return;let{wsToken:f}=this;if(typeof f=="function"){h(f).catch(()=>{});return}u(f)},"d");d();let l=o(()=>{a=!0,n!==void 0&&(clearTimeout(n),n=void 0),i.connectTimer!==void 0&&(clearTimeout(i.connectTimer),i.connectTimer=void 0),this.stopHeartbeat(i),i.socket?.close(),i.socket=void 0},"u");return this.adminSocketTeardowns.add(l),()=>{this.adminSocketTeardowns.delete(l),l()}}async listFunctions(){return this.assertOpen(),(await this.adminFetch(Vi,"GET")).functions??[]}async getCronJobs(){return this.assertOpen(),(await this.adminFetch(Gi,"GET")).jobs??[]}async runCronJob(e){this.assertOpen();let s=await this.adminFetch(Ji,"POST",{name:e});return{name:s.name??e,ran:s.ran===!0}}async fetchOpenApi(){return this.assertOpen(),await this.adminFetch(Yi,"GET")}async fetchOpenRpc(){return this.assertOpen(),await this.adminFetch(Xi,"GET")}async listStorageObjects(e={}){this.assertOpen();let s=R(Ot,{bucket:e.bucket,cursor:e.cursor,limit:e.limit,prefix:e.prefix}),r=await this.adminFetch(s,"GET");return{cursor:r.cursor,objects:r.objects??[]}}async deleteStorageObject(e,s){this.assertOpen();let r=`${Ot}?key=${encodeURIComponent(e)}${It(s?.bucket)}`,i=await this.adminFetch(r,"DELETE");return{deleted:i.deleted===!0,key:i.key??e}}async listStorageBuckets(){return this.assertOpen(),(await this.adminFetch(zi,"GET")).buckets??[]}async uploadStorageObject(e){this.assertOpen();let s=`${Ot}?key=${encodeURIComponent(e.key)}${It(e.bucket)}`,r=await this.adminFetch(s,"PUT",e.body,e.contentType);return{etag:r.etag,key:r.key??e.key}}async signedStorageUrl(e,s){this.assertOpen();let r=s?.expiresInSeconds,i=r===void 0?"":`&expiresIn=${encodeURIComponent(r.toString())}`,n=`${Hi}?key=${encodeURIComponent(e)}${i}${It(s?.bucket)}`,a=await this.adminFetch(n,"GET");if(typeof a.url!="string")throw new TypeError("LunoraClient: storage URL endpoint returned no `url`");return a.url}async listGlobalTables(){return this.assertOpen(),await this.adminFetch(Zi,"GET")}async readGlobalTablePage(e){this.assertOpen();let s=new URLSearchParams({table:e.table});return e.limit!==void 0&&s.set("limit",String(e.limit)),e.offset!==void 0&&s.set("offset",String(e.offset)),e.filters!==void 0&&e.filters.length>0&&s.set("filters",JSON.stringify(T(e.filters))),S(await this.adminFetch(`${en}?${s.toString()}`,"GET"))}async facetGlobalColumn(e){this.assertOpen();let s=new URLSearchParams({column:e.column,table:e.table});return e.limit!==void 0&&s.set("limit",String(e.limit)),e.filters!==void 0&&e.filters.length>0&&s.set("filters",JSON.stringify(T(e.filters))),S(await this.adminFetch(`${tn}?${s.toString()}`,"GET"))}async listVectorIndexes(){return this.assertOpen(),(await this.adminFetch(sn,"GET")).indexes??[]}async queryVectorIndex(e){return this.assertOpen(),(await this.adminFetch(rn,"POST",e)).matches??[]}async queryLogArchive(e={}){this.assertOpen();let s=await this.adminFetch(nn,"POST",e);return{nextCursor:s.nextCursor,rows:s.rows??[]}}async listKvNamespaces(){return this.assertOpen(),(await this.adminFetch(an,"GET")).namespaces??[]}async listKvKeys(e){this.assertOpen();let s=R(on,{cursor:e.cursor,limit:e.limit,namespace:e.namespace,prefix:e.prefix});return await this.adminFetch(s,"GET")}async getKvValue(e){this.assertOpen();let s=R(Rt,{key:e.key,namespace:e.namespace});return await this.adminFetch(s,"GET")}async putKvValue(e){this.assertOpen(),await this.adminFetch(Rt,"PUT",e)}async deleteKvKey(e){this.assertOpen();let s=R(Rt,{key:e.key,namespace:e.namespace});await this.adminFetch(s,"DELETE")}async listAuthUsers(e={}){this.assertOpen();let s=R(cn,{filterField:e.filterField,filterValue:e.filterValue,limit:e.limit,offset:e.offset,search:e.search,searchField:e.searchField,sortBy:e.sortBy,sortDirection:e.sortDirection});return await this.adminFetch(s,"GET")}async createAuthUser(e){return await this.adminFetch(hn,"POST",e)}async setAuthUserRole(e){return await this.adminFetch(dn,"POST",e)}async banAuthUser(e){return await this.adminFetch(ln,"POST",e)}async unbanAuthUser(e){return await this.adminFetch(fn,"POST",e)}async setAuthUserPassword(e){await this.adminFetch(pn,"POST",e)}async removeAuthUser(e){await this.adminFetch(mn,"POST",e)}async impersonateAuthUser(e){return await this.adminFetch(yn,"POST",e)}async revokeAuthSession(e){await this.adminFetch(bn,"POST",e)}async revokeAuthUserSessions(e){await this.adminFetch(gn,"POST",e)}async getAuthCapabilities(){return await this.adminFetch(vn,"GET")}async updateAuthUser(e){return await this.adminFetch(Sn,"POST",e)}async listAuthAccounts(e){return await this.adminFetch(R(wn,{userId:e.userId}),"GET")}async unlinkAuthAccount(e){await this.adminFetch(Cn,"POST",e)}async listAuthPasskeys(e){return await this.adminFetch(R(kn,{userId:e.userId}),"GET")}async deleteAuthPasskey(e){await this.adminFetch(En,"POST",e)}async disableAuthTwoFactor(e){await this.adminFetch(Tn,"POST",e)}async listAuthOrganizations(e={}){return await this.adminFetch(R(In,{limit:e.limit,offset:e.offset}),"GET")}async listAuthOrgMembers(e){let s=R(On,{limit:e.limit,offset:e.offset,organizationId:e.organizationId});return await this.adminFetch(s,"GET")}async listAuthOrgInvitations(e){let s=R(Rn,{limit:e.limit,offset:e.offset,organizationId:e.organizationId});return await this.adminFetch(s,"GET")}async listAuthSignUpInvitations(e={}){let s=R(Mn,{limit:e.limit,offset:e.offset});return await this.adminFetch(s,"GET")}async createAuthSignUpInvitation(e){return await this.adminFetch(xn,"POST",e)}async revokeAuthSignUpInvitation(e){await this.adminFetch(Ln,"POST",e)}async removeAuthOrgMember(e){await this.adminFetch(An,"POST",e)}async cancelAuthOrgInvitation(e){await this.adminFetch(Pn,"POST",e)}async getAuthConfig(){return await this.adminFetch(Fn,"GET")}async createAuthOrganization(e){return await this.adminFetch(Qn,"POST",e)}async updateAuthOrganization(e){return await this.adminFetch(_n,"POST",e)}async deleteAuthOrganization(e){await this.adminFetch(Dn,"POST",e)}async addAuthOrgMember(e){return await this.adminFetch(Un,"POST",e)}async inviteAuthOrgMember(e){return await this.adminFetch(Nn,"POST",e)}async setAuthOrgMemberRole(e){return await this.adminFetch(qn,"POST",e)}async listAuthOrgTeams(e){let s=R(jn,{limit:e.limit,offset:e.offset,organizationId:e.organizationId});return await this.adminFetch(s,"GET")}async createAuthOrgTeam(e){return await this.adminFetch(Kn,"POST",e)}async updateAuthOrgTeam(e){return await this.adminFetch(Bn,"POST",e)}async removeAuthOrgTeam(e){await this.adminFetch($n,"POST",e)}async listAuthOrgTeamMembers(e){let s=R(Wn,{limit:e.limit,offset:e.offset,teamId:e.teamId});return await this.adminFetch(s,"GET")}async addAuthOrgTeamMember(e){return await this.adminFetch(Hn,"POST",e)}async removeAuthOrgTeamMember(e){await this.adminFetch(zn,"POST",e)}async listAuthOrgRoles(e){let s=R(Vn,{limit:e.limit,offset:e.offset,organizationId:e.organizationId});return await this.adminFetch(s,"GET")}async createAuthOrgRole(e){return await this.adminFetch(Gn,"POST",e)}async updateAuthOrgRole(e){return await this.adminFetch(Jn,"POST",e)}async deleteAuthOrgRole(e){await this.adminFetch(Yn,"POST",e)}async listAuthSessions(e={}){this.assertOpen();let s=R(un,{limit:e.limit,offset:e.offset,userId:e.userId});return await this.adminFetch(s,"GET")}subscribe(e,s,r,i={}){this.assertOpen();let n=s??{},a=P.key(e.__lunoraRef,n,i.shardKey),c=this.subscriptions.get(a),u=At(r),h=At(i.onError),d=At(i.onCheckpoint);if(!c){this.nextSubId+=1;let f=`sub_${this.nextSubId.toString()}`,p=Y(n),m=this.takeHydratedCache(e.__lunoraRef,p,i.shardKey);c={acked:!1,args:n,argsKey:p,callbacks:new Set,checkpointCallbacks:new Set,errorCallbacks:new Set,fn:e,id:f,lastValue:m?.value,optimisticLayers:[],serverBase:m?.value,serverCursor:m?.serverCursor,shardKey:i.shardKey,wireArgs:se(n,`args for '${e.__lunoraRef}'`),...m?.serverEpoch===void 0?{}:{serverEpoch:m.serverEpoch}},this.subscriptions.add(c),m!==void 0&&this.cacheSeededQueries.set(a,m)}if(c.callbacks.add(u),h&&c.errorCallbacks.add(h),d&&c.checkpointCallbacks.add(d),c.lastValue!==void 0)try{u(c.lastValue)}catch{}this.ensureSocket(i.shardKey),this.sendSubscribeIfOpen(c);let l=c;return()=>{l.callbacks.delete(u),h&&l.errorCallbacks.delete(h),d&&l.checkpointCallbacks.delete(d),l.callbacks.size===0&&(this.sendOrQueueUnsubscribe(l.shardKey,l.id,"unsubscribe"),this.returnCacheSeed(P.keyOf(l)),this.subscriptions.remove(l))}}subscribeShape(e,s,r={}){if(this.assertOpen(),this.followsAnotherTab()){let{onError:a}=r;return a!==void 0&&queueMicrotask(()=>{a({code:"NOT_IMPLEMENTED",message:"LunoraClient: `subscribeShape` is unavailable on a cross-tab follower tab. The `crossTabSync` channel only carries data from the leader tab outward and shape pokes are not part of that broadcast set, so this subscription could never resolve. Turn off `crossTabSync`, or use a `list`-backed collection, which IS relayed."})}),()=>{}}this.nextShapeId+=1;let i=`shape_${this.nextShapeId.toString()}`,n={args:e.args,callbacks:new Set([s]),errorCallbacks:r.onError?new Set([r.onError]):new Set,id:i,name:e.name,onCheckpoint:r.onCheckpoint,rows:new Map,shardKey:r.shardKey,wireArgs:e.args===void 0?void 0:se(e.args,`shape args for '${e.name}'`)};return this.shapeSubscriptions.set(i,n),this.ensureSocket(r.shardKey),this.sendShapeSubscribeIfOpen(n),()=>{this.shapeSubscriptions.delete(i),this.sendOrQueueUnsubscribe(n.shardKey,i,"shape_unsubscribe")}}stream(e,s,r={}){if(this.assertOpen(),this.WebSocketImpl===void 0)throw new y("INTERNAL","LunoraClient: streams require a WebSocket implementation");this.nextStreamId+=1;let i=`stream_${this.nextStreamId.toString()}`,{shardKey:n}=r,a=s??{},{handle:c,iterable:u}=Be({maxBuffer:r.maxBuffer,onCancel:o(()=>{this.cancelStream(i,n)},"onCancel")});this.ensureSocket(n);let h=this.getConnection(n),d={id:i,query:{args:se(a,`stream args for '${e.__lunoraRef}'`),functionPath:e.__lunoraRef,shardKey:n},type:"stream"},l={durable:r.durable===!0,generation:void 0,handle:c,lastSeq:0,message:d,shardKey:n,started:!1};this.streams.set(i,l);let f=h?.wsState==="open"&&Q(h,d);if(l.started=f,!f&&h===void 0)return this.streams.delete(i),c.fail(new y("STREAM_DISCONNECTED","stream unavailable: this tab is not the cross-tab WebSocket leader, so it holds no socket to stream over")),u;if(!f){for(h.pendingStreams=h.pendingStreams??[];h.pendingStreams.length>=Mi;){let p=h.pendingStreams.shift()?.id,m=p?this.streams.get(p):void 0;m&&(m.handle.fail(new y("STREAM_QUEUE_OVERFLOW","stream-start frame evicted while socket was unreachable")),this.streams.delete(p))}h.pendingStreams.push(d)}return u}httpStream(e,s,r={}){if(this.closed)throw new y("CLIENT_CLOSED","LunoraClient is closed");if(!this.fetchImpl)throw new y("INTERNAL","LunoraClient: no `fetch` implementation available");let i={...this.authToken?{authorization:`Bearer ${this.authToken}`}:{},...r.headers};return Fs(e,s,{baseUrl:this.url,fetch:this.fetchImpl,headers:i,maxBuffer:r.maxBuffer,signal:r.signal})}close(){this.closed=!0,this.releaseSessionChangeListener?.(),this.releaseSessionChangeListener=void 0,this.outboxLeaderRelease?.(),this.outboxLeaderRelease=void 0;for(let e of this.streams.values())e.handle.fail(new y("CLIENT_CLOSED","LunoraClient closed"));this.streams.clear();for(let e of this.connections.values())this.teardownConnection(e);for(let e of this.adminSocketTeardowns)e();this.adminSocketTeardowns.clear();for(let e of this.replayRetryTimers.values())clearTimeout(e);this.replayRetryTimers.clear(),this.replayRetryState.clear(),this.offlineQueue.clear(),this.queuedIdentities.clear(),this.cacheFlushTimer!==void 0&&(clearTimeout(this.cacheFlushTimer),this.cacheFlushTimer=void 0),this.pendingCacheWrites.size>0&&this.flushQueryCacheWrites().catch(()=>{}),this.authTokenListeners.clear(),this.statusListeners.clear(),this.tokenExpiredListeners.clear(),this.identityChangeListeners.clear(),this.mutationSettledListeners.clear(),this.pendingChangeListeners.clear(),this.whisperHandlers.clear(),this.shapeSubscriptions.clear(),this.pokeBuffers.clear(),this.subscriptions.clear(),this.clientQueryStore.clear(),this.hydratedQueryCache.clear(),this.cacheSeededQueries.clear(),this.tabCoordinator?.stop(),this.tabCoordinator=void 0}assertOpen(){if(this.closed)throw new y("INTERNAL","LunoraClient is closed")}followsAnotherTab(){let e=this.tabCoordinator;if(e===void 0||e.isLeader())return!1;let s=e.leaderTabId;return s!==void 0&&s!==e.id}assertLeaderOwnedSurface(e){if(this.followsAnotherTab())throw new y("NOT_IMPLEMENTED",`LunoraClient: \`${e}\` is unavailable on a cross-tab follower tab. The \`crossTabSync\` channel only carries data from the leader tab outward, so this call could never reach the server. Turn off \`crossTabSync\`, or keep \`${e}\` on the leader tab.`)}clearConnectionTimers(e){clearTimeout(e.reconnectTimer),clearTimeout(e.connectTimer),clearTimeout(e.stableTimer),e.reconnectTimer=void 0,e.connectTimer=void 0,e.stableTimer=void 0}teardownConnection(e){e.polling.stop();let s=g(e.shardKey);for(let[r,i]of this.streams)g(i.shardKey)===s&&(i.handle.fail(new y("STREAM_DISCONNECTED","stream terminated: the connection carrying it was torn down")),this.streams.delete(r));if(e.pendingStreams=void 0,e.pendingUnsubscribes=[],this.clearResubscribeQueue(e),this.clearConnectionTimers(e),this.stopHeartbeat(e),e.socket){try{e.socket.close()}catch{}e.socket=void 0}e.wsState="closed"}createTabCoordinator(){let e=`lunora-bridge::${this.url}::${this.identityFingerprint()??"anon"}`;return new Ke({channelName:e,onBecomeLeader:o(()=>{for(let s of this.subscriptions.all())this.ensureSocket(s.shardKey),this.queueResubscribe(s);for(let s of this.queuedOfflineShardKeys)this.ensureSocket(s);this.tabCoordinator?.broadcastConnectionStatus(this.computeStatus(),this.identityFingerprint())},"onBecomeLeader"),onStopBeingLeader:o(()=>{for(let[s,r]of this.connections)this.teardownConnection(r),this.connections.delete(s);this.leaderStatus=void 0,this.leaderWasEverConnected=!1},"onStopBeingLeader"),onConnectionStatus:o((s,r)=>{if(r!==void 0&&r!==this.identityFingerprint())return;let i=s==="connected"&&this.leaderStatus!=="connected"||s==="polling"&&this.leaderStatus!=="connected"&&this.leaderStatus!=="polling";this.leaderStatus=s,s==="connected"&&(this.leaderWasEverConnected=!0),this.emitConnectionStatus(),i&&this.flushAllOfflineQueues()},"onConnectionStatus"),onSubscriptionData:o((s,r,i,n,a)=>{if(a!==void 0&&a!==this.identityFingerprint())return;let c=this.subscriptions.get(s);c&&(c.serverBase=r,this.dropCacheSeed(s),i!==void 0&&(c.serverCursor=i,n!==void 0&&(c.serverEpoch=n),$e(c,i)),V(c,X(r,c.optimisticLayers)))},"onSubscriptionData"),onLeaderClaimAnswered:o(()=>{this.tabCoordinator?.isLeader()&&this.tabCoordinator.broadcastConnectionStatus(this.computeStatus(),this.identityFingerprint())},"onLeaderClaimAnswered"),onSubscriptionError:o((s,r,i)=>{if(i!==void 0&&i!==this.identityFingerprint())return;let n=this.subscriptions.get(s);n&&te(n.errorCallbacks,r)},"onSubscriptionError"),onSubscriptionSettled:o((s,r,i,n,a,c)=>{if(c!==void 0&&c!==this.identityFingerprint())return;let u=this.subscriptions.get(s);if(u){this.ackAndAdvanceCursor(u,r,i),n!==void 0&&a===this.clientId&&(u.lastMutationId=Math.max(u.lastMutationId??0,n));for(let h of u.checkpointCallbacks)h({checkpoint:u.serverCursor,mutationId:u.lastMutationId})}},"onSubscriptionSettled")})}async sendBatch(e,s){if(this.assertOpen(),!this.fetchImpl)throw new y("INTERNAL","LunoraClient: no `fetch` implementation available");if(e.length===0)return[];let r=await this.fetchImpl(ee(this.url,Tt),{body:JSON.stringify({calls:e.map((c,u)=>({args:se(c.args??{},`args for batch call '${c.fn.__lunoraRef}'`),functionPath:c.fn.__lunoraRef,id:u,shardKey:c.shardKey}))}),headers:this.rpcRequestHeaders({attachBookmark:!0}),method:"POST",signal:s}),i=r.headers.get("x-d1-bookmark");i&&this.bookmark.set(i);let n;try{n=await r.json()}catch{throw new y("INTERNAL",`LunoraClient: batch response was not JSON (status ${r.status.toString()})`)}let a=le(n);if(!r.ok||a!==void 0&&!n.results)throw a!==void 0?Mt(a):new y("INTERNAL",`LunoraClient: batch request failed (status ${r.status.toString()})`);for(let c of n.results??[]){let u=c.body?.commitCursor;typeof c.id=="number"&&typeof u=="number"&&this.recordShardCursor(e[c.id]?.shardKey,u)}return aa(n.results??[],e.length)}async runMutation(e,s,r){this.assertOpen();let i=s,n=r.mutationId??He(),a=r.replayBaseline===void 0?this.baselineCursorFor(r.shardKey):r.replayBaseline??void 0,{confirms:c,rollbacks:u}=this.applyOptimisticUpdates(e.__lunoraRef,i,r.shardKey,r.optimistic);r.optimisticUpdate&&this.applyOptimisticUpdate(r.optimisticUpdate,s,r.shardKey,u,c);let h=this.offlineFlushes.get(g(r.shardKey));h!==void 0&&await h;let{hasSocket:d,polling:l,wasEverConnected:f,wsState:p}=this.connectionGateState(r.shardKey),{queueBeforeFirstConnect:m}=this.offlineQueue,b=f||m,w=this.WebSocketImpl!==void 0&&b,k=p==="connecting"&&b&&!l,F=p!=="open"&&!d&&w&&!l,_=w&&r.replayBaseline===void 0&&this.hasPendingWriteAhead(r.shardKey),N=o(async()=>this.enqueueOfflineMutation(e,i,r.shardKey,a,n,u,c,r.precondition,r.mutationId),"G");if(F||k||_)return N();let D;try{let $=await this.rpc(e.__lunoraRef,i,r.shardKey,{baselineSeq:a,captureBookmark:!0,...this.replayExpectation(r.replayIdentity),mutationId:n,onCommitCursor:o(M=>{D=M},"onCommitCursor")});for(let M of c)M(D);return{committed:!0,value:$}}catch($){if(l&&w&&$ instanceof TypeError&&ar(i))return N();throw this.settleFailedDirectWrite($,D,c,u),$}}settleFailedDirectWrite(e,s,r,i){if(this.noteIdentityMismatch(e),we(e)){for(let n of r)n(s);return}Ce(i)}async enqueueOfflineMutation(e,s,r,i,n,a,c,u,h){let d=this.identityFingerprint();if(this.outbox){this.outboxMutationCounter+=1;let l=this.outboxMutationCounter;try{await this.outbox.enqueue({args:s,baselineSeq:i,clientId:this.clientId,functionPath:e.__lunoraRef,idempotencyKey:h??`${this.clientId}:${String(l)}`,identity:d,mutationId:l,...a.length>0&&{onRejected:o(()=>{Ce(a)},"onRejected")},shardKey:r})}catch(f){throw Ce(a),f instanceof Error?f:new Error(String(f))}for(let f of c)f(void 0);return{committed:!1,value:void 0}}return{committed:!0,value:await new Promise((l,f)=>{let p={args:s,functionPath:e.__lunoraRef,liveAwaiter:!0,baselineSeq:i,id:n,clientId:this.clientId,identity:d,precondition:u,onCommit:o(m=>{for(let b of c)b(m)},"onCommit"),reject:o(m=>{this.queuedIdentities.delete(n),we(m)||Ce(a),f(m instanceof Error?m:new Error(String(m)))},"reject"),resolve:l,shardKey:r};this.offlineQueue.enqueue(p),this.queuedOfflineShardKeys.add(r),p.id!==void 0&&this.queuedIdentities.set(p.id,d)})}}hasPendingWriteAhead(e){if(this.outbox)return this.outbox.pending?.()??!1;let s=g(e);return this.offlineQueue.hasPending(r=>g(r.shardKey)===s)}async hydratePersistedQueue(){try{let e=await this.offlineQueue.hydrate();for(let s of e)this.queuedOfflineShardKeys.add(s),this.ensureSocket(s)}catch{}}hydrateAsOutboxLeader(){let e=o(()=>{this.hydratePersistedQueue().catch(()=>{})},"e"),s=globalThis.navigator?.locks;if(!s){e();return}s.request(`lunora:outbox-leader:${this.url}`,()=>(this.closed||e(),new Promise(r=>{if(this.closed){r();return}this.outboxLeaderRelease=r}))).catch(e)}async hydrateQueryCache(){if(this.queryCache)try{let e=await this.queryCache.load(),s=new Map;for(let r of this.subscriptions.all())s.set(ae(r.fn.__lunoraRef,r.argsKey,r.shardKey),r);for(let{key:r,...i}of e){if(vt(this.persistenceVersion,i.version)){this.queryCache.remove(r).catch(()=>{});continue}let n=s.get(r);if(n&&this.cachedQueryMatchesIdentity(i)){this.seedSubscriptionFromCache(n,i);continue}this.hydratedQueryCache.set(r,i)}}catch{}}seedSubscriptionFromCache(e,s){e.serverBase!==void 0||e.lastValue!==void 0||!this.cachedQueryMatchesIdentity(s)||(e.serverBase=s.value,e.serverCursor=s.serverCursor,s.serverEpoch!==void 0&&(e.serverEpoch=s.serverEpoch),this.cacheSeededQueries.set(ae(e.fn.__lunoraRef,e.argsKey,e.shardKey),s),V(e,X(s.value,e.optimisticLayers)))}syncReadCacheToCredential(e){this.subjectAwaitingReconfirm()?this.revokeCacheSeededValues():e&&this.reseedFromHydratedCache()}dropCacheSeed(e){this.cacheSeededQueries.delete(e),this.hydratedQueryCache.delete(e)}returnCacheSeed(e){let s=this.cacheSeededQueries.get(e);s!==void 0&&(this.cacheSeededQueries.delete(e),this.hydratedQueryCache.set(e,s))}revokeCacheSeededValues(){if(this.cacheSeededQueries.size!==0){for(let[e,s]of this.cacheSeededQueries){let r=this.subscriptions.get(e);r!==void 0&&(r.serverBase=void 0,r.serverCursor=void 0,r.serverEpoch=void 0,V(r,X(void 0,r.optimisticLayers))),this.hydratedQueryCache.set(e,s)}this.cacheSeededQueries.clear()}}takeHydratedCache(e,s,r){let i=ae(e,s,r),n=this.hydratedQueryCache.get(i);if(!(n===void 0||!this.cachedQueryMatchesIdentity(n)))return this.hydratedQueryCache.delete(i),n}reseedFromHydratedCache(){if(this.hydratedQueryCache.size!==0)for(let e of this.subscriptions.all()){let s=ae(e.fn.__lunoraRef,e.argsKey,e.shardKey),r=this.hydratedQueryCache.get(s);r!==void 0&&this.cachedQueryMatchesIdentity(r)&&(this.hydratedQueryCache.delete(s),this.seedSubscriptionFromCache(e,r))}}persistQueryValue(e){let s=e.serverBase;if(!this.queryCache||s===void 0)return;let r=ae(e.fn.__lunoraRef,e.argsKey,e.shardKey),i=this.getConnection(e.shardKey)?.identity,n=i===void 0?this.identityFingerprint():i;n===null&&this.identityUnresolved()||(this.pendingCacheWrites.set(r,{identity:n,serverCursor:e.serverCursor,ts:Date.now(),value:s,...n===this.identityFingerprint()&&!this.subjectAwaitingReconfirm()?this.credentialStamp():{},...e.serverEpoch===void 0?{}:{serverEpoch:e.serverEpoch},...this.persistenceVersion===void 0?{}:{version:this.persistenceVersion}}),this.cacheFlushTimer??=setTimeout(()=>{this.flushQueryCacheWrites().catch(()=>{})},Pi))}async flushQueryCacheWrites(){this.cacheFlushTimer=void 0;let{queryCache:e}=this;if(!e){this.pendingCacheWrites.clear();return}let s=[...this.pendingCacheWrites.entries()];this.pendingCacheWrites.clear(),await Promise.allSettled(s.map(async([r,i])=>e.put(r,i)))}computeStatus(){if(this.tabCoordinator&&!this.tabCoordinator.isLeader())return this.leaderStatus??"idle";let e=[...this.connections.values()];return e.length===0?"idle":e.some(s=>s.wsState==="open")?"connected":e.some(s=>s.polling.isPolling())?"polling":e.some(s=>s.wsState==="connecting")?"connecting":"offline"}baselineCursorFor(e){let s=g(e),r;for(let i of this.subscriptions.all())g(i.shardKey)!==s||i.serverCursor===void 0||(r=r===void 0?i.serverCursor:Math.max(r,i.serverCursor));return r}async pollSubscriptions(e){let s=g(e),r=[];for(let c of this.subscriptions.all())g(c.shardKey)===s&&(ar(c.args)?r.push(c):te(c.errorCallbacks,{code:"WIRE_ENCODE_FAILED",message:"could not encode this subscription's args for a poll"}));if(r.length===0)return this.probeOrigin();let i=xs(),n=this.identityFingerprint(),a;try{a=await nr(async c=>this.sendBatch(r.map(u=>({args:u.args,fn:u.fn,shardKey:u.shardKey})),c))}catch(c){return!(c instanceof TypeError)}if(this.identityFingerprint()!==n)return!0;for(let[c,u]of r.entries()){let h=a[c];if(h!==void 0){if(!h.ok){te(u.errorCallbacks,{code:h.error.code,message:h.error.message});continue}this.handleDataMessage({data:T(h.value),id:u.id,type:"data"},i)}}return!0}async probeOrigin(){let{fetchImpl:e}=this;if(!e)return!1;try{return await nr(async s=>e(ee(this.url,Tt),{body:JSON.stringify({calls:[]}),headers:this.rpcRequestHeaders({}),method:"POST",signal:s})),!0}catch{return!1}}emitConnectionStatus(){let e=this.computeStatus();e!==this.lastStatus&&(this.lastStatus=e,this.statusListeners.emit(e),this.tabCoordinator?.isLeader()&&this.tabCoordinator.broadcastConnectionStatus(e,this.identityFingerprint()))}emitItemSettled(e,s,r){this.mutationSettledListeners.emit({args:e.args,code:r===void 0?void 0:r.code,error:r,functionPath:e.functionPath,hadAwaiter:e.liveAwaiter??!1,id:e.id??"",shardKey:e.shardKey,status:s})}applyOptimisticUpdates(e,s,r,i){let n=[],a=[];if(!i)return{confirms:n,rollbacks:a};let c=P.key(e,s,r),u=this.subscriptions.get(c);if(u){let h=gt(u,i);h&&(n.push(h.confirm),a.push(h.rollback))}return{confirms:n,rollbacks:a}}applyOptimisticUpdate(e,s,r,i,n){let{confirms:a,rollbacks:c,store:u}=Qs(this.subscriptions,r);try{e(u,s)}catch{Ce(c);return}i.push(...c),n.push(...a)}getConnection(e){return this.connections.get(g(e))}sendOrQueueUnsubscribe(e,s,r){let i=this.getConnection(e);i&&!Q(i,{id:s,type:r})&&i.pendingUnsubscribes.push({id:s,type:r})}connectionGateState(e){if(this.tabCoordinator&&!this.tabCoordinator.isLeader()){let r="idle";return this.leaderStatus==="connected"?r="open":this.leaderStatus==="connecting"&&(r="connecting"),{hasSocket:!1,polling:this.leaderStatus==="polling",wasEverConnected:this.leaderWasEverConnected,wsState:r}}let s=this.getConnection(e);return{hasSocket:s?.socket!==void 0,polling:s?.polling.isPolling()??!1,wasEverConnected:s?.wasEverConnected??!1,wsState:s?.wsState??"idle"}}getOrCreateConnection(e){let s=g(e),r=this.connections.get(s);return r||(r={connectTimer:void 0,heartbeatTimer:void 0,lastFrameAt:0,pendingUnsubscribes:[],polling:wi({afterFailedAttempts:this.pollingFallbackAfterFailedAttempts,intervalMs:this.pollingFallbackIntervalMs,onReachable:o(()=>{this.flushOfflineQueue(e).catch(()=>{})},"onReachable"),onStateChange:o(()=>{this.emitConnectionStatus()},"onStateChange"),poll:o(async()=>this.pollSubscriptions(e),"poll")}),reconnect:wt(this.reconnectOptions),reconnectTimer:void 0,resubscribePending:new Map,resubscribeQueue:[],shardKey:e,socket:void 0,stableTimer:void 0,wasEverConnected:!1,wsState:"idle"},this.connections.set(s,r)),r}wsUrlFor(e,s){let r=[];if(e!==void 0&&r.push(`shard=${encodeURIComponent(e)}`),s!==void 0&&r.push(`token=${encodeURIComponent(s)}`),r.length===0)return this.wsUrl;let i=this.wsUrl.includes("?")?"&":"?";return`${this.wsUrl}${i}${r.join("&")}`}rpcRequestHeaders(e,s){let r={"content-type":"application/json"};e.expectSubject!==void 0&&(r[di]=li(e.expectSubject));let i=this.shardCursors.get(this.cursorKeyFor(s));if(i!==void 0&&(r["x-lunora-min-seq"]=i.toString()),this.authToken&&(r.authorization=`Bearer ${this.authToken}`),e.mutationId&&(r["x-lunora-mutation-id"]=e.mutationId),(e.clientId!==void 0||e.mutationId!==void 0)&&(r["x-lunora-client-id"]=e.clientId??this.clientId),e.clientSeq!==void 0&&(r["x-lunora-client-seq"]=e.clientSeq.toString()),e.baselineSeq!==void 0&&(r["x-lunora-base-seq"]=e.baselineSeq.toString()),e.attachBookmark){let n=this.bookmark.get();n&&(r["x-d1-bookmark"]=n)}return r}async rpc(e,s,r,i={}){if(!this.fetchImpl)throw new B("LunoraClient: no `fetch` implementation available");let n=this.rpcRequestHeaders(i,r),a=await this.fetchImpl(ee(this.url,Ci),{body:JSON.stringify({args:se(s,`args for '${e}'`),functionPath:e,shardKey:r}),headers:n,method:"POST"});if(i.captureBookmark){let d=a.headers.get("x-d1-bookmark");d&&this.bookmark.set(d)}let c;try{c=await a.json()}catch{throw de(a.status,a.statusText,a.headers.get("retry-after"))}let u=c;if(typeof u!="object"||u===null||Array.isArray(u))throw de(a.status,a.statusText,a.headers.get("retry-after"));let h=le(c);if(h!==void 0)throw ir(h,a.headers.get("retry-after"));if(!a.ok)throw de(a.status,a.statusText,a.headers.get("retry-after"));i.onMutationAck?.(c.lastMutationId),i.onCommitCursor?.(c.commitCursor),this.learnDefaultShardKey(a,r),this.recordShardCursor(r,c.commitCursor);try{return S(c.result)}catch(d){throw kt(d)}}async adminFetch(e,s,r,i){if(!this.fetchImpl)throw new y("INTERNAL","LunoraClient: no `fetch` implementation available");let n={};this.authToken&&(n.authorization=`Bearer ${this.authToken}`);let a=r instanceof ArrayBuffer||r instanceof Blob,c;r===void 0?c=void 0:a?(c=r,i!==void 0&&(n["content-type"]=i)):(c=JSON.stringify(r),n["content-type"]="application/json");let u=await this.fetchImpl(ee(this.url,e),{body:c,headers:n,method:s}),h;try{h=await u.json()}catch{let l=u.statusText?` ${u.statusText}`:"";throw new y("INTERNAL",`LunoraClient: response was not JSON (status ${u.status.toString()}${l})`)}let d=le(h);if(d!==void 0){let l=new Error(d.message??"admin request failed");throw l.code=d.code,l}if(!u.ok){let l=u.statusText?` ${u.statusText}`:"";throw new y("INTERNAL",`LunoraClient: admin request failed (status ${u.status.toString()}${l})`)}return h}effectiveConnectionContext(e){let s=this.connectionContextHolders.get(e);return s&&s.length>0?s[s.length-1]?.context:this.connectionContexts.get(e)??this.defaultConnectionContext}refreshConnectionContext(e){let s=this.connections.get(e);s?.wsState==="open"&&this.sendConnectEnvelope(s)}sendConnectEnvelope(e){let s=this.effectiveConnectionContext(g(e.shardKey));Q(e,{caps:ta,clientId:this.clientId,id:"connect",type:"connect",...s===void 0?{}:{context:s}})}resendShapeSubscriptions(e){for(let s of this.shapeSubscriptions.values())g(s.shardKey)===g(e)&&this.sendShapeSubscribeIfOpen(s)}ensureSocket(e){if(this.closed||this.WebSocketImpl===void 0||this.tabCoordinator&&!this.tabCoordinator.isLeader())return;let s=this.getOrCreateConnection(e);if(!(s.wsState==="open"||s.wsState==="connecting")){if(s.wsState="connecting",this.emitConnectionStatus(),typeof this.wsToken=="function"){this.openSocketWithProvidedToken(s,e,this.wsToken).catch(()=>{});return}this.openSocket(s,e,this.wsToken)}}async openSocketWithProvidedToken(e,s,r){let i;try{i=await r()}catch{this.handleDisconnect(e);return}this.closed||this.WebSocketImpl===void 0||e.wsState!=="connecting"||e.socket!==void 0||this.openSocket(e,s,i)}openManagedSocket(e,s,r,i){let{WebSocketImpl:n}=this;if(n===void 0)throw new y("INTERNAL","no WebSocket implementation available");let a=new n(s);e.socket=a;let c=o(()=>{this.stopHeartbeat(e),e.connectTimer!==void 0&&(clearTimeout(e.connectTimer),e.connectTimer=void 0),e.socket===a&&(e.socket=void 0)},"a"),u=o(h=>{c(),i.onClose(h)},"o");r>0&&(e.connectTimer=setTimeout(()=>{if(e.connectTimer=void 0,e.socket===a){try{a.close()}catch{}u()}},r)),a.addEventListener("open",()=>{if(e.socket===a){e.connectTimer!==void 0&&(clearTimeout(e.connectTimer),e.connectTimer=void 0),e.lastFrameAt=Date.now();try{i.onOpen?.()}catch(h){console.error("[lunora] connection open handler threw",h)}this.startHeartbeat(e,u)}}),a.addEventListener("message",h=>{if(e.socket===a){e.lastFrameAt=Date.now();try{i.onMessage(h)}catch(d){console.error("[lunora] server frame handler threw",d)}}}),a.addEventListener("close",h=>{e.socket===a&&u(h)}),a.addEventListener("error",()=>{e.socket===a&&u()})}openSocket(e,s,r){this.WebSocketImpl!==void 0&&(e.identity=this.identityFingerprint(),r===void 0&&this.authToken===null?(this.identityQuestions+=1,e.identityQuestion=this.identityQuestions):e.identityQuestion=void 0,e.retired=!1,this.openManagedSocket(e,this.wsUrlFor(s,r),this.connectTimeoutMs,{onClose:o(i=>{i?.code===4001&&this.notifyTokenExpired(),this.handleDisconnect(e)},"onClose"),onMessage:o(i=>{e.retired!==!0&&this.handleServerMessage(i.data,s)},"onMessage"),onOpen:o(()=>{e.wsState="open",e.wasEverConnected=!0,e.polling.noteOpen(),clearTimeout(e.stableTimer),e.stableTimer=setTimeout(()=>{e.wsState==="open"&&e.reconnect.reset()},Fi),this.emitConnectionStatus(),this.sendConnectEnvelope(e),this.markShardPendingAck(s),this.clearResubscribeQueue(e);for(let n of this.subscriptions.all())g(n.shardKey)===g(s)&&this.queueResubscribe(n);if(this.resendShapeSubscriptions(s),e.pendingUnsubscribes.length>0){let n=e.pendingUnsubscribes;e.pendingUnsubscribes=[];for(let{id:a,type:c}of n)Q(e,{id:a,type:c})}this.flushPendingStreams(e);let i=this.whisperHandlers.get(g(s));if(i)for(let n of i.keys())Q(e,{topic:n,type:"whisper_subscribe"});this.flushOfflineQueue(s).catch(()=>{})},"onOpen")}))}flushPendingStreams(e){if(!e.pendingStreams||e.pendingStreams.length===0)return;let s=e.pendingStreams;e.pendingStreams=[];for(let r of s){let i=Q(e,r)?this.streams.get(String(r.id)):void 0;i&&(i.started=!0)}}cancelStream(e,s){let r=this.getConnection(s),i=this.streams.get(e);r&&(r.pendingStreams=r.pendingStreams?.filter(n=>n.id!==e),!Q(r,{id:e,type:"unsubscribe"})&&i?.durable===!0&&i.started&&r.pendingUnsubscribes.push({id:e,type:"unsubscribe"})),this.streams.delete(e)}handleDisconnect(e){if(this.closed||e.wsState==="idle"||e.wsState==="closed")return;e.wsState==="connecting"&&e.polling.noteFailedOpen(),this.stopHeartbeat(e),this.clearConnectionTimers(e),e.socket=void 0,e.wsState="idle",this.emitConnectionStatus(),this.markShardPendingAck(e.shardKey),this.clearResubscribeQueue(e);let s=new Set((e.pendingStreams??[]).map(i=>i.id));for(let[i,n]of this.streams)if(!(g(n.shardKey)!==g(e.shardKey)||s.has(i))){if(n.durable){let a={...n.message,...n.generation===void 0?{}:{generation:n.generation},sinceChunk:n.lastSeq};n.message=a,e.pendingStreams=[...(e.pendingStreams??[]).filter(c=>c.id!==i),a];continue}n.handle.fail(new y("STREAM_DISCONNECTED","stream terminated: WebSocket disconnected")),this.streams.delete(i)}if(this.WebSocketImpl===void 0)return;let r=e.reconnect.next();e.reconnectTimer=setTimeout(()=>{e.reconnectTimer=void 0,this.ensureSocket(e.shardKey)},r)}startHeartbeat(e,s){this.stopHeartbeat(e),!(this.heartbeatIntervalMs<=0)&&(e.heartbeatTimer=setInterval(()=>{if(!e.socket)return;let{socket:r}=e;if(Date.now()-e.lastFrameAt>this.heartbeatIntervalMs*2.5){try{r.close()}catch{}s();return}try{r.send(Ti)}catch{}},this.heartbeatIntervalMs))}stopHeartbeat(e){e.heartbeatTimer!==void 0&&(clearInterval(e.heartbeatTimer),e.heartbeatTimer=void 0)}markShardPendingAck(e){let s=g(e);for(let r of this.subscriptions.all())g(r.shardKey)===s&&(r.acked=!1)}queueResubscribe(e){let s=this.getConnection(e.shardKey);s&&(s.resubscribeQueue.push(e),this.drainResubscribeQueue(s))}drainResubscribeQueue(e){for(;e.resubscribePending.size<xi;){let s=e.resubscribeQueue.shift();if(!s)return;this.subscriptions.getById(s.id)&&this.sendSubscribeIfOpen(s)&&e.resubscribePending.set(s.id,setTimeout(()=>{this.releaseResubscribeSlot(e,s.id)},Li))}}releaseResubscribeSlot(e,s){let r=e.resubscribePending.get(s);r!==void 0&&(clearTimeout(r),e.resubscribePending.delete(s),this.drainResubscribeQueue(e))}clearResubscribeQueue(e){for(let s of e.resubscribePending.values())clearTimeout(s);e.resubscribePending.clear(),e.resubscribeQueue=[]}sendSubscribeIfOpen(e){let s=this.getConnection(e.shardKey);if(s?.wsState!=="open"||e.acked)return!1;let r=e.serverCursor!==void 0&&e.serverBase!==void 0;return Q(s,{id:e.id,query:{args:e.wireArgs,functionPath:e.fn.__lunoraRef,table:e.fn.__lunoraRef,...r?{sinceSeq:e.serverCursor}:{},...r&&e.serverEpoch!==void 0?{sinceEpoch:e.serverEpoch}:{}},type:"subscribe"})}sendShapeSubscribeIfOpen(e){let s=this.getConnection(e.shardKey);s?.wsState==="open"&&Q(s,{id:e.id,shape:{name:e.name,...e.wireArgs===void 0?{}:{args:e.wireArgs}},type:"shape_subscribe",...e.serverCursor===void 0?{}:{sinceCheckpoint:e.serverCursor},...e.serverEpoch===void 0?{}:{sinceEpoch:e.serverEpoch}})}handleServerMessage(e,s){let r=ia(e);if(r===void 0)return;let i;try{i=JSON.parse(r)}catch{return}if(i.type!=="error"&&this.getConnection(s)?.reconnect.reset(),typeof i.id=="string"){let n=this.getConnection(s);n&&this.releaseResubscribeSlot(n,i.id)}switch(i.type){case"ack":{let n=this.subscriptions.getById(i.id);n&&(n.acked=!0);return}case"chunk":{let{data:n,generation:a,id:c,seq:u}=i,h=this.streams.get(c);h&&typeof u=="number"&&(h.lastSeq=u,typeof a=="number"&&(h.generation=a),h.durable=!0),h?.handle.push(S(n));return}case"complete":{this.handleCompleteMessage(i.id);return}case"data":case"delta":{this.handleDataMessage(i);return}case"error":{this.handleErrorMessage(i);break}case"identity":{this.handleIdentityFrame(i,s);break}case"pokeEnd":{this.handlePokeEnd(i,s);break}case"pokePart":{this.handlePokePart(i,s);break}case"pokeStart":{this.handlePokeStart(i,s);break}case"resume":{this.handleResumeMessage(i);break}case"settled":{this.handleSettledMessage(i);break}case"whisper":{this.dispatchWhisper(i,s);break}}}handleErrorMessage(e){if(e.error?.code==="TOKEN_EXPIRED"){this.notifyTokenExpired();return}let{id:s}=e,r=s===void 0?void 0:this.streams.get(s);if(r&&s!==void 0){r.handle.fail(sa(e)),this.streams.delete(s);return}let i=s===void 0?void 0:this.subscriptions.getById(s);if(i){let a=rr(e),c=this.identityFingerprint(),u=P.keyOf(i);te(i.errorCallbacks,a),this.tabCoordinator?.isLeader()&&this.tabCoordinator.broadcastSubscriptionError(u,a,c);return}let n=s===void 0?void 0:this.shapeSubscriptions.get(s);n&&te(n.errorCallbacks,rr(e))}pokeBufferKey(e,s){return`${g(e)}\0${s}`}handlePokeStart(e,s){Ys(this.pokeBuffers,t.MAX_POKE_BUFFERS),this.pokeBuffers.set(this.pokeBufferKey(s,e.pokeId),{baseCheckpoint:e.baseCheckpoint,bases:new Map,epoch:e.epoch,lastMutationId:new Map,parts:new Map,resets:new Set,undecodable:new Map})}handlePokePart(e,s){let r=this.pokeBuffers.get(this.pokeBufferKey(s,e.pokeId));if(!r)return;let i=[];try{for(let c of e.rowsPatch)i.push(c.value===void 0?c:{...c,value:S(c.value)})}catch(c){r.undecodable.set(e.shapeId,c);return}let n=r.parts.get(e.shapeId)??[];for(let c of i)n.push(c);r.parts.set(e.shapeId,n),e.lastMutationId!==void 0&&r.lastMutationId.set(e.shapeId,e.lastMutationId);let a=e.baseCheckpoint??r.baseCheckpoint;a!==void 0&&r.bases.set(e.shapeId,a),e.reset===!0&&r.resets.add(e.shapeId)}handlePokeEnd(e,s){let r=this.pokeBufferKey(s,e.pokeId),i=this.pokeBuffers.get(r);if(i){this.pokeBuffers.delete(r);for(let[n,a]of i.undecodable){let c=this.shapeSubscriptions.get(n);c&&te(c.errorCallbacks,{code:"WIRE_DECODE_FAILED",message:`could not decode a poke for this shape \u2014 ${a instanceof Error?a.message:String(a)}`})}for(let n of i.parts.keys()){let a=this.shapeSubscriptions.get(n);a&&!i.undecodable.has(n)&&this.applyPokePart(a,i,e)}}}applyPokePart(e,s,r){let i=s.parts.get(e.id)??[],n=s.resets.has(e.id),a=s.bases.get(e.id),c=s.epoch!==void 0&&e.serverEpoch!==void 0&&s.epoch!==e.serverEpoch,u=a!==void 0&&e.serverCursor!==void 0&&e.serverCursor!==a;if(!n&&(c||u)){e.rows.clear(),e.serverCursor=void 0,e.serverEpoch=void 0,this.emitShapeRows(e),this.sendShapeSubscribeIfOpen(e);return}n&&e.rows.clear(),Ei(e.rows,i),r.checkpoint!==void 0&&(e.serverCursor=r.checkpoint),r.epoch!==void 0&&(e.serverEpoch=r.epoch);let h=s.lastMutationId.get(e.id);h!==void 0&&(e.lastMutationId=h),this.emitShapeRows(e),e.onCheckpoint?.({checkpoint:e.serverCursor,mutationId:e.lastMutationId})}resnapshotSubscription(e){e.acked=!1,e.serverCursor=void 0,e.serverEpoch=void 0,console.warn("[lunora] could not merge a row delta into the cached result; re-subscribing for a full snapshot"),this.sendSubscribeIfOpen(e)}emitShapeRows(e){let s=[...e.rows.values()];for(let r of e.callbacks)try{r(s)}catch{}}handleDataMessage(e,s){let{id:r}=e,i=r?this.subscriptions.getById(r):void 0;if(!i)return;let n;try{n=this.resolveDataPayload(e,i)}catch(a){te(i.errorCallbacks,{code:"WIRE_DECODE_FAILED",message:`could not decode a server frame for this subscription \u2014 ${a instanceof Error?a.message:String(a)}`});return}if(n===Zs){this.resnapshotSubscription(i);return}if(i.serverBase=n,this.dropCacheSeed(P.keyOf(i)),e.cursor!==void 0&&(i.serverCursor=e.cursor),e.epoch!==void 0&&(i.serverEpoch=e.epoch),e.lastMutationId!==void 0){i.lastMutationId=Math.max(i.lastMutationId??0,e.lastMutationId);for(let a of i.checkpointCallbacks)a({checkpoint:i.serverCursor,mutationId:i.lastMutationId,rowsFollow:!0})}if(this.persistQueryValue(i),$e(i,i.serverCursor),s!==void 0&&Ls(i,s),V(i,X(n,i.optimisticLayers)),this.tabCoordinator?.isLeader()){let a=P.keyOf(i);this.tabCoordinator.broadcastSubscriptionData(a,n,i.serverCursor,i.serverEpoch,this.identityFingerprint())}}handleResumeMessage(e){let s=this.subscriptions.getById(e.id);s&&this.ackAndAdvanceCursor(s,e.cursor,e.epoch)}handleSettledMessage(e){let s=this.subscriptions.getById(e.id);if(s){this.ackAndAdvanceCursor(s,e.cursor,e.epoch),e.lastMutationId!==void 0&&(s.lastMutationId=Math.max(s.lastMutationId??0,e.lastMutationId));for(let r of s.checkpointCallbacks)r({checkpoint:s.serverCursor,mutationId:s.lastMutationId});if(this.tabCoordinator?.isLeader()){let r=P.keyOf(s);this.tabCoordinator.broadcastSubscriptionSettled(r,s.serverCursor,s.serverEpoch,s.lastMutationId,this.clientId,this.identityFingerprint())}}}ackAndAdvanceCursor(e,s,r){e.acked=!0,(s!==void 0&&s!==e.serverCursor||r!==void 0&&r!==e.serverEpoch)&&(s!==void 0&&(e.serverCursor=s),r!==void 0&&(e.serverEpoch=r),this.persistQueryValue(e),$e(e,e.serverCursor)&&V(e,X(e.serverBase,e.optimisticLayers)))}resolveDataPayload(e,s){if("data"in e&&e.data!==void 0)return S(e.data);let r=S(e.delta);return Os(r)?s.serverBase===void 0?r:Rs(s.serverBase,r)??Zs:r}dispatchWhisper(e,s){let r=this.whisperHandlers.get(g(s))?.get(e.topic);if(!r)return;let i=S(e.data);for(let n of r)try{n(i,e.from)}catch{}}notifyTokenExpired(){this.tokenExpiredListeners.emit()}handleCompleteMessage(e){let s=this.streams.get(e);if(s){s.handle.complete(),this.streams.delete(e);return}let r=this.subscriptions.getById(e);r&&(r.acked=!1,te(r.errorCallbacks,{code:"SUBSCRIPTION_CANCELLED",message:"subscription was cancelled by the server"}))}unpersist(e){e&&this.persistence?.remove(e).catch(s=>{Z(this.onPersistenceError,"remove",s,e)})}identityFingerprint(){if(this.authSubject!==void 0)return this.authSubject===null?null:`subj:${this.authSubject}`;let e=this.authToken;return e===null?null:this.hashToken(e)}hashToken(e){let s=2166136261,r=5381;for(let i=0;i<e.length;i+=1){let n=e.charCodeAt(i);s^=n,s=Math.imul(s,16777619),r=Math.imul(r,33)+n}return`${e.length.toString(36)}:${(s>>>0).toString(36)}:${(r>>>0).toString(36)}`}credentialStamp(){let e=this.authToken;return e===null?{}:{credential:this.hashToken(e)}}cachedQueryMatchesIdentity(e){return this.identityFingerprint()===null&&this.identityUnresolved()?!1:!this.subjectAwaitingReconfirm()&&e.identity===this.identityFingerprint()||this.isSameCredentialUnderTokenHash(e.identity)?!0:e.credential!==void 0&&e.credential===this.credentialStamp().credential}isSameCredentialUnderTokenHash(e){if(e===null||e.startsWith("subj:"))return!1;let s=this.authToken;return s===null?!1:this.hashToken(s)===e}releaseSessionProbe(){this.sessionProbesInFlight-=1,!(this.identityUnresolved()||this.identityFingerprint()!==null)&&!this.closed&&this.offlineQueue.size>0&&tr(this.computeStatus())&&this.flushAllOfflineQueues()}identityUnresolved(){return this.sessionProbesInFlight>0?!0:this.identityResolutionExpected&&!this.identitySettled}adoptResolvedSubject(e,s,r){if(!(this.closed||this.authToken!==e||r!==this.sessionProbeGeneration)){if(e===null){this.adoptCookieSubject(s?.id??null,r);return}s!==null&&this.setAuthToken(e,s.id)}}adoptCookieSubject(e,s){return this.closed||this.authToken!==null||s<this.identityAnsweredAt?!1:(this.identityAnsweredAt=s,this.identitySettled=!0,this.setAuthToken(null,e),!0)}handleIdentityFrame(e,s){let r=this.getConnection(s)?.identityQuestion,{subject:i}=e;r===void 0||i!==null&&typeof i!="string"||this.adoptCookieSubject(i,r)||!this.closed&&this.authToken===null&&(i===null?null:`subj:${i}`)!==this.identityFingerprint()&&this.evictPreviousIdentitySession()}applySubject(e,s){if(s!==void 0){this.authSubject=s,this.subjectToken=e;return}(e===null&&this.authSubject!==null||e!==null&&this.authSubject===null)&&(this.authSubject=void 0,this.subjectToken=null)}isKnownNobody(){return this.authSubject===null&&this.authToken===null}subjectAwaitingReconfirm(){return this.authSubject!==void 0&&this.authSubject!==null&&this.subjectToken!==this.authToken}stampOf(e){let s=e.id===void 0?void 0:this.queuedIdentities.get(e.id);return s===void 0?e.identity:s}rejectQueuedForIdentityChange(e){let s=this.offlineQueue.drain(),r=[];for(let i of s){if(this.replayIdentityVerdict(this.stampOf(i))!=="mismatch"){r.push(i);continue}this.queuedIdentities.delete(i.id??""),this.unpersist(i.id);let n=new Error("offline mutation discarded: auth identity changed before replay");n.code="OFFLINE_IDENTITY_CHANGED",i.reject(n),this.emitItemSettled(i,"rejected",n)}this.offlineQueue.requeue(r),e!==null&&this.clearQueryCacheForIdentityChange()}restampConnectionIdentity(e,s){for(let r of this.connections.values())r.identity===e&&(r.identity=s)}restampQueuedIdentity(e,s){for(let[r,i]of this.queuedIdentities)i===e&&this.queuedIdentities.set(r,s);this.offlineQueue.restampIdentity(e,s)}restampWatermarks(e,s){let r=e??"",i=this.clientWatermarks.get(r);if(i===void 0)return;this.clientWatermarks.delete(r);let n=s??"",a=this.clientWatermarks.get(n);if(a===void 0)this.clientWatermarks.set(n,i);else for(let[c,u]of i)a.set(c,u)}clearQueryCacheForIdentityChange(){this.revokeCacheSeededValues(),this.cacheFlushTimer!==void 0&&(clearTimeout(this.cacheFlushTimer),this.cacheFlushTimer=void 0),this.pendingCacheWrites.clear(),this.hydratedQueryCache.clear(),this.queryCache?.clear().catch(()=>{})}evictPreviousIdentitySession(){this.revokeCacheSeededValues();for(let e of this.subscriptions.all())e.serverBase=void 0,e.serverCursor=void 0,e.serverEpoch=void 0,e.acked=!1,V(e,X(void 0,e.optimisticLayers));for(let e of this.shapeSubscriptions.values())e.rows.clear(),e.serverCursor=void 0,e.serverEpoch=void 0,this.emitShapeRows(e);this.bounceShardSockets(),this.identityChangeListeners.emit()}restartTabCoordinatorForIdentity(){if(!this.tabCoordinator)return;let e=this.tabCoordinator.isLeader();this.tabCoordinator.stop(),this.tabCoordinator=this.createTabCoordinator(),this.tabCoordinator.start(),e&&this.tabCoordinator.promoteImmediately()}bounceShardSockets(){for(let e of this.connections.values())if(e.socket){e.retired=!0;try{e.socket.close()}catch{}}}flushAllOfflineQueues(){for(let e of this.queuedOfflineShardKeys)this.flushOfflineQueue(e).catch(()=>{})}async flushOfflineQueue(e){let s=g(e),r=this.offlineFlushes.get(s);if(r===void 0&&this.offlineQueue.size===0)return;let i=(async()=>{await(r??Promise.resolve());try{await this.drainOfflineQueue(e)}catch{}})();this.offlineFlushes.set(s,i),await i,this.offlineFlushes.get(s)===i&&this.offlineFlushes.delete(s)}async drainOfflineQueue(e){let s=this.offlineQueue.drainConflict();for(let h of s){this.unpersist(h.id),this.queuedIdentities.delete(h.id??"");let d=new Error("offline mutation skipped: precondition failed before replay");d.code="OFFLINE_PRECONDITION_FAILED",this.emitItemSettled(h,"rejected",d)}let r=g(e),i=this.offlineQueue.drain(h=>g(h.shardKey)===r);if(i.length===0)return;let n=[],a=[];for(let h of i){let d=this.replayGateVerdict(h);d==="send"?n.push(h):d==="hold"&&a.push(h)}if(this.offlineQueue.requeue(a),a.length>0&&this.subjectAwaitingReconfirm()&&(this.getCurrentUser().catch(()=>{}),this.noteHeldRetryDelay(e)),n.length===0){this.scheduleRateLimitedRetry(e);return}let c=this.encodableOrSettleTerminal(n);if(c.length===0){this.scheduleRateLimitedRetry(e);return}if(c.length===1){await this.replaySequential(c,e),this.scheduleRateLimitedRetry(e);return}let u=[];for(let h=0;h<c.length;h+=Et){let d=c.slice(h,h+Et),l=await this.replayBatched(d,e);if(u.push(...l.requeue),l.stop){u.push(...c.slice(h+Et));break}}u.length>0&&this.offlineQueue.requeue(u),this.scheduleRateLimitedRetry(e)}noteHeldRetryDelay(e){let s=g(e),r=this.replayRetryState.get(s),i=(r?.attempts??0)+1;this.replayRetryState.set(s,{attempts:i,delayMs:Math.max(r?.delayMs??0,Ct(i))})}noteReplayRetryDelay(e,s){let r=g(e),i=this.replayRetryState.get(r),n=(i?.attempts??0)+1,a=Hs(s,n);this.replayRetryState.set(r,{attempts:n,delayMs:a===void 0?i?.delayMs:Math.max(i?.delayMs??0,a)})}scheduleRateLimitedRetry(e){let s=g(e),r=this.replayRetryState.get(s),i=r?.delayMs;if(r===void 0||i===void 0||this.closed||this.offlineQueue.size===0){this.replayRetryState.delete(s);return}r.delayMs=void 0;let n=this.replayRetryTimers.get(s);n!==void 0&&clearTimeout(n),this.replayRetryTimers.set(s,setTimeout(()=>{this.replayRetryTimers.delete(s),this.flushOfflineQueue(e).catch(()=>{})},i))}encodableOrSettleTerminal(e){let s=[];for(let r of e)try{se(r.args,`args for '${r.functionPath}'`),s.push(r)}catch(i){this.settleReplayTerminal(r,i instanceof Error?i:new Error(String(i)))}return s}replayGateVerdict(e){let s=this.stampOf(e);if(s===void 0)return this.queuedIdentities.delete(e.id??""),"send";let r=this.replayIdentityVerdict(s);if(r==="unknown")return"hold";if(this.queuedIdentities.delete(e.id??""),r==="match")return"send";this.unpersist(e.id);let i=new Error("offline mutation skipped: auth identity changed before replay");return i.code="OFFLINE_IDENTITY_CHANGED",e.reject(i),this.emitItemSettled(e,"rejected",i),"reject"}settleReplaySuccess(e,s,r){this.unpersist(e.id),this.recordShardCursor(e.shardKey,r),e.onCommit?.(r),e.resolve(s),this.emitItemSettled(e,"committed")}cursorKeyFor(e){return e??this.defaultShardKey??""}learnDefaultShardKey(e,s){let r=e.headers.get("x-lunora-shard-key");if(r===null||s!==void 0||this.defaultShardKey===r)return;this.defaultShardKey=r;let i=this.shardCursors.get("");i!==void 0&&(this.shardCursors.set(r,Math.max(this.shardCursors.get(r)??0,i)),this.shardCursors.delete(""))}recordShardCursor(e,s){if(typeof s!="number")return;let r=this.cursorKeyFor(e);this.shardCursors.set(r,Math.max(this.shardCursors.get(r)??0,s))}shouldRequeueReplayFailure(e){if(this.noteIdentityMismatch(e))return!0;if(qs(e)){let s=this.hashToken(this.authToken??"");return this.authRefusalNotifiedFor!==s&&(this.authRefusalNotifiedFor=s,this.notifyTokenExpired()),!0}return js(e)}replayExpectation(e){return this.authToken!==null?{}:e===null?{expectSubject:null}:e?.startsWith("subj:")===!0?{expectSubject:e.slice(5)}:{}}noteIdentityMismatch(e){if(e?.code!=="IDENTITY_MISMATCH")return!1;let s=this.identityFingerprint();return this.getCurrentUser().then(()=>{!this.warnedIdentityDisagreement&&this.identityFingerprint()===s&&(this.warnedIdentityDisagreement=!0,console.warn('[lunora] a replayed write was refused with IDENTITY_MISMATCH, but `/get-session` still names the same user. The worker\'s `resolveIdentity` must return the same `userId` as the better-auth `user.id`, and RPC requests must carry the session cookie (`credentials: "include"` on a cross-origin fetch).'))}).catch(()=>{}),!0}settleReplayUndecodable(e,s,r){this.unpersist(e.id),this.recordShardCursor(e.shardKey,r),e.onCommit?.(r),e.reject(s),this.emitItemSettled(e,"committed",s)}settleReplayTerminal(e,s){this.unpersist(e.id),e.reject(s),this.emitItemSettled(e,"rejected",s)}async replaySequential(e,s){for(let r=0;r<e.length;r+=1){let i=e[r];if(!i)continue;let n;try{let a=await this.rpc(i.functionPath,i.args,i.shardKey,{baselineSeq:i.baselineSeq,captureBookmark:!0,clientId:i.clientId??this.clientId,...this.replayExpectation(i.identity),mutationId:i.id,onCommitCursor:o(c=>{n=c},"onCommitCursor")});this.settleReplaySuccess(i,a,n)}catch(a){if(we(a)){this.settleReplayUndecodable(i,a,n);continue}if(!this.shouldRequeueReplayFailure(a)){this.settleReplayTerminal(i,a);continue}this.noteReplayRetryDelay(s,a),this.offlineQueue.requeue(e.slice(r));return}}}async replayBatched(e,s){if(!this.fetchImpl)return{requeue:e,stop:!0};let r=JSON.stringify({calls:e.map((u,h)=>({args:se(u.args,`args for '${u.functionPath}'`),baselineSeq:u.baselineSeq,functionPath:u.functionPath,id:h,clientId:u.clientId??this.clientId,mutationId:u.id,shardKey:u.shardKey}))});if(e.length>1&&Vs(r)>zs)return await this.replayBatchedHalves(e,s);let i;try{i=await this.fetchImpl(ee(this.url,Tt),{body:r,headers:this.rpcRequestHeaders({attachBookmark:!0,...this.replayExpectation(e.find(u=>u.identity!==void 0)?.identity)}),method:"POST"})}catch{return{requeue:e,stop:!0}}let n=i.headers.get("x-d1-bookmark");if(n&&this.bookmark.set(n),i.status===413&&e.length>1)return await this.replayBatchedHalves(e,s);let a,c=i.headers.get("retry-after");try{a=await i.json()}catch{return this.settleWholeBatchError(e,de(i.status,i.statusText,c),s)}if(!a.results){let u=le(a),h=u===void 0?de(i.status,i.statusText,c):ir(u,c);return this.settleWholeBatchError(e,h,s)}return{requeue:this.settleReplayBatchSlots(e,a.results,s),stop:!1}}settleWholeBatchError(e,s,r){if(s instanceof B||s.code!==void 0&&this.shouldRequeueReplayFailure(s))return this.noteReplayRetryDelay(r,s),{requeue:e,stop:!0};for(let i of e)this.settleReplayTerminal(i,s);return{requeue:[],stop:!1}}async replayBatchedHalves(e,s){let r=Math.ceil(e.length/2),i=await this.replayBatched(e.slice(0,r),s);if(i.stop)return{requeue:[...i.requeue,...e.slice(r)],stop:!0};let n=await this.replayBatched(e.slice(r),s);return{requeue:[...i.requeue,...n.requeue],stop:n.stop}}settleReplayBatchSlots(e,s,r){let i=new Map;for(let a of s)typeof a.id=="number"&&a.body!==void 0&&i.set(a.id,a.body);let n=[];for(let[a,c]of e.entries()){let u=i.get(a);if(u===void 0)n.push(c);else if("error"in u){let h=ur(u);this.shouldRequeueReplayFailure(h)?(this.noteReplayRetryDelay(r,h),n.push(c)):this.settleReplayTerminal(c,h)}else this.settleReplayBatchResult(c,u)}return n}settleReplayBatchResult(e,s){let r;try{r=S(s.result)}catch(i){this.settleReplayUndecodable(e,kt(i),s.commitCursor);return}this.settleReplaySuccess(e,r,s.commitCursor)}};var hr=L(Qt(),1),dr=L(ie(),1);var ca=o(()=>{let t=(0,hr.c)(4),e=ht(),s,r,i;return t[0]!==e?(s=o(n=>e.onConnectionStatus(()=>{n()}),"o"),r=o(()=>e.connectionStatus(),"e"),i=o(()=>e.connectionStatus(),"s"),t[0]=e,t[1]=s,t[2]=r,t[3]=i):(s=t[1],r=t[2],i=t[3]),(0,dr.useSyncExternalStore)(s,r,i)},"S");export{Ft as a,yr as b,rt as c,Or as d,xr as e,ht as f,ca as g};
@@ -0,0 +1 @@
1
+ import{a as G}from"./chunk-4L4WTGN5.js";import{a as u,d as N,e as Y}from"./chunk-YKXDMIHQ.js";function K(l,a,t){let e=new Array(l);return new Proxy(e,{get(s,n,o){if(typeof n=="string"){let i=n.charCodeAt(0);if(i>=48&&i<=57){let r=+n;if(Number.isInteger(r)&&r>=0&&r<l){let d=s[r];if(!d){let h=a[r*2];d=s[r]={index:r,key:t(r),start:h,size:a[r*2+1],end:h+a[r*2+1],lane:0}}return d}}if(n==="length")return l}return Reflect.get(s,n,o)}})}u(K,"createLazyMeasurementsView");function _(l,a,t){let e=t.initialDeps??[],s,n=!0;function o(){var i;let d=0,h=l();if(!(h.length!==e.length||h.some((p,S)=>e[S]!==p)))return s;e=h;let c=0;return s=a(...h),t?.onChange&&!(n&&t.skipInitialOnChange)&&t.onChange(s),n=!1,s}return u(o,"memoizedFunction"),o.updateDeps=i=>{e=i},o}u(_,"memo");function W(l,a){if(l===void 0)throw new Error(`Unexpected undefined${a?`: ${a}`:""}`);return l}u(W,"notUndefined");var P=u((l,a)=>Math.abs(l-a)<1.01,"approxEqual"),B=u((l,a,t)=>{let e;return Object.assign(function(...s){l.clearTimeout(e),e=l.setTimeout(()=>a.apply(this,s),t)},{cancel:u(()=>{l.clearTimeout(e)},"cancel")})},"debounce");var A,j=u(()=>{if(A!==void 0)return A;if(typeof navigator>"u")return A=!1;if(/iP(hone|od|ad)/.test(navigator.userAgent))return A=!0;let l=navigator.maxTouchPoints;return A=navigator.platform==="MacIntel"&&l!==void 0&&l>0},"isIOSWebKit");var $=u(l=>{let{offsetWidth:a,offsetHeight:t}=l;return{width:a,height:t}},"getRect"),Q=u(l=>l,"defaultKeyExtractor"),Z=u(l=>{let a=Math.max(l.startIndex-l.overscan,0),e=Math.min(l.endIndex+l.overscan,l.count-1)-a+1,s=new Array(e);for(let n=0;n<e;n++)s[n]=a+n;return s},"defaultRangeExtractor"),H=u((l,a)=>{let t=l.scrollElement;if(!t)return;let e=l.targetWindow;if(!e)return;let s=u(o=>{let{width:i,height:r}=o;a({width:Math.round(i),height:Math.round(r)})},"handler");if(s($(t)),!e.ResizeObserver)return()=>{};let n=new e.ResizeObserver(o=>{let i=u(()=>{let r=o[0];if(r?.borderBoxSize){let d=r.borderBoxSize[0];if(d){s({width:d.inlineSize,height:d.blockSize});return}}s($(t))},"run");l.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(i):i()});return n.observe(t,{box:"border-box"}),()=>{n.unobserve(t)}},"observeElementRect"),R={passive:!0};var tt=typeof window>"u"?!0:"onscrollend"in window,et=u((l,a,t)=>{let e=l.scrollElement;if(!e)return;let s=l.targetWindow;if(!s)return;let n=l.options.useScrollendEvent&&tt,o=0,i=n?null:B(s,()=>a(o,!1),l.options.isScrollingResetDelay),r=u(f=>()=>{o=t(e),i?.(),a(o,f)},"createHandler"),d=r(!0),h=r(!1);return e.addEventListener("scroll",d,R),n&&e.addEventListener("scrollend",h,R),()=>{e.removeEventListener("scroll",d),n&&e.removeEventListener("scrollend",h),i?.cancel()}},"observeOffset"),J=u((l,a)=>et(l,a,t=>{let{horizontal:e,isRtl:s}=l.options;return e?t.scrollLeft*(s&&-1||1):t.scrollTop}),"observeElementOffset");var st=u((l,a,t)=>{if(t.options.useCachedMeasurements){let e=t.indexFromElement(l),s=t.options.getItemKey(e);return t.itemSizeCache.get(s)??t.options.estimateSize(e)}if(a?.borderBoxSize){let e=a.borderBoxSize[0];if(e)return Math.round(e[t.options.horizontal?"inlineSize":"blockSize"])}if(!a){let e=t.indexFromElement(l),s=t.options.getItemKey(e),n=t.itemSizeCache.get(s);if(n!==void 0)return n}return l[t.options.horizontal?"offsetWidth":"offsetHeight"]},"measureElement"),nt=u((l,{adjustments:a=0,behavior:t},e)=>{var s,n;(n=(s=e.scrollElement)==null?void 0:s.scrollTo)==null||n.call(s,{[e.options.horizontal?"left":"top"]:l+a,behavior:t})},"scrollWithAdjustments");var q=nt,F=class{static{u(this,"Virtualizer")}constructor(a){this.unsubs=[],this.scrollElement=null,this.targetWindow=null,this.isScrolling=!1,this.scrollState=null,this.measurementsCache=[],this._flatMeasurements=null,this.itemSizeCache=new Map,this.itemSizeCacheVersion=0,this.laneAssignments=new Map,this.pendingMin=null,this.prevLanes=void 0,this.lanesChangedFlag=!1,this.lanesSettling=!1,this.pendingScrollAnchor=null,this.scrollRect=null,this.scrollOffset=null,this.scrollDirection=null,this.scrollAdjustments=0,this._iosDeferredAdjustment=0,this._iosTouching=!1,this._iosJustTouchEnded=!1,this._iosTouchEndTimerId=null,this._intendedScrollOffset=null,this.elementsCache=new Map,this.now=()=>{var t,e,s;return((s=(e=(t=this.targetWindow)==null?void 0:t.performance)==null?void 0:e.now)==null?void 0:s.call(e))??Date.now()},this.observer=(()=>{let t=null,e=u(()=>t||(!this.targetWindow||!this.targetWindow.ResizeObserver?null:t=new this.targetWindow.ResizeObserver(s=>{s.forEach(n=>{let o=u(()=>{let i=n.target,r=this.indexFromElement(i);if(!i.isConnected){this.observer.unobserve(i);for(let[d,h]of this.elementsCache)if(h===i){this.elementsCache.delete(d);break}return}this.isIndexInRange(r)&&this.shouldMeasureDuringScroll(r)&&this.resizeItem(r,this.options.measureElement(i,n,this))},"run");this.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(o):o()})})),"get");return{disconnect:u(()=>{var s;(s=e())==null||s.disconnect(),t=null},"disconnect"),observe:u(s=>{var n;return(n=e())==null?void 0:n.observe(s,{box:"border-box"})},"observe"),unobserve:u(s=>{var n;return(n=e())==null?void 0:n.unobserve(s)},"unobserve")}})(),this.range=null,this.setOptions=t=>{var e,s;let n={debug:!1,initialOffset:0,overscan:1,paddingStart:0,paddingEnd:0,scrollPaddingStart:0,scrollPaddingEnd:0,horizontal:!1,getItemKey:Q,rangeExtractor:Z,onChange:u(()=>{},"onChange"),measureElement:st,initialRect:{width:0,height:0},scrollMargin:0,gap:0,indexAttribute:"data-index",initialMeasurementsCache:[],lanes:1,anchorTo:"start",followOnAppend:!1,scrollEndThreshold:1,isScrollingResetDelay:150,enabled:!0,isRtl:!1,useScrollendEvent:!1,useAnimationFrameWithResizeObserver:!1,laneAssignmentMode:"estimate",useCachedMeasurements:!1};for(let c in t){let p=t[c];p!==void 0&&(n[c]=p)}let o=this.options,i=null,r=null,d=!1;if(o!==void 0&&o.enabled&&n.enabled&&n.anchorTo==="end"&&this.scrollElement!==null){let c=o.count,p=n.count,S=this.getMeasurements(),v=c>0?((e=S[0])==null?void 0:e.key)??o.getItemKey(0):null,b=c>0?((s=S[c-1])==null?void 0:s.key)??o.getItemKey(c-1):null;if(p!==c||c>0&&p>0&&(n.getItemKey(0)!==v||n.getItemKey(p-1)!==b)){d=!0;let E=c>0?this.getVirtualItemForOffset(this.getScrollOffset())??S[0]:null;E&&(i=[E.key,this.getScrollOffset()-E.start]);let x=n.followOnAppend===!0?"auto":n.followOnAppend||null;x&&p>c&&this.isAtEnd(o.scrollEndThreshold)&&(c===0||n.getItemKey(p-1)!==b)&&(r=x)}}this.options=n,d&&(this.pendingMin=0,this.itemSizeCacheVersion++);let h=!1,f=0;if(i&&this.scrollOffset!==null){let[c,p]=i,S=this.getMeasurements(),{count:v,getItemKey:b}=this.options,m=0;for(;m<v&&b(m)!==c;)m++;if(m<v){let g=S[m];if(g){let E=Math.max(0,g.start+p);E!==this.scrollOffset&&(f=E-this.scrollOffset,this.scrollOffset=E,h=!0)}}}(h||r)&&(this.pendingScrollAnchor=[h?i[0]:null,h?i[1]:0,r,f])},this.notify=t=>{var e,s;(s=(e=this.options).onChange)==null||s.call(e,this,t)},this.maybeNotify=_(()=>(this.calculateRange(),[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]),t=>{this.notify(t)},{key:!1,debug:u(()=>this.options.debug,"debug"),initialDeps:[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]}),this.cleanup=()=>{this.unsubs.filter(Boolean).forEach(t=>t()),this.unsubs=[],this.observer.disconnect(),this.rafId!=null&&this.targetWindow&&(this.targetWindow.cancelAnimationFrame(this.rafId),this.rafId=null),this.scrollState=null,this.isScrolling=!1,this.scrollDirection=null,this._iosDeferredAdjustment=0,this._iosTouching=!1,this._iosJustTouchEnded=!1,this.scrollElement=null,this.targetWindow=null},this._didMount=()=>()=>{this.cleanup()},this._willUpdate=()=>{var t;let e=this.options.enabled?this.options.getScrollElement():null;if(this.scrollElement!==e){if(this.cleanup(),!e){this.maybeNotify();return}if(this.scrollElement=e,this.scrollElement&&"ownerDocument"in this.scrollElement?this.targetWindow=this.scrollElement.ownerDocument.defaultView:this.targetWindow=((t=this.scrollElement)==null?void 0:t.window)??null,this.elementsCache.forEach(n=>{this.observer.observe(n)}),this.unsubs.push(this.options.observeElementRect(this,n=>{this.scrollRect=n,this.maybeNotify()})),this.unsubs.push(this.options.observeElementOffset(this,(n,o)=>{if(o&&this._intendedScrollOffset===null&&n===this.scrollOffset)return;this._intendedScrollOffset!==null&&Math.abs(n-this._intendedScrollOffset)<1.5&&(n=this._intendedScrollOffset),this._intendedScrollOffset=null,this.scrollAdjustments=0;let i=this.getScrollOffset();this.scrollDirection=o?i===n?this.scrollDirection:i<n?"forward":"backward":null,this.scrollOffset=n,this.isScrolling=o,this._flushIosDeferredIfReady(),this.scrollState&&this.scheduleScrollReconcile(),this.maybeNotify()})),"addEventListener"in this.scrollElement){let n=this.scrollElement,o=u(()=>{this._iosTouching=!0,this._iosJustTouchEnded=!1,this._iosTouchEndTimerId!==null&&this.targetWindow!=null&&(this.targetWindow.clearTimeout(this._iosTouchEndTimerId),this._iosTouchEndTimerId=null)},"onTouchStart"),i=u(()=>{this._iosTouching=!1,!(!j()||this.targetWindow==null)&&(this._iosJustTouchEnded=!0,this._iosTouchEndTimerId=this.targetWindow.setTimeout(()=>{this._iosJustTouchEnded=!1,this._iosTouchEndTimerId=null,this._flushIosDeferredIfReady()},150))},"onTouchEnd");n.addEventListener("touchstart",o,R),n.addEventListener("touchend",i,R),this.unsubs.push(()=>{n.removeEventListener("touchstart",o),n.removeEventListener("touchend",i),this._iosTouchEndTimerId!==null&&this.targetWindow!=null&&(this.targetWindow.clearTimeout(this._iosTouchEndTimerId),this._iosTouchEndTimerId=null)})}this._scrollToOffset(this.getScrollOffset(),{adjustments:void 0,behavior:void 0})}let s=this.pendingScrollAnchor;if(this.pendingScrollAnchor=null,s&&this.scrollElement&&this.options.enabled){let[n,o,i,r]=s;n!==null&&!i&&(j()&&(this.isScrolling||this._iosTouching||this._iosJustTouchEnded)?r!==0&&(this._iosDeferredAdjustment+=r):this._scrollToOffset(this.getScrollOffset(),{adjustments:void 0,behavior:void 0})),i&&this.scrollToEnd({behavior:i})}},this._flushIosDeferredIfReady=()=>{if(this._iosDeferredAdjustment===0||this.isScrolling||this._iosTouching||this._iosJustTouchEnded)return;let t=this.getScrollOffset(),e=this.getMaxScrollOffset();if(t<0||t>e)return;if(this._iosDeferredAdjustment<0&&t>=e-1){this._iosDeferredAdjustment=0;return}let s=this._iosDeferredAdjustment;this._iosDeferredAdjustment=0,this._scrollToOffset(t,{adjustments:this.scrollAdjustments+=s,behavior:void 0})},this.rafId=null,this.getSize=()=>this.options.enabled?(this.scrollRect=this.scrollRect??this.options.initialRect,this.scrollRect[this.options.horizontal?"width":"height"]):(this.scrollRect=null,0),this.getScrollOffset=()=>this.options.enabled?(this.scrollOffset=this.scrollOffset??(typeof this.options.initialOffset=="function"?this.options.initialOffset():this.options.initialOffset),this.scrollOffset):(this.scrollOffset=null,0),this.getMeasurementOptions=_(()=>[this.options.count,this.options.paddingStart,this.options.scrollMargin,this.options.getItemKey,this.options.enabled,this.options.lanes,this.options.laneAssignmentMode,this.options.gap],(t,e,s,n,o,i,r,d)=>(this.prevLanes!==void 0&&this.prevLanes!==i&&(this.lanesChangedFlag=!0),this.prevLanes=i,this.pendingMin=null,{count:t,paddingStart:e,scrollMargin:s,getItemKey:n,enabled:o,lanes:i,laneAssignmentMode:r,gap:d}),{key:!1}),this.isIndexInRange=t=>t>=0&&t<this.options.count,this.getMeasurements=_(()=>[this.getMeasurementOptions(),this.itemSizeCacheVersion],({count:t,paddingStart:e,scrollMargin:s,getItemKey:n,enabled:o,lanes:i,laneAssignmentMode:r,gap:d},h)=>{let f=this.itemSizeCache;if(!o)return this.measurementsCache=[],this.itemSizeCache.clear(),this.laneAssignments.clear(),[];if(this.laneAssignments.size>t)for(let m of this.laneAssignments.keys())m>=t&&this.laneAssignments.delete(m);this.lanesChangedFlag&&(this.lanesChangedFlag=!1,this.lanesSettling=!0,this.measurementsCache=[],this.itemSizeCache.clear(),this.laneAssignments.clear(),this.pendingMin=null),this.measurementsCache.length===0&&!this.lanesSettling&&(this.measurementsCache=this.options.initialMeasurementsCache,this.measurementsCache.forEach(m=>{this.itemSizeCache.set(m.key,m.size)}));let c=this.lanesSettling?0:this.pendingMin??0;if(this.pendingMin=null,this.lanesSettling&&this.measurementsCache.length===t&&(this.lanesSettling=!1),i===1){let m=t*2,g=this._flatMeasurements;if(!g||g.length<m){let O=new Float64Array(m);g&&c>0&&O.set(g.subarray(0,c*2)),g=O,this._flatMeasurements=g}let E;if(c===0)E=e+s;else{let O=c-1;E=g[O*2]+g[O*2+1]+d}for(let O=c;O<t;O++){let C=n(O),y=f.get(C),T=typeof y=="number"?y:this.options.estimateSize(O);g[O*2]=E,g[O*2+1]=T,E+=T+d}let x=K(t,g,n);return this.measurementsCache=x,x}let p=this.measurementsCache.slice(0,c),S=new Array(i).fill(void 0),v=new Float64Array(i),b=0;for(let m=0;m<c;m++){let g=p[m];g&&(S[g.lane]===void 0&&b++,S[g.lane]=m,v[g.lane]=g.end)}for(let m=c;m<t;m++){let g=n(m),E=this.laneAssignments.get(m),x,O,C=r==="estimate"||f.has(g);if(E!==void 0&&this.options.lanes>1){x=E;let M=S[x],w=M!==void 0?p[M]:void 0;O=w?w.end+d:e+s}else if(b===i){let M=0,w=v[0],V=S[0];for(let z=1;z<i;z++){let D=v[z];(D<w||D===w&&S[z]<V)&&(M=z,w=D,V=S[z])}x=M,O=w+d,C&&this.laneAssignments.set(m,x)}else x=m%this.options.lanes,O=e+s,C&&this.laneAssignments.set(m,x);let y=f.get(g),T=typeof y=="number"?y:this.options.estimateSize(m),L=O+T;p[m]={index:m,start:O,size:T,end:L,key:g,lane:x},S[x]===void 0&&b++,S[x]=m,v[x]=L}return this.measurementsCache=p,p},{key:!1,debug:u(()=>this.options.debug,"debug")}),this.calculateRange=_(()=>[this.getMeasurements(),this.getSize(),this.getScrollOffset(),this.options.lanes],(t,e,s,n)=>t.length===0||e===0?(this.range=null,null):(this.range=ot(t,e,s,n,n===1&&this._flatMeasurements!=null?this._flatMeasurements:null),this.range),{key:!1,debug:u(()=>this.options.debug,"debug")}),this.getVirtualIndexes=_(()=>{let t=null,e=null,s=this.calculateRange();return s&&(t=s.startIndex,e=s.endIndex),this.maybeNotify.updateDeps([this.isScrolling,t,e]),[this.options.rangeExtractor,this.options.overscan,this.options.count,t,e]},(t,e,s,n,o)=>n===null||o===null?[]:t({startIndex:n,endIndex:o,overscan:e,count:s}),{key:!1,debug:u(()=>this.options.debug,"debug")}),this.indexFromElement=t=>{let e=this.options.indexAttribute,s=t.getAttribute(e);return s?parseInt(s,10):(console.warn(`Missing attribute name '${e}={index}' on measured element.`),-1)},this.shouldMeasureDuringScroll=t=>{var e;if(!this.scrollState||this.scrollState.behavior!=="smooth")return!0;let s=this.scrollState.index??((e=this.getVirtualItemForOffset(this.scrollState.lastTargetOffset))==null?void 0:e.index);if(s!==void 0&&this.range){let n=Math.max(this.options.overscan,Math.ceil((this.range.endIndex-this.range.startIndex)/2)),o=Math.max(0,s-n),i=Math.min(this.options.count-1,s+n);return t>=o&&t<=i}return!0},this.measureElement=t=>{if(!t){this.elementsCache.forEach((o,i)=>{o.isConnected||(this.observer.unobserve(o),this.elementsCache.delete(i))});return}let e=this.indexFromElement(t);if(!this.isIndexInRange(e))return;let s=this.options.getItemKey(e),n=this.elementsCache.get(s);n!==t&&(n&&this.observer.unobserve(n),this.observer.observe(t),this.elementsCache.set(s,t)),(!this.isScrolling||this.scrollState)&&this.shouldMeasureDuringScroll(e)&&this.resizeItem(e,this.options.measureElement(t,void 0,this))},this.resizeItem=(t,e)=>{var s,n;if(!this.isIndexInRange(t))return;let o,i,r,d=this._flatMeasurements;if(this.options.lanes===1&&d!==null)r=this.options.getItemKey(t),i=d[t*2],o=d[t*2+1];else{let c=this.measurementsCache[t];if(!c)return;r=c.key,i=c.start,o=c.size}let h=this.itemSizeCache.get(r)??o,f=e-h;if(f!==0){let c=this.options.anchorTo==="end"&&((s=this.scrollState)==null?void 0:s.behavior)!=="smooth"&&this.getVirtualDistanceFromEnd()<=this.options.scrollEndThreshold,p=c?this.getTotalSize():0,S=this.getScrollOffset()+this.scrollAdjustments,b=!this.itemSizeCache.has(r)?i<S:i+h<=S&&this.scrollDirection!=="backward",m=((n=this.scrollState)==null?void 0:n.behavior)!=="smooth"&&(this.shouldAdjustScrollPositionOnItemSizeChange!==void 0?this.shouldAdjustScrollPositionOnItemSizeChange(this.measurementsCache[t]??{index:t,key:r,start:i,size:o,end:i+o,lane:0},f,this):b);(this.pendingMin===null||t<this.pendingMin)&&(this.pendingMin=t),this.itemSizeCache.set(r,e),this.itemSizeCacheVersion++;let g=!1;c?g=this.applyScrollAdjustment(this.getTotalSize()-p):m&&(g=this.applyScrollAdjustment(f)),this.notify(g)}},this.getVirtualItems=_(()=>[this.getVirtualIndexes(),this.getMeasurements()],(t,e)=>{let s=[];for(let n=0,o=t.length;n<o;n++){let i=t[n],r=e[i];s.push(r)}return s},{key:!1,debug:u(()=>this.options.debug,"debug")}),this.getVirtualItemForOffset=t=>{let e=this.getMeasurements();if(e.length===0)return;let s=this._flatMeasurements,n=this.options.lanes===1&&s!=null,o=U(0,e.length-1,n?i=>s[i*2]:i=>W(e[i]).start,t);return W(e[o])},this.getMaxScrollOffset=()=>{if(!this.scrollElement)return 0;if("scrollHeight"in this.scrollElement)return this.options.horizontal?this.scrollElement.scrollWidth-this.scrollElement.clientWidth:this.scrollElement.scrollHeight-this.scrollElement.clientHeight;{let t=this.scrollElement.document.documentElement;return this.options.horizontal?t.scrollWidth-this.scrollElement.innerWidth:t.scrollHeight-this.scrollElement.innerHeight}},this.getVirtualDistanceFromEnd=()=>Math.max(this.getTotalSize()-this.getSize()-this.getScrollOffset(),0),this.getDistanceFromEnd=()=>Math.max(this.getMaxScrollOffset()-this.getScrollOffset(),0),this.isAtEnd=(t=this.options.scrollEndThreshold)=>this.getDistanceFromEnd()<=t,this.getOffsetForAlignment=(t,e,s=0)=>{if(!this.scrollElement)return 0;let n=this.getSize(),o=this.getScrollOffset();e==="auto"&&(e=t>=o+n?"end":"start"),e==="center"?t+=(s-n)/2:e==="end"&&(t-=n);let i=this.getMaxScrollOffset();return Math.max(Math.min(i,t),0)},this.getOffsetForIndex=(t,e="auto")=>{t=Math.max(0,Math.min(t,this.options.count-1));let s=this.getSize(),n=this.getScrollOffset(),o=this.measurementsCache[t];if(!o)return;if(e==="auto")if(o.end>=n+s-this.options.scrollPaddingEnd)e="end";else if(o.start<=n+this.options.scrollPaddingStart)e="start";else return[n,e];if(e==="end"&&t===this.options.count-1)return[this.getMaxScrollOffset(),e];let i=e==="end"?o.end+this.options.scrollPaddingEnd:o.start-this.options.scrollPaddingStart;return[this.getOffsetForAlignment(i,e,o.size),e]},this.scrollToOffset=(t,{align:e="start",behavior:s="auto"}={})=>{this._iosDeferredAdjustment=0;let n=this.getOffsetForAlignment(t,e),o=this.now();this.scrollState={index:null,align:e,behavior:s,startedAt:o,lastTargetOffset:n,stableFrames:0},this._scrollToOffset(n,{adjustments:void 0,behavior:s}),this.scheduleScrollReconcile()},this.scrollToIndex=(t,{align:e="auto",behavior:s="auto"}={})=>{this._iosDeferredAdjustment=0,t=Math.max(0,Math.min(t,this.options.count-1));let n=this.getOffsetForIndex(t,e);if(!n)return;let[o,i]=n,r=this.now();this.scrollState={index:t,align:i,behavior:s,startedAt:r,lastTargetOffset:o,stableFrames:0},this._scrollToOffset(o,{adjustments:void 0,behavior:s}),this.scheduleScrollReconcile()},this.scrollBy=(t,{behavior:e="auto"}={})=>{let s=this.getScrollOffset()+t,n=this.now();this.scrollState={index:null,align:"start",behavior:e,startedAt:n,lastTargetOffset:s,stableFrames:0},this._scrollToOffset(s,{adjustments:void 0,behavior:e}),this.scheduleScrollReconcile()},this.scrollToEnd=({behavior:t="auto"}={})=>{if(this.options.count>0){this.scrollToIndex(this.options.count-1,{align:"end",behavior:t});return}this.scrollToOffset(Math.max(this.getTotalSize()-this.getSize(),0),{behavior:t})},this.getTotalSize=()=>{var t;let e=this.getMeasurements(),s;if(e.length===0)s=this.options.paddingStart;else if(this.options.lanes===1){let n=e.length-1,o=this._flatMeasurements;o!=null?s=o[n*2]+o[n*2+1]:s=((t=e[n])==null?void 0:t.end)??0}else{let n=Array(this.options.lanes).fill(null),o=e.length-1;for(;o>=0&&n.some(i=>i===null);){let i=e[o];n[i.lane]===null&&(n[i.lane]=i.end),o--}s=Math.max(...n.filter(i=>i!==null))}return Math.max(s-this.options.scrollMargin+this.options.paddingEnd,0)},this.takeSnapshot=()=>{let t=[];if(this.itemSizeCache.size===0)return t;let e=this.getMeasurements();for(let s of e)s&&this.itemSizeCache.has(s.key)&&t.push({index:s.index,key:s.key,start:s.start,size:s.size,end:s.end,lane:s.lane});return t},this._scrollToOffset=(t,{adjustments:e,behavior:s})=>{this._intendedScrollOffset=t+(e??0),this.options.scrollToFn(t,{behavior:s,adjustments:e},this)},this.measure=()=>{this.pendingMin=null,this.itemSizeCache.clear(),this.laneAssignments.clear(),this.itemSizeCacheVersion++,this.notify(!1)},this.setOptions(a)}applyScrollAdjustment(a,t){return a===0?!1:j()&&(this.isScrolling||this._iosTouching||this._iosJustTouchEnded)?(this._iosDeferredAdjustment+=a,!1):(this._scrollToOffset(this.getScrollOffset(),{adjustments:this.scrollAdjustments+=a,behavior:t}),this.scrollOffset!==null&&(this.scrollOffset+=this.scrollAdjustments,this.scrollOffset<0&&(this.scrollOffset=0),this.scrollAdjustments=0),!0)}scheduleScrollReconcile(){if(!this.targetWindow){this.scrollState=null;return}this.rafId==null&&(this.rafId=this.targetWindow.requestAnimationFrame(()=>{this.rafId=null,this.reconcileScroll()}))}reconcileScroll(){if(!this.scrollState||!this.scrollElement)return;if(this.now()-this.scrollState.startedAt>5e3){this.scrollState=null;return}let e=this.scrollState.index!=null?this.getOffsetForIndex(this.scrollState.index,this.scrollState.align):void 0,s=e?e[0]:this.scrollState.lastTargetOffset,n=1,o=s!==this.scrollState.lastTargetOffset;if(!o&&P(s,this.getScrollOffset())){if(this.scrollState.stableFrames++,this.scrollState.stableFrames>=n){this.getScrollOffset()!==s&&this._scrollToOffset(s,{adjustments:void 0,behavior:"auto"}),this.scrollState=null;return}}else if(this.scrollState.stableFrames=0,o){let i=this.getSize()||600,r=Math.abs(s-this.getScrollOffset()),d=this.scrollState.behavior==="smooth"&&r>i;this.scrollState.lastTargetOffset=s,d||(this.scrollState.behavior="auto"),this._scrollToOffset(s,{adjustments:void 0,behavior:d?"smooth":"auto"})}this.scheduleScrollReconcile()}},U=u((l,a,t,e)=>{for(;l<=a;){let s=(l+a)/2|0,n=t(s);if(n<e)l=s+1;else if(n>e)a=s-1;else return s}return l>0?l-1:0},"findNearestBinarySearch");function it(l,a,t){let e=0;for(;e<=a;){let s=(e+a)/2|0,n=l[s*2];if(n<t)e=s+1;else if(n>t)a=s-1;else return s}return e>0?e-1:0}u(it,"findNearestBinarySearchFlat");function ot(l,a,t,e,s){let n=l.length-1;if(l.length<=e)return{startIndex:0,endIndex:n};if(e===1&&s!==null){let d=it(s,n,t),h=d,f=t+a;for(;h<n&&s[h*2]+s[h*2+1]<f;)h++;return{startIndex:d,endIndex:h}}let i=U(0,n,u(d=>l[d].start,"getStart"),t),r=i;if(e===1)for(;r<n&&l[r].end<t+a;)r++;else if(e>1){let d=Array(e).fill(0);for(;r<n&&d.some(f=>f<t+a);){let f=l[r];d[f.lane]=f.end,r++}let h=Array(e).fill(t+a);for(;i>=0&&h.some(f=>f>=t);){let f=l[i];h[f.lane]=f.start,i--}i=Math.max(0,i-i%e),r=Math.min(n,r+(e-1-r%e))}return{startIndex:i,endIndex:r}}u(ot,"calculateRangeImpl");var I=N(Y(),1),X=N(G(),1);var k=typeof document<"u"?I.useLayoutEffect:I.useEffect;function lt({useFlushSync:l=!0,directDomUpdates:a=!1,directDomUpdatesMode:t="transform",...e}){let s=I.useReducer(h=>h+1,0)[1],n=I.useRef({enabled:a,mode:t,container:null,lastSize:null,lastPositions:new WeakMap,prevRange:null});n.current.enabled=a,n.current.mode=t;let o=u(h=>{let f=n.current;if(!f.enabled||!f.container)return;let c=h.getTotalSize();if(c!==f.lastSize){f.lastSize=c;let p=h.options.horizontal?"width":"height";f.container.style[p]=`${c}px`}},"applyContainerSize"),i=u(h=>{let f=n.current;if(!f.enabled||!f.container)return;o(h);let c=!!h.options.horizontal,p=f.mode==="transform",S=c?"left":"top",v=h.options.scrollMargin,b=h.getVirtualItems();for(let m of b){let g=m.start-v,E=h.elementsCache.get(m.key);E&&f.lastPositions.get(E)!==g&&(f.lastPositions.set(E,g),p?E.style.transform=c?`translate3d(${g}px, 0, 0)`:`translate3d(0, ${g}px, 0)`:E.style[S]=`${g}px`)}},"applyDirectStyles"),r={...e,onChange:u((h,f)=>{var c;let p=n.current,S=!0;if(p.enabled){i(h);let v=h.range,b=p.prevRange;S=!b||b.isScrolling!==h.isScrolling||b.startIndex!==v?.startIndex||b.endIndex!==v?.endIndex,S&&(p.prevRange=v?{startIndex:v.startIndex,endIndex:v.endIndex,isScrolling:h.isScrolling}:null)}S&&(l&&f?(0,X.flushSync)(s):s()),(c=e.onChange)==null||c.call(e,h,f)},"onChange")},[d]=I.useState(()=>{let h=new F(r);return Object.assign(h,{containerRef:u(f=>{let c=n.current;if(c.container=f,c.lastSize=null,f&&c.enabled){let p=h.getTotalSize();c.lastSize=p;let S=h.options.horizontal?"width":"height";f.style[S]=`${p}px`}},"containerRef")})});return d.setOptions(r),k(()=>d._didMount(),[]),k(()=>(o(d),d._willUpdate())),k(()=>{i(d)}),d}u(lt,"useVirtualizerBase");function Et(l){return lt({observeElementRect:H,observeElementOffset:J,scrollToFn:q,...l})}u(Et,"useVirtualizer");export{H as a,Et as b};
@@ -0,0 +1 @@
1
+ import{a as d,d as n,f as c,g as p}from"./chunk-YKXDMIHQ.js";var b=n(c(),1),s=n(p(),1);var y={alignItems:"center",border:"1px solid",borderRadius:4,display:"inline-flex",fontFamily:"var(--font-mono, ui-monospace, monospace)",fontSize:11,fontWeight:400,gap:6,letterSpacing:"0.06em",lineHeight:1.4,padding:"1px 8px",textTransform:"uppercase"},g={borderRadius:"50%",display:"inline-block",height:7,width:7},h=d((l,e,t,a)=>({badgeStyle:{...y,borderColor:l,color:l},color:l,dotStyle:{...g,backgroundColor:l},hint:a,label:e,title:t}),"i"),S={global:h("var(--royal-amethyst)","Global \xB7 D1","Global table \u2014 a single D1 table shared across all shards","Declared .global() and stored once in Cloudflare D1, shared across every shard and tenant. Auth tables (user, session, \u2026) live here too."),shard:h("var(--sky-sapphire)","Shard-local","Shard-local table \u2014 per-shard SQLite inside a Durable Object","Stored per shard key in a Durable Object's SQLite (.shardBy(...)). You are viewing one shard at a time \u2014 change the shard key to inspect another.")},m=d(l=>{let e=(0,b.c)(9),{tier:t}=l,a=S[t],i=`storage-tier-${t}`,r;e[0]!==a.dotStyle?(r=(0,s.jsx)("span",{"aria-hidden":"true",style:a.dotStyle}),e[0]=a.dotStyle,e[1]=r):r=e[1];let o;return e[2]!==a.badgeStyle||e[3]!==a.label||e[4]!==a.title||e[5]!==i||e[6]!==r||e[7]!==t?(o=(0,s.jsxs)("span",{"data-testid":i,"data-tier":t,style:a.badgeStyle,title:a.title,children:[r,a.label]}),e[2]=a.badgeStyle,e[3]=a.label,e[4]=a.title,e[5]=i,e[6]=r,e[7]=t,e[8]=o):o=e[8],o},"y");export{S as a,m as b};
@@ -0,0 +1 @@
1
+ import{h as u,p as f}from"./chunk-6B7FVPW3.js";import{a as s,d as l,e as h,f as S}from"./chunk-YKXDMIHQ.js";var i=l(S(),1),c=l(h(),1);var g=s(()=>{let t=(0,i.c)(4),[a,n]=(0,c.useState)(!1),[e,m]=(0,c.useState)(null),r;t[0]===Symbol.for("react.memo_cache_sentinel")?(r=s(p=>{f((async()=>{n(!0),m(null);try{await p()}catch(b){m(u(b))}n(!1)})())},"e"),t[0]=r):r=t[0];let y=r,o;return t[1]!==a||t[2]!==e?(o={busy:a,error:e,run:y},t[1]=a,t[2]=e,t[3]=o):o=t[3],o},"g");export{g as a};