@lunora/studio 1.0.0-alpha.8 → 1.0.0-alpha.80

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 (305) hide show
  1. package/LICENSE.md +6 -0
  2. package/dist/index.d.ts +777 -780
  3. package/dist/index.js +1 -41
  4. package/dist/mount.d.ts +10 -10
  5. package/dist/mount.js +1 -26
  6. package/dist/packem_chunks/ApiTab.js +1 -0
  7. package/dist/packem_chunks/AuditPanel.js +1 -0
  8. package/dist/packem_chunks/DeploymentHealthPanel.js +1 -0
  9. package/dist/packem_chunks/ExportImportPanel.js +3 -0
  10. package/dist/packem_chunks/FileBrowser.js +4 -0
  11. package/dist/packem_chunks/FunctionRunner.js +1 -0
  12. package/dist/packem_chunks/FunctionStatsPanel.js +1 -0
  13. package/dist/packem_chunks/HealthPanel.js +1 -0
  14. package/dist/packem_chunks/InsightsPanel.js +1 -0
  15. package/dist/packem_chunks/LogsPanel.js +1 -0
  16. package/dist/packem_chunks/MailPanel.js +2 -0
  17. package/dist/packem_chunks/MetricsPanel.js +1 -0
  18. package/dist/packem_chunks/NotificationsPanel.js +1 -0
  19. package/dist/packem_chunks/PitrPanel.js +1 -0
  20. package/dist/packem_chunks/SchemaViewer.js +1 -0
  21. package/dist/packem_chunks/SecurityAdvisorPanel.js +1 -0
  22. package/dist/packem_chunks/SettingsPanel.js +1 -0
  23. package/dist/packem_chunks/SqlEditorPanel.js +6 -0
  24. package/dist/packem_chunks/TableEditor.js +1 -0
  25. package/dist/packem_chunks/agents-panel.js +1 -0
  26. package/dist/packem_chunks/analytics-panel.js +1 -0
  27. package/dist/packem_chunks/auth-audit-panel.js +1 -0
  28. package/dist/packem_chunks/auth-config-panel.js +1 -0
  29. package/dist/packem_chunks/auth-sessions-panel.js +1 -0
  30. package/dist/packem_chunks/containers-panel.js +1 -0
  31. package/dist/packem_chunks/dashboards-panel.js +1 -0
  32. package/dist/packem_chunks/fanout-panel.js +1 -0
  33. package/dist/packem_chunks/flags-panel.js +1 -0
  34. package/dist/packem_chunks/issues-panel.js +1 -0
  35. package/dist/packem_chunks/kv-browser.js +1 -0
  36. package/dist/packem_chunks/log-drains-panel.js +4 -0
  37. package/dist/packem_chunks/migrations-route.js +1 -0
  38. package/dist/packem_chunks/organizations-panel.js +1 -0
  39. package/dist/packem_chunks/payments-panel.js +1 -0
  40. package/dist/packem_chunks/permissions-panel.js +1 -0
  41. package/dist/packem_chunks/queues-panel.js +1 -0
  42. package/dist/packem_chunks/rls-panel.js +1 -0
  43. package/dist/packem_chunks/schedule-panel.js +1 -0
  44. package/dist/packem_chunks/sparkline.js +1 -0
  45. package/dist/packem_chunks/storage-rules-panel.js +1 -0
  46. package/dist/packem_chunks/subscriptions-panel.js +1 -0
  47. package/dist/packem_chunks/sync-client-panel.js +1 -0
  48. package/dist/packem_chunks/traces-panel.js +1 -0
  49. package/dist/packem_chunks/users-panel.js +1 -0
  50. package/dist/packem_chunks/vector-browser.js +1 -0
  51. package/dist/packem_chunks/workflows-panel.js +1 -0
  52. package/dist/packem_shared/ADMIN_FUNCTIONS-BnD4aovm.js +1 -0
  53. package/dist/packem_shared/ApiDocsPanel-DfUQ1ZAF.js +2 -0
  54. package/dist/packem_shared/ApiReferencePanel-9q8BbJl-.js +1 -0
  55. package/dist/packem_shared/CommandPalette--SQwfTW1.js +1 -0
  56. package/dist/packem_shared/ConfirmButton-CTL3f3kr.js +1 -0
  57. package/dist/packem_shared/ConnectionBadge-DOk0CQWo.js +1 -0
  58. package/dist/packem_shared/DEFAULT_AUTO_REFRESH_MS-BCC8_4BQ.js +1 -0
  59. package/dist/packem_shared/DEFAULT_INSIGHT_THRESHOLDS-B-hcFVoi.js +1 -0
  60. package/dist/packem_shared/DEFAULT_LOCALE-BZ4NojpD.js +1 -0
  61. package/dist/packem_shared/DataBrowser-CuRlztBz.js +1 -0
  62. package/dist/packem_shared/DataFilters-B26ZeqBZ.js +1 -0
  63. package/dist/packem_shared/ErrorBoundary-DvzYskH7.js +1 -0
  64. package/dist/packem_shared/GlobalDataBrowser-DB-vQ2_H.js +1 -0
  65. package/dist/packem_shared/HomePanel-Dcs4a3Ax.js +1 -0
  66. package/dist/packem_shared/MigrationsPanel-C2OnsqRb.js +1 -0
  67. package/dist/packem_shared/OpenRpcReferencePanel-qOZcWXMs.js +1 -0
  68. package/dist/packem_shared/STUDIO_ROOT_CLASS-C6MccdVk.js +1 -0
  69. package/dist/packem_shared/ScheduledJobs-D8kBZWBu.js +1 -0
  70. package/dist/packem_shared/ShardInput-BVn2iCU0.js +1 -0
  71. package/dist/packem_shared/Studio-B26_pT8J.js +1 -0
  72. package/dist/packem_shared/StudioApp-bXhJeLlZ.js +1 -0
  73. package/dist/packem_shared/StudioI18nProvider-CZ5h4nrV.js +1 -0
  74. package/dist/packem_shared/advisor-view-Pa8HLtBv.js +1 -0
  75. package/dist/packem_shared/aggregateMetrics-BNfajLa2.js +1 -0
  76. package/dist/packem_shared/alert-CVcOFuDR.js +1 -0
  77. package/dist/packem_shared/app.d-DW7yZsfu.d.ts +252 -0
  78. package/dist/packem_shared/badge-BbuuAio7.js +1 -0
  79. package/dist/packem_shared/bar-chart-DraN_srt.js +9 -0
  80. package/dist/packem_shared/browser-storage-xjTyMKY0.js +1 -0
  81. package/dist/packem_shared/button-BkCrNcAs.js +1 -0
  82. package/dist/packem_shared/card-CIDGUN6K.js +1 -0
  83. package/dist/packem_shared/cf-links-gbDy51nR.js +1 -0
  84. package/dist/packem_shared/checkbox-StT4Gob6.js +1 -0
  85. package/dist/packem_shared/data-grid-DcxyIXwG.js +1 -0
  86. package/dist/packem_shared/data-view-params-ClrV7XgF.js +1 -0
  87. package/dist/packem_shared/dropdown-menu-C3RQ_HlW.js +2 -0
  88. package/dist/packem_shared/empty-state-Cg7t_8qu.js +1 -0
  89. package/dist/packem_shared/error-alert-t6cpEi0z.js +1 -0
  90. package/dist/packem_shared/grid-features-jnrD0SpX.js +6 -0
  91. package/dist/packem_shared/home-panel-CU6MWLHG.js +3 -0
  92. package/dist/packem_shared/input-JHu63lTv.js +1 -0
  93. package/dist/packem_shared/internal-BSIsQVC6.js +2 -0
  94. package/dist/packem_shared/label-6uP1obNF.js +1 -0
  95. package/dist/packem_shared/live-status-CmuRLFKf.js +1 -0
  96. package/dist/packem_shared/log-fields-CoL3hsIQ.js +1 -0
  97. package/dist/packem_shared/modal-shell-CUwwWC2o.js +1 -0
  98. package/dist/packem_shared/operation-console-provider-BMJNtiyB.js +1 -0
  99. package/dist/packem_shared/recording-client-DRAZEmzE.js +1 -0
  100. package/dist/packem_shared/reference-view-DnYYWr7I.js +12 -0
  101. package/dist/packem_shared/result-chart-DzJOVsaw.js +1 -0
  102. package/dist/packem_shared/schema-diagram-cg-bz_VL.js +2 -0
  103. package/dist/packem_shared/scroll-area-DTEq6Jec.js +2 -0
  104. package/dist/packem_shared/select-Bul-DeII.js +2 -0
  105. package/dist/packem_shared/shard-history-DMEW5VBE.js +1 -0
  106. package/dist/packem_shared/skeleton-C1wQ9M5t.js +1 -0
  107. package/dist/packem_shared/sparkline-CgjeUU2I.js +1 -0
  108. package/dist/packem_shared/storage-tier-DznqOf-q.js +1 -0
  109. package/dist/packem_shared/studio-q-C-acL7.js +2 -0
  110. package/dist/packem_shared/table-DdJBrClo.js +2 -0
  111. package/dist/packem_shared/table-list-sidebar-BFkSQwlB.js +1 -0
  112. package/dist/packem_shared/textarea-Bu2-jKAs.js +1 -0
  113. package/dist/packem_shared/trace-handoff-Dw7mwjxu.js +1 -0
  114. package/dist/packem_shared/use-admin-query-QJ-ibl5u.js +1 -0
  115. package/dist/packem_shared/use-async-submit-q3ymBJkD.js +1 -0
  116. package/dist/packem_shared/use-auth-config-BObBpdsi.js +1 -0
  117. package/dist/packem_shared/use-sql-assistant-CHEu2-Rk.js +1 -0
  118. package/dist/packem_shared/useDebounced-Ihdiid_k.js +1 -0
  119. package/dist/packem_shared/utils-bhneXptQ.js +1 -0
  120. package/dist/packem_shared/virtual-rect-1o1veP7R.js +1 -0
  121. package/dist/standalone/chunk-2GA4SHO7.js +1 -0
  122. package/dist/standalone/chunk-2OUPA2WJ.js +1 -0
  123. package/dist/standalone/chunk-2PJNAWB3.js +1 -0
  124. package/dist/standalone/chunk-2VDFV5TD.js +1 -0
  125. package/dist/standalone/chunk-2WOIRKEI.js +1 -0
  126. package/dist/standalone/chunk-33CL6OHR.js +1 -0
  127. package/dist/standalone/chunk-34D36UCW.js +1 -0
  128. package/dist/standalone/chunk-3C3CG7ZK.js +1 -0
  129. package/dist/standalone/chunk-3O3HAXW7.js +1 -0
  130. package/dist/standalone/chunk-3STOIE7Q.js +1 -0
  131. package/dist/standalone/chunk-3XIESWL4.js +1 -0
  132. package/dist/standalone/chunk-4UOFSGUS.js +1 -0
  133. package/dist/standalone/chunk-53WEPGUD.js +1 -0
  134. package/dist/standalone/chunk-54MMVNPT.js +1 -0
  135. package/dist/standalone/chunk-5CVJS7ON.js +1 -0
  136. package/dist/standalone/chunk-5Y3QLNWX.js +1 -0
  137. package/dist/standalone/chunk-6IKEW5LG.js +1 -0
  138. package/dist/standalone/chunk-6LNCYDZO.js +1 -0
  139. package/dist/standalone/chunk-6NY7SPDL.js +1 -0
  140. package/dist/standalone/chunk-6PNPIW6I.js +2 -0
  141. package/dist/standalone/chunk-6ST5ECQA.js +1 -0
  142. package/dist/standalone/chunk-6VAKZALJ.js +1 -0
  143. package/dist/standalone/chunk-6YI4WJO4.js +1 -0
  144. package/dist/standalone/chunk-6YTSSIEJ.js +3 -0
  145. package/dist/standalone/chunk-7LWMHTJ3.js +1 -0
  146. package/dist/standalone/chunk-7QIFDWQV.js +1 -0
  147. package/dist/standalone/chunk-7T7UOTYK.js +1 -0
  148. package/dist/standalone/chunk-A74VSSA2.js +4 -0
  149. package/dist/standalone/chunk-AADILRJW.js +14 -0
  150. package/dist/standalone/chunk-AVAC26HJ.js +1 -0
  151. package/dist/standalone/chunk-BGBLQ563.js +1 -0
  152. package/dist/standalone/chunk-CCVXYYPJ.js +1 -0
  153. package/dist/standalone/chunk-CFPZYHPY.js +2 -0
  154. package/dist/standalone/chunk-CT5MMH4O.js +1 -0
  155. package/dist/standalone/chunk-CTNB2KIA.js +1 -0
  156. package/dist/standalone/chunk-CU55Y5TV.js +62 -0
  157. package/dist/standalone/chunk-D2RKH6JK.js +1 -0
  158. package/dist/standalone/chunk-E3NMX2VU.js +4 -0
  159. package/dist/standalone/chunk-EN2QAEO4.js +11 -0
  160. package/dist/standalone/chunk-ESVP44Y3.js +1 -0
  161. package/dist/standalone/chunk-FNPJ7GJZ.js +1 -0
  162. package/dist/standalone/chunk-FOBRNWBG.js +3 -0
  163. package/dist/standalone/chunk-FXCBF4XT.js +1 -0
  164. package/dist/standalone/chunk-G6PSMGLD.js +1 -0
  165. package/dist/standalone/chunk-GAX5IZYG.js +8 -0
  166. package/dist/standalone/chunk-GB6U2BPU.js +1 -0
  167. package/dist/standalone/chunk-GEDMLM4A.js +6 -0
  168. package/dist/standalone/chunk-GMR677FL.js +1 -0
  169. package/dist/standalone/chunk-GRL5MG3Z.js +1 -0
  170. package/dist/standalone/chunk-GXSZH7VJ.js +13 -0
  171. package/dist/standalone/chunk-GYKVBKT5.js +1 -0
  172. package/dist/standalone/chunk-H6YOWRFB.js +1 -0
  173. package/dist/standalone/chunk-HJ3E4YF5.js +1 -0
  174. package/dist/standalone/chunk-HJD2YUQS.js +1 -0
  175. package/dist/standalone/chunk-HPFLBYRI.js +1 -0
  176. package/dist/standalone/chunk-IC4L6G56.js +1 -0
  177. package/dist/standalone/chunk-IHQC7J35.js +1 -0
  178. package/dist/standalone/chunk-ILNELDFC.js +1 -0
  179. package/dist/standalone/chunk-IVFHIQOT.js +1 -0
  180. package/dist/standalone/chunk-JLOWAJRR.js +1 -0
  181. package/dist/standalone/chunk-JN2Y24PY.js +1 -0
  182. package/dist/standalone/chunk-JRMMYIAF.js +1 -0
  183. package/dist/standalone/chunk-KC44QCN6.js +1 -0
  184. package/dist/standalone/chunk-KJB7YAKB.js +1 -0
  185. package/dist/standalone/chunk-KLQYC6CC.js +1 -0
  186. package/dist/standalone/chunk-KUVMORDQ.js +1 -0
  187. package/dist/standalone/chunk-KZ3ALMMP.js +1 -0
  188. package/dist/standalone/chunk-L7R74G63.js +1 -0
  189. package/dist/standalone/chunk-LEDWUPXM.js +1 -0
  190. package/dist/standalone/chunk-LFKCLLPT.js +1 -0
  191. package/dist/standalone/chunk-MIQTKZAR.js +1 -0
  192. package/dist/standalone/chunk-OG4N2XHD.js +19 -0
  193. package/dist/standalone/chunk-OY2RVUZL.js +1 -0
  194. package/dist/standalone/chunk-P4YLIBCN.js +1 -0
  195. package/dist/standalone/chunk-PZVU2QMX.js +1 -0
  196. package/dist/standalone/chunk-Q7O6B7WC.js +1 -0
  197. package/dist/standalone/chunk-QBWRC5YX.js +1 -0
  198. package/dist/standalone/chunk-QLQADHFE.js +1 -0
  199. package/dist/standalone/chunk-QWGT25SE.js +1 -0
  200. package/dist/standalone/chunk-QXXIJAD5.js +1 -0
  201. package/dist/standalone/chunk-QZGTH6WH.js +1 -0
  202. package/dist/standalone/chunk-RJP3WBZ4.js +1 -0
  203. package/dist/standalone/chunk-RNL6BSFM.js +1 -0
  204. package/dist/standalone/chunk-RNRJKBY3.js +4 -0
  205. package/dist/standalone/chunk-RQ7AFLIV.js +1 -0
  206. package/dist/standalone/chunk-S252DAFP.js +1 -0
  207. package/dist/standalone/chunk-S2VVR7HI.js +1 -0
  208. package/dist/standalone/chunk-SD4BERSA.js +1 -0
  209. package/dist/standalone/chunk-SFDOII3B.js +1 -0
  210. package/dist/standalone/chunk-SKHEGARW.js +1 -0
  211. package/dist/standalone/chunk-SKW6J4VW.js +1 -0
  212. package/dist/standalone/chunk-SMIESS7P.js +1 -0
  213. package/dist/standalone/chunk-T6VMSOBB.js +1 -0
  214. package/dist/standalone/chunk-T7IUZIF4.js +1 -0
  215. package/dist/standalone/chunk-THIXMMZD.js +1 -0
  216. package/dist/standalone/chunk-TTGOOYLF.js +1 -0
  217. package/dist/standalone/chunk-U6TNNM5U.js +1 -0
  218. package/dist/standalone/chunk-UZERI5YC.js +1 -0
  219. package/dist/standalone/chunk-V53KNYRN.js +1 -0
  220. package/dist/standalone/chunk-VHWOCPRK.js +1 -0
  221. package/dist/standalone/chunk-W6SAOXGH.js +6 -0
  222. package/dist/standalone/chunk-WBYSSCV2.js +1 -0
  223. package/dist/standalone/chunk-X665E2HU.js +1 -0
  224. package/dist/standalone/chunk-XBDKZZ67.js +1 -0
  225. package/dist/standalone/chunk-XDAT7LHC.js +1 -0
  226. package/dist/standalone/chunk-XQCVZAGU.js +1 -0
  227. package/dist/standalone/chunk-XS5LDR52.js +1 -0
  228. package/dist/standalone/chunk-XXQUMVWH.js +1 -0
  229. package/dist/standalone/chunk-Y5Y7DHFW.js +1 -0
  230. package/dist/standalone/chunk-YJYTMQJI.js +1 -0
  231. package/dist/standalone/chunk-Z2V42P7J.js +1 -0
  232. package/dist/standalone/chunk-ZJGP6EKR.js +1 -0
  233. package/dist/standalone/studio.js +9 -356
  234. package/dist/styles.css +2 -2
  235. package/package.json +16 -14
  236. package/dist/packem_shared/ADMIN_FUNCTIONS-DjXgvJb6.js +0 -46
  237. package/dist/packem_shared/ApiDocsPanel-yVSGHK3H.js +0 -842
  238. package/dist/packem_shared/ApiReferencePanel-1vubqG5s.js +0 -229
  239. package/dist/packem_shared/ApiTab-rwttyQ1-.js +0 -251
  240. package/dist/packem_shared/AuditPanel-BqXZAsu_.js +0 -212
  241. package/dist/packem_shared/CommandPalette-BtgkBzZI.js +0 -373
  242. package/dist/packem_shared/ConfirmButton-C2eVi2Qv.js +0 -59
  243. package/dist/packem_shared/ConnectionBadge-B2DDM2Tn.js +0 -111
  244. package/dist/packem_shared/DEFAULT_AUTO_REFRESH_MS-Vxwaxx51.js +0 -50
  245. package/dist/packem_shared/DEFAULT_INSIGHT_THRESHOLDS-DjF0h-gA.js +0 -89
  246. package/dist/packem_shared/DEFAULT_LOCALE-CiX4W7Kr.js +0 -27
  247. package/dist/packem_shared/DataBrowser-Ck_7QwNK.js +0 -4542
  248. package/dist/packem_shared/DataFilters-FNquMaiu.js +0 -249
  249. package/dist/packem_shared/ErrorBoundary-BzAApI7J.js +0 -66
  250. package/dist/packem_shared/ExportImportPanel-Dq6rj0tI.js +0 -193
  251. package/dist/packem_shared/FileBrowser-0pCpdKPE.js +0 -2932
  252. package/dist/packem_shared/FunctionRunner-7NH3KcTg.js +0 -343
  253. package/dist/packem_shared/FunctionStatsPanel-Cn_EBpDy.js +0 -432
  254. package/dist/packem_shared/GlobalDataBrowser-BTEmGrph.js +0 -318
  255. package/dist/packem_shared/HealthPanel-CQ4LzVET.js +0 -640
  256. package/dist/packem_shared/HomePanel-CP0lN1eF.js +0 -1273
  257. package/dist/packem_shared/InsightsPanel-DzNtoz7k.js +0 -423
  258. package/dist/packem_shared/LogsPanel-C3W0mabf.js +0 -839
  259. package/dist/packem_shared/MailPanel-CoEfWkCh.js +0 -447
  260. package/dist/packem_shared/MetricsPanel-CujtUfpl.js +0 -1625
  261. package/dist/packem_shared/MigrationsPanel-RX5qIFSr.js +0 -246
  262. package/dist/packem_shared/OpenRpcReferencePanel-vbcYbv3V.js +0 -191
  263. package/dist/packem_shared/PitrPanel-LJGNP_IX.js +0 -252
  264. package/dist/packem_shared/STUDIO_ROOT_CLASS-D12gX2dV.js +0 -3
  265. package/dist/packem_shared/ScheduledJobs-CabfKbyM.js +0 -159
  266. package/dist/packem_shared/SchemaViewer-Bam6ylvw.js +0 -2512
  267. package/dist/packem_shared/SecurityAdvisorPanel-DHr_bI38.js +0 -79
  268. package/dist/packem_shared/SettingsPanel-CBXQpYQA.js +0 -176
  269. package/dist/packem_shared/ShardInput-gx_DZXXn.js +0 -107
  270. package/dist/packem_shared/SqlEditorPanel-D5wMIxcg.js +0 -13
  271. package/dist/packem_shared/Studio-DkgODWD3.js +0 -33
  272. package/dist/packem_shared/StudioApp-ColQCvC_.js +0 -657
  273. package/dist/packem_shared/StudioI18nProvider-B-tDCZIi.js +0 -48
  274. package/dist/packem_shared/TableEditor-B8K5nUna.js +0 -371
  275. package/dist/packem_shared/advisor-view-CGcfMiPq.js +0 -159
  276. package/dist/packem_shared/aggregateMetrics-D4nUHEKU.js +0 -108
  277. package/dist/packem_shared/app.d-Nbhpihxv.d.ts +0 -300
  278. package/dist/packem_shared/badge-B2PKA1-5.js +0 -49
  279. package/dist/packem_shared/bar-chart-CzJAgqkp.js +0 -3245
  280. package/dist/packem_shared/button-BhsN2uZH.js +0 -49
  281. package/dist/packem_shared/card-DURq3ElK.js +0 -175
  282. package/dist/packem_shared/cf-links-2cktDedA.js +0 -8
  283. package/dist/packem_shared/checkbox-UNkzAxl-.js +0 -63
  284. package/dist/packem_shared/data-grid-B5CaV3wS.js +0 -183
  285. package/dist/packem_shared/dropdown-menu-WY4B_eJO.js +0 -280
  286. package/dist/packem_shared/empty-state-DY_oe0k6.js +0 -98
  287. package/dist/packem_shared/grid-features-CzUfqgsM.js +0 -840
  288. package/dist/packem_shared/input-XH4r1Pt1.js +0 -53
  289. package/dist/packem_shared/internal-rXJEAhXS.js +0 -68
  290. package/dist/packem_shared/label-D8ykjn5J.js +0 -46
  291. package/dist/packem_shared/live-status-FZ0psC1z.js +0 -44
  292. package/dist/packem_shared/reference-view-B4E49Lip.js +0 -2180
  293. package/dist/packem_shared/shard-history-DyebH1R5.js +0 -38
  294. package/dist/packem_shared/sparkline-10dG-_f0.js +0 -93
  295. package/dist/packem_shared/sql-editor-panel-Smfl_FDF.js +0 -2562
  296. package/dist/packem_shared/storage-tier-CL98eOvn.js +0 -85
  297. package/dist/packem_shared/studio-Be28OqIx.js +0 -10413
  298. package/dist/packem_shared/table-_RzNvy3R.js +0 -246
  299. package/dist/packem_shared/table-list-sidebar-Bg7uzbvC.js +0 -832
  300. package/dist/packem_shared/textarea-D3gaCU_-.js +0 -46
  301. package/dist/packem_shared/use-live-admin-Dq6g3daN.js +0 -73
  302. package/dist/packem_shared/use-live-shard-seed-Cuk3dnH0.js +0 -76
  303. package/dist/packem_shared/useDebounced-Dxncpg6z.js +0 -32
  304. package/dist/packem_shared/utils-B05Dmz_H.js +0 -8
  305. package/dist/packem_shared/virtual-rect-CVMUskSm.js +0 -10
@@ -0,0 +1 @@
1
+ import{a as z}from"./chunk-QWGT25SE.js";import{a as be}from"./chunk-CTNB2KIA.js";import{a as we}from"./chunk-ZJGP6EKR.js";import{a as te}from"./chunk-SKHEGARW.js";import{b as xe}from"./chunk-AVAC26HJ.js";import{a as U}from"./chunk-LFKCLLPT.js";import{a as ge}from"./chunk-53WEPGUD.js";import"./chunk-XXQUMVWH.js";import"./chunk-RNL6BSFM.js";import"./chunk-QLQADHFE.js";import{c as Z}from"./chunk-XDAT7LHC.js";import{a as fe,b as pe,c as ve,d as re,e as T,f as M}from"./chunk-MIQTKZAR.js";import{a as he}from"./chunk-X665E2HU.js";import{b as me}from"./chunk-GRL5MG3Z.js";import"./chunk-7T7UOTYK.js";import{R as q}from"./chunk-CFPZYHPY.js";import"./chunk-7QIFDWQV.js";import{c as ce}from"./chunk-FXCBF4XT.js";import"./chunk-2OUPA2WJ.js";import{b as $}from"./chunk-THIXMMZD.js";import"./chunk-6ST5ECQA.js";import{a as ee}from"./chunk-2WOIRKEI.js";import{f as de}from"./chunk-EN2QAEO4.js";import"./chunk-XBDKZZ67.js";import{a as D}from"./chunk-XQCVZAGU.js";import{d as H,h as J,i as ue,m as X}from"./chunk-OG4N2XHD.js";import"./chunk-AADILRJW.js";import{a as n,e as Y,f as Be,g as Ve,h as Ge,j as _}from"./chunk-3XIESWL4.js";var F=Y(Ve(),1);var b=Y(Be(),1);var t=Y(Ge(),1);var Ce=["trace","debug","log","info","warn","error","fatal"],Qe="LOG_ARCHIVE_NOT_CONFIGURED",Le={debug:"secondary",error:"destructive",fatal:"destructive",info:"outline",log:"outline",trace:"outline",warn:"secondary"},Ye={cursor:void 0,error:null,loading:!1,notConfigured:!1,rows:null},He=n((l,e)=>{switch(e.type){case"append":return{...l,cursor:e.cursor,error:null,loading:!1,rows:[...l.rows??[],...e.rows]};case"failed":return{cursor:void 0,error:e.message,loading:!1,notConfigured:!1,rows:null};case"loaded":return{cursor:e.cursor,error:null,loading:!1,notConfigured:!1,rows:e.rows};case"loading":return{...l,error:null,loading:!0,notConfigured:!1};case"notConfigured":return{cursor:void 0,error:null,loading:!1,notConfigured:!0,rows:null};case"pageFailed":return{...l,error:e.message,loading:!1};default:return l}},"Je"),Je=n(l=>{let e=(0,F.c)(33),{row:r}=l,o;e[0]!==r.fields?(o=z(r.fields),e[0]=r.fields,e[1]=o):o=e[1];let i=o,a=`lg-archive-row-${String(r.ts)}`,d;e[2]!==r.ts?(d=new Date(r.ts).toLocaleString(),e[2]=r.ts,e[3]=d):d=e[3];let m;e[4]!==d?(m=(0,t.jsx)(M,{className:"tabular-nums whitespace-nowrap text-xs text-muted-foreground",children:d}),e[4]=d,e[5]=m):m=e[5];let x=Le[r.level],u;e[6]!==r.level||e[7]!==x?(u=(0,t.jsx)(M,{children:(0,t.jsx)($,{variant:x,children:r.level})}),e[6]=r.level,e[7]=x,e[8]=u):u=e[8];let c;e[9]!==r.functionPath?(c=(0,t.jsx)(M,{className:"font-mono text-xs",children:r.functionPath}),e[9]=r.functionPath,e[10]=c):c=e[10];let w;e[11]!==r.message?(w=(0,t.jsx)("div",{className:"truncate",title:r.message,children:r.message}),e[11]=r.message,e[12]=w):w=e[12];let p;e[13]!==i?(p=i!==""&&(0,t.jsx)("div",{className:"truncate font-mono text-[11px] text-muted-foreground",title:i,children:i}),e[13]=i,e[14]=p):p=e[14];let h;e[15]!==w||e[16]!==p?(h=(0,t.jsxs)(M,{className:"max-w-md",children:[w,p]}),e[15]=w,e[16]=p,e[17]=h):h=e[17];let g=r.traceId??"\u2014",v;e[18]!==g?(v=(0,t.jsx)(M,{className:"font-mono text-[11px] text-muted-foreground",children:g}),e[18]=g,e[19]=v):v=e[19];let C=r.shardKey??"\u2014",f;e[20]!==C?(f=(0,t.jsx)(M,{className:"font-mono text-[11px] text-muted-foreground",children:C}),e[20]=C,e[21]=f):f=e[21];let y=r.userId??"\u2014",N;e[22]!==y?(N=(0,t.jsx)(M,{className:"font-mono text-[11px] text-muted-foreground",children:y}),e[22]=y,e[23]=N):N=e[23];let L;return e[24]!==h||e[25]!==v||e[26]!==f||e[27]!==N||e[28]!==a||e[29]!==m||e[30]!==u||e[31]!==c?(L=(0,t.jsxs)(re,{"data-testid":a,children:[m,u,c,h,v,f,N]}),e[24]=h,e[25]=v,e[26]=f,e[27]=N,e[28]=a,e[29]=m,e[30]=u,e[31]=c,e[32]=L):L=e[32],L},"Xe"),Xe=n(({shardKey:l})=>{let e=de(),r=H(),[o,i]=(0,b.useState)(""),[a,d]=(0,b.useState)(""),[m,x]=(0,b.useState)(""),[{cursor:u,error:c,loading:w,notConfigured:p,rows:h},g]=(0,b.useReducer)(He,Ye),v=U(o.trim(),400),C=U(a.trim(),400),f={...v===""?{}:{functionPathPrefix:v},...m===""?{}:{minLevel:m},...l===""?{}:{shardKey:l},...C===""?{}:{userId:C}},y=JSON.stringify(f),N=(0,b.useRef)(y);(0,b.useEffect)(()=>{let k={cancelled:!1};return N.current=y,X((async()=>{g({type:"loading"});try{let S=await e.queryLogArchive(f);k.cancelled||g({cursor:S.nextCursor,rows:S.rows,type:"loaded"})}catch(S){k.cancelled||g(ue(S)===Qe?{type:"notConfigured"}:{message:J(S),type:"failed"})}})()),()=>{k.cancelled=!0}},[e,y]);let L=n(async()=>{if(u===void 0)return;let k=y;g({type:"loading"});try{let S=await e.queryLogArchive({...f,cursor:u});N.current===k&&g({cursor:S.nextCursor,rows:S.rows,type:"append"})}catch(S){N.current===k&&g({message:J(S),type:"pageFailed"})}},"C"),P=n(k=>{i(k.target.value)},"R"),I=n(k=>{d(k.target.value)},"S"),R=n(k=>{x(k.target.value)},"I"),E=n(()=>{X(L())},"E");return p?(0,t.jsx)(D,{action:(0,t.jsx)("a",{className:"text-sm text-primary underline-offset-4 hover:underline",href:te,rel:"noreferrer",target:"_blank",children:r("Open in Cloudflare")}),description:r("Wire pipelineLogSink to a Cloudflare Pipeline \u2192 R2 Data Catalog table and set R2_SQL_ACCOUNT_ID, R2_SQL_TOKEN, R2_SQL_BUCKET to browse the durable log archive here."),testId:"lg-archive-not-configured",title:r("Log archive not configured")}):(0,t.jsxs)("div",{className:"flex flex-col gap-4","data-testid":"lg-archive",children:[(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,t.jsx)(q,{"aria-label":r("Function path prefix"),className:"h-8 w-48","data-testid":"lg-archive-path",onChange:P,placeholder:r("function path\u2026"),value:o}),(0,t.jsx)(q,{"aria-label":r("User id"),className:"h-8 w-40","data-testid":"lg-archive-user",onChange:I,placeholder:r("user id\u2026"),value:a}),(0,t.jsxs)("select",{"aria-label":r("Minimum level"),className:"h-8 rounded-md border border-border bg-background px-2 text-sm","data-testid":"lg-archive-min-level",onChange:R,value:m,children:[(0,t.jsx)("option",{value:"",children:r("min level")}),Ce.map(k=>(0,t.jsx)("option",{value:k,children:k},k))]})]}),c!==null&&(0,t.jsx)("p",{className:"text-sm text-destructive","data-testid":"lg-archive-error",role:"alert",children:c}),w&&h===null&&c===null&&(0,t.jsx)("p",{className:"text-sm text-muted-foreground","data-testid":"lg-archive-loading",children:r("Loading\u2026")}),h!==null&&h.length===0&&(0,t.jsx)(D,{description:r("No archived logs match these filters. The durable archive fills as pipelineLogSink flushes records to R2."),testId:"lg-archive-empty",title:r("No archived logs.")}),h!==null&&h.length>0&&(0,t.jsx)("div",{className:"overflow-hidden rounded-xl border border-border shadow-xs",children:(0,t.jsxs)(fe,{"data-testid":"lg-archive-table",children:[(0,t.jsx)(pe,{children:(0,t.jsxs)(re,{children:[(0,t.jsx)(T,{children:r("Time")}),(0,t.jsx)(T,{children:r("Level")}),(0,t.jsx)(T,{children:r("Function")}),(0,t.jsx)(T,{children:r("Message")}),(0,t.jsx)(T,{children:r("Trace")}),(0,t.jsx)(T,{children:r("Shard")}),(0,t.jsx)(T,{children:r("User")})]})}),(0,t.jsx)(ve,{children:h.map((k,S)=>(0,t.jsx)(Je,{row:k},`${String(k.ts)}-${String(S)}`))})]})}),u!==void 0&&(0,t.jsx)("div",{children:(0,t.jsx)(ce,{"data-testid":"lg-archive-more",disabled:w,onClick:E,size:"sm",variant:"outline",children:r(w?"Loading\u2026":"Load more")})})]})},"Ze"),ae=400,Ze=36,er={height:ae,overflow:"auto"},Se={left:0,position:"absolute",top:0,width:"100%"},rr={error:"destructive",ok:"secondary"},tr=n(l=>{let e=(0,F.c)(26),{entry:r,index:o,measureRef:i,start:a}=l,d=`translateY(${String(a)}px)`,m;e[0]!==d?(m={...Se,transform:d},e[0]=d,e[1]=m):m=e[1];let x=m,u;e[2]!==r.fields?(u=z(r.fields),e[2]=r.fields,e[3]=u):u=e[3];let c=u,w;e[4]!==r.timestamp?(w=new Date(r.timestamp).toLocaleString(),e[4]=r.timestamp,e[5]=w):w=e[5];let p;e[6]!==w?(p=(0,t.jsx)("span",{className:"w-44 shrink-0 tabular-nums text-muted-foreground",role:"gridcell",children:w}),e[6]=w,e[7]=p):p=e[7];let h=Le[r.level],g;e[8]!==r.level||e[9]!==h?(g=(0,t.jsx)("span",{className:"w-20 shrink-0",role:"gridcell",children:(0,t.jsx)($,{variant:h,children:r.level})}),e[8]=r.level,e[9]=h,e[10]=g):g=e[10];let v=r.functionPath??"\u2014",C;e[11]!==v?(C=(0,t.jsx)("span",{className:"w-48 shrink-0 truncate text-muted-foreground",role:"gridcell",children:v}),e[11]=v,e[12]=C):C=e[12];let f;e[13]!==c?(f=c===""?null:(0,t.jsx)("span",{className:"ml-2 text-muted-foreground","data-testid":"lg-fields",children:c}),e[13]=c,e[14]=f):f=e[14];let y;e[15]!==r.message||e[16]!==f?(y=(0,t.jsxs)("span",{className:"flex-1 truncate",role:"gridcell",children:[r.message,f]}),e[15]=r.message,e[16]=f,e[17]=y):y=e[17];let N;return e[18]!==o||e[19]!==i||e[20]!==x||e[21]!==y||e[22]!==p||e[23]!==g||e[24]!==C?(N=(0,t.jsxs)("div",{className:"flex items-center border-b border-border px-3 py-1.5 font-mono text-xs hover:bg-muted/50","data-index":o,"data-testid":"lg-row",ref:i,role:"row",style:x,children:[p,g,C,y]}),e[18]=o,e[19]=i,e[20]=x,e[21]=y,e[22]=p,e[23]=g,e[24]=C,e[25]=N):N=e[25],N},"ar"),ye=n(l=>l.length===0?"\u2014":l.join(", "),"oe"),ar=n(l=>{let e=(0,F.c)(37),{entry:r,index:o,measureRef:i,start:a}=l,d=`translateY(${String(a)}px)`,m;e[0]!==d?(m={...Se,transform:d},e[0]=d,e[1]=m):m=e[1];let x=m,u;e[2]!==r.ts?(u=new Date(r.ts).toLocaleString(),e[2]=r.ts,e[3]=u):u=e[3];let c;e[4]!==u?(c=(0,t.jsx)("span",{className:"w-40 shrink-0 tabular-nums text-muted-foreground",role:"gridcell",children:u}),e[4]=u,e[5]=c):c=e[5];let w=rr[r.outcome],p;e[6]!==r.outcome||e[7]!==w?(p=(0,t.jsx)("span",{className:"w-16 shrink-0",role:"gridcell",children:(0,t.jsx)($,{variant:w,children:r.outcome})}),e[6]=r.outcome,e[7]=w,e[8]=p):p=e[8];let h;e[9]!==r.functionPath?(h=(0,t.jsx)("span",{className:"w-44 shrink-0 truncate",role:"gridcell",title:r.functionPath,children:r.functionPath}),e[9]=r.functionPath,e[10]=h):h=e[10];let g=r.shardKey??"\u2014",v;e[11]!==g?(v=(0,t.jsx)("span",{className:"w-24 shrink-0 truncate text-muted-foreground",role:"gridcell",children:g}),e[11]=g,e[12]=v):v=e[12];let C=r.userId??"\u2014",f;e[13]!==C?(f=(0,t.jsx)("span",{className:"w-24 shrink-0 truncate text-muted-foreground",role:"gridcell",children:C}),e[13]=C,e[14]=f):f=e[14];let y;e[15]!==r.durationMs?(y=Math.round(r.durationMs),e[15]=r.durationMs,e[16]=y):y=e[16];let N=`${String(y)}ms`,L;e[17]!==N?(L=(0,t.jsx)("span",{className:"w-16 shrink-0 tabular-nums text-muted-foreground",role:"gridcell",children:N}),e[17]=N,e[18]=L):L=e[18];let P;e[19]!==r.errorMessage||e[20]!==r.outcome||e[21]!==r.tablesRead||e[22]!==r.tablesWritten?(P=r.outcome==="error"&&r.errorMessage!==void 0?r.errorMessage:`r:${ye(r.tablesRead)} \xB7 w:${ye(r.tablesWritten)}`,e[19]=r.errorMessage,e[20]=r.outcome,e[21]=r.tablesRead,e[22]=r.tablesWritten,e[23]=P):P=e[23];let I;e[24]!==P?(I=(0,t.jsx)("span",{className:"flex-1 truncate text-muted-foreground",role:"gridcell",children:P}),e[24]=P,e[25]=I):I=e[25];let R;return e[26]!==o||e[27]!==i||e[28]!==x||e[29]!==f||e[30]!==L||e[31]!==I||e[32]!==c||e[33]!==p||e[34]!==h||e[35]!==v?(R=(0,t.jsxs)("div",{className:"flex items-center border-b border-border px-3 py-1.5 font-mono text-xs hover:bg-muted/50","data-index":o,"data-testid":"lg-req-row",ref:i,role:"row",style:x,children:[c,p,h,v,f,L,I]}),e[26]=o,e[27]=i,e[28]=x,e[29]=f,e[30]=L,e[31]=I,e[32]=c,e[33]=p,e[34]=h,e[35]=v,e[36]=R):R=e[36],R},"lr"),Ne=n(l=>{let{entries:e}=l??{};return Array.isArray(e)?e:[]},"se"),lr=n(l=>{let e={};return l.functionPathPrefix.trim()!==""&&(e.functionPathPrefix=l.functionPathPrefix.trim()),l.userId.trim()!==""&&(e.userId=l.userId.trim()),l.tableTouched.trim()!==""&&(e.tableTouched=l.tableTouched.trim()),(l.outcome==="ok"||l.outcome==="error")&&(e.outcome=l.outcome),e},"or"),Ie=Ce,sr={"5m":300*1e3,"15m":900*1e3,"1h":3600*1e3},or=n((l,e)=>{let r=e.search.trim().toLowerCase(),o=e.path.trim().toLowerCase(),i=e.range==="all"?Number.NEGATIVE_INFINITY:e.now-sr[e.range];return l.filter(a=>e.levels.size>0&&!e.levels.has(a.level)||a.timestamp<i||o!==""&&!(a.functionPath??"").toLowerCase().includes(o)?!1:r===""||a.message.toLowerCase().includes(r)||z(a.fields).toLowerCase().includes(r))},"nr"),nr="\u2014",ir=n(l=>{let e=new Map,r=new Map;for(let a of l){e.set(a.level,(e.get(a.level)??0)+1);let d=a.functionPath??nr;r.set(d,(r.get(d)??0)+1)}let o=Ie.filter(a=>e.has(a)).map(a=>({count:e.get(a)??0,key:a})),i=[...r.entries()].map(([a,d])=>({count:d,key:a})).toSorted((a,d)=>d.count===a.count?a.key.localeCompare(d.key):d.count-a.count);return{byLevel:o,byPath:i,total:l.length}},"dr"),dr=n(l=>{let e=(0,F.c)(11),{level:r,onToggle:o,selected:i}=l,a;e[0]!==r||e[1]!==o?(a=n(()=>{o(r)},"a"),e[0]=r,e[1]=o,e[2]=a):a=e[2];let d=a,m=i?"border-border bg-muted font-medium":"border-input text-muted-foreground",x;e[3]!==m?(x=_("rounded-md border px-2 py-1 text-xs",m),e[3]=m,e[4]=x):x=e[4];let u=`logs-level-${r}`,c;return e[5]!==r||e[6]!==d||e[7]!==i||e[8]!==x||e[9]!==u?(c=(0,t.jsx)("button",{"aria-pressed":i,className:x,"data-testid":u,onClick:d,type:"button",children:r}),e[5]=r,e[6]=d,e[7]=i,e[8]=x,e[9]=u,e[10]=c):c=e[10],c},"cr"),ke=n(l=>{let e=(0,F.c)(7),{bucket:r}=l,o;e[0]!==r.key?(o=(0,t.jsx)("span",{className:"truncate text-muted-foreground",role:"gridcell",children:r.key}),e[0]=r.key,e[1]=o):o=e[1];let i;e[2]!==r.count?(i=(0,t.jsx)("span",{className:"shrink-0 tabular-nums",role:"gridcell",children:r.count}),e[2]=r.count,e[3]=i):i=e[3];let a;return e[4]!==o||e[5]!==i?(a=(0,t.jsxs)("div",{className:"flex items-center justify-between gap-4 px-3 py-1 font-mono text-xs","data-testid":"logs-summary-row",role:"row",children:[o,i]}),e[4]=o,e[5]=i,e[6]=a):a=e[6],a},"ne"),qr=n(({initialShardKey:l})=>{let e=H(),[r,o]=(0,b.useState)("requests"),[i,a]=(0,b.useState)(l??""),[d,m]=(0,b.useState)(""),[x,u]=(0,b.useState)(()=>new Set),[c,w]=(0,b.useState)(""),[p,h]=(0,b.useState)("all"),[g,v]=(0,b.useState)(!1),[C,f]=(0,b.useState)(""),[y,N]=(0,b.useState)(""),[L,P]=(0,b.useState)(""),[I,R]=(0,b.useState)("all"),E=U(i.trim(),400),k=lr({functionPathPrefix:C,outcome:I,tableTouched:L,userId:y}),S=Z(ee.getRequestLog,k,{enabled:r==="requests",live:!0,shardKey:E}),le=Z(ee.getLogs,{},{enabled:r==="errors",live:!0,shardKey:E}),W=r==="requests"?S:le,{error:se,errorSource:Pe,isLoading:oe,liveError:Re}=W,qe=Ne(le.data),ne=Ne(S.data);(0,b.useEffect)(()=>{W.data!==void 0&&me(E)},[W.data,E]);let j=or(qe,{levels:x,now:Date.now(),path:c,range:p,search:d}),B=ir(j),V=r==="requests"?ne.length:j.length,G=r==="errors"&&g,A=(0,b.useMemo)(()=>se!==null?"error":V===0?oe?G?"summary":"list":"empty":G?"summary":"list",[V,oe,se,G]),ie=(0,b.useRef)(null),K=xe({count:V,estimateSize:n(()=>Ze,"estimateSize"),getScrollElement:n(()=>ie.current,"getScrollElement"),initialRect:{height:ae,width:800},observeElementRect:n((s,Q)=>we(s,Q,ae),"observeElementRect"),overscan:8}),Te=K.getVirtualItems(),Me={height:K.getTotalSize(),position:"relative",width:"100%"},Ee=n(s=>{m(s.target.value)},"Ne"),_e=n(s=>{u(Q=>{let O=new Set(Q);return O.has(s)?O.delete(s):O.add(s),O})},"Le"),Fe=n(s=>{w(s.target.value)},"Ce"),Ae=n(s=>{h(s.target.value)},"ke"),Ke=n(()=>{v(s=>!s)},"$e"),Oe=n(s=>{f(s.target.value)},"Se"),$e=n(s=>{N(s.target.value)},"Re"),De=n(s=>{P(s.target.value)},"Ie"),Ue=n(s=>{R(s.target.value)},"Ee"),ze=n(()=>{o("requests"),v(!1)},"Pe"),We=n(()=>{o("errors"),v(!1)},"Te"),je=n(()=>{o("archive"),v(!1)},"_e");return(0,t.jsxs)("div",{className:"flex flex-col gap-4","data-testid":"lunora-logs",children:[(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,t.jsxs)("div",{className:"inline-flex overflow-hidden rounded-lg border border-border",role:"tablist",children:[(0,t.jsx)("button",{"aria-selected":r==="requests",className:_("px-3 py-1 text-sm",r==="requests"?"bg-muted font-medium":"text-muted-foreground"),"data-testid":"lg-view-requests",onClick:ze,role:"tab",type:"button",children:e("Requests")}),(0,t.jsx)("button",{"aria-selected":r==="errors",className:_("px-3 py-1 text-sm",r==="errors"?"bg-muted font-medium":"text-muted-foreground"),"data-testid":"lg-view-errors",onClick:We,role:"tab",type:"button",children:e("Errors")}),(0,t.jsx)("button",{"aria-selected":r==="archive",className:_("px-3 py-1 text-sm",r==="archive"?"bg-muted font-medium":"text-muted-foreground"),"data-testid":"lg-view-archive",onClick:je,role:"tab",type:"button",children:e("Archive")})]}),(0,t.jsx)(he,{onChange:a,testId:"lg-shard-input",value:i}),r!=="archive"&&(0,t.jsx)(be,{message:Re,prefix:"lg"}),(0,t.jsx)("a",{className:"text-sm text-primary underline-offset-4 hover:underline","data-testid":"lg-cf-link",href:te,rel:"noreferrer",target:"_blank",children:e("Open in Cloudflare")})]}),r==="errors"&&(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,t.jsx)(q,{"aria-label":e("Search messages"),className:"h-8 w-48","data-testid":"lg-search",onChange:Ee,placeholder:e("search message"),value:d}),(0,t.jsx)(q,{"aria-label":e("Function path"),className:"h-8 w-40","data-testid":"logs-path-filter",onChange:Fe,placeholder:e("filter path"),value:c}),(0,t.jsx)("div",{"aria-label":e("Level filter"),className:"inline-flex items-center gap-1","data-testid":"logs-level-filter",role:"group",children:Ie.map(s=>(0,t.jsx)(dr,{level:s,onToggle:_e,selected:x.has(s)},s))}),(0,t.jsxs)("select",{"aria-label":e("Time range"),className:"h-8 rounded-md border border-input bg-transparent px-2 text-sm shadow-xs focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-none","data-testid":"logs-time-range",onChange:Ae,value:p,children:[(0,t.jsx)("option",{value:"all",children:e("All time")}),(0,t.jsx)("option",{value:"5m",children:e("Last 5m")}),(0,t.jsx)("option",{value:"15m",children:e("Last 15m")}),(0,t.jsx)("option",{value:"1h",children:e("Last hour")})]}),(0,t.jsx)("button",{"aria-pressed":g,className:_("h-8 rounded-md border px-3 text-sm",g?"border-border bg-muted font-medium":"border-input text-muted-foreground"),"data-testid":"logs-summary-toggle",onClick:Ke,type:"button",children:e(g?"List":"Summary")})]}),r==="requests"&&(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,t.jsx)(q,{"aria-label":e("Function path"),className:"h-8 w-44","data-testid":"lg-req-path",onChange:Oe,placeholder:e("file:function"),value:C}),(0,t.jsx)(q,{"aria-label":e("User id"),className:"h-8 w-32","data-testid":"lg-req-user",onChange:$e,placeholder:e("userId"),value:y}),(0,t.jsx)(q,{"aria-label":e("Table touched"),className:"h-8 w-32","data-testid":"lg-req-table",onChange:De,placeholder:e("table"),value:L}),(0,t.jsxs)("select",{"aria-label":e("Outcome filter"),className:"h-8 rounded-md border border-input bg-transparent px-2 text-sm shadow-xs focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-none","data-testid":"lg-req-outcome",onChange:Ue,value:I,children:[(0,t.jsx)("option",{value:"all",children:e("all")}),(0,t.jsx)("option",{value:"ok",children:e("ok")}),(0,t.jsx)("option",{value:"error",children:e("error")})]})]}),r==="archive"?(0,t.jsx)(Xe,{shardKey:E}):(0,t.jsxs)(t.Fragment,{children:[A==="error"&&(0,t.jsx)(ge,{error:Pe,testId:"lg-error"}),A==="empty"&&(0,t.jsx)(D,{description:e("Function and request logs for this shard show up here as your app handles traffic."),icon:(0,t.jsx)("svg",{"aria-hidden":"true",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.6,viewBox:"0 0 24 24",children:(0,t.jsx)("path",{d:"M4 5h16M4 12h16M4 19h10"})}),testId:"lg-empty",title:e("No logs.")}),A==="summary"&&(0,t.jsxs)("div",{className:"flex flex-col gap-4 rounded-xl border border-border bg-card p-4 shadow-xs","data-testid":"logs-summary",children:[(0,t.jsx)("p",{className:"text-xs text-muted-foreground","data-testid":"logs-summary-total",children:e("{count} entries",{count:B.total})}),(0,t.jsxs)("div",{children:[(0,t.jsx)("h4",{className:"mb-1 font-mono text-[11px] tracking-wide text-muted-foreground uppercase",children:e("By level")}),(0,t.jsx)("div",{className:"overflow-hidden rounded-lg border border-border","data-testid":"logs-summary-levels",role:"grid",children:B.byLevel.map(s=>(0,t.jsx)(ke,{bucket:s},s.key))})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("h4",{className:"mb-1 font-mono text-[11px] tracking-wide text-muted-foreground uppercase",children:e("By function")}),(0,t.jsx)("div",{className:"overflow-hidden rounded-lg border border-border","data-testid":"logs-summary-paths",role:"grid",children:B.byPath.map(s=>(0,t.jsx)(ke,{bucket:s},s.key))})]})]}),A==="list"&&(0,t.jsx)("div",{className:"rounded-xl border border-border shadow-xs","data-testid":"lg-scroll",ref:ie,style:er,children:(0,t.jsx)("div",{"aria-label":e("Recent logs"),"data-testid":"lg-table",role:"grid",style:Me,children:Te.map(s=>r==="requests"?(0,t.jsx)(ar,{entry:ne[s.index],index:s.index,measureRef:K.measureElement,start:s.start},s.key):(0,t.jsx)(tr,{entry:j[s.index],index:s.index,measureRef:K.measureElement,start:s.start},s.key))})})]})]})},"qr");export{qr as LogsPanel,or as filterLogs,ir as summarizeLogs};
@@ -0,0 +1,6 @@
1
+ import{a as _l}from"./chunk-D2RKH6JK.js";import{a as Cl,b as El}from"./chunk-G6PSMGLD.js";import{a as Il}from"./chunk-W6SAOXGH.js";import"./chunk-KZ3ALMMP.js";import"./chunk-SD4BERSA.js";import"./chunk-IC4L6G56.js";import"./chunk-ESVP44Y3.js";import"./chunk-7LWMHTJ3.js";import"./chunk-RQ7AFLIV.js";import"./chunk-BGBLQ563.js";import"./chunk-IVFHIQOT.js";import"./chunk-CU55Y5TV.js";import"./chunk-4UOFSGUS.js";import"./chunk-ILNELDFC.js";import"./chunk-QXXIJAD5.js";import{a as vl}from"./chunk-LFKCLLPT.js";import"./chunk-T6VMSOBB.js";import{a as yl}from"./chunk-XXQUMVWH.js";import"./chunk-XDAT7LHC.js";import{a as wl,b as Nl,c as kl,d as ml,e as ql,f as Sl}from"./chunk-MIQTKZAR.js";import"./chunk-QBWRC5YX.js";import{a as xl}from"./chunk-X665E2HU.js";import{b as gl}from"./chunk-GRL5MG3Z.js";import{d as $n,e as dl,f as ul}from"./chunk-7T7UOTYK.js";import{R as bl}from"./chunk-CFPZYHPY.js";import"./chunk-7QIFDWQV.js";import"./chunk-FXCBF4XT.js";import"./chunk-2OUPA2WJ.js";import"./chunk-6ST5ECQA.js";import{a as zt}from"./chunk-2WOIRKEI.js";import{f as Dn}from"./chunk-EN2QAEO4.js";import"./chunk-XBDKZZ67.js";import{d as le,f as $t,g as At,h as cl,m as ae}from"./chunk-OG4N2XHD.js";import"./chunk-AADILRJW.js";import{a,e as il,f as Kl,g as Jl,h as Ql,j as he}from"./chunk-3XIESWL4.js";var Q=il(Jl(),1);var I=il(Kl(),1);var s=il(Ql(),1);var Ol="p-3 font-mono text-xs leading-5 whitespace-pre-wrap break-words",Gl=a((o,e)=>{let l=[];for(let t of o){if(t.offset===void 0||t.length===void 0||t.length<=0)continue;let r=Math.max(0,Math.min(t.offset,e)),c=Math.max(r,Math.min(t.offset+t.length,e));r!==c&&l.push({end:c,severity:t.severity,start:r})}l.sort((t,r)=>t.start-r.start);let n=[];for(let t of l)t.start>=(n.at(-1)?.end??0)&&n.push(t);return n},"Xl"),Vl=["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"],Xl=["FROM","WHERE","ORDER BY","GROUP BY","HAVING","LIMIT","OFFSET","UNION","JOIN","LEFT JOIN","RIGHT JOIN","INNER JOIN","OUTER JOIN","CROSS JOIN"],jn=String.fromCodePoint(0),Zl=new RegExp(`${jn}${String.raw`(\d+)`}${jn}`,"gu"),eo=Vl.map(o=>({pattern:new RegExp(String.raw`\b${o.replaceAll(" ",String.raw`\s+`)}\b`,"giu"),replacement:o})),to=Xl.map(o=>({pattern:new RegExp(String.raw`\s+${o.replaceAll(" ",String.raw`\s+`)}\b`,"gu"),replacement:`
2
+ ${o}`})),no=a(o=>{let e=[],l=o.replaceAll(/'(?:[^']|'')*'/gu,n=>(e.push(n),`${jn}${(e.length-1).toString()}${jn}`)).replaceAll(/\s+/gu," ").trim();for(let{pattern:n,replacement:t}of eo)l=l.replaceAll(n,t);for(let{pattern:n,replacement:t}of to)l=l.replaceAll(n,t);return l=l.replaceAll(Zl,(n,t)=>e[Number(t)]??""),l},"rr"),lo=/^(?:explain\s+(?:query\s+plan\s+)?)?(?:select|with)\b/iu,oo=/\b(?:alter|attach|create|delete|detach|drop|insert|pragma|reindex|replace|truncate|update|vacuum)\b/iu,ro=/^\w+/u,so=/;\s*$/u,ao=/\s/u,io=a((o,e)=>{let l=e+2;for(;l<o.length&&o[l]!==`
3
+ `;)l+=1;return l},"dr"),co=a((o,e)=>{let l=o.indexOf("*/",e+2);return l===-1?-1:l+2},"ur"),uo=a(o=>{let e=0;for(;e<o.length;){let l=o[e];if(l!==void 0&&ao.test(l))e+=1;else if(l==="-"&&o[e+1]==="-")e=io(o,e);else if(l==="/"&&o[e+1]==="*"){let n=co(o,e);if(n===-1)break;e=n}else break}return e},"mr"),mo=a(o=>{let e=uo(o),l=o.slice(e).trimEnd();if(l==="")return{code:"SQL_EMPTY",message:"the query is empty"};let n=l.replace(so,""),t=n.indexOf(";");if(t!==-1)return{code:"SQL_MULTIPLE_STATEMENTS",length:1,message:"only a single statement may be run",offset:e+t};let r="the SQL editor is read-only \u2014 only SELECT / WITH / EXPLAIN queries are allowed";if(!lo.test(n))return{code:"SQL_NOT_READONLY",length:ro.exec(n)?.[0].length??1,message:r,offset:e};let c=oo.exec(n);if(c!==null)return{code:"SQL_NOT_READONLY",length:c[0].length,message:`${r} (\`${c[0].toUpperCase()}\` is not allowed)`,offset:e+c.index}},"fr"),fo=/\b(?:from|join)\s+([a-z_][\w$]*)(?:\s+(?:as\s+)?([a-z_][\w$]*))?/giu,ho=/(?:\bwith\s+(?:recursive\s+)?|,\s*)([a-z_][\w$]*)\s+as\s*\(/giu,po=new Set(["cross","full","group","having","inner","join","left","limit","offset","on","order","right","union","using","where","window"]),bo=/[^\n]/gu,go=a((o,e)=>{let l=o[e];if(l==="'"){let n=e+1;for(;n<o.length&&o[n]!=="'";)n+=1;return Math.min(n+1,o.length)}if(l==="-"&&o[e+1]==="-"){let n=o.indexOf(`
4
+ `,e);return n===-1?o.length:n}if(l==="/"&&o[e+1]==="*"){let n=o.indexOf("*/",e+2);return n===-1?o.length:n+2}return-1},"xr"),xo=a(o=>{let e="",l=0;for(;l<o.length;){let n=go(o,l);n===-1?(e+=o.slice(l,l+1),l+=1):(e+=o.slice(l,n).replaceAll(bo," "),l=n)}return e},"vr"),vo=a(o=>{let e=new Set;for(let l of o.matchAll(ho))e.add((l[1]??"").toLowerCase());return e},"yr"),yo=a((o,e)=>{let l=new Map;for(let n of o.matchAll(fo)){let t=(n[1]??"").toLowerCase(),r=(n[2]??"").toLowerCase();e.has(t)&&(l.set(t,t),r!==""&&!po.has(r)&&l.set(r,t))}return l},"wr"),Ml=a((o,e)=>{let l=xo(o),n=new Set(e.map(t=>t.toLowerCase()));return{ctes:vo(l),masked:l,targets:yo(l,n)}},"kl"),wo=/^(?:__lunora|sqlite_)/iu,No=/\b(?:from|join)\s+([a-z_][\w$]*)/giu,ko=/\b([a-z_][\w$]*)\.([a-z_][\w$]*)/giu,qo=new Set(["cross","full","group","having","inner","join","lateral","left","limit","offset","order","right","select","union","where","window"]),So=a((o,e,l)=>{let n=[];for(let t of o.matchAll(No)){let r=t[1]??"",c=r.toLowerCase();!e.has(c)&&!l.has(c)&&!qo.has(c)&&!wo.test(r)&&n.push({length:r.length,message:`unknown table \`${r}\``,offset:t.index+t[0].length-r.length,severity:"error",source:"schema"})}return n},"$r"),Co=a((o,e,l)=>{let n=[],t=new Map;for(let[r,c]of Object.entries(e.columns))t.set(r.toLowerCase(),new Set(c.map(f=>f.toLowerCase())));for(let r of o.matchAll(ko)){let c=(r[1]??"").toLowerCase(),f=r[2]??"",i=l.get(c),d=i===void 0?void 0:t.get(i);d!==void 0&&!d.has(f.toLowerCase())&&n.push({length:f.length,message:`\`${i??""}\` has no column \`${f}\``,offset:r.index+r[0].length-f.length,severity:"error",source:"schema"})}return n},"Cr"),Eo=a((o,e)=>{if(o.trim()==="")return[];let l=mo(o);if(l!==void 0)return l.code==="SQL_EMPTY"?[]:[{length:l.length,message:l.message,offset:l.offset,severity:"error",source:"gate"}];let{ctes:n,masked:t,targets:r}=Ml(o,e.tables),c=new Set(e.tables.map(f=>f.toLowerCase()));return[...So(t,c,n),...Co(t,e,r)]},"Lr"),Io=$t(zt.lintSql),_o=600,Lo=a((o,e,l)=>{let n=Dn(),[t,r]=(0,I.useState)([]),c=(0,I.useMemo)(()=>Eo(o,e),[o,e]),f=vl(o,_o),i=c.some(g=>g.source==="gate")||f.trim()==="",d=(0,I.useCallback)(async g=>{try{let p=await n.query(Io,{sql:f},At(l));g.cancelled||r(p.diagnostics??[])}catch{g.cancelled||r([])}},[n,f,l]);(0,I.useEffect)(()=>{if(i){r([]);return}let g={cancelled:!1};return ae(d(g)),()=>{g.cancelled=!0}},[d,i]);let b=f===o;return(0,I.useMemo)(()=>b?[...c,...t]:c,[c,t,b])},"Ir"),To=a(o=>o==="unsafe-response"?"The model returned a statement that is not read-only, so it was discarded.":o==="empty-response"?"The model returned nothing usable.":"The model could not be reached.","Tr"),Ro=a(o=>{let e=(0,Q.c)(51),{assistant:l,failed:n,onGenerated:t}=o,r=le(),[c,f]=(0,I.useState)("");if(l.unavailable)return null;let i;e[0]!==l?(i=l.pending("sql"),e[0]=l,e[1]=i):i=e[1];let d=i,b;if(e[2]!==l||e[3]!==n||e[4]!==t||e[5]!==d||e[6]!==c||e[7]!==r){let g=l.reason("sql"),p;e[9]!==l||e[10]!==n||e[11]!==t||e[12]!==c?(p=a(_=>{let A=c.trim();A===""&&!_||ae((async()=>{let j=await l.generate(A===""?"fix the failing statement":A,_?n:void 0);j!==void 0&&t(j)})())},"h"),e[9]=l,e[10]=n,e[11]=t,e[12]=c,e[13]=p):p=e[13];let h=p,u;e[14]!==r?(u=r("Describe the query you want"),e[14]=r,e[15]=u):u=e[15];let N;e[16]===Symbol.for("react.memo_cache_sentinel")?(N=a(_=>{f(_.target.value)},"w"),e[16]=N):N=e[16];let w;e[17]!==h?(w=a(_=>{_.key==="Enter"&&(_.preventDefault(),h(!1))},"y"),e[17]=h,e[18]=w):w=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]!==c||e[23]!==u||e[24]!==w||e[25]!==y?(x=(0,s.jsx)(bl,{"aria-label":u,className:"h-7 flex-1 text-xs","data-testid":"sql-assistant-prompt",disabled:d,onChange:N,onKeyDown:w,placeholder:y,value:c}),e[21]=d,e[22]=c,e[23]=u,e[24]=w,e[25]=y,e[26]=x):x=e[26];let L=d&&"opacity-60",q;e[27]!==L?(q=he("rounded-md border border-border px-2 py-1 text-xs outline-none transition-colors hover:bg-accent focus-visible:bg-accent",L),e[27]=L,e[28]=q):q=e[28];let E;e[29]!==d||e[30]!==c?(E=d||c.trim()==="",e[29]=d,e[30]=c,e[31]=E):E=e[31];let C;e[32]!==h?(C=a(()=>{h(!1)},"q"),e[32]=h,e[33]=C):C=e[33];let D;e[34]!==d||e[35]!==r?(D=r(d?"Thinking\u2026":"Draft SQL"),e[34]=d,e[35]=r,e[36]=D):D=e[36];let k;e[37]!==q||e[38]!==E||e[39]!==C||e[40]!==D?(k=(0,s.jsx)("button",{className:q,"data-testid":"sql-assistant-generate",disabled:E,onClick:C,type:"button",children:D}),e[37]=q,e[38]=E,e[39]=C,e[40]=D,e[41]=k):k=e[41];let $;e[42]!==n||e[43]!==d||e[44]!==h||e[45]!==r?($=n!==void 0&&(0,s.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:a(()=>{h(!0)},"onClick"),type:"button",children:r("Fix this")}),e[42]=n,e[43]=d,e[44]=h,e[45]=r,e[46]=$):$=e[46];let M;e[47]!==k||e[48]!==$||e[49]!==x?(M=(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[x,k,$]}),e[47]=k,e[48]=$,e[49]=x,e[50]=M):M=e[50],b=(0,s.jsxs)("div",{className:"flex flex-col gap-1 border-b border-border px-3 py-2","data-testid":"sql-assistant",children:[M,g!==void 0&&(0,s.jsx)("p",{className:"text-[11px] text-muted-foreground","data-testid":"sql-assistant-reason",role:"status",children:To(g)})]}),e[2]=l,e[3]=n,e[4]=t,e[5]=d,e[6]=c,e[7]=r,e[8]=b}else b=e[8];return b},"Rr"),An=8,Oo=["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"],Mo=new Set(["AND","BY","HAVING","ON","OR","SELECT","WHERE"]),Do=/[\w$]/,Dl=a(o=>o!==void 0&&Do.test(o),"Sl"),$l=a(o=>{let e=o.length;for(;e>0&&Dl(o[e-1]);)e-=1;return o.slice(e)},"ql"),Al=a((o,e)=>{let l=e;for(;l>0&&Dl(o[l-1]);)l-=1;return{end:e,start:l,text:o.slice(l,e)}},"$l"),Ll=a((o,e)=>{let l=o.slice(0,e).trimEnd();return l.endsWith(".")||Mo.has($l(l).toUpperCase())},"gl"),$o=a((o,e,l)=>{let n=o.slice(0,e);if(!n.endsWith("."))return;let t=$l(n.slice(0,-1));if(t!=="")return Ml(o,l).targets.get(t.toLowerCase())??t},"Ar"),pl=a((o,e)=>o.toLowerCase().startsWith(e.toLowerCase()),"ml"),Tl=a((o,e,l,n)=>{let t=[];for(let r of o)if(pl(r,e)&&(t.push(n(r)),t.length>=l))break;return t},"xl"),Ao=a((o,e,l)=>{let n=new Map;for(let[t,r]of Object.entries(o.columns))for(let c of r)if(pl(c,e)&&!n.has(c)&&(n.set(c,t),n.size>=l))return[...n].map(([f,i])=>({detail:i,kind:"column",label:f}));return[...n].map(([t,r])=>({detail:r,kind:"column",label:t}))},"zr"),zo=a((o,e,l)=>{let n=Al(o,e),t=$o(o,n.start,l.tables);if(t!==void 0){let i=l.columns[t]??l.columns[t.toLowerCase()]??[];return Tl(i,n.text,An,d=>({detail:t,kind:"column",label:d}))}if(n.text===""&&!Ll(o,n.start))return[];let r=Tl(l.tables,n.text,An,i=>({kind:"table",label:i})),c=Ao(l,n.text,An),f=Oo.flatMap(i=>n.text!==""&&pl(i,n.text)&&i.toLowerCase()!==n.text.toLowerCase()?[{kind:"keyword",label:i}]:[]);return(Ll(o,n.start)?[...c,...r,...f]:[...r,...c,...f]).slice(0,An)},"jr"),jo=a((o,e,l)=>{let n=Al(o,e),t=o.slice(0,n.start)+l.label+o.slice(n.end);return{caret:n.start+l.label.length,value:t}},"Br"),Wo=["boxSizing","borderBottomWidth","borderLeftWidth","borderRightWidth","borderTopWidth","fontFamily","fontSize","fontStyle","fontWeight","letterSpacing","lineHeight","paddingBottom","paddingLeft","paddingRight","paddingTop","tabSize","textIndent","textTransform","width","wordSpacing"],Bo=a((o,e)=>{let l=globalThis.getComputedStyle(o),n=globalThis.document.createElement("div"),{style:t}=n;t.position="absolute",t.visibility="hidden",t.whiteSpace="pre-wrap",t.overflowWrap="break-word";for(let i of Wo)t[i]=l[i];n.textContent=o.value.slice(0,Math.max(0,e));let r=globalThis.document.createElement("span");r.textContent=o.value.slice(Math.max(0,e))||".",n.append(r),globalThis.document.body.append(n);let c=r.offsetLeft-o.scrollLeft,f=r.offsetTop-o.scrollTop;return n.remove(),{left:c,top:f}},"Fr"),Fo=a((o,e,l)=>{let n=(0,Q.c)(13),[t,r]=(0,I.useState)(null),c;n[0]!==o||n[1]!==e?(c=a((N,w)=>{let y=zo(N,w,o);if(y.length===0){r(null);return}let x=e.current,{left:L,top:q}=x===null?{left:0,top:0}:Bo(x,w);r(E=>E!==null&&E.active===0&&E.left===L&&E.top===q&&E.suggestions.length===y.length&&E.suggestions.every((C,D)=>{let k=y.at(D);return C.kind===k?.kind&&C.label===k.label&&C.detail===k.detail})?E:{active:0,left:L,suggestions:y,top:q})},"a"),n[0]=o,n[1]=e,n[2]=c):c=n[2];let f=c,i;n[3]===Symbol.for("react.memo_cache_sentinel")?(i=a(()=>{r(null)},"s"),n[3]=i):i=n[3];let d=i,b;n[4]===Symbol.for("react.memo_cache_sentinel")?(b=a(N=>{r(w=>{if(w===null)return w;let y=w.suggestions.length,x=(w.active+N+y)%y;return{...w,active:x}})},"p"),n[4]=b):b=n[4];let g=b,p;n[5]!==l||n[6]!==t||n[7]!==e?(p=a(()=>{let N=e.current;if(t===null||N===null)return!1;let w=t.suggestions[t.active];if(w===void 0)return!1;let y=jo(N.value,N.selectionStart,w);return l(y.value),r(null),requestAnimationFrame(()=>{let x=e.current;x!==null&&(x.focus(),x.setSelectionRange(y.caret,y.caret))}),!0},"h"),n[5]=l,n[6]=t,n[7]=e,n[8]=p):p=n[8];let h=p,u;return n[9]!==h||n[10]!==f||n[11]!==t?(u={close:d,commit:h,move:g,refresh:f,state:t},n[9]=h,n[10]=f,n[11]=t,n[12]=u):u=n[12],u},"Pr"),Po={column:"column",keyword:"keyword",table:"table"},Uo=20,Ho=a(o=>{let e=(0,Q.c)(17),{listboxId:l,onPick:n,state:t}=o,r=le(),c;e[0]!==t?(c=t===null?void 0:{left:t.left,top:t.top+Uo},e[0]=t,e[1]=c):c=e[1];let f=c;if(t===null)return null;let i;if(e[2]!==l||e[3]!==n||e[4]!==t.active||e[5]!==t.suggestions||e[6]!==r){let b;e[8]!==l||e[9]!==n||e[10]!==t.active||e[11]!==r?(b=a((g,p)=>(0,s.jsxs)("li",{"aria-selected":p===t.active,className:he("flex cursor-pointer items-center gap-2 px-2 py-1 text-[13px]",p===t.active?"bg-accent text-accent-foreground":"text-foreground"),"data-testid":"sql-autocomplete-item",id:`${l}-opt-${p.toString()}`,onMouseDown:a(h=>{h.preventDefault(),n(p)},"onMouseDown"),role:"option",children:[(0,s.jsx)("span",{className:"truncate font-mono",children:g.label}),g.detail!==void 0&&(0,s.jsx)("span",{className:"ms-auto truncate text-xs text-muted-foreground",children:g.detail}),(0,s.jsx)("span",{className:"shrink-0 font-mono text-[10px] tracking-wide text-muted-foreground/70 uppercase",children:r(Po[g.kind])})]},`${g.kind}:${g.label}`),"p"),e[8]=l,e[9]=n,e[10]=t.active,e[11]=r,e[12]=b):b=e[12],i=t.suggestions.map(b),e[2]=l,e[3]=n,e[4]=t.active,e[5]=t.suggestions,e[6]=r,e[7]=i}else i=e[7];let d;return e[13]!==l||e[14]!==f||e[15]!==i?(d=(0,s.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:l,role:"listbox",style:f,children:i}),e[13]=l,e[14]=f,e[15]=i,e[16]=d):d=e[16],d},"Yr"),Yo=a(o=>{let e=(0,Q.c)(8),{diagnostics:l,draft:n,scrollRef:t}=o,r,c;if(e[0]!==l||e[1]!==n){c=Symbol.for("react.early_return_sentinel");e:{let d=Gl(l,n.length);if(d.length===0){c=null;break e}r=[];let b=0;for(let[g,p]of d.entries())p.start>b&&r.push(n.slice(b,p.start)),r.push((0,s.jsx)("span",{className:he("decoration-wavy underline underline-offset-4",p.severity==="error"?"decoration-destructive":"decoration-amber-500"),children:n.slice(p.start,p.end)},`${p.start.toString()}-${g.toString()}`)),b=p.end;r.push(n.slice(b))}e[0]=l,e[1]=n,e[2]=r,e[3]=c}else r=e[2],c=e[3];if(c!==Symbol.for("react.early_return_sentinel"))return c;let f;e[4]===Symbol.for("react.memo_cache_sentinel")?(f=he("pointer-events-none absolute inset-0 overflow-hidden text-transparent",Ol),e[4]=f):f=e[4];let i;return e[5]!==r||e[6]!==t?(i=(0,s.jsx)("div",{"aria-hidden":"true",className:f,"data-testid":"sql-diagnostics-overlay",ref:t,children:r}),e[5]=r,e[6]=t,e[7]=i):i=e[7],i},"Kr"),Ko={gate:"read-only",plan:"plan",schema:"schema",syntax:"syntax"},Jo=a(o=>{let e=(0,Q.c)(10),{diagnostics:l,onSelect:n}=o,t=le();if(l.length===0)return null;let r;e[0]!==t?(r=t("SQL problems"),e[0]=t,e[1]=r):r=e[1];let c;if(e[2]!==l||e[3]!==n){let i;e[5]!==n?(i=a((d,b)=>(0,s.jsx)("li",{children:(0,s.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:a(()=>{n(d)},"onClick"),type:"button",children:[(0,s.jsx)("span",{className:he("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:Ko[d.source]}),(0,s.jsx)("span",{className:"min-w-0 text-muted-foreground",children:d.message})]})},`${d.source}-${(d.offset??b).toString()}-${b.toString()}`),"s"),e[5]=n,e[6]=i):i=e[6],c=l.map(i),e[2]=l,e[3]=n,e[4]=c}else c=e[4];let f;return e[7]!==r||e[8]!==c?(f=(0,s.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:c}),e[7]=r,e[8]=c,e[9]=f):f=e[9],f},"Jr"),zl=[{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;"}],Qo=a(o=>{let e=(0,Q.c)(29),{active:l,onDelete:n,onSelect:t,query:r}=o,c=le(),f;e[0]!==t||e[1]!==r.id?(f=a(()=>{t(r.id)},"m"),e[0]=t,e[1]=r.id,e[2]=f):f=e[2];let i=f,d;e[3]!==n||e[4]!==r.id?(d=a(C=>{C.stopPropagation(),n(r.id)},"c"),e[3]=n,e[4]=r.id,e[5]=d):d=e[5];let b=d,g=l?"bg-sidebar-accent font-medium text-foreground":"text-muted-foreground",p;e[6]!==g?(p=he("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",g),e[6]=g,e[7]=p):p=e[7];let h=`sql-query-${r.id}`,u;e[8]===Symbol.for("react.memo_cache_sentinel")?(u=(0,s.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,s.jsx)("path",{d:"M4 6h16M4 12h10M4 18h7"})}),e[8]=u):u=e[8];let N;e[9]!==r.name?(N=(0,s.jsx)("span",{className:"truncate",children:r.name}),e[9]=r.name,e[10]=N):N=e[10];let w;e[11]!==l||e[12]!==i||e[13]!==p||e[14]!==h||e[15]!==N?(w=(0,s.jsxs)("button",{"aria-pressed":l,className:p,"data-testid":h,onClick:i,type:"button",children:[u,N]}),e[11]=l,e[12]=i,e[13]=p,e[14]=h,e[15]=N,e[16]=w):w=e[16];let y;e[17]!==c?(y=c("Delete query"),e[17]=c,e[18]=y):y=e[18];let x;e[19]!==c?(x=c("Delete query"),e[19]=c,e[20]=x):x=e[20];let L;e[21]===Symbol.for("react.memo_cache_sentinel")?(L=(0,s.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,s.jsx)("path",{d:"M5 7h14M9 7V5h6v2m-1 0v12H10V7M7 7v13h10V7"})}),e[21]=L):L=e[21];let q;e[22]!==b||e[23]!==x||e[24]!==y?(q=(0,s.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:b,title:x,type:"button",children:L}),e[22]=b,e[23]=x,e[24]=y,e[25]=q):q=e[25];let E;return e[26]!==q||e[27]!==w?(E=(0,s.jsxs)("li",{className:"group/q flex items-center",children:[w,q]}),e[26]=q,e[27]=w,e[28]=E):E=e[28],E},"Gr"),Go=a((o,e)=>{let l=e.trim().toLowerCase();return l===""?[...o]:o.filter(n=>n.name.toLowerCase().includes(l))},"Vr"),Vo=a(o=>{let e=(0,Q.c)(60),{activeId:l,history:n,listRef:t,onClearHistory:r,onDelete:c,onLoadHistory:f,onLoadTemplate:i,onNew:d,onSearchChange:b,onSelect:g,queries:p,search:h}=o,u=le(),N,w,y,x;if(e[0]!==l||e[1]!==t||e[2]!==c||e[3]!==d||e[4]!==b||e[5]!==g||e[6]!==p||e[7]!==h||e[8]!==u){let _=Go(p,h);w="flex h-full w-64 shrink-0 flex-col border-e border-border bg-sidebar";let A;e[13]!==u?(A=u("Search queries\u2026"),e[13]=u,e[14]=A):A=e[14];let j;e[15]!==b||e[16]!==h||e[17]!==A?(j=(0,s.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:b,placeholder:A,type:"text",value:h}),e[15]=b,e[16]=h,e[17]=A,e[18]=j):j=e[18];let W;e[19]!==u?(W=u("New query"),e[19]=u,e[20]=W):W=e[20];let Y;e[21]!==u?(Y=u("New query"),e[21]=u,e[22]=Y):Y=e[22];let z;e[23]===Symbol.for("react.memo_cache_sentinel")?(z=(0,s.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,s.jsx)("path",{d:"M12 5v14M5 12h14"})}),e[23]=z):z=e[23];let K;e[24]!==d||e[25]!==W||e[26]!==Y?(K=(0,s.jsx)("button",{"aria-label":W,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:Y,type:"button",children:z}),e[24]=d,e[25]=W,e[26]=Y,e[27]=K):K=e[27],e[28]!==K||e[29]!==j?(y=(0,s.jsxs)("div",{className:"flex shrink-0 items-center gap-2 border-b border-border p-2",children:[j,K]}),e[28]=K,e[29]=j,e[30]=y):y=e[30],N="flex flex-1 flex-col gap-4 overflow-y-auto p-2";let B;e[31]!==u?(B=u("Private"),e[31]=u,e[32]=B):B=e[32];let F;e[33]!==B?(F=(0,s.jsx)("p",{className:"px-1 pb-1 font-mono text-[11px] tracking-wide text-muted-foreground uppercase",children:B}),e[33]=B,e[34]=F):F=e[34],x=(0,s.jsxs)("div",{children:[F,_.length===0?(0,s.jsx)("p",{className:"px-1 py-2 text-xs text-muted-foreground","data-testid":"sql-private-empty",children:u("No saved queries yet \u2014 they save to this browser as you type.")}):(0,s.jsx)("ul",{className:"flex flex-col gap-px","data-testid":"sql-private",ref:t,children:_.map(T=>(0,s.jsx)(Qo,{active:l===T.id,onDelete:c,onSelect:g,query:T},T.id))})]}),e[0]=l,e[1]=t,e[2]=c,e[3]=d,e[4]=b,e[5]=g,e[6]=p,e[7]=h,e[8]=u,e[9]=N,e[10]=w,e[11]=y,e[12]=x}else N=e[9],w=e[10],y=e[11],x=e[12];let L;e[35]!==u?(L=u("Reference"),e[35]=u,e[36]=L):L=e[36];let q;e[37]!==L?(q=(0,s.jsx)("p",{className:"px-1 pb-1 font-mono text-[11px] tracking-wide text-muted-foreground uppercase",children:L}),e[37]=L,e[38]=q):q=e[38];let E;e[39]!==i?(E=zl.map(_=>(0,s.jsx)("li",{children:(0,s.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":_.sql,onClick:i,type:"button",children:[(0,s.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,s.jsx)("path",{d:"M7 4h7l4 4v12H7zM14 4v4h4"})}),_.label]})},_.label)),e[39]=i,e[40]=E):E=e[40];let C;e[41]!==E?(C=(0,s.jsx)("ul",{className:"flex flex-col gap-px",children:E}),e[41]=E,e[42]=C):C=e[42];let D;e[43]!==q||e[44]!==C?(D=(0,s.jsxs)("div",{children:[q,C]}),e[43]=q,e[44]=C,e[45]=D):D=e[45];let k;e[46]!==n||e[47]!==r||e[48]!==f||e[49]!==u?(k=n.length>0&&(0,s.jsxs)("div",{children:[(0,s.jsxs)("div",{className:"flex items-center justify-between px-1 pb-1",children:[(0,s.jsx)("p",{className:"font-mono text-[11px] tracking-wide text-muted-foreground uppercase",children:u("History")}),(0,s.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:u("Clear history")})]}),(0,s.jsx)("ul",{className:"flex flex-col gap-px","data-testid":"sql-history",children:n.map(_=>(0,s.jsx)("li",{children:(0,s.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":_.sql,"data-testid":"sql-history-item",onClick:f,title:_.sql,type:"button",children:[(0,s.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,s.jsx)("path",{d:"M12 8v4l3 2M12 21a9 9 0 1 1 0-18 9 9 0 0 1 0 18Z"})}),(0,s.jsx)("span",{className:"truncate font-mono",children:_.sql})]})},`${_.at.toString()}:${_.sql}`))})]}),e[46]=n,e[47]=r,e[48]=f,e[49]=u,e[50]=k):k=e[50];let $;e[51]!==N||e[52]!==k||e[53]!==x||e[54]!==D?($=(0,s.jsxs)("div",{className:N,children:[x,D,k]}),e[51]=N,e[52]=k,e[53]=x,e[54]=D,e[55]=$):$=e[55];let M;return e[56]!==$||e[57]!==w||e[58]!==y?(M=(0,s.jsxs)("aside",{className:w,children:[y,$]}),e[56]=$,e[57]=w,e[58]=y,e[59]=M):M=e[59],M},"Xr"),Xo=$t(zt.listTables),Zo=$t(zt.readTablePage),er=a(o=>{let e=(0,Q.c)(16),l=Dn(),n;e[0]===Symbol.for("react.memo_cache_sentinel")?(n=[],e[0]=n):n=e[0];let[t,r]=(0,I.useState)(n),c;e[1]===Symbol.for("react.memo_cache_sentinel")?(c={},e[1]=c):c=e[1];let[f,i]=(0,I.useState)(c),d;e[2]===Symbol.for("react.memo_cache_sentinel")?(d=new Set,e[2]=d):d=e[2];let b=(0,I.useRef)(d),g,p;e[3]!==l||e[4]!==o?(g=a(()=>{let x={cancelled:!1};return ae((async()=>{try{let L=await l.query(Xo,{},At(o));x.cancelled||(r(L.map(nr)),i({}),b.current=new Set)}catch{x.cancelled||(r([]),i({}),b.current=new Set)}})()),()=>{x.cancelled=!0}},"b"),p=[l,o],e[3]=l,e[4]=o,e[5]=g,e[6]=p):(g=e[5],p=e[6]),(0,I.useEffect)(g,p);let h;e[7]!==l||e[8]!==o?(h=a(x=>{b.current.has(x)||(b.current.add(x),ae((async()=>{try{let L=await l.query(Zo,{limit:1,offset:0,table:x},At(o));i(q=>({...q,[x]:L.columns}))}catch{b.current.delete(x)}})()))},"f"),e[7]=l,e[8]=o,e[9]=h):h=e[9];let u=h,N;e[10]!==f||e[11]!==t?(N={columns:f,tables:t},e[10]=f,e[11]=t,e[12]=N):N=e[12];let w=N,y;return e[13]!==u||e[14]!==w?(y={probe:u,schema:w},e[13]=u,e[14]=w,e[15]=y):y=e[15],y},"to"),fl=/\b(?:from|join|update|into)\s+([a-z_][\w$]*)|\b([a-z_][\w$]*)\s*\./gi,tr=a(o=>{let e=new Set;fl.lastIndex=0;let l=fl.exec(o);for(;l!==null;)e.add(l[1]??l[2]),l=fl.exec(o);return[...e]},"no");function nr(o){return o.name}a(nr,"lo");var lr="lunora-studio-sql-tabs",or="lunora-studio-sql-active-tab",hl=12,jt=a((o="",e="")=>({activeId:null,id:ul("tab"),name:e,sql:o}),"At"),rr=a(()=>dl(or,""),"so"),sr=a(o=>{let e=(0,Q.c)(16),[l,n]=$n(lr),[t,r]=rr(),[c]=(0,I.useState)(o),f,i;e[0]!==c||e[1]!==n||e[2]!==l.length?(f=a(()=>{l.length===0&&n([c])},"m"),i=[c,n,l.length],e[0]=c,e[1]=n,e[2]=l.length,e[3]=f,e[4]=i):(f=e[3],i=e[4]),(0,I.useEffect)(f,i);let d;e[5]!==c||e[6]!==l?(d=l.length===0?[c]:l,e[5]=c,e[6]=l,e[7]=d):d=e[7];let b=d,g;e[8]!==t||e[9]!==b?(g=b.some(u=>u.id===t)?t:b[0]?.id??"",e[8]=t,e[9]=b,e[10]=g):g=e[10];let p=g,h;return e[11]!==p||e[12]!==r||e[13]!==n||e[14]!==b?(h={activeId:p,setActiveId:r,setTabs:n,tabs:b},e[11]=p,e[12]=r,e[13]=n,e[14]=b,e[15]=h):h=e[15],h},"ao"),jl=a(o=>o.activeId===null&&o.sql.trim()!=="","Ll"),ar=a((o,e)=>[...o,e].slice(-hl),"io"),ir=a((o,e,l)=>{let n=o.findIndex(r=>r.id===e);if(n===-1)return{activeId:o[0]?.id??"",tabs:[...o]};let t=o.filter(r=>r.id!==e);if(t.length===0){let r=l();return{activeId:r.id,tabs:[r]}}return{activeId:t[Math.min(n,t.length-1)].id,tabs:t}},"co"),cr=a((o,e)=>{let l=o.filter(n=>n.id===e);return l.length===0?{activeId:o[0]?.id??"",tabs:[...o]}:{activeId:e,tabs:l}},"uo"),dr=a((o,e,l)=>{let n=o.findIndex(r=>r.id===e);if(n===-1)return{activeId:l,tabs:[...o]};let t=o.slice(0,n+1);return{activeId:t.some(r=>r.id===l)?l:e,tabs:t}},"mo"),ur=a(o=>{let e=o();return{activeId:e.id,tabs:[e]}},"fo"),mr=a((o,e,l)=>{if(o==="others")return e.filter(n=>n.id!==l);if(o==="right"){let n=e.findIndex(t=>t.id===l);return n===-1?[]:e.slice(n+1)}return[...e]},"ho"),fr=a((o,e)=>o.trim()===""?e:(o.split(`
5
+ `)[0]??o).slice(0,24),"po"),hr=a(o=>{o?.focus(),o?.select()},"bo"),pr=a(o=>{let e=(0,Q.c)(14),{initial:l,onCancel:n,onCommit:t,placeholder:r,testId:c}=o,f=le(),i;e[0]!==t?(i=a(u=>{t(u.currentTarget.value.trim())},"s"),e[0]=t,e[1]=i):i=e[1];let d=i,b;e[2]!==n||e[3]!==t?(b=a(u=>{u.key==="Enter"?t(u.currentTarget.value.trim()):u.key==="Escape"&&n()},"p"),e[2]=n,e[3]=t,e[4]=b):b=e[4];let g=b,p;e[5]!==f?(p=f("Tab title"),e[5]=f,e[6]=p):p=e[6];let h;return e[7]!==l||e[8]!==d||e[9]!==g||e[10]!==r||e[11]!==p||e[12]!==c?(h=(0,s.jsx)("input",{"aria-label":p,className:"w-40 rounded border border-ring bg-background px-1 py-0.5 text-xs outline-none","data-testid":c,defaultValue:l,onBlur:d,onKeyDown:g,placeholder:r,ref:hr,type:"text"}),e[7]=l,e[8]=d,e[9]=g,e[10]=r,e[11]=p,e[12]=c,e[13]=h):h=e[13],h},"go"),br=a(o=>{let e=(0,Q.c)(29),{idBase:l,onDiscard:n,onKeep:t}=o,r=le(),c=`sql-tab-close-prompt-${l}`,f;e[0]!==r?(f=r("Discard?"),e[0]=r,e[1]=f):f=e[1];let i;e[2]!==f?(i=(0,s.jsx)("span",{className:"text-[11px] text-muted-foreground",children:f}),e[2]=f,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 b=`sql-tab-close-confirm-${l}`,g;e[6]!==r?(g=r("Discard changes"),e[6]=r,e[7]=g):g=e[7];let p;e[8]===Symbol.for("react.memo_cache_sentinel")?(p=(0,s.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,s.jsx)("path",{d:"M5 13l4 4L19 7"})}),e[8]=p):p=e[8];let h;e[9]!==n||e[10]!==d||e[11]!==b||e[12]!==g?(h=(0,s.jsx)("button",{"aria-label":d,className:"flex size-5 items-center justify-center rounded text-destructive hover:bg-destructive/10","data-testid":b,onClick:n,title:g,type:"button",children:p}),e[9]=n,e[10]=d,e[11]=b,e[12]=g,e[13]=h):h=e[13];let u;e[14]!==r?(u=r("Keep editing"),e[14]=r,e[15]=u):u=e[15];let N=`sql-tab-close-cancel-${l}`,w;e[16]!==r?(w=r("Keep editing"),e[16]=r,e[17]=w):w=e[17];let y;e[18]===Symbol.for("react.memo_cache_sentinel")?(y=(0,s.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,s.jsx)("path",{d:"M6 6l12 12M18 6 6 18"})}),e[18]=y):y=e[18];let x;e[19]!==t||e[20]!==N||e[21]!==w||e[22]!==u?(x=(0,s.jsx)("button",{"aria-label":u,className:"flex size-5 items-center justify-center rounded text-muted-foreground hover:bg-accent","data-testid":N,onClick:t,title:w,type:"button",children:y}),e[19]=t,e[20]=N,e[21]=w,e[22]=u,e[23]=x):x=e[23];let L;return e[24]!==c||e[25]!==x||e[26]!==i||e[27]!==h?(L=(0,s.jsxs)("span",{className:"flex shrink-0 items-center gap-1","data-testid":c,role:"group",children:[i,h,x]}),e[24]=c,e[25]=x,e[26]=i,e[27]=h,e[28]=L):L=e[28],L},"xo"),gr=a(o=>{let e=(0,Q.c)(47),{active:l,canClose:n,onClose:t,onMenu:r,onRename:c,onSelect:f,tab:i}=o,d=le(),[b,g]=(0,I.useState)(!1),[p,h]=(0,I.useState)(!1),u;e[0]!==r||e[1]!==i.id?(u=a(G=>{r(i.id,G)},"d"),e[0]=r,e[1]=i.id,e[2]=u):u=e[2];let N=u,w;e[3]!==f||e[4]!==i.id?(w=a(()=>{f(i.id)},"y"),e[3]=f,e[4]=i.id,e[5]=w):w=e[5];let y=w,x;e[6]===Symbol.for("react.memo_cache_sentinel")?(x=a(()=>{g(!0)},"g"),e[6]=x):x=e[6];let L=x,q;e[7]!==t||e[8]!==i?(q=a(G=>{G.stopPropagation(),jl(i)?h(!0):t(i.id)},"k"),e[7]=t,e[8]=i,e[9]=q):q=e[9];let E=q,C;e[10]!==t||e[11]!==i.id?(C=a(G=>{G.stopPropagation(),h(!1),t(i.id)},"q"),e[10]=t,e[11]=i.id,e[12]=C):C=e[12];let D=C,k;e[13]===Symbol.for("react.memo_cache_sentinel")?(k=a(G=>{G.stopPropagation(),h(!1)},"N"),e[13]=k):k=e[13];let $=k,M;e[14]!==c||e[15]!==i.id?(M=a(G=>{c(i.id,G),g(!1)},"R"),e[14]=c,e[15]=i.id,e[16]=M):M=e[16];let _=M,A;e[17]===Symbol.for("react.memo_cache_sentinel")?(A=a(()=>{g(!1)},"D"),e[17]=A):A=e[17];let j=A,W;e[18]!==i.name?(W=i.name.trim(),e[18]=i.name,e[19]=W):W=e[19];let Y=W,z;e[20]!==d||e[21]!==i.sql?(z=fr(i.sql,d("Untitled")),e[20]=d,e[21]=i.sql,e[22]=z):z=e[22];let K=z,B=l?"bg-background text-foreground":"bg-muted/40 text-muted-foreground hover:text-foreground",F;e[23]!==B?(F=he("group/tab flex shrink-0 items-center gap-1 border-e border-border ps-3 pe-1.5 text-xs",B),e[23]=B,e[24]=F):F=e[24];let T=`sql-tab-${i.id}`,O;e[25]!==l||e[26]!==_||e[27]!==Y||e[28]!==K||e[29]!==b||e[30]!==y||e[31]!==d||e[32]!==i.id?(O=b?(0,s.jsx)(pr,{initial:Y,onCancel:j,onCommit:_,placeholder:K,testId:`sql-tab-rename-${i.id}`}):(0,s.jsx)("button",{"aria-pressed":l,className:"max-w-40 truncate py-1.5 outline-none","data-testid":`sql-tab-select-${i.id}`,onClick:y,onDoubleClick:L,title:d("Double-click to rename"),type:"button",children:Y===""?K:Y}),e[25]=l,e[26]=_,e[27]=Y,e[28]=K,e[29]=b,e[30]=y,e[31]=d,e[32]=i.id,e[33]=O):O=e[33];let P;e[34]!==n||e[35]!==D||e[36]!==p||e[37]!==E||e[38]!==d||e[39]!==i.id?(P=n&&(p?(0,s.jsx)(br,{idBase:i.id,onDiscard:D,onKeep:$}):(0,s.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:E,title:d("Close tab"),type:"button",children:(0,s.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,s.jsx)("path",{d:"M6 6l12 12M18 6 6 18"})})})),e[34]=n,e[35]=D,e[36]=p,e[37]=E,e[38]=d,e[39]=i.id,e[40]=P):P=e[40];let pe;return e[41]!==N||e[42]!==F||e[43]!==T||e[44]!==O||e[45]!==P?(pe=(0,s.jsxs)("div",{className:F,"data-testid":T,onContextMenu:N,children:[O,P]}),e[41]=N,e[42]=F,e[43]=T,e[44]=O,e[45]=P,e[46]=pe):pe=e[46],pe},"vo"),xr=$t(zt.runSql),vr="lunora-studio-sql-queries",yr="lunora-studio-sql-history",wr="lunora-studio-sql-split-view",Nr=25,kr={minWidth:"2.75rem",paddingInline:"0.5rem"},Rl={error:null,pane:"results",result:null},qr=a(o=>{let e=(0,Q.c)(16),{result:l}=o;if(l.columns.length===0){let i=l.rowCount===0?"0 rows":"",d;return e[0]!==i?(d=(0,s.jsx)("p",{className:"p-4 text-sm text-muted-foreground",children:i}),e[0]=i,e[1]=d):d=e[1],d}let n;e[2]!==l.columns?(n=l.columns.map(Cr),e[2]=l.columns,e[3]=n):n=e[3];let t;e[4]!==n?(t=(0,s.jsx)(Nl,{className:"sticky top-0 z-10 bg-muted",children:(0,s.jsx)(ml,{children:n})}),e[4]=n,e[5]=t):t=e[5];let r;if(e[6]!==l.columns||e[7]!==l.rows){let i;e[9]!==l.columns?(i=a((d,b)=>(0,s.jsx)(ml,{"data-testid":"sql-row",children:l.columns.map(g=>(0,s.jsx)(Sl,{className:"max-w-md truncate font-mono text-xs",children:(0,s.jsx)(El,{value:d[g]})},g))},b),"s"),e[9]=l.columns,e[10]=i):i=e[10],r=l.rows.map(i),e[6]=l.columns,e[7]=l.rows,e[8]=r}else r=e[8];let c;e[11]!==r?(c=(0,s.jsx)(kl,{children:r}),e[11]=r,e[12]=c):c=e[12];let f;return e[13]!==t||e[14]!==c?(f=(0,s.jsxs)(wl,{"data-testid":"sql-rows",children:[t,c]}),e[13]=t,e[14]=c,e[15]=f):f=e[15],f},"$o"),zn=a(o=>`border-b-2 px-3 py-2 text-sm outline-none transition-colors ${o?"border-foreground font-medium text-foreground":"border-transparent text-muted-foreground hover:text-foreground"}`,"On"),Sr=a(()=>jt(zl[0]?.sql??""),"Co"),Yr=a(o=>{let e=(0,Q.c)(368),{initialShardKey:l}=o,n=Dn(),t=le(),[r,c]=$n(vr),[f,i]=$n(yr),[d,b]=(0,I.useState)(""),{activeId:g,setActiveId:p,setTabs:h,tabs:u}=sr(Sr),N;e[0]===Symbol.for("react.memo_cache_sentinel")?(N={},e[0]=N):N=e[0];let[w,y]=(0,I.useState)(N),[x,L]=(0,I.useState)(l??""),[q,E]=(0,I.useState)(!1),[C,D]=dl(wr,!1),[k,$]=(0,I.useState)(null),[M,_]=(0,I.useState)(null),A=(0,I.useRef)(null),j=(0,I.useRef)(null),W=(0,I.useRef)(null),Y=(0,I.useRef)(null),z=(0,I.useId)(),{probe:K,schema:B}=er(x),F;e[1]!==g||e[2]!==u?(F=u.find(m=>m.id===g)??u[0]??jt(),e[1]=g,e[2]=u,e[3]=F):F=e[3];let T=F,O=T.sql,{activeId:P}=T,pe=w[T.id]??Rl,{chart:G,error:ne,failed:kt,result:R}=pe,X=pe.pane,Wt;e[4]!==T.id||e[5]!==h?(Wt=a(m=>{h(v=>v.map(S=>S.id===T.id?{...S,...m}:S))},"zt"),e[4]=T.id,e[5]=h,e[6]=Wt):Wt=e[6];let Wn=Wt,Bt;e[7]!==T.id?(Bt=a(m=>{y(v=>{let S=v[T.id]??Rl;return{...v,[T.id]:{...S,...m}}})},"jt"),e[7]=T.id,e[8]=Bt):Bt=e[8];let U=Bt,Ft;e[9]!==P||e[10]!==Wn||e[11]!==c?(Ft=a(m=>{Wn({sql:m}),P!==null&&c(v=>v.map(S=>S.id===P?{...S,sql:m}:S))},"Bt"),e[9]=P,e[10]=Wn,e[11]=c,e[12]=Ft):Ft=e[12];let Z=Ft,ye=Lo(O,B,x),V=Cl(x),Pt;e[13]!==V||e[14]!==U||e[15]!==R?(Pt=a(()=>{R!==null&&ae((async()=>{let m=await V.inferChart({columns:R.columns,rowCount:R.rowCount,types:Object.fromEntries(R.columns.map(v=>[v,typeof(R.rows[0]?.[v]??"")]))});U({chart:m})})())},"Wt"),e[13]=V,e[14]=U,e[15]=R,e[16]=Pt):Pt=e[16];let Bn=Pt,Wl=Fo(B,W,Z),{close:oe,commit:we,move:be,refresh:ee,state:J}=Wl,Ut;e[17]!==J?.active||e[18]!==we||e[19]!==be?(Ut=a(m=>{be(m-(J?.active??0)),we()},"Ft"),e[17]=J?.active,e[18]=we,e[19]=be,e[20]=Ut):Ut=e[20];let Fn=Ut,Ht;e[21]!==ee?(Ht=a(()=>{let m=W.current;m!==null&&m===document.activeElement&&ee(m.value,m.selectionStart)},"Pt"),e[21]=ee,e[22]=Ht):Ht=e[22];let Yt;e[23]!==ee||e[24]!==B?(Yt=[ee,B],e[23]=ee,e[24]=B,e[25]=Yt):Yt=e[25],(0,I.useEffect)(Ht,Yt);let Kt;e[26]!==i?(Kt=a(m=>{i(v=>v[0]?.sql===m?v:[{at:Date.now(),sql:m},...v.filter(S=>S.sql!==m)].slice(0,Nr))},"Ut"),e[26]=i,e[27]=Kt):Kt=e[27];let Pn=Kt,Jt;e[28]!==n||e[29]!==O||e[30]!==U||e[31]!==Pn||e[32]!==x?(Jt=a(async m=>{if(O.trim()==="")return;E(!0);let v=m==="explain"?`EXPLAIN QUERY PLAN ${O}`:O;try{let S=await n.query(xr,{sql:v},At(x));U({chart:void 0,error:null,failed:void 0,pane:m,result:S}),gl(x),Pn(v)}catch(S){let H=S;U({chart:void 0,error:cl(H),failed:{error:cl(H),sql:v},pane:m,result:null})}E(!1)},"Yt"),e[28]=n,e[29]=O,e[30]=U,e[31]=Pn,e[32]=x,e[33]=Jt):Jt=e[33];let re=Jt,Qt;e[34]!==re?(Qt=a(()=>{ae(re("results"))},"Kt"),e[34]=re,e[35]=Qt):Qt=e[35];let Un=Qt,Gt;e[36]!==K||e[37]!==ee||e[38]!==Z?(Gt=a(m=>{let{selectionStart:v,value:S}=m.target;Z(S);for(let H of tr(S))K(H);ee(S,v)},"Qt"),e[36]=K,e[37]=ee,e[38]=Z,e[39]=Gt):Gt=e[39];let Hn=Gt,Vt;e[40]!==ee?(Vt=a(m=>{let v=m.currentTarget;ee(v.value,v.selectionStart)},"Jt"),e[40]=ee,e[41]=Vt):Vt=e[41];let Yn=Vt,Xt;e[42]!==J||e[43]!==oe||e[44]!==we||e[45]!==be||e[46]!==re||e[47]!==X?(Xt=a(m=>{if(J!==null){if(m.key==="ArrowDown"){m.preventDefault(),be(1);return}if(m.key==="ArrowUp"){m.preventDefault(),be(-1);return}if(m.key==="Escape"){m.preventDefault(),oe();return}if((m.key==="Enter"||m.key==="Tab")&&!m.metaKey&&!m.ctrlKey&&we()){m.preventDefault();return}}(m.metaKey||m.ctrlKey)&&m.key==="Enter"&&(m.preventDefault(),ae(re(X)))},"Gt"),e[42]=J,e[43]=oe,e[44]=we,e[45]=be,e[46]=re,e[47]=X,e[48]=Xt):Xt=e[48];let Kn=Xt,Zt;e[49]!==oe?(Zt=a(()=>{requestAnimationFrame(()=>{oe()})},"Vt"),e[49]=oe,e[50]=Zt):Zt=e[50];let Jn=Zt,en;e[51]===Symbol.for("react.memo_cache_sentinel")?(en=a(m=>{let{scrollLeft:v,scrollTop:S}=m.currentTarget;A.current!==null&&(A.current.scrollTop=S),j.current!==null&&(j.current.scrollTop=S,j.current.scrollLeft=v)},"Xt"),e[51]=en):en=e[51];let Bl=en,tn;e[52]===Symbol.for("react.memo_cache_sentinel")?(tn=a(m=>{let v=W.current;v===null||m.offset===void 0||(v.focus(),v.setSelectionRange(m.offset,m.offset+(m.length??0)))},"Zt"),e[52]=tn):tn=e[52];let Fl=tn,nn;e[53]!==T.id||e[54]!==U||e[55]!==h?(nn=a((m,v)=>{h(S=>S.map(H=>H.id===T.id?{...H,activeId:v,sql:m}:H)),U({chart:void 0,error:null,failed:void 0,result:null})},"en"),e[53]=T.id,e[54]=U,e[55]=h,e[56]=nn):nn=e[56];let te=nn,ln;e[57]!==te||e[58]!==c||e[59]!==t?(ln=a(()=>{let m={id:ul("q"),name:t("Untitled query"),sql:""};c(v=>[m,...v]),te("",m.id)},"tn"),e[57]=te,e[58]=c,e[59]=t,e[60]=ln):ln=e[60];let qt=ln,on;e[61]!==te||e[62]!==r?(on=a(m=>{let v=r.find(S=>S.id===m);v!==void 0&&(te(v.sql,m),Y.current?.querySelector(`[data-testid="sql-query-${m}"]`)?.scrollIntoView({block:"nearest"}))},"nn"),e[61]=te,e[62]=r,e[63]=on):on=e[63];let St=on,rn;e[64]!==c||e[65]!==h?(rn=a(m=>{c(v=>v.filter(S=>S.id!==m)),h(v=>v.map(S=>S.activeId===m?{...S,activeId:null}:S))},"ln"),e[64]=c,e[65]=h,e[66]=rn):rn=e[66];let Ct=rn,sn;e[67]!==te?(sn=a(m=>{te(m.currentTarget.dataset.sql??"",null)},"rn"),e[67]=te,e[68]=sn):sn=e[68];let Et=sn,an;e[69]!==te?(an=a(m=>{te(m.currentTarget.dataset.sql??"",null)},"on"),e[69]=te,e[70]=an):an=e[70];let It=an,cn;e[71]!==i?(cn=a(()=>{i([])},"sn"),e[71]=i,e[72]=cn):cn=e[72];let _t=cn,dn;e[73]!==O||e[74]!==Z?(dn=a(()=>{Z(no(O))},"an"),e[73]=O,e[74]=Z,e[75]=dn):dn=e[75];let Qn=dn,un;e[76]!==p||e[77]!==h||e[78]!==u.length?(un=a(()=>{if(u.length>=hl)return;let m=jt();h(v=>ar(v,m)),p(m.id)},"cn"),e[76]=p,e[77]=h,e[78]=u.length,e[79]=un):un=e[79];let Lt=un,mn;e[80]!==p||e[81]!==h?(mn=a(m=>{$(null),_(null),h(m.tabs),p(m.activeId);let v=new Set(m.tabs.map(Er));y(S=>Object.fromEntries(Object.entries(S).filter(H=>{let[me]=H;return v.has(me)})))},"dn"),e[80]=p,e[81]=h,e[82]=mn):mn=e[82];let Ne=mn,fn;e[83]!==Ne||e[84]!==u?(fn=a(m=>{Ne(ir(u,m,jt))},"un"),e[83]=Ne,e[84]=u,e[85]=fn):fn=e[85];let ge=fn,hn;e[86]!==g||e[87]!==Ne||e[88]!==u?(hn=a((m,v)=>{Ne(m==="others"?cr(u,v):m==="right"?dr(u,v,g):ur(jt))},"mn"),e[86]=g,e[87]=Ne,e[88]=u,e[89]=hn):hn=e[89];let ke=hn,pn;e[90]!==ke||e[91]!==k||e[92]!==u?(pn=a(m=>{k!==null&&(mr(m,u,k.id).some(Ir)?_(m):ke(m,k.id))},"fn"),e[90]=ke,e[91]=k,e[92]=u,e[93]=pn):pn=e[93];let se=pn,bn;e[94]===Symbol.for("react.memo_cache_sentinel")?(bn=a((m,v)=>{v.preventDefault(),_(null),$({id:m,x:v.clientX,y:v.clientY})},"hn"),e[94]=bn):bn=e[94];let Pl=bn,gn;e[95]===Symbol.for("react.memo_cache_sentinel")?(gn=a(()=>{$(null),_(null)},"pn"),e[95]=gn):gn=e[95];let Ul=gn,xn;e[96]===Symbol.for("react.memo_cache_sentinel")?(xn=a(m=>{m.preventDefault(),$(null),_(null)},"bn"),e[96]=xn):xn=e[96];let Hl=xn,vn;e[97]!==se?(vn=a(()=>{se("others")},"gn"),e[97]=se,e[98]=vn):vn=e[98];let Tt=vn,yn;e[99]!==se?(yn=a(()=>{se("right")},"xn"),e[99]=se,e[100]=yn):yn=e[100];let Rt=yn,wn;e[101]!==se?(wn=a(()=>{se("all")},"vn"),e[101]=se,e[102]=wn):wn=e[102];let Ot=wn,Nn;e[103]!==ke||e[104]!==M||e[105]!==k?(Nn=a(()=>{k!==null&&M!==null&&ke(M,k.id),_(null)},"yn"),e[103]=ke,e[104]=M,e[105]=k,e[106]=Nn):Nn=e[106];let Mt=Nn,kn;e[107]===Symbol.for("react.memo_cache_sentinel")?(kn=a(()=>{_(null)},"wn"),e[107]=kn):kn=e[107];let Yl=kn,qn;e[108]!==k?(qn=k===null?void 0:{left:k.x,top:k.y},e[108]=k,e[109]=qn):qn=e[109];let Dt=qn,Sn;e[110]!==oe||e[111]!==p?(Sn=a(m=>{oe(),p(m)},"kn"),e[110]=oe,e[111]=p,e[112]=Sn):Sn=e[112];let xe=Sn,Cn;e[113]!==h?(Cn=a((m,v)=>{h(S=>S.map(H=>H.id===m?{...H,name:v}:H))},"Sn"),e[113]=h,e[114]=Cn):Cn=e[114];let ve=Cn,En;e[115]!==U?(En=a(()=>{U({pane:"results"})},"qn"),e[115]=U,e[116]=En):En=e[116];let Gn=En,In;e[117]!==re?(In=a(()=>{ae(re("explain"))},"$n"),e[117]=re,e[118]=In):In=e[118];let Vn=In,_n;e[119]!==U?(_n=a(()=>{U({pane:"chart"})},"Cn"),e[119]=U,e[120]=_n):_n=e[120];let Xn=_n,Ln;e[121]!==D||e[122]!==C?(Ln=a(()=>{D(!C)},"Ln"),e[121]=D,e[122]=C,e[123]=Ln):Ln=e[123];let Zn=Ln,qe,Se,Ce,Ee,Ie,_e,Le,Te,ie,Re,Oe,ce,de,Me,De,ue;if(e[124]!==P||e[125]!==T.id||e[126]!==Lt||e[127]!==V||e[128]!==_t||e[129]!==ge||e[130]!==Mt||e[131]!==Ct||e[132]!==O||e[133]!==kt||e[134]!==f||e[135]!==It||e[136]!==Et||e[137]!==qt||e[138]!==Ot||e[139]!==Tt||e[140]!==Rt||e[141]!==M||e[142]!==r||e[143]!==ve||e[144]!==d||e[145]!==St||e[146]!==xe||e[147]!==Z||e[148]!==C||e[149]!==t||e[150]!==k||e[151]!==Dt||e[152]!==u){let m=O.split(`
6
+ `).length,v;e[169]===Symbol.for("react.memo_cache_sentinel")?(v=a(fe=>{b(fe.target.value)},"x"),e[169]=v):v=e[169];let S=v,H=C?"flex min-h-0 flex-1 flex-row":"flex min-h-0 flex-1 flex-col";qe=C?"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",Me="flex h-full min-w-0",De="lunora-sql-editor",e[170]!==P||e[171]!==_t||e[172]!==Ct||e[173]!==f||e[174]!==It||e[175]!==Et||e[176]!==qt||e[177]!==r||e[178]!==d||e[179]!==St?(ue=(0,s.jsx)(Vo,{activeId:P,history:f,listRef:Y,onClearHistory:_t,onDelete:Ct,onLoadHistory:It,onLoadTemplate:Et,onNew:qt,onSearchChange:S,onSelect:St,queries:r,search:d}),e[170]=P,e[171]=_t,e[172]=Ct,e[173]=f,e[174]=It,e[175]=Et,e[176]=qt,e[177]=r,e[178]=d,e[179]=St,e[180]=ue):ue=e[180],Oe="flex min-w-0 flex-1 flex-col";let me;if(e[181]!==T.id||e[182]!==ge||e[183]!==ve||e[184]!==xe||e[185]!==u){let fe;e[187]!==T.id||e[188]!==ge||e[189]!==ve||e[190]!==xe||e[191]!==u.length?(fe=a(al=>(0,s.jsx)(gr,{active:al.id===T.id,canClose:u.length>1,onClose:ge,onMenu:Pl,onRename:ve,onSelect:xe,tab:al},al.id),"me"),e[187]=T.id,e[188]=ge,e[189]=ve,e[190]=xe,e[191]=u.length,e[192]=fe):fe=e[192],me=u.map(fe),e[181]=T.id,e[182]=ge,e[183]=ve,e[184]=xe,e[185]=u,e[186]=me}else me=e[186];let yt;e[193]!==t?(yt=t("New tab"),e[193]=t,e[194]=yt):yt=e[194];let sl=u.length>=hl,wt;e[195]!==t?(wt=t("New tab"),e[195]=t,e[196]=wt):wt=e[196];let Mn;e[197]===Symbol.for("react.memo_cache_sentinel")?(Mn=(0,s.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,s.jsx)("path",{d:"M12 5v14M5 12h14"})}),e[197]=Mn):Mn=e[197];let Nt;e[198]!==Lt||e[199]!==yt||e[200]!==sl||e[201]!==wt?(Nt=(0,s.jsx)("button",{"aria-label":yt,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:sl,onClick:Lt,title:wt,type:"button",children:Mn}),e[198]=Lt,e[199]=yt,e[200]=sl,e[201]=wt,e[202]=Nt):Nt=e[202],e[203]!==me||e[204]!==Nt?(ce=(0,s.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:[me,Nt]}),e[203]=me,e[204]=Nt,e[205]=ce):ce=e[205],e[206]!==Mt||e[207]!==Ot||e[208]!==Tt||e[209]!==Rt||e[210]!==M||e[211]!==t||e[212]!==k||e[213]!==Dt||e[214]!==u?(de=k!==null&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("div",{className:"fixed inset-0 z-40","data-testid":"sql-tab-menu-backdrop",onClick:Ul,onContextMenu:Hl,role:"presentation"}),(0,s.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:Dt,children:M===null?(0,s.jsxs)(s.Fragment,{children:[(0,s.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:u.length<=1,onClick:Tt,role:"menuitem",type:"button",children:t("Close other tabs")}),(0,s.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:u.findIndex(fe=>fe.id===k.id)>=u.length-1,onClick:Rt,role:"menuitem",type:"button",children:t("Close tabs to the right")}),(0,s.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:Ot,role:"menuitem",type:"button",children:t("Close all tabs")})]}):(0,s.jsxs)("div",{className:"px-3 py-1.5","data-testid":"sql-tab-menu-confirm",children:[(0,s.jsx)("p",{className:"pb-1.5 text-xs text-muted-foreground",children:t("Discard unsaved tabs?")}),(0,s.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,s.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:Mt,type:"button",children:t("Discard")}),(0,s.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:Yl,type:"button",children:t("Cancel")})]})]})})]}),e[206]=Mt,e[207]=Ot,e[208]=Tt,e[209]=Rt,e[210]=M,e[211]=t,e[212]=k,e[213]=Dt,e[214]=u,e[215]=de):de=e[215],Re=H,Te="flex min-h-0 min-w-0 flex-1 flex-col",e[216]!==V||e[217]!==kt||e[218]!==Z?(ie=(0,s.jsx)(Ro,{assistant:V,failed:kt,onGenerated:Z}),e[216]=V,e[217]=kt,e[218]=Z,e[219]=ie):ie=e[219],Le="flex min-h-0 min-w-0 flex-1",Se="true",Ce="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",Ee=A,Ie=kr,_e=Array.from({length:m},_r),e[124]=P,e[125]=T.id,e[126]=Lt,e[127]=V,e[128]=_t,e[129]=ge,e[130]=Mt,e[131]=Ct,e[132]=O,e[133]=kt,e[134]=f,e[135]=It,e[136]=Et,e[137]=qt,e[138]=Ot,e[139]=Tt,e[140]=Rt,e[141]=M,e[142]=r,e[143]=ve,e[144]=d,e[145]=St,e[146]=xe,e[147]=Z,e[148]=C,e[149]=t,e[150]=k,e[151]=Dt,e[152]=u,e[153]=qe,e[154]=Se,e[155]=Ce,e[156]=Ee,e[157]=Ie,e[158]=_e,e[159]=Le,e[160]=Te,e[161]=ie,e[162]=Re,e[163]=Oe,e[164]=ce,e[165]=de,e[166]=Me,e[167]=De,e[168]=ue}else qe=e[153],Se=e[154],Ce=e[155],Ee=e[156],Ie=e[157],_e=e[158],Le=e[159],Te=e[160],ie=e[161],Re=e[162],Oe=e[163],ce=e[164],de=e[165],Me=e[166],De=e[167],ue=e[168];let $e;e[220]!==Se||e[221]!==Ce||e[222]!==Ee||e[223]!==Ie||e[224]!==_e?($e=(0,s.jsx)("div",{"aria-hidden":Se,className:Ce,ref:Ee,style:Ie,children:_e}),e[220]=Se,e[221]=Ce,e[222]=Ee,e[223]=Ie,e[224]=_e,e[225]=$e):$e=e[225];let Ae;e[226]!==ye||e[227]!==O?(Ae=(0,s.jsx)(Yo,{diagnostics:ye,draft:O,scrollRef:j}),e[226]=ye,e[227]=O,e[228]=Ae):Ae=e[228];let ze;e[229]!==J||e[230]!==z?(ze=J===null?void 0:`${z}-opt-${J.active.toString()}`,e[229]=J,e[230]=z,e[231]=ze):ze=e[231];let el=J===null?void 0:z,tl=J!==null,je;e[232]!==t?(je=t("SQL query"),e[232]=t,e[233]=je):je=e[233];let We;e[234]!==O||e[235]!==Hn||e[236]!==Jn||e[237]!==Kn||e[238]!==Yn||e[239]!==ze||e[240]!==el||e[241]!==tl||e[242]!==je?(We=(0,s.jsx)("textarea",{"aria-activedescendant":ze,"aria-autocomplete":"list","aria-controls":el,"aria-expanded":tl,"aria-label":je,className:`relative size-full resize-none bg-transparent outline-none ${Ol}`,"data-testid":"sql-input",onBlur:Jn,onChange:Hn,onKeyDown:Kn,onScroll:Bl,onSelect:Yn,placeholder:"SELECT * FROM \u2026",ref:W,role:"combobox",spellCheck:!1,value:O}),e[234]=O,e[235]=Hn,e[236]=Jn,e[237]=Kn,e[238]=Yn,e[239]=ze,e[240]=el,e[241]=tl,e[242]=je,e[243]=We):We=e[243];let Be;e[244]!==J||e[245]!==z||e[246]!==Fn?(Be=(0,s.jsx)(Ho,{listboxId:z,onPick:Fn,state:J}),e[244]=J,e[245]=z,e[246]=Fn,e[247]=Be):Be=e[247];let Fe;e[248]!==Ae||e[249]!==We||e[250]!==Be?(Fe=(0,s.jsxs)("div",{className:"relative min-w-0 flex-1 bg-background",children:[Ae,We,Be]}),e[248]=Ae,e[249]=We,e[250]=Be,e[251]=Fe):Fe=e[251];let Pe;e[252]!==Le||e[253]!==$e||e[254]!==Fe?(Pe=(0,s.jsxs)("div",{className:Le,children:[$e,Fe]}),e[252]=Le,e[253]=$e,e[254]=Fe,e[255]=Pe):Pe=e[255];let Ue;e[256]!==ye?(Ue=(0,s.jsx)(Jo,{diagnostics:ye,onSelect:Fl}),e[256]=ye,e[257]=Ue):Ue=e[257];let He;e[258]!==Te||e[259]!==ie||e[260]!==Pe||e[261]!==Ue?(He=(0,s.jsxs)("div",{className:Te,children:[ie,Pe,Ue]}),e[258]=Te,e[259]=ie,e[260]=Pe,e[261]=Ue,e[262]=He):He=e[262];let nl=X==="results",Ye;e[263]!==nl?(Ye=zn(nl),e[263]=nl,e[264]=Ye):Ye=e[264];let Ke;e[265]!==t?(Ke=t("Results"),e[265]=t,e[266]=Ke):Ke=e[266];let Je;e[267]!==Gn||e[268]!==Ye||e[269]!==Ke?(Je=(0,s.jsx)("button",{className:Ye,"data-testid":"sql-tab-results",onClick:Gn,type:"button",children:Ke}),e[267]=Gn,e[268]=Ye,e[269]=Ke,e[270]=Je):Je=e[270];let ll=X==="chart",Qe;e[271]!==ll?(Qe=zn(ll),e[271]=ll,e[272]=Qe):Qe=e[272];let Ge;e[273]!==t?(Ge=t("Chart"),e[273]=t,e[274]=Ge):Ge=e[274];let Ve;e[275]!==Xn||e[276]!==Qe||e[277]!==Ge?(Ve=(0,s.jsx)("button",{className:Qe,"data-testid":"sql-tab-chart",onClick:Xn,type:"button",children:Ge}),e[275]=Xn,e[276]=Qe,e[277]=Ge,e[278]=Ve):Ve=e[278];let Xe;e[279]!==V||e[280]!==Bn||e[281]!==R||e[282]!==t||e[283]!==X?(Xe=!V.unavailable&&X==="chart"&&R!==null&&(0,s.jsx)("button",{className:zn(!1),"data-testid":"sql-infer-chart",disabled:V.pending("chart"),onClick:Bn,type:"button",children:V.pending("chart")?t("Thinking\u2026"):t("Suggest chart")}),e[279]=V,e[280]=Bn,e[281]=R,e[282]=t,e[283]=X,e[284]=Xe):Xe=e[284];let ol=X==="explain",Ze;e[285]!==ol?(Ze=zn(ol),e[285]=ol,e[286]=Ze):Ze=e[286];let et;e[287]!==t?(et=t("Explain"),e[287]=t,e[288]=et):et=e[288];let tt;e[289]!==Vn||e[290]!==Ze||e[291]!==et?(tt=(0,s.jsx)("button",{className:Ze,"data-testid":"sql-tab-explain",onClick:Vn,type:"button",children:et}),e[289]=Vn,e[290]=Ze,e[291]=et,e[292]=tt):tt=e[292];let nt;e[293]!==t?(nt=t("Split editor and results"),e[293]=t,e[294]=nt):nt=e[294];let rl=`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 ${C?"bg-accent text-foreground":"text-muted-foreground"}`,lt;e[295]!==t?(lt=t("Split editor and results"),e[295]=t,e[296]=lt):lt=e[296];let Tn;e[297]===Symbol.for("react.memo_cache_sentinel")?(Tn=(0,s.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,s.jsx)("rect",{height:"16",rx:"2",width:"18",x:"3",y:"4"}),(0,s.jsx)("path",{d:"M12 4v16"})]}),e[297]=Tn):Tn=e[297];let ot;e[298]!==C||e[299]!==nt||e[300]!==rl||e[301]!==lt||e[302]!==Zn?(ot=(0,s.jsx)("button",{"aria-label":nt,"aria-pressed":C,className:rl,"data-testid":"sql-split-toggle",onClick:Zn,title:lt,type:"button",children:Tn}),e[298]=C,e[299]=nt,e[300]=rl,e[301]=lt,e[302]=Zn,e[303]=ot):ot=e[303];let rt;e[304]!==R?(rt=R!==null&&R.columns.length>0&&(0,s.jsx)(Il,{columns:R.columns,name:"query-result",rows:R.rows}),e[304]=R,e[305]=rt):rt=e[305];let st;e[306]!==t?(st=t("Format"),e[306]=t,e[307]=st):st=e[307];let at;e[308]!==Qn||e[309]!==q||e[310]!==st?(at=(0,s.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:q,onClick:Qn,type:"button",children:st}),e[308]=Qn,e[309]=q,e[310]=st,e[311]=at):at=e[311];let it;e[312]!==x?(it=(0,s.jsx)(xl,{onChange:L,testId:"sql-shard-input",value:x}),e[312]=x,e[313]=it):it=e[313];let ct;e[314]!==q||e[315]!==t?(ct=t(q?"Running\u2026":"Run"),e[314]=q,e[315]=t,e[316]=ct):ct=e[316];let Rn;e[317]===Symbol.for("react.memo_cache_sentinel")?(Rn=(0,s.jsx)("kbd",{className:"rounded border border-primary-foreground/30 px-1 font-sans text-[10px]",children:"\u2318\u21B5"}),e[317]=Rn):Rn=e[317];let dt;e[318]!==Un||e[319]!==q||e[320]!==ct?(dt=(0,s.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:q,onClick:Un,type:"button",children:[ct,Rn]}),e[318]=Un,e[319]=q,e[320]=ct,e[321]=dt):dt=e[321];let ut;e[322]!==ot||e[323]!==rt||e[324]!==at||e[325]!==it||e[326]!==dt?(ut=(0,s.jsxs)("div",{className:"ms-auto flex items-center gap-2",children:[ot,rt,at,it,dt]}),e[322]=ot,e[323]=rt,e[324]=at,e[325]=it,e[326]=dt,e[327]=ut):ut=e[327];let mt;e[328]!==Je||e[329]!==Ve||e[330]!==Xe||e[331]!==tt||e[332]!==ut?(mt=(0,s.jsxs)("div",{className:"flex shrink-0 items-center gap-2 border-b border-border pe-2",children:[Je,Ve,Xe,tt,ut]}),e[328]=Je,e[329]=Ve,e[330]=Xe,e[331]=tt,e[332]=ut,e[333]=mt):mt=e[333];let ft;e[334]!==ne?(ft=ne!==null&&(0,s.jsx)(yl,{className:"m-3 font-mono text-xs",testId:"sql-error",variant:"destructive",children:ne}),e[334]=ne,e[335]=ft):ft=e[335];let ht;e[336]!==ne||e[337]!==R||e[338]!==t?(ht=ne===null&&R===null&&(0,s.jsx)("p",{className:"p-4 text-sm text-muted-foreground","data-testid":"sql-empty",children:t("Click Run to execute your query.")}),e[336]=ne,e[337]=R,e[338]=t,e[339]=ht):ht=e[339];let pt;e[340]!==ne||e[341]!==G||e[342]!==R||e[343]!==t||e[344]!==X?(pt=ne===null&&R!==null&&(0,s.jsxs)("div",{"data-testid":"sql-result",children:[X==="chart"?(0,s.jsx)(_l,{axes:G,result:R}):(0,s.jsx)(qr,{result:R}),(0,s.jsx)("p",{className:"border-t border-border px-3 py-1.5 text-xs text-muted-foreground","data-testid":"sql-count",children:R.truncated?t("Showing the first {max} of {count} rows.",{count:R.rowCount,max:R.rows.length}):t("{count} rows",{count:R.rowCount})})]}),e[340]=ne,e[341]=G,e[342]=R,e[343]=t,e[344]=X,e[345]=pt):pt=e[345];let bt;e[346]!==ft||e[347]!==ht||e[348]!==pt?(bt=(0,s.jsxs)("div",{className:"min-h-0 flex-1 overflow-auto",children:[ft,ht,pt]}),e[346]=ft,e[347]=ht,e[348]=pt,e[349]=bt):bt=e[349];let gt;e[350]!==qe||e[351]!==mt||e[352]!==bt?(gt=(0,s.jsxs)("div",{className:qe,children:[mt,bt]}),e[350]=qe,e[351]=mt,e[352]=bt,e[353]=gt):gt=e[353];let xt;e[354]!==gt||e[355]!==Re||e[356]!==He?(xt=(0,s.jsxs)("div",{className:Re,children:[He,gt]}),e[354]=gt,e[355]=Re,e[356]=He,e[357]=xt):xt=e[357];let vt;e[358]!==xt||e[359]!==Oe||e[360]!==ce||e[361]!==de?(vt=(0,s.jsxs)("div",{className:Oe,children:[ce,de,xt]}),e[358]=xt,e[359]=Oe,e[360]=ce,e[361]=de,e[362]=vt):vt=e[362];let On;return e[363]!==vt||e[364]!==Me||e[365]!==De||e[366]!==ue?(On=(0,s.jsxs)("div",{className:Me,"data-testid":De,children:[ue,vt]}),e[363]=vt,e[364]=Me,e[365]=De,e[366]=ue,e[367]=On):On=e[367],On},"Vo");function Cr(o){return(0,s.jsx)(ql,{children:o},o)}a(Cr,"Lo");function Er(o){return o.id}a(Er,"Eo");function Ir(o){return jl(o)}a(Ir,"_o");function _r(o,e){return(0,s.jsx)("div",{children:e+1},e)}a(_r,"Io");export{Yr as SqlEditorPanel};
@@ -0,0 +1 @@
1
+ import{a as d,e as n,g as c,h as p}from"./chunk-3XIESWL4.js";var b=n(c(),1),s=n(p(),1);var y={alignItems:"center",border:"1px solid",borderRadius:4,display:"inline-flex",fontFamily:"var(--font-mono, ui-monospace, monospace)",fontSize:11,fontWeight:400,gap:6,letterSpacing:"0.06em",lineHeight:1.4,padding:"1px 8px",textTransform:"uppercase"},g={borderRadius:"50%",display:"inline-block",height:7,width:7},h=d((r,e,t,a)=>({badgeStyle:{...y,borderColor:r,color:r},color:r,dotStyle:{...g,backgroundColor:r},hint:a,label:e,title:t}),"i"),S={global:h("var(--royal-amethyst)","Global \xB7 D1","Global table \u2014 a single D1 table shared across all shards","Declared .global() and stored once in Cloudflare D1, shared across every shard and tenant. Auth tables (user, session, \u2026) live here too."),shard:h("var(--sky-sapphire)","Shard-local","Shard-local table \u2014 per-shard SQLite inside a Durable Object","Stored per shard key in a Durable Object's SQLite (.shardBy(...)). You are viewing one shard at a time \u2014 change the shard key to inspect another.")},m=d(r=>{let e=(0,b.c)(9),{tier:t}=r,a=S[t],i=`storage-tier-${t}`,l;e[0]!==a.dotStyle?(l=(0,s.jsx)("span",{"aria-hidden":"true",style:a.dotStyle}),e[0]=a.dotStyle,e[1]=l):l=e[1];let o;return e[2]!==a.badgeStyle||e[3]!==a.label||e[4]!==a.title||e[5]!==i||e[6]!==l||e[7]!==t?(o=(0,s.jsxs)("span",{"data-testid":i,"data-tier":t,style:a.badgeStyle,title:a.title,children:[l,a.label]}),e[2]=a.badgeStyle,e[3]=a.label,e[4]=a.title,e[5]=i,e[6]=l,e[7]=t,e[8]=o):o=e[8],o},"S");export{S as a,m as b};
@@ -0,0 +1 @@
1
+ import{b as o,c as i}from"./chunk-7T7UOTYK.js";import{a as t}from"./chunk-3XIESWL4.js";var a="lunora-studio-recent-shards",l=10,n=t(()=>o(a,"session").filter(s=>typeof s=="string"),"t"),u=t(s=>{let r=s.trim();if(r==="")return n();let e=[r,...n().filter(c=>c!==r)].slice(0,l);return i(a,e,"session"),e},"d");export{n as a,u as b};
@@ -0,0 +1,13 @@
1
+ import{a as Pe}from"./chunk-V53KNYRN.js";import{a as he}from"./chunk-5Y3QLNWX.js";import{a as Q}from"./chunk-HPFLBYRI.js";import{d as Ne,f as ke,g as we,k as oe}from"./chunk-QBWRC5YX.js";import{a as Oe}from"./chunk-X665E2HU.js";import"./chunk-GRL5MG3Z.js";import"./chunk-7T7UOTYK.js";import{R as ye}from"./chunk-CFPZYHPY.js";import"./chunk-7QIFDWQV.js";import{c as U}from"./chunk-FXCBF4XT.js";import"./chunk-2OUPA2WJ.js";import{b as ve}from"./chunk-THIXMMZD.js";import"./chunk-6ST5ECQA.js";import{a as Ie}from"./chunk-2WOIRKEI.js";import{f as H}from"./chunk-EN2QAEO4.js";import"./chunk-XBDKZZ67.js";import{a as B}from"./chunk-XQCVZAGU.js";import{d as E,e as Se,f as se,g as ie,h as le,m as $e,o as ae}from"./chunk-OG4N2XHD.js";import{c as be}from"./chunk-AADILRJW.js";import{a as u,e as K,f as ue,g as te,h as re,j as fe}from"./chunk-3XIESWL4.js";var Fe=K(te(),1),ge=K(ue(),1);var Z=K(te(),1);var X=K(ue(),1);var T=K(re(),1);var Ve=se(Ie.listTables),Qe=["react","client","cli"],Xe=!1,Ze={action:"action",mutation:"mutation",query:"query"},_e=u(t=>{let e=t.indexOf(":");return e===-1?{file:"",fn:t}:{file:t.slice(0,e),fn:t.slice(e+1)}},"J"),Ce=u(({file:t,fn:e,kind:a})=>`await client.${Ze[a]}(api.${t}.${e}, { /* args */ });`,"U"),Ye=u(t=>{let e=`api.${t.file}.${t.fn}`;switch(t.kind){case"action":return Ce(t);case"mutation":return`const ${t.fn} = useMutation(${e});`;default:return`const data = useQuery(${e}, { /* args */ });`}},"re"),et=u(({file:t,fn:e})=>`lunora run ${t}:${e} --args '{ }'`,"se"),tt=u(t=>["// Read rows",`const rows = await ctx.db.query("${t}").collect();`,"","// Insert a row",`const id = await ctx.db.insert("${t}", { /* fields */ });`,"","// Generated types",`type Row = Doc<"${t}">;`,`type RowId = Id<"${t}">;`].join(`
2
+ `),"de"),rt=u((t,e)=>{switch(t){case"cli":return et(e);case"client":return Ce(e);default:return Ye(e)}},"ce"),Te=u(t=>{let e=(0,Z.c)(19),{code:a,label:r,testId:n}=t,s=E(),o;e[0]!==a?(o=u(()=>{ae(a)},"s"),e[0]=a,e[1]=o):o=e[1];let i=o,d;e[2]!==r?(d=(0,T.jsx)("span",{className:"text-xs font-medium text-muted-foreground",children:r}),e[2]=r,e[3]=d):d=e[3];let m=`${n}-copy`,l;e[4]!==s?(l=s("Copy"),e[4]=s,e[5]=l):l=e[5];let c;e[6]!==i||e[7]!==m||e[8]!==l?(c=(0,T.jsx)(U,{"data-testid":m,onClick:i,size:"xs",type:"button",variant:"ghost",children:l}),e[6]=i,e[7]=m,e[8]=l,e[9]=c):c=e[9];let f;e[10]!==d||e[11]!==c?(f=(0,T.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[d,c]}),e[10]=d,e[11]=c,e[12]=f):f=e[12];let x;e[13]!==a||e[14]!==n?(x=(0,T.jsx)("pre",{className:"overflow-auto rounded-md border border-border bg-muted/50 p-3 font-mono text-xs","data-testid":n,children:a}),e[13]=a,e[14]=n,e[15]=x):x=e[15];let h;return e[16]!==f||e[17]!==x?(h=(0,T.jsxs)("div",{className:"flex flex-col gap-1.5",children:[f,x]}),e[16]=f,e[17]=x,e[18]=h):h=e[18],h},"V"),at=u(t=>{let e=(0,Z.c)(50),{file:a,fn:r,kind:n}=t,s=E(),[o,i]=(0,X.useState)("react"),d,m,l;if(e[0]!==a||e[1]!==r||e[2]!==n||e[3]!==s||e[4]!==o){let $={file:a,fn:r,kind:n},S;e[8]!==s?(S=s("CLI"),e[8]=s,e[9]=S):S=e[9];let C;e[10]!==s?(C=s("Client"),e[10]=s,e[11]=C):C=e[11];let A;e[12]!==s?(A=s("React"),e[12]=s,e[13]=A):A=e[13];let M;e[14]!==S||e[15]!==C||e[16]!==A?(M={cli:S,client:C,react:A},e[14]=S,e[15]=C,e[16]=A,e[17]=M):M=e[17],l=M;let _;e[18]===Symbol.for("react.memo_cache_sentinel")?(_=u(J=>{i(J.currentTarget.dataset.tab)},"D"),e[18]=_):_=e[18],d=_,m=rt(o,$),e[0]=a,e[1]=r,e[2]=n,e[3]=s,e[4]=o,e[5]=d,e[6]=m,e[7]=l}else d=e[5],m=e[6],l=e[7];let c=m,f=n==="action"&&o==="react"&&!Xe,x=`api.${a}.${r}`,h;e[19]!==x?(h=(0,T.jsx)("h2",{className:"font-mono text-sm font-semibold text-foreground","data-testid":"api-fn-title",children:x}),e[19]=x,e[20]=h):h=e[20];let b;e[21]!==n||e[22]!==s?(b=s("Call this {kind} from your app.",{kind:n}),e[21]=n,e[22]=s,e[23]=b):b=e[23];let y;e[24]!==b?(y=(0,T.jsx)("p",{className:"text-xs text-muted-foreground",children:b}),e[24]=b,e[25]=y):y=e[25];let N;e[26]!==h||e[27]!==y?(N=(0,T.jsxs)("div",{children:[h,y]}),e[26]=h,e[27]=y,e[28]=N):N=e[28];let v;e[29]!==s?(v=s("Snippet flavour"),e[29]=s,e[30]=v):v=e[30];let g;e[31]!==d||e[32]!==o||e[33]!==l?(g=Qe.map($=>(0,T.jsx)(U,{"aria-selected":o===$,"data-tab":$,"data-testid":`api-tab-${$}`,onClick:d,role:"tab",size:"xs",type:"button",variant:o===$?"default":"outline",children:l[$]},$)),e[31]=d,e[32]=o,e[33]=l,e[34]=g):g=e[34];let k;e[35]!==v||e[36]!==g?(k=(0,T.jsx)("div",{"aria-label":v,className:"flex gap-1.5","data-testid":"api-tabs",role:"tablist",children:g}),e[35]=v,e[36]=g,e[37]=k):k=e[37];let O=l[o],P=`api-snippet-${o}`,w;e[38]!==c||e[39]!==O||e[40]!==P?(w=(0,T.jsx)(Te,{code:c,label:O,testId:P}),e[38]=c,e[39]=O,e[40]=P,e[41]=w):w=e[41];let I;e[42]!==f||e[43]!==s?(I=f&&(0,T.jsx)("p",{className:"text-xs text-muted-foreground","data-testid":"api-action-note",children:s("Actions have no React hook \u2014 call them through the client.")}),e[42]=f,e[43]=s,e[44]=I):I=e[44];let j;return e[45]!==w||e[46]!==I||e[47]!==N||e[48]!==k?(j=(0,T.jsxs)("div",{className:"flex flex-col gap-3","data-testid":"api-fn-doc",children:[N,k,w,I]}),e[45]=w,e[46]=I,e[47]=N,e[48]=k,e[49]=j):j=e[49],j},"pe"),nt=u(t=>{let e=(0,Z.c)(19),{name:a}=t,r=E(),n;e[0]!==a?(n=tt(a),e[0]=a,e[1]=n):n=e[1];let s=n,o;e[2]!==a?(o=(0,T.jsx)("h2",{className:"font-mono text-sm font-semibold text-foreground","data-testid":"api-table-title",children:a}),e[2]=a,e[3]=o):o=e[3];let i;e[4]!==r?(i=r("Read and write this table through the typed data model."),e[4]=r,e[5]=i):i=e[5];let d;e[6]!==i?(d=(0,T.jsx)("p",{className:"text-xs text-muted-foreground",children:i}),e[6]=i,e[7]=d):d=e[7];let m;e[8]!==o||e[9]!==d?(m=(0,T.jsxs)("div",{children:[o,d]}),e[8]=o,e[9]=d,e[10]=m):m=e[10];let l;e[11]!==r?(l=r("Data model"),e[11]=r,e[12]=l):l=e[12];let c;e[13]!==s||e[14]!==l?(c=(0,T.jsx)(Te,{code:s,label:l,testId:"api-snippet-table"}),e[13]=s,e[14]=l,e[15]=c):c=e[15];let f;return e[16]!==m||e[17]!==c?(f=(0,T.jsxs)("div",{className:"flex flex-col gap-3","data-testid":"api-table-doc",children:[m,c]}),e[16]=m,e[17]=c,e[18]=f):f=e[18],f},"fe"),je=u(t=>{let e=(0,Z.c)(8),{active:a,label:r,onSelect:n,testId:s,value:o}=t,i;e[0]!==n||e[1]!==o?(i=u(()=>{n(o)},"u"),e[0]=n,e[1]=o,e[2]=i):i=e[2];let d=i,m=a?"page":void 0,l;return e[3]!==r||e[4]!==d||e[5]!==m||e[6]!==s?(l=(0,T.jsx)("button",{"aria-current":m,className:"w-full truncate rounded-md px-2 py-1 text-start font-mono text-xs text-muted-foreground outline-none transition-colors hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:bg-sidebar-accent aria-[current=page]:bg-sidebar-accent aria-[current=page]:font-medium aria-[current=page]:text-foreground","data-testid":s,onClick:d,type:"button",children:r}),e[3]=r,e[4]=d,e[5]=m,e[6]=s,e[7]=l):l=e[7],l},"G"),ot=u(t=>{let e=new Map;for(let a of t){let{file:r,fn:n}=_e(a.path),s=e.get(r)??[];s.push({fn:n,kind:a.kind,path:a.path}),e.set(r,s)}return[...e.entries()].map(([a,r])=>({file:a,items:r.toSorted((n,s)=>n.fn.localeCompare(s.fn))})).toSorted((a,r)=>a.file.localeCompare(r.file))},"me"),Ae=u(t=>{let e=(0,Z.c)(58),{functions:a,initialShardKey:r}=t,n=E(),s=H(),[o,i]=(0,X.useState)(null),[d,m]=(0,X.useState)(null),l,c;e[0]!==s||e[1]!==r?(l=u(()=>{let M=!1;return s.query(Ve,{},ie(r??"")).then(_=>(M||i(_),_)).catch(()=>{M||i([])}),()=>{M=!0}},"r"),c=[s,r],e[0]=s,e[1]=r,e[2]=l,e[3]=c):(l=e[2],c=e[3]),(0,X.useEffect)(l,c);let f,x,h,b,y,N,v,g,k,O;if(e[4]!==a||e[5]!==d||e[6]!==n||e[7]!==o){let M=a??[],_=ot(M),J=(o??[]).map(st).toSorted(it),R;e[18]===Symbol.for("react.memo_cache_sentinel")?(R=u(z=>{m({kind:"fn",path:z})},"F"),e[18]=R):R=e[18];let D=R,V;e[19]===Symbol.for("react.memo_cache_sentinel")?(V=u(z=>{m({kind:"table",name:z})},"H"),e[19]=V):V=e[19];let Ge=V;x=d?.kind==="fn"?M.find(z=>z.path===d.path):void 0,f=M.length>0||J.length>0,h=x===void 0?void 0:_e(x.path),k="grid min-h-0 gap-6 md:grid-cols-[16rem_minmax(0,1fr)]",O="lunora-api-docs",e[20]!==n?(b=n("API resources"),e[20]=n,e[21]=b):b=e[21],y="flex flex-col gap-4 overflow-y-auto",N="api-rail";let ne;e[22]!==d||e[23]!==n?(ne=u(z=>(0,T.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,T.jsx)("span",{className:"px-2 font-mono text-[11px] tracking-wide text-muted-foreground uppercase",children:z.file||n("(root)")}),z.items.map(ee=>(0,T.jsx)(je,{active:d?.kind==="fn"&&d.path===ee.path,label:ee.fn,onSelect:D,testId:`api-rail-fn-${ee.path}`,value:ee.path},ee.path))]},z.file),"K"),e[22]=d,e[23]=n,e[24]=ne):ne=e[24],v=_.map(ne),g=J.length>0&&(0,T.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,T.jsx)("span",{className:"px-2 font-mono text-[11px] tracking-wide text-muted-foreground uppercase",children:n("Tables")}),J.map(z=>(0,T.jsx)(je,{active:d?.kind==="table"&&d.name===z,label:z,onSelect:Ge,testId:`api-rail-table-${z}`,value:z},z))]}),e[4]=a,e[5]=d,e[6]=n,e[7]=o,e[8]=f,e[9]=x,e[10]=h,e[11]=b,e[12]=y,e[13]=N,e[14]=v,e[15]=g,e[16]=k,e[17]=O}else f=e[8],x=e[9],h=e[10],b=e[11],y=e[12],N=e[13],v=e[14],g=e[15],k=e[16],O=e[17];let P;e[25]!==f||e[26]!==n?(P=!f&&(0,T.jsx)("p",{className:"px-2 text-xs text-muted-foreground","data-testid":"api-rail-empty",children:n("No functions or tables to document yet.")}),e[25]=f,e[26]=n,e[27]=P):P=e[27];let w;e[28]!==P||e[29]!==b||e[30]!==y||e[31]!==N||e[32]!==v||e[33]!==g?(w=(0,T.jsxs)("nav",{"aria-label":b,className:y,"data-testid":N,children:[v,g,P]}),e[28]=P,e[29]=b,e[30]=y,e[31]=N,e[32]=v,e[33]=g,e[34]=w):w=e[34];let I;e[35]!==d||e[36]!==n?(I=d===null&&(0,T.jsx)(B,{description:n("Select a function or table to see how to call it from your app."),testId:"api-empty",title:n("API usage snippets")}),e[35]=d,e[36]=n,e[37]=I):I=e[37];let j;e[38]!==d?.kind||e[39]!==x||e[40]!==h?(j=d?.kind==="fn"&&x!==void 0&&h!==void 0&&(0,T.jsx)(at,{file:h.file,fn:h.fn,kind:x.kind},x.path),e[38]=d?.kind,e[39]=x,e[40]=h,e[41]=j):j=e[41];let $;e[42]!==d?.kind||e[43]!==x||e[44]!==n?($=d?.kind==="fn"&&x===void 0&&(0,T.jsx)(B,{testId:"api-empty",title:n("API usage snippets")}),e[42]=d?.kind,e[43]=x,e[44]=n,e[45]=$):$=e[45];let S;e[46]!==d?(S=d?.kind==="table"&&(0,T.jsx)(nt,{name:d.name}),e[46]=d,e[47]=S):S=e[47];let C;e[48]!==I||e[49]!==j||e[50]!==$||e[51]!==S?(C=(0,T.jsxs)("div",{className:"min-w-0",children:[I,j,$,S]}),e[48]=I,e[49]=j,e[50]=$,e[51]=S,e[52]=C):C=e[52];let A;return e[53]!==w||e[54]!==C||e[55]!==k||e[56]!==O?(A=(0,T.jsxs)("div",{className:k,"data-testid":O,children:[w,C]}),e[53]=w,e[54]=C,e[55]=k,e[56]=O,e[57]=A):A=e[57],A},"Se");function st(t){return t.name}u(st,"ue");function it(t,e){return t.localeCompare(e)}u(it,"he");var We=K(te(),1);var q=K(te(),1),L=K(ue(),1);var p=K(re(),1);var pe=u(function(t,e,a){let r=(0,q.c)(10),n;r[0]===Symbol.for("react.memo_cache_sentinel")?(n={kind:"loading"},r[0]=n):n=r[0];let[s,o]=(0,L.useState)(n),i,d;r[1]!==a||r[2]!==e||r[3]!==t?(i=u(()=>{if(t!==void 0)return;let l=!1;return e().then(c=>(l||o(a(c)),c)).catch(c=>{l||o({kind:"error",message:le(c)})}),()=>{l=!0}},"l"),d=[a,e,t],r[1]=a,r[2]=e,r[3]=t,r[4]=i,r[5]=d):(i=r[4],d=r[5]),(0,L.useEffect)(i,d);let m;return r[6]!==a||r[7]!==s||r[8]!==t?(m=t===void 0?s:a(t),r[6]=a,r[7]=s,r[8]=t,r[9]=m):m=r[9],m},"gt"),lt=u(t=>typeof t=="number"?"number":typeof t=="boolean"?"boolean":"string","$e"),Re=u(t=>{if(t.enum!==void 0&&t.enum.length>0)return t.enum;if(t.anyOf!==void 0&&t.anyOf.length>0&&t.anyOf.every(e=>e.const!==void 0))return t.anyOf.map(e=>e.const)},"X"),ce=u(t=>t===void 0?"any":t.const!==void 0?JSON.stringify(t.const):t.enum!==void 0&&t.enum.length>0?t.enum.map(e=>JSON.stringify(e)).join(" | "):t.anyOf!==void 0&&t.anyOf.length>0?t.anyOf.map(e=>ce(e)).join(" | "):t.type==="array"?`array<${ce(t.items)}>`:t.type??"any","B"),dt=u(t=>{let e=Re(t);return e!==void 0?t.type??lt(e[0]):ce(t)},"ke"),ct=u(t=>{let e=Re(t);return e===void 0?void 0:e.map(a=>JSON.stringify(a)).join(" | ")},"Se"),pt=u(t=>{let e=[];t.minimum!==void 0?e.push(`${String(t.minimum)} \u2264`):t.exclusiveMinimum!==void 0&&e.push(`${String(t.exclusiveMinimum)} <`);let a=e.length>0;e.push("value"),t.maximum!==void 0?e.push(`\u2264 ${String(t.maximum)}`):t.exclusiveMaximum!==void 0&&e.push(`< ${String(t.exclusiveMaximum)}`);let r=e.length>(a?2:1);return a||r?e.join(" "):void 0},"we"),mt=u(t=>{if(t.type==="object"&&t.properties!==void 0)return t;if(t.type==="array"&&t.items?.type==="object"&&t.items.properties!==void 0)return t.items},"Oe"),Y=u(t=>{if(t===void 0)return null;if(t.const!==void 0)return t.const;if(t.enum!==void 0&&t.enum.length>0)return t.enum[0];if(t.anyOf!==void 0&&t.anyOf.length>0)return Y(t.anyOf[0]);switch(t.type){case"array":return[];case"boolean":return!1;case"number":return 0;case"object":{let e={};for(let[a,r]of Object.entries(t.properties??{}))e[a]=Y(r);return e}case"string":return"";default:return null}},"q"),de=u(t=>{let e=(0,q.c)(7),{label:a,value:r}=t,n;e[0]!==a?(n=(0,p.jsx)("span",{className:"text-muted-foreground",children:a}),e[0]=a,e[1]=n):n=e[1];let s;e[2]!==r?(s=(0,p.jsx)("span",{className:"text-foreground",children:r}),e[2]=r,e[3]=s):s=e[3];let o;return e[4]!==n||e[5]!==s?(o=(0,p.jsxs)("span",{className:"inline-flex items-center gap-1 rounded border border-border px-1.5 py-0.5 font-mono text-[10px]",children:[n,s]}),e[4]=n,e[5]=s,e[6]=o):o=e[6],o},"W"),ut=u(t=>{let e=(0,q.c)(40),{name:a,required:r,schema:n}=t,s=E(),o;e[0]!==n?(o=pt(n),e[0]=n,e[1]=o):o=e[1];let i=o,d;e[2]!==n?(d=ct(n),e[2]=n,e[3]=d):d=e[3];let m=d,l=n["x-lunora-table"],c=n.format!==void 0||i!==void 0||m!==void 0||l!==void 0,f;e[4]!==n?(f=mt(n),e[4]=n,e[5]=f):f=e[5];let x=f,h=r?"*":"?",b;e[6]!==h?(b=(0,p.jsx)("span",{className:"text-muted-foreground",children:h}),e[6]=h,e[7]=b):b=e[7];let y;e[8]!==a||e[9]!==b?(y=(0,p.jsxs)("span",{className:"font-mono text-foreground",children:[a,b]}),e[8]=a,e[9]=b,e[10]=y):y=e[10];let N;e[11]!==n?(N=dt(n),e[11]=n,e[12]=N):N=e[12];let v;e[13]!==N?(v=(0,p.jsx)("span",{className:"font-mono text-muted-foreground",children:N}),e[13]=N,e[14]=v):v=e[14];let g;e[15]!==y||e[16]!==v?(g=(0,p.jsxs)("div",{className:"flex items-baseline gap-2",children:[y,v]}),e[15]=y,e[16]=v,e[17]=g):g=e[17];let k;e[18]!==n.description?(k=n.description!==void 0&&(0,p.jsx)("p",{className:"max-w-prose text-muted-foreground",children:n.description}),e[18]=n.description,e[19]=k):k=e[19];let O;e[20]!==c||e[21]!==i||e[22]!==l||e[23]!==n.format||e[24]!==s||e[25]!==m?(O=c&&(0,p.jsxs)("div",{className:"flex flex-wrap gap-1",children:[n.format!==void 0&&(0,p.jsx)(de,{label:s("Format"),value:n.format}),i!==void 0&&(0,p.jsx)(de,{label:s("Range"),value:i}),m!==void 0&&(0,p.jsx)(de,{label:s("Value in"),value:m}),l!==void 0&&(0,p.jsx)(de,{label:s("relation"),value:l})]}),e[20]=c,e[21]=i,e[22]=l,e[23]=n.format,e[24]=s,e[25]=m,e[26]=O):O=e[26];let P;e[27]!==k||e[28]!==O||e[29]!==g?(P=(0,p.jsxs)("div",{className:"flex flex-col gap-1 py-2",children:[g,k,O]}),e[27]=k,e[28]=O,e[29]=g,e[30]=P):P=e[30];let w=P;if(x===void 0){let S;return e[31]!==w?(S=(0,p.jsx)("div",{className:"border-b border-border/50 last:border-b-0",children:w}),e[31]=w,e[32]=S):S=e[32],S}let I;e[33]!==w?(I=(0,p.jsx)("summary",{className:"cursor-pointer marker:text-muted-foreground",children:w}),e[33]=w,e[34]=I):I=e[34];let j;e[35]!==x?(j=(0,p.jsx)("div",{className:"mb-2 ml-2 border-l border-border pl-3",children:(0,p.jsx)(Je,{schema:x})}),e[35]=x,e[36]=j):j=e[36];let $;return e[37]!==I||e[38]!==j?($=(0,p.jsxs)("details",{className:"border-b border-border/50 last:border-b-0",children:[I,j]}),e[37]=I,e[38]=j,e[39]=$):$=e[39],$},"je"),Je=u(t=>{let e=(0,q.c)(7),{schema:a}=t,r;e[0]!==a.required?(r=new Set(a.required),e[0]=a.required,e[1]=r):r=e[1];let n=r,s;e[2]!==a.properties?(s=Object.entries(a.properties??{}),e[2]=a.properties,e[3]=s):s=e[3];let o=s,i;return e[4]!==n||e[5]!==o?(i=(0,p.jsx)("div",{className:"flex flex-col",children:o.map(d=>{let[m,l]=d;return(0,p.jsx)(ut,{name:m,required:n.has(m),schema:l},m)})}),e[4]=n,e[5]=o,e[6]=i):i=e[6],i},"Y"),Me=u(t=>{let e=(0,q.c)(10),{schema:a,testId:r}=t;if(a?.type!=="object"||Object.keys(a.properties??{}).length===0){let o;e[0]!==a?(o=ce(a),e[0]=a,e[1]=o):o=e[1];let i;return e[2]!==o||e[3]!==r?(i=(0,p.jsx)("p",{className:"font-mono text-xs text-muted-foreground","data-testid":r,children:o}),e[2]=o,e[3]=r,e[4]=i):i=e[4],i}let n;e[5]!==a?(n=(0,p.jsx)(Je,{schema:a}),e[5]=a,e[6]=n):n=e[6];let s;return e[7]!==n||e[8]!==r?(s=(0,p.jsx)("div",{className:"text-xs","data-testid":r,children:n}),e[7]=n,e[8]=r,e[9]=s):s=e[9],s},"G"),ft=["curl","javascript","lunora"],ht={lunora:"Lunora",curl:"cURL",javascript:"JavaScript"},xt=u(t=>`api.${t.replaceAll(/[/:]/g,".")}`,"Pe"),gt=u(t=>{let e=Y(t.argsSchema)??{};return t.functionPath===void 0?e:{args:e,functionPath:t.functionPath}},"Te"),bt=u((t,e,a)=>{let r=`${a}${e.httpPath}`,n=JSON.stringify(gt(e),void 0,2),s=JSON.stringify(Y(e.argsSchema)??{},void 0,2);switch(t){case"curl":{let o=e.method!=="GET"&&e.method!=="HEAD",i=[`curl -X ${e.method} ${JSON.stringify(r)}`];return o&&i.push(' -H "Content-Type: application/json"',` -d '${n}'`),i.join(` \\
3
+ `)}case"lunora":return e.functionPath===void 0?`await fetch(${JSON.stringify(e.httpPath)}, { method: ${JSON.stringify(e.method)} });`:`import { useLunora } from "@lunora/react";
4
+ import { api } from "./_generated/api";
5
+
6
+ const client = useLunora();
7
+ await client.${e.kind??"query"}(${xt(e.functionPath)}, ${s});`;default:{let o=e.method!=="GET"&&e.method!=="HEAD"?`{
8
+ method: ${JSON.stringify(e.method)},
9
+ headers: { "Content-Type": "application/json" },
10
+ body: JSON.stringify(${n}),
11
+ }`:`{ method: ${JSON.stringify(e.method)} }`;return`const response = await fetch(${JSON.stringify(r)}, ${o});
12
+ const data = await response.json();`}}},"Ie"),vt=u(t=>{let e=(0,q.c)(24),{operation:a,server:r}=t,n=E(),[s,o]=(0,L.useState)("curl"),i;e[0]!==a||e[1]!==s||e[2]!==r?(i=bt(s,a,r),e[0]=a,e[1]=s,e[2]=r,e[3]=i):i=e[3];let d=i,m;e[4]!==d?(m=u(()=>{ae(d)},"d"),e[4]=d,e[5]=m):m=e[5];let l=m,c;e[6]===Symbol.for("react.memo_cache_sentinel")?(c=u(k=>{o(k.currentTarget.dataset.sample)},"m"),e[6]=c):c=e[6];let f=c,x;e[7]!==s?(x=ft.map(k=>(0,p.jsx)("button",{"aria-selected":s===k,className:"rounded px-2 py-0.5 text-xs text-muted-foreground transition-colors hover:text-foreground aria-selected:bg-muted aria-selected:font-medium aria-selected:text-foreground","data-sample":k,"data-testid":`api-sample-${k}`,onClick:f,role:"tab",type:"button",children:ht[k]},k)),e[7]=s,e[8]=x):x=e[8];let h;e[9]!==x?(h=(0,p.jsx)("div",{className:"flex gap-1",role:"tablist",children:x}),e[9]=x,e[10]=h):h=e[10];let b;e[11]!==n?(b=n("Copy"),e[11]=n,e[12]=b):b=e[12];let y;e[13]!==l||e[14]!==b?(y=(0,p.jsx)(U,{"data-testid":"api-sample-copy",onClick:l,size:"xs",type:"button",variant:"ghost",children:b}),e[13]=l,e[14]=b,e[15]=y):y=e[15];let N;e[16]!==h||e[17]!==y?(N=(0,p.jsxs)("div",{className:"flex items-center justify-between gap-2 border-b border-border px-3 py-2",children:[h,y]}),e[16]=h,e[17]=y,e[18]=N):N=e[18];let v;e[19]!==d?(v=(0,p.jsx)("pre",{className:"overflow-auto px-3 pb-3 font-mono text-xs","data-testid":"api-sample-source",children:d}),e[19]=d,e[20]=v):v=e[20];let g;return e[21]!==N||e[22]!==v?(g=(0,p.jsxs)("div",{className:"flex flex-col gap-2 rounded-xl border border-border bg-card","data-testid":"api-code-samples",children:[N,v]}),e[21]=N,e[22]=v,e[23]=g):g=e[23],g},"Je"),yt={blue:"text-info",emerald:"text-success",neutral:"text-muted-foreground",orange:"text-warning",red:"text-destructive",violet:"text-royal-amethyst"},Nt=u(t=>{switch(t.toUpperCase()){case"DELETE":return"red";case"GET":return"emerald";case"PATCH":return"orange";case"POST":return"blue";case"PUT":return"orange";default:return"neutral"}},"Ae"),kt=u(t=>{switch(t){case"action":return"violet";case"mutation":return"orange";case"query":return"emerald";default:return"neutral"}},"Me"),xe=u(t=>{let e=(0,q.c)(7),{kind:a,method:r,testId:n}=t,s;e[0]!==a||e[1]!==r?(s=a??r.toUpperCase(),e[0]=a,e[1]=r,e[2]=s):s=e[2];let o=s,i=a===void 0?Nt(r):kt(a),d=`${yt[i]} font-mono text-[10px] tracking-wide uppercase`,m;return e[3]!==o||e[4]!==d||e[5]!==n?(m=(0,p.jsx)(ve,{className:d,"data-testid":n,variant:"ghost",children:o}),e[3]=o,e[4]=d,e[5]=n,e[6]=m):m=e[6],m},"U"),Ee=u(t=>t.startsWith("2")?"text-emerald-600 dark:text-emerald-400":t==="default"||t.startsWith("4")||t.startsWith("5")?"text-red-600 dark:text-red-400":"text-muted-foreground","Z"),Le=u(t=>t.startsWith("2")?"bg-emerald-500":t==="default"||t.startsWith("4")||t.startsWith("5")?"bg-red-500":"bg-muted-foreground","ee"),wt=u(t=>JSON.stringify(Y(t.argsSchema)??{},void 0,2),"Ke"),ze=(0,L.createContext)(null),qe=u(()=>{let t=(0,L.use)(ze);if(t===null)throw new be("INTERNAL","useOperationRun must be used within an OperationRunProvider");return t},"re"),St=u(({children:t,operation:e})=>{let a=E(),r=H(),[n,s]=(0,L.useState)(()=>wt(e)),[o,i]=(0,L.useState)(""),[d,m]=(0,L.useState)("idle"),[l,c]=(0,L.useState)(void 0),[f,x]=(0,L.useState)(null),[h,b]=(0,L.useState)(null),y=u(async()=>{let N;try{N=n.trim()===""?{}:JSON.parse(n)}catch(g){m("error"),c(void 0),b(null),x(a("Invalid JSON args: {message}",{message:le(g)}));return}m("running"),x(null);let v=performance.now();try{let g;if(e.functionPath===void 0){let k=e.method!=="GET"&&e.method!=="HEAD",O=await(await fetch(e.httpPath,{body:k?JSON.stringify(N):void 0,headers:k?{"content-type":"application/json"}:void 0,method:e.method})).text();try{g=JSON.parse(O)}catch{g=O}}else g=await Se(r,e.kind,se(e.functionPath),N,ie(o));c(g),b(Math.round(performance.now()-v)),m("success")}catch(g){c(void 0),b(Math.round(performance.now()-v)),x(le(g)),m("error")}},"v");return(0,p.jsx)(ze,{value:{argsText:n,durationMs:h,error:f,operation:e,response:l,send:u(()=>{$e(y())},"send"),setArgsText:s,setShardKey:i,shardKey:o,status:d},children:t})},"Re"),$t=u(()=>{let t=(0,q.c)(48),e=E(),{argsText:a,operation:r,send:n,setArgsText:s,setShardKey:o,shardKey:i,status:d}=qe(),m;t[0]!==s?(m=u(_=>{s(_.target.value)},"d"),t[0]=s,t[1]=m):m=t[1];let l=m,c;t[2]!==n?(c=u(_=>{_.key==="Enter"&&(_.metaKey||_.ctrlKey)&&(_.preventDefault(),n())},"m"),t[2]=n,t[3]=c):c=t[3];let f=c,x=d==="running",h;t[4]!==r.kind||t[5]!==r.method?(h=(0,p.jsx)(xe,{kind:r.kind,method:r.method,testId:"api-try-method"}),t[4]=r.kind,t[5]=r.method,t[6]=h):h=t[6];let b=r.functionPath??r.httpPath,y;t[7]!==b?(y=(0,p.jsx)("code",{className:"min-w-0 flex-1 truncate font-mono text-xs text-foreground",children:b}),t[7]=b,t[8]=y):y=t[8];let N=x?"animate-pulse":void 0,v;t[9]!==N?(v=(0,p.jsx)(oe,{className:N,icon:we,strokeWidth:2}),t[9]=N,t[10]=v):v=t[10];let g;t[11]!==x||t[12]!==e?(g=e(x?"Sending\u2026":"Send"),t[11]=x,t[12]=e,t[13]=g):g=t[13];let k;t[14]!==x||t[15]!==n||t[16]!==v||t[17]!==g?(k=(0,p.jsxs)(U,{"data-testid":"api-try-send",disabled:x,onClick:n,size:"sm",type:"button",children:[v,g]}),t[14]=x,t[15]=n,t[16]=v,t[17]=g,t[18]=k):k=t[18];let O;t[19]!==h||t[20]!==y||t[21]!==k?(O=(0,p.jsxs)("div",{className:"flex items-center gap-2 border-b border-border bg-muted px-3 py-2",children:[h,y,k]}),t[19]=h,t[20]=y,t[21]=k,t[22]=O):O=t[22];let P;t[23]!==e?(P=e("Arguments (JSON)"),t[23]=e,t[24]=P):P=t[24];let w;t[25]!==P?(w=(0,p.jsx)(he,{htmlFor:"api-try-args",children:P}),t[25]=P,t[26]=w):w=t[26];let I;t[27]!==a?(I=a.split(`
13
+ `),t[27]=a,t[28]=I):I=t[28];let j=Math.min(12,Math.max(3,I.length)),$;t[29]!==a||t[30]!==l||t[31]!==f||t[32]!==j?($=(0,p.jsx)(Pe,{className:"font-mono text-xs","data-testid":"api-try-args",id:"api-try-args",onChange:l,onKeyDown:f,rows:j,spellCheck:!1,value:a}),t[29]=a,t[30]=l,t[31]=f,t[32]=j,t[33]=$):$=t[33];let S;t[34]!==w||t[35]!==$?(S=(0,p.jsxs)("div",{className:"flex flex-col gap-1.5",children:[w,$]}),t[34]=w,t[35]=$,t[36]=S):S=t[36];let C;t[37]!==r.functionPath||t[38]!==o||t[39]!==i||t[40]!==e?(C=r.functionPath!==void 0&&(0,p.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,p.jsx)(he,{htmlFor:"shard-input",children:e("Shard key (optional)")}),(0,p.jsx)(Oe,{id:"shard-input",onChange:o,testId:"shard-input",value:i})]}),t[37]=r.functionPath,t[38]=o,t[39]=i,t[40]=e,t[41]=C):C=t[41];let A;t[42]!==S||t[43]!==C?(A=(0,p.jsxs)("div",{className:"flex flex-col gap-3 p-3",children:[S,C]}),t[42]=S,t[43]=C,t[44]=A):A=t[44];let M;return t[45]!==A||t[46]!==O?(M=(0,p.jsxs)("div",{className:"overflow-hidden rounded-xl border border-border bg-card","data-testid":"api-try-it",children:[O,A]}),t[45]=A,t[46]=O,t[47]=M):M=t[47],M},"Le"),It=u(t=>{let e=(0,q.c)(51),{operation:a}=t,r=E(),n=`api-operation-${a.operationId}`,s=a.key,o;e[0]!==a.kind||e[1]!==a.method?(o=(0,p.jsx)(xe,{kind:a.kind,method:a.method,testId:"api-operation-method"}),e[0]=a.kind,e[1]=a.method,e[2]=o):o=e[2];let i=a.functionPath??a.httpPath,d;e[3]!==i?(d=(0,p.jsx)("code",{className:"truncate font-mono text-xs text-muted-foreground",children:i}),e[3]=i,e[4]=d):d=e[4];let m;e[5]!==o||e[6]!==d?(m=(0,p.jsxs)("div",{className:"flex items-center gap-2",children:[o,d]}),e[5]=o,e[6]=d,e[7]=m):m=e[7];let l;e[8]!==a.title?(l=(0,p.jsx)("h1",{className:"text-lg font-semibold text-foreground","data-testid":"api-operation-title",children:a.title}),e[8]=a.title,e[9]=l):l=e[9];let c;e[10]!==a.description?(c=a.description!==void 0&&(0,p.jsx)("p",{className:"text-sm text-muted-foreground",children:a.description}),e[10]=a.description,e[11]=c):c=e[11];let f;e[12]!==m||e[13]!==l||e[14]!==c?(f=(0,p.jsxs)("header",{className:"sticky top-0 z-10 -mx-6 -mt-6 flex flex-col gap-2 border-b border-border bg-background px-6 pt-6 pb-3",children:[m,l,c]}),e[12]=m,e[13]=l,e[14]=c,e[15]=f):f=e[15];let x;e[16]!==r?(x=r("Try it"),e[16]=r,e[17]=x):x=e[17];let h;e[18]!==x?(h=(0,p.jsx)("h2",{className:"font-mono text-[11px] tracking-wide text-muted-foreground uppercase",children:x}),e[18]=x,e[19]=h):h=e[19];let b;e[20]===Symbol.for("react.memo_cache_sentinel")?(b=(0,p.jsx)($t,{}),e[20]=b):b=e[20];let y;e[21]!==h?(y=(0,p.jsxs)("section",{className:"flex flex-col gap-2",children:[h,b]}),e[21]=h,e[22]=y):y=e[22];let N;e[23]!==r?(N=r("Request arguments"),e[23]=r,e[24]=N):N=e[24];let v;e[25]!==N?(v=(0,p.jsx)("h2",{className:"font-mono text-[11px] tracking-wide text-muted-foreground uppercase",children:N}),e[25]=N,e[26]=v):v=e[26];let g;e[27]!==a.argsSchema?(g=(0,p.jsx)(Me,{schema:a.argsSchema,testId:"api-operation-args"}),e[27]=a.argsSchema,e[28]=g):g=e[28];let k;e[29]!==v||e[30]!==g?(k=(0,p.jsxs)("section",{className:"flex flex-col gap-2",children:[v,g]}),e[29]=v,e[30]=g,e[31]=k):k=e[31];let O;e[32]!==r?(O=r("Response body"),e[32]=r,e[33]=O):O=e[33];let P;e[34]!==O?(P=(0,p.jsx)("h2",{className:"font-mono text-[11px] tracking-wide text-muted-foreground uppercase",children:O}),e[34]=O,e[35]=P):P=e[35];let w;if(e[36]!==a.responses||e[37]!==r){let $;e[39]!==r?($=u(S=>(0,p.jsxs)("div",{className:"flex flex-col gap-1.5 rounded-xl border border-border bg-card p-3",children:[(0,p.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,p.jsxs)("span",{className:`inline-flex items-center gap-1.5 font-mono text-xs font-semibold ${Ee(S.status)}`,children:[(0,p.jsx)("span",{className:`size-1.5 rounded-full ${Le(S.status)}`}),S.status]}),S.schema!==void 0&&(0,p.jsx)("span",{className:"rounded border border-border px-1.5 py-0.5 font-mono text-[10px] text-muted-foreground",children:r("application/json")})]}),S.description!==void 0&&(0,p.jsx)("p",{className:"text-xs text-muted-foreground",children:S.description}),S.schema!==void 0&&(0,p.jsx)(Me,{schema:S.schema,testId:`api-response-${S.status}`})]},S.status),"_"),e[39]=r,e[40]=$):$=e[40],w=a.responses.map($),e[36]=a.responses,e[37]=r,e[38]=w}else w=e[38];let I;e[41]!==P||e[42]!==w?(I=(0,p.jsxs)("section",{className:"flex flex-col gap-3",children:[P,w]}),e[41]=P,e[42]=w,e[43]=I):I=e[43];let j;return e[44]!==a.key||e[45]!==n||e[46]!==y||e[47]!==k||e[48]!==I||e[49]!==f?(j=(0,p.jsxs)("div",{className:"flex flex-col gap-6 duration-200 animate-in fade-in-0 slide-in-from-bottom-1","data-testid":n,children:[f,y,k,I]},s),e[44]=a.key,e[45]=n,e[46]=y,e[47]=k,e[48]=I,e[49]=f,e[50]=j):j=e[50],j},"qe"),Ot={boolean:"text-royal-amethyst",key:"text-sky-sapphire",number:"text-warning",plain:"",string:"text-success"},Pt=/"(?:[^"\\]|\\.)*"|\b(?:true|false|null)\b|-?\d+(?:\.\d+)?/g,jt=/^\s*:/,_t=u((t,e,a)=>a.startsWith('"')?jt.test(t.slice(e))?"key":"string":a==="true"||a==="false"||a==="null"?"boolean":"number","Fe"),Ct=u(t=>{let e=[],a=0;for(let r of t.matchAll(Pt)){let{index:n}=r,s=r[0],o=n+s.length;n>a&&e.push({kind:"plain",start:a,text:t.slice(a,n)}),e.push({kind:_t(t,o,s),start:n,text:s}),a=o}return a<t.length&&e.push({kind:"plain",start:a,text:t.slice(a)}),e},"De"),Tt=u(t=>{let e=(0,q.c)(4),{code:a}=t,r;e[0]!==a?(r=Ct(a).map(At),e[0]=a,e[1]=r):r=e[1];let n;return e[2]!==r?(n=(0,p.jsx)(p.Fragment,{children:r}),e[2]=r,e[3]=n):n=e[3],n},"Ue");function At(t){return(0,p.jsx)("span",{className:Ot[t.kind],children:t.text},t.start)}u(At,"He");var Ke="__live__",Mt=u(t=>t.schema===void 0?"":JSON.stringify(Y(t.schema),void 0,2),"Ge"),Rt=u((t,e,a)=>a?t??"":e===void 0?"":JSON.stringify(e,void 0,2),"Qe"),Jt=u(t=>{let e=(0,q.c)(18),{active:a,running:r,showError:n}=t,s=E();if(r){let c;e[0]!==s?(c=s("Sending\u2026"),e[0]=s,e[1]=c):c=e[1];let f;return e[2]!==c?(f=(0,p.jsx)("p",{className:"px-3 py-3 text-xs text-muted-foreground","data-testid":"api-response-running",children:c}),e[2]=c,e[3]=f):f=e[3],f}if(a===void 0||a.body===""){let c;e[4]!==a?.live||e[5]!==s?(c=a?.live===!0?s("Send a request to see the response."):s("No example for this response."),e[4]=a?.live,e[5]=s,e[6]=c):c=e[6];let f;return e[7]!==c?(f=(0,p.jsx)("p",{className:"px-3 py-3 text-xs text-muted-foreground","data-testid":"api-response-idle",children:c}),e[7]=c,e[8]=f):f=e[8],f}let o=n&&"text-destructive",i;e[9]!==o?(i=fe("max-h-[28rem] overflow-auto px-3 py-3 font-mono text-xs",o),e[9]=o,e[10]=i):i=e[10];let d=n?"api-response-error":"api-response-body",m;e[11]!==a.body||e[12]!==n?(m=n?a.body:(0,p.jsx)(Tt,{code:a.body}),e[11]=a.body,e[12]=n,e[13]=m):m=e[13];let l;return e[14]!==i||e[15]!==d||e[16]!==m?(l=(0,p.jsx)("pre",{className:i,"data-testid":d,children:m}),e[14]=i,e[15]=d,e[16]=m,e[17]=l):l=e[17],l},"Ve"),Et=u(({durationMs:t,error:e,failed:a,operation:r,ran:n,response:s,t:o})=>{let i=r.responses.map(d=>({body:Mt(d),durationMs:null,id:d.status,label:d.status,live:!1,status:d.status}));return n?[{body:Rt(e,s,a),durationMs:t,id:Ke,label:o("Live"),live:!0,status:a?"error":"200"},...i]:i},"Xe"),Lt=u(()=>{let t=(0,q.c)(19),e=E(),{durationMs:a,error:r,operation:n,response:s,status:o}=qe(),i=o==="running",d=o==="error",m=o==="success"||d,l=Et({durationMs:a,error:r,failed:d,operation:n,ran:m,response:s,t:e}),c=m?Ke:l.find(zt)?.id??l[0]?.id??"",[f,x]=(0,L.useState)(null),h=l.find(_=>_.id===(f??c))??l[0],b;t[0]===Symbol.for("react.memo_cache_sentinel")?(b=u(_=>{let{id:J}=_.currentTarget.dataset;J!==void 0&&x(J)},"x"),t[0]=b):b=t[0];let y=b,N=u(()=>{h!==void 0&&ae(h.body)},"N"),v=h?.live===!0?h.durationMs:null,g=h?.live===!0&&h.status==="error",k="flex min-h-0 flex-col rounded-xl border border-border bg-card",O="api-response-panel",P;t[1]!==e?(P=e("Response"),t[1]=e,t[2]=P):P=t[2];let w;t[3]!==P?(w=(0,p.jsx)("span",{className:"font-mono text-[11px] tracking-wide text-muted-foreground uppercase",children:P}),t[3]=P,t[4]=w):w=t[4];let I=v!==null&&(0,p.jsx)("span",{className:"font-mono text-[10px] text-muted-foreground",children:e("{ms} ms",{ms:v})}),j=h!==void 0&&h.body!==""&&(0,p.jsx)(U,{"aria-label":e("Copy"),"data-testid":"api-response-copy",onClick:N,size:"icon-xs",type:"button",variant:"ghost",children:(0,p.jsx)(oe,{icon:Ne,strokeWidth:2})}),$;t[5]!==I||t[6]!==j?($=(0,p.jsxs)("div",{className:"flex items-center gap-2",children:[I,j]}),t[5]=I,t[6]=j,t[7]=$):$=t[7];let S;t[8]!==w||t[9]!==$?(S=(0,p.jsxs)("div",{className:"flex items-center justify-between gap-2 border-b border-border px-3 py-2",children:[w,$]}),t[8]=w,t[9]=$,t[10]=S):S=t[10];let C=l.length>0&&(0,p.jsx)("div",{className:"flex gap-1 overflow-x-auto border-b border-border px-2 py-1.5",role:"tablist",children:l.map(_=>{let J=_.id===h?.id;return(0,p.jsxs)("button",{"aria-selected":J,className:fe("inline-flex items-center gap-1.5 rounded px-2 py-0.5 font-mono text-xs transition-colors hover:text-foreground aria-selected:bg-muted aria-selected:font-medium",J?Ee(_.status):"text-muted-foreground"),"data-id":_.id,"data-testid":_.live?"api-response-tab-live":`api-response-tab-${_.status}`,onClick:y,role:"tab",type:"button",children:[(0,p.jsx)("span",{className:`size-1.5 rounded-full ${Le(_.status)}`}),_.label]},_.id)})}),A;t[11]!==h||t[12]!==i||t[13]!==g?(A=(0,p.jsx)(Jt,{active:h,running:i,showError:g}),t[11]=h,t[12]=i,t[13]=g,t[14]=A):A=t[14];let M;return t[15]!==A||t[16]!==S||t[17]!==C?(M=(0,p.jsxs)("div",{className:k,"data-testid":O,children:[S,C,A]}),t[15]=A,t[16]=S,t[17]=C,t[18]=M):M=t[18],M},"Ye");function zt(t){return t.status.startsWith("2")}u(zt,"Ze");var qt=u((t,e)=>{let a=e.trim().toLowerCase();return a===""?t:t.map(r=>({...r,operations:r.operations.filter(n=>`${n.summary} ${n.operationId}`.toLowerCase().includes(a))})).filter(r=>r.operations.length>0)},"et"),me=u(t=>{let e=(0,q.c)(53),{model:a}=t,r=E(),n=a.groups[0]?.operations[0]?.key??"",[s,o]=(0,L.useState)(n),[i,d]=(0,L.useState)(""),m;e[0]!==n||e[1]!==a.operationByKey||e[2]!==s?(m=a.operationByKey.get(s)??a.operationByKey.get(n),e[0]=n,e[1]=a.operationByKey,e[2]=s,e[3]=m):m=e[3];let l=m,c,f,x,h,b,y,N,v,g,k;if(e[4]!==i||e[5]!==a.groups||e[6]!==a.server||e[7]!==l?.key||e[8]!==r){c=qt(a.groups,i);let $;e[19]===Symbol.for("react.memo_cache_sentinel")?($=u(R=>{let{key:D}=R.currentTarget.dataset;D!==void 0&&o(D)},"_"),e[19]=$):$=e[19];let S=$,C;e[20]===Symbol.for("react.memo_cache_sentinel")?(C=u(R=>{d(R.target.value)},"T"),e[20]=C):C=e[20];let A=C;f=a.server??"",g="grid min-h-0 flex-1 grid-cols-1 overflow-hidden lg:grid-cols-[16rem_minmax(0,1fr)_22rem]",k="api-reference",e[21]!==r?(b=r("API operations"),e[21]=r,e[22]=b):b=e[22],y="flex min-h-0 flex-col overflow-y-auto border-r border-border",N="api-reference-nav";let M;e[23]===Symbol.for("react.memo_cache_sentinel")?(M=(0,p.jsx)(oe,{className:"pointer-events-none absolute top-1/2 left-2 size-3.5 -translate-y-1/2 text-muted-foreground",icon:ke,strokeWidth:2}),e[23]=M):M=e[23];let _;e[24]!==r?(_=r("Filter operations"),e[24]=r,e[25]=_):_=e[25],e[26]!==i||e[27]!==_?(v=(0,p.jsx)("div",{className:"sticky top-0 z-10 border-b border-border bg-sidebar p-2",children:(0,p.jsxs)("div",{className:"relative",children:[M,(0,p.jsx)(ye,{className:"h-7 pl-7","data-testid":"api-filter",onChange:A,placeholder:_,value:i})]})}),e[26]=i,e[27]=_,e[28]=v):v=e[28],x="flex flex-col gap-4 p-2";let J;e[29]!==l?.key||e[30]!==r?(J=u(R=>(0,p.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,p.jsxs)("div",{className:"flex items-center justify-between px-2",children:[(0,p.jsx)("span",{className:"font-mono text-[11px] tracking-wide text-muted-foreground uppercase",children:R.name||r("(root)")}),(0,p.jsx)("span",{className:"font-mono text-[10px] text-muted-foreground/70",children:R.operations.length})]}),R.operations.map(D=>{let V=D.key===l?.key;return(0,p.jsxs)("button",{"aria-current":V?"page":void 0,className:"flex items-center justify-between gap-2 rounded-md border-l-2 border-transparent px-2 py-1 text-start text-xs text-muted-foreground transition-colors hover:bg-sidebar-accent hover:text-sidebar-accent-foreground aria-[current=page]:border-primary aria-[current=page]:bg-sidebar-accent aria-[current=page]:font-medium aria-[current=page]:text-foreground","data-key":D.key,"data-testid":`api-nav-${D.operationId}`,onClick:S,type:"button",children:[(0,p.jsx)("span",{className:"truncate",children:D.summary}),(0,p.jsx)(xe,{kind:D.kind,method:D.method})]},D.key)})]},R.name),"M"),e[29]=l?.key,e[30]=r,e[31]=J):J=e[31],h=c.map(J),e[4]=i,e[5]=a.groups,e[6]=a.server,e[7]=l?.key,e[8]=r,e[9]=c,e[10]=f,e[11]=x,e[12]=h,e[13]=b,e[14]=y,e[15]=N,e[16]=v,e[17]=g,e[18]=k}else c=e[9],f=e[10],x=e[11],h=e[12],b=e[13],y=e[14],N=e[15],v=e[16],g=e[17],k=e[18];let O;e[32]!==c.length||e[33]!==r?(O=c.length===0&&(0,p.jsx)("p",{className:"px-2 py-1 text-xs text-muted-foreground","data-testid":"api-nav-empty",children:r("No operations match your filter.")}),e[32]=c.length,e[33]=r,e[34]=O):O=e[34];let P;e[35]!==O||e[36]!==x||e[37]!==h?(P=(0,p.jsxs)("div",{className:x,children:[h,O]}),e[35]=O,e[36]=x,e[37]=h,e[38]=P):P=e[38];let w;e[39]!==P||e[40]!==b||e[41]!==y||e[42]!==N||e[43]!==v?(w=(0,p.jsxs)("nav",{"aria-label":b,className:y,"data-testid":N,children:[v,P]}),e[39]=P,e[40]=b,e[41]=y,e[42]=N,e[43]=v,e[44]=w):w=e[44];let I;e[45]!==l||e[46]!==f?(I=l===void 0?(0,p.jsx)("div",{className:"lg:col-span-2"}):(0,p.jsxs)(St,{operation:l,children:[(0,p.jsx)("div",{className:"min-w-0 overflow-y-auto p-6","data-testid":"api-reference-main",children:(0,p.jsx)(It,{operation:l})}),(0,p.jsxs)("aside",{className:"flex min-w-0 flex-col gap-4 overflow-y-auto border-border p-4 lg:border-l","data-testid":"api-reference-aside",children:[(0,p.jsx)(vt,{operation:l,server:f}),(0,p.jsx)(Lt,{})]})]},l.key),e[45]=l,e[46]=f,e[47]=I):I=e[47];let j;return e[48]!==w||e[49]!==I||e[50]!==g||e[51]!==k?(j=(0,p.jsxs)("div",{className:g,"data-testid":k,children:[w,I]}),e[48]=w,e[49]=I,e[50]=g,e[51]=k,e[52]=j):j=e[52],j},"bt");var F=K(re(),1);var Kt=["get","post","put","patch","delete","head","options","trace"],De=u(t=>t?.content?.["application/json"]?.schema,"g"),Wt=u((t,e)=>Object.entries(t.responses??{}).map(([a,r])=>{let n=r.$ref?.replace("#/components/responses/",""),s=n===void 0?r:e.components?.responses?.[n]??r;return{description:s.description,schema:De(s),status:a}}),"P"),Dt=u((t,e,a,r,n)=>{let s=De(r.requestBody),o=s?.properties?.functionPath?.const,i=typeof o=="string"?o:void 0,d=i===void 0?s:s?.properties?.args,m=r.operationId??`${a} ${e}`;return{argsSchema:d,description:r.description,functionPath:i,httpPath:e,key:t,kind:r["x-lunora-function-kind"],method:a.toUpperCase(),operationId:m,requestSchema:s,responses:Wt(r,n),summary:r.summary??m,tags:r.tags??[],title:r.summary??m}},"A"),Ut=u(t=>{let e=[];for(let[a,r]of Object.entries(t.paths??{})){let n=a.includes("#")?a.slice(0,a.indexOf("#")):a;for(let s of Kt){let o=r[s];o!==void 0&&e.push(Dt(a,n,s,o,t))}}return e},"O"),Bt=u(t=>{let e=t??{},a=Ut(e),r=new Map((e.tags??[]).map(i=>[i.name,i.description])),n=new Set,s=[],o=u(i=>{if(n.has(i))return;n.add(i);let d=a.filter(m=>(m.tags[0]??"")===i);d.length>0&&s.push({description:r.get(i),name:i,operations:d})},"r");for(let i of e.tags??[])o(i.name);for(let i of a)o(i.tags[0]??"");return{groups:s,operationByKey:new Map(a.map(i=>[i.key,i])),server:e.servers?.[0]?.url,title:e.info?.title??"API reference",version:e.info?.version}},"b"),Ht=u(t=>{let{paths:e}=t;return e===void 0||typeof e=="object"&&e!==null&&Object.keys(e).length===0},"S"),Ft=u(t=>{let e=t;return Ht(e)?{kind:"empty"}:{kind:"ready",spec:e}},"$"),Ue=u(t=>{let e=(0,We.c)(23),{spec:a}=t,r=E(),n=H(),s;e[0]!==n?(s=u(()=>n.fetchOpenApi(),"n"),e[0]=n,e[1]=s):s=e[1];let o=pe(a,s,Ft),i;e[2]!==o.kind||e[3]!==o.spec?(i=o.kind==="ready"?Bt(o.spec):void 0,e[2]=o.kind,e[3]=o.spec,e[4]=i):i=e[4];let d=i;if(o.kind==="loading"){let l;return e[5]===Symbol.for("react.memo_cache_sentinel")?(l=(0,F.jsxs)("div",{className:"flex flex-col gap-4","data-testid":"api-reference-loading",children:[(0,F.jsx)(Q,{className:"h-8 w-48"}),(0,F.jsx)(Q,{className:"h-64 w-full"})]}),e[5]=l):l=e[5],l}if(o.kind==="error"){let l;e[6]!==o.message||e[7]!==r?(l=r("Couldn't load the OpenAPI spec: {message}",{message:o.message}),e[6]=o.message,e[7]=r,e[8]=l):l=e[8];let c;e[9]!==r?(c=r("API reference unavailable"),e[9]=r,e[10]=c):c=e[10];let f;return e[11]!==l||e[12]!==c?(f=(0,F.jsx)(B,{description:l,testId:"api-reference-error",title:c}),e[11]=l,e[12]=c,e[13]=f):f=e[13],f}if(o.kind==="empty"||d===void 0){let l;e[14]!==r?(l=r("Run `lunora codegen` and wire `_generated/openapi.json` to the worker to render the API reference here."),e[14]=r,e[15]=l):l=e[15];let c;e[16]!==r?(c=r("No OpenAPI spec configured"),e[16]=r,e[17]=c):c=e[17];let f;return e[18]!==l||e[19]!==c?(f=(0,F.jsx)(B,{description:l,testId:"api-reference-empty",title:c}),e[18]=l,e[19]=c,e[20]=f):f=e[20],f}let m;return e[21]!==d?(m=(0,F.jsx)(me,{model:d}),e[21]=d,e[22]=m):m=e[22],m},"U");var Be=K(te(),1);var G=K(re(),1);var Gt=u(t=>(t.params??[]).find(e=>e.name==="args")??(t.params??[])[0],"v"),Vt=u(t=>t["x-tags"]?.[0]?.name??(t.name.includes(":")?t.name.slice(0,t.name.indexOf(":")):""),"w"),Qt=u(t=>{let e=Gt(t)?.schema;return{argsSchema:e,description:t.description,functionPath:t.name,httpPath:"/_lunora/rpc",key:t.name,kind:t["x-lunora-function-kind"],method:"POST",operationId:t.name,requestSchema:e,responses:[{description:t.result?.name,schema:t.result?.schema,status:"200"}],summary:t.summary??t.name,tags:[Vt(t)],title:t.summary??t.name}},"I"),Xt=u(t=>{let e=t??{},a=(e.methods??[]).map(n=>Qt(n)),r=new Map;for(let n of a){let s=n.tags[0]??"",o=r.get(s)??[];o.push(n),r.set(s,o)}return{groups:[...r.entries()].map(([n,s])=>({name:n,operations:s.toSorted((o,i)=>o.operationId.localeCompare(i.operationId))})).toSorted((n,s)=>n.name.localeCompare(s.name)),operationByKey:new Map(a.map(n=>[n.key,n])),title:e.info?.title??"API reference",version:e.info?.version}},"C"),Zt=u(t=>t.methods===void 0||t.methods.length===0,"O"),Yt=u(t=>{let e=t;return Zt(e)?{kind:"empty"}:{kind:"ready",spec:e}},"R"),He=u(t=>{let e=(0,Be.c)(23),{spec:a}=t,r=E(),n=H(),s;e[0]!==n?(s=u(()=>n.fetchOpenRpc(),"m"),e[0]=n,e[1]=s):s=e[1];let o=pe(a,s,Yt),i;e[2]!==o.kind||e[3]!==o.spec?(i=o.kind==="ready"?Xt(o.spec):void 0,e[2]=o.kind,e[3]=o.spec,e[4]=i):i=e[4];let d=i;if(o.kind==="loading"){let l;return e[5]===Symbol.for("react.memo_cache_sentinel")?(l=(0,G.jsxs)("div",{className:"flex flex-col gap-4","data-testid":"openrpc-reference-loading",children:[(0,G.jsx)(Q,{className:"h-8 w-48"}),(0,G.jsx)(Q,{className:"h-64 w-full"})]}),e[5]=l):l=e[5],l}if(o.kind==="error"){let l;e[6]!==o.message||e[7]!==r?(l=r("Couldn't load the OpenRPC spec: {message}",{message:o.message}),e[6]=o.message,e[7]=r,e[8]=l):l=e[8];let c;e[9]!==r?(c=r("API reference unavailable"),e[9]=r,e[10]=c):c=e[10];let f;return e[11]!==l||e[12]!==c?(f=(0,G.jsx)(B,{description:l,testId:"openrpc-reference-error",title:c}),e[11]=l,e[12]=c,e[13]=f):f=e[13],f}if(o.kind==="empty"||d===void 0){let l;e[14]!==r?(l=r("Run `lunora codegen --api-spec openrpc` and wire `_generated/openrpc.json` to the worker to render the OpenRPC reference here."),e[14]=r,e[15]=l):l=e[15];let c;e[16]!==r?(c=r("No OpenRPC spec configured"),e[16]=r,e[17]=c):c=e[17];let f;return e[18]!==l||e[19]!==c?(f=(0,G.jsx)(B,{description:l,testId:"openrpc-reference-empty",title:c}),e[18]=l,e[19]=c,e[20]=f):f=e[20],f}let m;return e[21]!==d?(m=(0,G.jsx)(me,{model:d}),e[21]=d,e[22]=m):m=e[22],m},"T");var W=K(re(),1);var er=["reference","snippets"],tr=["openapi","openrpc"],Ur=u(t=>{let e=(0,Fe.c)(51),{functions:a,initialShardKey:r,openApiSpec:n,openRpcSpec:s}=t,o=E(),[i,d]=(0,ge.useState)("reference"),[m,l]=(0,ge.useState)("openapi"),c;e[0]!==o?(c=o("Reference"),e[0]=o,e[1]=c):c=e[1];let f;e[2]!==o?(f=o("Snippets"),e[2]=o,e[3]=f):f=e[3];let x;e[4]!==c||e[5]!==f?(x={reference:c,snippets:f},e[4]=c,e[5]=f,e[6]=x):x=e[6];let h=x,b;e[7]!==o?(b=o("OpenAPI"),e[7]=o,e[8]=b):b=e[8];let y;e[9]!==o?(y=o("OpenRPC"),e[9]=o,e[10]=y):y=e[10];let N;e[11]!==b||e[12]!==y?(N={openapi:b,openrpc:y},e[11]=b,e[12]=y,e[13]=N):N=e[13];let v=N,g;e[14]===Symbol.for("react.memo_cache_sentinel")?(g=u(R=>{d(R.currentTarget.dataset.view)},"y"),e[14]=g):g=e[14];let k=g,O;e[15]===Symbol.for("react.memo_cache_sentinel")?(O=u(R=>{l(R.currentTarget.dataset.format)},"S"),e[15]=O):O=e[15];let P=O,w;e[16]!==o?(w=o("API view"),e[16]=o,e[17]=w):w=e[17];let I;e[18]!==i||e[19]!==h?(I=er.map(R=>(0,W.jsx)(U,{"aria-selected":i===R,"data-testid":`api-view-${R}`,"data-view":R,onClick:k,role:"tab",size:"sm",type:"button",variant:i===R?"default":"outline",children:h[R]},R)),e[18]=i,e[19]=h,e[20]=I):I=e[20];let j;e[21]!==I||e[22]!==w?(j=(0,W.jsx)("div",{"aria-label":w,className:"flex gap-1.5","data-testid":"api-view-toggle",role:"tablist",children:I}),e[21]=I,e[22]=w,e[23]=j):j=e[23];let $;e[24]!==m||e[25]!==v||e[26]!==o||e[27]!==i?($=i==="reference"&&(0,W.jsx)("div",{"aria-label":o("API spec format"),className:"flex gap-1.5","data-testid":"api-format-toggle",role:"tablist",children:tr.map(R=>(0,W.jsx)(U,{"aria-selected":m===R,"data-format":R,"data-testid":`api-format-${R}`,onClick:P,role:"tab",size:"sm",type:"button",variant:m===R?"default":"outline",children:v[R]},R))}),e[24]=m,e[25]=v,e[26]=o,e[27]=i,e[28]=$):$=e[28];let S;e[29]!==j||e[30]!==$?(S=(0,W.jsxs)("div",{className:"flex shrink-0 flex-wrap items-center gap-3 border-b border-border px-6 py-3",children:[j,$]}),e[29]=j,e[30]=$,e[31]=S):S=e[31];let C;e[32]!==a||e[33]!==r||e[34]!==i?(C=i==="snippets"&&(0,W.jsx)("div",{className:"min-h-0 flex-1 overflow-y-auto p-6",children:(0,W.jsx)(Ae,{functions:a,initialShardKey:r})}),e[32]=a,e[33]=r,e[34]=i,e[35]=C):C=e[35];let A;e[36]!==m||e[37]!==n||e[38]!==i?(A=i==="reference"&&m==="openapi"&&(0,W.jsx)(Ue,{spec:n}),e[36]=m,e[37]=n,e[38]=i,e[39]=A):A=e[39];let M;e[40]!==m||e[41]!==s||e[42]!==i?(M=i==="reference"&&m==="openrpc"&&(0,W.jsx)(He,{spec:s}),e[40]=m,e[41]=s,e[42]=i,e[43]=M):M=e[43];let _;e[44]!==C||e[45]!==A||e[46]!==M?(_=(0,W.jsxs)("div",{className:"flex min-h-0 flex-1 flex-col overflow-hidden",children:[C,A,M]}),e[44]=C,e[45]=A,e[46]=M,e[47]=_):_=e[47];let J;return e[48]!==S||e[49]!==_?(J=(0,W.jsxs)("div",{className:"flex min-h-0 flex-1 flex-col","data-testid":"lunora-api-tab",children:[S,_]}),e[48]=S,e[49]=_,e[50]=J):J=e[50],J},"Z");export{Ur as default};
@@ -0,0 +1 @@
1
+ import{a as H}from"./chunk-54MMVNPT.js";import{a as G}from"./chunk-QXXIJAD5.js";import{b as E}from"./chunk-XDAT7LHC.js";import{a as K,b as V,c as z,d as M,e as u,f}from"./chunk-MIQTKZAR.js";import{a as B,e as D}from"./chunk-UZERI5YC.js";import{c as ee}from"./chunk-FXCBF4XT.js";import"./chunk-2OUPA2WJ.js";import{b as Z}from"./chunk-THIXMMZD.js";import"./chunk-6ST5ECQA.js";import{f as _}from"./chunk-EN2QAEO4.js";import"./chunk-XBDKZZ67.js";import{a as W}from"./chunk-XQCVZAGU.js";import{d as A,h as O,m as T,q as X}from"./chunk-OG4N2XHD.js";import"./chunk-AADILRJW.js";import{a as c,e as R,f as oe,g as re,h as ae}from"./chunk-3XIESWL4.js";var U=R(re(),1),Y=R(oe(),1);var t=R(ae(),1);var se=R(re(),1);var Q=R(oe(),1);var h=R(ae(),1);var ie=c(a=>Number.isFinite(a)?X(a,"\u2014"):"\u2014","Q"),le=c(a=>a.toSorted((e,i)=>e.scheduledFor-i.scheduledFor),"A"),ce=c((a,e,i)=>e!==void 0?e:i===void 0?d=>a.cancelScheduledJob(d):void 0,"U"),de=c(a=>{let e=(0,se.c)(16),{cancelJob:i,loadJobs:d}=a===void 0?{}:a,p=_(),r=A(),l=d===void 0,o;e[0]===Symbol.for("react.memo_cache_sentinel")?(o=["lunora-scheduled-jobs"],e[0]=o):o=e[0];let N=E(o,async()=>{let g=await(d??(()=>p.listScheduledJobs()))();return le(g)}),[b,n]=(0,Q.useState)(void 0),[s,m]=(0,Q.useState)(void 0),k,w;e[1]!==p||e[2]!==l?(k=c(()=>{if(l)return p.subscribeScheduledJobs(g=>{m(void 0),n(le(g))})},"v"),w=[l,p],e[1]=p,e[2]=l,e[3]=k,e[4]=w):(k=e[3],w=e[4]),(0,Q.useEffect)(k,w);let x;e[5]!==N?(x=c(()=>{N.refetch()},"j"),e[5]=N,e[6]=x):x=e[6],H(x,!l);let J=ce(p,i,d),v=b??N.data,j=s??N.error,q=c(async g=>{if(J!==void 0){m(void 0);try{await J(g),l||N.refetch()}catch(P){m(O(P))}}},"k"),I="flex flex-col gap-3",F="lunora-scheduled-jobs",C;e[7]!==j?(C=j!==null&&(0,h.jsx)("p",{className:"text-sm text-destructive","data-testid":"sj-error",role:"alert",children:j}),e[7]=j,e[8]=C):C=e[8];let S;e[9]!==v?.length||e[10]!==r?(S=v?.length===0&&(0,h.jsx)(W,{description:r("Jobs queued with runAfter / runAt will appear here."),icon:(0,h.jsxs)("svg",{"aria-hidden":"true",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.6,viewBox:"0 0 24 24",children:[(0,h.jsx)("circle",{cx:"12",cy:"12",r:"9"}),(0,h.jsx)("path",{d:"M12 7.5V12l4 2"})]}),testId:"sj-empty",title:r("No scheduled jobs.")}),e[9]=v?.length,e[10]=r,e[11]=S):S=e[11];let $=v!==void 0&&v.length>0&&(0,h.jsx)(B,{className:"overflow-hidden py-0",children:(0,h.jsx)(D,{className:"px-0",children:(0,h.jsxs)(K,{"data-testid":"sj-table",children:[(0,h.jsx)(V,{children:(0,h.jsxs)(M,{children:[(0,h.jsx)(u,{children:r("function")}),(0,h.jsx)(u,{children:r("scheduled for")}),(0,h.jsx)(u,{children:r("pool")}),(0,h.jsx)(u,{children:r("attempts")}),(0,h.jsx)(u,{children:r("shard")}),(0,h.jsx)(u,{children:r("id")}),J!==void 0&&(0,h.jsx)(u,{"aria-label":r("Actions")})]})}),(0,h.jsx)(z,{children:v.map(g=>(0,h.jsxs)(M,{"data-testid":`sj-row-${g.id}`,children:[(0,h.jsx)(f,{className:"font-mono text-xs",children:g.functionPath}),(0,h.jsx)(f,{className:"text-muted-foreground tabular-nums",children:ie(g.scheduledFor)}),(0,h.jsx)(f,{className:"font-mono text-xs",children:g.pool??""}),(0,h.jsx)(f,{className:"tabular-nums",children:g.attempts??0}),(0,h.jsx)(f,{children:g.shardKey??""}),(0,h.jsx)(f,{className:"font-mono text-xs",children:g.id}),J!==void 0&&(0,h.jsx)(f,{className:"text-right",children:(0,h.jsx)(G,{confirmLabel:r("Cancel job?"),onConfirm:c(()=>{T(q(g.id))},"onConfirm"),testId:`sj-cancel-${g.id}`,children:r("Cancel")})})]},g.id))})]})})}),y;return e[12]!==$||e[13]!==C||e[14]!==S?(y=(0,h.jsxs)("div",{className:I,"data-testid":F,children:[C,S,$]}),e[12]=$,e[13]=C,e[14]=S,e[15]=y):y=e[15],y},"me");var he={kind:"idle"},me=c((a,e,i)=>i!==void 0?i:e===void 0?d=>a.runCronJob(d):void 0,"oe"),ue=c(({loadCronJobs:a,runCronJob:e}={})=>{let i=_(),d=A(),[p,r]=(0,Y.useState)({}),l=E(["lunora-cron-jobs",a?"custom":"default"],()=>(a??(()=>i.getCronJobs()))()),{data:o,error:N}=l,b=me(i,a,e),n=c(async s=>{if(b!==void 0){r(m=>({...m,[s]:{kind:"running"}}));try{await b(s),r(m=>({...m,[s]:{kind:"ok"}})),l.refetch()}catch(m){r(k=>({...k,[s]:{kind:"error",message:O(m)}}))}}},"i");return(0,t.jsxs)("div",{className:"flex flex-col gap-3","data-testid":"lunora-cron-triggers",children:[N!==null&&(0,t.jsx)("p",{className:"text-sm text-destructive","data-testid":"cron-error",role:"alert",children:N}),o?.length===0&&(0,t.jsx)(W,{description:d("Triggers declared with the cronJobs() builder appear here."),icon:(0,t.jsxs)("svg",{"aria-hidden":"true",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.6,viewBox:"0 0 24 24",children:[(0,t.jsx)("circle",{cx:"12",cy:"12",r:"9"}),(0,t.jsx)("path",{d:"M12 7.5V12l4 2"})]}),testId:"cron-empty",title:d("No cron triggers.")}),o!==void 0&&o.length>0&&(0,t.jsx)(B,{className:"overflow-hidden py-0",children:(0,t.jsx)(D,{className:"px-0",children:(0,t.jsxs)(K,{"data-testid":"cron-table",children:[(0,t.jsx)(V,{children:(0,t.jsxs)(M,{children:[(0,t.jsx)(u,{children:d("name")}),(0,t.jsx)(u,{children:d("schedule")}),(0,t.jsx)(u,{children:d("target")}),(0,t.jsx)(u,{children:d("shard")}),b!==void 0&&(0,t.jsx)(u,{"aria-label":d("Actions")})]})}),(0,t.jsx)(z,{children:o.map(s=>{let m=p[s.name]??he;return(0,t.jsxs)(M,{"data-testid":`cron-row-${s.name}`,children:[(0,t.jsx)(f,{children:s.name}),(0,t.jsx)(f,{className:"font-mono text-xs tabular-nums",children:s.cron}),(0,t.jsx)(f,{children:(0,t.jsxs)("span",{className:"flex items-center gap-2",children:[s.workflow===void 0?(0,t.jsx)(Z,{variant:"outline",children:d("function")}):(0,t.jsx)(Z,{variant:"secondary",children:d("workflow")}),(0,t.jsx)("span",{className:"font-mono text-xs",children:s.workflow??s.functionPath})]})}),(0,t.jsx)(f,{children:s.shardKey??""}),b!==void 0&&(0,t.jsx)(f,{className:"text-right",children:(0,t.jsxs)("span",{className:"flex items-center justify-end gap-2",children:[m.kind==="ok"&&(0,t.jsx)("span",{className:"text-xs text-muted-foreground","data-testid":`cron-ran-${s.name}`,children:d("ran")}),m.kind==="error"&&(0,t.jsx)("span",{className:"text-xs text-destructive","data-testid":`cron-run-error-${s.name}`,role:"alert",children:m.message}),(0,t.jsx)(G,{confirmLabel:d("Run now?"),disabled:m.kind==="running",onConfirm:c(()=>{T(n(s.name))},"onConfirm"),testId:`cron-run-${s.name}`,children:m.kind==="running"?d("Running\u2026"):d("Run now")})]})})]},`${s.cron}:${s.name}`)})})]})})})]})},"le"),fe=c(a=>Number.isFinite(a)?X(a,"\u2014"):"\u2014","re"),pe=c(a=>{let e=(0,U.c)(34),i;e[0]!==a?(i=a===void 0?{}:a,e[0]=a,e[1]=i):i=e[1];let{loadJobs:d,removeJob:p,retryJob:r}=i,l=_(),o=A(),N;e[2]===Symbol.for("react.memo_cache_sentinel")?(N=["lunora-dead-jobs"],e[2]=N):N=e[2];let b;e[3]!==l||e[4]!==d?(b=c(async()=>(await(d??(()=>l.listDeadJobs()))()).toSorted(ve),"h"),e[3]=l,e[4]=d,e[5]=b):b=e[5];let n=E(N,b),s=n.data,[m,k]=(0,Y.useState)(void 0),w=n.error??m,x=d===void 0,J;e[6]!==l||e[7]!==x||e[8]!==r?(J=r??(x?L=>l.retryDeadJob(L):void 0),e[6]=l,e[7]=x,e[8]=r,e[9]=J):J=e[9];let v=J,j;e[10]!==l||e[11]!==x||e[12]!==p?(j=p??(x?L=>l.removeDeadJob(L):void 0),e[10]=l,e[11]=x,e[12]=p,e[13]=j):j=e[13];let q=j,I;e[14]!==n?(I=c(()=>{n.refetch()},"J"),e[14]=n,e[15]=I):I=e[15],H(I,!0);let F;e[16]!==n?(F=c(async L=>{k(void 0);try{await L,n.refetch()}catch(ne){k(O(ne))}},"j"),e[16]=n,e[17]=F):F=e[17];let C=F,S=v!==void 0||q!==void 0,$;e[18]!==w?($=w!==void 0&&(0,t.jsx)("p",{className:"text-sm text-destructive","data-testid":"dlq-error",role:"alert",children:w}),e[18]=w,e[19]=$):$=e[19];let y;e[20]!==s?.length||e[21]!==o?(y=s?.length===0&&(0,t.jsx)(W,{description:o("Jobs that exhaust their retry budget are parked here instead of being dropped."),icon:(0,t.jsx)("svg",{"aria-hidden":"true",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.6,viewBox:"0 0 24 24",children:(0,t.jsx)("path",{d:"M3 6h18M8 6V4h8v2M6 6l1 14h10l1-14"})}),testId:"dlq-empty",title:o("No dead-letter jobs.")}),e[20]=s?.length,e[21]=o,e[22]=y):y=e[22];let g;e[23]!==C||e[24]!==S||e[25]!==s||e[26]!==q||e[27]!==v||e[28]!==o?(g=s!==void 0&&s.length>0&&(0,t.jsx)(B,{className:"overflow-hidden py-0",children:(0,t.jsx)(D,{className:"px-0",children:(0,t.jsxs)(K,{"data-testid":"dlq-table",children:[(0,t.jsx)(V,{children:(0,t.jsxs)(M,{children:[(0,t.jsx)(u,{children:o("function")}),(0,t.jsx)(u,{children:o("attempts")}),(0,t.jsx)(u,{children:o("last tried")}),(0,t.jsx)(u,{children:o("pool")}),(0,t.jsx)(u,{children:o("shard")}),(0,t.jsx)(u,{children:o("id")}),S&&(0,t.jsx)(u,{"aria-label":o("Actions")})]})}),(0,t.jsx)(z,{children:s.map(L=>(0,t.jsxs)(M,{"data-testid":`dlq-row-${L.id}`,children:[(0,t.jsx)(f,{className:"font-mono text-xs",children:L.functionPath}),(0,t.jsx)(f,{className:"tabular-nums",children:L.attempts??0}),(0,t.jsx)(f,{className:"text-muted-foreground tabular-nums",children:fe(L.scheduledFor)}),(0,t.jsx)(f,{className:"font-mono text-xs",children:L.pool??""}),(0,t.jsx)(f,{children:L.shardKey??""}),(0,t.jsx)(f,{className:"font-mono text-xs",children:L.id}),S&&(0,t.jsx)(f,{className:"text-right",children:(0,t.jsxs)("div",{className:"flex justify-end gap-1.5",children:[v!==void 0&&(0,t.jsx)(ee,{"data-testid":`dlq-retry-${L.id}`,onClick:c(()=>{T(C(v(L.id)))},"onClick"),size:"sm",type:"button",variant:"outline",children:o("Retry")}),q!==void 0&&(0,t.jsx)(G,{confirmLabel:o("Drop job?"),onConfirm:c(()=>{T(C(q(L.id)))},"onConfirm"),testId:`dlq-remove-${L.id}`,children:o("Drop")})]})})]},L.id))})]})})}),e[23]=C,e[24]=S,e[25]=s,e[26]=q,e[27]=v,e[28]=o,e[29]=g):g=e[29];let P;return e[30]!==g||e[31]!==$||e[32]!==y?(P=(0,t.jsxs)("div",{className:"flex flex-col gap-3","data-testid":"lunora-dead-letter",children:[$,y,g]}),e[30]=g,e[31]=$,e[32]=y,e[33]=P):P=e[33],P},"ne");function ve(a,e){return(e.attempts??0)-(a.attempts??0)}c(ve,"ae");var te=c(a=>{let e=(0,U.c)(8),{label:i,testId:d,value:p}=a,r;e[0]!==i?(r=(0,t.jsx)("span",{className:"text-xs text-muted-foreground",children:i}),e[0]=i,e[1]=r):r=e[1];let l;e[2]!==d||e[3]!==p?(l=(0,t.jsx)("span",{className:"text-2xl font-semibold tabular-nums","data-testid":d,children:p}),e[2]=d,e[3]=p,e[4]=l):l=e[4];let o;return e[5]!==r||e[6]!==l?(o=(0,t.jsx)(B,{className:"flex-1 py-0",children:(0,t.jsxs)(D,{className:"flex flex-col gap-1 p-4",children:[r,l]})}),e[5]=r,e[6]=l,e[7]=o):o=e[7],o},"F"),be=c(a=>{let e=(0,U.c)(25),i;e[0]!==a?(i=a===void 0?{}:a,e[0]=a,e[1]=i):i=e[1];let{loadStatus:d}=i,p=_(),r=A(),l=d===void 0,o;e[2]!==l?(o=["lunora-scheduler-status",l],e[2]=l,e[3]=o):o=e[3];let N;e[4]!==p||e[5]!==d?(N=c(async()=>{let j=await(d??(()=>p.schedulerStatus()))();return{...j,pools:j.pools.toSorted(xe)}},"k"),e[4]=p,e[5]=d,e[6]=N):N=e[6];let b=E(o,N),{data:n,error:s}=b,m;e[7]!==b?(m=c(()=>{b.refetch()},"s"),e[7]=b,e[8]=m):m=e[8],H(m,!0);let k;e[9]!==s?(k=s!==null&&(0,t.jsx)("p",{className:"text-sm text-destructive","data-testid":"pools-error",role:"alert",children:s}),e[9]=s,e[10]=k):k=e[10];let w;e[11]!==n||e[12]!==r?(w=n!==void 0&&(0,t.jsxs)("div",{className:"flex gap-3","data-testid":"pools-totals",children:[(0,t.jsx)(te,{label:r("backlog"),testId:"pools-backlog",value:n.backlog}),(0,t.jsx)(te,{label:r("in flight"),testId:"pools-inflight",value:n.inFlight}),(0,t.jsx)(te,{label:r("pools"),testId:"pools-count",value:n.pools.length})]}),e[11]=n,e[12]=r,e[13]=w):w=e[13];let x;e[14]!==n?.pools.length||e[15]!==r?(x=n?.pools.length===0&&(0,t.jsx)(W,{description:r("Pools created with createWorkpool appear here once they have activity."),icon:(0,t.jsx)("svg",{"aria-hidden":"true",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.6,viewBox:"0 0 24 24",children:(0,t.jsx)("path",{d:"M4 7h16M4 12h16M4 17h16"})}),testId:"pools-empty",title:r("No workpools.")}),e[14]=n?.pools.length,e[15]=r,e[16]=x):x=e[16];let J;e[17]!==n||e[18]!==r?(J=n!==void 0&&n.pools.length>0&&(0,t.jsx)(B,{className:"overflow-hidden py-0",children:(0,t.jsx)(D,{className:"px-0",children:(0,t.jsxs)(K,{"data-testid":"pools-table",children:[(0,t.jsx)(V,{children:(0,t.jsxs)(M,{children:[(0,t.jsx)(u,{children:r("pool")}),(0,t.jsx)(u,{children:r("queued")}),(0,t.jsx)(u,{children:r("in flight")}),(0,t.jsx)(u,{children:r("max concurrency")})]})}),(0,t.jsx)(z,{children:n.pools.map(ge)})]})})}),e[17]=n,e[18]=r,e[19]=J):J=e[19];let v;return e[20]!==k||e[21]!==w||e[22]!==x||e[23]!==J?(v=(0,t.jsxs)("div",{className:"flex flex-col gap-3","data-testid":"lunora-scheduler-pools",children:[k,w,x,J]}),e[20]=k,e[21]=w,e[22]=x,e[23]=J,e[24]=v):v=e[24],v},"de");function xe(a,e){return e.queued-a.queued}c(xe,"ie");function ge(a){return(0,t.jsxs)(M,{"data-testid":`pools-row-${a.name}`,children:[(0,t.jsx)(f,{className:"font-mono text-xs",children:a.name}),(0,t.jsx)(f,{className:"tabular-nums",children:a.queued}),(0,t.jsxs)(f,{className:"tabular-nums",children:[a.inFlight," / ",a.maxConcurrency]}),(0,t.jsx)(f,{className:"tabular-nums",children:a.maxConcurrency})]},a.name)}c(ge,"se");var Ne=["jobs","dead","pools","cron"],Ve=c(a=>{let e=(0,U.c)(41),i;e[0]!==a?(i=a===void 0?{}:a,e[0]=a,e[1]=i):i=e[1];let{loadCronJobs:d,scheduledCancel:p,scheduledLoad:r}=i,l=A(),[o,N]=(0,Y.useState)("jobs"),b;e[2]!==l?(b=l("Cron triggers"),e[2]=l,e[3]=b):b=e[3];let n;e[4]!==l?(n=l("Dead letter"),e[4]=l,e[5]=n):n=e[5];let s;e[6]!==l?(s=l("Scheduled jobs"),e[6]=l,e[7]=s):s=e[7];let m;e[8]!==l?(m=l("Pools"),e[8]=l,e[9]=m):m=e[9];let k;e[10]!==b||e[11]!==n||e[12]!==s||e[13]!==m?(k={cron:b,dead:n,jobs:s,pools:m},e[10]=b,e[11]=n,e[12]=s,e[13]=m,e[14]=k):k=e[14];let w=k,x;e[15]===Symbol.for("react.memo_cache_sentinel")?(x=c(y=>{N(y.currentTarget.dataset.view)},"u"),e[15]=x):x=e[15];let J=x,v;e[16]!==l?(v=l("Schedule view"),e[16]=l,e[17]=v):v=e[17];let j;e[18]!==o||e[19]!==w?(j=Ne.map(y=>(0,t.jsx)(ee,{"aria-selected":o===y,"data-testid":`schedule-view-${y}`,"data-view":y,onClick:J,role:"tab",size:"sm",type:"button",variant:o===y?"default":"outline",children:w[y]},y)),e[18]=o,e[19]=w,e[20]=j):j=e[20];let q;e[21]!==v||e[22]!==j?(q=(0,t.jsx)("div",{"aria-label":v,className:"flex gap-1.5","data-testid":"schedule-view-toggle",role:"tablist",children:j}),e[21]=v,e[22]=j,e[23]=q):q=e[23];let I;e[24]!==p||e[25]!==r||e[26]!==o?(I=o==="jobs"&&(0,t.jsx)(de,{cancelJob:p,loadJobs:r}),e[24]=p,e[25]=r,e[26]=o,e[27]=I):I=e[27];let F;e[28]!==o?(F=o==="dead"&&(0,t.jsx)(pe,{}),e[28]=o,e[29]=F):F=e[29];let C;e[30]!==o?(C=o==="pools"&&(0,t.jsx)(be,{}),e[30]=o,e[31]=C):C=e[31];let S;e[32]!==d||e[33]!==o?(S=o==="cron"&&(0,t.jsx)(ue,{loadCronJobs:d}),e[32]=d,e[33]=o,e[34]=S):S=e[34];let $;return e[35]!==q||e[36]!==I||e[37]!==F||e[38]!==C||e[39]!==S?($=(0,t.jsxs)("div",{className:"flex flex-col gap-4","data-testid":"lunora-schedule",children:[q,I,F,C,S]}),e[35]=q,e[36]=I,e[37]=F,e[38]=C,e[39]=S,e[40]=$):$=e[40],$},"Je");export{Ve as SchedulePanel};
@@ -0,0 +1 @@
1
+ import{a as B}from"./chunk-53WEPGUD.js";import"./chunk-XXQUMVWH.js";import"./chunk-RNL6BSFM.js";import"./chunk-QLQADHFE.js";import{c as R}from"./chunk-XDAT7LHC.js";import{a as G,b as H,c as J,d as P,e as x,f as w}from"./chunk-MIQTKZAR.js";import{a as z,e as D}from"./chunk-UZERI5YC.js";import{R as k}from"./chunk-CFPZYHPY.js";import"./chunk-7QIFDWQV.js";import{c as q}from"./chunk-FXCBF4XT.js";import"./chunk-2OUPA2WJ.js";import{b as F}from"./chunk-THIXMMZD.js";import"./chunk-6ST5ECQA.js";import{a as U}from"./chunk-2WOIRKEI.js";import"./chunk-EN2QAEO4.js";import"./chunk-XBDKZZ67.js";import{a as M}from"./chunk-XQCVZAGU.js";import{d as T,q as O}from"./chunk-OG4N2XHD.js";import"./chunk-AADILRJW.js";import{a as L,e as j,f as V,g as X,h as Y}from"./chunk-3XIESWL4.js";var K=j(X(),1),W=j(V(),1);var t=j(Y(),1);var de=L(()=>{let e=(0,K.c)(39),r=T(),[s,$]=(0,W.useState)(""),y;e[0]===Symbol.for("react.memo_cache_sentinel")?(y={},e[0]=y):y=e[0];let{data:b,error:i,errorSource:S,isLoading:_,refetch:E}=R(U.getAuthAuditLog,y),A;if(e[1]!==b?.entries||e[2]!==s){let a=b?.entries??[],v=s.trim().toLowerCase();A=v===""?a:a.filter(N=>N.event.toLowerCase().includes(v)||(N.actorId??"").toLowerCase().includes(v)||(N.actorEmail??"").toLowerCase().includes(v)||(N.ip??"").toLowerCase().includes(v)||N.outcome.toLowerCase().includes(v)),e[1]=b?.entries,e[2]=s,e[3]=A}else A=e[3];let o=A,C;e[4]===Symbol.for("react.memo_cache_sentinel")?(C=L(a=>{$(a.target.value)},"I"),e[4]=C):C=e[4];let Q=C,l;e[5]!==r?(l=r("Filter security events"),e[5]=r,e[6]=l):l=e[6];let n;e[7]!==r?(n=r("filter event, actor, IP"),e[7]=r,e[8]=n):n=e[8];let c;e[9]!==s||e[10]!==l||e[11]!==n?(c=(0,t.jsx)(k,{"aria-label":l,className:"h-8 w-56","data-testid":"aa-search",onChange:Q,placeholder:n,value:s}),e[9]=s,e[10]=l,e[11]=n,e[12]=c):c=e[12];let d;e[13]!==E?(d=L(()=>{E()},"m"),e[13]=E,e[14]=d):d=e[14];let m;e[15]!==r?(m=r("Refresh"),e[15]=r,e[16]=m):m=e[16];let u;e[17]!==d||e[18]!==m?(u=(0,t.jsx)(q,{"data-testid":"aa-refresh",onClick:d,size:"xs",type:"button",variant:"ghost",children:m}),e[17]=d,e[18]=m,e[19]=u):u=e[19];let h;e[20]!==c||e[21]!==u?(h=(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[c,u]}),e[20]=c,e[21]=u,e[22]=h):h=e[22];let f;e[23]!==i||e[24]!==S?(f=i!==null&&(0,t.jsx)(B,{error:S,testId:"aa-error"}),e[23]=i,e[24]=S,e[25]=f):f=e[25];let p;e[26]!==i||e[27]!==o.length||e[28]!==_||e[29]!==r?(p=i===null&&!_&&o.length===0&&(0,t.jsx)(M,{description:r("Authentication and security events are recorded here."),testId:"aa-empty",title:r("No security events.")}),e[26]=i,e[27]=o.length,e[28]=_,e[29]=r,e[30]=p):p=e[30];let g;e[31]!==o||e[32]!==r?(g=o.length>0&&(0,t.jsx)(z,{className:"overflow-hidden py-0",children:(0,t.jsx)(D,{className:"max-h-[30rem] overflow-auto px-0",children:(0,t.jsxs)(G,{"data-testid":"aa-table",children:[(0,t.jsx)(H,{children:(0,t.jsxs)(P,{children:[(0,t.jsx)(x,{children:r("time")}),(0,t.jsx)(x,{children:r("event")}),(0,t.jsx)(x,{children:r("actor")}),(0,t.jsx)(x,{children:r("ip / user agent")}),(0,t.jsx)(x,{children:r("outcome")})]})}),(0,t.jsx)(J,{children:o.map(a=>(0,t.jsxs)(P,{"data-testid":"aa-row",children:[(0,t.jsx)(w,{className:"text-muted-foreground tabular-nums",children:O(a.ts,"\u2014")}),(0,t.jsx)(w,{children:(0,t.jsx)(F,{variant:"secondary",children:a.event})}),(0,t.jsx)(w,{className:"max-w-[24ch] truncate font-mono text-xs",title:a.actorId??void 0,children:a.actorEmail??a.actorId??(0,t.jsx)("span",{className:"text-muted-foreground",children:"\u2014"})}),(0,t.jsxs)(w,{className:"max-w-[28ch] truncate text-xs text-muted-foreground",title:a.userAgent??void 0,children:[a.ip??(0,t.jsx)("span",{className:"text-muted-foreground",children:"\u2014"}),a.userAgent!==void 0&&(0,t.jsxs)("span",{className:"ml-1 opacity-70",children:["\xB7 ",a.userAgent]})]}),(0,t.jsx)(w,{children:(0,t.jsx)(F,{variant:a.outcome==="failure"?"destructive":"outline",children:r(a.outcome)})})]},a.seq))})]})})}),e[31]=o,e[32]=r,e[33]=g):g=e[33];let I;return e[34]!==f||e[35]!==p||e[36]!==g||e[37]!==h?(I=(0,t.jsxs)("div",{className:"flex flex-col gap-4","data-testid":"lunora-auth-audit",children:[h,f,p,g]}),e[34]=f,e[35]=p,e[36]=g,e[37]=h,e[38]=I):I=e[38],I},"ce");export{de as AuthAuditPanel};
@@ -0,0 +1 @@
1
+ import{b as de,c as ce}from"./chunk-KUVMORDQ.js";import{a as ie}from"./chunk-QWGT25SE.js";import{a as le}from"./chunk-CTNB2KIA.js";import{a as ne}from"./chunk-LFKCLLPT.js";import{a as oe}from"./chunk-53WEPGUD.js";import"./chunk-XXQUMVWH.js";import"./chunk-RNL6BSFM.js";import"./chunk-QLQADHFE.js";import{c as te}from"./chunk-XDAT7LHC.js";import{a as se}from"./chunk-X665E2HU.js";import{b as ae}from"./chunk-GRL5MG3Z.js";import"./chunk-7T7UOTYK.js";import{R as Z}from"./chunk-CFPZYHPY.js";import"./chunk-7QIFDWQV.js";import"./chunk-2OUPA2WJ.js";import{b as Y}from"./chunk-THIXMMZD.js";import"./chunk-6ST5ECQA.js";import{a as re}from"./chunk-2WOIRKEI.js";import"./chunk-EN2QAEO4.js";import"./chunk-XBDKZZ67.js";import{a as X}from"./chunk-XQCVZAGU.js";import{d as z,q as ee}from"./chunk-OG4N2XHD.js";import"./chunk-AADILRJW.js";import{a as M,e as Q,f as he,g as fe,h as pe,j as V}from"./chunk-3XIESWL4.js";var H=Q(fe(),1),K=Q(he(),1);var a=Q(pe(),1);var me=M(o=>Math.min(100,Math.max(0,o)),"V"),ge=M((o,e)=>{if(!Number.isFinite(e)||e<=0)return{leftPercent:0,widthPercent:100};let t=me(o.offsetMs/e*100),s=o.durationMs/e*100,r=Math.max(.5,Math.min(me(s),100-t));return{leftPercent:t,widthPercent:r}},"he"),xe=M((o,e)=>{let t=e.trim().toLowerCase();return t===""?[...o]:o.filter(s=>s.rootName.toLowerCase().includes(t)||s.functionPath.toLowerCase().includes(t)||s.traceId.toLowerCase().includes(t))},"fe"),G=M(o=>Number.isFinite(o)?o>0&&o<1?`${o.toFixed(2)}ms`:`${String(Math.round(o))}ms`:"\u2014","U"),be=14,we=M(o=>Array.isArray(o?.traces)?o.traces:[],"ge"),Ne=M(o=>{let e=(0,H.c)(50),{span:t,traceDurationMs:s}=o,r=z(),n;e[0]!==t||e[1]!==s?(n=ge(t,s),e[0]=t,e[1]=s,e[2]=n):n=e[2];let{leftPercent:P,widthPercent:x}=n,L;e[3]!==t.attributes?(L=ie(t.attributes),e[3]=t.attributes,e[4]=L):L=e[4];let k=L,C=t.depth*be,y;e[5]!==C?(y={paddingLeft:C},e[5]=C,e[6]=y):y=e[6];let b=y,c=`${String(P)}%`,w=`${String(x)}%`,p;e[7]!==c||e[8]!==w?(p={left:c,width:w},e[7]=c,e[8]=w,e[9]=p):p=e[9];let l=p,f=t.depth,i;e[10]!==t.ok||e[11]!==r?(i=t.ok?null:(0,a.jsx)("span",{"aria-label":r("Errored span"),className:"mr-1 text-destructive","data-testid":"tr-span-error",role:"img",children:"\u25CF"}),e[10]=t.ok,e[11]=r,e[12]=i):i=e[12];let v;e[13]!==b||e[14]!==t.name||e[15]!==i?(v=(0,a.jsxs)("span",{className:"w-56 shrink-0 truncate",role:"gridcell",style:b,title:t.name,children:[i,t.name]}),e[13]=b,e[14]=t.name,e[15]=i,e[16]=v):v=e[16];let d;e[17]!==t.durationMs||e[18]!==t.offsetMs||e[19]!==r?(d=r("starts {offset} in, runs {duration}",{duration:G(t.durationMs),offset:G(t.offsetMs)}),e[17]=t.durationMs,e[18]=t.offsetMs,e[19]=r,e[20]=d):d=e[20];let N=t.ok?"bg-primary/70":"bg-destructive",m;e[21]!==N?(m=V("absolute inset-y-0 rounded-sm",N),e[21]=N,e[22]=m):m=e[22];let u;e[23]!==l||e[24]!==P||e[25]!==m||e[26]!==x?(u=(0,a.jsx)("span",{className:m,"data-left":P,"data-testid":"tr-span-bar","data-width":x,style:l}),e[23]=l,e[24]=P,e[25]=m,e[26]=x,e[27]=u):u=e[27];let h;e[28]!==d||e[29]!==u?(h=(0,a.jsx)("span",{"aria-label":d,className:"relative h-3 flex-1 overflow-hidden rounded-sm bg-muted",role:"gridcell",children:u}),e[28]=d,e[29]=u,e[30]=h):h=e[30];let g;e[31]!==t.durationMs?(g=G(t.durationMs),e[31]=t.durationMs,e[32]=g):g=e[32];let I;e[33]!==g?(I=(0,a.jsx)("span",{className:"w-16 shrink-0 text-right tabular-nums text-muted-foreground",role:"gridcell",children:g}),e[33]=g,e[34]=I):I=e[34];let S;e[35]!==t.error?(S=t.error===void 0?null:(0,a.jsx)("span",{className:"text-destructive","data-testid":"tr-span-error-message",title:t.error.message,children:`${t.error.type}: ${t.error.message}`}),e[35]=t.error,e[36]=S):S=e[36];let T;e[37]!==S?(T=(0,a.jsx)("span",{className:"w-64 shrink-0 truncate text-muted-foreground",role:"gridcell",children:S}),e[37]=S,e[38]=T):T=e[38];let F;e[39]!==k?(F=k===""?null:(0,a.jsx)("span",{"data-testid":"tr-span-attributes",title:k,children:k}),e[39]=k,e[40]=F):F=e[40];let $;e[41]!==F?($=(0,a.jsx)("span",{className:"w-64 shrink-0 truncate text-muted-foreground",role:"gridcell",children:F}),e[41]=F,e[42]=$):$=e[42];let _;return e[43]!==t.depth||e[44]!==v||e[45]!==h||e[46]!==I||e[47]!==T||e[48]!==$?(_=(0,a.jsxs)("div",{className:"flex items-center gap-2 border-b border-border px-3 py-1.5 font-mono text-xs last:border-b-0 hover:bg-muted/50","data-depth":f,"data-testid":"tr-span-row",role:"row",children:[v,h,I,T,$]}),e[43]=t.depth,e[44]=v,e[45]=h,e[46]=I,e[47]=T,e[48]=$,e[49]=_):_=e[49],_},"xe"),Me=M(o=>{let e=(0,H.c)(50),{expanded:t,onToggle:s,trace:r}=o,n=z(),P;e[0]!==s||e[1]!==r.traceId?(P=M(()=>{s(r.traceId)},"S"),e[0]=s,e[1]=r.traceId,e[2]=P):P=e[2];let x=P,L=`tr-row-${r.traceId}`,k=`tr-waterfall-${r.traceId}`,C=`tr-toggle-${r.traceId}`,y=t?"\u25BE":"\u25B8",b;e[3]!==y?(b=(0,a.jsx)("span",{"aria-hidden":"true",className:"w-3 shrink-0 text-xs text-muted-foreground",children:y}),e[3]=y,e[4]=b):b=e[4];let c;e[5]!==r.rootName?(c=(0,a.jsx)("span",{className:"w-56 shrink-0 truncate text-sm font-medium",title:r.rootName,children:r.rootName}),e[5]=r.rootName,e[6]=c):c=e[6];let w;e[7]!==r.functionPath?(w=(0,a.jsx)("span",{className:"w-48 shrink-0 truncate font-mono text-xs text-muted-foreground",title:r.functionPath,children:r.functionPath}),e[7]=r.functionPath,e[8]=w):w=e[8];let p;e[9]!==r.durationMs?(p=G(r.durationMs),e[9]=r.durationMs,e[10]=p):p=e[10];let l;e[11]!==p?(l=(0,a.jsx)("span",{className:"w-20 shrink-0 text-right font-mono text-xs tabular-nums text-muted-foreground",children:p}),e[11]=p,e[12]=l):l=e[12];let f;e[13]!==n||e[14]!==r.spans.length?(f=n("{count} spans",{count:r.spans.length}),e[13]=n,e[14]=r.spans.length,e[15]=f):f=e[15];let i;e[16]!==f?(i=(0,a.jsx)("span",{className:"w-20 shrink-0 text-right font-mono text-xs tabular-nums text-muted-foreground",children:f}),e[16]=f,e[17]=i):i=e[17];let v=r.ok?"secondary":"destructive",d;e[18]!==n||e[19]!==r.ok?(d=r.ok?n("ok"):n("error"),e[18]=n,e[19]=r.ok,e[20]=d):d=e[20];let N;e[21]!==v||e[22]!==d?(N=(0,a.jsx)("span",{className:"shrink-0",children:(0,a.jsx)(Y,{variant:v,children:d})}),e[21]=v,e[22]=d,e[23]=N):N=e[23];let m;e[24]!==r.startTs?(m=ee(r.startTs),e[24]=r.startTs,e[25]=m):m=e[25];let u;e[26]!==m?(u=(0,a.jsx)("span",{className:"flex-1 truncate text-right font-mono text-xs tabular-nums text-muted-foreground",children:m}),e[26]=m,e[27]=u):u=e[27];let h;e[28]!==t||e[29]!==x||e[30]!==l||e[31]!==i||e[32]!==N||e[33]!==u||e[34]!==k||e[35]!==C||e[36]!==b||e[37]!==c||e[38]!==w?(h=(0,a.jsxs)("button",{"aria-controls":k,"aria-expanded":t,className:"flex w-full items-center gap-3 px-3 py-2 text-left hover:bg-muted/50","data-testid":C,onClick:x,type:"button",children:[b,c,w,l,i,N,u]}),e[28]=t,e[29]=x,e[30]=l,e[31]=i,e[32]=N,e[33]=u,e[34]=k,e[35]=C,e[36]=b,e[37]=c,e[38]=w,e[39]=h):h=e[39];let g;e[40]!==t||e[41]!==n||e[42]!==r.durationMs||e[43]!==r.spans||e[44]!==r.traceId?(g=t&&(0,a.jsx)("div",{"aria-label":n("Trace waterfall"),className:"bg-muted/20","data-testid":`tr-waterfall-${r.traceId}`,id:`tr-waterfall-${r.traceId}`,role:"grid",children:r.spans.map(S=>(0,a.jsx)(Ne,{span:S,traceDurationMs:r.durationMs},S.spanId))}),e[40]=t,e[41]=n,e[42]=r.durationMs,e[43]=r.spans,e[44]=r.traceId,e[45]=g):g=e[45];let I;return e[46]!==h||e[47]!==g||e[48]!==L?(I=(0,a.jsxs)("div",{className:"border-b border-border last:border-b-0","data-testid":L,children:[h,g]}),e[46]=h,e[47]=g,e[48]=L,e[49]=I):I=e[49],I},"be"),Be=M(o=>{let e=(0,H.c)(44),{initialShardKey:t}=o,s=z(),[r]=(0,K.useState)(de),[n,P]=(0,K.useState)(r?.shardKey!==void 0&&r.shardKey!==""?r.shardKey:t??""),[x,L]=(0,K.useState)(r?.traceId??""),[k,C]=(0,K.useState)(ve),y;e[0]===Symbol.for("react.memo_cache_sentinel")?(y=[],e[0]=y):y=e[0],(0,K.useEffect)(ke,y);let b;e[1]!==n?(b=n.trim(),e[1]=n,e[2]=b):b=e[2];let c=ne(b,400),w;e[3]===Symbol.for("react.memo_cache_sentinel")?(w={},e[3]=w):w=e[3];let p;e[4]!==c?(p={live:!0,shardKey:c},e[4]=c,e[5]=p):p=e[5];let{data:l,error:f,errorSource:i,isLoading:v,liveError:d}=te(re.getTraces,w,p),N,m;e[6]!==l||e[7]!==c?(N=M(()=>{l!==void 0&&ae(c)},"N"),m=[l,c],e[6]=l,e[7]=c,e[8]=N,e[9]=m):(N=e[8],m=e[9]),(0,K.useEffect)(N,m);let u;if(e[10]!==l||e[11]!==f||e[12]!==i||e[13]!==k||e[14]!==v||e[15]!==d||e[16]!==x||e[17]!==n||e[18]!==s){let h=we(l),g=l?.total??h.length,I=g>h.length,S=xe(h,x),T;e[20]===Symbol.for("react.memo_cache_sentinel")?(T=M(E=>{L(E.target.value)},"$"),e[20]=T):T=e[20];let F=T,$;e[21]===Symbol.for("react.memo_cache_sentinel")?($=M(E=>{C(ue=>{let q=new Set(ue);return q.has(E)?q.delete(E):q.add(E),q})},"T"),e[21]=$):$=e[21];let _=$,J=f===null&&S.length===0&&!v,j;e[22]!==n?(j=(0,a.jsx)(se,{onChange:P,testId:"tr-shard-input",value:n}),e[22]=n,e[23]=j):j=e[23];let A;e[24]!==s?(A=s("Search traces"),e[24]=s,e[25]=A):A=e[25];let D;e[26]!==s?(D=s("search trace or function"),e[26]=s,e[27]=D):D=e[27];let B;e[28]!==x||e[29]!==A||e[30]!==D?(B=(0,a.jsx)(Z,{"aria-label":A,className:"h-8 w-56","data-testid":"tr-search",onChange:F,placeholder:D,value:x}),e[28]=x,e[29]=A,e[30]=D,e[31]=B):B=e[31];let O;e[32]!==d?(O=(0,a.jsx)(le,{message:d,prefix:"tr"}),e[32]=d,e[33]=O):O=e[33];let R;e[34]!==j||e[35]!==B||e[36]!==O?(R=(0,a.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[j,B,O]}),e[34]=j,e[35]=B,e[36]=O,e[37]=R):R=e[37];let U;e[38]!==f||e[39]!==i?(U=f!==null&&(0,a.jsx)(oe,{error:i,testId:"tr-error"}),e[38]=f,e[39]=i,e[40]=U):U=e[40];let W;e[41]!==J||e[42]!==s?(W=J&&(0,a.jsx)(X,{description:s("Traces recorded with ctx.trace show up here as your app handles traffic. The span buffer resets when the shard hibernates."),icon:(0,a.jsx)("svg",{"aria-hidden":"true",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.6,viewBox:"0 0 24 24",children:(0,a.jsx)("path",{d:"M4 6h10M7 12h13M10 18h7"})}),testId:"tr-empty",title:s("No traces")}),e[41]=J,e[42]=s,e[43]=W):W=e[43],u=(0,a.jsxs)("div",{className:"flex flex-col gap-4","data-testid":"lunora-traces-panel",children:[R,U,W,f===null&&I&&(0,a.jsx)("p",{className:"text-xs text-muted-foreground","data-testid":"tr-truncated",children:s("Showing the {shown} most recent of {total} traces in the buffer.",{shown:h.length,total:g})}),f===null&&S.length>0&&(0,a.jsx)("div",{"aria-label":s("Recent traces"),className:"overflow-hidden rounded-xl border border-border shadow-xs","data-testid":"tr-list",children:S.map(E=>(0,a.jsx)(Me,{expanded:k.has(E.traceId),onToggle:_,trace:E},E.traceId))})]}),e[10]=l,e[11]=f,e[12]=i,e[13]=k,e[14]=v,e[15]=d,e[16]=x,e[17]=n,e[18]=s,e[19]=u}else u=e[19];return u},"Be");function ve(){return new Set}M(ve,"we");function ke(){ce()}M(ke,"Ne");export{Be as TracesPanel};
@@ -0,0 +1 @@
1
+ import{a as N}from"./chunk-53WEPGUD.js";import{a as v,b as w,c as y,d,e as c,f as i}from"./chunk-MIQTKZAR.js";import{a as x,e as b}from"./chunk-UZERI5YC.js";import{d as h}from"./chunk-OG4N2XHD.js";import{a as s,e as p,f as R,h as T,j as g}from"./chunk-3XIESWL4.js";var $=p(R(),1);var e=p(T(),1);var S={ERROR:"error",INFO:"info",WARN:"warning"},G=s(r=>{let n=typeof r.metadata.table=="string"?r.metadata.table:void 0;return{description:`${r.detail} ${r.remediation}`,entity:n,issueType:r.title,key:r.cacheKey,level:S[r.level]}},"q"),j=["error","warning","info"],A={error:"bg-destructive",info:"bg-info",warning:"bg-warning"},O=s((r,n)=>({error:r("Errors"),info:r("Info"),warning:r("Warnings")})[n],"R"),W=s((r,n,o)=>({error:r("{count} errors",{count:o}),info:r("{count} suggestions",{count:o}),warning:r("{count} warnings",{count:o})})[n],"O"),q=s((r,n)=>({error:r("No errors detected"),info:r("No suggestions"),warning:r("No warnings detected")})[n],"S"),z=s(r=>{let n={error:0,info:0,warning:0};for(let o of r??[])n[o.level]+=1;return n},"j"),H=s(({error:r=null,errorSource:n,rows:o,testId:l,toolbar:u})=>{let a=h(),[m,k]=(0,$.useState)("error"),E=z(o),f=(o??[]).filter(t=>t.level===m),I=s(t=>{k(t.currentTarget.dataset.level)},"h");return(0,e.jsxs)("div",{className:"flex flex-col gap-3","data-testid":l,children:[(0,e.jsx)("div",{className:"flex border-b border-border",role:"tablist",children:j.map(t=>(0,e.jsxs)("button",{"aria-selected":m===t,className:"flex min-w-32 flex-col gap-0.5 border-b-2 border-transparent px-4 py-2 text-start outline-none transition-colors hover:bg-muted/40 focus-visible:bg-muted/40 aria-selected:border-foreground","data-level":t,"data-testid":`${l}-tab-${t}`,onClick:I,role:"tab",type:"button",children:[(0,e.jsxs)("span",{className:"flex items-center gap-2 text-sm font-medium text-foreground",children:[(0,e.jsx)("span",{"aria-hidden":"true",className:g("size-2 rounded-sm",A[t])}),O(a,t)]}),(0,e.jsx)("span",{className:"ps-4 text-xs text-muted-foreground",children:W(a,t,E[t])})]},t))}),u!==void 0&&(0,e.jsx)("div",{className:"flex flex-wrap items-center gap-2",children:u}),r!==null&&(0,e.jsx)(N,{error:n??r,testId:`${l}-error`}),(0,e.jsx)(x,{className:"overflow-hidden py-0",children:(0,e.jsx)(b,{className:"px-0",children:(0,e.jsxs)(v,{children:[(0,e.jsx)(w,{children:(0,e.jsxs)(d,{children:[(0,e.jsx)(c,{children:a("Issue type")}),(0,e.jsx)(c,{children:a("Entity/item")}),(0,e.jsx)(c,{children:a("Description")})]})}),(0,e.jsx)(y,{children:f.length===0?(0,e.jsx)(d,{children:(0,e.jsxs)(i,{className:"h-40 text-center align-middle text-muted-foreground",colSpan:3,"data-testid":`${l}-empty`,children:[(0,e.jsx)("span",{className:"block text-sm font-medium text-foreground",children:q(a,m)}),(0,e.jsx)("span",{className:"block text-sm",children:a("Nothing to report for this deployment.")})]})}):f.map(t=>(0,e.jsxs)(d,{children:[(0,e.jsx)(i,{className:"font-medium text-foreground",children:t.issueType}),(0,e.jsx)(i,{className:"font-mono text-xs text-muted-foreground",children:t.entity??"\u2014"}),(0,e.jsxs)(i,{className:"text-muted-foreground",children:[(0,e.jsx)("span",{children:t.description}),t.action!==void 0&&(0,e.jsx)("span",{className:"mt-1.5 flex flex-wrap items-center gap-1.5",children:t.action})]})]},t.key))})]})})})]})},"B");export{G as a,H as b};
@@ -0,0 +1 @@
1
+ import{a,e as l,g as i,h as p,j as n}from"./chunk-3XIESWL4.js";var c=l(i(),1);var d=l(p(),1);function f(r){let t=(0,c.c)(8),e,s;t[0]!==r?({className:e,...s}=r,t[0]=r,t[1]=e,t[2]=s):(e=t[1],s=t[2]);let o;t[3]!==e?(o=n("animate-pulse rounded-md bg-muted",e),t[3]=e,t[4]=o):o=t[4];let m;return t[5]!==s||t[6]!==o?(m=(0,d.jsx)("div",{"data-slot":"skeleton",className:o,...s}),t[5]=s,t[6]=o,t[7]=m):m=t[7],m}a(f,"p");export{f as a};
@@ -0,0 +1 @@
1
+ import{j as o}from"./chunk-6ST5ECQA.js";import{a as r,e as i,f as p}from"./chunk-3XIESWL4.js";var a=i(p(),1);var R=a.forwardRef(r(function(e,n){let{className:l,render:m,orientation:t="horizontal",style:f,...s}=e;return o("div",e,{state:{orientation:t},ref:n,props:[{role:"separator","aria-orientation":t},s]})},"SeparatorComponent"));export{R as a};
@@ -0,0 +1 @@
1
+ import{a as ge,b as fe,c as xe,d as Ne,e as we}from"./chunk-OY2RVUZL.js";import"./chunk-2PJNAWB3.js";import"./chunk-SD4BERSA.js";import"./chunk-IC4L6G56.js";import{a as ue}from"./chunk-JN2Y24PY.js";import{g as me,h as ve,i as pe,j as ye}from"./chunk-YJYTMQJI.js";import"./chunk-6YTSSIEJ.js";import"./chunk-3C3CG7ZK.js";import"./chunk-7LWMHTJ3.js";import"./chunk-RQ7AFLIV.js";import"./chunk-BGBLQ563.js";import"./chunk-IVFHIQOT.js";import"./chunk-ILNELDFC.js";import"./chunk-SFDOII3B.js";import"./chunk-SMIESS7P.js";import"./chunk-T6VMSOBB.js";import"./chunk-QLQADHFE.js";import"./chunk-XDAT7LHC.js";import{a as se,b as ie,c as oe,d as Q,e as X,f as Y}from"./chunk-MIQTKZAR.js";import{a as re,e as ne}from"./chunk-UZERI5YC.js";import{a as ce}from"./chunk-V53KNYRN.js";import{a as q}from"./chunk-5Y3QLNWX.js";import"./chunk-HPFLBYRI.js";import"./chunk-QBWRC5YX.js";import{R as ae}from"./chunk-CFPZYHPY.js";import"./chunk-7QIFDWQV.js";import{c as $}from"./chunk-FXCBF4XT.js";import"./chunk-2OUPA2WJ.js";import{b as he}from"./chunk-THIXMMZD.js";import"./chunk-6ST5ECQA.js";import"./chunk-2WOIRKEI.js";import{f as G}from"./chunk-EN2QAEO4.js";import"./chunk-XBDKZZ67.js";import{a as ke}from"./chunk-XQCVZAGU.js";import{d as R,h as Z,m as A,o as de,p as be}from"./chunk-OG4N2XHD.js";import"./chunk-AADILRJW.js";import{a as i,e as le,f as Oe,g as _e,h as De}from"./chunk-3XIESWL4.js";var B=le(Oe(),1);var ee=le(_e(),1);var a=le(De(),1);var Je=i(r=>{let e=r.trim();if(e==="")return;let d=Number(e);return Number.isFinite(d)&&d>0?Math.floor(d):void 0},"_e"),Le=i(r=>r===void 0?"\u2014":new Date(r*1e3).toISOString(),"Je"),Pe=i(r=>new TextEncoder().encode(r).length,"De"),Ee=i(r=>{if(r.trim()!=="")try{return JSON.stringify(JSON.parse(r),void 0,2)}catch{return}},"ge"),Fe=i(r=>{if(r.trim()==="")return!0;try{return JSON.parse(r),!0}catch{return!1}},"xe"),Ke=[{key:"seconds",seconds:1},{key:"minutes",seconds:60},{key:"hours",seconds:3600},{key:"days",seconds:86400}],Ce=i((r,e)=>{let d=r.trim();if(d==="")return"";let u=Number(d),s=Ke.find(v=>v.key===e)?.seconds??1;return Number.isFinite(u)&&u>0?String(Math.round(u*s)):d},"ue"),Ve=i(r=>{let e=r.trim();if(e==="")return!0;let d=Number(e);return Number.isInteger(d)&&d>=60},"Ce"),Te=i((r,e,d,u)=>{let s=Je(r.ttl);return{expiration:s===void 0?u:void 0,expirationTtl:s,key:e,metadata:r.metadata.trim()===""?void 0:JSON.parse(r.metadata),namespace:d,value:r.value}},"we"),Me=i(r=>{let e=(0,ee.c)(60),{helper:d,id:u,invalid:s,onChange:v,testId:o}=r,t=R(),[l,p]=(0,B.useState)(""),[c,x]=(0,B.useState)("seconds"),g;e[0]!==v||e[1]!==c?(g=i(f=>{p(f.target.value),v(Ce(f.target.value,c))},"b"),e[0]=v,e[1]=c,e[2]=g):g=e[2];let O=g,V;e[3]!==l||e[4]!==v?(V=i(f=>{f!==null&&(x(f),v(Ce(l,f)))},"E"),e[3]=l,e[4]=v,e[5]=V):V=e[5];let _=V,y;e[6]!==t?(y=t("days"),e[6]=t,e[7]=y):y=e[7];let m;e[8]!==t?(m=t("hours"),e[8]=t,e[9]=m):m=e[9];let h;e[10]!==t?(h=t("minutes"),e[10]=t,e[11]=h):h=e[11];let N;e[12]!==t?(N=t("seconds"),e[12]=t,e[13]=N):N=e[13];let w;e[14]!==y||e[15]!==m||e[16]!==h||e[17]!==N?(w={days:y,hours:m,minutes:h,seconds:N},e[14]=y,e[15]=m,e[16]=h,e[17]=N,e[18]=w):w=e[18];let C=w,b;e[19]!==t?(b=t("Expires after"),e[19]=t,e[20]=b):b=e[20];let S;e[21]!==u||e[22]!==b?(S=(0,a.jsx)(q,{className:"text-xs",htmlFor:u,children:b}),e[21]=u,e[22]=b,e[23]=S):S=e[23];let K;e[24]!==t?(K=t("No expiration"),e[24]=t,e[25]=K):K=e[25];let J;e[26]!==l||e[27]!==u||e[28]!==s||e[29]!==O||e[30]!==K||e[31]!==o?(J=(0,a.jsx)(ae,{"aria-invalid":s,className:"flex-1","data-testid":o,id:u,inputMode:"numeric",onChange:O,placeholder:K,value:l}),e[26]=l,e[27]=u,e[28]=s,e[29]=O,e[30]=K,e[31]=o,e[32]=J):J=e[32];let T;e[33]!==t?(T=t("TTL unit"),e[33]=t,e[34]=T):T=e[34];let P=`${o}-unit`,L;e[35]===Symbol.for("react.memo_cache_sentinel")?(L=(0,a.jsx)(fe,{}),e[35]=L):L=e[35];let M;e[36]!==T||e[37]!==P?(M=(0,a.jsx)(xe,{"aria-label":T,className:"w-[7.5rem]","data-testid":P,children:L}),e[36]=T,e[37]=P,e[38]=M):M=e[38];let n;e[39]!==C?(n=Ke.map(f=>(0,a.jsx)(we,{value:f.key,children:C[f.key]},f.key)),e[39]=C,e[40]=n):n=e[40];let k;e[41]!==n?(k=(0,a.jsx)(Ne,{children:n}),e[41]=n,e[42]=k):k=e[42];let E;e[43]!==_||e[44]!==M||e[45]!==k||e[46]!==c?(E=(0,a.jsxs)(ge,{onValueChange:_,value:c,children:[M,k]}),e[43]=_,e[44]=M,e[45]=k,e[46]=c,e[47]=E):E=e[47];let I;e[48]!==J||e[49]!==E?(I=(0,a.jsxs)("div",{className:"flex gap-2",children:[J,E]}),e[48]=J,e[49]=E,e[50]=I):I=e[50];let F;e[51]!==d||e[52]!==s||e[53]!==t||e[54]!==o?(F=s?(0,a.jsx)("p",{className:"text-xs text-destructive","data-testid":`${o}-invalid`,children:t("TTL must be at least 60 seconds.")}):d!==void 0&&(0,a.jsx)("p",{className:"text-xs text-muted-foreground",children:d}),e[51]=d,e[52]=s,e[53]=t,e[54]=o,e[55]=F):F=e[55];let D;return e[56]!==I||e[57]!==F||e[58]!==S?(D=(0,a.jsxs)("div",{className:"mb-3 grid gap-1",children:[S,I,F]}),e[56]=I,e[57]=F,e[58]=S,e[59]=D):D=e[59],D},"$e"),Ie=i(r=>{let e=(0,ee.c)(36),{id:d,invalidTestId:u,onChange:s,testId:v,valid:o,value:t}=r,l=R(),p;e[0]!==t?(p=Ee(t),e[0]=t,e[1]=p):p=e[1];let c=p,x;e[2]!==l?(x=l("Metadata (JSON)"),e[2]=l,e[3]=x):x=e[3];let g;e[4]!==d||e[5]!==x?(g=(0,a.jsx)(q,{className:"text-xs",htmlFor:d,children:x}),e[4]=d,e[5]=x,e[6]=g):g=e[6];let O=`${v}-format`,V=c===void 0,_;e[7]!==c||e[8]!==s?(_=i(()=>{c!==void 0&&s(c)},"O"),e[7]=c,e[8]=s,e[9]=_):_=e[9];let y;e[10]!==l?(y=l("Format JSON"),e[10]=l,e[11]=y):y=e[11];let m;e[12]!==O||e[13]!==V||e[14]!==_||e[15]!==y?(m=(0,a.jsx)($,{"data-testid":O,disabled:V,onClick:_,size:"sm",variant:"outline",children:y}),e[12]=O,e[13]=V,e[14]=_,e[15]=y,e[16]=m):m=e[16];let h;e[17]!==g||e[18]!==m?(h=(0,a.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[g,m]}),e[17]=g,e[18]=m,e[19]=h):h=e[19];let N=!o,w;e[20]!==s?(w=i(K=>{s(K.target.value)},"N"),e[20]=s,e[21]=w):w=e[21];let C;e[22]!==d||e[23]!==N||e[24]!==w||e[25]!==v||e[26]!==t?(C=(0,a.jsx)(ce,{"aria-invalid":N,className:"min-h-[4rem] font-mono text-xs","data-testid":v,id:d,onChange:w,value:t}),e[22]=d,e[23]=N,e[24]=w,e[25]=v,e[26]=t,e[27]=C):C=e[27];let b;e[28]!==u||e[29]!==l||e[30]!==o?(b=!o&&(0,a.jsx)("p",{className:"text-xs text-destructive","data-testid":u,children:l("Metadata must be valid JSON.")}),e[28]=u,e[29]=l,e[30]=o,e[31]=b):b=e[31];let S;return e[32]!==C||e[33]!==b||e[34]!==h?(S=(0,a.jsxs)("div",{className:"mb-3 grid gap-1",children:[h,C,b]}),e[32]=C,e[33]=b,e[34]=h,e[35]=S):S=e[35],S},"Se"),Be={busy:!1,error:null,metadata:"",name:"",ttl:"",value:""},$e=i((r,e)=>{switch(e.type){case"setField":return{...r,[e.field]:e.value};case"submitFailed":return{...r,busy:!1,error:e.error};case"submitStart":return{...r,busy:!0,error:null};default:return r}},"Be"),je=i(r=>{let e=(0,ee.c)(73),{namespace:d,onCancel:u,onCreated:s}=r,v=G(),o=R(),[t,l]=(0,B.useReducer)($e,Be),p;e[0]!==t.metadata?(p=Fe(t.metadata),e[0]=t.metadata,e[1]=p):p=e[1];let c=p,x;e[2]!==t.ttl?(x=Ve(t.ttl),e[2]=t.ttl,e[3]=x):x=e[3];let g=x,O;e[4]!==c||e[5]!==t.busy||e[6]!==t.name||e[7]!==g?(O=t.name.trim()!==""&&c&&g&&!t.busy,e[4]=c,e[5]=t.busy,e[6]=t.name,e[7]=g,e[8]=O):O=e[8];let V=O,_;e[9]!==V||e[10]!==v||e[11]!==d||e[12]!==s||e[13]!==t.metadata||e[14]!==t.name||e[15]!==t.ttl||e[16]!==t.value?(_=i(()=>{V&&(l({type:"submitStart"}),A((async()=>{try{await v.putKvValue(Te({metadata:t.metadata,ttl:t.ttl,value:t.value},t.name,d)),s()}catch(z){l({error:Z(z),type:"submitFailed"})}})()))},"O"),e[9]=V,e[10]=v,e[11]=d,e[12]=s,e[13]=t.metadata,e[14]=t.name,e[15]=t.ttl,e[16]=t.value,e[17]=_):_=e[17];let y=_,m;e[18]!==o?(m=o("Key name"),e[18]=o,e[19]=m):m=e[19];let h;e[20]!==m?(h=(0,a.jsx)(q,{className:"text-xs",htmlFor:"kv-create-name",children:m}),e[20]=m,e[21]=h):h=e[21];let N;e[22]===Symbol.for("react.memo_cache_sentinel")?(N=i(z=>{l({field:"name",type:"setField",value:z.target.value})},"x"),e[22]=N):N=e[22];let w;e[23]!==o?(w=o("Key name"),e[23]=o,e[24]=w):w=e[24];let C;e[25]!==t.name||e[26]!==w?(C=(0,a.jsx)(ae,{autoFocus:!0,"data-testid":"kv-create-name",id:"kv-create-name",onChange:N,placeholder:w,value:t.name}),e[25]=t.name,e[26]=w,e[27]=C):C=e[27];let b;e[28]!==h||e[29]!==C?(b=(0,a.jsxs)("div",{className:"grid gap-1",children:[h,C]}),e[28]=h,e[29]=C,e[30]=b):b=e[30];let S;e[31]!==o?(S=o("Value"),e[31]=o,e[32]=S):S=e[32];let K;e[33]!==S?(K=(0,a.jsx)(q,{className:"text-xs",htmlFor:"kv-create-value",children:S}),e[33]=S,e[34]=K):K=e[34];let J;e[35]===Symbol.for("react.memo_cache_sentinel")?(J=i(z=>{l({field:"value",type:"setField",value:z.target.value})},"J"),e[35]=J):J=e[35];let T;e[36]!==t.value?(T=(0,a.jsx)(ce,{className:"min-h-[6rem] font-mono text-xs","data-testid":"kv-create-value",id:"kv-create-value",onChange:J,value:t.value}),e[36]=t.value,e[37]=T):T=e[37];let P;e[38]!==K||e[39]!==T?(P=(0,a.jsxs)("div",{className:"grid gap-1",children:[K,T]}),e[38]=K,e[39]=T,e[40]=P):P=e[40];let L=!g,M;e[41]===Symbol.for("react.memo_cache_sentinel")?(M=i(z=>{l({field:"ttl",type:"setField",value:z})},"M"),e[41]=M):M=e[41];let n;e[42]!==L?(n=(0,a.jsx)(Me,{id:"kv-create-ttl",invalid:L,onChange:M,testId:"kv-create-ttl"}),e[42]=L,e[43]=n):n=e[43];let k;e[44]===Symbol.for("react.memo_cache_sentinel")?(k=i(z=>{l({field:"metadata",type:"setField",value:z})},"h"),e[44]=k):k=e[44];let E;e[45]!==c||e[46]!==t.metadata?(E=(0,a.jsx)(Ie,{id:"kv-create-metadata",invalidTestId:"kv-create-metadata-invalid",onChange:k,testId:"kv-create-metadata",valid:c,value:t.metadata}),e[45]=c,e[46]=t.metadata,e[47]=E):E=e[47];let I=!V,F;e[48]!==t.busy||e[49]!==o?(F=t.busy?o("Creating\u2026"):o("Create key"),e[48]=t.busy,e[49]=o,e[50]=F):F=e[50];let D;e[51]!==y||e[52]!==I||e[53]!==F?(D=(0,a.jsx)($,{"data-testid":"kv-create-submit",disabled:I,onClick:y,children:F}),e[51]=y,e[52]=I,e[53]=F,e[54]=D):D=e[54];let f=t.busy,j;e[55]!==o?(j=o("Cancel"),e[55]=o,e[56]=j):j=e[56];let H;e[57]!==u||e[58]!==t.busy||e[59]!==j?(H=(0,a.jsx)($,{"data-testid":"kv-create-cancel",disabled:f,onClick:u,variant:"outline",children:j}),e[57]=u,e[58]=t.busy,e[59]=j,e[60]=H):H=e[60];let U;e[61]!==D||e[62]!==H?(U=(0,a.jsxs)("div",{className:"flex flex-wrap gap-2",children:[D,H]}),e[61]=D,e[62]=H,e[63]=U):U=e[63];let W;e[64]!==t.error?(W=t.error!==null&&(0,a.jsx)("p",{className:"text-sm text-destructive","data-testid":"kv-create-error",role:"alert",children:t.error}),e[64]=t.error,e[65]=W):W=e[65];let te;return e[66]!==b||e[67]!==P||e[68]!==n||e[69]!==E||e[70]!==U||e[71]!==W?(te=(0,a.jsxs)("div",{className:"grid gap-3 px-4 pb-4","data-testid":"kv-create-form",children:[b,P,n,E,U,W]}),e[66]=b,e[67]=P,e[68]=n,e[69]=E,e[70]=U,e[71]=W,e[72]=te):te=e[72],te},"Pe"),ze={busy:"",editedMetadata:"",editedTtl:"",editedValue:"",loadError:null,loading:!0,value:null,writeError:null},Ae=i((r,e)=>{switch(e.type){case"deleteStart":return{...r,busy:"deleting",writeError:null};case"editMetadata":return{...r,editedMetadata:e.value};case"editTtl":return{...r,editedTtl:e.value};case"editValue":return{...r,editedValue:e.value};case"loaded":return{...r,editedMetadata:e.metadata===null||e.metadata===void 0?"":JSON.stringify(e.metadata,null,2),editedValue:e.value??"",loading:!1,value:e.value};case"loadFailed":return{...r,loadError:e.error,loading:!1};case"saveOk":return{...r,busy:"",value:r.editedValue};case"saveStart":return{...r,busy:"saving",writeError:null};case"writeFailed":return{...r,busy:"",writeError:e.error};default:return r}},"Ae"),He=i(r=>{let e=(0,ee.c)(67),{expiration:d,keyName:u,namespace:s,onDeleted:v}=r,o=G(),t=R(),[l,p]=(0,B.useReducer)(Ae,ze),c,x;e[0]!==o||e[1]!==u||e[2]!==s?(c=i(()=>{let f={cancelled:!1};return A((async()=>{try{let j=await o.getKvValue({key:u,namespace:s});f.cancelled||p({metadata:j.metadata,type:"loaded",value:j.value})}catch(j){let H=j;f.cancelled||p({error:Z(H),type:"loadFailed"})}})()),()=>{f.cancelled=!0}},"o"),x=[o,s,u],e[0]=o,e[1]=u,e[2]=s,e[3]=c,e[4]=x):(c=e[3],x=e[4]),(0,B.useEffect)(c,x);let g;e[5]===Symbol.for("react.memo_cache_sentinel")?(g=i(f=>{p({type:"editValue",value:f.target.value})},"b"),e[5]=g):g=e[5];let O=g,V;e[6]===Symbol.for("react.memo_cache_sentinel")?(V=i(f=>{p({type:"editMetadata",value:f})},"E"),e[6]=V):V=e[6];let _=V,y;e[7]!==l.editedValue?(y=Ee(l.editedValue),e[7]=l.editedValue,e[8]=y):y=e[8];let m=y,h;e[9]!==l.editedMetadata?(h=Fe(l.editedMetadata),e[9]=l.editedMetadata,e[10]=h):h=e[10];let N=h,w;e[11]!==l.editedTtl?(w=Ve(l.editedTtl),e[11]=l.editedTtl,e[12]=w):w=e[12];let C=w,b;e[13]!==m?(b=i(()=>{m!==void 0&&p({type:"editValue",value:m})},"k"),e[13]=m,e[14]=b):b=e[14];let S=b,K;e[15]!==o||e[16]!==d||e[17]!==u||e[18]!==N||e[19]!==s||e[20]!==l.editedMetadata||e[21]!==l.editedTtl||e[22]!==l.editedValue||e[23]!==t?(K=i(()=>{if(!N){p({error:t("Metadata must be valid JSON."),type:"writeFailed"});return}p({type:"saveStart"}),A((async()=>{try{await o.putKvValue(Te({metadata:l.editedMetadata,ttl:l.editedTtl,value:l.editedValue},u,s,d)),p({type:"saveOk"})}catch(f){p({error:Z(f),type:"writeFailed"})}})())},"K"),e[15]=o,e[16]=d,e[17]=u,e[18]=N,e[19]=s,e[20]=l.editedMetadata,e[21]=l.editedTtl,e[22]=l.editedValue,e[23]=t,e[24]=K):K=e[24];let J=K,T;e[25]!==o||e[26]!==u||e[27]!==s||e[28]!==v?(T=i(()=>{p({type:"deleteStart"}),A((async()=>{try{await o.deleteKvKey({key:u,namespace:s}),v(u)}catch(f){p({error:Z(f),type:"writeFailed"})}})())},"V"),e[25]=o,e[26]=u,e[27]=s,e[28]=v,e[29]=T):T=e[29];let P=T,L;e[30]!==u?(L=i(()=>{de(u)},"D"),e[30]=u,e[31]=L):L=e[31];let M;e[32]!==t?(M=t("Copy key"),e[32]=t,e[33]=M):M=e[33];let n;e[34]!==L||e[35]!==M?(n=(0,a.jsx)("div",{className:"mb-2 flex justify-end",children:(0,a.jsx)($,{"data-testid":"kv-copy-key-btn",onClick:L,size:"sm",variant:"outline",children:M})}),e[34]=L,e[35]=M,e[36]=n):n=e[36];let k;e[37]!==l.loadError?(k=l.loadError!==null&&(0,a.jsx)("p",{className:"mb-2 text-sm text-destructive","data-testid":"kv-value-error",role:"alert",children:l.loadError}),e[37]=l.loadError,e[38]=k):k=e[38];let E;e[39]!==l.loading||e[40]!==t?(E=l.loading&&(0,a.jsx)("p",{className:"text-sm text-muted-foreground","data-testid":"kv-value-loading",children:t("Loading\u2026")}),e[39]=l.loading,e[40]=t,e[41]=E):E=e[41];let I;e[42]!==m||e[43]!==N||e[44]!==P||e[45]!==S||e[46]!==J||e[47]!==l.busy||e[48]!==l.editedMetadata||e[49]!==l.editedValue||e[50]!==l.loading||e[51]!==l.value||e[52]!==l.writeError||e[53]!==t||e[54]!==C?(I=!l.loading&&l.value!==null&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)("div",{className:"mb-1 flex flex-wrap items-center gap-2",children:[(0,a.jsx)(q,{className:"text-xs",htmlFor:"kv-value-editor",children:t("Value")}),m!==void 0&&(0,a.jsx)(he,{variant:"secondary",children:t("JSON")}),(0,a.jsx)("span",{className:"ml-auto text-xs tabular-nums text-muted-foreground","data-testid":"kv-value-size",children:be(Pe(l.editedValue))})]}),(0,a.jsx)("textarea",{"aria-label":t("KV value"),className:"mb-2 min-h-[8rem] w-full rounded border border-border bg-muted/30 p-2 font-mono text-xs","data-testid":"kv-value-editor",id:"kv-value-editor",onChange:O,value:l.editedValue}),(0,a.jsxs)("div",{className:"mb-3 flex flex-wrap gap-2",children:[(0,a.jsx)($,{"data-testid":"kv-format-btn",disabled:m===void 0,onClick:S,size:"sm",variant:"outline",children:t("Format JSON")}),(0,a.jsx)($,{"data-testid":"kv-copy-value-btn",onClick:i(()=>{de(l.editedValue)},"onClick"),size:"sm",variant:"outline",children:t("Copy value")})]}),(0,a.jsx)(Me,{helper:t("Leave blank to keep the current expiration."),id:"kv-ttl-input",invalid:!C,onChange:i(f=>{p({type:"editTtl",value:f})},"onChange"),testId:"kv-ttl-input"}),(0,a.jsx)(Ie,{id:"kv-metadata-editor",invalidTestId:"kv-metadata-invalid",onChange:_,testId:"kv-metadata-editor",valid:N,value:l.editedMetadata}),(0,a.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,a.jsx)($,{"data-testid":"kv-save-btn",disabled:l.busy!==""||!N||!C,onClick:J,children:l.busy==="saving"?t("Saving\u2026"):t("Save")}),(0,a.jsx)($,{"data-testid":"kv-delete-btn",disabled:l.busy!=="",onClick:P,variant:"destructive",children:l.busy==="deleting"?t("Deleting\u2026"):t("Delete")})]}),l.writeError!==null&&(0,a.jsx)("p",{className:"mt-2 text-sm text-destructive","data-testid":"kv-save-error",role:"alert",children:l.writeError})]}),e[42]=m,e[43]=N,e[44]=P,e[45]=S,e[46]=J,e[47]=l.busy,e[48]=l.editedMetadata,e[49]=l.editedValue,e[50]=l.loading,e[51]=l.value,e[52]=l.writeError,e[53]=t,e[54]=C,e[55]=I):I=e[55];let F;e[56]!==l.loadError||e[57]!==l.loading||e[58]!==l.value||e[59]!==t?(F=!l.loading&&l.value===null&&l.loadError===null&&(0,a.jsx)("p",{className:"text-sm text-muted-foreground","data-testid":"kv-absent",children:t("Key is absent or has no value.")}),e[56]=l.loadError,e[57]=l.loading,e[58]=l.value,e[59]=t,e[60]=F):F=e[60];let D;return e[61]!==n||e[62]!==k||e[63]!==E||e[64]!==I||e[65]!==F?(D=(0,a.jsxs)("div",{className:"px-4 pb-4","data-testid":"kv-value-section",children:[n,k,E,I,F]}),e[61]=n,e[62]=k,e[63]=E,e[64]=I,e[65]=F,e[66]=D):D=e[66],D},"ze"),Se=100,Ze={appliedPrefix:"",bulk:[],bulkBusy:!1,bulkError:null,cursor:null,keys:null,listComplete:!1,loadError:null,loading:!1,prefixInput:"",reloadNonce:0,selectedKey:null},Re=i((r,e)=>{switch(e.type){case"appendPage":return{...r,cursor:e.cursor,keys:[...r.keys??[],...e.keys],listComplete:e.listComplete,loading:!1};case"applyFilter":return{...r,appliedPrefix:r.prefixInput,bulk:[],bulkError:null,cursor:null,keys:null,listComplete:!1,selectedKey:null};case"bulkDeleted":{let d=new Set(e.deleted);return{...r,bulk:r.bulk.filter(u=>!d.has(u)),bulkBusy:!1,bulkError:e.error,keys:r.keys===null?null:r.keys.filter(u=>!d.has(u.name)),selectedKey:r.selectedKey!==null&&d.has(r.selectedKey)?null:r.selectedKey}}case"bulkDeleteStart":return{...r,bulkBusy:!0,bulkError:null};case"firstPage":return{...r,cursor:e.cursor,keys:e.keys,listComplete:e.listComplete,loading:!1};case"keyDeleted":return{...r,bulk:r.bulk.filter(d=>d!==e.name),keys:r.keys===null?null:r.keys.filter(d=>d.name!==e.name),selectedKey:null};case"loadFailed":return{...r,loadError:e.error,loading:!1};case"loadStart":return{...r,loadError:null,loading:!0};case"prefixInput":return{...r,prefixInput:e.value};case"reload":return{...r,bulk:[],bulkError:null,reloadNonce:r.reloadNonce+1,selectedKey:null};case"selectKey":return{...r,selectedKey:e.name};case"toggleAllBulk":return{...r,bulk:e.names};case"toggleBulk":return{...r,bulk:r.bulk.includes(e.name)?r.bulk.filter(d=>d!==e.name):[...r.bulk,e.name]};default:return r}},"Re"),Ue=i(({namespace:r})=>{let e=G(),d=R(),[u,s]=(0,B.useReducer)(Re,Ze),{appliedPrefix:v,bulk:o,bulkBusy:t,bulkError:l,cursor:p,keys:c,listComplete:x,loadError:g,loading:O,prefixInput:V,reloadNonce:_,selectedKey:y}=u,[m,h]=(0,B.useState)(!1);(0,B.useEffect)(()=>{let n={cancelled:!1};return A((async()=>{s({type:"loadStart"});try{let k=await e.listKvKeys({limit:Se,namespace:r,prefix:v===""?void 0:v});n.cancelled||s({cursor:k.cursor??null,keys:k.keys,listComplete:k.listComplete,type:"firstPage"})}catch(k){n.cancelled||s({error:Z(k),type:"loadFailed"})}})()),()=>{n.cancelled=!0}},[e,r,v,_]);let N=i(n=>{s({type:"prefixInput",value:n.target.value})},"x"),w=i(()=>{s({type:"applyFilter"})},"N"),C=i(n=>{s({name:n.currentTarget.dataset.key??null,type:"selectKey"})},"C"),b=i(()=>{p!==null&&(s({type:"loadStart"}),A((async()=>{try{let n=await e.listKvKeys({cursor:p,limit:Se,namespace:r,prefix:v===""?void 0:v});s({cursor:n.cursor??null,keys:n.keys,listComplete:n.listComplete,type:"appendPage"})}catch(n){s({error:Z(n),type:"loadFailed"})}})()))},"k"),S=i(n=>{s({name:n,type:"keyDeleted"})},"w"),K=i(n=>{s({name:n,type:"toggleBulk"})},"K"),J=i(n=>{s({names:n&&c!==null?c.map(k=>k.name):[],type:"toggleAllBulk"})},"J"),T=i(()=>{if(o.length===0)return;let n=[...o];s({type:"bulkDeleteStart"}),A((async()=>{let k=await Promise.allSettled(n.map(F=>e.deleteKvKey({key:F,namespace:r}))),E=n.filter((F,D)=>k[D]?.status==="fulfilled"),I=n.length-E.length;s({deleted:E,error:I>0?d("Failed to delete {count} keys.",{count:I}):null,type:"bulkDeleted"})})())},"V"),P=i(()=>{h(!1),s({type:"reload"})},"L"),L=c!==null&&c.length>0&&o.length===c.length,M=new Set(o);return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)("section",{className:"border border-border bg-card p-3","data-testid":"kv-keys-section",children:[(0,a.jsxs)("div",{className:"mb-3 flex flex-wrap items-center gap-2",children:[(0,a.jsx)(ae,{"aria-label":d("Filter keys by prefix"),className:"min-w-[16rem] flex-1","data-testid":"kv-prefix-input",onChange:N,placeholder:d("Filter by prefix\u2026"),value:V}),(0,a.jsx)($,{"data-testid":"kv-filter-btn",disabled:O,onClick:w,children:d("Filter")}),(0,a.jsx)($,{"data-testid":"kv-new-key-btn",onClick:i(()=>{h(n=>!n)},"onClick"),variant:"outline",children:d("New key")}),o.length>0&&(0,a.jsx)($,{"data-testid":"kv-bulk-delete-btn",disabled:t,onClick:T,variant:"destructive",children:t?d("Deleting\u2026"):d("Delete {count}",{count:o.length})})]}),l!==null&&(0,a.jsx)("p",{className:"mb-2 text-sm text-destructive","data-testid":"kv-bulk-error",role:"alert",children:l}),g!==null&&(0,a.jsx)("p",{className:"text-sm text-destructive","data-testid":"kv-keys-error",role:"alert",children:g}),c!==null&&c.length===0&&!O&&(0,a.jsx)("p",{className:"text-sm text-muted-foreground","data-testid":"kv-no-keys",children:d("No keys.")}),c!==null&&c.length>0&&(0,a.jsx)(re,{className:"overflow-hidden py-0",children:(0,a.jsx)(ne,{className:"px-0",children:(0,a.jsxs)(se,{"data-testid":"kv-key-table",children:[(0,a.jsx)(ie,{children:(0,a.jsxs)(Q,{children:[(0,a.jsx)(X,{className:"w-10",children:(0,a.jsx)(ue,{"aria-label":d("Select all"),checked:L,"data-testid":"kv-select-all",onCheckedChange:J})}),(0,a.jsx)(X,{children:d("Key")}),(0,a.jsx)(X,{children:d("Expiration")})]})}),(0,a.jsx)(oe,{children:c.map(n=>(0,a.jsxs)(Q,{className:n.name===y?"border-l-2 border-l-royal-amethyst bg-muted/50":"cursor-pointer","data-key":n.name,"data-testid":`kv-key-row-${n.name}`,onClick:C,children:[(0,a.jsx)(Y,{onClick:i(k=>{k.stopPropagation()},"onClick"),children:(0,a.jsx)(ue,{"aria-label":d("Select {name}",{name:n.name}),checked:M.has(n.name),"data-testid":`kv-select-${n.name}`,onCheckedChange:i(()=>{K(n.name)},"onCheckedChange")})}),(0,a.jsx)(Y,{className:"font-mono text-xs",children:n.name}),(0,a.jsx)(Y,{className:"tabular-nums text-xs",children:Le(n.expiration)})]},n.name))})]})})}),!x&&p!==null&&(0,a.jsx)("div",{className:"mt-2",children:(0,a.jsx)($,{"data-testid":"kv-load-more",disabled:O,onClick:b,variant:"outline",children:d(O?"Loading\u2026":"Load more")})})]}),(0,a.jsx)(me,{onOpenChange:i(n=>{n||h(!1)},"onOpenChange"),open:m,children:(0,a.jsxs)(ve,{className:"w-full gap-0 overflow-y-auto sm:max-w-md","data-testid":"kv-create-sheet",side:"right",children:[(0,a.jsx)(pe,{children:(0,a.jsx)(ye,{children:d("New key")})}),(0,a.jsx)(je,{namespace:r,onCancel:i(()=>{h(!1)},"onCancel"),onCreated:P})]})}),(0,a.jsx)(me,{onOpenChange:i(n=>{n||s({name:null,type:"selectKey"})},"onOpenChange"),open:y!==null,children:(0,a.jsxs)(ve,{className:"w-full gap-0 overflow-y-auto sm:max-w-md","data-testid":"kv-editor-sheet",side:"right",children:[(0,a.jsx)(pe,{children:(0,a.jsx)(ye,{className:"truncate font-mono text-xs",children:y})}),y!==null&&(0,a.jsx)(He,{expiration:c?.find(n=>n.name===y)?.expiration,keyName:y,namespace:r,onDeleted:S},`${r}:${y}`)]})})]})},"Ue"),it=i(({loadNamespaces:r}={})=>{let e=G(),d=R(),[u,s]=(0,B.useState)(null),[v,o]=(0,B.useState)(null),[t,l]=(0,B.useState)(null);(0,B.useEffect)(()=>{let c={cancelled:!1};return A((async()=>{try{let x=await(r??(()=>e.listKvNamespaces()))();c.cancelled||(s(x),o(null),l(g=>g??x[0]?.binding??null))}catch(x){c.cancelled||(s(null),o(Z(x)))}})()),()=>{c.cancelled=!0}},[e,r]);let p=i(c=>{l(c.currentTarget.dataset.ns??null)},"v");return(0,a.jsxs)("div",{className:"flex flex-col gap-4","data-testid":"lunora-kv-browser",children:[v!==null&&(0,a.jsx)("p",{className:"text-sm text-destructive","data-testid":"kv-ns-error",role:"alert",children:v}),u!==null&&u.length===0&&(0,a.jsx)(ke,{description:d("Add a kv_namespaces binding to wrangler.jsonc \u2014 it appears here automatically, no wiring needed."),icon:(0,a.jsx)("svg",{"aria-hidden":"true",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.6,viewBox:"0 0 24 24",children:(0,a.jsx)("path",{d:"M5 5h14v4H5V5Zm0 5h14v4H5v-4Zm0 5h14v4H5v-4Z"})}),testId:"kv-empty",title:d("No KV namespaces.")}),u!==null&&u.length>0&&(0,a.jsx)(re,{className:"overflow-hidden py-0",children:(0,a.jsx)(ne,{className:"px-0",children:(0,a.jsxs)(se,{"data-testid":"kv-namespace-table",children:[(0,a.jsx)(ie,{children:(0,a.jsx)(Q,{children:(0,a.jsx)(X,{children:d("Namespace")})})}),(0,a.jsx)(oe,{children:u.map(c=>(0,a.jsx)(Q,{className:c.binding===t?"border-l-2 border-l-royal-amethyst bg-muted/50":"cursor-pointer","data-ns":c.binding,"data-testid":`kv-ns-row-${c.binding}`,onClick:p,children:(0,a.jsx)(Y,{className:"font-mono text-xs",children:c.binding})},c.binding))})]})})}),t!==null&&(0,a.jsx)(Ue,{namespace:t},t)]})},"ct");export{it as KvBrowser};