@lunora/studio 1.0.0-alpha.21 → 1.0.0-alpha.210

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 (333) 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-BImfQhyJ.mjs +2 -0
  60. package/dist/packem_shared/ApiReferencePanel-CigvHhCa.mjs +1 -0
  61. package/dist/packem_shared/CommandPalette-CSdz9zax.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-DLRa1EYq.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-BTbqR6Wc.mjs +1 -0
  71. package/dist/packem_shared/HomePanel-_BwLI4TQ.mjs +1 -0
  72. package/dist/packem_shared/MigrationsPanel-BPWzFdxC.mjs +1 -0
  73. package/dist/packem_shared/OpenRpcReferencePanel-C6CM791D.mjs +1 -0
  74. package/dist/packem_shared/STUDIO_ROOT_CLASS-C6MccdVk.mjs +1 -0
  75. package/dist/packem_shared/ScheduledJobs-B4DPADwk.mjs +1 -0
  76. package/dist/packem_shared/ShardInput-C6mjgAh4.mjs +1 -0
  77. package/dist/packem_shared/Studio-CcWQdYrV.mjs +1 -0
  78. package/dist/packem_shared/StudioApp-fYFz6zZQ.mjs +1 -0
  79. package/dist/packem_shared/StudioI18nProvider-fVsCSs5L.mjs +1 -0
  80. package/dist/packem_shared/advisor-view-CPgOok_h.mjs +1 -0
  81. package/dist/packem_shared/aggregateMetrics-CY05xrYU.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/badge-r_5B4LHP.mjs +1 -0
  86. package/dist/packem_shared/bar-chart-BCsEIQoQ.mjs +6 -0
  87. package/dist/packem_shared/browser-storage-BH1MxLZs.mjs +1 -0
  88. package/dist/packem_shared/button-q0UYSmrn.mjs +1 -0
  89. package/dist/packem_shared/card--2hKx4L2.mjs +1 -0
  90. package/dist/packem_shared/cf-links-CBJ5SywP.mjs +1 -0
  91. package/dist/packem_shared/checkbox-CnS9cyCz.mjs +1 -0
  92. package/dist/packem_shared/control-button-BOZ5K-FC.mjs +1 -0
  93. package/dist/packem_shared/data-grid-DTBAKZlm.mjs +1 -0
  94. package/dist/packem_shared/data-view-params-qoSTqjAj.mjs +1 -0
  95. package/dist/packem_shared/dropdown-menu-jLZenfWH.mjs +2 -0
  96. package/dist/packem_shared/empty-state-D7jEML_T.mjs +1 -0
  97. package/dist/packem_shared/error-alert-tf5zvSLV.mjs +1 -0
  98. package/dist/packem_shared/grid-features-Dm80ngyR.mjs +6 -0
  99. package/dist/packem_shared/home-panel-DCUKd8Uk.mjs +3 -0
  100. package/dist/packem_shared/input-CXhxesPC.mjs +1 -0
  101. package/dist/packem_shared/internal-B6haJbiP.mjs +2 -0
  102. package/dist/packem_shared/label-DKFzyHq6.mjs +1 -0
  103. package/dist/packem_shared/live-status-BuJdUZFU.mjs +1 -0
  104. package/dist/packem_shared/log-fields-SBxKyBug.mjs +1 -0
  105. package/dist/packem_shared/log-line-BoObzuue.mjs +1 -0
  106. package/dist/packem_shared/modal-shell-CDztwLnv.mjs +1 -0
  107. package/dist/packem_shared/operation-console-provider-DoloEvon.mjs +1 -0
  108. package/dist/packem_shared/recording-client-BXUIyBL4.mjs +1 -0
  109. package/dist/packem_shared/reference-view-DiikOols.mjs +13 -0
  110. package/dist/packem_shared/schema-diagram-CDj_69jF.mjs +2 -0
  111. package/dist/packem_shared/scroll-area-CXCQH7VT.mjs +2 -0
  112. package/dist/packem_shared/select-DPyS18Vy.mjs +2 -0
  113. package/dist/packem_shared/shard-history-CaO3C4KQ.mjs +1 -0
  114. package/dist/packem_shared/shortcuts-B9gDaXmw.mjs +1 -0
  115. package/dist/packem_shared/skeleton-DX1gfixl.mjs +1 -0
  116. package/dist/packem_shared/sparkline-B_sPPO_8.mjs +1 -0
  117. package/dist/packem_shared/sql-result-table-C5y0jwaK.mjs +1 -0
  118. package/dist/packem_shared/stat-card-D0Fe04cX.mjs +1 -0
  119. package/dist/packem_shared/storage-tier-C2mKwYRj.mjs +1 -0
  120. package/dist/packem_shared/studio-OqNyRY1N.mjs +2 -0
  121. package/dist/packem_shared/table-D0SBiDu-.mjs +2 -0
  122. package/dist/packem_shared/table-list-sidebar-DHG1UJC4.mjs +1 -0
  123. package/dist/packem_shared/textarea--40GKAyz.mjs +1 -0
  124. package/dist/packem_shared/trace-handoff-BV3EWqy_.mjs +1 -0
  125. package/dist/packem_shared/use-admin-query-BKXiqLci.mjs +1 -0
  126. package/dist/packem_shared/use-async-submit-BTr3w2-K.mjs +1 -0
  127. package/dist/packem_shared/use-auth-config-CuM3eJZz.mjs +1 -0
  128. package/dist/packem_shared/use-open-trace-BCW0c9qq.mjs +1 -0
  129. package/dist/packem_shared/use-shard-key-BsP3o5wT.mjs +1 -0
  130. package/dist/packem_shared/use-sql-assistant-BhIMDQHV.mjs +1 -0
  131. package/dist/packem_shared/useDebounced-DVeQ5-oW.mjs +1 -0
  132. package/dist/packem_shared/utils-bhneXptQ.mjs +1 -0
  133. package/dist/packem_shared/virtual-rect-D_j7aLxX.mjs +1 -0
  134. package/dist/packem_shared/wire-codec-Bk4XZGE4.mjs +1 -0
  135. package/dist/standalone/chunk-225VJ77I.js +1 -0
  136. package/dist/standalone/chunk-2DX5MROH.js +1 -0
  137. package/dist/standalone/chunk-2URQKGWU.js +1 -0
  138. package/dist/standalone/chunk-32XMAP7I.js +1 -0
  139. package/dist/standalone/chunk-35DM4JJG.js +1 -0
  140. package/dist/standalone/chunk-3FBLWUXD.js +1 -0
  141. package/dist/standalone/chunk-3NIVSCFL.js +1 -0
  142. package/dist/standalone/chunk-3Q2P62UR.js +1 -0
  143. package/dist/standalone/chunk-4GTO7FL5.js +1 -0
  144. package/dist/standalone/chunk-4JLGLPWV.js +1 -0
  145. package/dist/standalone/chunk-4L4WTGN5.js +1 -0
  146. package/dist/standalone/chunk-4ZEL6BYL.js +1 -0
  147. package/dist/standalone/chunk-53OOTSKU.js +1 -0
  148. package/dist/standalone/chunk-55754F6H.js +1 -0
  149. package/dist/standalone/chunk-5B55YRG6.js +8 -0
  150. package/dist/standalone/chunk-5JDWLCSH.js +1 -0
  151. package/dist/standalone/chunk-5KBRKADE.js +1 -0
  152. package/dist/standalone/chunk-5WJXVZMZ.js +1 -0
  153. package/dist/standalone/chunk-66UGPQVC.js +1 -0
  154. package/dist/standalone/chunk-6D6Z2KXU.js +1 -0
  155. package/dist/standalone/chunk-6O2UDVPI.js +14 -0
  156. package/dist/standalone/chunk-6YJQIQGV.js +1 -0
  157. package/dist/standalone/chunk-7C3VUKZ7.js +1 -0
  158. package/dist/standalone/chunk-AAVLPU5Q.js +1 -0
  159. package/dist/standalone/chunk-AWHXPIXU.js +1 -0
  160. package/dist/standalone/chunk-AYFSPLV2.js +1 -0
  161. package/dist/standalone/chunk-BDO4YYBB.js +6 -0
  162. package/dist/standalone/chunk-BOTGXX4H.js +1 -0
  163. package/dist/standalone/chunk-CMA4PTV7.js +1 -0
  164. package/dist/standalone/chunk-CSUROWL2.js +1 -0
  165. package/dist/standalone/chunk-CT47Z2YM.js +1 -0
  166. package/dist/standalone/chunk-CZGON7K2.js +1 -0
  167. package/dist/standalone/chunk-DPBD7JKS.js +1 -0
  168. package/dist/standalone/chunk-DX6FAHR2.js +1 -0
  169. package/dist/standalone/chunk-E7TOMONS.js +4 -0
  170. package/dist/standalone/chunk-EA2JKR5D.js +1 -0
  171. package/dist/standalone/chunk-EA3X3RJE.js +1 -0
  172. package/dist/standalone/chunk-EVTM6Q43.js +1 -0
  173. package/dist/standalone/chunk-F7UC63UN.js +1 -0
  174. package/dist/standalone/chunk-FEWMAPNI.js +1 -0
  175. package/dist/standalone/chunk-FKVZRPV5.js +1 -0
  176. package/dist/standalone/chunk-FODLDLE2.js +19 -0
  177. package/dist/standalone/chunk-FSRSK4LY.js +1 -0
  178. package/dist/standalone/chunk-G77XMUYK.js +1 -0
  179. package/dist/standalone/chunk-GCYJWGJH.js +1 -0
  180. package/dist/standalone/chunk-GGPSI4ZR.js +1 -0
  181. package/dist/standalone/chunk-GMS77BZD.js +1 -0
  182. package/dist/standalone/chunk-GS7NVFTP.js +1 -0
  183. package/dist/standalone/chunk-H7T4ZK5A.js +1 -0
  184. package/dist/standalone/chunk-HEAQVSNS.js +1 -0
  185. package/dist/standalone/chunk-HEWWKHPV.js +1 -0
  186. package/dist/standalone/chunk-I5IZ7E6Y.js +3 -0
  187. package/dist/standalone/chunk-IHMGCHAA.js +1 -0
  188. package/dist/standalone/chunk-IMOHEGMV.js +1 -0
  189. package/dist/standalone/chunk-IS6LVJ6L.js +1 -0
  190. package/dist/standalone/chunk-IU4JVIC7.js +1 -0
  191. package/dist/standalone/chunk-IV2NWWZ3.js +4 -0
  192. package/dist/standalone/chunk-JKIYK6ND.js +1 -0
  193. package/dist/standalone/chunk-JXJVDIBI.js +1 -0
  194. package/dist/standalone/chunk-K7AJEMKE.js +1 -0
  195. package/dist/standalone/chunk-K7ARKCTO.js +59 -0
  196. package/dist/standalone/chunk-KL5R5JRZ.js +1 -0
  197. package/dist/standalone/chunk-L4GQYZ6E.js +1 -0
  198. package/dist/standalone/chunk-LBMSRD6N.js +1 -0
  199. package/dist/standalone/chunk-LW2ZUTWX.js +1 -0
  200. package/dist/standalone/chunk-ML2UMMWX.js +1 -0
  201. package/dist/standalone/chunk-MU3P2FI7.js +1 -0
  202. package/dist/standalone/chunk-MXLAOCAN.js +1 -0
  203. package/dist/standalone/chunk-MZBW37SY.js +1 -0
  204. package/dist/standalone/chunk-NSGBWASN.js +1 -0
  205. package/dist/standalone/chunk-O27Z36G7.js +1 -0
  206. package/dist/standalone/chunk-OANQPBNV.js +1 -0
  207. package/dist/standalone/chunk-OGUKYRFM.js +1 -0
  208. package/dist/standalone/chunk-OKG3HWSJ.js +1 -0
  209. package/dist/standalone/chunk-OMZJYYAT.js +1 -0
  210. package/dist/standalone/chunk-ONIGWNXT.js +1 -0
  211. package/dist/standalone/chunk-OO2KRQEG.js +1 -0
  212. package/dist/standalone/chunk-PD6WIDY6.js +1 -0
  213. package/dist/standalone/chunk-PEJIXS5G.js +1 -0
  214. package/dist/standalone/chunk-PLHA3OWK.js +3 -0
  215. package/dist/standalone/chunk-PLR35YWH.js +1 -0
  216. package/dist/standalone/chunk-PT6TSEYC.js +1 -0
  217. package/dist/standalone/chunk-PTZR4E3K.js +1 -0
  218. package/dist/standalone/chunk-Q4CAKBWN.js +1 -0
  219. package/dist/standalone/chunk-Q6J3PM4A.js +1 -0
  220. package/dist/standalone/chunk-QICQ6TB3.js +5 -0
  221. package/dist/standalone/chunk-QKEJLVC5.js +1 -0
  222. package/dist/standalone/chunk-R3JE5NNR.js +1 -0
  223. package/dist/standalone/chunk-RFNGDE33.js +1 -0
  224. package/dist/standalone/chunk-RLLKECZT.js +1 -0
  225. package/dist/standalone/chunk-RPQL45FL.js +1 -0
  226. package/dist/standalone/chunk-RXP62JZU.js +1 -0
  227. package/dist/standalone/chunk-S3CRZLGS.js +1 -0
  228. package/dist/standalone/chunk-SLNQW3RK.js +1 -0
  229. package/dist/standalone/chunk-SUDJTC4S.js +1 -0
  230. package/dist/standalone/chunk-SUMY65GX.js +1 -0
  231. package/dist/standalone/chunk-TIUMFAN2.js +1 -0
  232. package/dist/standalone/chunk-TYTIWKSD.js +1 -0
  233. package/dist/standalone/chunk-U4RHXW7W.js +1 -0
  234. package/dist/standalone/chunk-UDQRNJXZ.js +1 -0
  235. package/dist/standalone/chunk-UEOWRXJ3.js +15 -0
  236. package/dist/standalone/chunk-ULIQFBZU.js +1 -0
  237. package/dist/standalone/chunk-ULUHG4S6.js +1 -0
  238. package/dist/standalone/chunk-UYEZR3BI.js +1 -0
  239. package/dist/standalone/chunk-V3CZW3JB.js +1 -0
  240. package/dist/standalone/chunk-V3VJAA4D.js +1 -0
  241. package/dist/standalone/chunk-WGYFNRML.js +1 -0
  242. package/dist/standalone/chunk-WUSVHWBV.js +1 -0
  243. package/dist/standalone/chunk-WUWBZPUK.js +1 -0
  244. package/dist/standalone/chunk-XDBCKWUS.js +1 -0
  245. package/dist/standalone/chunk-XEG7ZWQT.js +1 -0
  246. package/dist/standalone/chunk-XZMOZFE6.js +1 -0
  247. package/dist/standalone/chunk-Y5DWAHTZ.js +1 -0
  248. package/dist/standalone/chunk-Y6CXU7T4.js +1 -0
  249. package/dist/standalone/chunk-YGRTZZRP.js +2 -0
  250. package/dist/standalone/chunk-YKXDMIHQ.js +1 -0
  251. package/dist/standalone/chunk-YL2TW4TP.js +1 -0
  252. package/dist/standalone/chunk-YOB2X3FZ.js +1 -0
  253. package/dist/standalone/chunk-YPRQLCKF.js +1 -0
  254. package/dist/standalone/chunk-YQDXU4GE.js +1 -0
  255. package/dist/standalone/chunk-YSQHT7BJ.js +1 -0
  256. package/dist/standalone/chunk-ZIGHJFAC.js +3 -0
  257. package/dist/standalone/chunk-ZJ6QIZWP.js +11 -0
  258. package/dist/standalone/chunk-ZOZPS7AC.js +8 -0
  259. package/dist/standalone/studio.js +9 -378
  260. package/dist/styles.css +2 -2
  261. package/package.json +23 -20
  262. package/dist/index.js +0 -41
  263. package/dist/mount.js +0 -26
  264. package/dist/packem_shared/ADMIN_FUNCTIONS-CdaxLGkE.js +0 -48
  265. package/dist/packem_shared/ApiDocsPanel-BgrN4kml.js +0 -842
  266. package/dist/packem_shared/ApiReferencePanel-1vubqG5s.js +0 -229
  267. package/dist/packem_shared/ApiTab-CHkX49o_.js +0 -251
  268. package/dist/packem_shared/AuditPanel-CP9HM9nq.js +0 -200
  269. package/dist/packem_shared/CommandPalette-BtgkBzZI.js +0 -373
  270. package/dist/packem_shared/ConfirmButton-C2eVi2Qv.js +0 -59
  271. package/dist/packem_shared/ConnectionBadge-B2DDM2Tn.js +0 -111
  272. package/dist/packem_shared/DEFAULT_AUTO_REFRESH_MS-Vxwaxx51.js +0 -50
  273. package/dist/packem_shared/DEFAULT_INSIGHT_THRESHOLDS-DjF0h-gA.js +0 -89
  274. package/dist/packem_shared/DEFAULT_LOCALE-CiX4W7Kr.js +0 -27
  275. package/dist/packem_shared/DataBrowser-Bb1gTQ6c.js +0 -4475
  276. package/dist/packem_shared/DataFilters-FNquMaiu.js +0 -249
  277. package/dist/packem_shared/ErrorBoundary-BzAApI7J.js +0 -66
  278. package/dist/packem_shared/ExportImportPanel-Dj87tRa5.js +0 -197
  279. package/dist/packem_shared/FileBrowser-CWvxp_is.js +0 -2932
  280. package/dist/packem_shared/FunctionRunner-DlWApMCH.js +0 -343
  281. package/dist/packem_shared/FunctionStatsPanel-CuO2Tmw-.js +0 -375
  282. package/dist/packem_shared/GlobalDataBrowser-3X9uRfdO.js +0 -289
  283. package/dist/packem_shared/HealthPanel-Dj0GRo5P.js +0 -648
  284. package/dist/packem_shared/HomePanel-BewOCuag.js +0 -1334
  285. package/dist/packem_shared/InsightsPanel-y_Q-xdPY.js +0 -461
  286. package/dist/packem_shared/LogsPanel-C7crgYoS.js +0 -827
  287. package/dist/packem_shared/MailPanel-PILidruz.js +0 -440
  288. package/dist/packem_shared/MetricsPanel-DioILzgf.js +0 -1611
  289. package/dist/packem_shared/MigrationsPanel-DkIcRoE5.js +0 -239
  290. package/dist/packem_shared/OpenRpcReferencePanel-vbcYbv3V.js +0 -191
  291. package/dist/packem_shared/PitrPanel-yKJ1JPPk.js +0 -252
  292. package/dist/packem_shared/STUDIO_ROOT_CLASS-D12gX2dV.js +0 -3
  293. package/dist/packem_shared/ScheduledJobs-BWNwIN3I.js +0 -262
  294. package/dist/packem_shared/SchemaViewer-CNr8Wame.js +0 -2512
  295. package/dist/packem_shared/SecurityAdvisorPanel-BBzv7L3c.js +0 -92
  296. package/dist/packem_shared/SettingsPanel-BKSKl8tl.js +0 -390
  297. package/dist/packem_shared/ShardInput-gx_DZXXn.js +0 -107
  298. package/dist/packem_shared/SqlEditorPanel-CkemCQvy.js +0 -13
  299. package/dist/packem_shared/Studio-QkOjc2NS.js +0 -33
  300. package/dist/packem_shared/StudioApp-TEElspKL.js +0 -657
  301. package/dist/packem_shared/StudioI18nProvider-B-tDCZIi.js +0 -48
  302. package/dist/packem_shared/TableEditor-JS3sXYgS.js +0 -11
  303. package/dist/packem_shared/advisor-view-CGcfMiPq.js +0 -159
  304. package/dist/packem_shared/aggregateMetrics-D4nUHEKU.js +0 -108
  305. package/dist/packem_shared/app.d-Cnij4Zp5.d.ts +0 -300
  306. package/dist/packem_shared/badge-B2PKA1-5.js +0 -49
  307. package/dist/packem_shared/bar-chart-CzJAgqkp.js +0 -3245
  308. package/dist/packem_shared/button-BhsN2uZH.js +0 -49
  309. package/dist/packem_shared/card-DURq3ElK.js +0 -175
  310. package/dist/packem_shared/cf-links-2cktDedA.js +0 -8
  311. package/dist/packem_shared/checkbox-UNkzAxl-.js +0 -63
  312. package/dist/packem_shared/data-grid-B5CaV3wS.js +0 -183
  313. package/dist/packem_shared/dropdown-menu-WY4B_eJO.js +0 -280
  314. package/dist/packem_shared/empty-state-DY_oe0k6.js +0 -98
  315. package/dist/packem_shared/grid-features-CzUfqgsM.js +0 -840
  316. package/dist/packem_shared/input-XH4r1Pt1.js +0 -53
  317. package/dist/packem_shared/internal-rXJEAhXS.js +0 -68
  318. package/dist/packem_shared/label-D8ykjn5J.js +0 -46
  319. package/dist/packem_shared/live-status-FZ0psC1z.js +0 -44
  320. package/dist/packem_shared/reference-view-B4E49Lip.js +0 -2180
  321. package/dist/packem_shared/shard-history-DyebH1R5.js +0 -38
  322. package/dist/packem_shared/sparkline-10dG-_f0.js +0 -93
  323. package/dist/packem_shared/sql-editor-panel-CUJoYF1Z.js +0 -2562
  324. package/dist/packem_shared/storage-tier-CL98eOvn.js +0 -85
  325. package/dist/packem_shared/studio-c5Vf7kSh.js +0 -11532
  326. package/dist/packem_shared/table-_RzNvy3R.js +0 -246
  327. package/dist/packem_shared/table-editor-9fhJ4hMJ.js +0 -407
  328. package/dist/packem_shared/table-list-sidebar-Bg7uzbvC.js +0 -832
  329. package/dist/packem_shared/textarea-D3gaCU_-.js +0 -46
  330. package/dist/packem_shared/use-admin-query-BkbdNFNz.js +0 -105
  331. package/dist/packem_shared/useDebounced-Dxncpg6z.js +0 -32
  332. package/dist/packem_shared/utils-B05Dmz_H.js +0 -8
  333. package/dist/packem_shared/virtual-rect-CVMUskSm.js +0 -10
@@ -0,0 +1,11 @@
1
+ import{a as kt,d as m}from"./chunk-UEOWRXJ3.js";import{a as o,d as M,e as J,f as Tt,g as Be}from"./chunk-YKXDMIHQ.js";var D=class{static{o(this,"Subscribable")}constructor(){this.listeners=new Set,this.subscribe=this.subscribe.bind(this)}subscribe(r){return this.listeners.add(r),this.onSubscribe(),()=>{this.listeners.delete(r),this.onUnsubscribe()}}hasListeners(){return this.listeners.size>0}onSubscribe(){}onUnsubscribe(){}};var jr=class extends D{static{o(this,"FocusManager")}#e;#t;#r;constructor(){super(),this.#r=r=>{if(typeof window<"u"&&window.addEventListener){let e=o(()=>r(),"listener");return window.addEventListener("visibilitychange",e,!1),()=>{window.removeEventListener("visibilitychange",e)}}}}onSubscribe(){this.#t||this.setEventListener(this.#r)}onUnsubscribe(){this.hasListeners()||(this.#t?.(),this.#t=void 0)}setEventListener(r){this.#r=r,this.#t?.(),this.#t=r(e=>{typeof e=="boolean"?this.setFocused(e):this.onFocus()})}setFocused(r){this.#e!==r&&(this.#e=r,this.onFocus())}onFocus(){let r=this.isFocused();this.listeners.forEach(e=>{e(r)})}isFocused(){return typeof this.#e=="boolean"?this.#e:globalThis.document?.visibilityState!=="hidden"}},re=new jr;var $r={setTimeout:o((r,e)=>setTimeout(r,e),"setTimeout"),clearTimeout:o(r=>clearTimeout(r),"clearTimeout"),setInterval:o((r,e)=>setInterval(r,e),"setInterval"),clearInterval:o(r=>clearInterval(r),"clearInterval")},Hr=class{static{o(this,"TimeoutManager")}#e=$r;#t=!1;setTimeoutProvider(r){this.#e=r}setTimeout(r,e){return this.#e.setTimeout(r,e)}clearTimeout(r){this.#e.clearTimeout(r)}setInterval(r,e){return this.#e.setInterval(r,e)}clearInterval(r){this.#e.clearInterval(r)}},U=new Hr;function Et(r){setTimeout(r,0)}o(Et,"systemSetTimeoutZero");var $e=typeof window>"u"||"Deno"in globalThis;function w(){}o(w,"noop");function Rt(r,e){return typeof r=="function"?r(e):r}o(Rt,"functionalUpdate");function ue(r){return typeof r=="number"&&r>=0&&r!==1/0}o(ue,"isValidTimeout");function Se(r,e){return Math.max(r+(e||0)-Date.now(),0)}o(Se,"timeUntilStale");function L(r,e){return typeof r=="function"?r(e):r}o(L,"resolveStaleTime");function I(r,e){return typeof r=="function"?r(e):r}o(I,"resolveQueryBoolean");function we(r,e){let{type:t="all",exact:s,fetchStatus:i,predicate:n,queryKey:a,stale:c}=r;if(a){if(s){if(e.queryHash!==he(a,e.options))return!1}else if(!j(e.queryKey,a))return!1}if(t!=="all"){let u=e.isActive();if(t==="active"&&!u||t==="inactive"&&u)return!1}return!(typeof c=="boolean"&&e.isStale()!==c||i&&i!==e.state.fetchStatus||n&&!n(e))}o(we,"matchQuery");function Ce(r,e){let{exact:t,status:s,predicate:i,mutationKey:n}=r;if(n){if(!e.options.mutationKey)return!1;if(t){if(X(e.options.mutationKey)!==X(n))return!1}else if(!j(e.options.mutationKey,n))return!1}return!(s&&e.state.status!==s||i&&!i(e))}o(Ce,"matchMutation");function he(r,e){return(e?.queryKeyHashFn||X)(r)}o(he,"hashQueryKeyByOptions");function X(r){return JSON.stringify(r,(e,t)=>je(t)?Object.keys(t).sort().reduce((s,i)=>(s[i]=t[i],s),{}):t)}o(X,"hashKey");function j(r,e){if(r===e)return!0;if(typeof r!=typeof e)return!1;if(r&&e&&typeof r=="object"&&typeof e=="object"){if(Array.isArray(r)&&Array.isArray(e)){for(let s=0;s<e.length;s++)if(!j(r[s],e[s]))return!1;return!0}let t=Object.keys(e);for(let s of t)if(!j(r[s],e[s]))return!1;return!0}return!1}o(j,"partialMatchKey");var zr=Object.prototype.hasOwnProperty;function He(r,e,t=0){if(r===e)return r;if(t>500)return e;let s=It(r)&&It(e);if(!s&&!(je(r)&&je(e)))return e;let n=(s?r:Object.keys(r)).length,a=s?e:Object.keys(e),c=a.length,u=s?new Array(c):{},h=0;for(let d=0;d<c;d++){let l=s?d:a[d],f=r[l],y=e[l];if(f===y){u[l]=f,(s?d<n:zr.call(r,l))&&h++;continue}if(f===null||y===null||typeof f!="object"||typeof y!="object"){u[l]=y;continue}let p=He(f,y,t+1);u[l]=p,p===f&&h++}return n===c&&h===n?r:u}o(He,"replaceEqualDeep");function ke(r,e){if(!e||Object.keys(r).length!==Object.keys(e).length)return!1;for(let t in r)if(r[t]!==e[t])return!1;return!0}o(ke,"shallowEqualObjects");function It(r){return Array.isArray(r)&&r.length===Object.keys(r).length}o(It,"isPlainArray");function je(r){if(!Ot(r))return!1;let e=r.constructor;if(e===void 0)return!0;let t=e.prototype;return!(!Ot(t)||!t.hasOwnProperty("isPrototypeOf")||Object.getPrototypeOf(r)!==Object.prototype)}o(je,"isPlainObject");function Ot(r){return Object.prototype.toString.call(r)==="[object Object]"}o(Ot,"hasObjectPrototype");function Pt(r){return new Promise(e=>{U.setTimeout(e,r)})}o(Pt,"sleep");function de(r,e,t){return typeof t.structuralSharing=="function"?t.structuralSharing(r,e):t.structuralSharing!==!1?He(r,e):e}o(de,"replaceData");function Wr(r){return r}o(Wr,"keepPreviousData");function At(r,e,t=0){let s=[...r,e];return t&&s.length>t?s.slice(1):s}o(At,"addToEnd");function Ft(r,e,t=0){let s=[e,...r];return t&&s.length>t?s.slice(0,-1):s}o(Ft,"addToStart");var se=Symbol();function Te(r,e){return!r.queryFn&&e?.initialPromise?()=>e.initialPromise:!r.queryFn||r.queryFn===se?()=>Promise.reject(new Error(`Missing queryFn: '${r.queryHash}'`)):r.queryFn}o(Te,"ensureQueryFn");function Ee(r,e){return typeof r=="function"?r(...e):!!r}o(Ee,"shouldThrowError");function Mt(r,e,t){let s=!1,i;return Object.defineProperty(r,"signal",{enumerable:!0,get:o(()=>(i??=e(),s||(s=!0,i.aborted?t():i.addEventListener("abort",t,{once:!0})),i),"get")}),r}o(Mt,"addConsumeAwareSignal");var q=(()=>{let r=o(()=>$e,"isServerFn");return{isServer(){return r()},setIsServer(e){r=e}}})();function le(){let r,e,t=new Promise((i,n)=>{r=i,e=n});t.status="pending",t.catch(()=>{});function s(i){Object.assign(t,i),delete t.resolve,delete t.reject}return o(s,"finalize"),t.resolve=i=>{s({status:"fulfilled",value:i}),r(i)},t.reject=i=>{s({status:"rejected",reason:i}),e(i)},t}o(le,"pendingThenable");var xt=Et;function Vr(){let r=[],e=0,t=o(c=>{c()},"notifyFn"),s=o(c=>{c()},"batchNotifyFn"),i=xt,n=o(c=>{e?r.push(c):i(()=>{t(c)})},"schedule"),a=o(()=>{let c=r;r=[],c.length&&i(()=>{s(()=>{c.forEach(u=>{t(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=>{t=c},"setNotifyFunction"),setBatchNotifyFunction:o(c=>{s=c},"setBatchNotifyFunction"),setScheduler:o(c=>{i=c},"setScheduler")}}o(Vr,"createNotifyManager");var g=Vr();var Gr=class extends D{static{o(this,"OnlineManager")}#e=!0;#t;#r;constructor(){super(),this.#r=r=>{if(typeof window<"u"&&window.addEventListener){let e=o(()=>r(!0),"onlineListener"),t=o(()=>r(!1),"offlineListener");return window.addEventListener("online",e,!1),window.addEventListener("offline",t,!1),()=>{window.removeEventListener("online",e),window.removeEventListener("offline",t)}}}}onSubscribe(){this.#t||this.setEventListener(this.#r)}onUnsubscribe(){this.hasListeners()||(this.#t?.(),this.#t=void 0)}setEventListener(r){this.#r=r,this.#t?.(),this.#t=r(this.setOnline.bind(this))}setOnline(r){this.#e!==r&&(this.#e=r,this.listeners.forEach(t=>{t(r)}))}isOnline(){return this.#e}},ie=new Gr;function Jr(r){return Math.min(1e3*2**r,3e4)}o(Jr,"defaultRetryDelay");function ze(r){return(r??"online")==="online"?ie.isOnline():!0}o(ze,"canFetch");var Ie=class extends Error{static{o(this,"CancelledError")}constructor(r){super("CancelledError"),this.revert=r?.revert,this.silent=r?.silent}};function Oe(r){let e=!1,t=0,s,i=le(),n=o(()=>i.status!=="pending","isResolved"),a=o(b=>{if(!n()){let C=new Ie(b);f(C),r.onCancel?.(C)}},"cancel"),c=o(()=>{e=!0},"cancelRetry"),u=o(()=>{e=!1},"continueRetry"),h=o(()=>re.isFocused()&&(r.networkMode==="always"||ie.isOnline())&&r.canRun(),"canContinue"),d=o(()=>ze(r.networkMode)&&r.canRun(),"canStart"),l=o(b=>{n()||(s?.(),i.resolve(b))},"resolve"),f=o(b=>{n()||(s?.(),i.reject(b))},"reject"),y=o(()=>new Promise(b=>{s=o(C=>{(n()||h())&&b(C)},"continueFn"),r.onPause?.()}).then(()=>{s=void 0,n()||r.onContinue?.()}),"pause"),p=o(()=>{if(n())return;let b,C=t===0?r.initialPromise:void 0;try{b=C??r.fn()}catch(k){b=Promise.reject(k)}Promise.resolve(b).then(l).catch(k=>{if(n())return;let T=r.retry??(q.isServer()?0:3),Q=r.retryDelay??Jr,_=typeof Q=="function"?Q(t,k):Q,G=T===!0||typeof T=="number"&&t<T||typeof T=="function"&&T(t,k);if(e||!G){f(k);return}t++,r.onFail?.(t,k),Pt(_).then(()=>h()?void 0:y()).then(()=>{e?f(k):p()})})},"run");return{promise:i,status:o(()=>i.status,"status"),cancel:a,continue:o(()=>(s?.(),i),"continue"),cancelRetry:c,continueRetry:u,canStart:d,start:o(()=>(d()?p():y().then(p),i),"start")}}o(Oe,"createRetryer");var Re=class{static{o(this,"Removable")}#e;destroy(){this.clearGcTimeout()}scheduleGc(){this.clearGcTimeout(),ue(this.gcTime)&&(this.#e=U.setTimeout(()=>{this.optionalRemove()},this.gcTime))}updateGcTime(r){this.gcTime=Math.max(this.gcTime||0,r??(q.isServer()?1/0:300*1e3))}clearGcTimeout(){this.#e!==void 0&&(U.clearTimeout(this.#e),this.#e=void 0)}};function _t(r){return{onFetch:o((e,t)=>{let s=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(p=>{Mt(p,()=>e.signal,()=>d=!0)},"addSignalProperty"),f=Te(e.options,e.fetchOptions),y=o(async(p,b,C)=>{if(d)return Promise.reject(e.signal.reason);if(b==null&&p.pages.length)return Promise.resolve(p);let T=o(()=>{let Ke={client:e.client,queryKey:e.queryKey,pageParam:b,direction:C?"backward":"forward",meta:e.options.meta};return l(Ke),Ke},"createQueryFnContext")(),Q=await f(T),{maxPages:_}=e.options,G=C?Ft:At;return{pages:G(p.pages,Q,_),pageParams:G(p.pageParams,b,_)}},"fetchPage");if(i&&n.length){let p=i==="backward",b=p?Xr:Qt,C={pages:n,pageParams:a},k=b(s,C);c=await y(C,k,p)}else{let p=r??n.length;do{let b=u===0?a[0]??s.initialPageParam:Qt(s,c);if(u>0&&b==null)break;c=await y(c,b),u++}while(u<p)}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},t):e.fetchFn=h},"onFetch")}}o(_t,"infiniteQueryBehavior");function Qt(r,{pages:e,pageParams:t}){let s=e.length-1;return e.length>0?r.getNextPageParam(e[s],e,t[s],t):void 0}o(Qt,"getNextPageParam");function Xr(r,{pages:e,pageParams:t}){return e.length>0?r.getPreviousPageParam?.(e[0],e,t[0],t):void 0}o(Xr,"getPreviousPageParam");var Ut=class extends Re{static{o(this,"Query")}#e;#t;#r;#s;#n;#i;#o;#a;constructor(r){super(),this.#a=!1,this.#o=r.defaultOptions,this.setOptions(r.options),this.observers=[],this.#n=r.client,this.#s=this.#n.getQueryCache(),this.queryKey=r.queryKey,this.queryHash=r.queryHash,this.#t=Dt(this.options),this.state=r.state??this.#t,this.scheduleGc()}get meta(){return this.options.meta}get queryType(){return this.#e}get promise(){return this.#i?.promise}setOptions(r){if(this.options={...this.#o,...r},r?._type&&(this.#e=r._type),this.updateGcTime(this.options.gcTime),this.state&&this.state.data===void 0){let e=Dt(this.options);e.data!==void 0&&(this.setState(Lt(e.data,e.dataUpdatedAt)),this.#t=e)}}optionalRemove(){!this.observers.length&&this.state.fetchStatus==="idle"&&this.#s.remove(this)}setData(r,e){let t=de(this.state.data,r,this.options);return this.#c({data:t,type:"success",dataUpdatedAt:e?.updatedAt,manual:e?.manual}),t}setState(r){this.#c({type:"setState",state:r})}cancel(r){let e=this.#i?.promise;return this.#i?.cancel(r),e?e.then(w).catch(w):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(r=>I(r.options.enabled,this)!==!1)}isDisabled(){return this.getObserversCount()>0?!this.isActive():this.options.queryFn===se||!this.isFetched()}isFetched(){return this.state.dataUpdateCount+this.state.errorUpdateCount>0}isStatic(){return this.getObserversCount()>0?this.observers.some(r=>L(r.options.staleTime,this)==="static"):!1}isStale(){return this.getObserversCount()>0?this.observers.some(r=>r.getCurrentResult().isStale):this.state.data===void 0||this.state.isInvalidated}isStaleByTime(r=0){return this.state.data===void 0?!0:r==="static"?!1:this.state.isInvalidated?!0:!Se(this.state.dataUpdatedAt,r)}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(r){this.observers.includes(r)||(this.observers.push(r),this.clearGcTimeout(),this.#s.notify({type:"observerAdded",query:this,observer:r}))}removeObserver(r){this.observers.includes(r)&&(this.observers=this.observers.filter(e=>e!==r),this.observers.length||(this.#i&&(this.#a||this.#h()?this.#i.cancel({revert:!0}):this.#i.cancelRetry()),this.scheduleGc()),this.#s.notify({type:"observerRemoved",query:this,observer:r}))}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(r,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(r&&this.setOptions(r),!this.options.queryFn){let u=this.observers.find(h=>h.options.queryFn);u&&this.setOptions(u.options)}let t=new AbortController,s=o(u=>{Object.defineProperty(u,"signal",{enumerable:!0,get:o(()=>(this.#a=!0,t.signal),"get")})},"addSignalProperty"),i=o(()=>{let u=Te(this.options,e),d=o(()=>{let l={client:this.#n,queryKey:this.queryKey,meta:this.meta};return s(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 s(u),u},"createFetchContext")();(this.#e==="infinite"?_t(this.options.pages):this.options.behavior)?.onFetch(a,this),this.#r=this.state,(this.state.fetchStatus==="idle"||this.state.fetchMeta!==a.fetchOptions?.meta)&&this.#c({type:"fetch",meta:a.fetchOptions?.meta}),this.#i=Oe({initialPromise:e?.initialPromise,fn:a.fetchFn,onCancel:o(u=>{u instanceof Ie&&u.revert&&this.setState({...this.#r,fetchStatus:"idle"}),t.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.#s.config.onSuccess?.(u,this),this.#s.config.onSettled?.(u,this.state.error,this),u}catch(u){if(u instanceof Ie){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.#s.config.onError?.(u,this),this.#s.config.onSettled?.(this.state.data,u,this),u}finally{this.scheduleGc()}}#c(r){let e=o(t=>{switch(r.type){case"failed":return{...t,fetchFailureCount:r.failureCount,fetchFailureReason:r.error};case"pause":return{...t,fetchStatus:"paused"};case"continue":return{...t,fetchStatus:"fetching"};case"fetch":return{...t,...We(t.data,this.options),fetchMeta:r.meta??null};case"success":let s={...t,...Lt(r.data,r.dataUpdatedAt),dataUpdateCount:t.dataUpdateCount+1,...!r.manual&&{fetchStatus:"idle",fetchFailureCount:0,fetchFailureReason:null}};return this.#r=r.manual?s:void 0,s;case"error":let i=r.error;return{...t,error:i,errorUpdateCount:t.errorUpdateCount+1,errorUpdatedAt:Date.now(),fetchFailureCount:t.fetchFailureCount+1,fetchFailureReason:i,fetchStatus:"idle",status:"error",isInvalidated:!0};case"invalidate":return{...t,isInvalidated:!0};case"setState":return{...t,...r.state}}},"reducer");this.state=e(this.state),g.batch(()=>{this.observers.forEach(t=>{t.onQueryUpdate()}),this.#s.notify({query:this,type:"updated",action:r})})}};function We(r,e){return{fetchFailureCount:0,fetchFailureReason:null,fetchStatus:ze(e.networkMode)?"fetching":"paused",...r===void 0&&{error:null,status:"pending"}}}o(We,"fetchState");function Lt(r,e){return{data:r,dataUpdatedAt:e??Date.now(),error:null,isInvalidated:!1,status:"success"}}o(Lt,"successState");function Dt(r){let e=typeof r.initialData=="function"?r.initialData():r.initialData,t=e!==void 0,s=t?typeof r.initialDataUpdatedAt=="function"?r.initialDataUpdatedAt():r.initialDataUpdatedAt:0;return{data:e,dataUpdateCount:0,dataUpdatedAt:t?s??Date.now():0,error:null,errorUpdateCount:0,errorUpdatedAt:0,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:null,isInvalidated:!1,status:t?"success":"pending",fetchStatus:"idle"}}o(Dt,"getDefaultState");var Ge=class extends D{static{o(this,"QueryObserver")}constructor(r,e){super(),this.options=e,this.#e=r,this.#a=null,this.#o=le(),this.bindMethods(),this.setOptions(e)}#e;#t=void 0;#r=void 0;#s=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),qt(this.#t,this.options)?this.#f():this.updateResult(),this.#g())}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return Ve(this.#t,this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return Ve(this.#t,this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=new Set,this.#S(),this.#w(),this.#t.removeObserver(this)}setOptions(r){let e=this.options,t=this.#t;if(this.options=this.#e.defaultQueryOptions(r),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&&!ke(this.options,e)&&this.#e.getQueryCache().notify({type:"observerOptionsUpdated",query:this.#t,observer:this});let s=this.hasListeners();s&&Nt(this.#t,t,this.options,e)&&this.#f(),this.updateResult(),s&&(this.#t!==t||I(this.options.enabled,this.#t)!==I(e.enabled,this.#t)||L(this.options.staleTime,this.#t)!==L(e.staleTime,this.#t))&&this.#y();let i=this.#b();s&&(this.#t!==t||I(this.options.enabled,this.#t)!==I(e.enabled,this.#t)||i!==this.#u)&&this.#v(i)}getOptimisticResult(r){let e=this.#e.getQueryCache().build(this.#e,r),t=this.createResult(e,r);return Zr(this,t)&&(this.#s=t,this.#i=this.options,this.#n=this.#t.state),t}getCurrentResult(){return this.#s}trackResult(r,e){return new Proxy(r,{get:o((t,s)=>(this.trackProp(s),e?.(s),s==="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(t,s)),"get")})}trackProp(r){this.#m.add(r)}getCurrentQuery(){return this.#t}refetch({...r}={}){return this.fetch({...r})}fetchOptimistic(r){let e=this.#e.defaultQueryOptions(r),t=this.#e.getQueryCache().build(this.#e,e);return t.fetch().then(()=>this.createResult(t,e))}fetch(r){return this.#f({...r,cancelRefetch:r.cancelRefetch??!0}).then(()=>(this.updateResult(),this.#s))}#f(r){this.#C();let e=this.#t.fetch(this.options,r);return r?.throwOnError||(e=e.catch(w)),e}#y(){this.#S();let r=L(this.options.staleTime,this.#t);if(q.isServer()||this.#s.isStale||!ue(r))return;let t=Se(this.#s.dataUpdatedAt,r)+1;this.#d=U.setTimeout(()=>{this.#s.isStale||this.updateResult()},t)}#b(){return(typeof this.options.refetchInterval=="function"?this.options.refetchInterval(this.#t):this.options.refetchInterval)??!1}#v(r){this.#w(),this.#u=r,!(q.isServer()||I(this.options.enabled,this.#t)===!1||!ue(this.#u)||this.#u===0)&&(this.#l=U.setInterval(()=>{(this.options.refetchIntervalInBackground||re.isFocused())&&this.#f()},this.#u))}#g(){this.#y(),this.#v(this.#b())}#S(){this.#d!==void 0&&(U.clearTimeout(this.#d),this.#d=void 0)}#w(){this.#l!==void 0&&(U.clearInterval(this.#l),this.#l=void 0)}createResult(r,e){let t=this.#t,s=this.options,i=this.#s,n=this.#n,a=this.#i,u=r!==t?r.state:this.#r,{state:h}=r,d={...h},l=!1,f;if(e._optimisticResults){let F=this.hasListeners(),ce=!F&&qt(r,e),be=F&&Nt(r,t,e,s);(ce||be)&&(d={...d,...We(h.data,r.options)}),e._optimisticResults==="isRestoring"&&(d.fetchStatus="idle")}let{error:y,errorUpdatedAt:p,status:b}=d;f=d.data;let C=!1;if(e.placeholderData!==void 0&&f===void 0&&b==="pending"){let F;i?.isPlaceholderData&&e.placeholderData===a?.placeholderData?(F=i.data,C=!0):F=typeof e.placeholderData=="function"?e.placeholderData(this.#p?.state.data,this.#p):e.placeholderData,F!==void 0&&(b="success",f=de(i?.data,F,e),l=!0)}if(e.select&&f!==void 0&&!C)if(i&&f===n?.data&&e.select===this.#h)f=this.#c;else try{this.#h=e.select,f=e.select(f),f=de(i?.data,f,e),this.#c=f,this.#a=null}catch(F){this.#a=F}this.#a&&(y=this.#a,f=this.#c,p=Date.now(),b="error");let k=d.fetchStatus==="fetching",T=b==="pending",Q=b==="error",_=T&&k,G=f!==void 0,B={status:b,fetchStatus:d.fetchStatus,isPending:T,isSuccess:b==="success",isError:Q,isInitialLoading:_,isLoading:_,data:f,dataUpdatedAt:d.dataUpdatedAt,error:y,errorUpdatedAt:p,failureCount:d.fetchFailureCount,failureReason:d.fetchFailureReason,errorUpdateCount:d.errorUpdateCount,isFetched:r.isFetched(),isFetchedAfterMount:d.dataUpdateCount>u.dataUpdateCount||d.errorUpdateCount>u.errorUpdateCount,isFetching:k,isRefetching:k&&!T,isLoadingError:Q&&!G,isPaused:d.fetchStatus==="paused",isPlaceholderData:l,isRefetchError:Q&&G,isStale:Je(r,e),refetch:this.refetch,promise:this.#o,isEnabled:I(e.enabled,r)!==!1};if(this.options.experimental_prefetchInRender){let F=B.data!==void 0,ce=B.status==="error"&&!F,be=o(ge=>{ce?ge.reject(B.error):F&&ge.resolve(B.data)},"finalizeThenableIfPossible"),Ct=o(()=>{let ge=this.#o=B.promise=le();be(ge)},"recreateThenable"),ve=this.#o;switch(ve.status){case"pending":r.queryHash===t.queryHash&&be(ve);break;case"fulfilled":(ce||B.data!==ve.value)&&Ct();break;case"rejected":(!ce||B.error!==ve.reason)&&Ct();break}}return B}updateResult(){let r=this.#s,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),ke(e,r))return;this.#s=e;let t=o(()=>{if(!r)return!0;let{notifyOnChangeProps:s}=this.options,i=typeof s=="function"?s():s;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.#s).some(a=>{let c=a;return this.#s[c]!==r[c]&&n.has(c)})},"shouldNotifyListeners");this.#k({listeners:t()})}#C(){let r=this.#e.getQueryCache().build(this.#e,this.options);if(r===this.#t)return;let e=this.#t;this.#t=r,this.#r=r.state,this.hasListeners()&&(e?.removeObserver(this),r.addObserver(this))}onQueryUpdate(){this.updateResult(),this.hasListeners()&&this.#g()}#k(r){g.batch(()=>{r.listeners&&this.listeners.forEach(e=>{e(this.#s)}),this.#e.getQueryCache().notify({query:this.#t,type:"observerResultsUpdated"})})}};function Yr(r,e){return I(e.enabled,r)!==!1&&r.state.data===void 0&&!(r.state.status==="error"&&I(e.retryOnMount,r)===!1)}o(Yr,"shouldLoadOnMount");function qt(r,e){return Yr(r,e)||r.state.data!==void 0&&Ve(r,e,e.refetchOnMount)}o(qt,"shouldFetchOnMount");function Ve(r,e,t){if(I(e.enabled,r)!==!1&&L(e.staleTime,r)!=="static"){let s=typeof t=="function"?t(r):t;return s==="always"||s!==!1&&Je(r,e)}return!1}o(Ve,"shouldFetchOn");function Nt(r,e,t,s){return(r!==e||I(s.enabled,r)===!1)&&(!t.suspense||r.state.status!=="error")&&Je(r,t)}o(Nt,"shouldFetchOptionally");function Je(r,e){return I(e.enabled,r)!==!1&&r.isStaleByTime(L(e.staleTime,r))}o(Je,"isStale");function Zr(r,e){return!ke(r.getCurrentResult(),e)}o(Zr,"shouldAssignObserverCurrentProperties");var Kt=class extends Re{static{o(this,"Mutation")}#e;#t;#r;#s;constructor(r){super(),this.#e=r.client,this.mutationId=r.mutationId,this.#r=r.mutationCache,this.#t=[],this.state=r.state||es(),this.setOptions(r.options),this.scheduleGc()}setOptions(r){this.options=r,this.updateGcTime(this.options.gcTime)}get meta(){return this.options.meta}addObserver(r){this.#t.includes(r)||(this.#t.push(r),this.clearGcTimeout(),this.#r.notify({type:"observerAdded",mutation:this,observer:r}))}removeObserver(r){this.#t=this.#t.filter(e=>e!==r),this.scheduleGc(),this.#r.notify({type:"observerRemoved",mutation:this,observer:r})}optionalRemove(){this.#t.length||(this.state.status==="pending"?this.scheduleGc():this.#r.remove(this))}continue(){return this.#s?.continue()??this.execute(this.state.variables)}async execute(r){let e=o(()=>{this.#n({type:"continue"})},"onContinue"),t={client:this.#e,meta:this.options.meta,mutationKey:this.options.mutationKey};this.#s=Oe({fn:o(()=>this.options.mutationFn?this.options.mutationFn(r,t):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.#r.canRun(this),"canRun")});let s=this.state.status==="pending",i=!this.#s.canStart();try{if(s)e();else{this.#n({type:"pending",variables:r,isPaused:i}),this.#r.config.onMutate&&await this.#r.config.onMutate(r,this,t);let a=await this.options.onMutate?.(r,t);a!==this.state.context&&this.#n({type:"pending",context:a,variables:r,isPaused:i})}let n=await this.#s.start();return await this.#r.config.onSuccess?.(n,r,this.state.context,this,t),await this.options.onSuccess?.(n,r,this.state.context,t),await this.#r.config.onSettled?.(n,null,this.state.variables,this.state.context,this,t),await this.options.onSettled?.(n,null,r,this.state.context,t),this.#n({type:"success",data:n}),n}catch(n){try{await this.#r.config.onError?.(n,r,this.state.context,this,t)}catch(a){Promise.reject(a)}try{await this.options.onError?.(n,r,this.state.context,t)}catch(a){Promise.reject(a)}try{await this.#r.config.onSettled?.(void 0,n,this.state.variables,this.state.context,this,t)}catch(a){Promise.reject(a)}try{await this.options.onSettled?.(void 0,n,r,this.state.context,t)}catch(a){Promise.reject(a)}throw this.#n({type:"error",error:n}),n}finally{this.#r.runNext(this)}}#n(r){let e=o(t=>{switch(r.type){case"failed":return{...t,failureCount:r.failureCount,failureReason:r.error};case"pause":return{...t,isPaused:!0};case"continue":return{...t,isPaused:!1};case"pending":return{...t,context:r.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:r.isPaused,status:"pending",variables:r.variables,submittedAt:Date.now()};case"success":return{...t,data:r.data,failureCount:0,failureReason:null,error:null,status:"success",isPaused:!1};case"error":return{...t,data:void 0,error:r.error,failureCount:t.failureCount+1,failureReason:r.error,isPaused:!1,status:"error"}}},"reducer");this.state=e(this.state),g.batch(()=>{this.#t.forEach(t=>{t.onMutationUpdate(r)}),this.#r.notify({mutation:this,type:"updated",action:r})})}};function es(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:"idle",variables:void 0,submittedAt:0}}o(es,"getDefaultState");var Bt=class extends D{static{o(this,"MutationCache")}constructor(r={}){super(),this.config=r,this.#e=new Set,this.#t=new Map,this.#r=0}#e;#t;#r;build(r,e,t){let s=new Kt({client:r,mutationCache:this,mutationId:++this.#r,options:r.defaultMutationOptions(e),state:t});return this.add(s),s}add(r){this.#e.add(r);let e=Pe(r);if(typeof e=="string"){let t=this.#t.get(e);t?t.push(r):this.#t.set(e,[r])}this.notify({type:"added",mutation:r})}remove(r){if(this.#e.delete(r)){let e=Pe(r);if(typeof e=="string"){let t=this.#t.get(e);if(t)if(t.length>1){let s=t.indexOf(r);s!==-1&&t.splice(s,1)}else t[0]===r&&this.#t.delete(e)}}this.notify({type:"removed",mutation:r})}canRun(r){let e=Pe(r);if(typeof e=="string"){let s=this.#t.get(e)?.find(i=>i.state.status==="pending");return!s||s===r}else return!0}runNext(r){let e=Pe(r);return typeof e=="string"?this.#t.get(e)?.find(s=>s!==r&&s.state.isPaused)?.continue()??Promise.resolve():Promise.resolve()}clear(){g.batch(()=>{this.#e.forEach(r=>{this.notify({type:"removed",mutation:r})}),this.#e.clear(),this.#t.clear()})}getAll(){return Array.from(this.#e)}find(r){let e={exact:!0,...r};return this.getAll().find(t=>Ce(e,t))}findAll(r={}){return this.getAll().filter(e=>Ce(r,e))}notify(r){g.batch(()=>{this.listeners.forEach(e=>{e(r)})})}resumePausedMutations(){let r=this.getAll().filter(e=>e.state.isPaused);return g.batch(()=>Promise.all(r.map(e=>e.continue().catch(w))))}};function Pe(r){return r.options.scope?.id}o(Pe,"scopeFor");var jt=class extends D{static{o(this,"QueryCache")}constructor(r={}){super(),this.config=r,this.#e=new Map}#e;build(r,e,t){let s=e.queryKey,i=e.queryHash??he(s,e),n=this.get(i);return n||(n=new Ut({client:r,queryKey:s,queryHash:i,options:r.defaultQueryOptions(e),state:t,defaultOptions:r.getQueryDefaults(s)}),this.add(n)),n}add(r){this.#e.has(r.queryHash)||(this.#e.set(r.queryHash,r),this.notify({type:"added",query:r}))}remove(r){let e=this.#e.get(r.queryHash);e&&(r.destroy(),e===r&&this.#e.delete(r.queryHash),this.notify({type:"removed",query:r}))}clear(){g.batch(()=>{this.getAll().forEach(r=>{this.remove(r)})})}get(r){return this.#e.get(r)}getAll(){return[...this.#e.values()]}find(r){let e={exact:!0,...r};return this.getAll().find(t=>we(e,t))}findAll(r={}){let e=this.getAll();return Object.keys(r).length>0?e.filter(t=>we(r,t)):e}notify(r){g.batch(()=>{this.listeners.forEach(e=>{e(r)})})}onFocus(){g.batch(()=>{this.getAll().forEach(r=>{r.onFocus()})})}onOnline(){g.batch(()=>{this.getAll().forEach(r=>{r.onOnline()})})}};var Xe=class{static{o(this,"QueryClient")}#e;#t;#r;#s;#n;#i;#o;#a;constructor(r={}){this.#e=r.queryCache||new jt,this.#t=r.mutationCache||new Bt,this.#r=r.defaultOptions||{},this.#s=new Map,this.#n=new Map,this.#i=0}mount(){this.#i++,this.#i===1&&(this.#o=re.subscribe(async r=>{r&&(await this.resumePausedMutations(),this.#e.onFocus())}),this.#a=ie.subscribe(async r=>{r&&(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(r){return this.#e.findAll({...r,fetchStatus:"fetching"}).length}isMutating(r){return this.#t.findAll({...r,status:"pending"}).length}getQueryData(r){let e=this.defaultQueryOptions({queryKey:r});return this.#e.get(e.queryHash)?.state.data}ensureQueryData(r){let e=this.defaultQueryOptions(r),t=this.#e.build(this,e),s=t.state.data;return s===void 0?this.fetchQuery(r):(r.revalidateIfStale&&t.isStaleByTime(L(e.staleTime,t))&&this.prefetchQuery(e),Promise.resolve(s))}getQueriesData(r){return this.#e.findAll(r).map(({queryKey:e,state:t})=>{let s=t.data;return[e,s]})}setQueryData(r,e,t){let s=this.defaultQueryOptions({queryKey:r}),n=this.#e.get(s.queryHash)?.state.data,a=Rt(e,n);if(a!==void 0)return this.#e.build(this,s).setData(a,{...t,manual:!0})}setQueriesData(r,e,t){return g.batch(()=>this.#e.findAll(r).map(({queryKey:s})=>[s,this.setQueryData(s,e,t)]))}getQueryState(r){let e=this.defaultQueryOptions({queryKey:r});return this.#e.get(e.queryHash)?.state}removeQueries(r){let e=this.#e;g.batch(()=>{e.findAll(r).forEach(t=>{e.remove(t)})})}resetQueries(r,e){let t=this.#e;return g.batch(()=>(t.findAll(r).forEach(s=>{s.reset()}),this.refetchQueries({type:"active",...r},e)))}cancelQueries(r,e={}){let t={revert:!0,...e},s=g.batch(()=>this.#e.findAll(r).map(i=>i.cancel(t)));return Promise.all(s).then(w).catch(w)}invalidateQueries(r,e={}){return g.batch(()=>(this.#e.findAll(r).forEach(t=>{t.invalidate()}),r?.refetchType==="none"?Promise.resolve():this.refetchQueries({...r,type:r?.refetchType??r?.type??"active"},e)))}refetchQueries(r,e={}){let t={...e,cancelRefetch:e.cancelRefetch??!0},s=g.batch(()=>this.#e.findAll(r).filter(i=>!i.isDisabled()&&!i.isStatic()).map(i=>{let n=i.fetch(void 0,t);return t.throwOnError||(n=n.catch(w)),i.state.fetchStatus==="paused"?Promise.resolve():n}));return Promise.all(s).then(w)}fetchQuery(r){let e=this.defaultQueryOptions(r);e.retry===void 0&&(e.retry=!1);let t=this.#e.build(this,e);return t.isStaleByTime(L(e.staleTime,t))?t.fetch(e):Promise.resolve(t.state.data)}prefetchQuery(r){return this.fetchQuery(r).then(w).catch(w)}fetchInfiniteQuery(r){return r._type="infinite",this.fetchQuery(r)}prefetchInfiniteQuery(r){return this.fetchInfiniteQuery(r).then(w).catch(w)}ensureInfiniteQueryData(r){return r._type="infinite",this.ensureQueryData(r)}resumePausedMutations(){return ie.isOnline()?this.#t.resumePausedMutations():Promise.resolve()}getQueryCache(){return this.#e}getMutationCache(){return this.#t}getDefaultOptions(){return this.#r}setDefaultOptions(r){this.#r=r}setQueryDefaults(r,e){this.#s.set(X(r),{queryKey:r,defaultOptions:e})}getQueryDefaults(r){let e=[...this.#s.values()],t={};return e.forEach(s=>{j(r,s.queryKey)&&Object.assign(t,s.defaultOptions)}),t}setMutationDefaults(r,e){this.#n.set(X(r),{mutationKey:r,defaultOptions:e})}getMutationDefaults(r){let e=[...this.#n.values()],t={};return e.forEach(s=>{j(r,s.mutationKey)&&Object.assign(t,s.defaultOptions)}),t}defaultQueryOptions(r){if(r._defaulted)return r;let e={...this.#r.queries,...this.getQueryDefaults(r.queryKey),...r,_defaulted:!0};return e.queryHash||(e.queryHash=he(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===se&&(e.enabled=!1),e}defaultMutationOptions(r){return r?._defaulted?r:{...this.#r.mutations,...r?.mutationKey&&this.getMutationDefaults(r.mutationKey),...r,_defaulted:!0}}clear(){this.#e.clear(),this.#t.clear()}};var $=M(J(),1);var ne=M(J(),1),$t=M(Be(),1);var fe=ne.createContext(void 0),Ye=o(r=>{let e=ne.useContext(fe);if(r)return r;if(!e)throw new Error("No QueryClient set, use QueryClientProvider to set one");return e},"useQueryClient"),Ze=o(({client:r,children:e})=>(ne.useEffect(()=>(r.mount(),()=>{r.unmount()}),[r]),(0,$t.jsx)(fe.Provider,{value:r,children:e})),"QueryClientProvider");var pe=M(J(),1),ts=M(Be(),1);function rs(){let r=!1;return{clearReset:o(()=>{r=!1},"clearReset"),reset:o(()=>{r=!0},"reset"),isReset:o(()=>r,"isReset")}}o(rs,"createValue");var ss=pe.createContext(rs()),Ht=o(()=>pe.useContext(ss),"useQueryErrorResetBoundary");var zt=M(J(),1);var Wt=o((r,e,t)=>{let s=t?.state.error&&typeof r.throwOnError=="function"?Ee(r.throwOnError,[t.state.error,t]):r.throwOnError;(r.suspense||r.experimental_prefetchInRender||s)&&(e.isReset()||(r.retryOnMount=!1))},"ensurePreventErrorBoundaryRetry"),Vt=o(r=>{zt.useEffect(()=>{r.clearReset()},[r])},"useClearResetErrorBoundary"),Gt=o(({result:r,errorResetBoundary:e,throwOnError:t,query:s,suspense:i})=>r.isError&&!e.isReset()&&!r.isFetching&&s&&(i&&r.data===void 0||Ee(t,[r.error,s])),"getHasError");var Ae=M(J(),1);var Jt=Ae.createContext(!1),Xt=o(()=>Ae.useContext(Jt),"useIsRestoring"),go=Jt.Provider;var Yt=o(r=>{if(r.suspense){let t=o(i=>i==="static"?i:Math.max(i??1e3,1e3),"clamp"),s=r.staleTime;r.staleTime=typeof s=="function"?(...i)=>t(s(...i)):t(s),typeof r.gcTime=="number"&&(r.gcTime=Math.max(r.gcTime,1e3))}},"ensureSuspenseTimers"),Zt=o((r,e)=>r.isLoading&&r.isFetching&&!e,"willFetch"),er=o((r,e)=>r?.suspense&&e.isPending,"shouldSuspend"),et=o((r,e,t)=>e.fetchOptimistic(r).catch(()=>{t.clearReset()}),"fetchOptimistic");function tr(r,e,t){let s=Xt(),i=Ht(),n=Ye(t),a=n.defaultQueryOptions(r);n.getDefaultOptions().queries?._experimental_beforeQuery?.(a);let c=n.getQueryCache().get(a.queryHash),u=r.subscribed!==!1;a._optimisticResults=s?"isRestoring":u?"optimistic":void 0,Yt(a),Wt(a,i,c),Vt(i);let h=!n.getQueryCache().get(a.queryHash),[d]=$.useState(()=>new e(n,a)),l=d.getOptimisticResult(a),f=!s&&u;if($.useSyncExternalStore($.useCallback(y=>{let p=f?d.subscribe(g.batchCalls(y)):w;return d.updateResult(),p},[d,f]),()=>d.getCurrentResult(),()=>d.getCurrentResult()),$.useEffect(()=>{d.setOptions(a)},[a,d]),er(a,l))throw et(a,d,i);if(Gt({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&&!q.isServer()&&Zt(l,s)&&(h?et(a,d,i):c?.promise)?.catch(w).finally(()=>{d.updateResult()}),a.notifyOnChangeProps?l:d.trackResult(l)}o(tr,"useBaseQuery");function is(r,e){return tr(r,Ge,e)}o(is,"useQuery");var rr=M(Tt(),1);var Y=M(J(),1),tt=M(Be(),1);var sr=(0,Y.createContext)(null),ns=o(()=>new Xe({defaultOptions:{mutations:{retry:0},queries:{gcTime:5*6e4,retry:0,staleTime:Number.POSITIVE_INFINITY}}}),"Q"),as=o(r=>{let e=(0,rr.c)(9),{children:t,client:s,queryClient:i}=r,n=(0,Y.use)(fe),a;e[0]!==n||e[1]!==i?(a=o(()=>i??n??ns(),"o"),e[0]=n,e[1]=i,e[2]=a):a=e[2];let[c]=(0,Y.useState)(a),u=i??n??c,h;e[3]!==t||e[4]!==s?(h=(0,tt.jsx)(sr,{value:s,children:t}),e[3]=t,e[4]=s,e[5]=h):h=e[5];let d=h;if(n===u)return d;let l;return e[6]!==d||e[7]!==u?(l=(0,tt.jsx)(Ze,{client:u,children:d}),e[6]=d,e[7]=u,e[8]=l):l=e[8],l},"b"),rt=o(()=>{let r=(0,Y.use)(sr);if(!r)throw new m("INTERNAL","useLunora must be used inside <LunoraProvider />");return r},"q");var Fe=o(r=>{let e="";for(let t=0;t<r.length;t+=32768)e+=String.fromCharCode(...r.subarray(t,t+32768));return btoa(e)},"m"),os=o(r=>{let e=atob(r),t=new Uint8Array(e.length);for(let s=0;s<e.length;s+=1)t[s]=e.codePointAt(s)??0;return t},"A"),E="$lunora.wire$",Me="__proto__",ir={BigInt64Array,BigUint64Array,Float32Array,Float64Array,Int8Array,Int16Array,Int32Array,Uint8Array,Uint8ClampedArray,Uint16Array,Uint32Array},nr={Error,EvalError,RangeError,ReferenceError,SyntaxError,TypeError,URIError},st=o(r=>{if(r===null||typeof r!="object")return!1;let e=Object.getPrototypeOf(r);return e===null||e===Object.prototype},"l"),O=o((r,e=0)=>{if(e>64)throw new RangeError("wire-codec: value nesting exceeds the 64-level limit");if(r===void 0)return[E,"undefined"];if(r===null)return null;let t=typeof r;if(t==="bigint")return[E,"bigint",r.toString()];if(t==="number"){let n=r;return Number.isNaN(n)?[E,"nan"]:n===1/0?[E,"inf"]:n===-1/0?[E,"-inf"]:n}if(t!=="object")return r;if(r instanceof Date)return[E,"date",O(r.getTime(),e+1)];if(r instanceof Error){let n=r,a={};for(let u of Object.keys(n)){if(n[u]===void 0)continue;let h=O(n[u],e+1);u===Me?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(O(n.cause,e+1)),c}if(r instanceof URL)return[E,"url",r.href];if(r instanceof Map)return[E,"map",[...r.entries()].map(([n,a])=>[O(n,e+1),O(a,e+1)])];if(r instanceof Set)return[E,"set",[...r].map(n=>O(n,e+1))];if(r instanceof ArrayBuffer)return[E,"bytes",Fe(new Uint8Array(r)),"ArrayBuffer"];if(ArrayBuffer.isView(r)){let n=r,a=n.constructor.name,c=new Uint8Array(n.buffer,n.byteOffset,n.byteLength);return a==="Uint8Array"?[E,"bytes",Fe(c)]:[E,"bytes",Fe(c),a]}if(Array.isArray(r)){let n=r.map(a=>O(a,e+1));return n.length>0&&n[0]===E?[E,"arr",n]:n}if(!st(r)){let n=r.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 s=r,i={};for(let n of Object.keys(s)){let a=s[n];if(a===void 0)continue;let c=O(a,e+1);n===Me?Object.defineProperty(i,n,{configurable:!0,enumerable:!0,value:c,writable:!0}):i[n]=c}return i},"b"),S=o((r,e=0)=>{if(e>64)throw new RangeError("wire-codec: value nesting exceeds the 64-level limit");if(r===null||typeof r!="object")return r;if(Array.isArray(r)){if(r[0]===E)switch(r[1]){case"-inf":return-1/0;case"arr":return r[2].map(i=>S(i,e+1));case"bigint":{let i=r[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(r[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=r[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(r[2].map(i=>S(i,e+1)));case"url":{let i=r[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=r[2],n=r[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(nr,i)?nr[i]:void 0)??Error,c=new a(n);c.name!==i&&Object.defineProperty(c,"name",{configurable:!0,value:i,writable:!0});let u=S(r[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===Me?Object.defineProperty(c,h,{configurable:!0,enumerable:!0,value:u[h],writable:!0}):c[h]=u[h];return r.length>5&&Object.defineProperty(c,"cause",{configurable:!0,value:S(r[5],e+1),writable:!0}),c}case"bytes":{let i=r[2];if(typeof i!="string")throw new TypeError("wire-codec: malformed bytes \u2014 payload must be a base64 string");let n=os(i);if(Fe(n)!==i)throw new TypeError("wire-codec: malformed bytes \u2014 payload must be canonical padded base64");let a=r[3]??"Uint8Array";if(a==="ArrayBuffer")return n.buffer.byteLength===n.byteLength?n.buffer:n.slice().buffer;let c=Object.hasOwn(ir,a)?ir[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 r.map(i=>S(i,e+1))}return r.map(i=>S(i,e+1))}let t=r,s={};for(let i of Object.keys(t)){let n=S(t[i],e+1);i===Me?Object.defineProperty(s,i,{configurable:!0,enumerable:!0,value:n,writable:!0}):s[i]=n}return s},"y");var P=o(r=>new Promise((e,t)=>{r.addEventListener("success",()=>{e(r.result)}),r.addEventListener("error",()=>{t(r.error??new Error("IndexedDB request failed"))})}),"c"),xe=o((r,e,t,s)=>{let i;return()=>i||(i=new Promise((n,a)=>{let c=r.open(e,t);c.addEventListener("upgradeneeded",()=>{s(c.result)}),c.addEventListener("success",()=>{n(c.result)}),c.addEventListener("error",()=>{a(c.error??new Error("IndexedDB open failed"))})}),i)},"E"),Qe=o((r,e)=>async(t,s)=>{let i=(await r()).transaction(e,t),n=await s(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 Z=o((r,e,t)=>`${r}::${e}::${t??""}`,"T"),cs=500,us=o((r,e)=>{if(!Number.isInteger(r)||r<1)throw new m("INTERNAL",`${e}: maxEntries must be a positive integer, got ${String(r)}`);return r},"E");var hs="lunora-query-cache",ds="query-cache",ar="by_ts",ls=1,fs=o((r={})=>{let e=r.indexedDB??(typeof indexedDB>"u"?void 0:indexedDB);if(!e)throw new m("INTERNAL","createIndexedDbQueryCache: no IndexedDB available \u2014 pass `indexedDB` or use createInMemoryQueryCache()");let t=r.databaseName??hs,s=r.storeName??ds,i=us(r.maxEntries??cs,"createIndexedDbQueryCache"),n=xe(e,t,ls,u=>{u.objectStoreNames.contains(s)||u.createObjectStore(s,{keyPath:"key"}).createIndex(ar,"ts",{unique:!1})}),a=Qe(n,s),c=o(async u=>{let h=await P(u.count())-i;h<=0||await new Promise((d,l)=>{let f=u.index(ar).openCursor();f.addEventListener("success",()=>{let y=f.result;if(!y||h<=0){d();return}y.delete(),h-=1,y.continue()}),f.addEventListener("error",()=>{l(f.error??new Error("IndexedDB eviction failed"))})})},"y");return{clear:o(async()=>{await a("readwrite",u=>P(u.clear()))},"clear"),load:o(async()=>a("readonly",u=>P(u.getAll())),"load"),put:o(async(u,h)=>{await a("readwrite",async d=>{await P(d.put({...h,key:u})),await c(d)})},"put"),remove:o(async u=>{await a("readwrite",h=>P(h.delete(u)))},"remove")}},"N"),or=o(r=>{if(r!==!1){if(r)return r;if(!(typeof indexedDB>"u"))return fs()}},"L");var cr=o(()=>{let r=null;return{get:o(()=>r,"get"),set:o(e=>{r=e},"set")}},"r");var _e=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,t){if(t===void 0){this.reset(e);return}this.values.set(e.key,t),this.notify(e.key,t)}reset(e){this.values.delete(e.key),this.notify(e.key,e.defaultValue)}clear(){this.values.clear(),this.subscribers.clear()}subscribe(e,t){let s=this.subscribers.get(e.key);return s||(s=new Set,this.subscribers.set(e.key,s)),s.add(t),()=>{s.delete(t),s.size===0&&this.subscribers.delete(e.key)}}notify(e,t){let s=this.subscribers.get(e);if(s)for(let i of s)try{i(t)}catch{}}};var ur=0,ps="lunora-bridge",ms=1e3,ys=3e3,Le=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(ur+=1,this.tabId=`tab_${String(ur)}_${crypto.randomUUID()}`,this.heartbeatInterval=e.heartbeatInterval??ms,this.leaderTimeout=e.leaderTimeout??ys,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??ps),this.bc.addEventListener("message",t=>{this.handleMessage(t.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,t,s,i,n){this.leader&&this.broadcast({type:"subscription-data",tabId:this.tabId,key:e,data:t,...s===void 0?{}:{cursor:s},...i===void 0?{}:{epoch:i},...n===void 0?{}:{identity:n}})}broadcastSubscriptionError(e,t,s){this.leader&&this.broadcast({type:"subscription-error",tabId:this.tabId,key:e,error:t,...s===void 0?{}:{identity:s}})}broadcastSubscriptionSettled(e,t,s,i,n,a){this.leader&&this.broadcast({type:"subscription-settled",tabId:this.tabId,key:e,...t===void 0?{}:{cursor:t},...s===void 0?{}:{epoch:s},...i===void 0?{}:{lastMutationId:i},...n===void 0?{}:{clientId:n},...a===void 0?{}:{identity:a}})}broadcastConnectionStatus(e,t){this.leader&&this.broadcast({type:"connection-status",tabId:this.tabId,status:e,...t===void 0?{}:{identity:t}})}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 it="_id",nt="_creationTime",at="page",hr="pageDelta",bs=o(r=>{if(Array.isArray(r))return r;if(st(r)&&Array.isArray(r[at]))return r[at]},"y"),vs=o(r=>{let e;for(let t of r){let s=t[nt];if(typeof s=="number"){if(e!==void 0){if(s<e)return!0;if(s>e)return!1}e=s}}return!1},"l"),gs=o((r,e)=>{let t=e[nt];if(typeof t!="number")return r.length;let s=vs(r);for(let[i,n]of r.entries()){let a=n[nt];if(typeof a=="number"&&(s?a<t:a>t))return i}return r.length},"x"),Ss=o(r=>{if(typeof r!="object"||r===null)return;let e=r[it];return typeof e=="string"?e:void 0},"A"),dr=o(r=>{if(typeof r!="object"||r===null)return!1;let e=r;return typeof e.key=="string"&&typeof e.table=="string"&&(e.op==="insert"||e.op==="update"||e.op==="delete")},"b"),ws=o((r,e)=>{let t=[];for(let u of r){if(Ss(u)===void 0)return;t.push(u)}let{key:s,op:i,row:n}=e;if(i==="delete"){let u=t.filter(h=>h[it]!==s);return u.length===t.length?[...t]:u}if(n===void 0)return;let a=[...t],c=t.findIndex(u=>u[it]===s);return c===-1?a.splice(gs(t,n),0,n):a[c]=n,a},"I"),lr=o((r,e)=>{let t=bs(r);if(t===void 0)return;let s=ws(t,e);return s===void 0||Array.isArray(r)?s:{...r,[at]:s}},"E");var uc=new Set(Object.keys(kt)),N=class extends m{static{o(this,"E")}constructor(e,t){super("INTERNAL",e,{data:t})}};var ot=o(r=>{let e=r?.data?.retryAfterMs;return typeof e=="number"&&Number.isFinite(e)?e:void 0},"u");var Cs=1024,De=o(r=>{let e=r.maxBuffer??Cs,t=[],s=[],i=!1,n,a=!1,c=o(()=>{let d=s.shift();if(!d)return!1;if(n)return d.reject(n),!0;if(t.length>0){let l=t.shift();return d.resolve({done:!1,value:l}),!0}return i?(d.resolve({done:!0,value:void 0}),!0):(s.unshift(d),!1)},"u"),u={complete(){if(!(i||n))for(i=!0;c(););},fail(d){if(!(i||n))for(n=d,t.length=0;c(););},push(d){if(!(i||n||a)){if(t.length>=e){u.fail(new m("STREAM_BACKPRESSURE",`stream buffer overflow (max=${e.toString()}); the consumer cannot keep up with the producer`));return}t.push(d),c()}}},h=o(()=>{if(!a){a=!0,i=!0,t.length=0;try{r.onCancel()}catch{}for(;c(););}},"c");return{handle:u,iterable:{cancel:h,[Symbol.asyncIterator](){return{next(){if(n)return Promise.reject(n);if(t.length>0){let d=t.shift();return Promise.resolve({done:!1,value:d})}return i?Promise.resolve({done:!0,value:void 0}):new Promise((d,l)=>{s.push({reject:l,resolve:d})})},return(){return h(),Promise.resolve({done:!0,value:void 0})}}}}}},"p");var fr=/^ /u,pr=o(r=>typeof r=="object"&&r!==null?JSON.stringify(r):String(r),"p"),ks=o(r=>{let e="",t=[];for(let s of r.split(`
2
+ `))s.startsWith("event:")?e=s.slice(6).replace(fr,""):s.startsWith("data:")&&t.push(s.slice(5).replace(fr,""));return{data:t.join(`
3
+ `),event:e}},"S"),Ts=o((r,e,t)=>{let s=e.params??{},i=r.path.split("/").map(c=>{if(!c.startsWith(":"))return c;let u=c.slice(1),h=s[u];if(h===void 0)throw new m("HTTP_STREAM_MISSING_PARAM",`httpStream: missing path param ":${u}" for route ${r.path}`);return encodeURIComponent(pr(h))}).join("/"),n=new URLSearchParams;for(let[c,u]of Object.entries(e.searchParams??{}))u!==void 0&&n.set(c,pr(u));let a=n.toString();return`${t.endsWith("/")?t.slice(0,-1):t}${i}${a===""?"":`?${a}`}`},"T"),Es=o((r,e)=>{if(r.event==="complete")return e.complete(),!0;if(r.event==="error"){let t={};try{t=JSON.parse(r.data)}catch{}let s=typeof t.message=="string"?t.message:"stream error",i=typeof t.code=="string"?t.code:"HTTP_STREAM_ERROR";return e.fail(new m(i,s)),!0}if((r.event===""||r.event==="message")&&r.data!=="")try{e.push(S(JSON.parse(r.data)))}catch{return e.fail(new m("HTTP_STREAM_BAD_CHUNK","httpStream: malformed SSE chunk (invalid JSON)")),!0}return!1},"E"),Is=o(async(r,e)=>{let t=r.getReader(),s=new TextDecoder,i="",n=o(()=>{let a=i.indexOf(`
4
+
5
+ `);for(;a!==-1;){let c=ks(i.slice(0,a));if(i=i.slice(a+2),Es(c,e))return!0;a=i.indexOf(`
6
+
7
+ `)}return!1},"i");for(;;){let{done:a,value:c}=await t.read();if(a)break;if(i+=s.decode(c,{stream:!0}).replaceAll(`\r
8
+ `,`
9
+ `),n()){await t.cancel().catch(()=>{});return}}i+=s.decode().replaceAll(`\r
10
+ `,`
11
+ `),n()||e.fail(new m("HTTP_STREAM_INTERRUPTED","httpStream: stream ended without a complete frame"))},"b"),mr=o((r,e,t={})=>{let s=t.fetch??(typeof fetch=="function"?fetch.bind(globalThis):void 0);if(!s)throw new m("INTERNAL","httpStream: no `fetch` implementation available");let i=Ts(r,e??{},t.baseUrl??""),n=new AbortController,a;t.signal&&(t.signal.aborted?n.abort():(a=o(()=>{n.abort()},"s"),t.signal.addEventListener("abort",a,{once:!0})));let c=o(()=>{a&&t.signal?.removeEventListener("abort",a)},"d"),{handle:u,iterable:h}=De({maxBuffer:t.maxBuffer,onCancel:o(()=>{n.abort()},"onCancel")});return(async()=>{try{let d=await s(i,{headers:{accept:"text/event-stream",...t.headers},method:r.method,signal:n.signal});if(!d.ok){await d.body?.cancel().catch(()=>{}),u.fail(new m("HTTP_STREAM_STATUS",`httpStream: request failed (status ${d.status.toString()})`,{status:d.status}));return}if(!d.body){u.fail(new m("HTTP_STREAM_NO_BODY","httpStream: response has no body"));return}await Is(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 m("HTTP_STREAM_TRANSPORT",d instanceof Error?d.message:String(d),{cause:d}))}),h},"_");var Os=/["\\\u0000-\u001F\uD800-\uDFFF]/,yr=o(r=>Os.test(r)?JSON.stringify(r):`"${r}"`,"y"),ct=o(r=>{if(r===void 0)return"null";if(typeof r=="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 r=="number"){if(Number.isNaN(r))return"nan";if(r===1/0)return"inf";if(r===-1/0)return"-inf";if(Object.is(r,-0))return"-0"}if(typeof r=="string")return yr(r);if(r===null||typeof r!="object")return JSON.stringify(r);if(Array.isArray(r)){let a="[";for(let c=0;c<r.length;c++)c>0&&(a+=","),a+=ct(r[c]);return a+"]"}let e=Object.getPrototypeOf(r);if(e!==null&&e!==Object.prototype){let a=r.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 t=r,s=Object.keys(t).sort(),i="{",n=!0;for(let a of s){let c=t[a];c!==void 0&&(n?n=!1:i+=",",i+=yr(a),i+=":",i+=ct(c))}return i+"}"},"i"),H=o(r=>ct(O(r)),"u");var A=class r{static{o(this,"r")}static key(e,t,s){return`${e}::${H(t)}::${s??""}`}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(r.keyOf(e),e),this.byId.set(e.id,e)}remove(e){let t=r.keyOf(e);this.byKey.get(t)===e&&this.byKey.delete(t),this.byId.delete(e.id)}all(){return[...this.byKey.values()]}clear(){this.byKey.clear(),this.byId.clear()}};var z=o((r,e)=>{let t=r;for(let s of e)try{t=s.transform(t)}catch{}return t},"p"),K=o((r,e)=>{if(e!==r.lastValue){r.lastValue=e;for(let t of r.callbacks)try{t(e)}catch{}}},"u"),ut=o((r,e)=>{let t;try{t=e(r.lastValue)}catch{return}let s={id:Symbol("optimistic"),transform:e},i=!1;r.optimisticLayers.push(s),K(r,t);let n=o(()=>{let c=r.optimisticLayers.findIndex(u=>u.id===s.id);return c===-1?!1:(r.optimisticLayers.splice(c,1),!0)},"l"),a=o(()=>{K(r,z(r.serverBase,r.optimisticLayers))},"i");return{confirm:o(c=>{if(c===void 0){n();return}s.commitCursor=c,r.serverCursor!==void 0&&r.serverCursor>=c&&n()&&a()},"confirm"),rollback:o(()=>{i||(i=!0,n(),a())},"rollback")}},"y"),Ue=o((r,e)=>{if(e===void 0||r.optimisticLayers.length===0)return!1;let t=r.optimisticLayers.length;return r.optimisticLayers=r.optimisticLayers.filter(s=>s.commitCursor===void 0||s.commitCursor>e),r.optimisticLayers.length!==t},"h"),br=o((r,e)=>{let t=[],s=[],i=o((n,a)=>r.get(A.key(n,a,e)),"c");return{confirms:t,rollbacks:s,store:{getAllQueries:o(n=>{let a=[];for(let c of r.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=ut(u,()=>c);h&&(t.push(h.confirm),s.push(h.rollback))},"setQuery")}}},"L");var vr=0,Rs=o(()=>{if(typeof crypto<"u"&&typeof crypto.randomUUID=="function")return crypto.randomUUID();vr+=1;let r=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)}_${vr.toString(36)}_${r}`},"d"),ht=o((r,e)=>r!==void 0&&e!==r,"f"),Ne=Rs,W=o((r,e,t,s)=>{if(r)try{r({error:t,mutationId:s,operation:e});return}catch{}console.warn(`[lunora] offline-queue persistence ${e} failed`,t)},"o"),qe=class{static{o(this,"l")}queueBeforeFirstConnect;maxItems;onPersistenceError;persistence;onEvict;onSizeChange;version;items=[];constructor(e={},t={}){this.maxItems=e.maxItems??1e3,this.queueBeforeFirstConnect=e.queueBeforeFirstConnect??!1,this.onPersistenceError=e.onPersistenceError,this.persistence=t.persistence,this.onEvict=t.onEvict,this.onSizeChange=t.onSizeChange,this.version=t.version}get size(){return this.items.length}enqueue(e){let t=e;t.id??=Ne(),this.items.push(t),this.persistence?.append({args:t.args,...t.baselineSeq===void 0?{}:{baselineSeq:t.baselineSeq},clientId:t.clientId,functionPath:t.functionPath,id:t.id,identity:t.identity,shardKey:t.shardKey,...this.version===void 0?{}:{version:this.version}}).catch(s=>{W(this.onPersistenceError,"append",s,t.id)}),this.evictOverflow(),this.notifySize()}async hydrate(){if(!this.persistence)return[];let e;try{e=await this.persistence.load()}catch(a){throw W(this.onPersistenceError,"load",a),a}let t=[],s=new Set(this.items.map(a=>a.id));for(let a of e)if(!s.has(a.id)){if(ht(this.version,a.version)){this.persistence.remove(a.id).catch(c=>{W(this.onPersistenceError,"remove",c,a.id)});continue}s.add(a.id),t.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(...t),this.evictOverflow(),this.notifySize();let i=new Set(this.items),n=new Set;for(let a of t)i.has(a)&&n.add(a.shardKey);return[...n]}restampIdentity(e,t){for(let s of this.items){if(s.identity!==e)continue;s.identity=t;let{id:i}=s;if(!this.persistence||i===void 0)continue;let n={args:s.args,...s.baselineSeq===void 0?{}:{baselineSeq:s.baselineSeq},clientId:s.clientId,functionPath:s.functionPath,id:i,identity:t,shardKey:s.shardKey,...this.version===void 0?{}:{version:this.version}};this.rewriteStamp(i,n).catch(a=>{W(this.onPersistenceError,"replace",a,i)})}}hasPending(e){return this.items.some(t=>e(t))}drain(e){if(!e){let i=[...this.items];return this.items.length=0,this.notifySize(),i}let t=[],s=[];for(let i of this.items)(e(i)?t:s).push(i);return this.items.length=0,this.items.push(...s),this.notifySize(),t}requeue(e){e.length!==0&&(this.items.unshift(...e),this.notifySize())}drainConflict(){let e=[],t=[];for(let s of this.items)if(s.precondition!==void 0&&!s.precondition()){let i=new Error("offline mutation skipped: precondition failed before replay");i.code="OFFLINE_PRECONDITION_FAILED",s.reject(i),e.push(s)}else t.push(s);return e.length>0&&(this.items.length=0,this.items.push(...t),this.notifySize()),e}clear(){for(let e of this.items){let t=new Error("CLIENT_CLOSED");t.code="CLIENT_CLOSED",e.reject(t)}this.items.length=0,this.notifySize()}async rewriteStamp(e,t){let s=this.persistence;if(s)try{await s.replace(t)}catch(i){W(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(s=>{W(this.onPersistenceError,"remove",s,e.id)});let t=new Error("offline queue overflow");t.code="OFFLINE_QUEUE_OVERFLOW",e.reject(t),this.onEvict?.(e,t)}}}notifySize(){this.onSizeChange?.(this.items.length)}};var Ps="lunora-outbox",As="offline-mutations",dt="by_id",Fs=o((r={})=>{let e=r.indexedDB??(typeof indexedDB>"u"?void 0:indexedDB);if(!e)throw new m("INTERNAL","createIndexedDbPersistence: no IndexedDB available \u2014 pass `indexedDB` or use createInMemoryPersistence()");let t=r.databaseName??Ps,s=r.storeName??As,i=xe(e,t,1,a=>{a.objectStoreNames.contains(s)||a.createObjectStore(s,{autoIncrement:!0}).createIndex(dt,"id",{unique:!0})}),n=Qe(i,s);return{append:o(async a=>{await n("readwrite",c=>P(c.add(a)))},"append"),clear:o(async()=>{await n("readwrite",a=>P(a.clear()))},"clear"),load:o(async()=>n("readonly",a=>P(a.getAll())),"load"),remove:o(async a=>{await n("readwrite",async c=>{let u=await P(c.index(dt).getKey(a));u!==void 0&&await P(c.delete(u))})},"remove"),replace:o(async a=>{await n("readwrite",async c=>{let u=await P(c.index(dt).getKey(a.id));u!==void 0&&await P(c.put(a,u))})},"replace")}},"w"),gr=o((r,e=!0)=>{if(r!==!1){if(r)return r;if(!(!e||typeof indexedDB>"u"))return Fs()}},"b");var lt=o((r={},e=Math.random)=>{let t=r.initialDelayMs??250,s=r.maxDelayMs??3e4,i=r.jitter??!0,n=0;return{next(){let a=Math.min(s,t*2**n);if(n+=1,!i)return a;let c=a/2;return Math.floor(c+e()*(a-c))},reset(){n=0}}},"s");var Sr=new Set(["RATE_LIMITED","SHARD_ERROR","SHARD_UNAVAILABLE","TOO_MANY_REQUESTS"]),wr=new Set(["TOKEN_EXPIRED","UNAUTHENTICATED","UNAUTHORIZED"]),Cr=o(r=>wr.has(r?.code??""),"D"),kr=o(r=>{if(r instanceof N)return!0;let e=r?.code;return e===void 0||Sr.has(e)||wr.has(e)},"S"),Tr=6e4,Ms=1e3,Er=o(r=>{if(r===null)return;let e=Number(r);if(Number.isFinite(e))return e>0?e*1e3:void 0;let t=Date.parse(r);if(Number.isNaN(t))return;let s=t-Date.now();return s>0?s:void 0},"d"),xs={401:"UNAUTHORIZED",403:"FORBIDDEN",404:"NOT_FOUND",413:"PAYLOAD_TOO_LARGE",429:"TOO_MANY_REQUESTS"},me=o((r,e,t)=>{let s=Er(t),i=s===void 0?void 0:{retryAfterMs:s},n=`LunoraClient: response carried no error envelope (status ${r.toString()}${e?` ${e}`:""})`;return r<400||r>=500||r===408?new N(n,i):new m(xs[r]??"BAD_REQUEST",n,{data:i})},"O"),ae=o(r=>{let e=r?.error;return typeof e=="object"&&e!==null&&!Array.isArray(e)?e:void 0},"M"),Ir=o(()=>new N("LunoraClient: batch slot carried no error envelope"),"p"),Or=o((r,e)=>{let t=Er(e);if(!(t===void 0||ot(r)!==void 0))return r.data===void 0?{retryAfterMs:t}:typeof r.data=="object"&&r.data!==null&&!Array.isArray(r.data)?{...r.data,retryAfterMs:t}:void 0},"N"),ft=o((r,e=Math.random)=>{let t=Math.min(Ms*2**Math.max(r-1,0),Tr);return Math.round(t*(.5+e()*.5))},"_"),Qs=o(r=>r instanceof N||Sr.has(r?.code??""),"T"),Rr=o((r,e,t)=>{let s=ot(r);return s!==void 0&&s>0?Math.min(s,Tr):Qs(r)?ft(e,t):void 0},"v"),Pr=983040,Ar=o(r=>typeof TextEncoder>"u"?r.length:new TextEncoder().encode(r).length,"h");var Fr=o((r,e,t,s)=>{let i=r.peekActiveQuerySnapshot(e.__lunoraRef,t,s),n=i.present?H(i.value):void 0;return()=>{let a=r.peekActiveQuerySnapshot(e.__lunoraRef,t,s);return!i.present||!a.present?!0:H(a.value)===n}},"c");var pt=500,_s=o(async r=>{let e=[],t;for(;;){let s=await r(t);if(e.push(...Array.isArray(s.records)?s.records:[]),s.truncated!==!0||typeof s.cursor!="string"||s.cursor.length===0)return e;if(s.cursor===t)throw new Error("collectPages: the list did not advance its cursor \u2014 refusing to page forever");t=s.cursor}},"Re"),Mr=o((r,e)=>{if(r.size<e)return;let t=r.keys().next().value;t!==void 0&&r.delete(t)},"z"),te=class{static{o(this,"I")}listeners=new Set;add(e){return this.listeners.add(e),()=>{this.listeners.delete(e)}}emit(...e){let[t]=e;for(let s of this.listeners)try{s(t)}catch{}}clear(){this.listeners.clear()}},Ls=o(r=>{let{afterFailedAttempts:e,intervalMs:t,onStateChange:s,poll:i}=r,n=t>0&&e>0,a=0,c,u=!1,h=o(()=>{u||(u=!0,i().finally(()=>{u=!1}).catch(()=>{}))},"c"),d=o(()=>{c!==void 0&&(clearInterval(c),c=void 0,s())},"d");return{isPolling:o(()=>c!==void 0,"isPolling"),noteFailedOpen:o(()=>{a+=1,!(!n||c!==void 0||a<e)&&(c=setInterval(h,t),s(),h())},"noteFailedOpen"),noteOpen:o(()=>{a=0,d()},"noteOpen"),stop:d}},"Pe"),Ds="/_lunora/rpc",xr="/_lunora/rpc-batch",Us="/_lunora/ws",mt=o(r=>r===void 0||r===""?"":`&bucket=${encodeURIComponent(r)}`,"N"),ye=o(r=>{for(let e=r.length-1;e>=0;e-=1)r[e]?.()},"O"),Qr=Symbol("lunora.unmergeableDelta"),qs=o((r,e)=>{for(let t of e)t.op==="delete"?r.delete(t.key):t.value!==void 0&&r.set(t.key,t.value)},"He"),Ns="lunora-ping",Ks=3e4,Bs=1e4,js=5e3,$s=3,Hs=250,zs=5e3,Ws=64,Vs=3,Gs=1e4,Js=8,Xs="/_lunora/admin/shard-traffic",Ys="/_lunora/admin/scheduled",Zs="/_lunora/admin/scheduled/status",ei="/_lunora/admin/scheduled/ws",ti="/_lunora/admin/scheduled/cancel",_r="/_lunora/admin/scheduled/dead",ri="/_lunora/admin/scheduled/dead/retry",si="/_lunora/admin/scheduled/dead/cancel",ii="/_lunora/admin/workflows/instances",ni="/_lunora/admin/workflows/instance",ai="/_lunora/admin/workflows/status",yt="/_lunora/admin/storage",oi="/_lunora/admin/storage/url",ci="/_lunora/admin/storage/buckets",ui="/_lunora/admin/functions",hi="/_lunora/admin/cron-jobs",di="/_lunora/admin/cron-jobs/run",li="/_lunora/admin/openapi",fi="/_lunora/admin/openrpc",pi="/_lunora/admin/global/tables",mi="/_lunora/admin/global/table",yi="/_lunora/admin/global/facet",bi="/_lunora/admin/vector/indexes",vi="/_lunora/admin/vector/query",gi="/_lunora/admin/logs/archive",Si="/_lunora/admin/kv/namespaces",wi="/_lunora/admin/kv/keys",bt="/_lunora/admin/kv/value",Ci="/_lunora/admin/auth/users",ki="/_lunora/admin/auth/sessions",Ti="/_lunora/admin/auth/users/create",Ei="/_lunora/admin/auth/users/role",Ii="/_lunora/admin/auth/users/ban",Oi="/_lunora/admin/auth/users/unban",Ri="/_lunora/admin/auth/users/password",Pi="/_lunora/admin/auth/users/remove",Ai="/_lunora/admin/auth/users/impersonate",Fi="/_lunora/admin/auth/sessions/revoke",Mi="/_lunora/admin/auth/sessions/revoke-all",xi="/_lunora/admin/auth/capabilities",Qi="/_lunora/admin/auth/users/update",_i="/_lunora/admin/auth/accounts",Li="/_lunora/admin/auth/accounts/unlink",Di="/_lunora/admin/auth/passkeys",Ui="/_lunora/admin/auth/passkeys/delete",qi="/_lunora/admin/auth/two-factor/disable",Ni="/_lunora/admin/auth/organizations",Ki="/_lunora/admin/auth/organizations/members",Bi="/_lunora/admin/auth/organizations/invitations",ji="/_lunora/admin/auth/organizations/members/remove",$i="/_lunora/admin/auth/organizations/invitations/cancel",Hi="/_lunora/admin/auth/config",zi="/_lunora/admin/auth/sign-up-invitations",Wi="/_lunora/admin/auth/sign-up-invitations/create",Vi="/_lunora/admin/auth/sign-up-invitations/revoke",Gi="/_lunora/admin/auth/organizations/create",Ji="/_lunora/admin/auth/organizations/update",Xi="/_lunora/admin/auth/organizations/remove",Yi="/_lunora/admin/auth/organizations/members/add",Zi="/_lunora/admin/auth/organizations/members/invite",en="/_lunora/admin/auth/organizations/members/role",tn="/_lunora/admin/auth/organizations/teams",rn="/_lunora/admin/auth/organizations/teams/create",sn="/_lunora/admin/auth/organizations/teams/update",nn="/_lunora/admin/auth/organizations/teams/remove",an="/_lunora/admin/auth/organizations/teams/members",on="/_lunora/admin/auth/organizations/teams/members/add",cn="/_lunora/admin/auth/organizations/teams/members/remove",un="/_lunora/admin/auth/organizations/roles",hn="/_lunora/admin/auth/organizations/roles/create",dn="/_lunora/admin/auth/organizations/roles/update",ln="/_lunora/admin/auth/organizations/roles/remove",fn="/api/auth",pn="/get-session",Lr=o(r=>r.startsWith("https://")?`wss://${r.slice(8)}`:r.startsWith("http://")?`ws://${r.slice(7)}`:r,"X"),ee=o((r,e)=>`${r.endsWith("/")?r.slice(0,-1):r}${e}`,"C"),R=o((r,e)=>{let t=new URLSearchParams;for(let[i,n]of Object.entries(e))n!==void 0&&n!==""&&t.set(i,String(n));let s=t.toString();return s===""?r:`${r}?${s}`},"b"),mn=[hr],v=o(r=>r??"","l"),qr=o((r,e)=>{let t=r.error,s=typeof t?.code=="string"?t.code:void 0,i=typeof t?.message=="string"?t.message:void 0;return{code:s,messageText:(typeof r.message=="string"?r.message:void 0)??i??e}},"te"),yn=o(r=>{let{code:e,messageText:t}=qr(r,"stream error");return e===void 0?new Error(t):new m(e,t)},"ds"),Dr=o(r=>{let{code:e,messageText:t}=qr(r,"subscription error");return{message:t,...e===void 0?{}:{code:e}}},"Z");function vt(r){if(r!==void 0)return e=>{r(e)}}o(vt,"q");var oe=o((r,e)=>{for(let t of r)try{t(e)}catch{}},"_"),bn=new TextDecoder,vn=o(r=>{if(typeof r=="string")return r;if(r instanceof ArrayBuffer)return bn.decode(r)},"ls"),x=o((r,e)=>{if(!r.socket||r.wsState!=="open")return!1;try{return r.socket.send(JSON.stringify(e)),!0}catch{return!1}},"S"),wt=o(r=>{let e=new Error(r.message??"request failed");return e.code=r.code,r.data!==void 0&&(e.data=S(r.data)),r.hint!==void 0&&(e.hint=r.hint),r.docsUrl!==void 0&&(e.docsUrl=r.docsUrl),e},"D"),Ur=o((r,e)=>{let t=wt(r),s=Or(t,e);return s!==void 0&&(t.data=s),t},"ee"),V=o((r,e)=>{try{return O(r)}catch(t){let s=t instanceof Error?t.message:String(t);throw new TypeError(`LunoraClient: cannot encode ${e} \u2014 ${s}`,t instanceof Error?{cause:t}:void 0)}},"k"),gt=o(r=>"args"in r?{...r,args:S(r.args)}:r,"K"),Nr=o(r=>{let e=ae(r);return e===void 0?Ir():wt(e)},"se"),gn=o((r,e)=>{let t=Array.from({length:e});for(let s of r){if(typeof s.id!="number"||s.id<0||s.id>=e)continue;let i=s.body;t[s.id]=i!==void 0&&"error"in i?{error:Nr(i),ok:!1}:{ok:!0,value:S(i?.result)}}return t.map(s=>s??{error:new Error("batch call returned no result"),ok:!1})},"fs"),Sn=Promise.resolve(),St=class r{static{o(this,"re")}static MAX_POKE_BUFFERS=256;static createClientQuery(e,t){return{defaultValue:t,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 A;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;identityResolutionExpected=!1;identitySettled=!1;queuedIdentities=new Map;queuedOfflineShardKeys=new Set;closed=!1;authTokenListeners=new te;statusListeners=new te;tokenExpiredListeners=new te;authRefusalNotifiedFor;mutationSettledListeners=new te;pendingChangeListeners=new te;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(Lr(e.url),Us),this.wsToken=e.wsToken;let t=e.authBasePath??fn;this.authBasePath=t.endsWith("/")?t.slice(0,-1):t,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??cr(),this.reconnectOptions=e.reconnect,this.heartbeatIntervalMs=e.heartbeatIntervalMs??Ks,this.connectTimeoutMs=e.connectTimeoutMs??Bs,this.pollingFallbackIntervalMs=e.pollingFallback?.intervalMs??js,this.pollingFallbackAfterFailedAttempts=e.pollingFallback?.afterFailedAttempts??$s,this.defaultConnectionContext=e.connectionContext,this.persistence=gr(e.persistence,e.outbox===void 0),this.persistenceVersion=e.persistenceVersion,this.queryCache=or(e.queryCache),this.onPersistenceError=e.offlineQueue?.onPersistenceError,this.clientQueryStore=new _e,e.crossTabSync?(this.tabCoordinator=this.createTabCoordinator(),this.tabCoordinator.start()):this.tabCoordinator=void 0,e.hydrateOnStart&&this.queryCache?this.readyPromise=new Promise(s=>{this.readyResolve=s}):(this.readyResolved=!0,this.readyPromise=Sn),this.offlineQueue=new qe(e.offlineQueue,{onEvict:o((s,i)=>{this.emitItemSettled(s,"rejected",i)},"onEvict"),onSizeChange:o(s=>{this.pendingChangeListeners.emit(s)},"onSizeChange"),persistence:this.persistence,version:e.persistenceVersion}),this.outbox=e.outbox,this.clientId=e.clientId??`client-${Ne()}`,this.persistence&&queueMicrotask(()=>{this.hydrateAsOutboxLeader()}),this.queryCache&&queueMicrotask(()=>{(async()=>{try{await this.hydrateQueryCache()}catch{}finally{this.readyResolved=!0,this.readyResolve?.()}})().catch(()=>{})})}setAuthToken(e,t){let s=this.authToken!==e,i=this.identityFingerprint(),n=this.authSubject===void 0||this.subjectToken===this.authToken,a=this.subjectAwaitingReconfirm();this.authToken=e,t!==void 0?(this.authSubject=t,this.subjectToken=e):e===null&&(this.authSubject=void 0,this.subjectToken=null);let c=this.identityFingerprint();c!==i&&(!s&&e!==null&&n?(this.restampQueuedIdentity(i,c),this.restampWatermarks(i,c),this.restampConnectionIdentity(i,c),this.reseedFromHydratedCache()):!s&&e===null&&i===null&&n?(this.restampWatermarks(i,c),this.restampConnectionIdentity(i,c),this.reseedFromHydratedCache()):(this.rejectQueuedForIdentityChange(i),i!==null&&this.evictPreviousIdentitySession()),this.restartTabCoordinatorForIdentity()),this.syncReadCacheToCredential(a),s&&this.authTokenListeners.emit(e),this.offlineQueue.size>0&&this.computeStatus()==="connected"&&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 t=this.identityFingerprint();return t===null&&this.identityUnresolved()?"unknown":e===t||e!==void 0&&this.isSameCredentialUnderTokenHash(e)?"match":t===null?"unknown":"mismatch"}clientIdentifier(){return this.clientId}confirmedMutationWatermark(e){return this.clientWatermarks.get(this.identityFingerprint()??"")?.get(e??"")??0}async callMutator(e,t,s){let i=s?.clientSeq;if(i!==void 0&&(!Number.isInteger(i)||i<=0))throw new m("INTERNAL",`callMutator: clientSeq must be a positive integer, got ${String(i)}`);let n=s?.shardKey??"",a=this.identityFingerprint(),c,u=await this.rpc(e,t,s?.shardKey,{captureBookmark:!0,clientId:this.clientId,clientSeq:i,onMutationAck:o(h=>{c=h},"onMutationAck")});if(c!==void 0&&c>(this.clientWatermarks.get(a??"")?.get(n)??0)){let h=this.clientWatermarks.get(a??"");h===void 0&&(Mr(this.clientWatermarks,Js),h=new Map,this.clientWatermarks.set(a??"",h)),h.set(n,c)}return{applied:c===void 0||c===i,result:u}}onAuthTokenChange(e){return this.authTokenListeners.add(e)}async getCurrentUser(){if(this.identityResolutionExpected=!0,this.closed||!this.fetchImpl)return this.identitySettled=!0,null;let e={},t=this.authToken;this.authToken&&(e.authorization=`Bearer ${this.authToken}`),this.sessionProbesInFlight+=1,this.sessionProbeGeneration+=1;let s=this.sessionProbeGeneration;try{let i=await this.fetchImpl(ee(this.url,`${this.authBasePath}${pn}`),{credentials:"include",headers:e,method:"GET"});if(!i.ok)return this.identitySettled=!0,null;let n=(await i.json())?.user??null;return this.identitySettled=!0,this.adoptResolvedSubject(t,n,s),n}finally{this.releaseSessionProbe()}}setWsToken(e){this.wsToken!==e&&(this.wsToken=e,this.bounceShardSockets())}setConnectionContext(e,t={}){this.assertLeaderOwnedSurface("setConnectionContext");let s=v(t.shardKey);e===void 0?this.connectionContexts.delete(s):this.connectionContexts.set(s,e),this.refreshConnectionContext(s)}acquireConnectionContext(e,t={}){if(this.followsAnotherTab())return()=>{};let s=v(t.shardKey),i={context:e},n=this.connectionContextHolders.get(s);n?n.push(i):this.connectionContextHolders.set(s,[i]),this.refreshConnectionContext(s);let a=!1;return()=>{if(a)return;a=!0;let c=this.connectionContextHolders.get(s);if(!c)return;let u=c.indexOf(i);u!==-1&&c.splice(u,1),c.length===0&&this.connectionContextHolders.delete(s),this.refreshConnectionContext(s)}}whisperSubscribe(e,t,s={}){this.assertLeaderOwnedSurface("whisperSubscribe");let i=v(s.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(t),this.ensureSocket(s.shardKey),c){let u=this.getConnection(s.shardKey);u&&x(u,{topic:e,type:"whisper_subscribe"})}return()=>{let u=this.whisperHandlers.get(i),h=u?.get(e);if(!h?.delete(t)||h.size>0)return;u?.delete(e),u?.size===0&&this.whisperHandlers.delete(i);let d=this.getConnection(s.shardKey);d&&x(d,{topic:e,type:"whisper_unsubscribe"})}}whisper(e,t,s={}){this.assertLeaderOwnedSurface("whisper"),this.ensureSocket(s.shardKey);let i=this.getConnection(s.shardKey);i&&x(i,{data:V(t??null,`whisper data for topic '${e}'`),topic:e,type:"whisper"})}onTokenExpired(e){return this.tokenExpiredListeners.add(e)}connectionStatus(){return this.computeStatus()}onConnectionStatus(e){let t=this.statusListeners.add(e);return e(this.computeStatus()),t}pendingCount(){return this.offlineQueue.size}debug(){let e=[],t=this.clientWatermarks.get(this.identityFingerprint()??""),s=new Set([...this.connections.keys(),...t?.keys()??[]]);for(let n of s){let a=this.connections.get(n);e.push({confirmedMutationWatermark:t?.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 t=this.pendingChangeListeners.add(e);return e(this.offlineQueue.size),t}onMutationSettled(e){return this.mutationSettledListeners.add(e)}getWebSocketImpl(){return this.WebSocketImpl}getClientQuery(e){return this.clientQueryStore.get(e)}setClientQuery(e,t){this.clientQueryStore.set(e,t)}subscribeClientQuery(e,t){return this.clientQueryStore.subscribe(e,t)}resetClientQuery(e){this.clientQueryStore.reset(e)}snapshotPrecondition(e,t,s){return Fr(this,e,t,s)}whenReady(){return this.readyPromise}get isReady(){return this.readyResolved}peekHydratedQuery(e,t,s){if(!this.readyResolved)return;let i=H(t),n=Z(e,i,s),a=this.hydratedQueryCache.get(n);if(a!==void 0)return this.cachedQueryMatchesIdentity(a)?a.value:void 0}peekActiveQuerySnapshot(e,t,s){let i=A.key(e,t,s),n=this.subscriptions.get(i);return{present:n!==void 0,value:n?.lastValue}}async query(e,t,s={}){return this.assertOpen(),await this.rpc(e.__lunoraRef,t,s.shardKey,{attachBookmark:!0})}async batch(e){if(this.assertOpen(),!this.fetchImpl)throw new m("INTERNAL","LunoraClient: no `fetch` implementation available");if(e.length===0)return[];let t=await this.fetchImpl(ee(this.url,xr),{body:JSON.stringify({calls:e.map((a,c)=>({args:V(a.args??{},`args for batch call '${a.fn.__lunoraRef}'`),functionPath:a.fn.__lunoraRef,id:c,shardKey:a.shardKey}))}),headers:this.rpcRequestHeaders({attachBookmark:!0}),method:"POST"}),s=t.headers.get("x-d1-bookmark");s&&this.bookmark.set(s);let i;try{i=await t.json()}catch{throw new m("INTERNAL",`LunoraClient: batch response was not JSON (status ${t.status.toString()})`)}let n=ae(i);if(!t.ok||n!==void 0&&!i.results)throw n!==void 0?wt(n):new m("INTERNAL",`LunoraClient: batch request failed (status ${t.status.toString()})`);for(let a of i.results??[]){let c=a.body?.commitCursor;typeof a.id=="number"&&typeof c=="number"&&this.recordShardCursor(e[a.id]?.shardKey,c)}return gn(i.results??[],e.length)}async mutation(e,t,s={}){this.assertOpen();let i=t,n=s.mutationId??Ne(),a=s.replayBaseline===void 0?this.baselineCursorFor(s.shardKey):s.replayBaseline??void 0,{confirms:c,rollbacks:u}=this.applyOptimisticUpdates(e.__lunoraRef,i,s.shardKey,s.optimistic);s.optimisticUpdate&&this.applyOptimisticUpdate(s.optimisticUpdate,t,s.shardKey,u,c);let h=this.offlineFlushes.get(v(s.shardKey));h!==void 0&&await h;let{hasSocket:d,wasEverConnected:l,wsState:f}=this.connectionGateState(s.shardKey),{queueBeforeFirstConnect:y}=this.offlineQueue,p=l||y,b=this.WebSocketImpl!==void 0&&p,C=f==="connecting"&&p,k=b&&s.mutationId===void 0&&this.hasPendingWriteAhead(s.shardKey);if(f!=="open"&&!d&&b||C||k)return this.enqueueOfflineMutation(e,i,s.shardKey,a,n,u,c,s.precondition);try{let T,Q=await this.rpc(e.__lunoraRef,i,s.shardKey,{baselineSeq:a,captureBookmark:!0,mutationId:n,onCommitCursor:o(_=>{T=_},"onCommitCursor")});for(let _ of c)_(T);return Q}catch(T){throw ye(u),T}}async action(e,t,s={}){return this.assertOpen(),await this.rpc(e.__lunoraRef,t,s.shardKey,{attachBookmark:!0,captureBookmark:!0})}async importRows(e,t,s={}){this.assertOpen();let i=Math.max(1,Math.trunc(s.chunkSize??500)),n=s.toArgs??(h=>({rows:h})),a=t.length,c=0,u=0;for(let h=0;h<a;h+=i){let d=t.slice(h,h+i),l=u;await this.mutation(e,n(d),{...s.importId===void 0?{}:{mutationId:`${s.importId}:${String(l)}`},shardKey:s.shardKey}),u+=1,c+=d.length,s.onProgress?.({done:c,total:a})}return{chunks:u,imported:c}}async shardTraffic(e){this.assertOpen();let t=await this.adminFetch(Xs,"POST",{table:e});return{failed:t.failed??0,ok:t.ok??0,shards:t.shards??[]}}async listScheduledJobs(){return this.assertOpen(),((await this.adminFetch(Ys,"GET")).records??[]).map(e=>gt(e))}async schedulerStatus(){this.assertOpen();let e=await this.adminFetch(Zs,"GET");return{backlog:e.backlog??0,inFlight:e.inFlight??0,pools:e.pools??[]}}async cancelScheduledJob(e){return this.assertOpen(),{cancelled:(await this.adminFetch(ti,"POST",{id:e})).cancelled===!0}}async listDeadJobs(){return this.assertOpen(),(await _s(async e=>await this.adminFetch(e===void 0?_r:`${_r}?cursor=${encodeURIComponent(e)}`,"GET"))).map(e=>gt(e))}async retryDeadJob(e){return this.assertOpen(),{retried:(await this.adminFetch(ri,"POST",{id:e})).retried===!0}}async removeDeadJob(e){return this.assertOpen(),{removed:(await this.adminFetch(si,"POST",{id:e})).removed===!0}}async listWorkflowInstances(e){this.assertOpen();let t=new URLSearchParams({name:e.name});e.status!==void 0&&t.set("status",e.status),e.page!==void 0&&t.set("page",String(e.page)),e.perPage!==void 0&&t.set("perPage",String(e.perPage));let s=await this.adminFetch(`${ii}?${t.toString()}`,"GET");return{configured:s.configured,instances:s.instances??[],page:s.page??1,perPage:s.perPage??e.perPage??0,totalCount:s.totalCount}}async getWorkflowInstance(e){this.assertOpen();let t=new URLSearchParams({id:e.id,name:e.name}),s=await this.adminFetch(`${ni}?${t.toString()}`,"GET");return{createdOn:s.createdOn,endedOn:s.endedOn,error:s.error,id:s.id??e.id,output:s.output,params:s.params,startedOn:s.startedOn,status:s.status??"unknown",steps:s.steps??[]}}async setWorkflowInstanceStatus(e){return this.assertOpen(),{status:(await this.adminFetch(ai,"POST",{action:e.action,id:e.id,name:e.name})).status??"unknown"}}subscribeScheduledJobs(e){if(this.assertOpen(),this.WebSocketImpl===void 0)return()=>{};let t=ee(Lr(this.url),ei),s=lt(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,s.next()))},"a"),u=o(f=>{if(a||this.WebSocketImpl===void 0)return;let y=f===void 0?t:`${t}?token=${encodeURIComponent(f)}`;this.openManagedSocket(i,y,this.connectTimeoutMs,{onClose:o(()=>{c()},"onClose"),onMessage:o(p=>{let b;try{b=JSON.parse(typeof p.data=="string"?p.data:"")}catch{return}b.type==="jobs"&&Array.isArray(b.records)&&(s.reset(),e(b.records.map(C=>gt(C))))},"onMessage")})},"o"),h=o(async f=>{let y;try{y=await f()}catch{c();return}u(y)},"c"),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(ui,"GET")).functions??[]}async getCronJobs(){return this.assertOpen(),(await this.adminFetch(hi,"GET")).jobs??[]}async runCronJob(e){this.assertOpen();let t=await this.adminFetch(di,"POST",{name:e});return{name:t.name??e,ran:t.ran===!0}}async fetchOpenApi(){return this.assertOpen(),await this.adminFetch(li,"GET")}async fetchOpenRpc(){return this.assertOpen(),await this.adminFetch(fi,"GET")}async listStorageObjects(e={}){this.assertOpen();let t=R(yt,{bucket:e.bucket,cursor:e.cursor,limit:e.limit,prefix:e.prefix}),s=await this.adminFetch(t,"GET");return{cursor:s.cursor,objects:s.objects??[]}}async deleteStorageObject(e,t){this.assertOpen();let s=`${yt}?key=${encodeURIComponent(e)}${mt(t?.bucket)}`,i=await this.adminFetch(s,"DELETE");return{deleted:i.deleted===!0,key:i.key??e}}async listStorageBuckets(){return this.assertOpen(),(await this.adminFetch(ci,"GET")).buckets??[]}async uploadStorageObject(e){this.assertOpen();let t=`${yt}?key=${encodeURIComponent(e.key)}${mt(e.bucket)}`,s=await this.adminFetch(t,"PUT",e.body,e.contentType);return{etag:s.etag,key:s.key??e.key}}async signedStorageUrl(e,t){this.assertOpen();let s=t?.expiresInSeconds,i=s===void 0?"":`&expiresIn=${encodeURIComponent(s.toString())}`,n=`${oi}?key=${encodeURIComponent(e)}${i}${mt(t?.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(pi,"GET")}async readGlobalTablePage(e){this.assertOpen();let t=new URLSearchParams({table:e.table});return e.limit!==void 0&&t.set("limit",String(e.limit)),e.offset!==void 0&&t.set("offset",String(e.offset)),e.filters!==void 0&&e.filters.length>0&&t.set("filters",JSON.stringify(O(e.filters))),S(await this.adminFetch(`${mi}?${t.toString()}`,"GET"))}async facetGlobalColumn(e){this.assertOpen();let t=new URLSearchParams({column:e.column,table:e.table});return e.limit!==void 0&&t.set("limit",String(e.limit)),e.filters!==void 0&&e.filters.length>0&&t.set("filters",JSON.stringify(O(e.filters))),S(await this.adminFetch(`${yi}?${t.toString()}`,"GET"))}async listVectorIndexes(){return this.assertOpen(),(await this.adminFetch(bi,"GET")).indexes??[]}async queryVectorIndex(e){return this.assertOpen(),(await this.adminFetch(vi,"POST",e)).matches??[]}async queryLogArchive(e={}){this.assertOpen();let t=await this.adminFetch(gi,"POST",e);return{nextCursor:t.nextCursor,rows:t.rows??[]}}async listKvNamespaces(){return this.assertOpen(),(await this.adminFetch(Si,"GET")).namespaces??[]}async listKvKeys(e){this.assertOpen();let t=R(wi,{cursor:e.cursor,limit:e.limit,namespace:e.namespace,prefix:e.prefix});return await this.adminFetch(t,"GET")}async getKvValue(e){this.assertOpen();let t=R(bt,{key:e.key,namespace:e.namespace});return await this.adminFetch(t,"GET")}async putKvValue(e){this.assertOpen(),await this.adminFetch(bt,"PUT",e)}async deleteKvKey(e){this.assertOpen();let t=R(bt,{key:e.key,namespace:e.namespace});await this.adminFetch(t,"DELETE")}async listAuthUsers(e={}){this.assertOpen();let t=R(Ci,{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(t,"GET")}async createAuthUser(e){return await this.adminFetch(Ti,"POST",e)}async setAuthUserRole(e){return await this.adminFetch(Ei,"POST",e)}async banAuthUser(e){return await this.adminFetch(Ii,"POST",e)}async unbanAuthUser(e){return await this.adminFetch(Oi,"POST",e)}async setAuthUserPassword(e){await this.adminFetch(Ri,"POST",e)}async removeAuthUser(e){await this.adminFetch(Pi,"POST",e)}async impersonateAuthUser(e){return await this.adminFetch(Ai,"POST",e)}async revokeAuthSession(e){await this.adminFetch(Fi,"POST",e)}async revokeAuthUserSessions(e){await this.adminFetch(Mi,"POST",e)}async getAuthCapabilities(){return await this.adminFetch(xi,"GET")}async updateAuthUser(e){return await this.adminFetch(Qi,"POST",e)}async listAuthAccounts(e){return await this.adminFetch(R(_i,{userId:e.userId}),"GET")}async unlinkAuthAccount(e){await this.adminFetch(Li,"POST",e)}async listAuthPasskeys(e){return await this.adminFetch(R(Di,{userId:e.userId}),"GET")}async deleteAuthPasskey(e){await this.adminFetch(Ui,"POST",e)}async disableAuthTwoFactor(e){await this.adminFetch(qi,"POST",e)}async listAuthOrganizations(e={}){return await this.adminFetch(R(Ni,{limit:e.limit,offset:e.offset}),"GET")}async listAuthOrgMembers(e){let t=R(Ki,{limit:e.limit,offset:e.offset,organizationId:e.organizationId});return await this.adminFetch(t,"GET")}async listAuthOrgInvitations(e){let t=R(Bi,{limit:e.limit,offset:e.offset,organizationId:e.organizationId});return await this.adminFetch(t,"GET")}async listAuthSignUpInvitations(e={}){let t=R(zi,{limit:e.limit,offset:e.offset});return await this.adminFetch(t,"GET")}async createAuthSignUpInvitation(e){return await this.adminFetch(Wi,"POST",e)}async revokeAuthSignUpInvitation(e){await this.adminFetch(Vi,"POST",e)}async removeAuthOrgMember(e){await this.adminFetch(ji,"POST",e)}async cancelAuthOrgInvitation(e){await this.adminFetch($i,"POST",e)}async getAuthConfig(){return await this.adminFetch(Hi,"GET")}async createAuthOrganization(e){return await this.adminFetch(Gi,"POST",e)}async updateAuthOrganization(e){return await this.adminFetch(Ji,"POST",e)}async deleteAuthOrganization(e){await this.adminFetch(Xi,"POST",e)}async addAuthOrgMember(e){return await this.adminFetch(Yi,"POST",e)}async inviteAuthOrgMember(e){return await this.adminFetch(Zi,"POST",e)}async setAuthOrgMemberRole(e){return await this.adminFetch(en,"POST",e)}async listAuthOrgTeams(e){let t=R(tn,{limit:e.limit,offset:e.offset,organizationId:e.organizationId});return await this.adminFetch(t,"GET")}async createAuthOrgTeam(e){return await this.adminFetch(rn,"POST",e)}async updateAuthOrgTeam(e){return await this.adminFetch(sn,"POST",e)}async removeAuthOrgTeam(e){await this.adminFetch(nn,"POST",e)}async listAuthOrgTeamMembers(e){let t=R(an,{limit:e.limit,offset:e.offset,teamId:e.teamId});return await this.adminFetch(t,"GET")}async addAuthOrgTeamMember(e){return await this.adminFetch(on,"POST",e)}async removeAuthOrgTeamMember(e){await this.adminFetch(cn,"POST",e)}async listAuthOrgRoles(e){let t=R(un,{limit:e.limit,offset:e.offset,organizationId:e.organizationId});return await this.adminFetch(t,"GET")}async createAuthOrgRole(e){return await this.adminFetch(hn,"POST",e)}async updateAuthOrgRole(e){return await this.adminFetch(dn,"POST",e)}async deleteAuthOrgRole(e){await this.adminFetch(ln,"POST",e)}async listAuthSessions(e={}){this.assertOpen();let t=R(ki,{limit:e.limit,offset:e.offset,userId:e.userId});return await this.adminFetch(t,"GET")}subscribe(e,t,s,i={}){this.assertOpen();let n=t??{},a=A.key(e.__lunoraRef,n,i.shardKey),c=this.subscriptions.get(a),u=vt(s),h=vt(i.onError),d=vt(i.onCheckpoint);if(!c){this.nextSubId+=1;let f=`sub_${this.nextSubId.toString()}`,y=H(n),p=this.takeHydratedCache(e.__lunoraRef,y,i.shardKey);c={acked:!1,args:n,argsKey:y,callbacks:new Set,checkpointCallbacks:new Set,errorCallbacks:new Set,fn:e,id:f,lastValue:p?.value,optimisticLayers:[],serverBase:p?.value,serverCursor:p?.serverCursor,shardKey:i.shardKey,wireArgs:V(n,`args for '${e.__lunoraRef}'`),...p?.serverEpoch===void 0?{}:{serverEpoch:p.serverEpoch}},this.subscriptions.add(c),p!==void 0&&this.cacheSeededQueries.set(a,p)}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(A.keyOf(l)),this.subscriptions.remove(l))}}subscribeShape(e,t,s={}){if(this.assertOpen(),this.followsAnotherTab()){let{onError:a}=s;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([t]),errorCallbacks:s.onError?new Set([s.onError]):new Set,id:i,name:e.name,onCheckpoint:s.onCheckpoint,rows:new Map,shardKey:s.shardKey,wireArgs:e.args===void 0?void 0:V(e.args,`shape args for '${e.name}'`)};return this.shapeSubscriptions.set(i,n),this.ensureSocket(s.shardKey),this.sendShapeSubscribeIfOpen(n),()=>{this.shapeSubscriptions.delete(i),this.sendOrQueueUnsubscribe(n.shardKey,i,"shape_unsubscribe")}}stream(e,t,s={}){if(this.assertOpen(),this.WebSocketImpl===void 0)throw new m("INTERNAL","LunoraClient: streams require a WebSocket implementation");this.nextStreamId+=1;let i=`stream_${this.nextStreamId.toString()}`,{shardKey:n}=s,a=t??{},{handle:c,iterable:u}=De({maxBuffer:s.maxBuffer,onCancel:o(()=>{this.cancelStream(i,n)},"onCancel")});this.ensureSocket(n);let h=this.getConnection(n),d={id:i,query:{args:V(a,`stream args for '${e.__lunoraRef}'`),functionPath:e.__lunoraRef,shardKey:n},type:"stream"},l={durable:s.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"&&x(h,d);if(l.started=f,!f&&h===void 0)return this.streams.delete(i),c.fail(new m("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>=Ws;){let y=h.pendingStreams.shift()?.id,p=y?this.streams.get(y):void 0;p&&(p.handle.fail(new m("STREAM_QUEUE_OVERFLOW","stream-start frame evicted while socket was unreachable")),this.streams.delete(y))}h.pendingStreams.push(d)}return u}httpStream(e,t,s={}){if(this.closed)throw new m("CLIENT_CLOSED","LunoraClient is closed");if(!this.fetchImpl)throw new m("INTERNAL","LunoraClient: no `fetch` implementation available");let i={...this.authToken?{authorization:`Bearer ${this.authToken}`}:{},...s.headers};return mr(e,t,{baseUrl:this.url,fetch:this.fetchImpl,headers:i,maxBuffer:s.maxBuffer,signal:s.signal})}close(){this.closed=!0,this.outboxLeaderRelease?.(),this.outboxLeaderRelease=void 0;for(let e of this.streams.values())e.handle.fail(new m("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.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 m("INTERNAL","LunoraClient is closed")}followsAnotherTab(){let e=this.tabCoordinator;if(e===void 0||e.isLeader())return!1;let t=e.leaderTabId;return t!==void 0&&t!==e.id}assertLeaderOwnedSurface(e){if(this.followsAnotherTab())throw new m("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 t=v(e.shardKey);for(let[s,i]of this.streams)v(i.shardKey)===t&&(i.handle.fail(new m("STREAM_DISCONNECTED","stream terminated: the connection carrying it was torn down")),this.streams.delete(s));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 Le({channelName:e,onBecomeLeader:o(()=>{for(let t of this.subscriptions.all())this.ensureSocket(t.shardKey),this.queueResubscribe(t);for(let t of this.queuedOfflineShardKeys)this.ensureSocket(t);this.tabCoordinator?.broadcastConnectionStatus(this.computeStatus(),this.identityFingerprint())},"onBecomeLeader"),onStopBeingLeader:o(()=>{for(let[t,s]of this.connections)this.teardownConnection(s),this.connections.delete(t);this.leaderStatus=void 0,this.leaderWasEverConnected=!1},"onStopBeingLeader"),onConnectionStatus:o((t,s)=>{if(s!==void 0&&s!==this.identityFingerprint())return;let i=t==="connected"&&this.leaderStatus!=="connected";this.leaderStatus=t,t==="connected"&&(this.leaderWasEverConnected=!0),this.emitConnectionStatus(),i&&this.flushAllOfflineQueues()},"onConnectionStatus"),onSubscriptionData:o((t,s,i,n,a)=>{if(a!==void 0&&a!==this.identityFingerprint())return;let c=this.subscriptions.get(t);c&&(c.serverBase=s,this.dropCacheSeed(t),i!==void 0&&(c.serverCursor=i,n!==void 0&&(c.serverEpoch=n),Ue(c,i)),K(c,z(s,c.optimisticLayers)))},"onSubscriptionData"),onLeaderClaimAnswered:o(()=>{this.tabCoordinator?.isLeader()&&this.tabCoordinator.broadcastConnectionStatus(this.computeStatus(),this.identityFingerprint())},"onLeaderClaimAnswered"),onSubscriptionError:o((t,s,i)=>{if(i!==void 0&&i!==this.identityFingerprint())return;let n=this.subscriptions.get(t);n&&oe(n.errorCallbacks,s)},"onSubscriptionError"),onSubscriptionSettled:o((t,s,i,n,a,c)=>{if(c!==void 0&&c!==this.identityFingerprint())return;let u=this.subscriptions.get(t);if(u){this.ackAndAdvanceCursor(u,s,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 enqueueOfflineMutation(e,t,s,i,n,a,c,u){let h=this.identityFingerprint();if(this.outbox){this.outboxMutationCounter+=1;let d=this.outboxMutationCounter;try{await this.outbox.enqueue({args:t,baselineSeq:i,clientId:this.clientId,functionPath:e.__lunoraRef,idempotencyKey:`${this.clientId}:${String(d)}`,identity:h,mutationId:d,...a.length>0&&{onRejected:o(()=>{ye(a)},"onRejected")},shardKey:s})}catch(l){throw ye(a),l instanceof Error?l:new Error(String(l))}for(let l of c)l(void 0);return}return new Promise((d,l)=>{let f={args:t,functionPath:e.__lunoraRef,liveAwaiter:!0,baselineSeq:i,id:n,clientId:this.clientId,identity:h,precondition:u,onCommit:o(y=>{for(let p of c)p(y)},"onCommit"),reject:o(y=>{this.queuedIdentities.delete(n),ye(a),l(y instanceof Error?y:new Error(String(y)))},"reject"),resolve:d,shardKey:s};this.offlineQueue.enqueue(f),this.queuedOfflineShardKeys.add(s),f.id!==void 0&&this.queuedIdentities.set(f.id,h)})}hasPendingWriteAhead(e){if(this.outbox)return this.outbox.pending?.()??!1;let t=v(e);return this.offlineQueue.hasPending(s=>v(s.shardKey)===t)}async hydratePersistedQueue(){try{let e=await this.offlineQueue.hydrate();for(let t of e)this.queuedOfflineShardKeys.add(t),this.ensureSocket(t)}catch{}}hydrateAsOutboxLeader(){let e=o(()=>{this.hydratePersistedQueue().catch(()=>{})},"e"),t=globalThis.navigator?.locks;if(!t){e();return}t.request(`lunora:outbox-leader:${this.url}`,()=>(this.closed||e(),new Promise(s=>{if(this.closed){s();return}this.outboxLeaderRelease=s}))).catch(e)}async hydrateQueryCache(){if(this.queryCache)try{let e=await this.queryCache.load(),t=new Map;for(let s of this.subscriptions.all())t.set(Z(s.fn.__lunoraRef,s.argsKey,s.shardKey),s);for(let{key:s,...i}of e){if(ht(this.persistenceVersion,i.version)){this.queryCache.remove(s).catch(()=>{});continue}let n=t.get(s);if(n&&this.cachedQueryMatchesIdentity(i)){this.seedSubscriptionFromCache(n,i);continue}this.hydratedQueryCache.set(s,i)}}catch{}}seedSubscriptionFromCache(e,t){e.serverBase!==void 0||e.lastValue!==void 0||!this.cachedQueryMatchesIdentity(t)||(e.serverBase=t.value,e.serverCursor=t.serverCursor,t.serverEpoch!==void 0&&(e.serverEpoch=t.serverEpoch),this.cacheSeededQueries.set(Z(e.fn.__lunoraRef,e.argsKey,e.shardKey),t),K(e,z(t.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 t=this.cacheSeededQueries.get(e);t!==void 0&&(this.cacheSeededQueries.delete(e),this.hydratedQueryCache.set(e,t))}revokeCacheSeededValues(){if(this.cacheSeededQueries.size!==0){for(let[e,t]of this.cacheSeededQueries){let s=this.subscriptions.get(e);s!==void 0&&(s.serverBase=void 0,s.serverCursor=void 0,s.serverEpoch=void 0,K(s,z(void 0,s.optimisticLayers))),this.hydratedQueryCache.set(e,t)}this.cacheSeededQueries.clear()}}takeHydratedCache(e,t,s){let i=Z(e,t,s),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 t=Z(e.fn.__lunoraRef,e.argsKey,e.shardKey),s=this.hydratedQueryCache.get(t);s!==void 0&&this.cachedQueryMatchesIdentity(s)&&(this.hydratedQueryCache.delete(t),this.seedSubscriptionFromCache(e,s))}}persistQueryValue(e){let t=e.serverBase;if(!this.queryCache||t===void 0)return;let s=Z(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(s,{identity:n,serverCursor:e.serverCursor,ts:Date.now(),value:t,...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(()=>{})},Hs))}async flushQueryCacheWrites(){this.cacheFlushTimer=void 0;let{queryCache:e}=this;if(!e){this.pendingCacheWrites.clear();return}let t=[...this.pendingCacheWrites.entries()];this.pendingCacheWrites.clear(),await Promise.allSettled(t.map(async([s,i])=>e.put(s,i)))}computeStatus(){if(this.tabCoordinator&&!this.tabCoordinator.isLeader())return this.leaderStatus??"idle";let e=[...this.connections.values()];return e.length===0?"idle":e.some(t=>t.wsState==="open")?"connected":e.some(t=>t.polling.isPolling())?"polling":e.some(t=>t.wsState==="connecting")?"connecting":"offline"}baselineCursorFor(e){let t=v(e),s;for(let i of this.subscriptions.all())v(i.shardKey)!==t||i.serverCursor===void 0||(s=s===void 0?i.serverCursor:Math.max(s,i.serverCursor));return s}async pollSubscriptions(e){let t=v(e),s=this.subscriptions.all().filter(n=>v(n.shardKey)===t);if(s.length===0)return;let i=await this.batch(s.map(n=>({args:n.args,fn:n.fn,shardKey:n.shardKey})));for(let[n,a]of s.entries()){let c=i[n];if(c!==void 0){if(!c.ok){oe(a.errorCallbacks,{code:c.error.code,message:c.error.message});continue}this.handleDataMessage({data:O(c.value),id:a.id,type:"data"})}}}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,t,s){this.mutationSettledListeners.emit({args:e.args,code:s===void 0?void 0:s.code,error:s,functionPath:e.functionPath,hadAwaiter:e.liveAwaiter??!1,id:e.id??"",shardKey:e.shardKey,status:t})}applyOptimisticUpdates(e,t,s,i){let n=[],a=[];if(!i)return{confirms:n,rollbacks:a};let c=A.key(e,t,s),u=this.subscriptions.get(c);if(u){let h=ut(u,i);h&&(n.push(h.confirm),a.push(h.rollback))}return{confirms:n,rollbacks:a}}applyOptimisticUpdate(e,t,s,i,n){let{confirms:a,rollbacks:c,store:u}=br(this.subscriptions,s);try{e(u,t)}catch{ye(c);return}i.push(...c),n.push(...a)}getConnection(e){return this.connections.get(v(e))}sendOrQueueUnsubscribe(e,t,s){let i=this.getConnection(e);i&&!x(i,{id:t,type:s})&&i.pendingUnsubscribes.push({id:t,type:s})}connectionGateState(e){if(this.tabCoordinator&&!this.tabCoordinator.isLeader()){let s="idle";return this.leaderStatus==="connected"?s="open":this.leaderStatus==="connecting"&&(s="connecting"),{hasSocket:!1,wasEverConnected:this.leaderWasEverConnected,wsState:s}}let t=this.getConnection(e);return{hasSocket:t?.socket!==void 0,wasEverConnected:t?.wasEverConnected??!1,wsState:t?.wsState??"idle"}}getOrCreateConnection(e){let t=v(e),s=this.connections.get(t);return s||(s={connectTimer:void 0,heartbeatTimer:void 0,lastFrameAt:0,pendingUnsubscribes:[],polling:Ls({afterFailedAttempts:this.pollingFallbackAfterFailedAttempts,intervalMs:this.pollingFallbackIntervalMs,onStateChange:o(()=>{this.emitConnectionStatus()},"onStateChange"),poll:o(async()=>{await this.pollSubscriptions(e)},"poll")}),reconnect:lt(this.reconnectOptions),reconnectTimer:void 0,resubscribePending:new Map,resubscribeQueue:[],shardKey:e,socket:void 0,stableTimer:void 0,wasEverConnected:!1,wsState:"idle"},this.connections.set(t,s)),s}wsUrlFor(e,t){let s=[];if(e!==void 0&&s.push(`shard=${encodeURIComponent(e)}`),t!==void 0&&s.push(`token=${encodeURIComponent(t)}`),s.length===0)return this.wsUrl;let i=this.wsUrl.includes("?")?"&":"?";return`${this.wsUrl}${i}${s.join("&")}`}rpcRequestHeaders(e,t){let s={"content-type":"application/json"},i=this.shardCursors.get(this.cursorKeyFor(t));if(i!==void 0&&(s["x-lunora-min-seq"]=i.toString()),this.authToken&&(s.authorization=`Bearer ${this.authToken}`),e.mutationId&&(s["x-lunora-mutation-id"]=e.mutationId),(e.clientId!==void 0||e.mutationId!==void 0)&&(s["x-lunora-client-id"]=e.clientId??this.clientId),e.clientSeq!==void 0&&(s["x-lunora-client-seq"]=e.clientSeq.toString()),e.baselineSeq!==void 0&&(s["x-lunora-base-seq"]=e.baselineSeq.toString()),e.attachBookmark){let n=this.bookmark.get();n&&(s["x-d1-bookmark"]=n)}return s}async rpc(e,t,s,i={}){if(!this.fetchImpl)throw new N("LunoraClient: no `fetch` implementation available");let n=this.rpcRequestHeaders(i,s),a=await this.fetchImpl(ee(this.url,Ds),{body:JSON.stringify({args:V(t,`args for '${e}'`),functionPath:e,shardKey:s}),headers:n,method:"POST"});if(i.captureBookmark){let h=a.headers.get("x-d1-bookmark");h&&this.bookmark.set(h)}let c;try{c=await a.json()}catch{throw me(a.status,a.statusText,a.headers.get("retry-after"))}let u=ae(c);if(u!==void 0)throw Ur(u,a.headers.get("retry-after"));if(!a.ok)throw me(a.status,a.statusText,a.headers.get("retry-after"));return i.onMutationAck?.(c.lastMutationId),i.onCommitCursor?.(c.commitCursor),this.learnDefaultShardKey(a,s),this.recordShardCursor(s,c.commitCursor),S(c.result)}async adminFetch(e,t,s,i){if(!this.fetchImpl)throw new m("INTERNAL","LunoraClient: no `fetch` implementation available");let n={};this.authToken&&(n.authorization=`Bearer ${this.authToken}`);let a=s instanceof ArrayBuffer||s instanceof Blob,c;s===void 0?c=void 0:a?(c=s,i!==void 0&&(n["content-type"]=i)):(c=JSON.stringify(s),n["content-type"]="application/json");let u=await this.fetchImpl(ee(this.url,e),{body:c,headers:n,method:t}),h;try{h=await u.json()}catch{let l=u.statusText?` ${u.statusText}`:"";throw new m("INTERNAL",`LunoraClient: response was not JSON (status ${u.status.toString()}${l})`)}let d=ae(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 m("INTERNAL",`LunoraClient: admin request failed (status ${u.status.toString()}${l})`)}return h}effectiveConnectionContext(e){let t=this.connectionContextHolders.get(e);return t&&t.length>0?t[t.length-1]?.context:this.connectionContexts.get(e)??this.defaultConnectionContext}refreshConnectionContext(e){let t=this.connections.get(e);t?.wsState==="open"&&this.sendConnectEnvelope(t)}sendConnectEnvelope(e){let t=this.effectiveConnectionContext(v(e.shardKey));x(e,{caps:mn,clientId:this.clientId,id:"connect",type:"connect",...t===void 0?{}:{context:t}})}resendShapeSubscriptions(e){for(let t of this.shapeSubscriptions.values())v(t.shardKey)===v(e)&&this.sendShapeSubscribeIfOpen(t)}ensureSocket(e){if(this.closed||this.WebSocketImpl===void 0||this.tabCoordinator&&!this.tabCoordinator.isLeader())return;let t=this.getOrCreateConnection(e);if(!(t.wsState==="open"||t.wsState==="connecting")){if(t.wsState="connecting",this.emitConnectionStatus(),typeof this.wsToken=="function"){this.openSocketWithProvidedToken(t,e,this.wsToken).catch(()=>{});return}this.openSocket(t,e,this.wsToken)}}async openSocketWithProvidedToken(e,t,s){let i;try{i=await s()}catch{this.handleDisconnect(e);return}this.closed||this.WebSocketImpl===void 0||e.wsState!=="connecting"||e.socket!==void 0||this.openSocket(e,t,i)}openManagedSocket(e,t,s,i){let{WebSocketImpl:n}=this;if(n===void 0)throw new m("INTERNAL","no WebSocket implementation available");let a=new n(t);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");s>0&&(e.connectTimer=setTimeout(()=>{if(e.connectTimer=void 0,e.socket===a){try{a.close()}catch{}u()}},s)),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,t,s){this.WebSocketImpl!==void 0&&(e.identity=this.identityFingerprint(),e.retired=!1,this.openManagedSocket(e,this.wsUrlFor(t,s),this.connectTimeoutMs,{onClose:o(i=>{i?.code===4001&&this.notifyTokenExpired(),this.handleDisconnect(e)},"onClose"),onMessage:o(i=>{e.retired!==!0&&this.handleServerMessage(i.data,t)},"onMessage"),onOpen:o(()=>{e.wsState="open",e.wasEverConnected=!0,e.polling.noteOpen(),clearTimeout(e.stableTimer),e.stableTimer=setTimeout(()=>{e.wsState==="open"&&e.reconnect.reset()},zs),this.emitConnectionStatus(),this.sendConnectEnvelope(e),this.markShardPendingAck(t),this.clearResubscribeQueue(e);for(let n of this.subscriptions.all())v(n.shardKey)===v(t)&&this.queueResubscribe(n);if(this.resendShapeSubscriptions(t),e.pendingUnsubscribes.length>0){let n=e.pendingUnsubscribes;e.pendingUnsubscribes=[];for(let{id:a,type:c}of n)x(e,{id:a,type:c})}this.flushPendingStreams(e);let i=this.whisperHandlers.get(v(t));if(i)for(let n of i.keys())x(e,{topic:n,type:"whisper_subscribe"});this.flushOfflineQueue(t).catch(()=>{})},"onOpen")}))}flushPendingStreams(e){if(!e.pendingStreams||e.pendingStreams.length===0)return;let t=e.pendingStreams;e.pendingStreams=[];for(let s of t){let i=x(e,s)?this.streams.get(String(s.id)):void 0;i&&(i.started=!0)}}cancelStream(e,t){let s=this.getConnection(t),i=this.streams.get(e);s&&(s.pendingStreams=s.pendingStreams?.filter(n=>n.id!==e),!x(s,{id:e,type:"unsubscribe"})&&i?.durable===!0&&i.started&&s.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 t=new Set((e.pendingStreams??[]).map(i=>i.id));for(let[i,n]of this.streams)if(!(v(n.shardKey)!==v(e.shardKey)||t.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 m("STREAM_DISCONNECTED","stream terminated: WebSocket disconnected")),this.streams.delete(i)}if(this.WebSocketImpl===void 0)return;let s=e.reconnect.next();e.reconnectTimer=setTimeout(()=>{e.reconnectTimer=void 0,this.ensureSocket(e.shardKey)},s)}startHeartbeat(e,t){this.stopHeartbeat(e),!(this.heartbeatIntervalMs<=0)&&(e.heartbeatTimer=setInterval(()=>{if(!e.socket)return;let{socket:s}=e;if(Date.now()-e.lastFrameAt>this.heartbeatIntervalMs*2.5){try{s.close()}catch{}t();return}try{s.send(Ns)}catch{}},this.heartbeatIntervalMs))}stopHeartbeat(e){e.heartbeatTimer!==void 0&&(clearInterval(e.heartbeatTimer),e.heartbeatTimer=void 0)}markShardPendingAck(e){let t=v(e);for(let s of this.subscriptions.all())v(s.shardKey)===t&&(s.acked=!1)}queueResubscribe(e){let t=this.getConnection(e.shardKey);t&&(t.resubscribeQueue.push(e),this.drainResubscribeQueue(t))}drainResubscribeQueue(e){for(;e.resubscribePending.size<Vs;){let t=e.resubscribeQueue.shift();if(!t)return;this.subscriptions.getById(t.id)&&this.sendSubscribeIfOpen(t)&&e.resubscribePending.set(t.id,setTimeout(()=>{this.releaseResubscribeSlot(e,t.id)},Gs))}}releaseResubscribeSlot(e,t){let s=e.resubscribePending.get(t);s!==void 0&&(clearTimeout(s),e.resubscribePending.delete(t),this.drainResubscribeQueue(e))}clearResubscribeQueue(e){for(let t of e.resubscribePending.values())clearTimeout(t);e.resubscribePending.clear(),e.resubscribeQueue=[]}sendSubscribeIfOpen(e){let t=this.getConnection(e.shardKey);if(t?.wsState!=="open"||e.acked)return!1;let s=e.serverCursor!==void 0&&e.serverBase!==void 0;return x(t,{id:e.id,query:{args:e.wireArgs,functionPath:e.fn.__lunoraRef,table:e.fn.__lunoraRef,...s?{sinceSeq:e.serverCursor}:{},...s&&e.serverEpoch!==void 0?{sinceEpoch:e.serverEpoch}:{}},type:"subscribe"})}sendShapeSubscribeIfOpen(e){let t=this.getConnection(e.shardKey);t?.wsState==="open"&&x(t,{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,t){let s=vn(e);if(s===void 0)return;let i;try{i=JSON.parse(s)}catch{return}if(i.type!=="error"&&this.getConnection(t)?.reconnect.reset(),typeof i.id=="string"){let n=this.getConnection(t);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"pokeEnd":{this.handlePokeEnd(i,t);break}case"pokePart":{this.handlePokePart(i,t);break}case"pokeStart":{this.handlePokeStart(i,t);break}case"resume":{this.handleResumeMessage(i);break}case"settled":{this.handleSettledMessage(i);break}case"whisper":{this.dispatchWhisper(i,t);break}}}handleErrorMessage(e){if(e.error?.code==="TOKEN_EXPIRED"){this.notifyTokenExpired();return}let{id:t}=e,s=t===void 0?void 0:this.streams.get(t);if(s&&t!==void 0){s.handle.fail(yn(e)),this.streams.delete(t);return}let i=t===void 0?void 0:this.subscriptions.getById(t);if(i){let a=Dr(e),c=this.identityFingerprint(),u=A.keyOf(i);oe(i.errorCallbacks,a),this.tabCoordinator?.isLeader()&&this.tabCoordinator.broadcastSubscriptionError(u,a,c);return}let n=t===void 0?void 0:this.shapeSubscriptions.get(t);n&&oe(n.errorCallbacks,Dr(e))}pokeBufferKey(e,t){return`${v(e)}\0${t}`}handlePokeStart(e,t){Mr(this.pokeBuffers,r.MAX_POKE_BUFFERS),this.pokeBuffers.set(this.pokeBufferKey(t,e.pokeId),{baseCheckpoint:e.baseCheckpoint,bases:new Map,epoch:e.epoch,lastMutationId:new Map,parts:new Map,resets:new Set})}handlePokePart(e,t){let s=this.pokeBuffers.get(this.pokeBufferKey(t,e.pokeId));if(!s)return;let i=s.parts.get(e.shapeId)??[];for(let a of e.rowsPatch)i.push(a.value===void 0?a:{...a,value:S(a.value)});s.parts.set(e.shapeId,i),e.lastMutationId!==void 0&&s.lastMutationId.set(e.shapeId,e.lastMutationId);let n=e.baseCheckpoint??s.baseCheckpoint;n!==void 0&&s.bases.set(e.shapeId,n),e.reset===!0&&s.resets.add(e.shapeId)}handlePokeEnd(e,t){let s=this.pokeBufferKey(t,e.pokeId),i=this.pokeBuffers.get(s);if(i){this.pokeBuffers.delete(s);for(let n of i.parts.keys()){let a=this.shapeSubscriptions.get(n);a&&this.applyPokePart(a,i,e)}}}applyPokePart(e,t,s){let i=t.parts.get(e.id)??[],n=t.resets.has(e.id),a=t.bases.get(e.id),c=t.epoch!==void 0&&e.serverEpoch!==void 0&&t.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(),qs(e.rows,i),s.checkpoint!==void 0&&(e.serverCursor=s.checkpoint),s.epoch!==void 0&&(e.serverEpoch=s.epoch);let h=t.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 t=[...e.rows.values()];for(let s of e.callbacks)try{s(t)}catch{}}handleDataMessage(e){let{id:t}=e,s=t?this.subscriptions.getById(t):void 0;if(!s)return;let i;try{i=this.resolveDataPayload(e,s)}catch(n){oe(s.errorCallbacks,{code:"WIRE_DECODE_FAILED",message:`could not decode a server frame for this subscription \u2014 ${n instanceof Error?n.message:String(n)}`});return}if(i===Qr){this.resnapshotSubscription(s);return}if(s.serverBase=i,this.dropCacheSeed(A.keyOf(s)),e.cursor!==void 0&&(s.serverCursor=e.cursor),e.epoch!==void 0&&(s.serverEpoch=e.epoch),e.lastMutationId!==void 0){s.lastMutationId=Math.max(s.lastMutationId??0,e.lastMutationId);for(let n of s.checkpointCallbacks)n({checkpoint:s.serverCursor,mutationId:s.lastMutationId,rowsFollow:!0})}if(this.persistQueryValue(s),Ue(s,s.serverCursor),K(s,z(i,s.optimisticLayers)),this.tabCoordinator?.isLeader()){let n=A.keyOf(s);this.tabCoordinator.broadcastSubscriptionData(n,i,s.serverCursor,s.serverEpoch,this.identityFingerprint())}}handleResumeMessage(e){let t=this.subscriptions.getById(e.id);t&&this.ackAndAdvanceCursor(t,e.cursor,e.epoch)}handleSettledMessage(e){let t=this.subscriptions.getById(e.id);if(t){this.ackAndAdvanceCursor(t,e.cursor,e.epoch),e.lastMutationId!==void 0&&(t.lastMutationId=Math.max(t.lastMutationId??0,e.lastMutationId));for(let s of t.checkpointCallbacks)s({checkpoint:t.serverCursor,mutationId:t.lastMutationId});if(this.tabCoordinator?.isLeader()){let s=A.keyOf(t);this.tabCoordinator.broadcastSubscriptionSettled(s,t.serverCursor,t.serverEpoch,t.lastMutationId,this.clientId,this.identityFingerprint())}}}ackAndAdvanceCursor(e,t,s){e.acked=!0,(t!==void 0&&t!==e.serverCursor||s!==void 0&&s!==e.serverEpoch)&&(t!==void 0&&(e.serverCursor=t),s!==void 0&&(e.serverEpoch=s),this.persistQueryValue(e),Ue(e,e.serverCursor)&&K(e,z(e.serverBase,e.optimisticLayers)))}resolveDataPayload(e,t){if("data"in e&&e.data!==void 0)return S(e.data);let s=S(e.delta);return dr(s)?t.serverBase===void 0?s:lr(t.serverBase,s)??Qr:s}dispatchWhisper(e,t){let s=this.whisperHandlers.get(v(t))?.get(e.topic);if(!s)return;let i=S(e.data);for(let n of s)try{n(i,e.from)}catch{}}notifyTokenExpired(){this.tokenExpiredListeners.emit()}handleCompleteMessage(e){let t=this.streams.get(e);if(t){t.handle.complete(),this.streams.delete(e);return}let s=this.subscriptions.getById(e);s&&(s.acked=!1,oe(s.errorCallbacks,{code:"SUBSCRIPTION_CANCELLED",message:"subscription was cancelled by the server"}))}unpersist(e){e&&this.persistence?.remove(e).catch(t=>{W(this.onPersistenceError,"remove",t,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 t=2166136261,s=5381;for(let i=0;i<e.length;i+=1){let n=e.charCodeAt(i);t^=n,t=Math.imul(t,16777619),s=Math.imul(s,33)+n}return`${e.length.toString(36)}:${(t>>>0).toString(36)}:${(s>>>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 t=this.authToken;return t===null?!1:this.hashToken(t)===e}releaseSessionProbe(){this.sessionProbesInFlight-=1,!(this.identityUnresolved()||this.identityFingerprint()!==null)&&!this.closed&&this.offlineQueue.size>0&&this.computeStatus()==="connected"&&this.flushAllOfflineQueues()}identityUnresolved(){return this.sessionProbesInFlight>0?!0:this.identityResolutionExpected&&!this.identitySettled}adoptResolvedSubject(e,t,s){this.closed||t===null||this.authToken!==e||s!==this.sessionProbeGeneration||this.setAuthToken(e,t.id)}subjectAwaitingReconfirm(){return this.authSubject!==void 0&&this.authSubject!==null&&this.subjectToken!==this.authToken}stampOf(e){let t=e.id===void 0?void 0:this.queuedIdentities.get(e.id);return t===void 0?e.identity:t}rejectQueuedForIdentityChange(e){let t=this.offlineQueue.drain(),s=[];for(let i of t){if(this.replayIdentityVerdict(this.stampOf(i))!=="mismatch"){s.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(s),e!==null&&this.clearQueryCacheForIdentityChange()}restampConnectionIdentity(e,t){for(let s of this.connections.values())s.identity===e&&(s.identity=t)}restampQueuedIdentity(e,t){for(let[s,i]of this.queuedIdentities)i===e&&this.queuedIdentities.set(s,t);this.offlineQueue.restampIdentity(e,t)}restampWatermarks(e,t){let s=e??"",i=this.clientWatermarks.get(s);if(i===void 0)return;this.clientWatermarks.delete(s);let n=t??"",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,K(e,z(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()}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 t=v(e),s=this.offlineFlushes.get(t);if(s===void 0&&this.offlineQueue.size===0)return;let i=(async()=>{await(s??Promise.resolve());try{await this.drainOfflineQueue(e)}catch{}})();this.offlineFlushes.set(t,i),await i,this.offlineFlushes.get(t)===i&&this.offlineFlushes.delete(t)}async drainOfflineQueue(e){let t=this.offlineQueue.drainConflict();for(let h of t){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 s=v(e),i=this.offlineQueue.drain(h=>v(h.shardKey)===s);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+=pt){let d=c.slice(h,h+pt),l=await this.replayBatched(d,e);if(u.push(...l.requeue),l.stop){u.push(...c.slice(h+pt));break}}u.length>0&&this.offlineQueue.requeue(u),this.scheduleRateLimitedRetry(e)}noteHeldRetryDelay(e){let t=v(e),s=this.replayRetryState.get(t),i=(s?.attempts??0)+1;this.replayRetryState.set(t,{attempts:i,delayMs:Math.max(s?.delayMs??0,ft(i))})}noteReplayRetryDelay(e,t){let s=v(e),i=this.replayRetryState.get(s),n=(i?.attempts??0)+1,a=Rr(t,n);this.replayRetryState.set(s,{attempts:n,delayMs:a===void 0?i?.delayMs:Math.max(i?.delayMs??0,a)})}scheduleRateLimitedRetry(e){let t=v(e),s=this.replayRetryState.get(t),i=s?.delayMs;if(s===void 0||i===void 0||this.closed||this.offlineQueue.size===0){this.replayRetryState.delete(t);return}s.delayMs=void 0;let n=this.replayRetryTimers.get(t);n!==void 0&&clearTimeout(n),this.replayRetryTimers.set(t,setTimeout(()=>{this.replayRetryTimers.delete(t),this.flushOfflineQueue(e).catch(()=>{})},i))}encodableOrSettleTerminal(e){let t=[];for(let s of e)try{V(s.args,`args for '${s.functionPath}'`),t.push(s)}catch(i){this.settleReplayTerminal(s,i instanceof Error?i:new Error(String(i)))}return t}replayGateVerdict(e){let t=this.stampOf(e);if(t===void 0)return this.queuedIdentities.delete(e.id??""),"send";let s=this.replayIdentityVerdict(t);if(s==="unknown")return"hold";if(this.queuedIdentities.delete(e.id??""),s==="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,t,s){this.unpersist(e.id),this.recordShardCursor(e.shardKey,s),e.onCommit?.(s),e.resolve(t),this.emitItemSettled(e,"committed")}cursorKeyFor(e){return e??this.defaultShardKey??""}learnDefaultShardKey(e,t){let s=e.headers.get("x-lunora-shard-key");if(s===null||t!==void 0||this.defaultShardKey===s)return;this.defaultShardKey=s;let i=this.shardCursors.get("");i!==void 0&&(this.shardCursors.set(s,Math.max(this.shardCursors.get(s)??0,i)),this.shardCursors.delete(""))}recordShardCursor(e,t){if(typeof t!="number")return;let s=this.cursorKeyFor(e);this.shardCursors.set(s,Math.max(this.shardCursors.get(s)??0,t))}shouldRequeueReplayFailure(e){if(Cr(e)){let t=this.hashToken(this.authToken??"");return this.authRefusalNotifiedFor!==t&&(this.authRefusalNotifiedFor=t,this.notifyTokenExpired()),!0}return kr(e)}settleReplayTerminal(e,t){this.unpersist(e.id),e.reject(t),this.emitItemSettled(e,"rejected",t)}async replaySequential(e,t){for(let s=0;s<e.length;s+=1){let i=e[s];if(i)try{let n,a=await this.rpc(i.functionPath,i.args,i.shardKey,{baselineSeq:i.baselineSeq,captureBookmark:!0,clientId:i.clientId??this.clientId,mutationId:i.id,onCommitCursor:o(c=>{n=c},"onCommitCursor")});this.settleReplaySuccess(i,a,n)}catch(n){if(!this.shouldRequeueReplayFailure(n)){this.settleReplayTerminal(i,n);continue}this.noteReplayRetryDelay(t,n),this.offlineQueue.requeue(e.slice(s));return}}}async replayBatched(e,t){if(!this.fetchImpl)return{requeue:e,stop:!0};let s=JSON.stringify({calls:e.map((u,h)=>({args:V(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&&Ar(s)>Pr)return await this.replayBatchedHalves(e,t);let i;try{i=await this.fetchImpl(ee(this.url,xr),{body:s,headers:this.rpcRequestHeaders({attachBookmark:!0}),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,t);let a,c=i.headers.get("retry-after");try{a=await i.json()}catch{return this.settleWholeBatchError(e,me(i.status,i.statusText,c),t)}if(!a.results){let u=ae(a),h=u===void 0?me(i.status,i.statusText,c):Ur(u,c);return this.settleWholeBatchError(e,h,t)}return{requeue:this.settleReplayBatchSlots(e,a.results,t),stop:!1}}settleWholeBatchError(e,t,s){if(t instanceof N||t.code!==void 0&&this.shouldRequeueReplayFailure(t))return this.noteReplayRetryDelay(s,t),{requeue:e,stop:!0};for(let i of e)this.settleReplayTerminal(i,t);return{requeue:[],stop:!1}}async replayBatchedHalves(e,t){let s=Math.ceil(e.length/2),i=await this.replayBatched(e.slice(0,s),t);if(i.stop)return{requeue:[...i.requeue,...e.slice(s)],stop:!0};let n=await this.replayBatched(e.slice(s),t);return{requeue:[...i.requeue,...n.requeue],stop:n.stop}}settleReplayBatchSlots(e,t,s){let i=new Map;for(let a of t)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=Nr(u);this.shouldRequeueReplayFailure(h)?(this.noteReplayRetryDelay(s,h),n.push(c)):this.settleReplayTerminal(c,h)}else this.settleReplaySuccess(c,S(u.result),u.commitCursor)}return n}};var Kr=M(Tt(),1),Br=M(J(),1);var wn=o(()=>{let r=(0,Kr.c)(4),e=rt(),t,s,i;return r[0]!==e?(t=o(n=>e.onConnectionStatus(()=>{n()}),"o"),s=o(()=>e.connectionStatus(),"e"),i=o(()=>e.connectionStatus(),"c"),r[0]=e,r[1]=t,r[2]=s,r[3]=i):(t=r[1],s=r[2],i=r[3]),(0,Br.useSyncExternalStore)(t,s,i)},"S");export{St as a,Wr as b,Ye as c,is as d,as as e,rt as f,wn as g};
@@ -0,0 +1,8 @@
1
+ import{a as nt,b as rt}from"./chunk-YSQHT7BJ.js";import{c as tt}from"./chunk-BDO4YYBB.js";import{a as et}from"./chunk-SUMY65GX.js";import"./chunk-RFNGDE33.js";import"./chunk-V3CZW3JB.js";import"./chunk-MU3P2FI7.js";import"./chunk-XZMOZFE6.js";import"./chunk-YPRQLCKF.js";import"./chunk-GMS77BZD.js";import"./chunk-3Q2P62UR.js";import{a as Ze}from"./chunk-QKEJLVC5.js";import"./chunk-AWHXPIXU.js";import"./chunk-V3VJAA4D.js";import"./chunk-K7ARKCTO.js";import"./chunk-5JDWLCSH.js";import"./chunk-EVTM6Q43.js";import"./chunk-PD6WIDY6.js";import{a as Xe}from"./chunk-2DX5MROH.js";import{b as Ve}from"./chunk-OGUKYRFM.js";import{c as Ke,d as Ce,e as Ee,f as Le,g as He}from"./chunk-OKG3HWSJ.js";import{W as Ye}from"./chunk-PLHA3OWK.js";import"./chunk-Y6CXU7T4.js";import"./chunk-4L4WTGN5.js";import"./chunk-55754F6H.js";import"./chunk-IS6LVJ6L.js";import"./chunk-AAVLPU5Q.js";import"./chunk-225VJ77I.js";import{a as Je}from"./chunk-ULIQFBZU.js";import{a as qe}from"./chunk-4ZEL6BYL.js";import"./chunk-6YJQIQGV.js";import{f as Ie}from"./chunk-ZJ6QIZWP.js";import"./chunk-FSRSK4LY.js";import"./chunk-UEOWRXJ3.js";import"./chunk-HEAQVSNS.js";import{d as ce,f as Se,g as Ne,h as Ge,o as ue}from"./chunk-FODLDLE2.js";import{a as l,d as Be,e as St,f as Nt,g as qt,i as me}from"./chunk-YKXDMIHQ.js";var G=Be(Nt(),1);var j=Be(St(),1);var u=Be(qt(),1);var Ct="x",ot=" ",kt={'"':'"',"'":"'","[":"]","`":"`"},ct=l((s,e)=>{let n=e+2;for(;n<s.length&&s[n]!==`
2
+ `;)n+=1;return n},"tt"),dt=l((s,e)=>{let n=s.indexOf("*/",e+2);return n===-1?-1:n+2},"nt"),ut=l(s=>{let e=s.split(""),n=0;for(;n<s.length;){let t=s[n]??"",o=kt[t];if(t==="-"&&s[n+1]==="-"){let r=ct(s,n);e.fill(ot,n,r),n=r}else if(t==="/"&&s[n+1]==="*"){let r=dt(s,n);if(r===-1)return;e.fill(ot,n,r),n=r}else if(o!==void 0){let r=n+1;for(;r<s.length;)if(s[r]!==o)r+=1;else if(o!=="]"&&s[r+1]===o)r+=2;else break;if(r>=s.length)return;e.fill(Ct,n,r+1),n=r+1}else n+=1}for(let t=0;t<s.length;t+=1)s[t]===`
3
+ `&&(e[t]=`
4
+ `);return e.join("")},"st"),Tt=/^(?:explain\s+(?:query\s+plan\s+)?)?(?:select|with)\b/iu,Rt=/\b(?:alter|attach|create|delete|detach|drop|insert|pragma|reindex|truncate|update|vacuum)\b|\breplace\b(?!\s*\()/iu,_t=/^\w+/u,It=/;\s*$/u,Et=/\s/u,mt=l(s=>{let e=0;for(;e<s.length;){let n=s[e];if(n!==void 0&&Et.test(n))e+=1;else if(n==="-"&&s[e+1]==="-")e=ct(s,e);else if(n==="/"&&s[e+1]==="*"){let t=dt(s,e);if(t===-1)break;e=t}else break}return e},"ot"),Lt=l(s=>{let e=mt(s),n=s.slice(e).trimEnd();if(n==="")return{code:"SQL_EMPTY",message:"the query is empty"};let t=(ut(n)??n).replace(It,""),o=n.slice(0,t.length),r=t.indexOf(";");if(r!==-1)return{code:"SQL_MULTIPLE_STATEMENTS",length:1,message:"only a single statement may be run",offset:e+r};let a="the SQL editor is read-only \u2014 only SELECT / WITH / EXPLAIN queries are allowed";if(!Tt.test(o))return{code:"SQL_NOT_READONLY",length:_t.exec(o)?.[0].length??1,message:a,offset:e};let c=Rt.exec(o);if(c!==null)return{code:"SQL_NOT_READONLY",length:c[0].length,message:`${a} (\`${c[0].toUpperCase()}\` is not allowed)`,offset:e+c.index}},"Ot"),Ot=/^explain\b/iu,At=l(s=>Ot.test(s.slice(mt(s)))?s:`EXPLAIN QUERY PLAN ${s}`,"Mt"),Qe=l((s,e)=>{let n=s.trim();if(n==="")return[];let t=e+s.indexOf(n),o=Lt(n);return o?.code==="SQL_EMPTY"?[]:[o===void 0?{offset:t,sql:n}:{offset:t,rejection:o,sql:n}]},"We"),ft=l(s=>{let e=ut(s);if(e===void 0)return Qe(s,0);let n=[],t=0;for(let o=0;o<=e.length;o+=1)o!==e.length&&e[o]!==";"||(n.push(...Qe(s.slice(t,o),t)),t=o+1);return n},"lt"),Dt=["ORDER BY","GROUP BY","LEFT JOIN","RIGHT JOIN","INNER JOIN","OUTER JOIN","CROSS JOIN","EXPLAIN QUERY PLAN","SELECT","DISTINCT","FROM","WHERE","HAVING","LIMIT","OFFSET","JOIN","ON","AND","OR","AS","ASC","DESC","WITH","UNION","EXPLAIN"],Mt=["FROM","WHERE","ORDER BY","GROUP BY","HAVING","LIMIT","OFFSET","UNION","JOIN","LEFT JOIN","RIGHT JOIN","INNER JOIN","OUTER JOIN","CROSS JOIN"],De=String.fromCodePoint(0),$t=new RegExp(`${De}${String.raw`(\d+)`}${De}`,"gu"),Ft=Dt.map(s=>({pattern:new RegExp(String.raw`\b${s.replaceAll(" ",String.raw`\s+`)}\b`,"giu"),replacement:s})),zt=Mt.map(s=>({pattern:new RegExp(String.raw`\s+${s.replaceAll(" ",String.raw`\s+`)}\b`,"gu"),replacement:`
5
+ ${s}`})),Bt=l(s=>{let e=[],n=s.replaceAll(/'(?:[^']|'')*'/gu,t=>(e.push(t),`${De}${(e.length-1).toString()}${De}`)).replaceAll(/\s+/gu," ").trim();for(let{pattern:t,replacement:o}of Ft)n=n.replaceAll(t,o);for(let{pattern:t,replacement:o}of zt)n=n.replaceAll(t,o);return n=n.replaceAll($t,(t,o)=>e[Number(o)]??""),n},"Wt"),Ht=/\b(?:from|join)\s+([a-z_][\w$]*)(?:\s+(?:as\s+)?([a-z_][\w$]*))?/giu,Pt=/(?:\bwith\s+(?:recursive\s+)?|,\s*)([a-z_][\w$]*)\s+as\s*\(/giu,Qt=new Set(["cross","full","group","having","inner","join","left","limit","offset","on","order","right","union","using","where","window"]),jt=/[^\n]/gu,Wt=l((s,e)=>{let n=s[e];if(n==="'"){let t=e+1;for(;t<s.length&&s[t]!=="'";)t+=1;return Math.min(t+1,s.length)}if(n==="-"&&s[e+1]==="-"){let t=s.indexOf(`
6
+ `,e);return t===-1?s.length:t}if(n==="/"&&s[e+1]==="*"){let t=s.indexOf("*/",e+2);return t===-1?s.length:t+2}return-1},"Yt"),Ut=l(s=>{let e="",n=0;for(;n<s.length;){let t=Wt(s,n);t===-1?(e+=s.slice(n,n+1),n+=1):(e+=s.slice(n,t).replaceAll(jt," "),n=t)}return e},"Kt"),Yt=l(s=>{let e=new Set;for(let n of s.matchAll(Pt))e.add((n[1]??"").toLowerCase());return e},"Gt"),Gt=l((s,e)=>{let n=new Map;for(let t of s.matchAll(Ht)){let o=(t[1]??"").toLowerCase(),r=(t[2]??"").toLowerCase();e.has(o)&&(n.set(o,o),r!==""&&!Qt.has(r)&&n.set(r,o))}return n},"Jt"),ht=l((s,e)=>{let n=Ut(s),t=new Set(e.map(o=>o.toLowerCase()));return{ctes:Yt(n),masked:n,targets:Gt(n,t)}},"rt"),Kt=/^(?:__lunora|sqlite_)/iu,Vt=/\b(?:from|join)\s+([a-z_][\w$]*)/giu,Xt=/\b([a-z_][\w$]*)\.([a-z_][\w$]*)/giu,Jt=new Set(["cross","full","group","having","inner","join","lateral","left","limit","offset","order","right","select","union","where","window"]),Zt=l((s,e,n)=>{let t=[];for(let o of s.matchAll(Vt)){let r=o[1]??"",a=r.toLowerCase();!e.has(a)&&!n.has(a)&&!Jt.has(a)&&!Kt.test(r)&&t.push({length:r.length,message:`unknown table \`${r}\``,offset:o.index+o[0].length-r.length,severity:"error",source:"schema"})}return t},"tn"),en=l((s,e,n)=>{let t=[],o=new Map;for(let[r,a]of Object.entries(e.columns))o.set(r.toLowerCase(),new Set(a.map(c=>c.toLowerCase())));for(let r of s.matchAll(Xt)){let a=(r[1]??"").toLowerCase(),c=r[2]??"",i=n.get(a),d=i===void 0?void 0:o.get(i);d!==void 0&&!d.has(c.toLowerCase())&&t.push({length:c.length,message:`\`${i??""}\` has no column \`${c}\``,offset:r.index+r[0].length-c.length,severity:"error",source:"schema"})}return t},"nn"),tn=/(?<![\w$."])(?:"([a-z_][\w$]*)"|([a-z_][\w$]*))(?![.(])/giu,nn=/\bas\s+"?([a-z_][\w$]*)"?/giu,rn=l((s,e,n,t)=>{let o=[...new Set(n.values())],r=new Map,a=new Set;for(let d of o){for(let h of e.columns[d]??[])a.add(h.toLowerCase());for(let h of e.docFields?.[d]??[])r.set(h.toLowerCase(),h)}if(r.size===0)return[];let c=new Set([...s.matchAll(nn)].map(d=>(d[1]??"").toLowerCase())),i=[];for(let d of s.matchAll(tn)){let h=d[1],b=h??d[2]??"",g=b.toLowerCase(),v=r.get(g);v===void 0||a.has(g)||c.has(g)||t.has(g)||n.has(g)||i.push({length:b.length,message:`\`${v}\` is a \`__doc__\` field, not a column \u2014 use \`json_extract(__doc__, '$.${v}')\``,offset:d.index+(h===void 0?0:1),severity:"error",source:"schema"})}return i},"ln"),on=l((s,e)=>{if(s.trim()==="")return[];let n=ft(s),t=new Set(e.tables.map(r=>r.toLowerCase())),o=[];for(let r of n){let{offset:a,rejection:c}=r;if(c!==void 0){o.push({length:c.length,message:c.message,offset:c.offset===void 0?a:a+c.offset,severity:"error",source:"gate"});continue}let{ctes:i,masked:d,targets:h}=ht(r.sql,e.tables);o.push(...[...Zt(d,t,i),...en(d,e,h),...rn(d,e,h,i)].map(b=>({...b,offset:b.offset===void 0?a:a+b.offset})))}return o},"rn"),sn=Se(qe.lintSql),ln=600,an=l((s,e,n)=>{let t=Ie(),[o,r]=(0,j.useState)([]),a=(0,j.useMemo)(()=>on(s,e),[s,e]),c=Ze(s,ln),i=a.some(b=>b.source==="gate")||c.trim()==="",d=(0,j.useCallback)(async b=>{try{let g=await t.query(sn,{sql:c},Ne(n));b.cancelled||r(g.diagnostics??[])}catch{b.cancelled||r([])}},[t,c,n]);(0,j.useEffect)(()=>{if(i){r([]);return}let b={cancelled:!1};return ue(d(b)),()=>{b.cancelled=!0}},[d,i]);let h=c===s;return(0,j.useMemo)(()=>h?[...a,...o]:a,[a,o,h])},"dn"),Oe=8,cn=["AND","ASC","AS","BY","COUNT","DESC","DISTINCT","EXPLAIN","FROM","GROUP","HAVING","INNER","JOIN","LEFT","LIKE","LIMIT","NOT","NULL","OFFSET","ON","ORDER","OR","QUERY","SELECT","WHERE","WITH"],dn=new Set(["AND","BY","HAVING","ON","OR","SELECT","WHERE"]),un=/[\w$]/,pt=l(s=>s!==void 0&&un.test(s),"it"),bt=l(s=>{let e=s.length;for(;e>0&&pt(s[e-1]);)e-=1;return s.slice(e)},"at"),gt=l((s,e)=>{let n=e;for(;n>0&&pt(s[n-1]);)n-=1;return{end:e,start:n,text:s.slice(n,e)}},"ct"),st=l((s,e)=>{let n=s.slice(0,e).trimEnd();return n.endsWith(".")||dn.has(bt(n).toUpperCase())},"Je"),mn=l((s,e,n)=>{let t=s.slice(0,e);if(!t.endsWith("."))return;let o=bt(t.slice(0,-1));if(o!=="")return ht(s,n).targets.get(o.toLowerCase())??o},"hn"),je=l((s,e)=>s.toLowerCase().startsWith(e.toLowerCase()),"Ue"),lt=l((s,e,n,t)=>{let o=[];for(let r of s)if(je(r,e)&&(o.push(t(r)),o.length>=n))break;return o},"Ve"),fn=l((s,e,n)=>{let t=new Map;for(let[o,r]of Object.entries(s.columns))for(let a of r)if(je(a,e)&&!t.has(a)&&(t.set(a,o),t.size>=n))return[...t].map(([c,i])=>({detail:i,kind:"column",label:c}));return[...t].map(([o,r])=>({detail:r,kind:"column",label:o}))},"pn"),hn=l((s,e,n)=>{let t=gt(s,e),o=mn(s,t.start,n.tables);if(o!==void 0){let i=n.columns[o]??n.columns[o.toLowerCase()]??[];return lt(i,t.text,Oe,d=>({detail:o,kind:"column",label:d}))}if(t.text===""&&!st(s,t.start))return[];let r=lt(n.tables,t.text,Oe,i=>({kind:"table",label:i})),a=fn(n,t.text,Oe),c=cn.flatMap(i=>t.text!==""&&je(i,t.text)&&i.toLowerCase()!==t.text.toLowerCase()?[{kind:"keyword",label:i}]:[]);return(st(s,t.start)?[...a,...r,...c]:[...r,...a,...c]).slice(0,Oe)},"bn"),pn=l((s,e,n)=>{let t=gt(s,e),o=s.slice(0,t.start)+n.label+s.slice(t.end);return{caret:t.start+n.label.length,value:o}},"gn"),bn=["boxSizing","borderBottomWidth","borderLeftWidth","borderRightWidth","borderTopWidth","fontFamily","fontSize","fontStyle","fontWeight","letterSpacing","lineHeight","paddingBottom","paddingLeft","paddingRight","paddingTop","tabSize","textIndent","textTransform","width","wordSpacing"],gn=l((s,e)=>{let n=globalThis.getComputedStyle(s),t=globalThis.document.createElement("div"),{style:o}=t;o.position="absolute",o.visibility="hidden",o.whiteSpace="pre-wrap",o.overflowWrap="break-word";for(let i of bn)o[i]=n[i];t.textContent=s.value.slice(0,Math.max(0,e));let r=globalThis.document.createElement("span");r.textContent=s.value.slice(Math.max(0,e))||".",t.append(r),globalThis.document.body.append(t);let a=r.offsetLeft-s.scrollLeft,c=r.offsetTop-s.scrollTop;return t.remove(),{left:a,top:c}},"vn"),xn=l((s,e,n)=>{let t=(0,G.c)(16),[o,r]=(0,j.useState)(null),a;t[0]!==s||t[1]!==e?(a=l((y,x)=>{let q=hn(y,x,s);if(q.length===0){r(null);return}let w=e.current,{left:p,top:N}=w===null?{left:0,top:0}:gn(w,x);r(k=>k!==null&&k.active===0&&k.left===p&&k.top===N&&k.suggestions.length===q.length&&k.suggestions.every((R,T)=>{let E=q.at(T);return R.kind===E?.kind&&R.label===E.label&&R.detail===E.detail})?k:{active:0,left:p,suggestions:q,top:N})},"r"),t[0]=s,t[1]=e,t[2]=a):a=t[2];let c=a,i;t[3]===Symbol.for("react.memo_cache_sentinel")?(i=l(()=>{r(null)},"a"),t[3]=i):i=t[3];let d=i,h;t[4]===Symbol.for("react.memo_cache_sentinel")?(h=l(y=>{r(x=>{if(x===null)return x;let q=x.suggestions.length,w=(x.active+y+q)%q;return{...x,active:w}})},"f"),t[4]=h):h=t[4];let b=h,g;t[5]!==n||t[6]!==o||t[7]!==e?(g=l(y=>{let x=e.current;if(o===null||x===null)return!1;let q=o.suggestions[y??o.active];if(q===void 0)return!1;let w=pn(x.value,x.selectionStart,q);return n(w.value),r(null),requestAnimationFrame(()=>{let p=e.current;p!==null&&(p.focus(),p.setSelectionRange(w.caret,w.caret))}),!0},"m"),t[5]=n,t[6]=o,t[7]=e,t[8]=g):g=t[8];let v=g,m;t[9]!==v?(m=l(()=>v(),"d"),t[9]=v,t[10]=m):m=t[10];let S=m,f;return t[11]!==S||t[12]!==v||t[13]!==c||t[14]!==o?(f={close:d,commit:S,commitAt:v,move:b,refresh:c,state:o},t[11]=S,t[12]=v,t[13]=c,t[14]=o,t[15]=f):f=t[15],f},"yn"),vn={column:"column",keyword:"keyword",table:"table"},yn=20,wn=l(s=>{let e=(0,G.c)(17),{listboxId:n,onPick:t,state:o}=s,r=ce(),a;e[0]!==o?(a=o===null?void 0:{left:o.left,top:o.top+yn},e[0]=o,e[1]=a):a=e[1];let c=a;if(o===null)return null;let i;if(e[2]!==n||e[3]!==t||e[4]!==o.active||e[5]!==o.suggestions||e[6]!==r){let h;e[8]!==n||e[9]!==t||e[10]!==o.active||e[11]!==r?(h=l((b,g)=>(0,u.jsxs)("li",{"aria-selected":g===o.active,className:me("flex cursor-pointer items-center gap-2 px-2 py-1 text-[13px]",g===o.active?"bg-accent text-accent-foreground":"text-foreground"),"data-testid":"sql-autocomplete-item",id:`${n}-opt-${g.toString()}`,onMouseDown:l(v=>{v.preventDefault(),t(g)},"onMouseDown"),role:"option",children:[(0,u.jsx)("span",{className:"truncate font-mono",children:b.label}),b.detail!==void 0&&(0,u.jsx)("span",{className:"ms-auto truncate text-xs text-muted-foreground",children:b.detail}),(0,u.jsx)("span",{className:"shrink-0 font-mono text-[10px] tracking-wide text-muted-foreground/70 uppercase",children:r(vn[b.kind])})]},`${b.kind}:${b.label}`),"f"),e[8]=n,e[9]=t,e[10]=o.active,e[11]=r,e[12]=h):h=e[12],i=o.suggestions.map(h),e[2]=n,e[3]=t,e[4]=o.active,e[5]=o.suggestions,e[6]=r,e[7]=i}else i=e[7];let d;return e[13]!==n||e[14]!==c||e[15]!==i?(d=(0,u.jsx)("ul",{className:"absolute z-30 max-h-56 w-72 overflow-auto rounded-md border border-border bg-popover py-1 text-popover-foreground shadow-md","data-testid":"sql-autocomplete",id:n,role:"listbox",style:c,children:i}),e[13]=n,e[14]=c,e[15]=i,e[16]=d):d=e[16],d},"Cn"),Sn=Se(qe.listTables),Nn=Se(qe.readTablePage),qn=l(s=>{let e=(0,G.c)(18),n=Ie(),t;e[0]===Symbol.for("react.memo_cache_sentinel")?(t=[],e[0]=t):t=e[0];let[o,r]=(0,j.useState)(t),a;e[1]===Symbol.for("react.memo_cache_sentinel")?(a={},e[1]=a):a=e[1];let[c,i]=(0,j.useState)(a),d;e[2]===Symbol.for("react.memo_cache_sentinel")?(d={},e[2]=d):d=e[2];let[h,b]=(0,j.useState)(d),g;e[3]===Symbol.for("react.memo_cache_sentinel")?(g=new Set,e[3]=g):g=e[3];let v=(0,j.useRef)(g),m,S;e[4]!==n||e[5]!==s?(m=l(()=>{let p={cancelled:!1};return ue((async()=>{try{let N=await n.query(Sn,{},Ne(s));p.cancelled||(r(N.map(kn)),i({}),b({}),v.current=new Set)}catch{p.cancelled||(r([]),i({}),b({}),v.current=new Set)}})()),()=>{p.cancelled=!0}},"d"),S=[n,s],e[4]=n,e[5]=s,e[6]=m,e[7]=S):(m=e[6],S=e[7]),(0,j.useEffect)(m,S);let f;e[8]!==n||e[9]!==s?(f=l(p=>{v.current.has(p)||(v.current.add(p),ue((async()=>{try{let N=await n.query(Nn,{limit:1,offset:0,table:p},Ne(s)),{sqlColumns:k}=N;if(k===void 0){v.current.delete(p);return}let R=new Set(k),T=N.columns.filter(E=>!R.has(E));i(E=>({...E,[p]:k})),b(E=>({...E,[p]:T}))}catch{v.current.delete(p)}})()))},"u"),e[8]=n,e[9]=s,e[10]=f):f=e[10];let y=f,x;e[11]!==c||e[12]!==h||e[13]!==o?(x={columns:c,docFields:h,tables:o},e[11]=c,e[12]=h,e[13]=o,e[14]=x):x=e[14];let q=x,w;return e[15]!==y||e[16]!==q?(w={probe:y,schema:q},e[15]=y,e[16]=q,e[17]=w):w=e[17],w},"En"),Pe=/\b(?:from|join|update|into)\s+([a-z_][\w$]*)|\b([a-z_][\w$]*)\s*\./gi,Cn=l(s=>{let e=new Set;Pe.lastIndex=0;let n=Pe.exec(s);for(;n!==null;)e.add(n[1]??n[2]),n=Pe.exec(s);return[...e]},"Tn");function kn(s){return s.name}l(kn,"Rn");var Tn=l(s=>{let e=(0,G.c)(34),{onSubmit:n,probe:t,schema:o,setDraft:r}=s,a=(0,j.useId)(),c=(0,j.useRef)(null),i=(0,j.useRef)(null),d=(0,j.useRef)(null),h=xn(o,d,r),{close:b,commit:g,commitAt:v,move:m,refresh:S,state:f}=h,y;e[0]!==v?(y=l(C=>{v(C)},"v"),e[0]=v,e[1]=y):y=e[1];let x=y,q;e[2]!==S?(q=l(()=>{let C=d.current;C!==null&&C===document.activeElement&&S(C.value,C.selectionStart)},"N"),e[2]=S,e[3]=q):q=e[3];let w;e[4]!==S||e[5]!==o?(w=[S,o],e[4]=S,e[5]=o,e[6]=w):w=e[6],(0,j.useEffect)(q,w);let p;e[7]!==t||e[8]!==S||e[9]!==r?(p=l(C=>{let{selectionStart:P,value:_}=C.target;r(_);for(let $ of Cn(_))t($);S(_,P)},"h"),e[7]=t,e[8]=S,e[9]=r,e[10]=p):p=e[10];let N=p,k;e[11]!==S?(k=l(C=>{let P=C.currentTarget;S(P.value,P.selectionStart)},"w"),e[11]=S,e[12]=k):k=e[12];let R=k,T;e[13]!==f||e[14]!==b||e[15]!==g||e[16]!==m||e[17]!==n?(T=l(C=>{if(f!==null){if(C.key==="ArrowDown"){C.preventDefault(),m(1);return}if(C.key==="ArrowUp"){C.preventDefault(),m(-1);return}if(C.key==="Escape"){C.preventDefault(),b();return}if((C.key==="Enter"||C.key==="Tab")&&!C.metaKey&&!C.ctrlKey&&g()){C.preventDefault();return}}(C.metaKey||C.ctrlKey)&&C.key==="Enter"&&(C.preventDefault(),n())},"T"),e[13]=f,e[14]=b,e[15]=g,e[16]=m,e[17]=n,e[18]=T):T=e[18];let E=T,I;e[19]!==b?(I=l(()=>{requestAnimationFrame(()=>{b()})},"C"),e[19]=b,e[20]=I):I=e[20];let O=I,A;e[21]===Symbol.for("react.memo_cache_sentinel")?(A=l(C=>{let{scrollLeft:P,scrollTop:_}=C.currentTarget;c.current!==null&&(c.current.scrollTop=_),i.current!==null&&(i.current.scrollTop=_,i.current.scrollLeft=P)},"q"),e[21]=A):A=e[21];let L=A,F;e[22]===Symbol.for("react.memo_cache_sentinel")?(F=l(C=>{let P=d.current;P===null||C.offset===void 0||(P.focus(),P.setSelectionRange(C.offset,C.offset+(C.length??0)))},"B"),e[22]=F):F=e[22];let M=F,H;e[23]!==N||e[24]!==O||e[25]!==E||e[26]!==R?(H={onBlur:O,onChange:N,onKeyDown:E,onScroll:L,onSelect:R},e[23]=N,e[24]=O,e[25]=E,e[26]=R,e[27]=H):H=e[27];let D;return e[28]!==f||e[29]!==b||e[30]!==a||e[31]!==x||e[32]!==H?(D={autocompleteState:f,closeAutocomplete:b,handlers:H,listboxId:a,onPickSuggestion:x,editorRef:d,gutterRef:c,overlayRef:i,revealDiagnostic:M},e[28]=f,e[29]=b,e[30]=a,e[31]=x,e[32]=H,e[33]=D):D=e[33],D},"Ln"),Rn="lunora-studio-sql-tabs",_n="lunora-studio-sql-active-tab",We=12,ke=l((s="",e="")=>({activeId:null,id:He("tab"),name:e,sql:s}),"we"),In=l(()=>Le(_n,""),"An"),En=l(s=>{let e=(0,G.c)(16),[n,t]=Ee(Rn),[o,r]=In(),[a]=(0,j.useState)(s),c,i;e[0]!==a||e[1]!==t||e[2]!==n.length?(c=l(()=>{n.length===0&&t([a])},"c"),i=[a,t,n.length],e[0]=a,e[1]=t,e[2]=n.length,e[3]=c,e[4]=i):(c=e[3],i=e[4]),(0,j.useEffect)(c,i);let d;e[5]!==a||e[6]!==n?(d=n.length===0?[a]:n,e[5]=a,e[6]=n,e[7]=d):d=e[7];let h=d,b;e[8]!==o||e[9]!==h?(b=h.some(m=>m.id===o)?o:h[0]?.id??"",e[8]=o,e[9]=h,e[10]=b):b=e[10];let g=b,v;return e[11]!==g||e[12]!==r||e[13]!==t||e[14]!==h?(v={activeId:g,setActiveId:r,setTabs:t,tabs:h},e[11]=g,e[12]=r,e[13]=t,e[14]=h,e[15]=v):v=e[15],v},"qn"),xt=l(s=>s.activeId===null&&s.sql.trim()!=="","dt"),Ln=l((s,e)=>[...s,e].slice(-We),"On"),On=l((s,e,n)=>{let t=s.findIndex(r=>r.id===e);if(t===-1)return{activeId:s[0]?.id??"",tabs:[...s]};let o=s.filter(r=>r.id!==e);if(o.length===0){let r=n();return{activeId:r.id,tabs:[r]}}return{activeId:o[Math.min(t,o.length-1)].id,tabs:o}},"Dn"),An=l((s,e)=>{let n=s.filter(t=>t.id===e);return n.length===0?{activeId:s[0]?.id??"",tabs:[...s]}:{activeId:e,tabs:n}},"Mn"),Dn=l((s,e,n)=>{let t=s.findIndex(r=>r.id===e);if(t===-1)return{activeId:n,tabs:[...s]};let o=s.slice(0,t+1);return{activeId:o.some(r=>r.id===n)?n:e,tabs:o}},"$n"),Mn=l(s=>{let e=s();return{activeId:e.id,tabs:[e]}},"Bn"),$n=l((s,e,n)=>{if(s==="others")return e.filter(t=>t.id!==n);if(s==="right"){let t=e.findIndex(o=>o.id===n);return t===-1?[]:e.slice(t+1)}return[...e]},"Hn"),at={error:null,pane:"results",result:null,running:!1},Fn=l(s=>{let e=(0,G.c)(66),{activeId:n,setActiveId:t,setTabs:o,tabs:r}=En(s),a;e[0]===Symbol.for("react.memo_cache_sentinel")?(a={},e[0]=a):a=e[0];let[c,i]=(0,j.useState)(a),[d,h]=(0,j.useState)(null),[b,g]=(0,j.useState)(null),v;e[1]!==n||e[2]!==r?(v=r.find(B=>B.id===n)??r[0]??ke(),e[1]=n,e[2]=r,e[3]=v):v=e[3];let m=v,S=c[m.id]??at,f;e[4]!==m.id||e[5]!==o?(f=l(B=>{o(U=>U.map(Y=>Y.id===m.id?{...Y,...B}:Y))},"u"),e[4]=m.id,e[5]=o,e[6]=f):f=e[6];let y=f,x;e[7]!==m.id?(x=l(B=>{i(U=>{let Y=U[m.id]??at;return{...U,[m.id]:{...Y,...B}}})},"g"),e[7]=m.id,e[8]=x):x=e[8];let q=x,w;e[9]!==t||e[10]!==o||e[11]!==r.length?(w=l(()=>{if(r.length>=We)return;let B=ke();o(U=>Ln(U,B)),t(B.id)},"y"),e[9]=t,e[10]=o,e[11]=r.length,e[12]=w):w=e[12];let p=w,N;e[13]!==t||e[14]!==o?(N=l(B=>{h(null),g(null),o(B.tabs),t(B.activeId);let U=new Set(B.tabs.map(zn));i(Y=>Object.fromEntries(Object.entries(Y).filter(X=>{let[fe]=X;return U.has(fe)})))},"E"),e[13]=t,e[14]=o,e[15]=N):N=e[15];let k=N,R;e[16]!==k||e[17]!==r?(R=l(B=>{k(On(r,B,ke))},"R"),e[16]=k,e[17]=r,e[18]=R):R=e[18];let T=R,E;e[19]!==n||e[20]!==k||e[21]!==r?(E=l((B,U)=>{k(B==="others"?An(r,U):B==="right"?Dn(r,U,n):Mn(ke))},"_"),e[19]=n,e[20]=k,e[21]=r,e[22]=E):E=e[22];let I=E,O;e[23]!==I||e[24]!==d||e[25]!==r?(O=l(B=>{d!==null&&($n(B,r,d.id).some(Bn)?g(B):I(B,d.id))},"A"),e[23]=I,e[24]=d,e[25]=r,e[26]=O):O=e[26];let A=O,L;e[27]===Symbol.for("react.memo_cache_sentinel")?(L=l((B,U)=>{U.preventDefault(),g(null),h({id:B,x:U.clientX,y:U.clientY})},"I"),e[27]=L):L=e[27];let F=L,M;e[28]===Symbol.for("react.memo_cache_sentinel")?(M=l(()=>{h(null),g(null)},"D"),e[28]=M):M=e[28];let H=M,D;e[29]===Symbol.for("react.memo_cache_sentinel")?(D=l(B=>{B.preventDefault(),h(null),g(null)},"O"),e[29]=D):D=e[29];let C=D,P;e[30]!==A?(P=l(()=>{A("others")},"F"),e[30]=A,e[31]=P):P=e[31];let _=P,$;e[32]!==A?($=l(()=>{A("right")},"M"),e[32]=A,e[33]=$):$=e[33];let W=$,z;e[34]!==A?(z=l(()=>{A("all")},"$"),e[34]=A,e[35]=z):z=e[35];let J=z,Z;e[36]!==I||e[37]!==b||e[38]!==d?(Z=l(()=>{d!==null&&b!==null&&I(b,d.id),g(null)},"Z"),e[36]=I,e[37]=b,e[38]=d,e[39]=Z):Z=e[39];let ee=Z,te;e[40]===Symbol.for("react.memo_cache_sentinel")?(te=l(()=>{g(null)},"te"),e[40]=te):te=e[40];let ie=te,V;e[41]!==d?(V=d===null?void 0:{left:d.x,top:d.y},e[41]=d,e[42]=V):V=e[42];let Q=V,ne;e[43]!==o?(ne=l(B=>{o(U=>U.map(Y=>Y.activeId===B?{...Y,activeId:null}:Y))},"ne"),e[43]=o,e[44]=ne):ne=e[44];let re=ne,oe;e[45]!==o?(oe=l((B,U)=>{o(Y=>Y.map(X=>X.id===B?{...X,name:U}:X))},"oe"),e[45]=o,e[46]=oe):oe=e[46];let se=oe,le;return e[47]!==m||e[48]!==n||e[49]!==p||e[50]!==T||e[51]!==ee||e[52]!==J||e[53]!==_||e[54]!==W||e[55]!==S||e[56]!==q||e[57]!==y||e[58]!==b||e[59]!==se||e[60]!==t||e[61]!==d||e[62]!==Q||e[63]!==r||e[64]!==re?(le={activeTab:m,activeTabId:n,addEditorTab:p,cancelBulk:ie,closeEditorTab:T,closeTabMenu:H,confirmBulk:ee,menuStyle:Q,onBackdropContextMenu:C,onCloseAll:J,onCloseOthers:_,onCloseToRight:W,openTabMenu:F,output:S,patchActiveOutput:q,patchActiveTab:y,pendingBulk:b,renameTab:se,setActiveTabId:t,tabMenu:d,tabs:r,unlinkQuery:re},e[47]=m,e[48]=n,e[49]=p,e[50]=T,e[51]=ee,e[52]=J,e[53]=_,e[54]=W,e[55]=S,e[56]=q,e[57]=y,e[58]=b,e[59]=se,e[60]=t,e[61]=d,e[62]=Q,e[63]=r,e[64]=re,e[65]=le):le=e[65],le},"Pn");function zn(s){return s.id}l(zn,"Fn");function Bn(s){return xt(s)}l(Bn,"Wn");var Hn="lunora-studio-sql-queries",we="lunora-studio-sql-history",Pn="lunora-studio-sql-remember-history",Qn=25,jn=l(s=>{let e=(0,G.c)(41),{loadIntoActiveTab:n,unlinkQuery:t}=s,o=ce(),[r,a]=Ee(Hn),[c,i]=Le(Pn,!1),[d,h]=Ee(we,c?"local":"session"),b,g;e[0]!==c?(b=l(()=>{c||Ce(we,"local")},"p"),g=[c],e[0]=c,e[1]=b,e[2]=g):(b=e[1],g=e[2]),(0,j.useEffect)(b,g);let[v,m]=(0,j.useState)(""),S=(0,j.useRef)(null),f;e[3]!==h?(f=l(_=>{h($=>$[0]?.sql===_?$:[{at:Date.now(),sql:_},...$.filter(W=>W.sql!==_)].slice(0,Qn))},"u"),e[3]=h,e[4]=f):f=e[4];let y=f,x;e[5]!==n||e[6]!==a||e[7]!==o?(x=l(()=>{let _={id:He("q"),name:o("Untitled query"),sql:""};a($=>[_,...$]),n("",_.id)},"g"),e[5]=n,e[6]=a,e[7]=o,e[8]=x):x=e[8];let q=x,w;e[9]!==n||e[10]!==r?(w=l(_=>{let $=r.find(W=>W.id===_);$!==void 0&&(n($.sql,_),S.current?.querySelector(`[data-testid="sql-query-${_}"]`)?.scrollIntoView({block:"nearest"}))},"y"),e[9]=n,e[10]=r,e[11]=w):w=e[11];let p=w,N;e[12]!==a||e[13]!==t?(N=l(_=>{a($=>$.filter(W=>W.id!==_)),t(_)},"E"),e[12]=a,e[13]=t,e[14]=N):N=e[14];let k=N,R;e[15]!==n?(R=l(_=>{n(_.currentTarget.dataset.sql??"",null)},"R"),e[15]=n,e[16]=R):R=e[16];let T=R,E;e[17]!==n?(E=l(_=>{n(_.currentTarget.dataset.sql??"",null)},"_"),e[17]=n,e[18]=E):E=e[18];let I=E,O;e[19]!==h?(O=l(()=>{h([]),Ce(we,"local"),Ce(we,"session")},"A"),e[19]=h,e[20]=O):O=e[20];let A=O,L;e[21]!==d||e[22]!==i?(L=l(_=>{Ke(we,d,_?"local":"session"),_||Ce(we,"local"),i(_)},"I"),e[21]=d,e[22]=i,e[23]=L):L=e[23];let F=L,M;e[24]===Symbol.for("react.memo_cache_sentinel")?(M=l(_=>{m(_.target.value)},"D"),e[24]=M):M=e[24];let H=M,D;e[25]!==a?(D=l((_,$)=>{a(W=>W.map(z=>z.id===_?{...z,sql:$}:z))},"O"),e[25]=a,e[26]=D):D=e[26];let C=D,P;return e[27]!==A||e[28]!==k||e[29]!==d||e[30]!==I||e[31]!==T||e[32]!==q||e[33]!==r||e[34]!==y||e[35]!==c||e[36]!==v||e[37]!==p||e[38]!==F||e[39]!==C?(P={clearHistory:A,deleteQuery:k,history:d,listRef:S,loadFromHistory:I,loadTemplate:T,newQuery:q,onSearchChange:H,queries:r,recordHistory:y,rememberHistory:c,search:v,selectQuery:p,setRememberHistory:F,updateQuerySql:C},e[27]=A,e[28]=k,e[29]=d,e[30]=I,e[31]=T,e[32]=q,e[33]=r,e[34]=y,e[35]=c,e[36]=v,e[37]=p,e[38]=F,e[39]=C,e[40]=P):P=e[40],P},"jn"),vt="p-3 font-mono text-xs leading-5 whitespace-pre-wrap break-words",Wn=l((s,e)=>{let n=[];for(let o of s){if(o.offset===void 0||o.length===void 0||o.length<=0)continue;let r=Math.max(0,Math.min(o.offset,e)),a=Math.max(r,Math.min(o.offset+o.length,e));r!==a&&n.push({end:a,severity:o.severity,start:r})}n.sort((o,r)=>o.start-r.start);let t=[];for(let o of n)o.start>=(t.at(-1)?.end??0)&&t.push(o);return t},"Yn"),Un=l(s=>s==="unsafe-response"?"The model returned a statement that is not read-only, so it was discarded.":s==="empty-response"?"The model returned nothing usable.":"The model could not be reached.","Kn"),Yn=l(s=>{let e=(0,G.c)(51),{assistant:n,failed:t,onGenerated:o}=s,r=ce(),[a,c]=(0,j.useState)("");if(n.unavailable)return null;let i;e[0]!==n?(i=n.pending("sql"),e[0]=n,e[1]=i):i=e[1];let d=i,h;if(e[2]!==n||e[3]!==t||e[4]!==o||e[5]!==d||e[6]!==a||e[7]!==r){let b=n.reason("sql"),g;e[9]!==n||e[10]!==t||e[11]!==o||e[12]!==a?(g=l(I=>{let O=a.trim();O===""&&!I||ue((async()=>{let A=await n.generate(O===""?"fix the failing statement":O,I?t:void 0);A!==void 0&&o(A)})())},"m"),e[9]=n,e[10]=t,e[11]=o,e[12]=a,e[13]=g):g=e[13];let v=g,m;e[14]!==r?(m=r("Describe the query you want"),e[14]=r,e[15]=m):m=e[15];let S;e[16]===Symbol.for("react.memo_cache_sentinel")?(S=l(I=>{c(I.target.value)},"S"),e[16]=S):S=e[16];let f;e[17]!==v?(f=l(I=>{I.key==="Enter"&&(I.preventDefault(),v(!1))},"u"),e[17]=v,e[18]=f):f=e[18];let y;e[19]!==r?(y=r("Describe the query you want"),e[19]=r,e[20]=y):y=e[20];let x;e[21]!==d||e[22]!==a||e[23]!==m||e[24]!==f||e[25]!==y?(x=(0,u.jsx)(Ye,{"aria-label":m,className:"h-7 flex-1 text-xs","data-testid":"sql-assistant-prompt",disabled:d,onChange:S,onKeyDown:f,placeholder:y,value:a}),e[21]=d,e[22]=a,e[23]=m,e[24]=f,e[25]=y,e[26]=x):x=e[26];let q=d&&"opacity-60",w;e[27]!==q?(w=me("rounded-md border border-border px-2 py-1 text-xs outline-none transition-colors hover:bg-accent focus-visible:bg-accent",q),e[27]=q,e[28]=w):w=e[28];let p;e[29]!==d||e[30]!==a?(p=d||a.trim()==="",e[29]=d,e[30]=a,e[31]=p):p=e[31];let N;e[32]!==v?(N=l(()=>{v(!1)},"E"),e[32]=v,e[33]=N):N=e[33];let k;e[34]!==d||e[35]!==r?(k=r(d?"Thinking\u2026":"Draft SQL"),e[34]=d,e[35]=r,e[36]=k):k=e[36];let R;e[37]!==w||e[38]!==p||e[39]!==N||e[40]!==k?(R=(0,u.jsx)("button",{className:w,"data-testid":"sql-assistant-generate",disabled:p,onClick:N,type:"button",children:k}),e[37]=w,e[38]=p,e[39]=N,e[40]=k,e[41]=R):R=e[41];let T;e[42]!==t||e[43]!==d||e[44]!==v||e[45]!==r?(T=t!==void 0&&(0,u.jsx)("button",{className:"rounded-md border border-border px-2 py-1 text-xs outline-none transition-colors hover:bg-accent focus-visible:bg-accent","data-testid":"sql-assistant-fix",disabled:d,onClick:l(()=>{v(!0)},"onClick"),type:"button",children:r("Fix this")}),e[42]=t,e[43]=d,e[44]=v,e[45]=r,e[46]=T):T=e[46];let E;e[47]!==R||e[48]!==T||e[49]!==x?(E=(0,u.jsxs)("div",{className:"flex items-center gap-2",children:[x,R,T]}),e[47]=R,e[48]=T,e[49]=x,e[50]=E):E=e[50],h=(0,u.jsxs)("div",{className:"flex flex-col gap-1 border-b border-border px-3 py-2","data-testid":"sql-assistant",children:[E,b!==void 0&&(0,u.jsx)("p",{className:"text-[11px] text-muted-foreground","data-testid":"sql-assistant-reason",role:"status",children:Un(b)})]}),e[2]=n,e[3]=t,e[4]=o,e[5]=d,e[6]=a,e[7]=r,e[8]=h}else h=e[8];return h},"Gn"),Gn=l(s=>{let e=(0,G.c)(8),{diagnostics:n,draft:t,scrollRef:o}=s,r,a;if(e[0]!==n||e[1]!==t){a=Symbol.for("react.early_return_sentinel");e:{let d=Wn(n,t.length);if(d.length===0){a=null;break e}r=[];let h=0;for(let[b,g]of d.entries())g.start>h&&r.push(t.slice(h,g.start)),r.push((0,u.jsx)("span",{className:me("decoration-wavy underline underline-offset-4",g.severity==="error"?"decoration-destructive":"decoration-amber-500"),children:t.slice(g.start,g.end)},`${g.start.toString()}-${b.toString()}`)),h=g.end;r.push(t.slice(h))}e[0]=n,e[1]=t,e[2]=r,e[3]=a}else r=e[2],a=e[3];if(a!==Symbol.for("react.early_return_sentinel"))return a;let c;e[4]===Symbol.for("react.memo_cache_sentinel")?(c=me("pointer-events-none absolute inset-0 overflow-hidden text-transparent",vt),e[4]=c):c=e[4];let i;return e[5]!==r||e[6]!==o?(i=(0,u.jsx)("div",{"aria-hidden":"true",className:c,"data-testid":"sql-diagnostics-overlay",ref:o,children:r}),e[5]=r,e[6]=o,e[7]=i):i=e[7],i},"Jn"),Kn={gate:"read-only",plan:"plan",schema:"schema",syntax:"syntax"},Vn=l(s=>{let e=(0,G.c)(10),{diagnostics:n,onSelect:t}=s,o=ce();if(n.length===0)return null;let r;e[0]!==o?(r=o("SQL problems"),e[0]=o,e[1]=r):r=e[1];let a;if(e[2]!==n||e[3]!==t){let i;e[5]!==t?(i=l((d,h)=>(0,u.jsx)("li",{children:(0,u.jsxs)("button",{className:"flex w-full items-start gap-2 px-3 py-1 text-start text-xs outline-none hover:bg-accent focus-visible:bg-accent","data-testid":"sql-problem",onClick:l(()=>{t(d)},"onClick"),type:"button",children:[(0,u.jsx)("span",{className:me("mt-px shrink-0 rounded px-1 font-mono text-[10px] uppercase",d.severity==="error"?"bg-destructive/15 text-destructive":"bg-amber-500/15 text-amber-600"),children:Kn[d.source]}),(0,u.jsx)("span",{className:"min-w-0 text-muted-foreground",children:d.message})]})},`${d.source}-${(d.offset??h).toString()}-${h.toString()}`),"a"),e[5]=t,e[6]=i):i=e[6],a=n.map(i),e[2]=n,e[3]=t,e[4]=a}else a=e[4];let c;return e[7]!==r||e[8]!==a?(c=(0,u.jsx)("ul",{"aria-label":r,className:"max-h-24 shrink-0 overflow-y-auto border-t border-border bg-muted/30","data-testid":"sql-problems",children:a}),e[7]=r,e[8]=a,e[9]=c):c=e[9],c},"Xn"),Xn={minWidth:"2.75rem",paddingInline:"0.5rem"},Jn=l(s=>{let e=(0,G.c)(64),{assistant:n,autocomplete:t,diagnostics:o,draft:r,failed:a,handlers:c,editorRef:i,gutterRef:d,listboxId:h,onGenerated:b,onPickSuggestion:g,onRevealDiagnostic:v,overlayRef:m}=s,S=ce(),f,y,x,q,w,p,N,k;if(e[0]!==n||e[1]!==r||e[2]!==a||e[3]!==d||e[4]!==b){let P=r.split(`
7
+ `).length;N="flex min-h-0 min-w-0 flex-1 flex-col",e[13]!==n||e[14]!==a||e[15]!==b?(k=(0,u.jsx)(Yn,{assistant:n,failed:a,onGenerated:b}),e[13]=n,e[14]=a,e[15]=b,e[16]=k):k=e[16],p="flex min-h-0 min-w-0 flex-1",f="true",y="shrink-0 select-none overflow-hidden border-e border-border bg-muted/30 py-3 text-end font-mono text-xs leading-5 text-muted-foreground/60",x=d,q=Xn,w=Array.from({length:P},Zn),e[0]=n,e[1]=r,e[2]=a,e[3]=d,e[4]=b,e[5]=f,e[6]=y,e[7]=x,e[8]=q,e[9]=w,e[10]=p,e[11]=N,e[12]=k}else f=e[5],y=e[6],x=e[7],q=e[8],w=e[9],p=e[10],N=e[11],k=e[12];let R;e[17]!==f||e[18]!==y||e[19]!==x||e[20]!==q||e[21]!==w?(R=(0,u.jsx)("div",{"aria-hidden":f,className:y,ref:x,style:q,children:w}),e[17]=f,e[18]=y,e[19]=x,e[20]=q,e[21]=w,e[22]=R):R=e[22];let T;e[23]!==o||e[24]!==r||e[25]!==m?(T=(0,u.jsx)(Gn,{diagnostics:o,draft:r,scrollRef:m}),e[23]=o,e[24]=r,e[25]=m,e[26]=T):T=e[26];let E;e[27]!==t||e[28]!==h?(E=t===null?void 0:`${h}-opt-${t.active.toString()}`,e[27]=t,e[28]=h,e[29]=E):E=e[29];let I=t===null?void 0:h,O=t!==null,A;e[30]!==S?(A=S("SQL query"),e[30]=S,e[31]=A):A=e[31];let L;e[32]!==r||e[33]!==i||e[34]!==c.onBlur||e[35]!==c.onChange||e[36]!==c.onKeyDown||e[37]!==c.onScroll||e[38]!==c.onSelect||e[39]!==E||e[40]!==I||e[41]!==O||e[42]!==A?(L=(0,u.jsx)("textarea",{"aria-activedescendant":E,"aria-autocomplete":"list","aria-controls":I,"aria-expanded":O,"aria-label":A,className:`relative size-full resize-none bg-transparent outline-none ${vt}`,"data-testid":"sql-input",onBlur:c.onBlur,onChange:c.onChange,onKeyDown:c.onKeyDown,onScroll:c.onScroll,onSelect:c.onSelect,placeholder:"SELECT * FROM \u2026",ref:i,role:"combobox",spellCheck:!1,value:r}),e[32]=r,e[33]=i,e[34]=c.onBlur,e[35]=c.onChange,e[36]=c.onKeyDown,e[37]=c.onScroll,e[38]=c.onSelect,e[39]=E,e[40]=I,e[41]=O,e[42]=A,e[43]=L):L=e[43];let F;e[44]!==t||e[45]!==h||e[46]!==g?(F=(0,u.jsx)(wn,{listboxId:h,onPick:g,state:t}),e[44]=t,e[45]=h,e[46]=g,e[47]=F):F=e[47];let M;e[48]!==T||e[49]!==L||e[50]!==F?(M=(0,u.jsxs)("div",{className:"relative min-w-0 flex-1 bg-background",children:[T,L,F]}),e[48]=T,e[49]=L,e[50]=F,e[51]=M):M=e[51];let H;e[52]!==M||e[53]!==p||e[54]!==R?(H=(0,u.jsxs)("div",{className:p,children:[R,M]}),e[52]=M,e[53]=p,e[54]=R,e[55]=H):H=e[55];let D;e[56]!==o||e[57]!==v?(D=(0,u.jsx)(Vn,{diagnostics:o,onSelect:v}),e[56]=o,e[57]=v,e[58]=D):D=e[58];let C;return e[59]!==H||e[60]!==D||e[61]!==N||e[62]!==k?(C=(0,u.jsxs)("div",{className:N,children:[k,H,D]}),e[59]=H,e[60]=D,e[61]=N,e[62]=k,e[63]=C):C=e[63],C},"es");function Zn(s,e){return(0,u.jsx)("div",{children:e+1},e)}l(Zn,"ts");var yt=[{label:"List tables",sql:"SELECT name FROM sqlite_master WHERE type = 'table' ORDER BY name;"},{label:"Table row count",sql:"SELECT COUNT(*) AS rows FROM messages;"},{label:"Recent rows",sql:"SELECT id, _creationTime, __doc__ FROM messages ORDER BY _creationTime DESC LIMIT 50;"},{label:"Index list",sql:"SELECT name, tbl_name FROM sqlite_master WHERE type = 'index' ORDER BY tbl_name;"}],er=l(s=>{let e=(0,G.c)(29),{active:n,onDelete:t,onSelect:o,query:r}=s,a=ce(),c;e[0]!==o||e[1]!==r.id?(c=l(()=>{o(r.id)},"c"),e[0]=o,e[1]=r.id,e[2]=c):c=e[2];let i=c,d;e[3]!==t||e[4]!==r.id?(d=l(N=>{N.stopPropagation(),t(r.id)},"i"),e[3]=t,e[4]=r.id,e[5]=d):d=e[5];let h=d,b=n?"bg-sidebar-accent font-medium text-foreground":"text-muted-foreground",g;e[6]!==b?(g=me("flex min-w-0 flex-1 items-center gap-2 rounded-md px-2 py-1.5 text-start text-[13px] outline-none transition-colors hover:bg-sidebar-accent focus-visible:bg-sidebar-accent",b),e[6]=b,e[7]=g):g=e[7];let v=`sql-query-${r.id}`,m;e[8]===Symbol.for("react.memo_cache_sentinel")?(m=(0,u.jsx)("svg",{"aria-hidden":"true",className:"size-3.5 shrink-0 opacity-70",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.6,viewBox:"0 0 24 24",children:(0,u.jsx)("path",{d:"M4 6h16M4 12h10M4 18h7"})}),e[8]=m):m=e[8];let S;e[9]!==r.name?(S=(0,u.jsx)("span",{className:"truncate",children:r.name}),e[9]=r.name,e[10]=S):S=e[10];let f;e[11]!==n||e[12]!==i||e[13]!==g||e[14]!==v||e[15]!==S?(f=(0,u.jsxs)("button",{"aria-pressed":n,className:g,"data-testid":v,onClick:i,type:"button",children:[m,S]}),e[11]=n,e[12]=i,e[13]=g,e[14]=v,e[15]=S,e[16]=f):f=e[16];let y;e[17]!==a?(y=a("Delete query"),e[17]=a,e[18]=y):y=e[18];let x;e[19]!==a?(x=a("Delete query"),e[19]=a,e[20]=x):x=e[20];let q;e[21]===Symbol.for("react.memo_cache_sentinel")?(q=(0,u.jsx)("svg",{"aria-hidden":"true",className:"size-3.5",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.6,viewBox:"0 0 24 24",children:(0,u.jsx)("path",{d:"M5 7h14M9 7V5h6v2m-1 0v12H10V7M7 7v13h10V7"})}),e[21]=q):q=e[21];let w;e[22]!==h||e[23]!==x||e[24]!==y?(w=(0,u.jsx)("button",{"aria-label":y,className:"me-1 hidden size-6 shrink-0 items-center justify-center rounded text-muted-foreground hover:bg-destructive/10 hover:text-destructive group-hover/q:flex",onClick:h,title:x,type:"button",children:q}),e[22]=h,e[23]=x,e[24]=y,e[25]=w):w=e[25];let p;return e[26]!==w||e[27]!==f?(p=(0,u.jsxs)("li",{className:"group/q flex items-center",children:[f,w]}),e[26]=w,e[27]=f,e[28]=p):p=e[28],p},"ns"),it="sql-history-remember",tr=l((s,e)=>{let n=e.trim().toLowerCase();return n===""?[...s]:s.filter(t=>t.name.toLowerCase().includes(n))},"ss"),nr=l(s=>{let e=(0,G.c)(66),{activeId:n,history:t,listRef:o,onClearHistory:r,onDelete:a,onLoadHistory:c,onLoadTemplate:i,onNew:d,onSearchChange:h,onSelect:b,onToggleRememberHistory:g,queries:v,rememberHistory:m,search:S}=s,f=ce(),y,x,q,w,p;if(e[0]!==n||e[1]!==o||e[2]!==a||e[3]!==d||e[4]!==h||e[5]!==b||e[6]!==g||e[7]!==v||e[8]!==S||e[9]!==f){let L=tr(v,S),F;e[15]!==g?(F=l(z=>{g(z.target.checked)},"B"),e[15]=g,e[16]=F):F=e[16],y=F,q="flex h-full w-64 shrink-0 flex-col border-e border-border bg-sidebar";let M;e[17]!==f?(M=f("Search queries\u2026"),e[17]=f,e[18]=M):M=e[18];let H;e[19]!==h||e[20]!==S||e[21]!==M?(H=(0,u.jsx)("input",{className:"h-8 min-w-0 flex-1 rounded-md border border-border bg-background px-2 text-xs outline-none focus-visible:border-ring","data-testid":"sql-search",onChange:h,placeholder:M,type:"text",value:S}),e[19]=h,e[20]=S,e[21]=M,e[22]=H):H=e[22];let D;e[23]!==f?(D=f("New query"),e[23]=f,e[24]=D):D=e[24];let C;e[25]!==f?(C=f("New query"),e[25]=f,e[26]=C):C=e[26];let P;e[27]===Symbol.for("react.memo_cache_sentinel")?(P=(0,u.jsx)("svg",{"aria-hidden":"true",className:"size-4",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.7,viewBox:"0 0 24 24",children:(0,u.jsx)("path",{d:"M12 5v14M5 12h14"})}),e[27]=P):P=e[27];let _;e[28]!==d||e[29]!==D||e[30]!==C?(_=(0,u.jsx)("button",{"aria-label":D,className:"flex size-8 shrink-0 items-center justify-center rounded-md border border-border text-foreground outline-none transition-colors hover:bg-accent focus-visible:bg-accent","data-testid":"sql-new",onClick:d,title:C,type:"button",children:P}),e[28]=d,e[29]=D,e[30]=C,e[31]=_):_=e[31],e[32]!==_||e[33]!==H?(w=(0,u.jsxs)("div",{className:"flex shrink-0 items-center gap-2 border-b border-border p-2",children:[H,_]}),e[32]=_,e[33]=H,e[34]=w):w=e[34],x="flex flex-1 flex-col gap-4 overflow-y-auto p-2";let $;e[35]!==f?($=f("Private"),e[35]=f,e[36]=$):$=e[36];let W;e[37]!==$?(W=(0,u.jsx)("p",{className:"px-1 pb-1 font-mono text-[11px] tracking-wide text-muted-foreground uppercase",children:$}),e[37]=$,e[38]=W):W=e[38],p=(0,u.jsxs)("div",{children:[W,L.length===0?(0,u.jsx)("p",{className:"px-1 py-2 text-xs text-muted-foreground","data-testid":"sql-private-empty",children:f("No saved queries yet \u2014 they save to this browser as you type.")}):(0,u.jsx)("ul",{className:"flex flex-col gap-px","data-testid":"sql-private",ref:o,children:L.map(z=>(0,u.jsx)(er,{active:n===z.id,onDelete:a,onSelect:b,query:z},z.id))})]}),e[0]=n,e[1]=o,e[2]=a,e[3]=d,e[4]=h,e[5]=b,e[6]=g,e[7]=v,e[8]=S,e[9]=f,e[10]=y,e[11]=x,e[12]=q,e[13]=w,e[14]=p}else y=e[10],x=e[11],q=e[12],w=e[13],p=e[14];let N;e[39]!==f?(N=f("Reference"),e[39]=f,e[40]=N):N=e[40];let k;e[41]!==N?(k=(0,u.jsx)("p",{className:"px-1 pb-1 font-mono text-[11px] tracking-wide text-muted-foreground uppercase",children:N}),e[41]=N,e[42]=k):k=e[42];let R;e[43]!==i?(R=yt.map(L=>(0,u.jsx)("li",{children:(0,u.jsxs)("button",{className:"flex w-full items-center gap-2 rounded-md px-2 py-1.5 text-start text-[13px] text-muted-foreground outline-none transition-colors hover:bg-sidebar-accent hover:text-foreground focus-visible:bg-sidebar-accent","data-sql":L.sql,onClick:i,type:"button",children:[(0,u.jsx)("svg",{"aria-hidden":"true",className:"size-3.5 shrink-0 opacity-70",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.6,viewBox:"0 0 24 24",children:(0,u.jsx)("path",{d:"M7 4h7l4 4v12H7zM14 4v4h4"})}),L.label]})},L.label)),e[43]=i,e[44]=R):R=e[44];let T;e[45]!==R?(T=(0,u.jsx)("ul",{className:"flex flex-col gap-px",children:R}),e[45]=R,e[46]=T):T=e[46];let E;e[47]!==k||e[48]!==T?(E=(0,u.jsxs)("div",{children:[k,T]}),e[47]=k,e[48]=T,e[49]=E):E=e[49];let I;e[50]!==t||e[51]!==r||e[52]!==c||e[53]!==y||e[54]!==m||e[55]!==f?(I=t.length>0&&(0,u.jsxs)("div",{children:[(0,u.jsxs)("div",{className:"flex items-center justify-between px-1 pb-1",children:[(0,u.jsx)("p",{className:"font-mono text-[11px] tracking-wide text-muted-foreground uppercase",children:f("History")}),(0,u.jsx)("button",{className:"rounded px-1 text-[11px] text-muted-foreground outline-none transition-colors hover:text-foreground focus-visible:text-foreground","data-testid":"sql-history-clear",onClick:r,type:"button",children:f("Clear history")})]}),(0,u.jsxs)("label",{className:"flex cursor-pointer items-center gap-1.5 px-1 pb-1.5 text-[11px] text-muted-foreground",htmlFor:it,children:[(0,u.jsx)("input",{checked:m,"data-testid":"sql-history-remember",id:it,onChange:y,type:"checkbox"}),f("Keep history on this browser")]}),(0,u.jsx)("ul",{className:"flex flex-col gap-px","data-testid":"sql-history",children:t.map(L=>(0,u.jsx)("li",{children:(0,u.jsxs)("button",{className:"flex w-full items-center gap-2 rounded-md px-2 py-1.5 text-start text-[13px] text-muted-foreground outline-none transition-colors hover:bg-sidebar-accent hover:text-foreground focus-visible:bg-sidebar-accent","data-sql":L.sql,"data-testid":"sql-history-item",onClick:c,title:L.sql,type:"button",children:[(0,u.jsx)("svg",{"aria-hidden":"true",className:"size-3.5 shrink-0 opacity-70",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.6,viewBox:"0 0 24 24",children:(0,u.jsx)("path",{d:"M12 8v4l3 2M12 21a9 9 0 1 1 0-18 9 9 0 0 1 0 18Z"})}),(0,u.jsx)("span",{className:"truncate font-mono",children:L.sql})]})},`${L.at.toString()}:${L.sql}`))})]}),e[50]=t,e[51]=r,e[52]=c,e[53]=y,e[54]=m,e[55]=f,e[56]=I):I=e[56];let O;e[57]!==x||e[58]!==I||e[59]!==p||e[60]!==E?(O=(0,u.jsxs)("div",{className:x,children:[p,E,I]}),e[57]=x,e[58]=I,e[59]=p,e[60]=E,e[61]=O):O=e[61];let A;return e[62]!==O||e[63]!==q||e[64]!==w?(A=(0,u.jsxs)("aside",{className:q,children:[w,O]}),e[62]=O,e[63]=q,e[64]=w,e[65]=A):A=e[65],A},"os"),Ae=l(s=>`border-b-2 px-3 py-2 text-sm outline-none transition-colors ${s?"border-foreground font-medium text-foreground":"border-transparent text-muted-foreground hover:text-foreground"}`,"Ie"),rr=l(s=>{let e=(0,G.c)(96),{assistant:n,chart:t,className:o,error:r,onFormat:a,onInferChart:c,onRun:i,onSelectStatement:d,onShardKeyChange:h,onShowChart:b,onShowExplain:g,onShowResults:v,onToggleSplit:m,pane:S,result:f,running:y,script:x,shardKey:q,splitView:w}=s,p=ce(),N=S==="results",k;e[0]!==N?(k=Ae(N),e[0]=N,e[1]=k):k=e[1];let R;e[2]!==p?(R=p("Results"),e[2]=p,e[3]=R):R=e[3];let T;e[4]!==v||e[5]!==k||e[6]!==R?(T=(0,u.jsx)("button",{className:k,"data-testid":"sql-tab-results",onClick:v,type:"button",children:R}),e[4]=v,e[5]=k,e[6]=R,e[7]=T):T=e[7];let E=S==="chart",I;e[8]!==E?(I=Ae(E),e[8]=E,e[9]=I):I=e[9];let O;e[10]!==p?(O=p("Chart"),e[10]=p,e[11]=O):O=e[11];let A;e[12]!==b||e[13]!==I||e[14]!==O?(A=(0,u.jsx)("button",{className:I,"data-testid":"sql-tab-chart",onClick:b,type:"button",children:O}),e[12]=b,e[13]=I,e[14]=O,e[15]=A):A=e[15];let L;e[16]!==n||e[17]!==c||e[18]!==S||e[19]!==f||e[20]!==p?(L=!n.unavailable&&S==="chart"&&f!==null&&(0,u.jsx)("button",{className:Ae(!1),"data-testid":"sql-infer-chart",disabled:n.pending("chart"),onClick:c,type:"button",children:n.pending("chart")?p("Thinking\u2026"):p("Suggest chart")}),e[16]=n,e[17]=c,e[18]=S,e[19]=f,e[20]=p,e[21]=L):L=e[21];let F=S==="explain",M;e[22]!==F?(M=Ae(F),e[22]=F,e[23]=M):M=e[23];let H;e[24]!==p?(H=p("Explain"),e[24]=p,e[25]=H):H=e[25];let D;e[26]!==g||e[27]!==M||e[28]!==H?(D=(0,u.jsx)("button",{className:M,"data-testid":"sql-tab-explain",onClick:g,type:"button",children:H}),e[26]=g,e[27]=M,e[28]=H,e[29]=D):D=e[29];let C;e[30]!==p?(C=p("Split editor and results"),e[30]=p,e[31]=C):C=e[31];let P=`inline-flex items-center rounded-md border border-border px-2 py-1.5 outline-none transition-colors hover:bg-accent focus-visible:bg-accent ${w?"bg-accent text-foreground":"text-muted-foreground"}`,_;e[32]!==p?(_=p("Split editor and results"),e[32]=p,e[33]=_):_=e[33];let $;e[34]===Symbol.for("react.memo_cache_sentinel")?($=(0,u.jsxs)("svg",{"aria-hidden":"true",className:"size-4",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.7,viewBox:"0 0 24 24",children:[(0,u.jsx)("rect",{height:"16",rx:"2",width:"18",x:"3",y:"4"}),(0,u.jsx)("path",{d:"M12 4v16"})]}),e[34]=$):$=e[34];let W;e[35]!==m||e[36]!==w||e[37]!==C||e[38]!==P||e[39]!==_?(W=(0,u.jsx)("button",{"aria-label":C,"aria-pressed":w,className:P,"data-testid":"sql-split-toggle",onClick:m,title:_,type:"button",children:$}),e[35]=m,e[36]=w,e[37]=C,e[38]=P,e[39]=_,e[40]=W):W=e[40];let z;e[41]!==f?(z=f!==null&&f.columns.length>0&&(0,u.jsx)(tt,{columns:f.columns,name:"query-result",rows:f.rows}),e[41]=f,e[42]=z):z=e[42];let J;e[43]!==p?(J=p("Format"),e[43]=p,e[44]=J):J=e[44];let Z;e[45]!==a||e[46]!==y||e[47]!==J?(Z=(0,u.jsx)("button",{className:"inline-flex items-center rounded-md border border-border px-3 py-1.5 text-xs font-medium text-foreground outline-none transition-colors hover:bg-accent focus-visible:bg-accent disabled:pointer-events-none disabled:opacity-50","data-testid":"sql-format",disabled:y,onClick:a,type:"button",children:J}),e[45]=a,e[46]=y,e[47]=J,e[48]=Z):Z=e[48];let ee;e[49]!==h||e[50]!==q?(ee=(0,u.jsx)(Xe,{onChange:h,testId:"sql-shard-input",value:q}),e[49]=h,e[50]=q,e[51]=ee):ee=e[51];let te;e[52]!==y||e[53]!==p?(te=p(y?"Running\u2026":"Run"),e[52]=y,e[53]=p,e[54]=te):te=e[54];let ie;e[55]===Symbol.for("react.memo_cache_sentinel")?(ie=(0,u.jsx)("kbd",{className:"rounded border border-primary-foreground/30 px-1 font-sans text-[10px]",children:"\u2318\u21B5"}),e[55]=ie):ie=e[55];let V;e[56]!==i||e[57]!==y||e[58]!==te?(V=(0,u.jsxs)("button",{className:"inline-flex items-center gap-1.5 rounded-md bg-primary px-3 py-1.5 text-xs font-medium text-primary-foreground outline-none transition-colors hover:bg-primary/90 focus-visible:bg-primary/90 disabled:pointer-events-none disabled:opacity-50","data-testid":"sql-run",disabled:y,onClick:i,type:"button",children:[te,ie]}),e[56]=i,e[57]=y,e[58]=te,e[59]=V):V=e[59];let Q;e[60]!==W||e[61]!==z||e[62]!==Z||e[63]!==ee||e[64]!==V?(Q=(0,u.jsxs)("div",{className:"ms-auto flex items-center gap-2",children:[W,z,Z,ee,V]}),e[60]=W,e[61]=z,e[62]=Z,e[63]=ee,e[64]=V,e[65]=Q):Q=e[65];let ne;e[66]!==D||e[67]!==Q||e[68]!==T||e[69]!==A||e[70]!==L?(ne=(0,u.jsxs)("div",{className:"flex shrink-0 items-center gap-2 border-b border-border pe-2",children:[T,A,L,D,Q]}),e[66]=D,e[67]=Q,e[68]=T,e[69]=A,e[70]=L,e[71]=ne):ne=e[71];let re;e[72]!==d||e[73]!==x?(re=x!==void 0&&(0,u.jsx)("div",{className:"flex shrink-0 flex-wrap items-center gap-1 border-b border-border px-3 py-1.5","data-testid":"sql-statements",children:x.runs.map((Y,X)=>(0,u.jsx)("button",{"aria-pressed":X===x.selected,className:`rounded-md border px-2 py-0.5 font-mono text-[11px] outline-none transition-colors ${X===x.selected?"border-foreground text-foreground":"border-border text-muted-foreground hover:text-foreground"} ${Y.error===null?"":"border-destructive/50 text-destructive"}`,"data-testid":`sql-statement-${X.toString()}`,onClick:l(()=>{d(X)},"onClick"),title:Y.sql,type:"button",children:X+1},`${X.toString()}:${Y.sql}`))}),e[72]=d,e[73]=x,e[74]=re):re=e[74];let oe;e[75]!==r?(oe=r!==null&&(0,u.jsx)(Je,{className:"m-3 font-mono text-xs",testId:"sql-error",variant:"destructive",children:r}),e[75]=r,e[76]=oe):oe=e[76];let se;e[77]!==r||e[78]!==f||e[79]!==p?(se=r===null&&f===null&&(0,u.jsx)("p",{className:"p-4 text-sm text-muted-foreground","data-testid":"sql-empty",children:p("Click Run to execute your query.")}),e[77]=r,e[78]=f,e[79]=p,e[80]=se):se=e[80];let le;e[81]!==t||e[82]!==r||e[83]!==S||e[84]!==f||e[85]!==p?(le=r===null&&f!==null&&(0,u.jsxs)("div",{"data-testid":"sql-result",children:[S==="chart"?(0,u.jsx)(nt,{axes:t,result:f}):(0,u.jsx)(rt,{result:f}),(0,u.jsx)("p",{className:"border-t border-border px-3 py-1.5 text-xs text-muted-foreground","data-testid":"sql-count",children:f.truncated?p("Showing the first {max} of {count} rows.",{count:f.rowCount,max:f.rows.length}):p("{count} rows",{count:f.rowCount})})]}),e[81]=t,e[82]=r,e[83]=S,e[84]=f,e[85]=p,e[86]=le):le=e[86];let B;e[87]!==oe||e[88]!==se||e[89]!==le?(B=(0,u.jsxs)("div",{className:"min-h-0 flex-1 overflow-auto",children:[oe,se,le]}),e[87]=oe,e[88]=se,e[89]=le,e[90]=B):B=e[90];let U;return e[91]!==o||e[92]!==ne||e[93]!==re||e[94]!==B?(U=(0,u.jsxs)("div",{className:o,children:[ne,re,B]}),e[91]=o,e[92]=ne,e[93]=re,e[94]=B,e[95]=U):U=e[95],U},"ls"),or=l((s,e)=>s.trim()===""?e:(s.split(`
8
+ `)[0]??s).slice(0,24),"rs"),sr=l(s=>{s?.focus(),s?.select()},"is"),lr=l(s=>{let e=(0,G.c)(14),{initial:n,onCancel:t,onCommit:o,placeholder:r,testId:a}=s,c=ce(),i;e[0]!==o?(i=l(m=>{o(m.currentTarget.value.trim())},"a"),e[0]=o,e[1]=i):i=e[1];let d=i,h;e[2]!==t||e[3]!==o?(h=l(m=>{m.key==="Enter"?o(m.currentTarget.value.trim()):m.key==="Escape"&&t()},"f"),e[2]=t,e[3]=o,e[4]=h):h=e[4];let b=h,g;e[5]!==c?(g=c("Tab title"),e[5]=c,e[6]=g):g=e[6];let v;return e[7]!==n||e[8]!==d||e[9]!==b||e[10]!==r||e[11]!==g||e[12]!==a?(v=(0,u.jsx)("input",{"aria-label":g,className:"w-40 rounded border border-ring bg-background px-1 py-0.5 text-xs outline-none","data-testid":a,defaultValue:n,onBlur:d,onKeyDown:b,placeholder:r,ref:sr,type:"text"}),e[7]=n,e[8]=d,e[9]=b,e[10]=r,e[11]=g,e[12]=a,e[13]=v):v=e[13],v},"as"),ar=l(s=>{let e=(0,G.c)(29),{idBase:n,onDiscard:t,onKeep:o}=s,r=ce(),a=`sql-tab-close-prompt-${n}`,c;e[0]!==r?(c=r("Discard?"),e[0]=r,e[1]=c):c=e[1];let i;e[2]!==c?(i=(0,u.jsx)("span",{className:"text-[11px] text-muted-foreground",children:c}),e[2]=c,e[3]=i):i=e[3];let d;e[4]!==r?(d=r("Discard changes"),e[4]=r,e[5]=d):d=e[5];let h=`sql-tab-close-confirm-${n}`,b;e[6]!==r?(b=r("Discard changes"),e[6]=r,e[7]=b):b=e[7];let g;e[8]===Symbol.for("react.memo_cache_sentinel")?(g=(0,u.jsx)("svg",{"aria-hidden":"true",className:"size-3",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2.4,viewBox:"0 0 24 24",children:(0,u.jsx)("path",{d:"M5 13l4 4L19 7"})}),e[8]=g):g=e[8];let v;e[9]!==t||e[10]!==d||e[11]!==h||e[12]!==b?(v=(0,u.jsx)("button",{"aria-label":d,className:"flex size-5 items-center justify-center rounded text-destructive hover:bg-destructive/10","data-testid":h,onClick:t,title:b,type:"button",children:g}),e[9]=t,e[10]=d,e[11]=h,e[12]=b,e[13]=v):v=e[13];let m;e[14]!==r?(m=r("Keep editing"),e[14]=r,e[15]=m):m=e[15];let S=`sql-tab-close-cancel-${n}`,f;e[16]!==r?(f=r("Keep editing"),e[16]=r,e[17]=f):f=e[17];let y;e[18]===Symbol.for("react.memo_cache_sentinel")?(y=(0,u.jsx)("svg",{"aria-hidden":"true",className:"size-3",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2.4,viewBox:"0 0 24 24",children:(0,u.jsx)("path",{d:"M6 6l12 12M18 6 6 18"})}),e[18]=y):y=e[18];let x;e[19]!==o||e[20]!==S||e[21]!==f||e[22]!==m?(x=(0,u.jsx)("button",{"aria-label":m,className:"flex size-5 items-center justify-center rounded text-muted-foreground hover:bg-accent","data-testid":S,onClick:o,title:f,type:"button",children:y}),e[19]=o,e[20]=S,e[21]=f,e[22]=m,e[23]=x):x=e[23];let q;return e[24]!==a||e[25]!==x||e[26]!==i||e[27]!==v?(q=(0,u.jsxs)("span",{className:"flex shrink-0 items-center gap-1","data-testid":a,role:"group",children:[i,v,x]}),e[24]=a,e[25]=x,e[26]=i,e[27]=v,e[28]=q):q=e[28],q},"cs"),ir=l(s=>{let e=(0,G.c)(47),{active:n,canClose:t,onClose:o,onMenu:r,onRename:a,onSelect:c,tab:i}=s,d=ce(),[h,b]=(0,j.useState)(!1),[g,v]=(0,j.useState)(!1),m;e[0]!==r||e[1]!==i.id?(m=l(z=>{r(i.id,z)},"d"),e[0]=r,e[1]=i.id,e[2]=m):m=e[2];let S=m,f;e[3]!==c||e[4]!==i.id?(f=l(()=>{c(i.id)},"u"),e[3]=c,e[4]=i.id,e[5]=f):f=e[5];let y=f,x;e[6]===Symbol.for("react.memo_cache_sentinel")?(x=l(()=>{b(!0)},"g"),e[6]=x):x=e[6];let q=x,w;e[7]!==o||e[8]!==i?(w=l(z=>{z.stopPropagation(),xt(i)?v(!0):o(i.id)},"y"),e[7]=o,e[8]=i,e[9]=w):w=e[9];let p=w,N;e[10]!==o||e[11]!==i.id?(N=l(z=>{z.stopPropagation(),v(!1),o(i.id)},"E"),e[10]=o,e[11]=i.id,e[12]=N):N=e[12];let k=N,R;e[13]===Symbol.for("react.memo_cache_sentinel")?(R=l(z=>{z.stopPropagation(),v(!1)},"R"),e[13]=R):R=e[13];let T=R,E;e[14]!==a||e[15]!==i.id?(E=l(z=>{a(i.id,z),b(!1)},"_"),e[14]=a,e[15]=i.id,e[16]=E):E=e[16];let I=E,O;e[17]===Symbol.for("react.memo_cache_sentinel")?(O=l(()=>{b(!1)},"A"),e[17]=O):O=e[17];let A=O,L;e[18]!==i.name?(L=i.name.trim(),e[18]=i.name,e[19]=L):L=e[19];let F=L,M;e[20]!==d||e[21]!==i.sql?(M=or(i.sql,d("Untitled")),e[20]=d,e[21]=i.sql,e[22]=M):M=e[22];let H=M,D=n?"bg-background text-foreground":"bg-muted/40 text-muted-foreground hover:text-foreground",C;e[23]!==D?(C=me("group/tab flex shrink-0 items-center gap-1 border-e border-border ps-3 pe-1.5 text-xs",D),e[23]=D,e[24]=C):C=e[24];let P=`sql-tab-${i.id}`,_;e[25]!==n||e[26]!==I||e[27]!==F||e[28]!==H||e[29]!==h||e[30]!==y||e[31]!==d||e[32]!==i.id?(_=h?(0,u.jsx)(lr,{initial:F,onCancel:A,onCommit:I,placeholder:H,testId:`sql-tab-rename-${i.id}`}):(0,u.jsx)("button",{"aria-pressed":n,className:"max-w-40 truncate py-1.5 outline-none","data-testid":`sql-tab-select-${i.id}`,onClick:y,onDoubleClick:q,title:d("Double-click to rename"),type:"button",children:F===""?H:F}),e[25]=n,e[26]=I,e[27]=F,e[28]=H,e[29]=h,e[30]=y,e[31]=d,e[32]=i.id,e[33]=_):_=e[33];let $;e[34]!==t||e[35]!==k||e[36]!==g||e[37]!==p||e[38]!==d||e[39]!==i.id?($=t&&(g?(0,u.jsx)(ar,{idBase:i.id,onDiscard:k,onKeep:T}):(0,u.jsx)("button",{"aria-label":d("Close tab"),className:"flex size-5 shrink-0 items-center justify-center rounded text-muted-foreground hover:bg-destructive/10 hover:text-destructive","data-testid":`sql-tab-close-${i.id}`,onClick:p,title:d("Close tab"),type:"button",children:(0,u.jsx)("svg",{"aria-hidden":"true",className:"size-3",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,viewBox:"0 0 24 24",children:(0,u.jsx)("path",{d:"M6 6l12 12M18 6 6 18"})})})),e[34]=t,e[35]=k,e[36]=g,e[37]=p,e[38]=d,e[39]=i.id,e[40]=$):$=e[40];let W;return e[41]!==S||e[42]!==C||e[43]!==P||e[44]!==_||e[45]!==$?(W=(0,u.jsxs)("div",{className:C,"data-testid":P,onContextMenu:S,children:[_,$]}),e[41]=S,e[42]=C,e[43]=P,e[44]=_,e[45]=$,e[46]=W):W=e[46],W},"ds"),cr=l(s=>{let e=(0,G.c)(43),{model:n,onSelect:t}=s,o=ce(),{activeTab:r,addEditorTab:a,cancelBulk:c,closeEditorTab:i,closeTabMenu:d,confirmBulk:h,menuStyle:b,onBackdropContextMenu:g,onCloseAll:v,onCloseOthers:m,onCloseToRight:S,openTabMenu:f,pendingBulk:y,renameTab:x,tabMenu:q,tabs:w}=n,p;if(e[0]!==r||e[1]!==i||e[2]!==t||e[3]!==f||e[4]!==x||e[5]!==w){let L;e[7]!==r||e[8]!==i||e[9]!==t||e[10]!==f||e[11]!==x||e[12]!==w.length?(L=l(F=>(0,u.jsx)(ir,{active:F.id===r.id,canClose:w.length>1,onClose:i,onMenu:f,onRename:x,onSelect:t,tab:F},F.id),"I"),e[7]=r,e[8]=i,e[9]=t,e[10]=f,e[11]=x,e[12]=w.length,e[13]=L):L=e[13],p=w.map(L),e[0]=r,e[1]=i,e[2]=t,e[3]=f,e[4]=x,e[5]=w,e[6]=p}else p=e[6];let N;e[14]!==o?(N=o("New tab"),e[14]=o,e[15]=N):N=e[15];let k=w.length>=We,R;e[16]!==o?(R=o("New tab"),e[16]=o,e[17]=R):R=e[17];let T;e[18]===Symbol.for("react.memo_cache_sentinel")?(T=(0,u.jsx)("svg",{"aria-hidden":"true",className:"size-4",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.7,viewBox:"0 0 24 24",children:(0,u.jsx)("path",{d:"M12 5v14M5 12h14"})}),e[18]=T):T=e[18];let E;e[19]!==a||e[20]!==N||e[21]!==k||e[22]!==R?(E=(0,u.jsx)("button",{"aria-label":N,className:"flex size-8 shrink-0 items-center justify-center text-muted-foreground outline-none transition-colors hover:bg-accent hover:text-foreground focus-visible:bg-accent disabled:pointer-events-none disabled:opacity-40","data-testid":"sql-tab-add",disabled:k,onClick:a,title:R,type:"button",children:T}),e[19]=a,e[20]=N,e[21]=k,e[22]=R,e[23]=E):E=e[23];let I;e[24]!==p||e[25]!==E?(I=(0,u.jsxs)("div",{className:"flex shrink-0 items-stretch overflow-x-auto border-b border-border bg-muted/30","data-testid":"sql-tab-strip",role:"tablist",children:[p,E]}),e[24]=p,e[25]=E,e[26]=I):I=e[26];let O;e[27]!==c||e[28]!==d||e[29]!==h||e[30]!==b||e[31]!==g||e[32]!==v||e[33]!==m||e[34]!==S||e[35]!==y||e[36]!==o||e[37]!==q||e[38]!==w?(O=q!==null&&(0,u.jsxs)(u.Fragment,{children:[(0,u.jsx)("div",{className:"fixed inset-0 z-40","data-testid":"sql-tab-menu-backdrop",onClick:d,onContextMenu:g,role:"presentation"}),(0,u.jsx)("div",{className:"fixed z-50 min-w-44 rounded-md border border-border bg-popover py-1 text-popover-foreground shadow-md","data-testid":"sql-tab-menu",role:"menu",style:b,children:y===null?(0,u.jsxs)(u.Fragment,{children:[(0,u.jsx)("button",{className:"flex w-full items-center px-3 py-1.5 text-start text-xs outline-none hover:bg-accent focus-visible:bg-accent disabled:pointer-events-none disabled:opacity-40","data-testid":"sql-tab-menu-close-others",disabled:w.length<=1,onClick:m,role:"menuitem",type:"button",children:o("Close other tabs")}),(0,u.jsx)("button",{className:"flex w-full items-center px-3 py-1.5 text-start text-xs outline-none hover:bg-accent focus-visible:bg-accent disabled:pointer-events-none disabled:opacity-40","data-testid":"sql-tab-menu-close-right",disabled:w.findIndex(L=>L.id===q.id)>=w.length-1,onClick:S,role:"menuitem",type:"button",children:o("Close tabs to the right")}),(0,u.jsx)("button",{className:"flex w-full items-center px-3 py-1.5 text-start text-xs outline-none hover:bg-accent focus-visible:bg-accent","data-testid":"sql-tab-menu-close-all",onClick:v,role:"menuitem",type:"button",children:o("Close all tabs")})]}):(0,u.jsxs)("div",{className:"px-3 py-1.5","data-testid":"sql-tab-menu-confirm",children:[(0,u.jsx)("p",{className:"pb-1.5 text-xs text-muted-foreground",children:o("Discard unsaved tabs?")}),(0,u.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,u.jsx)("button",{className:"rounded px-2 py-1 text-xs font-medium text-destructive outline-none hover:bg-destructive/10 focus-visible:bg-destructive/10","data-testid":"sql-tab-menu-confirm-discard",onClick:h,type:"button",children:o("Discard")}),(0,u.jsx)("button",{className:"rounded px-2 py-1 text-xs text-muted-foreground outline-none hover:bg-accent focus-visible:bg-accent","data-testid":"sql-tab-menu-confirm-cancel",onClick:c,type:"button",children:o("Cancel")})]})]})})]}),e[27]=c,e[28]=d,e[29]=h,e[30]=b,e[31]=g,e[32]=v,e[33]=m,e[34]=S,e[35]=y,e[36]=o,e[37]=q,e[38]=w,e[39]=O):O=e[39];let A;return e[40]!==I||e[41]!==O?(A=(0,u.jsxs)(u.Fragment,{children:[I,O]}),e[40]=I,e[41]=O,e[42]=A):A=e[42],A},"us"),dr=Se(qe.runSql),ur="lunora-studio-sql-split-view",mr=l(()=>ke(yt[0]?.sql??""),"hs"),Tr=l(s=>{let e=(0,G.c)(112),{initialShardKey:n}=s,t=Ie(),o=Fn(mr),{activeTab:r,output:a,patchActiveOutput:c,patchActiveTab:i,setActiveTabId:d,unlinkQuery:h}=o,b;e[0]!==c||e[1]!==i?(b=l((K,ae)=>{i({activeId:ae,sql:K}),c({chart:void 0,error:null,failed:void 0,result:null,script:void 0})},"p"),e[0]=c,e[1]=i,e[2]=b):b=e[2];let g=b,v;e[3]!==g||e[4]!==h?(v={loadIntoActiveTab:g,unlinkQuery:h},e[3]=g,e[4]=h,e[5]=v):v=e[5];let m=jn(v),{recordHistory:S,updateQuerySql:f}=m,y=r.sql,{activeId:x}=r,{chart:q,error:w,failed:p,result:N,running:k}=a,R=a.pane,[T,E]=(0,j.useState)(n??""),[I,O]=Le(ur,!1),{probe:A,schema:L}=qn(T),F;e[6]!==x||e[7]!==i||e[8]!==f?(F=l(K=>{i({sql:K}),x!==null&&f(x,K)},"B"),e[6]=x,e[7]=i,e[8]=f,e[9]=F):F=e[9];let M=F,H=an(y,L,T),D=et(T),C;e[10]!==D||e[11]!==c||e[12]!==N?(C=l(()=>{N!==null&&ue((async()=>{let K=await D.inferChart({columns:N.columns,rowCount:N.rowCount,types:Object.fromEntries(N.columns.map(ae=>[ae,typeof(N.rows[0]?.[ae]??"")]))});c({chart:K})})())},"k"),e[10]=D,e[11]=c,e[12]=N,e[13]=C):C=e[13];let P=C,_;e[14]!==t||e[15]!==S||e[16]!==T?(_=l(async K=>{try{let ae=await t.query(dr,{sql:K},Ne(T));return S(K),{error:null,result:ae,sql:K}}catch(ae){return{error:Ge(ae),result:null,sql:K}}},"L"),e[14]=t,e[15]=S,e[16]=T,e[17]=_):_=e[17];let $=_,W;e[18]!==y||e[19]!==c||e[20]!==$||e[21]!==T?(W=l(async K=>{if(y.trim()==="")return;c({running:!0});let ae=K==="explain"?Qe(At(y),0):ft(y),de=[];for(let _e of ae){let wt={error:_e.rejection?.message??"",result:null,sql:_e.sql};de.push(_e.rejection===void 0?await $(_e.sql):wt)}Ve(T);let Ue=Math.max(de.length-1,0),ye=de[Ue];c({chart:void 0,error:ye?.error??null,failed:ye?.error===null||ye===void 0?void 0:{error:ye.error,sql:ye.sql},pane:K,result:ye?.result??null,running:!1,script:de.length>1?{runs:de,selected:Ue}:void 0})},"z"),e[18]=y,e[19]=c,e[20]=$,e[21]=T,e[22]=W):W=e[22];let z=W,J;e[23]!==a.script?.runs||e[24]!==c?(J=l(K=>{let ae=a.script?.runs,de=ae?.[K];ae===void 0||de===void 0||c({chart:void 0,error:de.error,failed:de.error===null?void 0:{error:de.error,sql:de.sql},result:de.result,script:{runs:ae,selected:K}})},"X"),e[23]=a.script?.runs,e[24]=c,e[25]=J):J=e[25];let Z=J,ee;e[26]!==z?(ee=l(()=>{ue(z("results"))},"ee"),e[26]=z,e[27]=ee):ee=e[27];let te=ee,ie;e[28]!==a.pane||e[29]!==z?(ie=l(()=>{ue(z(a.pane))},"ae"),e[28]=a.pane,e[29]=z,e[30]=ie):ie=e[30];let V;e[31]!==A||e[32]!==L||e[33]!==M||e[34]!==ie?(V={onSubmit:ie,probe:A,schema:L,setDraft:M},e[31]=A,e[32]=L,e[33]=M,e[34]=ie,e[35]=V):V=e[35];let Q=Tn(V),{closeAutocomplete:ne}=Q,re;e[36]!==y||e[37]!==M?(re=l(()=>{M(Bt(y))},"se"),e[36]=y,e[37]=M,e[38]=re):re=e[38];let oe=re,se;e[39]!==ne||e[40]!==d?(se=l(K=>{ne(),d(K)},"le"),e[39]=ne,e[40]=d,e[41]=se):se=e[41];let le=se,B;e[42]!==c?(B=l(()=>{c({pane:"results"})},"H"),e[42]=c,e[43]=B):B=e[43];let U=B,Y;e[44]!==z?(Y=l(()=>{ue(z("explain"))},"j"),e[44]=z,e[45]=Y):Y=e[45];let X=Y,fe;e[46]!==c?(fe=l(()=>{c({pane:"chart"})},"me"),e[46]=c,e[47]=fe):fe=e[47];let Me=fe,Te;e[48]!==O||e[49]!==I?(Te=l(()=>{O(!I)},"ke"),e[48]=O,e[49]=I,e[50]=Te):Te=e[50];let $e=Te,Fe=I?"flex min-h-0 flex-1 flex-row":"flex min-h-0 flex-1 flex-col",ze=I?"flex w-2/5 min-h-0 min-w-0 shrink-0 flex-col border-s border-border":"flex h-2/5 min-h-0 shrink-0 flex-col border-t border-border",he;e[51]!==x||e[52]!==m.clearHistory||e[53]!==m.deleteQuery||e[54]!==m.history||e[55]!==m.listRef||e[56]!==m.loadFromHistory||e[57]!==m.loadTemplate||e[58]!==m.newQuery||e[59]!==m.onSearchChange||e[60]!==m.queries||e[61]!==m.rememberHistory||e[62]!==m.search||e[63]!==m.selectQuery||e[64]!==m.setRememberHistory?(he=(0,u.jsx)(nr,{activeId:x,history:m.history,listRef:m.listRef,onClearHistory:m.clearHistory,onDelete:m.deleteQuery,onLoadHistory:m.loadFromHistory,onLoadTemplate:m.loadTemplate,onNew:m.newQuery,onSearchChange:m.onSearchChange,onSelect:m.selectQuery,onToggleRememberHistory:m.setRememberHistory,queries:m.queries,rememberHistory:m.rememberHistory,search:m.search}),e[51]=x,e[52]=m.clearHistory,e[53]=m.deleteQuery,e[54]=m.history,e[55]=m.listRef,e[56]=m.loadFromHistory,e[57]=m.loadTemplate,e[58]=m.newQuery,e[59]=m.onSearchChange,e[60]=m.queries,e[61]=m.rememberHistory,e[62]=m.search,e[63]=m.selectQuery,e[64]=m.setRememberHistory,e[65]=he):he=e[65];let pe;e[66]!==o||e[67]!==le?(pe=(0,u.jsx)(cr,{model:o,onSelect:le}),e[66]=o,e[67]=le,e[68]=pe):pe=e[68];let be;e[69]!==D||e[70]!==H||e[71]!==y||e[72]!==p||e[73]!==M||e[74]!==Q.autocompleteState||e[75]!==Q.editorRef||e[76]!==Q.gutterRef||e[77]!==Q.handlers||e[78]!==Q.listboxId||e[79]!==Q.onPickSuggestion||e[80]!==Q.overlayRef||e[81]!==Q.revealDiagnostic?(be=(0,u.jsx)(Jn,{assistant:D,autocomplete:Q.autocompleteState,diagnostics:H,draft:y,editorRef:Q.editorRef,failed:p,gutterRef:Q.gutterRef,handlers:Q.handlers,listboxId:Q.listboxId,onGenerated:M,onPickSuggestion:Q.onPickSuggestion,onRevealDiagnostic:Q.revealDiagnostic,overlayRef:Q.overlayRef}),e[69]=D,e[70]=H,e[71]=y,e[72]=p,e[73]=M,e[74]=Q.autocompleteState,e[75]=Q.editorRef,e[76]=Q.gutterRef,e[77]=Q.handlers,e[78]=Q.listboxId,e[79]=Q.onPickSuggestion,e[80]=Q.overlayRef,e[81]=Q.revealDiagnostic,e[82]=be):be=e[82];let ge;e[83]!==D||e[84]!==w||e[85]!==oe||e[86]!==P||e[87]!==q||e[88]!==te||e[89]!==Z||e[90]!==a.script||e[91]!==N||e[92]!==ze||e[93]!==k||e[94]!==T||e[95]!==Me||e[96]!==X||e[97]!==U||e[98]!==I||e[99]!==R||e[100]!==$e?(ge=(0,u.jsx)(rr,{assistant:D,chart:q,className:ze,error:w,onFormat:oe,onInferChart:P,onRun:te,onSelectStatement:Z,onShardKeyChange:E,onShowChart:Me,onShowExplain:X,onShowResults:U,onToggleSplit:$e,pane:R,result:N,running:k,script:a.script,shardKey:T,splitView:I}),e[83]=D,e[84]=w,e[85]=oe,e[86]=P,e[87]=q,e[88]=te,e[89]=Z,e[90]=a.script,e[91]=N,e[92]=ze,e[93]=k,e[94]=T,e[95]=Me,e[96]=X,e[97]=U,e[98]=I,e[99]=R,e[100]=$e,e[101]=ge):ge=e[101];let xe;e[102]!==be||e[103]!==ge||e[104]!==Fe?(xe=(0,u.jsxs)("div",{className:Fe,children:[be,ge]}),e[102]=be,e[103]=ge,e[104]=Fe,e[105]=xe):xe=e[105];let ve;e[106]!==pe||e[107]!==xe?(ve=(0,u.jsxs)("div",{className:"flex min-w-0 flex-1 flex-col",children:[pe,xe]}),e[106]=pe,e[107]=xe,e[108]=ve):ve=e[108];let Re;return e[109]!==he||e[110]!==ve?(Re=(0,u.jsxs)("div",{className:"flex h-full min-w-0","data-testid":"lunora-sql-editor",children:[he,ve]}),e[109]=he,e[110]=ve,e[111]=Re):Re=e[111],Re},"As");export{Tr as SqlEditorPanel};