@lunora/studio 1.0.0-alpha.28 → 1.0.0-alpha.280

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 (352) hide show
  1. package/LICENSE.md +6 -0
  2. package/README.md +1 -1
  3. package/dist/index.d.mts +1581 -0
  4. package/dist/index.d.ts +974 -806
  5. package/dist/index.mjs +1 -0
  6. package/dist/mount.d.mts +22 -0
  7. package/dist/mount.d.ts +11 -10
  8. package/dist/mount.mjs +1 -0
  9. package/dist/packem_chunks/AdvisorHealthPanel.mjs +1 -0
  10. package/dist/packem_chunks/ApiTab.mjs +1 -0
  11. package/dist/packem_chunks/AuditPanel.mjs +1 -0
  12. package/dist/packem_chunks/DeploymentHealthPanel.mjs +1 -0
  13. package/dist/packem_chunks/ExportImportPanel.mjs +3 -0
  14. package/dist/packem_chunks/FileBrowser.mjs +4 -0
  15. package/dist/packem_chunks/FunctionRunner.mjs +1 -0
  16. package/dist/packem_chunks/FunctionStatsPanel.mjs +1 -0
  17. package/dist/packem_chunks/HealthPanel.mjs +1 -0
  18. package/dist/packem_chunks/InsightsPanel.mjs +1 -0
  19. package/dist/packem_chunks/LogsPanel.mjs +1 -0
  20. package/dist/packem_chunks/MailPanel.mjs +2 -0
  21. package/dist/packem_chunks/MetricsPanel.mjs +1 -0
  22. package/dist/packem_chunks/NotificationsPanel.mjs +1 -0
  23. package/dist/packem_chunks/PitrPanel.mjs +1 -0
  24. package/dist/packem_chunks/SchemaViewer.mjs +1 -0
  25. package/dist/packem_chunks/SecurityAdvisorPanel.mjs +1 -0
  26. package/dist/packem_chunks/SettingsPanel.mjs +1 -0
  27. package/dist/packem_chunks/SqlEditorPanel.mjs +10 -0
  28. package/dist/packem_chunks/TableEditor.mjs +1 -0
  29. package/dist/packem_chunks/agents-panel.mjs +1 -0
  30. package/dist/packem_chunks/ai-usage-panel.mjs +1 -0
  31. package/dist/packem_chunks/analytics-panel.mjs +1 -0
  32. package/dist/packem_chunks/architecture-panel.mjs +1 -0
  33. package/dist/packem_chunks/auth-audit-panel.mjs +1 -0
  34. package/dist/packem_chunks/auth-config-panel.mjs +1 -0
  35. package/dist/packem_chunks/auth-sessions-panel.mjs +1 -0
  36. package/dist/packem_chunks/containers-panel.mjs +1 -0
  37. package/dist/packem_chunks/dashboards-panel.mjs +1 -0
  38. package/dist/packem_chunks/evals-panel.mjs +1 -0
  39. package/dist/packem_chunks/fanout-panel.mjs +1 -0
  40. package/dist/packem_chunks/flags-panel.mjs +1 -0
  41. package/dist/packem_chunks/issues-panel.mjs +1 -0
  42. package/dist/packem_chunks/kv-browser.mjs +1 -0
  43. package/dist/packem_chunks/log-drains-panel.mjs +4 -0
  44. package/dist/packem_chunks/migrations-route.mjs +1 -0
  45. package/dist/packem_chunks/organizations-panel.mjs +1 -0
  46. package/dist/packem_chunks/payments-panel.mjs +1 -0
  47. package/dist/packem_chunks/permissions-panel.mjs +1 -0
  48. package/dist/packem_chunks/queues-panel.mjs +1 -0
  49. package/dist/packem_chunks/reactors-panel.mjs +1 -0
  50. package/dist/packem_chunks/rls-panel.mjs +1 -0
  51. package/dist/packem_chunks/schedule-panel.mjs +1 -0
  52. package/dist/packem_chunks/sparkline.mjs +1 -0
  53. package/dist/packem_chunks/storage-rules-panel.mjs +1 -0
  54. package/dist/packem_chunks/subscriptions-panel.mjs +1 -0
  55. package/dist/packem_chunks/sync-client-panel.mjs +1 -0
  56. package/dist/packem_chunks/traces-panel.mjs +1 -0
  57. package/dist/packem_chunks/users-panel.mjs +1 -0
  58. package/dist/packem_chunks/vector-browser.mjs +1 -0
  59. package/dist/packem_chunks/workflows-panel.mjs +1 -0
  60. package/dist/packem_shared/ADMIN_FUNCTIONS-B8yyk5BX.mjs +1 -0
  61. package/dist/packem_shared/ApiDocsPanel-fhDlZGE4.mjs +2 -0
  62. package/dist/packem_shared/ApiReferencePanel-nAf8tNRr.mjs +1 -0
  63. package/dist/packem_shared/CommandPalette-D9ZY-qQd.mjs +1 -0
  64. package/dist/packem_shared/ConfirmButton-DU4p72Er.mjs +1 -0
  65. package/dist/packem_shared/ConnectionBadge-B8Hj5DaE.mjs +1 -0
  66. package/dist/packem_shared/DEFAULT_AUTO_REFRESH_MS-DuULO4XM.mjs +1 -0
  67. package/dist/packem_shared/DEFAULT_INSIGHT_THRESHOLDS-D5YMT0gM.mjs +1 -0
  68. package/dist/packem_shared/DEFAULT_LOCALE-A1Yg5ORA.mjs +1 -0
  69. package/dist/packem_shared/DataBrowser-C14aRmmR.mjs +4 -0
  70. package/dist/packem_shared/DataFilters-CYZFt2EK.mjs +1 -0
  71. package/dist/packem_shared/ErrorBoundary-BWNF98VF.mjs +1 -0
  72. package/dist/packem_shared/GlobalDataBrowser-DhObcZDY.mjs +1 -0
  73. package/dist/packem_shared/HomePanel-C-g2umyB.mjs +1 -0
  74. package/dist/packem_shared/MigrationsPanel-CkVIwAbK.mjs +1 -0
  75. package/dist/packem_shared/OpenRpcReferencePanel-BxEr49D9.mjs +1 -0
  76. package/dist/packem_shared/STUDIO_ROOT_CLASS-C6MccdVk.mjs +1 -0
  77. package/dist/packem_shared/ScheduledJobs-BZNcYWBP.mjs +1 -0
  78. package/dist/packem_shared/ShardInput-C6mjgAh4.mjs +1 -0
  79. package/dist/packem_shared/Studio-D2BDkB20.mjs +1 -0
  80. package/dist/packem_shared/StudioApp-IeTX2moM.mjs +1 -0
  81. package/dist/packem_shared/StudioI18nProvider-fVsCSs5L.mjs +1 -0
  82. package/dist/packem_shared/advisor-view-DzI2RQhY.mjs +1 -0
  83. package/dist/packem_shared/aggregateMetrics-DKFJc-o5.mjs +1 -0
  84. package/dist/packem_shared/alert-PB5W11MM.mjs +1 -0
  85. package/dist/packem_shared/app.d-BIfsPhiH.d.mts +310 -0
  86. package/dist/packem_shared/app.d-BIfsPhiH.d.ts +310 -0
  87. package/dist/packem_shared/auth-pager-DiDnXsfe.mjs +1 -0
  88. package/dist/packem_shared/badge-r_5B4LHP.mjs +1 -0
  89. package/dist/packem_shared/bar-chart-BCsEIQoQ.mjs +6 -0
  90. package/dist/packem_shared/browser-storage-BH1MxLZs.mjs +1 -0
  91. package/dist/packem_shared/button-q0UYSmrn.mjs +1 -0
  92. package/dist/packem_shared/card-By2O8ULa.mjs +1 -0
  93. package/dist/packem_shared/cf-links-CBJ5SywP.mjs +1 -0
  94. package/dist/packem_shared/checkbox-CnS9cyCz.mjs +1 -0
  95. package/dist/packem_shared/control-button-BOZ5K-FC.mjs +1 -0
  96. package/dist/packem_shared/data-grid-DIiNmDR9.mjs +1 -0
  97. package/dist/packem_shared/data-view-params-DhYmAkcj.mjs +1 -0
  98. package/dist/packem_shared/diagram-export-panel-D5CVNJkp.mjs +2 -0
  99. package/dist/packem_shared/dropdown-menu-jLZenfWH.mjs +2 -0
  100. package/dist/packem_shared/empty-state-D7jEML_T.mjs +1 -0
  101. package/dist/packem_shared/error-alert-DueSEkt-.mjs +1 -0
  102. package/dist/packem_shared/grid-features-OVIMIQan.mjs +6 -0
  103. package/dist/packem_shared/grid-pagination-DgzyzfBh.mjs +1 -0
  104. package/dist/packem_shared/home-panel-DIaVZra4.mjs +3 -0
  105. package/dist/packem_shared/input-CXhxesPC.mjs +1 -0
  106. package/dist/packem_shared/internal-Df43vQI0.mjs +2 -0
  107. package/dist/packem_shared/label-DKFzyHq6.mjs +1 -0
  108. package/dist/packem_shared/live-status-BuJdUZFU.mjs +1 -0
  109. package/dist/packem_shared/log-fields-BolUoZ9g.mjs +1 -0
  110. package/dist/packem_shared/log-line-CICyJ_kc.mjs +1 -0
  111. package/dist/packem_shared/metrics-format-1sNGG47R.mjs +1 -0
  112. package/dist/packem_shared/modal-shell-CDztwLnv.mjs +1 -0
  113. package/dist/packem_shared/operation-console-provider-DoloEvon.mjs +1 -0
  114. package/dist/packem_shared/recording-client-CyFiAE2l.mjs +1 -0
  115. package/dist/packem_shared/reference-view-CIHyURU6.mjs +13 -0
  116. package/dist/packem_shared/schema-diagram-C5oilX7l.mjs +2 -0
  117. package/dist/packem_shared/scroll-area-CXCQH7VT.mjs +2 -0
  118. package/dist/packem_shared/select-DPyS18Vy.mjs +2 -0
  119. package/dist/packem_shared/shard-history-CaO3C4KQ.mjs +1 -0
  120. package/dist/packem_shared/shortcuts-B9gDaXmw.mjs +1 -0
  121. package/dist/packem_shared/skeleton-DX1gfixl.mjs +1 -0
  122. package/dist/packem_shared/sparkline-B_sPPO_8.mjs +1 -0
  123. package/dist/packem_shared/sql-result-table-DyK762_A.mjs +1 -0
  124. package/dist/packem_shared/stat-card-BAv73QtB.mjs +1 -0
  125. package/dist/packem_shared/storage-tier-C2mKwYRj.mjs +1 -0
  126. package/dist/packem_shared/studio-ySYj-BsV.mjs +2 -0
  127. package/dist/packem_shared/table-D0SBiDu-.mjs +2 -0
  128. package/dist/packem_shared/table-list-sidebar-DkPO_Qtz.mjs +1 -0
  129. package/dist/packem_shared/textarea--40GKAyz.mjs +1 -0
  130. package/dist/packem_shared/trace-handoff-BV3EWqy_.mjs +1 -0
  131. package/dist/packem_shared/use-admin-query-tlBof8Yg.mjs +1 -0
  132. package/dist/packem_shared/use-admin-spec-Bir7V68L.mjs +1 -0
  133. package/dist/packem_shared/use-async-submit-CZqCMTJ_.mjs +1 -0
  134. package/dist/packem_shared/use-auth-config-Z_n4ABCI.mjs +1 -0
  135. package/dist/packem_shared/use-mirrored-ref-CVDf2z1M.mjs +1 -0
  136. package/dist/packem_shared/use-open-trace-DMVhpnyG.mjs +1 -0
  137. package/dist/packem_shared/use-shard-key-BsP3o5wT.mjs +1 -0
  138. package/dist/packem_shared/use-sql-assistant-CZydTzd5.mjs +1 -0
  139. package/dist/packem_shared/useDebounced-DVeQ5-oW.mjs +1 -0
  140. package/dist/packem_shared/utils-bhneXptQ.mjs +1 -0
  141. package/dist/packem_shared/virtual-rect-D_j7aLxX.mjs +1 -0
  142. package/dist/packem_shared/wire-codec-B2DgCbKt.mjs +1 -0
  143. package/dist/standalone/chunk-253UHWDX.js +1 -0
  144. package/dist/standalone/chunk-2C2CK4OP.js +1 -0
  145. package/dist/standalone/chunk-2I4NHEKA.js +1 -0
  146. package/dist/standalone/chunk-2IKDEUCX.js +1 -0
  147. package/dist/standalone/chunk-2QRQ47DY.js +1 -0
  148. package/dist/standalone/chunk-2VA5S3IA.js +1 -0
  149. package/dist/standalone/chunk-2XM43DQY.js +1 -0
  150. package/dist/standalone/chunk-37WYCOQ2.js +1 -0
  151. package/dist/standalone/chunk-3INQBLUL.js +15 -0
  152. package/dist/standalone/chunk-3JIBSDYD.js +1 -0
  153. package/dist/standalone/chunk-3YXASVTP.js +1 -0
  154. package/dist/standalone/chunk-4A4QVEIO.js +14 -0
  155. package/dist/standalone/chunk-4TSESMZM.js +1 -0
  156. package/dist/standalone/chunk-4WD4XGC3.js +1 -0
  157. package/dist/standalone/chunk-4XY6P6O2.js +1 -0
  158. package/dist/standalone/chunk-4ZEL6BYL.js +1 -0
  159. package/dist/standalone/chunk-55UGUCQ6.js +1 -0
  160. package/dist/standalone/chunk-5B2RTXBS.js +1 -0
  161. package/dist/standalone/chunk-5D4HDDZA.js +1 -0
  162. package/dist/standalone/chunk-5KP5IU5E.js +1 -0
  163. package/dist/standalone/chunk-5QR2SQIS.js +1 -0
  164. package/dist/standalone/chunk-6HLARDYO.js +1 -0
  165. package/dist/standalone/chunk-6QTAHSDD.js +1 -0
  166. package/dist/standalone/chunk-6UECMMYG.js +1 -0
  167. package/dist/standalone/chunk-7D5NHCBE.js +3 -0
  168. package/dist/standalone/chunk-7G4Z6Q7X.js +1 -0
  169. package/dist/standalone/chunk-7RKB5KS7.js +1 -0
  170. package/dist/standalone/chunk-7Y3SY37W.js +1 -0
  171. package/dist/standalone/chunk-A6SCRA33.js +1 -0
  172. package/dist/standalone/chunk-ADAFJBAB.js +1 -0
  173. package/dist/standalone/chunk-AFSCX4L2.js +1 -0
  174. package/dist/standalone/chunk-AUAECCXB.js +1 -0
  175. package/dist/standalone/chunk-AUGKHAMQ.js +1 -0
  176. package/dist/standalone/chunk-B3K4TPMS.js +1 -0
  177. package/dist/standalone/chunk-BHDKS2I4.js +1 -0
  178. package/dist/standalone/chunk-BOMPSVRC.js +1 -0
  179. package/dist/standalone/chunk-BR6TAX5O.js +1 -0
  180. package/dist/standalone/chunk-CCDX5RYT.js +1 -0
  181. package/dist/standalone/chunk-CGQMJYCW.js +1 -0
  182. package/dist/standalone/chunk-CVXNHIQW.js +1 -0
  183. package/dist/standalone/chunk-E4PXACVL.js +3 -0
  184. package/dist/standalone/chunk-ECY2JC5F.js +1 -0
  185. package/dist/standalone/chunk-ENSF4SFQ.js +1 -0
  186. package/dist/standalone/chunk-FKYCRYXM.js +1 -0
  187. package/dist/standalone/chunk-FPI7AMQJ.js +1 -0
  188. package/dist/standalone/chunk-FUYEZFBP.js +1 -0
  189. package/dist/standalone/chunk-GHQ2VDI2.js +1 -0
  190. package/dist/standalone/chunk-GVED235U.js +1 -0
  191. package/dist/standalone/chunk-HCTJKP5J.js +1 -0
  192. package/dist/standalone/chunk-HJHSQPHW.js +19 -0
  193. package/dist/standalone/chunk-I26MS5PJ.js +1 -0
  194. package/dist/standalone/chunk-IA4I6I6M.js +1 -0
  195. package/dist/standalone/chunk-IENIP4IW.js +1 -0
  196. package/dist/standalone/chunk-IWZ7GVQO.js +1 -0
  197. package/dist/standalone/chunk-J3HF2D46.js +1 -0
  198. package/dist/standalone/chunk-JHIDJTHX.js +1 -0
  199. package/dist/standalone/chunk-JLZ2PI6F.js +1 -0
  200. package/dist/standalone/chunk-JQXA2OYK.js +1 -0
  201. package/dist/standalone/chunk-JTPQGMK5.js +1 -0
  202. package/dist/standalone/chunk-JZGTSH2C.js +4 -0
  203. package/dist/standalone/chunk-KDTQ2KSC.js +1 -0
  204. package/dist/standalone/chunk-KL26TJN3.js +9 -0
  205. package/dist/standalone/chunk-KLHSMDVW.js +1 -0
  206. package/dist/standalone/chunk-LM2KKPPN.js +1 -0
  207. package/dist/standalone/chunk-M4BJ3P5W.js +1 -0
  208. package/dist/standalone/chunk-MBH2ZRBW.js +1 -0
  209. package/dist/standalone/chunk-MCHHNGVN.js +1 -0
  210. package/dist/standalone/chunk-MH42XT6B.js +1 -0
  211. package/dist/standalone/chunk-MMJF6WFU.js +1 -0
  212. package/dist/standalone/chunk-MNHPOCDO.js +59 -0
  213. package/dist/standalone/chunk-MRMVWGKS.js +3 -0
  214. package/dist/standalone/chunk-MRQMB65H.js +1 -0
  215. package/dist/standalone/chunk-MVWZMWPD.js +1 -0
  216. package/dist/standalone/chunk-MYFJH57W.js +1 -0
  217. package/dist/standalone/chunk-N2NNEOPR.js +1 -0
  218. package/dist/standalone/chunk-NCPW7WHO.js +1 -0
  219. package/dist/standalone/chunk-NDTQTKDX.js +6 -0
  220. package/dist/standalone/chunk-NGVP66OH.js +1 -0
  221. package/dist/standalone/chunk-NQZALRU3.js +1 -0
  222. package/dist/standalone/chunk-NRP22GKC.js +1 -0
  223. package/dist/standalone/chunk-NW4XO52E.js +1 -0
  224. package/dist/standalone/chunk-NXQW5E6W.js +1 -0
  225. package/dist/standalone/chunk-OACO7GME.js +15 -0
  226. package/dist/standalone/chunk-OB7U2YW6.js +8 -0
  227. package/dist/standalone/chunk-OPM7ESDV.js +1 -0
  228. package/dist/standalone/chunk-OQ6I6OXT.js +2 -0
  229. package/dist/standalone/chunk-OSGXNEFA.js +1 -0
  230. package/dist/standalone/chunk-OV6S2DI2.js +1 -0
  231. package/dist/standalone/chunk-OYCUPD3Q.js +1 -0
  232. package/dist/standalone/chunk-P43E42JJ.js +5 -0
  233. package/dist/standalone/chunk-PIMTWCRD.js +1 -0
  234. package/dist/standalone/chunk-Q6ED4KUL.js +1 -0
  235. package/dist/standalone/chunk-Q6IT6ZD7.js +1 -0
  236. package/dist/standalone/chunk-QAQDMS6R.js +1 -0
  237. package/dist/standalone/chunk-QJLHH3ET.js +1 -0
  238. package/dist/standalone/chunk-R6U22RSY.js +1 -0
  239. package/dist/standalone/chunk-RDHCHWRR.js +4 -0
  240. package/dist/standalone/chunk-RGMVGZV4.js +1 -0
  241. package/dist/standalone/chunk-RNVKILOD.js +1 -0
  242. package/dist/standalone/chunk-RWVIV3U7.js +1 -0
  243. package/dist/standalone/chunk-S4Z7K55A.js +1 -0
  244. package/dist/standalone/chunk-SA2OGF3F.js +1 -0
  245. package/dist/standalone/chunk-SJQERRSZ.js +1 -0
  246. package/dist/standalone/chunk-SM5CYYUT.js +1 -0
  247. package/dist/standalone/chunk-SMLHZVKH.js +1 -0
  248. package/dist/standalone/chunk-SV764LKQ.js +1 -0
  249. package/dist/standalone/chunk-TOIWQ6LA.js +1 -0
  250. package/dist/standalone/chunk-TWWVNOAL.js +1 -0
  251. package/dist/standalone/chunk-U6MPCRR7.js +1 -0
  252. package/dist/standalone/chunk-UBX37H3F.js +1 -0
  253. package/dist/standalone/chunk-UC7MNI2F.js +1 -0
  254. package/dist/standalone/chunk-UQQK4I2D.js +1 -0
  255. package/dist/standalone/chunk-UUPMVJHZ.js +2 -0
  256. package/dist/standalone/chunk-UXPWK6IB.js +1 -0
  257. package/dist/standalone/chunk-UYEZR3BI.js +1 -0
  258. package/dist/standalone/chunk-V57XANBV.js +1 -0
  259. package/dist/standalone/chunk-VCFEO3RI.js +1 -0
  260. package/dist/standalone/chunk-VESGIGMQ.js +1 -0
  261. package/dist/standalone/chunk-VKDK5EWH.js +1 -0
  262. package/dist/standalone/chunk-VKPTDZGY.js +1 -0
  263. package/dist/standalone/chunk-WJRYEML4.js +1 -0
  264. package/dist/standalone/chunk-XGCIDUJF.js +1 -0
  265. package/dist/standalone/chunk-XHRKNCCI.js +1 -0
  266. package/dist/standalone/chunk-XVXRQ6HL.js +1 -0
  267. package/dist/standalone/chunk-Y3AYVFTK.js +1 -0
  268. package/dist/standalone/chunk-YEJ47BXF.js +1 -0
  269. package/dist/standalone/chunk-YVBS5GE4.js +1 -0
  270. package/dist/standalone/chunk-YVR4SEPU.js +1 -0
  271. package/dist/standalone/chunk-Z22BDS6N.js +1 -0
  272. package/dist/standalone/chunk-ZG4KF3SJ.js +1 -0
  273. package/dist/standalone/chunk-ZKJS6EBE.js +1 -0
  274. package/dist/standalone/chunk-ZPCQTBZW.js +1 -0
  275. package/dist/standalone/chunk-ZWK2KMDB.js +1 -0
  276. package/dist/standalone/studio.js +9 -378
  277. package/dist/styles.css +2 -2
  278. package/package.json +25 -21
  279. package/dist/index.js +0 -41
  280. package/dist/mount.js +0 -26
  281. package/dist/packem_shared/ADMIN_FUNCTIONS-CdaxLGkE.js +0 -48
  282. package/dist/packem_shared/ApiDocsPanel-BSSgtcVf.js +0 -842
  283. package/dist/packem_shared/ApiReferencePanel-D24xOjCw.js +0 -229
  284. package/dist/packem_shared/ApiTab-vo8uhE29.js +0 -251
  285. package/dist/packem_shared/AuditPanel-CBjYR6S5.js +0 -200
  286. package/dist/packem_shared/CommandPalette-L-CuSRUc.js +0 -373
  287. package/dist/packem_shared/ConfirmButton-C2eVi2Qv.js +0 -59
  288. package/dist/packem_shared/ConnectionBadge-B2DDM2Tn.js +0 -111
  289. package/dist/packem_shared/DEFAULT_AUTO_REFRESH_MS-Vxwaxx51.js +0 -50
  290. package/dist/packem_shared/DEFAULT_INSIGHT_THRESHOLDS-DjF0h-gA.js +0 -89
  291. package/dist/packem_shared/DEFAULT_LOCALE-CiX4W7Kr.js +0 -27
  292. package/dist/packem_shared/DataBrowser-DBKOIVKS.js +0 -4492
  293. package/dist/packem_shared/DataFilters-FNquMaiu.js +0 -249
  294. package/dist/packem_shared/ErrorBoundary-BzAApI7J.js +0 -66
  295. package/dist/packem_shared/ExportImportPanel-DtDEy4OD.js +0 -197
  296. package/dist/packem_shared/FileBrowser-DqLRjqsM.js +0 -2932
  297. package/dist/packem_shared/FunctionRunner-BmRkCvT4.js +0 -343
  298. package/dist/packem_shared/FunctionStatsPanel-Bi3kyQvu.js +0 -375
  299. package/dist/packem_shared/GlobalDataBrowser-DOjhvhKa.js +0 -289
  300. package/dist/packem_shared/HealthPanel-C7IPO6Ts.js +0 -648
  301. package/dist/packem_shared/HomePanel-dJIkHY_i.js +0 -14
  302. package/dist/packem_shared/InsightsPanel-BD29GXXd.js +0 -461
  303. package/dist/packem_shared/LogsPanel-2JhE1qep.js +0 -827
  304. package/dist/packem_shared/MailPanel-DwNsuFJC.js +0 -440
  305. package/dist/packem_shared/MetricsPanel-CRa4ITlq.js +0 -19
  306. package/dist/packem_shared/MigrationsPanel-Z1DmSSzf.js +0 -239
  307. package/dist/packem_shared/OpenRpcReferencePanel-Dq0yyVWz.js +0 -191
  308. package/dist/packem_shared/PitrPanel-3mec0LTF.js +0 -252
  309. package/dist/packem_shared/STUDIO_ROOT_CLASS-D12gX2dV.js +0 -3
  310. package/dist/packem_shared/ScheduledJobs--Z9GTmKb.js +0 -262
  311. package/dist/packem_shared/SchemaViewer-nxDV7dZJ.js +0 -2512
  312. package/dist/packem_shared/SecurityAdvisorPanel-5tYrJdvn.js +0 -92
  313. package/dist/packem_shared/SettingsPanel-SijRekVc.js +0 -390
  314. package/dist/packem_shared/ShardInput-gx_DZXXn.js +0 -107
  315. package/dist/packem_shared/SqlEditorPanel-DI4obotI.js +0 -13
  316. package/dist/packem_shared/Studio-B_L5Q2-X.js +0 -33
  317. package/dist/packem_shared/StudioApp-wxioPfiP.js +0 -657
  318. package/dist/packem_shared/StudioI18nProvider-B-tDCZIi.js +0 -48
  319. package/dist/packem_shared/TableEditor-1T-5KYtr.js +0 -11
  320. package/dist/packem_shared/advisor-view-DzqyvUU3.js +0 -159
  321. package/dist/packem_shared/aggregateMetrics-D4nUHEKU.js +0 -108
  322. package/dist/packem_shared/app.d-B6MyY_al.d.ts +0 -300
  323. package/dist/packem_shared/badge-B2PKA1-5.js +0 -49
  324. package/dist/packem_shared/bar-chart-CzJAgqkp.js +0 -3245
  325. package/dist/packem_shared/button-BhsN2uZH.js +0 -49
  326. package/dist/packem_shared/card-DURq3ElK.js +0 -175
  327. package/dist/packem_shared/cf-links-2cktDedA.js +0 -8
  328. package/dist/packem_shared/checkbox-UNkzAxl-.js +0 -63
  329. package/dist/packem_shared/data-grid-CrapHxR-.js +0 -183
  330. package/dist/packem_shared/dropdown-menu-WY4B_eJO.js +0 -280
  331. package/dist/packem_shared/empty-state-DY_oe0k6.js +0 -98
  332. package/dist/packem_shared/grid-features-DnTbXXNb.js +0 -840
  333. package/dist/packem_shared/home-panel-VdQI_8oX.js +0 -1700
  334. package/dist/packem_shared/input-XH4r1Pt1.js +0 -53
  335. package/dist/packem_shared/internal-CvMZCVd6.js +0 -68
  336. package/dist/packem_shared/label-D8ykjn5J.js +0 -46
  337. package/dist/packem_shared/live-status-FZ0psC1z.js +0 -44
  338. package/dist/packem_shared/metrics-panel-3FSfzgEX.js +0 -1611
  339. package/dist/packem_shared/reference-view-DVyk5kXj.js +0 -2180
  340. package/dist/packem_shared/shard-history-DyebH1R5.js +0 -38
  341. package/dist/packem_shared/sparkline-10dG-_f0.js +0 -93
  342. package/dist/packem_shared/sql-editor-panel-DBuIpCXk.js +0 -2562
  343. package/dist/packem_shared/storage-tier-CL98eOvn.js +0 -85
  344. package/dist/packem_shared/studio-Dm6H5DHS.js +0 -13388
  345. package/dist/packem_shared/table-DsCa9Qp9.js +0 -246
  346. package/dist/packem_shared/table-editor-7iSgi3te.js +0 -407
  347. package/dist/packem_shared/table-list-sidebar-BbSgfLJ2.js +0 -832
  348. package/dist/packem_shared/textarea-D3gaCU_-.js +0 -46
  349. package/dist/packem_shared/use-admin-query-CFl5GUg_.js +0 -105
  350. package/dist/packem_shared/useDebounced-Dxncpg6z.js +0 -32
  351. package/dist/packem_shared/utils-B05Dmz_H.js +0 -8
  352. package/dist/packem_shared/virtual-rect-CVMUskSm.js +0 -10
@@ -0,0 +1 @@
1
+ import{c as h}from"react/compiler-runtime";import{use as q,createContext as w,useState as p}from"react";import{jsx as C}from"react/jsx-runtime";const m=w(void 0),y=t=>{const e=h(10),{children:f}=t;let n;e[0]===Symbol.for("react.memo_cache_sentinel")?(n={focusSeq:void 0,open:!1,shown:"all"},e[0]=n):n=e[0];const[o,s]=p(n);let r;e[1]===Symbol.for("react.memo_cache_sentinel")?(r=()=>({close:()=>{s(_)},openConsole:a=>{s({focusSeq:a?.seq,open:!0,shown:a?.errorsOnly===!0?"errors":"all"})},setShown:a=>{s(S=>({...S,shown:a}))},toggle:()=>{s(d)}}),e[1]=r):r=e[1];const[i]=p(r);let l;e[2]!==i||e[3]!==o.focusSeq||e[4]!==o.open||e[5]!==o.shown?(l={...i,focusSeq:o.focusSeq,open:o.open,shown:o.shown},e[2]=i,e[3]=o.focusSeq,e[4]=o.open,e[5]=o.shown,e[6]=l):l=e[6];const u=l;let c;return e[7]!==f||e[8]!==u?(c=C(m,{value:u,children:f}),e[7]=f,e[8]=u,e[9]=c):c=e[9],c},b=()=>q(m);function _(t){return{...t,open:!1}}function d(t){return{focusSeq:void 0,open:!t.open,shown:"all"}}export{y as O,b as u};
@@ -0,0 +1 @@
1
+ import{o as u}from"./use-admin-query-tlBof8Yg.mjs";const b="__lunora_admin__:",d=new Set(["action","mutation","query"]),r=Symbol("lunora.operationSeq"),g=t=>{if(typeof t!="object"||t===null)return;const n=t[r];return typeof n=="number"?n:void 0},h=(t,n)=>{if(!(typeof t!="object"||t===null||!Object.isExtensible(t)))try{Object.defineProperty(t,r,{configurable:!0,enumerable:!1,value:n,writable:!0})}catch{}},p=t=>{if(typeof t!="object"||t===null)return;const n=t.__lunoraRef;return typeof n=="string"&&n.startsWith(b)?n:void 0},O=t=>{if(typeof t!="object"||t===null)return"";const{shardKey:n}=t;return typeof n=="string"?n:""},E=t=>new Proxy(t,{get(n,c,a){const i=Reflect.get(n,c,a);if(typeof i!="function"||typeof c!="string"||!d.has(c))return typeof i=="function"?i.bind(n):i;const f=i;return async(...e)=>{const l=p(e[0]);if(l===void 0)return f.apply(n,e);const y=typeof e[1]=="object"&&e[1]!==null?e[1]:{},s=u.start(l,y,O(e[2]));try{const o=await f.apply(n,e);return u.settle(s,{result:o}),o}catch(o){throw u.settle(s,{error:o instanceof Error?o.message:String(o)}),h(o,s),o}}}});export{g as o,E as w};
@@ -0,0 +1,13 @@
1
+ import{c as P}from"react/compiler-runtime";import{SentIcon as ie,Copy01Icon as ae,Search01Icon as le}from"@hugeicons/core-free-icons";import{HugeiconsIcon as F}from"@hugeicons/react";import{useState as B,createContext as de,use as ce}from"react";import{I as ue}from"./input-CXhxesPC.mjs";import{useT as J}from"./DEFAULT_LOCALE-A1Yg5ORA.mjs";import{B as W}from"./button-q0UYSmrn.mjs";import{g as X,f as fe,b as H,l as me,c as pe,d as he,j as ge}from"./internal-Df43vQI0.mjs";import{jsx as i,jsxs as N,Fragment as xe}from"react/jsx-runtime";import{B as ye}from"./badge-r_5B4LHP.mjs";import{ShardInput as be}from"./ShardInput-C6mjgAh4.mjs";import{L as U}from"./label-DKFzyHq6.mjs";import{T as ve}from"./textarea--40GKAyz.mjs";import{LunoraError as Ne}from"@lunora/errors";import{useLunora as Se}from"@lunora/react";import{c as Y}from"./utils-bhneXptQ.mjs";const we=t=>typeof t=="number"?"number":typeof t=="boolean"?"boolean":"string",Q=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)},z=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=>z(e)).join(" | "):t.type==="array"?`array<${z(t.items)}>`:t.type??"any",ke=t=>{const e=Q(t);return e!==void 0?t.type??we(e[0]):z(t)},Oe=t=>{const e=Q(t);return e===void 0?void 0:e.map(r=>JSON.stringify(r)).join(" | ")},$e=t=>{const e=[];t.minimum!==void 0?e.push(`${String(t.minimum)} ≤`):t.exclusiveMinimum!==void 0&&e.push(`${String(t.exclusiveMinimum)} <`);const r=e.length>0;e.push("value"),t.maximum!==void 0?e.push(`≤ ${String(t.maximum)}`):t.exclusiveMaximum!==void 0&&e.push(`< ${String(t.exclusiveMaximum)}`);const s=e.length>(r?2:1);return r||s?e.join(" "):void 0},Te=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},D=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 D(t.anyOf[0]);switch(t.type){case"array":return[];case"boolean":return!1;case"number":return 0;case"object":{const e={};for(const[r,s]of Object.entries(t.properties??{}))e[r]=D(s);return e}case"string":return"";default:return null}},K=t=>{const e=P(7),{label:r,value:s}=t;let n;e[0]!==r?(n=i("span",{className:"text-muted-foreground",children:r}),e[0]=r,e[1]=n):n=e[1];let o;e[2]!==s?(o=i("span",{className:"text-foreground",children:s}),e[2]=s,e[3]=o):o=e[3];let l;return e[4]!==n||e[5]!==o?(l=N("span",{className:"inline-flex items-center gap-1 rounded border border-border px-1.5 py-0.5 font-mono text-[10px]",children:[n,o]}),e[4]=n,e[5]=o,e[6]=l):l=e[6],l},Ee=t=>{const e=P(40),{name:r,required:s,schema:n}=t,o=J();let l;e[0]!==n?(l=$e(n),e[0]=n,e[1]=l):l=e[1];const a=l;let y;e[2]!==n?(y=Oe(n),e[2]=n,e[3]=y):y=e[3];const d=y,c=n["x-lunora-table"],u=n.format!==void 0||a!==void 0||d!==void 0||c!==void 0;let b;e[4]!==n?(b=Te(n),e[4]=n,e[5]=b):b=e[5];const x=b,f=s?"*":"?";let m;e[6]!==f?(m=i("span",{className:"text-muted-foreground",children:f}),e[6]=f,e[7]=m):m=e[7];let v;e[8]!==r||e[9]!==m?(v=N("span",{className:"font-mono text-foreground",children:[r,m]}),e[8]=r,e[9]=m,e[10]=v):v=e[10];let w;e[11]!==n?(w=ke(n),e[11]=n,e[12]=w):w=e[12];let p;e[13]!==w?(p=i("span",{className:"font-mono text-muted-foreground",children:w}),e[13]=w,e[14]=p):p=e[14];let h;e[15]!==v||e[16]!==p?(h=N("div",{className:"flex items-baseline gap-2",children:[v,p]}),e[15]=v,e[16]=p,e[17]=h):h=e[17];let g;e[18]!==n.description?(g=n.description!==void 0&&i("p",{className:"max-w-prose text-muted-foreground",children:n.description}),e[18]=n.description,e[19]=g):g=e[19];let S;e[20]!==u||e[21]!==a||e[22]!==c||e[23]!==n.format||e[24]!==o||e[25]!==d?(S=u&&N("div",{className:"flex flex-wrap gap-1",children:[n.format!==void 0&&i(K,{label:o("Format"),value:n.format}),a!==void 0&&i(K,{label:o("Range"),value:a}),d!==void 0&&i(K,{label:o("Value in"),value:d}),c!==void 0&&i(K,{label:o("relation"),value:c})]}),e[20]=u,e[21]=a,e[22]=c,e[23]=n.format,e[24]=o,e[25]=d,e[26]=S):S=e[26];let O;e[27]!==g||e[28]!==S||e[29]!==h?(O=N("div",{className:"flex flex-col gap-1 py-2",children:[h,g,S]}),e[27]=g,e[28]=S,e[29]=h,e[30]=O):O=e[30];const k=O;if(x===void 0){let $;return e[31]!==k?($=i("div",{className:"border-b border-border/50 last:border-b-0",children:k}),e[31]=k,e[32]=$):$=e[32],$}let T;e[33]!==k?(T=i("summary",{className:"cursor-pointer marker:text-muted-foreground",children:k}),e[33]=k,e[34]=T):T=e[34];let R;e[35]!==x?(R=i("div",{className:"mb-2 ml-2 border-l border-border pl-3",children:i(Z,{schema:x})}),e[35]=x,e[36]=R):R=e[36];let E;return e[37]!==T||e[38]!==R?(E=N("details",{className:"border-b border-border/50 last:border-b-0",children:[T,R]}),e[37]=T,e[38]=R,e[39]=E):E=e[39],E},Z=t=>{const e=P(7),{schema:r}=t;let s;e[0]!==r.required?(s=new Set(r.required),e[0]=r.required,e[1]=s):s=e[1];const n=s;let o;e[2]!==r.properties?(o=Object.entries(r.properties??{}),e[2]=r.properties,e[3]=o):o=e[3];const l=o;let a;return e[4]!==n||e[5]!==l?(a=i("div",{className:"flex flex-col",children:l.map(y=>{const[d,c]=y;return i(Ee,{name:d,required:n.has(d),schema:c},d)})}),e[4]=n,e[5]=l,e[6]=a):a=e[6],a},V=t=>{const e=P(10),{schema:r,testId:s}=t;if(r?.type!=="object"||Object.keys(r.properties??{}).length===0){let l;e[0]!==r?(l=z(r),e[0]=r,e[1]=l):l=e[1];let a;return e[2]!==l||e[3]!==s?(a=i("p",{className:"font-mono text-xs text-muted-foreground","data-testid":s,children:l}),e[2]=l,e[3]=s,e[4]=a):a=e[4],a}let n;e[5]!==r?(n=i(Z,{schema:r}),e[5]=r,e[6]=n):n=e[6];let o;return e[7]!==n||e[8]!==s?(o=i("div",{className:"text-xs","data-testid":s,children:n}),e[7]=n,e[8]=s,e[9]=o):o=e[9],o},Ce=["curl","javascript","lunora"],Re={lunora:"Lunora",curl:"cURL",javascript:"JavaScript"},je=t=>`api.${t.replaceAll(/[/:]/g,".")}`,Ae=t=>{const e=D(t.argsSchema)??{};return t.functionPath===void 0?e:{args:e,functionPath:t.functionPath}},Ie=(t,e,r)=>{const s=`${r}${e.httpPath}`,n=JSON.stringify(Ae(e),void 0,2),o=JSON.stringify(D(e.argsSchema)??{},void 0,2);switch(t){case"curl":{const l=e.method!=="GET"&&e.method!=="HEAD",a=[`curl -X ${e.method} ${JSON.stringify(s)}`];return l&&a.push(' -H "Content-Type: application/json"',` -d '${n}'`),a.join(` \\
2
+ `)}case"lunora":return e.functionPath===void 0?`await fetch(${JSON.stringify(e.httpPath)}, { method: ${JSON.stringify(e.method)} });`:`import { useLunora } from "@lunora/react";
3
+ import { api } from "./_generated/api";
4
+
5
+ const client = useLunora();
6
+ await client.${e.kind??"query"}(${je(e.functionPath)}, ${o});`;default:{const a=e.method!=="GET"&&e.method!=="HEAD"?`{
7
+ method: ${JSON.stringify(e.method)},
8
+ headers: { "Content-Type": "application/json" },
9
+ body: JSON.stringify(${n}),
10
+ }`:`{ method: ${JSON.stringify(e.method)} }`;return`const response = await fetch(${JSON.stringify(s)}, ${a});
11
+ const data = await response.json();`}}},Pe=t=>{const e=P(24),{operation:r,server:s}=t,n=J(),[o,l]=B("curl");let a;e[0]!==r||e[1]!==o||e[2]!==s?(a=Ie(o,r,s),e[0]=r,e[1]=o,e[2]=s,e[3]=a):a=e[3];const y=a;let d;e[4]!==y?(d=()=>{X(y)},e[4]=y,e[5]=d):d=e[5];const c=d;let u;e[6]===Symbol.for("react.memo_cache_sentinel")?(u=g=>{l(g.currentTarget.dataset.sample)},e[6]=u):u=e[6];const b=u;let x;e[7]!==o?(x=Ce.map(g=>i("button",{"aria-selected":o===g,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":g,"data-testid":`api-sample-${g}`,onClick:b,role:"tab",type:"button",children:Re[g]},g)),e[7]=o,e[8]=x):x=e[8];let f;e[9]!==x?(f=i("div",{className:"flex gap-1",role:"tablist",children:x}),e[9]=x,e[10]=f):f=e[10];let m;e[11]!==n?(m=n("Copy"),e[11]=n,e[12]=m):m=e[12];let v;e[13]!==c||e[14]!==m?(v=i(W,{"data-testid":"api-sample-copy",onClick:c,size:"xs",type:"button",variant:"ghost",children:m}),e[13]=c,e[14]=m,e[15]=v):v=e[15];let w;e[16]!==f||e[17]!==v?(w=N("div",{className:"flex items-center justify-between gap-2 border-b border-border px-3 py-2",children:[f,v]}),e[16]=f,e[17]=v,e[18]=w):w=e[18];let p;e[19]!==y?(p=i("pre",{className:"overflow-auto px-3 pb-3 font-mono text-xs","data-testid":"api-sample-source",children:y}),e[19]=y,e[20]=p):p=e[20];let h;return e[21]!==w||e[22]!==p?(h=N("div",{className:"flex flex-col gap-2 rounded-xl border border-border bg-card","data-testid":"api-code-samples",children:[w,p]}),e[21]=w,e[22]=p,e[23]=h):h=e[23],h},Le={blue:"text-info",emerald:"text-success",neutral:"text-muted-foreground",orange:"text-warning",red:"text-destructive",violet:"text-royal-amethyst"},_e=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"}},Be=t=>{switch(t){case"action":return"violet";case"mutation":return"orange";case"query":return"emerald";default:return"neutral"}},q=t=>{const e=P(7),{kind:r,method:s,testId:n}=t;let o;e[0]!==r||e[1]!==s?(o=r??s.toUpperCase(),e[0]=r,e[1]=s,e[2]=o):o=e[2];const l=o,a=r===void 0?_e(s):Be(r),y=`${Le[a]} font-mono text-[10px] tracking-wide uppercase`;let d;return e[3]!==l||e[4]!==y||e[5]!==n?(d=i(ye,{className:y,"data-testid":n,variant:"ghost",children:l}),e[3]=l,e[4]=y,e[5]=n,e[6]=d):d=e[6],d},ee=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",te=t=>t.startsWith("2")?"bg-emerald-500":t==="default"||t.startsWith("4")||t.startsWith("5")?"bg-red-500":"bg-muted-foreground",Me=new Set([" ",`
12
+ `,"\r"]),G=" ",Je=t=>{let e="";for(const n of t)Me.has(n)||(e+=n);let r=0,s=e.length;for(;r<s&&(e[r]??"")<=G;)r+=1;for(;s>r&&(e[s-1]??"")<=G;)s-=1;return e.slice(r,s)},De=/^(?:[a-z][\d+.a-z-]*:)?\/\//i,Ke=(t,e)=>{const r=globalThis.location?.origin??"",s=e===""?r:e,n=Je(t);if(s===""){if(De.test(n))throw new Error(`restDispatch: refusing to send the admin token off-origin (${n} names its own host and there is no origin to check it against)`);return n}const o=new URL(n,s);if(o.origin!==new URL(s).origin)throw new Error(`restDispatch: refusing to send the admin token off-origin (${o.origin} is not ${s})`);return o.toString()},ze=async(t,e,r,s)=>{const n=t.method!=="GET"&&t.method!=="HEAD",o=Ke(t.httpPath,r),a=await(await fetch(o,{body:n?JSON.stringify(e):void 0,headers:{...n?{"content-type":"application/json"}:{},...s===null||s===""?{}:{authorization:`Bearer ${s}`}},method:t.method})).text();try{return JSON.parse(a)}catch{return a}},Fe=t=>JSON.stringify(D(t.argsSchema)??{},void 0,2),re=de(null),se=()=>{const t=ce(re);if(t===null)throw new Ne("INTERNAL","useOperationRun must be used within an OperationRunProvider");return t},We=({children:t,operation:e})=>{const r=J(),s=Se(),[n,o]=B(()=>Fe(e)),[l,a]=B(""),[y,d]=B("idle"),[c,u]=B(void 0),[b,x]=B(null),[f,m]=B(null),v=async()=>{let h;try{h=n.trim()===""?{}:JSON.parse(n)}catch(S){d("error"),u(void 0),m(null),x(r("Invalid JSON args: {message}",{message:H(S)}));return}d("running"),x(null);const g=performance.now();try{const S=await(e.functionPath===void 0?ze(e,h,s.url,s.getAuthToken()):me(s,e.kind,pe(e.functionPath),h,he(l)));u(S),m(Math.round(performance.now()-g)),d("success")}catch(S){u(void 0),m(Math.round(performance.now()-g)),x(H(S)),d("error")}};return i(re,{value:{argsText:n,durationMs:f,error:b,operation:e,response:c,send:()=>{fe(v())},setArgsText:o,setShardKey:a,shardKey:l,status:y},children:t})},qe=()=>{const t=P(48),e=J(),{argsText:r,operation:s,send:n,setArgsText:o,setShardKey:l,shardKey:a,status:y}=se();let d;t[0]!==o?(d=C=>{o(C.target.value)},t[0]=o,t[1]=d):d=t[1];const c=d;let u;t[2]!==n?(u=C=>{C.key==="Enter"&&(C.metaKey||C.ctrlKey)&&(C.preventDefault(),n())},t[2]=n,t[3]=u):u=t[3];const b=u,x=y==="running";let f;t[4]!==s.kind||t[5]!==s.method?(f=i(q,{kind:s.kind,method:s.method,testId:"api-try-method"}),t[4]=s.kind,t[5]=s.method,t[6]=f):f=t[6];const m=s.functionPath??s.httpPath;let v;t[7]!==m?(v=i("code",{className:"min-w-0 flex-1 truncate font-mono text-xs text-foreground",children:m}),t[7]=m,t[8]=v):v=t[8];const w=x?"animate-pulse":void 0;let p;t[9]!==w?(p=i(F,{className:w,icon:ie,strokeWidth:2}),t[9]=w,t[10]=p):p=t[10];let h;t[11]!==x||t[12]!==e?(h=e(x?"Sending…":"Send"),t[11]=x,t[12]=e,t[13]=h):h=t[13];let g;t[14]!==x||t[15]!==n||t[16]!==p||t[17]!==h?(g=N(W,{"data-testid":"api-try-send",disabled:x,onClick:n,size:"sm",type:"button",children:[p,h]}),t[14]=x,t[15]=n,t[16]=p,t[17]=h,t[18]=g):g=t[18];let S;t[19]!==f||t[20]!==v||t[21]!==g?(S=N("div",{className:"flex items-center gap-2 border-b border-border bg-muted px-3 py-2",children:[f,v,g]}),t[19]=f,t[20]=v,t[21]=g,t[22]=S):S=t[22];let O;t[23]!==e?(O=e("Arguments (JSON)"),t[23]=e,t[24]=O):O=t[24];let k;t[25]!==O?(k=i(U,{htmlFor:"api-try-args",children:O}),t[25]=O,t[26]=k):k=t[26];let T;t[27]!==r?(T=r.split(`
13
+ `),t[27]=r,t[28]=T):T=t[28];const R=Math.min(12,Math.max(3,T.length));let E;t[29]!==r||t[30]!==c||t[31]!==b||t[32]!==R?(E=i(ve,{className:"font-mono text-xs","data-testid":"api-try-args",id:"api-try-args",onChange:c,onKeyDown:b,rows:R,spellCheck:!1,value:r}),t[29]=r,t[30]=c,t[31]=b,t[32]=R,t[33]=E):E=t[33];let $;t[34]!==k||t[35]!==E?($=N("div",{className:"flex flex-col gap-1.5",children:[k,E]}),t[34]=k,t[35]=E,t[36]=$):$=t[36];let j;t[37]!==s.functionPath||t[38]!==l||t[39]!==a||t[40]!==e?(j=s.functionPath!==void 0&&N("div",{className:"flex flex-col gap-1.5",children:[i(U,{htmlFor:"shard-input",children:e("Shard key (optional)")}),i(be,{id:"shard-input",onChange:l,testId:"shard-input",value:a})]}),t[37]=s.functionPath,t[38]=l,t[39]=a,t[40]=e,t[41]=j):j=t[41];let A;t[42]!==$||t[43]!==j?(A=N("div",{className:"flex flex-col gap-3 p-3",children:[$,j]}),t[42]=$,t[43]=j,t[44]=A):A=t[44];let I;return t[45]!==A||t[46]!==S?(I=N("div",{className:"overflow-hidden rounded-xl border border-border bg-card","data-testid":"api-try-it",children:[S,A]}),t[45]=A,t[46]=S,t[47]=I):I=t[47],I},He=t=>{const e=P(51),{operation:r}=t,s=J(),n=`api-operation-${r.operationId}`,o=r.key;let l;e[0]!==r.kind||e[1]!==r.method?(l=i(q,{kind:r.kind,method:r.method,testId:"api-operation-method"}),e[0]=r.kind,e[1]=r.method,e[2]=l):l=e[2];const a=r.functionPath??r.httpPath;let y;e[3]!==a?(y=i("code",{className:"truncate font-mono text-xs text-muted-foreground",children:a}),e[3]=a,e[4]=y):y=e[4];let d;e[5]!==l||e[6]!==y?(d=N("div",{className:"flex items-center gap-2",children:[l,y]}),e[5]=l,e[6]=y,e[7]=d):d=e[7];let c;e[8]!==r.title?(c=i("h1",{className:"text-lg font-semibold text-foreground","data-testid":"api-operation-title",children:r.title}),e[8]=r.title,e[9]=c):c=e[9];let u;e[10]!==r.description?(u=r.description!==void 0&&i("p",{className:"text-sm text-muted-foreground",children:r.description}),e[10]=r.description,e[11]=u):u=e[11];let b;e[12]!==d||e[13]!==c||e[14]!==u?(b=N("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:[d,c,u]}),e[12]=d,e[13]=c,e[14]=u,e[15]=b):b=e[15];let x;e[16]!==s?(x=s("Try it"),e[16]=s,e[17]=x):x=e[17];let f;e[18]!==x?(f=i("h2",{className:"font-mono text-[11px] tracking-wide text-muted-foreground uppercase",children:x}),e[18]=x,e[19]=f):f=e[19];let m;e[20]===Symbol.for("react.memo_cache_sentinel")?(m=i(qe,{}),e[20]=m):m=e[20];let v;e[21]!==f?(v=N("section",{className:"flex flex-col gap-2",children:[f,m]}),e[21]=f,e[22]=v):v=e[22];let w;e[23]!==s?(w=s("Request arguments"),e[23]=s,e[24]=w):w=e[24];let p;e[25]!==w?(p=i("h2",{className:"font-mono text-[11px] tracking-wide text-muted-foreground uppercase",children:w}),e[25]=w,e[26]=p):p=e[26];let h;e[27]!==r.argsSchema?(h=i(V,{schema:r.argsSchema,testId:"api-operation-args"}),e[27]=r.argsSchema,e[28]=h):h=e[28];let g;e[29]!==p||e[30]!==h?(g=N("section",{className:"flex flex-col gap-2",children:[p,h]}),e[29]=p,e[30]=h,e[31]=g):g=e[31];let S;e[32]!==s?(S=s("Response body"),e[32]=s,e[33]=S):S=e[33];let O;e[34]!==S?(O=i("h2",{className:"font-mono text-[11px] tracking-wide text-muted-foreground uppercase",children:S}),e[34]=S,e[35]=O):O=e[35];let k;if(e[36]!==r.responses||e[37]!==s){let E;e[39]!==s?(E=$=>N("div",{className:"flex flex-col gap-1.5 rounded-xl border border-border bg-card p-3",children:[N("div",{className:"flex items-center justify-between gap-2",children:[N("span",{className:`inline-flex items-center gap-1.5 font-mono text-xs font-semibold ${ee($.status)}`,children:[i("span",{className:`size-1.5 rounded-full ${te($.status)}`}),$.status]}),$.schema!==void 0&&i("span",{className:"rounded border border-border px-1.5 py-0.5 font-mono text-[10px] text-muted-foreground",children:s("application/json")})]}),$.description!==void 0&&i("p",{className:"text-xs text-muted-foreground",children:$.description}),$.schema!==void 0&&i(V,{schema:$.schema,testId:`api-response-${$.status}`})]},$.status),e[39]=s,e[40]=E):E=e[40],k=r.responses.map(E),e[36]=r.responses,e[37]=s,e[38]=k}else k=e[38];let T;e[41]!==O||e[42]!==k?(T=N("section",{className:"flex flex-col gap-3",children:[O,k]}),e[41]=O,e[42]=k,e[43]=T):T=e[43];let R;return e[44]!==r.key||e[45]!==n||e[46]!==v||e[47]!==g||e[48]!==T||e[49]!==b?(R=N("div",{className:"flex flex-col gap-6 duration-200 animate-in fade-in-0 slide-in-from-bottom-1","data-testid":n,children:[b,v,g,T]},o),e[44]=r.key,e[45]=n,e[46]=v,e[47]=g,e[48]=T,e[49]=b,e[50]=R):R=e[50],R},Ue={boolean:"text-royal-amethyst",key:"text-sky-sapphire",number:"text-warning",plain:"",string:"text-success"},Ve=/"(?:[^"\\]|\\.)*"|\b(?:true|false|null)\b|-?\d+(?:\.\d+)?/g,Ge=/^\s*:/,Xe=(t,e,r)=>r.startsWith('"')?Ge.test(t.slice(e))?"key":"string":r==="true"||r==="false"||r==="null"?"boolean":"number",Ye=t=>{const e=[];let r=0;for(const s of t.matchAll(Ve)){const{index:n}=s,o=s[0],l=n+o.length;n>r&&e.push({kind:"plain",start:r,text:t.slice(r,n)}),e.push({kind:Xe(t,l,o),start:n,text:o}),r=l}return r<t.length&&e.push({kind:"plain",start:r,text:t.slice(r)}),e},Qe=t=>{const e=P(4),{code:r}=t;let s;e[0]!==r?(s=Ye(r).map(Ze),e[0]=r,e[1]=s):s=e[1];let n;return e[2]!==s?(n=i(xe,{children:s}),e[2]=s,e[3]=n):n=e[3],n};function Ze(t){return i("span",{className:Ue[t.kind],children:t.text},t.start)}const ne="__live__",et=t=>t.schema===void 0?"":JSON.stringify(D(t.schema),void 0,2),tt=(t,e,r)=>r?t??"":e===void 0?"":JSON.stringify(e,ge,2),rt=t=>{const e=P(18),{active:r,running:s,showError:n}=t,o=J();if(s){let u;e[0]!==o?(u=o("Sending…"),e[0]=o,e[1]=u):u=e[1];let b;return e[2]!==u?(b=i("p",{className:"px-3 py-3 text-xs text-muted-foreground","data-testid":"api-response-running",children:u}),e[2]=u,e[3]=b):b=e[3],b}if(r===void 0||r.body===""){let u;e[4]!==r?.live||e[5]!==o?(u=r?.live===!0?o("Send a request to see the response."):o("No example for this response."),e[4]=r?.live,e[5]=o,e[6]=u):u=e[6];let b;return e[7]!==u?(b=i("p",{className:"px-3 py-3 text-xs text-muted-foreground","data-testid":"api-response-idle",children:u}),e[7]=u,e[8]=b):b=e[8],b}const l=n&&"text-destructive";let a;e[9]!==l?(a=Y("max-h-[28rem] overflow-auto px-3 py-3 font-mono text-xs",l),e[9]=l,e[10]=a):a=e[10];const y=n?"api-response-error":"api-response-body";let d;e[11]!==r.body||e[12]!==n?(d=n?r.body:i(Qe,{code:r.body}),e[11]=r.body,e[12]=n,e[13]=d):d=e[13];let c;return e[14]!==a||e[15]!==y||e[16]!==d?(c=i("pre",{className:a,"data-testid":y,children:d}),e[14]=a,e[15]=y,e[16]=d,e[17]=c):c=e[17],c},st=({durationMs:t,error:e,failed:r,operation:s,ran:n,response:o,t:l})=>{const a=s.responses.map(d=>({body:et(d),durationMs:null,id:d.status,label:d.status,live:!1,status:d.status}));return n?[{body:tt(e,o,r),durationMs:t,id:ne,label:l("Live"),live:!0,status:r?"error":"200"},...a]:a},nt=()=>{const t=P(19),e=J(),{durationMs:r,error:s,operation:n,response:o,status:l}=se(),a=l==="running",y=l==="error",d=l==="success"||y,c=st({durationMs:r,error:s,failed:y,operation:n,ran:d,response:o,t:e}),u=d?ne:c.find(ot)?.id??c[0]?.id??"",[b,x]=B(null),f=c.find(C=>C.id===(b??u))??c[0];let m;t[0]===Symbol.for("react.memo_cache_sentinel")?(m=C=>{const{id:L}=C.currentTarget.dataset;L!==void 0&&x(L)},t[0]=m):m=t[0];const v=m,w=()=>{f!==void 0&&X(f.body)},p=f?.live===!0?f.durationMs:null,h=f?.live===!0&&f.status==="error",g="flex min-h-0 flex-col rounded-xl border border-border bg-card",S="api-response-panel";let O;t[1]!==e?(O=e("Response"),t[1]=e,t[2]=O):O=t[2];let k;t[3]!==O?(k=i("span",{className:"font-mono text-[11px] tracking-wide text-muted-foreground uppercase",children:O}),t[3]=O,t[4]=k):k=t[4];const T=p!==null&&i("span",{className:"font-mono text-[10px] text-muted-foreground",children:e("{ms} ms",{ms:p})}),R=f!==void 0&&f.body!==""&&i(W,{"aria-label":e("Copy"),"data-testid":"api-response-copy",onClick:w,size:"icon-xs",type:"button",variant:"ghost",children:i(F,{icon:ae,strokeWidth:2})});let E;t[5]!==T||t[6]!==R?(E=N("div",{className:"flex items-center gap-2",children:[T,R]}),t[5]=T,t[6]=R,t[7]=E):E=t[7];let $;t[8]!==k||t[9]!==E?($=N("div",{className:"flex items-center justify-between gap-2 border-b border-border px-3 py-2",children:[k,E]}),t[8]=k,t[9]=E,t[10]=$):$=t[10];const j=c.length>0&&i("div",{className:"flex gap-1 overflow-x-auto border-b border-border px-2 py-1.5",role:"tablist",children:c.map(C=>{const L=C.id===f?.id;return N("button",{"aria-selected":L,className:Y("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",L?ee(C.status):"text-muted-foreground"),"data-id":C.id,"data-testid":C.live?"api-response-tab-live":`api-response-tab-${C.status}`,onClick:v,role:"tab",type:"button",children:[i("span",{className:`size-1.5 rounded-full ${te(C.status)}`}),C.label]},C.id)})});let A;t[11]!==f||t[12]!==a||t[13]!==h?(A=i(rt,{active:f,running:a,showError:h}),t[11]=f,t[12]=a,t[13]=h,t[14]=A):A=t[14];let I;return t[15]!==A||t[16]!==$||t[17]!==j?(I=N("div",{className:g,"data-testid":S,children:[$,j,A]}),t[15]=A,t[16]=$,t[17]=j,t[18]=I):I=t[18],I};function ot(t){return t.status.startsWith("2")}const it=(t,e)=>{const r=e.trim().toLowerCase();return r===""?t:t.map(s=>({...s,operations:s.operations.filter(n=>`${n.summary} ${n.operationId}`.toLowerCase().includes(r))})).filter(s=>s.operations.length>0)},wt=t=>{const e=P(53),{model:r}=t,s=J(),n=r.groups[0]?.operations[0]?.key??"",[o,l]=B(n),[a,y]=B("");let d;e[0]!==n||e[1]!==r.operationByKey||e[2]!==o?(d=r.operationByKey.get(o)??r.operationByKey.get(n),e[0]=n,e[1]=r.operationByKey,e[2]=o,e[3]=d):d=e[3];const c=d;let u,b,x,f,m,v,w,p,h,g;if(e[4]!==a||e[5]!==r.groups||e[6]!==r.server||e[7]!==c?.key||e[8]!==s){u=it(r.groups,a);let E;e[19]===Symbol.for("react.memo_cache_sentinel")?(E=M=>{const{key:_}=M.currentTarget.dataset;_!==void 0&&l(_)},e[19]=E):E=e[19];const $=E;let j;e[20]===Symbol.for("react.memo_cache_sentinel")?(j=M=>{y(M.target.value)},e[20]=j):j=e[20];const A=j;b=r.server??"",h="grid min-h-0 flex-1 grid-cols-1 overflow-hidden lg:grid-cols-[16rem_minmax(0,1fr)_22rem]",g="api-reference",e[21]!==s?(m=s("API operations"),e[21]=s,e[22]=m):m=e[22],v="flex min-h-0 flex-col overflow-y-auto border-r border-border",w="api-reference-nav";let I;e[23]===Symbol.for("react.memo_cache_sentinel")?(I=i(F,{className:"pointer-events-none absolute top-1/2 left-2 size-3.5 -translate-y-1/2 text-muted-foreground",icon:le,strokeWidth:2}),e[23]=I):I=e[23];let C;e[24]!==s?(C=s("Filter operations"),e[24]=s,e[25]=C):C=e[25],e[26]!==a||e[27]!==C?(p=i("div",{className:"sticky top-0 z-10 border-b border-border bg-sidebar p-2",children:N("div",{className:"relative",children:[I,i(ue,{className:"h-7 pl-7","data-testid":"api-filter",onChange:A,placeholder:C,value:a})]})}),e[26]=a,e[27]=C,e[28]=p):p=e[28],x="flex flex-col gap-4 p-2";let L;e[29]!==c?.key||e[30]!==s?(L=M=>N("div",{className:"flex flex-col gap-1",children:[N("div",{className:"flex items-center justify-between px-2",children:[i("span",{className:"font-mono text-[11px] tracking-wide text-muted-foreground uppercase",children:M.name||s("(root)")}),i("span",{className:"font-mono text-[10px] text-muted-foreground/70",children:M.operations.length})]}),M.operations.map(_=>{const oe=_.key===c?.key;return N("button",{"aria-current":oe?"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":_.key,"data-testid":`api-nav-${_.operationId}`,onClick:$,type:"button",children:[i("span",{className:"truncate",children:_.summary}),i(q,{kind:_.kind,method:_.method})]},_.key)})]},M.name),e[29]=c?.key,e[30]=s,e[31]=L):L=e[31],f=u.map(L),e[4]=a,e[5]=r.groups,e[6]=r.server,e[7]=c?.key,e[8]=s,e[9]=u,e[10]=b,e[11]=x,e[12]=f,e[13]=m,e[14]=v,e[15]=w,e[16]=p,e[17]=h,e[18]=g}else u=e[9],b=e[10],x=e[11],f=e[12],m=e[13],v=e[14],w=e[15],p=e[16],h=e[17],g=e[18];let S;e[32]!==u.length||e[33]!==s?(S=u.length===0&&i("p",{className:"px-2 py-1 text-xs text-muted-foreground","data-testid":"api-nav-empty",children:s("No operations match your filter.")}),e[32]=u.length,e[33]=s,e[34]=S):S=e[34];let O;e[35]!==S||e[36]!==x||e[37]!==f?(O=N("div",{className:x,children:[f,S]}),e[35]=S,e[36]=x,e[37]=f,e[38]=O):O=e[38];let k;e[39]!==O||e[40]!==m||e[41]!==v||e[42]!==w||e[43]!==p?(k=N("nav",{"aria-label":m,className:v,"data-testid":w,children:[p,O]}),e[39]=O,e[40]=m,e[41]=v,e[42]=w,e[43]=p,e[44]=k):k=e[44];let T;e[45]!==c||e[46]!==b?(T=c===void 0?i("div",{className:"lg:col-span-2"}):N(We,{operation:c,children:[i("div",{className:"min-w-0 overflow-y-auto p-6","data-testid":"api-reference-main",children:i(He,{operation:c})}),N("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:[i(Pe,{operation:c,server:b}),i(nt,{})]})]},c.key),e[45]=c,e[46]=b,e[47]=T):T=e[47];let R;return e[48]!==k||e[49]!==T||e[50]!==h||e[51]!==g?(R=N("div",{className:h,"data-testid":g,children:[k,T]}),e[48]=k,e[49]=T,e[50]=h,e[51]=g,e[52]=R):R=e[52],R};export{wt as R};
@@ -0,0 +1,2 @@
1
+ 'use client';
2
+ import{c as y}from"react/compiler-runtime";import{Handle as k,Position as D,useNodesState as U,useEdgesState as V,ReactFlow as Z,Background as J,Panel as L,Controls as X,MiniMap as ee,useNodesInitialized as te,useReactFlow as se}from"@xyflow/react";import{useState as R,useMemo as _,useRef as ae,useEffect as w}from"react";import{D as oe}from"./diagram-export-panel-D5CVNJkp.mjs";import{S as re,T as x}from"./storage-tier-C2mKwYRj.mjs";import{B as E}from"./badge-r_5B4LHP.mjs";import{B as H}from"./button-q0UYSmrn.mjs";import{I as ne}from"./input-CXhxesPC.mjs";import{useT as C}from"./DEFAULT_LOCALE-A1Yg5ORA.mjs";import{f as le}from"./internal-Df43vQI0.mjs";import{c as N}from"./utils-bhneXptQ.mjs";import{jsx as d,jsxs as g}from"react/jsx-runtime";function ie(s){const e=y(10);let t,r,a;e[0]!==s?({className:t,selected:a,...r}=s,e[0]=s,e[1]=t,e[2]=r,e[3]=a):(t=e[1],r=e[2],a=e[3]);const n=a===!0?"":void 0;let o;e[4]!==t?(o=N("rounded-md border border-border bg-card text-card-foreground shadow-sm transition-colors","data-[selected]:border-ring data-[selected]:ring-[3px] data-[selected]:ring-ring/30",t),e[4]=t,e[5]=o):o=e[5];let l;return e[6]!==r||e[7]!==n||e[8]!==o?(l=d("div",{"data-slot":"base-node","data-selected":n,className:o,...r}),e[6]=r,e[7]=n,e[8]=o,e[9]=l):l=e[9],l}function de(s){const e=y(8);let t,r;e[0]!==s?({className:t,...r}=s,e[0]=s,e[1]=t,e[2]=r):(t=e[1],r=e[2]);let a;e[3]!==t?(a=N("flex items-center gap-2 rounded-t-md bg-muted/50 px-3 py-1.5",t),e[3]=t,e[4]=a):a=e[4];let n;return e[5]!==r||e[6]!==a?(n=d("div",{"data-slot":"base-node-header",className:a,...r}),e[5]=r,e[6]=a,e[7]=n):n=e[7],n}function ce(s){const e=y(8);let t,r;e[0]!==s?({className:t,...r}=s,e[0]=s,e[1]=t,e[2]=r):(t=e[1],r=e[2]);let a;e[3]!==t?(a=N("flex flex-col",t),e[3]=t,e[4]=a):a=e[4];let n;return e[5]!==r||e[6]!==a?(n=d("div",{"data-slot":"base-node-content",className:a,...r}),e[5]=r,e[6]=a,e[7]=n):n=e[7],n}const A=s=>{const e=s.ref===void 0?s.type:`${s.type} → ${s.ref}`;return s.optional===!0?`${e}?`:e},me=s=>{const e=y(22),{data:t,selected:r}=s,a=C();let n;e[0]!==t.label||e[1]!==t.loadError||e[2]!==a?(n=t.loadError===!0?d("span",{className:"px-3 py-1.5 text-xs text-destructive","data-testid":`sd-node-${t.label}-error`,children:a("Columns unavailable")}):d("span",{className:"px-3 py-1.5 text-xs text-muted-foreground",children:"—"}),e[0]=t.label,e[1]=t.loadError,e[2]=a,e[3]=n):n=e[3];const o=n,l=`sd-node-${t.label}`;let c;e[4]!==t.label?(c=d("span",{className:"truncate font-mono text-xs font-semibold",title:t.label,children:t.label}),e[4]=t.label,e[5]=c):c=e[5];let m;e[6]!==t.tier?(m=d("span",{className:"ms-auto",children:d(re,{tier:t.tier})}),e[6]=t.tier,e[7]=m):m=e[7];let i;e[8]!==c||e[9]!==m?(i=g(de,{children:[c,m]}),e[8]=c,e[9]=m,e[10]=i):i=e[10];let f;e[11]!==t.columns||e[12]!==t.label||e[13]!==o?(f=t.columns.length===0?o:t.columns.map(p=>g("div",{className:N("relative flex items-center gap-2 border-t border-border px-3 py-1.5 text-xs first:border-t-0",p.pk===!0&&"bg-muted/30"),"data-testid":`sd-col-${t.label}-${p.name}`,children:[d(k,{className:"!h-2 !w-2 !-left-1 !border-border !bg-muted-foreground/70",id:p.name,isConnectable:!1,position:D.Left,type:"target"}),d("span",{className:"truncate font-mono",title:p.name,children:p.name}),p.pk===!0&&d(E,{className:"px-1 py-0 text-[10px] leading-tight",variant:"secondary",children:"PK"}),p.ref!==void 0&&d(E,{className:"px-1 py-0 text-[10px] leading-tight",variant:"outline",children:"FK"}),d("span",{className:"ms-auto truncate text-muted-foreground",title:A(p),children:A(p)}),d(k,{className:"!h-2 !w-2 !-right-1 !border-border !bg-muted-foreground/70",id:p.name,isConnectable:!1,position:D.Right,type:"source"})]},p.name)),e[11]=t.columns,e[12]=t.label,e[13]=o,e[14]=f):f=e[14];let u;e[15]!==f?(u=d(ce,{children:f}),e[15]=f,e[16]=u):u=e[16];let b;return e[17]!==r||e[18]!==l||e[19]!==i||e[20]!==u?(b=g(ie,{className:"w-64 overflow-hidden","data-testid":l,selected:r,children:[i,u]}),e[17]=r,e[18]=l,e[19]=i,e[20]=u,e[21]=b):b=e[21],b},F=256,z=112,O=36,v=24,fe=480,ue=1.4,pe=s=>{const e=Math.max(1,Math.round(Math.sqrt(ue*s/(F+z))));return Math.max(fe,s/e)},ge=38,he=28,B=s=>ge+Math.max(1,s)*he,be=(s,e)=>{const t=new Map;for(const o of s)t.set(o,[]);for(const o of e)o.to!==o.from&&t.has(o.from)&&t.has(o.to)&&t.get(o.from)?.push(o.to);const r=new Map,a=new Set,n=o=>{const l=r.get(o);if(l!==void 0)return l;if(a.has(o))return 0;a.add(o);let c=0;for(const m of t.get(o)??[])c=Math.max(c,n(m)+1);return a.delete(o),r.set(o,c),c};for(const o of s)n(o);return r},xe=(s,e,t)=>{const r=be(s,e),a=new Map;for(const m of s){const i=r.get(m)??0,f=a.get(i);f===void 0?a.set(i,[m]):f.push(m)}const n=s.reduce((m,i)=>m+B(t.get(i)??0)+O,0),o=pe(n),l=[];let c=0;for(const m of[...a.keys()].toSorted((i,f)=>i-f)){let i=0,f=v;for(const u of a.get(m)??[]){const b=B(t.get(u)??0);f>v&&f+b>o&&(i+=1,f=v),l.push({name:u,x:v+(c+i)*(F+z),y:f}),f+=b+O}c+=i+1}return l},Ne={databaseSchema:me},G={backgroundColor:x.shard.color},I={backgroundColor:x.global.color},ye={global:!0,shard:!0},ve={},Ee=s=>{const e=s.find(t=>t.pk===!0)?.name;return e!==void 0?e:s.some(t=>t.name==="_id")?"_id":s.some(t=>t.name==="id")?"id":s[0]?.name??"_id"},K=s=>s.flatMap(e=>e.columns.filter(t=>t.ref!==void 0).map(t=>({column:t.name,from:e.name,to:t.ref}))),Se=(s,e,t)=>{const r=s.map(l=>l.name),a=new Map(s.map(l=>[l.name,l.columns.length])),n=xe(r,K(s),a),o=new Map(s.map(l=>[l.name,l]));return n.flatMap(({name:l,x:c,y:m})=>{const i=o.get(l);return i===void 0?[]:[{className:t[l],data:{columns:i.columns,label:l,loadError:e,tier:i.tier},id:l,position:{x:c,y:m},type:"databaseSchema"}]})},_e=s=>{const e=new Map(s.map(t=>[t.name,t.columns]));return K(s).flatMap(t=>{const r=e.get(t.to)??[],a=e.get(t.from)??[],n=Ee(r);return!r.some(o=>o.name===n)||!a.some(o=>o.name===t.column)?[]:[{id:`${t.from}.${t.column}->${t.to}`,source:t.to,sourceHandle:n,target:t.from,targetHandle:t.column}]})},we=()=>{const s=y(15),e=C();let t;s[0]===Symbol.for("react.memo_cache_sentinel")?(t=g("span",{className:"flex items-center gap-1",children:[d("span",{"aria-hidden":"true",className:"size-1.5 rounded-full",style:G}),x.shard.label]}),s[0]=t):t=s[0];let r;s[1]===Symbol.for("react.memo_cache_sentinel")?(r=g("span",{className:"flex items-center gap-1",children:[d("span",{"aria-hidden":"true",className:"size-1.5 rounded-full",style:I}),x.global.label]}),s[1]=r):r=s[1];let a;s[2]===Symbol.for("react.memo_cache_sentinel")?(a=d(E,{className:"px-1 py-0 text-[10px] leading-tight",variant:"secondary",children:"PK"}),s[2]=a):a=s[2];let n;s[3]!==e?(n=e("Primary key"),s[3]=e,s[4]=n):n=s[4];let o;s[5]!==n?(o=g("span",{className:"flex items-center gap-1",children:[a,n]}),s[5]=n,s[6]=o):o=s[6];let l;s[7]===Symbol.for("react.memo_cache_sentinel")?(l=d(E,{className:"px-1 py-0 text-[10px] leading-tight",variant:"outline",children:"FK"}),s[7]=l):l=s[7];let c;s[8]!==e?(c=e("Foreign key"),s[8]=e,s[9]=c):c=s[9];let m;s[10]!==c?(m=g("span",{className:"flex items-center gap-1",children:[l,c]}),s[10]=c,s[11]=m):m=s[11];let i;return s[12]!==o||s[13]!==m?(i=g("div",{className:"flex flex-wrap items-center gap-x-3 gap-y-1 rounded-xl border border-border bg-card/95 px-2.5 py-1.5 text-[11px] text-muted-foreground shadow-xs",children:[t,r,o,m]}),s[12]=o,s[13]=m,s[14]=i):i=s[14],i},Ce=12,Me=s=>{const e=y(9),{containerRef:t,seedKey:r}=s,a=te(),{fitView:n}=se();let o;e[0]!==t||e[1]!==n||e[2]!==a?(o=()=>{if(!a)return;const c=()=>{le(n({duration:0,maxZoom:1.6,padding:.14}))};c();const m=t.current;if(m===null)return;const i=new ResizeObserver(()=>{c()});return i.observe(m),()=>{i.disconnect()}},e[0]=t,e[1]=n,e[2]=a,e[3]=o):o=e[3];let l;return e[4]!==t||e[5]!==n||e[6]!==a||e[7]!==r?(l=[t,n,a,r],e[4]=t,e[5]=n,e[6]=a,e[7]=r,e[8]=l):l=e[8],w(o,l),null},Ge=({columnsError:s,fill:e=!1,nodeClasses:t,tables:r,testIdPrefix:a})=>{const n=C(),[o,l]=R(ye),[c,m]=R(""),i=_(()=>{const h=c.trim().toLowerCase();return r.filter($=>o[$.tier]&&$.name.toLowerCase().includes(h))},[r,o,c]),f=_(()=>Se(i,s??!1,t??ve),[i,s,t]),u=_(()=>_e(i),[i]),b=i.map(h=>h.name).join(","),[p,M,P]=U(f),[W,T,Y]=V(u),S=ae(null);w(()=>{M(f)},[f,M]),w(()=>{T(u)},[u,T]);const j=h=>{m(h.target.value)},q=()=>{l(h=>({...h,shard:!h.shard}))},Q=()=>{l(h=>({...h,global:!h.global}))};return r.length===0?d("section",{className:"flex flex-col gap-2","data-testid":`${a}-section`,children:d("p",{className:"text-sm text-muted-foreground","data-testid":`${a}-empty`,children:n("No tables to graph.")})}):d("section",{className:N("flex flex-col",e&&"min-h-0 flex-1"),"data-testid":`${a}-section`,children:d("div",{className:N("w-full overflow-hidden border border-border bg-muted/20",e?"min-h-0 flex-1":"h-[560px]"),"data-testid":`${a}-canvas`,ref:S,children:g(Z,{edges:W,elementsSelectable:!0,fitView:!0,minZoom:.2,nodes:p,nodesConnectable:!1,nodeTypes:Ne,onEdgesChange:Y,onNodesChange:P,children:[d(J,{}),d(L,{position:"top-left",children:g("div",{className:"flex flex-col gap-2 rounded-xl border border-border bg-card/95 p-2 shadow-xs",children:[d(ne,{"aria-label":n("Find table…"),className:"h-7 w-44 text-xs","data-testid":`${a}-find`,onChange:j,placeholder:n("Find table…"),value:c}),g("div",{"aria-label":n("Storage tiers"),className:"flex items-center gap-1.5",role:"group",children:[g(H,{"aria-pressed":o.shard,className:"gap-1.5","data-testid":`${a}-tier-shard`,onClick:q,size:"xs",type:"button",variant:o.shard?"default":"outline",children:[d("span",{"aria-hidden":"true",className:"size-1.5 rounded-full",style:G}),x.shard.label]}),g(H,{"aria-pressed":o.global,className:"gap-1.5","data-testid":`${a}-tier-global`,onClick:Q,size:"xs",type:"button",variant:o.global?"default":"outline",children:[d("span",{"aria-hidden":"true",className:"size-1.5 rounded-full",style:I}),x.global.label]})]})]})}),d(L,{position:"bottom-center",children:d(we,{})}),d(X,{showInteractive:!1}),i.length>Ce&&d(ee,{className:"!border !border-border !bg-card",maskColor:"var(--color-muted)",nodeColor:"var(--color-muted-foreground)",nodeStrokeWidth:0,pannable:!0,zoomable:!0}),d(oe,{containerRef:S,filenameBase:`${a}-schema-diagram`,testIdPrefix:a}),d(Me,{containerRef:S,seedKey:b})]})})})};export{Ge as S};
@@ -0,0 +1,2 @@
1
+ 'use client';
2
+ import{c as u}from"react/compiler-runtime";import{ScrollArea as i}from"@base-ui/react/scroll-area";import{c as m}from"./utils-bhneXptQ.mjs";import{jsx as c,jsxs as b}from"react/jsx-runtime";function z(s){const r=u(14);let e,l,a;r[0]!==s?({className:l,children:e,...a}=s,r[0]=s,r[1]=e,r[2]=l,r[3]=a):(e=r[1],l=r[2],a=r[3]);let t;r[4]!==l?(t=m("relative",l),r[4]=l,r[5]=t):t=r[5];let o;r[6]!==e?(o=c(i.Viewport,{"data-slot":"scroll-area-viewport",className:"size-full rounded-[inherit] transition-[color,box-shadow] outline-none focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-1",children:e}),r[6]=e,r[7]=o):o=r[7];let n,d;r[8]===Symbol.for("react.memo_cache_sentinel")?(n=c(h,{}),d=c(i.Corner,{}),r[8]=n,r[9]=d):(n=r[8],d=r[9]);let f;return r[10]!==a||r[11]!==t||r[12]!==o?(f=b(i.Root,{"data-slot":"scroll-area",className:t,...a,children:[o,n,d]}),r[10]=a,r[11]=t,r[12]=o,r[13]=f):f=r[13],f}function h({className:s,orientation:r="vertical",...e}){return c(i.Scrollbar,{"data-slot":"scroll-area-scrollbar","data-orientation":r,orientation:r,className:m("flex touch-none p-px transition-colors select-none data-horizontal:h-2.5 data-horizontal:flex-col data-horizontal:border-t data-horizontal:border-t-transparent data-vertical:h-full data-vertical:w-2.5 data-vertical:border-s data-vertical:border-s-transparent",s),...e,children:c(i.Thumb,{"data-slot":"scroll-area-thumb",className:"relative flex-1 rounded-md bg-border"})})}export{z as S};
@@ -0,0 +1,2 @@
1
+ 'use client';
2
+ import{c as u}from"react/compiler-runtime";import{Select as l}from"@base-ui/react/select";import{c}from"./utils-bhneXptQ.mjs";import{HugeiconsIcon as m}from"@hugeicons/react";import{Tick02Icon as g,UnfoldMoreIcon as v,ArrowUp01Icon as b,ArrowDown01Icon as h}from"@hugeicons/core-free-icons";import{jsx as i,jsxs as p}from"react/jsx-runtime";const I=l.Root;function $(s){const e=u(8);let t,o;e[0]!==s?({className:t,...o}=s,e[0]=s,e[1]=t,e[2]=o):(t=e[1],o=e[2]);let a;e[3]!==t?(a=c("flex flex-1 text-start",t),e[3]=t,e[4]=a):a=e[4];let r;return e[5]!==o||e[6]!==a?(r=i(l.Value,{"data-slot":"select-value",className:a,...o}),e[5]=o,e[6]=a,e[7]=r):r=e[7],r}function j({className:s,size:e="default",children:t,...o}){return p(l.Trigger,{"data-slot":"select-trigger","data-size":e,className:c("flex w-fit items-center justify-between gap-1.5 rounded-md border border-input bg-transparent py-2 pe-2 ps-2.5 text-xs whitespace-nowrap transition-colors outline-none select-none focus-visible:border-ring focus-visible:ring-1 focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-1 aria-invalid:ring-destructive/20 data-placeholder:text-muted-foreground data-[size=default]:h-8 data-[size=sm]:h-7 data-[size=sm]:rounded-md *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-1.5 dark:bg-input/30 dark:hover:bg-input/50 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",s),...o,children:[t,i(l.Icon,{render:i(m,{icon:v,strokeWidth:2,className:"pointer-events-none size-4 text-muted-foreground"})})]})}function A({className:s,children:e,side:t="bottom",sideOffset:o=4,align:a="center",alignOffset:r=0,alignItemWithTrigger:n=!0,...d}){return i(l.Portal,{children:i(l.Positioner,{side:t,sideOffset:o,align:a,alignOffset:r,alignItemWithTrigger:n,className:"isolate z-50",children:p(l.Popup,{"data-slot":"select-content","data-align-trigger":n,className:c("isolate z-50 max-h-(--available-height) w-(--anchor-width) min-w-36 origin-(--transform-origin) overflow-x-hidden overflow-y-auto rounded-md text-popover-foreground shadow-md ring-1 ring-foreground/10 duration-100 data-[align-trigger=true]:animate-none data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-start-2 data-[side=inline-start]:slide-in-from-end-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95 animate-none! relative bg-popover before:pointer-events-none before:absolute before:inset-0 before:-z-1 before:rounded-[inherit] **:data-[slot$=-item]:focus:bg-foreground/10 **:data-[slot$=-item]:data-highlighted:bg-foreground/10 **:data-[slot$=-separator]:bg-foreground/5 **:data-[slot$=-trigger]:focus:bg-foreground/10 **:data-[slot$=-trigger]:aria-expanded:bg-foreground/10! **:data-[variant=destructive]:focus:bg-foreground/10! **:data-[variant=destructive]:text-accent-foreground! **:data-[variant=destructive]:**:text-accent-foreground!",s),...d,children:[i(x,{}),i(l.List,{children:e}),i(w,{})]})})})}function U(s){const e=u(13);let t,o,a;e[0]!==s?({className:o,children:t,...a}=s,e[0]=s,e[1]=t,e[2]=o,e[3]=a):(t=e[1],o=e[2],a=e[3]);let r;e[4]!==o?(r=c("relative flex w-full cursor-default items-center gap-2 rounded-md py-2 pe-8 ps-2 text-xs outline-hidden select-none focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2",o),e[4]=o,e[5]=r):r=e[5];let n;e[6]!==t?(n=i(l.ItemText,{className:"flex flex-1 shrink-0 gap-2 whitespace-nowrap",children:t}),e[6]=t,e[7]=n):n=e[7];let d;e[8]===Symbol.for("react.memo_cache_sentinel")?(d=i(l.ItemIndicator,{render:i("span",{className:"pointer-events-none absolute end-2 flex size-4 items-center justify-center"}),children:i(m,{icon:g,strokeWidth:2,className:"pointer-events-none"})}),e[8]=d):d=e[8];let f;return e[9]!==a||e[10]!==r||e[11]!==n?(f=p(l.Item,{"data-slot":"select-item",className:r,...a,children:[n,d]}),e[9]=a,e[10]=r,e[11]=n,e[12]=f):f=e[12],f}function x(s){const e=u(9);let t,o;e[0]!==s?({className:t,...o}=s,e[0]=s,e[1]=t,e[2]=o):(t=e[1],o=e[2]);let a;e[3]!==t?(a=c("top-0 z-10 flex w-full cursor-default items-center justify-center bg-popover py-1 [&_svg:not([class*='size-'])]:size-4",t),e[3]=t,e[4]=a):a=e[4];let r;e[5]===Symbol.for("react.memo_cache_sentinel")?(r=i(m,{icon:b,strokeWidth:2}),e[5]=r):r=e[5];let n;return e[6]!==o||e[7]!==a?(n=i(l.ScrollUpArrow,{"data-slot":"select-scroll-up-button",className:a,...o,children:r}),e[6]=o,e[7]=a,e[8]=n):n=e[8],n}function w(s){const e=u(9);let t,o;e[0]!==s?({className:t,...o}=s,e[0]=s,e[1]=t,e[2]=o):(t=e[1],o=e[2]);let a;e[3]!==t?(a=c("bottom-0 z-10 flex w-full cursor-default items-center justify-center bg-popover py-1 [&_svg:not([class*='size-'])]:size-4",t),e[3]=t,e[4]=a):a=e[4];let r;e[5]===Symbol.for("react.memo_cache_sentinel")?(r=i(m,{icon:h,strokeWidth:2}),e[5]=r):r=e[5];let n;return e[6]!==o||e[7]!==a?(n=i(l.ScrollDownArrow,{"data-slot":"select-scroll-down-button",className:a,...o,children:r}),e[6]=o,e[7]=a,e[8]=n):n=e[8],n}export{$ as S,j as a,A as b,U as c,I as d};
@@ -0,0 +1 @@
1
+ import{s as a,l as i}from"./browser-storage-BH1MxLZs.mjs";const e="lunora-studio-recent-shards",c=10,o=()=>i(e,"session").filter(s=>typeof s=="string"),l=s=>{const r=s.trim();if(r==="")return o();const t=[r,...o().filter(n=>n!==r)].slice(0,c);return a(e,t,"session"),t};export{o as l,l as r};
@@ -0,0 +1 @@
1
+ import{useSyncExternalStore as f}from"react";import{l as h,s as u}from"./browser-storage-BH1MxLZs.mjs";const r={console:"`",palette:"k"},c="lunora-studio-shortcuts",n=new Set,p=t=>{const e=typeof t?.console=="string"?t.console.toLowerCase():void 0,s=typeof t?.palette=="string"?t.palette.toLowerCase():void 0;return e?.length===1&&s?.length===1&&e!==s?{console:e,palette:s}:r};let o=r;const S=()=>{o=p(h(c)[0]);for(const t of n)t()};S();const g=t=>(n.add(t),()=>{n.delete(t)}),a=()=>o,w=()=>f(g,a,a),y=(t,e)=>{if(e.length!==1)return;const s=e.toLowerCase(),l=t==="console"?"palette":"console";o=o[l]===s?{...o,[t]:s,[l]:o[t]}:{...o,[t]:s},u(c,[o]);for(const i of n)i()},C=()=>{o=r,u(c,[o]);for(const t of n)t()};export{C as r,y as s,w as u};
@@ -0,0 +1 @@
1
+ import{c as r}from"react/compiler-runtime";import{c as a}from"./utils-bhneXptQ.mjs";import{jsx as i}from"react/jsx-runtime";function p(m){const e=r(8);let t,s;e[0]!==m?({className:t,...s}=m,e[0]=m,e[1]=t,e[2]=s):(t=e[1],s=e[2]);let o;e[3]!==t?(o=a("animate-pulse rounded-md bg-muted",t),e[3]=t,e[4]=o):o=e[4];let l;return e[5]!==s||e[6]!==o?(l=i("div",{"data-slot":"skeleton",className:o,...s}),e[5]=s,e[6]=o,e[7]=l):l=e[7],l}export{p as S};
@@ -0,0 +1 @@
1
+ import{c as p}from"react/compiler-runtime";import{B as u,E as h}from"./bar-chart-BCsEIQoQ.mjs";import{c as g}from"./utils-bhneXptQ.mjs";import{jsx as d}from"react/jsx-runtime";const v={value:{colors:{dark:["var(--foreground)"],light:["var(--foreground)"]},label:""}},w=i=>{const e=p(12),{ariaLabel:n,className:c,series:r,testId:m}=i;if(r.length<2)return null;let l;e[0]!==r?(l=r.slice(-40).map(b),e[0]=r,e[1]=l):l=e[1];const f=l;let a;e[2]!==c?(a=g("h-6 w-[120px]",c),e[2]=c,e[3]=a):a=e[3];let o;e[4]===Symbol.for("react.memo_cache_sentinel")?(o=d(u,{dataKey:"value"}),e[4]=o):o=e[4];let t;e[5]!==f?(t=d(h,{animationType:"none",barCategoryGap:1,className:"h-full w-full",config:v,data:f,children:o}),e[5]=f,e[6]=t):t=e[6];let s;return e[7]!==n||e[8]!==a||e[9]!==t||e[10]!==m?(s=d("div",{"aria-label":n,className:a,"data-testid":m,role:"img",children:t}),e[7]=n,e[8]=a,e[9]=t,e[10]=m,e[11]=s):s=e[11],s};function b(i,e){return{index:e,value:i}}export{w as S};
@@ -0,0 +1 @@
1
+ import{c as T}from"react/compiler-runtime";import{AreaChart as R,CartesianGrid as g,XAxis as N,Area as B,LineChart as X,Line as $}from"recharts";import{useT as S}from"./DEFAULT_LOCALE-A1Yg5ORA.mjs";import{k as E}from"./internal-Df43vQI0.mjs";import{E as H,X as _,B as j,T as G,C as O,a as A,b as K}from"./bar-chart-BCsEIQoQ.mjs";import{jsx as l,jsxs as k}from"react/jsx-runtime";import{c as V,a as z,b as L,e as F,d as I,T as M}from"./table-D0SBiDu-.mjs";import{C as U}from"./data-grid-DIiNmDR9.mjs";const W=50,q={value:{colors:{dark:["var(--chart-1)"],light:["var(--chart-1)"]},label:"value"}},D=o=>{const e=o.columns.find(n=>o.rows.length>0&&o.rows.every(a=>typeof a[n]=="number"))??null;return{label:o.columns.find(n=>n!==e)??null,value:e}},J=o=>{const e=T(3),{data:t,kind:n}=o;let a;return e[0]!==t||e[1]!==n?(a=l(O,{className:"h-full w-full",config:q,children:n==="area"?k(R,{data:t,children:[l(g,{vertical:!1}),l(N,{axisLine:!1,dataKey:"label",tickLine:!1}),l(A,{content:l(K,{})}),l(B,{dataKey:"value",fill:"var(--color-value-0)",fillOpacity:.2,stroke:"var(--color-value-0)",type:"monotone"})]}):k(X,{data:t,children:[l(g,{vertical:!1}),l(N,{axisLine:!1,dataKey:"label",tickLine:!1}),l(A,{content:l(K,{})}),l($,{dataKey:"value",dot:!1,stroke:"var(--color-value-0)",strokeWidth:2,type:"monotone"})]})}),e[0]=t,e[1]=n,e[2]=a):a=e[2],a},oe=o=>{const e=T(21),{axes:t,kind:n,result:a}=o,u=S();let r;e[0]!==a?(r=D(a),e[0]=a,e[1]=r):r=e[1];const d=r;let m;e[2]!==a.columns?(m=new Set(a.columns),e[2]=a.columns,e[3]=m):m=e[3];const s=m,i=t!==void 0&&s.has(t.x)?t.x:d.label;let h;e[4]!==t?.y||e[5]!==s?(h=t?.y.find(c=>s.has(c)),e[4]=t?.y,e[5]=s,e[6]=h):h=e[6];const b=h,C=b??d.value;let w;e[7]!==i||e[8]!==a.rows||e[9]!==C?(w=C===null?[]:a.rows.slice(0,W).map((c,v)=>({label:i===null?`#${(v+1).toString()}`:E(c[i]),value:Number(c[C])||0})),e[7]=i,e[8]=a.rows,e[9]=C,e[10]=w):w=e[10];const x=w;if(C===null){let c;e[11]!==u?(c=u("No numeric column to chart."),e[11]=u,e[12]=c):c=e[12];let v;return e[13]!==c?(v=l("p",{className:"p-4 text-sm text-muted-foreground","data-testid":"sql-chart-empty",children:c}),e[13]=c,e[14]=v):v=e[14],v}const f=n??(t!==void 0&&b!==void 0?t.kind:"bar");let p;e[15]!==x||e[16]!==f?(p=f==="bar"?k(H,{className:"h-full w-full",config:q,data:x,children:[l(_,{dataKey:"label"}),l(j,{dataKey:"value"}),l(G,{})]}):l(J,{data:x,kind:f}),e[15]=x,e[16]=f,e[17]=p):p=e[17];let y;return e[18]!==f||e[19]!==p?(y=l("div",{className:"h-80 w-full p-3","data-chart-kind":f,"data-testid":"sql-chart",children:p}),e[18]=f,e[19]=p,e[20]=y):y=e[20],y},ne=o=>{const e=T(19),{result:t}=o,n=S();if(t.columns.length===0){let s;e[0]!==t.rowCount||e[1]!==n?(s=n("{count} rows",{count:t.rowCount}),e[0]=t.rowCount,e[1]=n,e[2]=s):s=e[2];let i;return e[3]!==s?(i=l("p",{className:"p-4 text-sm text-muted-foreground",children:s}),e[3]=s,e[4]=i):i=e[4],i}let a;e[5]!==t.columns?(a=t.columns.map(P),e[5]=t.columns,e[6]=a):a=e[6];let u;e[7]!==a?(u=l(z,{className:"sticky top-0 z-10 bg-muted",children:l(L,{children:a})}),e[7]=a,e[8]=u):u=e[8];let r;if(e[9]!==t.columns||e[10]!==t.rows){let s;e[12]!==t.columns?(s=(i,h)=>l(L,{"data-testid":"sql-row",children:t.columns.map(b=>l(F,{className:"max-w-md truncate font-mono text-xs",children:l(U,{value:i[b]})},b))},h),e[12]=t.columns,e[13]=s):s=e[13],r=t.rows.map(s),e[9]=t.columns,e[10]=t.rows,e[11]=r}else r=e[11];let d;e[14]!==r?(d=l(I,{children:r}),e[14]=r,e[15]=d):d=e[15];let m;return e[16]!==u||e[17]!==d?(m=k(M,{"data-testid":"sql-rows",children:[u,d]}),e[16]=u,e[17]=d,e[18]=m):m=e[18],m};function P(o){return l(V,{children:o},o)}export{oe as S,ne as a};
@@ -0,0 +1 @@
1
+ import{c as u}from"react/compiler-runtime";import{C as b}from"./card-By2O8ULa.mjs";import{jsx as m,jsxs as p}from"react/jsx-runtime";const j=x=>{const e=u(16),{chart:i,footer:o,label:n,testId:c,value:f}=x;let t;e[0]!==n?(t=m("span",{className:"font-mono text-[11px] tracking-wide text-muted-foreground uppercase",children:n}),e[0]=n,e[1]=t):t=e[1];let l;e[2]!==c||e[3]!==f?(l=m("span",{className:"truncate text-2xl font-semibold tabular-nums text-foreground","data-testid":c,children:f}),e[2]=c,e[3]=f,e[4]=l):l=e[4];let r;e[5]!==i||e[6]!==l?(r=p("div",{className:"flex items-center justify-between gap-3",children:[l,i]}),e[5]=i,e[6]=l,e[7]=r):r=e[7];let s;e[8]!==t||e[9]!==r?(s=p("div",{className:"flex flex-col gap-2.5 p-4",children:[t,r]}),e[8]=t,e[9]=r,e[10]=s):s=e[10];let a;e[11]!==o?(a=o!=null&&m("div",{className:"border-t border-border bg-muted/50 px-4 py-2.5 text-[11px] text-muted-foreground",children:o}),e[11]=o,e[12]=a):a=e[12];let d;return e[13]!==s||e[14]!==a?(d=p(b,{className:"justify-between gap-0 py-0",children:[s,a]}),e[13]=s,e[14]=a,e[15]=d):d=e[15],d};export{j as S};
@@ -0,0 +1 @@
1
+ import{c as n}from"react/compiler-runtime";import{jsx as d,jsxs as h}from"react/jsx-runtime";const b={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"},c={borderRadius:"50%",display:"inline-block",height:7,width:7},i=(r,e,a,t)=>({badgeStyle:{...b,borderColor:r,color:r},color:r,dotStyle:{...c,backgroundColor:r},hint:t,label:e,title:a}),p={global:i("var(--royal-amethyst)","Global · D1","Global table — 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, …) live here too."),shard:i("var(--sky-sapphire)","Shard-local","Shard-local table — 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 — change the shard key to inspect another.")},y=r=>{const e=n(9),{tier:a}=r,t=p[a],o=`storage-tier-${a}`;let l;e[0]!==t.dotStyle?(l=d("span",{"aria-hidden":"true",style:t.dotStyle}),e[0]=t.dotStyle,e[1]=l):l=e[1];let s;return e[2]!==t.badgeStyle||e[3]!==t.label||e[4]!==t.title||e[5]!==o||e[6]!==l||e[7]!==a?(s=h("span",{"data-testid":o,"data-tier":a,style:t.badgeStyle,title:t.title,children:[l,t.label]}),e[2]=t.badgeStyle,e[3]=t.label,e[4]=t.title,e[5]=o,e[6]=l,e[7]=a,e[8]=s):s=e[8],s};export{y as S,p as T};
@@ -0,0 +1,2 @@
1
+ 'use client';
2
+ import{c as M}from"react/compiler-runtime";import{createRootRoute as is,createRoute as It,createBrowserHistory as ls,createMemoryHistory as ds,createRouter as cs,useNavigate as Vt,useSearch as us,RouterProvider as fs,useRouterState as ms,Outlet as hs}from"@tanstack/react-router";import*as ct from"react";import{use as Tt,createContext as zt,useState as mt,useEffect as ut,useSyncExternalStore as ps,lazy as L,Suspense as gs}from"react";import{c as _}from"./utils-bhneXptQ.mjs";import{jsx as n,jsxs as w,Fragment as Dt}from"react/jsx-runtime";import{ErrorBoundary as bs}from"./ErrorBoundary-BWNF98VF.mjs";import{O as vs,u as xs}from"./operation-console-provider-DoloEvon.mjs";import{useT as se}from"./DEFAULT_LOCALE-A1Yg5ORA.mjs";import{LunoraError as Ot}from"@lunora/errors";import{B as ht}from"./badge-r_5B4LHP.mjs";import{I as Zt}from"./input-CXhxesPC.mjs";import{Popover as ft}from"@base-ui/react/popover";import{Cancel01Icon as ys,SidebarLeftIcon as ws}from"@hugeicons/core-free-icons";import{HugeiconsIcon as qt}from"@hugeicons/react";import{mergeProps as Ft}from"@base-ui/react/merge-props";import{useRender as Wt}from"@base-ui/react/use-render";import{cva as ks}from"class-variance-authority";import{B as Ut}from"./button-q0UYSmrn.mjs";import{Dialog as oe}from"@base-ui/react/dialog";import{Tooltip as ae}from"@base-ui/react/tooltip";import{S as Nt}from"./skeleton-DX1gfixl.mjs";import{H as Ms,u as Ns}from"./home-panel-DIaVZra4.mjs";import{g as Ss,f as Pt}from"./internal-Df43vQI0.mjs";import{o as xt}from"./use-admin-query-tlBof8Yg.mjs";import{StudioI18nProvider as Cs}from"./StudioI18nProvider-fVsCSs5L.mjs";import{v as Ps,a as _s}from"./data-view-params-DhYmAkcj.mjs";import{CommandPalette as Ts,openCommandPalette as As}from"./CommandPalette-D9ZY-qQd.mjs";import{motion as Ls}from"motion/react";import{E as Is}from"./empty-state-D7jEML_T.mjs";import{u as Rs}from"./shortcuts-B9gDaXmw.mjs";const jt="(prefers-color-scheme: dark)",Gt=()=>{try{return globalThis.localStorage}catch{return}},Es=t=>t==="system"||t==="light"||t==="dark",Kt=()=>globalThis.matchMedia,Qt="lunora-studio-theme",St=["system","light","dark"],$s=(t="system")=>{try{const e=Gt()?.getItem(Qt);return Es(e)?e:t}catch{return t}},Rt=t=>{const e=Gt();if(e!==void 0)try{e.setItem(Qt,t)}catch{}},Hs=()=>{try{return Kt()?.(jt).matches?"dark":"light"}catch{return"light"}},Bs=(t,e)=>t==="system"?e:t,Vs=t=>{let e;try{e=Kt()?.(jt)}catch{e=void 0}if(e===void 0)return()=>{};const s=a=>{t(a.matches?"dark":"light")};return e.addEventListener("change",s),()=>{e.removeEventListener("change",s)}},At=zt(null),zs=({children:t,defaultTheme:e="system"})=>{const[s,a]=mt(()=>$s(e)),[o,r]=mt(()=>Hs());ut(()=>Vs(r),[]);const i=u=>{Rt(u),a(u)},d={cycleTheme:()=>{a(u=>{const c=St[(St.indexOf(u)+1)%St.length]??u;return Rt(c),c})},resolvedTheme:Bs(s,o),setTheme:i,systemTheme:o,theme:s};return n(At,{value:d,children:t})},Ds=t=>{const e=M(3),{children:s}=t,a=Tt(At);let o;return e[0]!==s||e[1]!==a?(o=a===null?n(zs,{children:s}):s,e[0]=s,e[1]=a,e[2]=o):o=e[2],o},Os=()=>{const t=Tt(At);if(t===null)throw new Ot("INTERNAL","useTheme must be used within a <ThemeProvider>");return t};function Rn({delay:t=0,...e}){return n(ae.Provider,{"data-slot":"tooltip-provider",delay:t,...e})}function Zs(t){const e=M(4);let s;e[0]!==t?({...s}=t,e[0]=t,e[1]=s):s=e[1];let a;return e[2]!==s?(a=n(ae.Root,{"data-slot":"tooltip",...s}),e[2]=s,e[3]=a):a=e[3],a}function qs(t){const e=M(4);let s;e[0]!==t?({...s}=t,e[0]=t,e[1]=s):s=e[1];let a;return e[2]!==s?(a=n(ae.Trigger,{"data-slot":"tooltip-trigger",...s}),e[2]=s,e[3]=a):a=e[3],a}function Fs({className:t,side:e="top",sideOffset:s=4,align:a="center",alignOffset:o=0,children:r,...i}){return n(ae.Portal,{children:n(ae.Positioner,{align:a,alignOffset:o,side:e,sideOffset:s,className:"isolate z-50",children:w(ae.Popup,{"data-slot":"tooltip-content",className:_("z-50 inline-flex w-fit max-w-xs origin-(--transform-origin) items-center gap-1.5 rounded-md bg-foreground px-3 py-1.5 text-xs text-background has-data-[slot=kbd]:pe-1.5 data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-start-2 data-[side=inline-start]:slide-in-from-end-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 **:data-[slot=kbd]:relative **:data-[slot=kbd]:isolate **:data-[slot=kbd]:z-50 **:data-[slot=kbd]:rounded-md data-[state=delayed-open]:animate-in data-[state=delayed-open]:fade-in-0 data-[state=delayed-open]:zoom-in-95 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95",t),...i,children:[r,n(ae.Arrow,{className:"z-50 size-2.5 translate-y-[calc(-50%-2px)] rotate-45 rounded-md bg-foreground fill-foreground data-[side=bottom]:top-1 data-[side=inline-end]:top-1/2! data-[side=inline-end]:-start-1 data-[side=inline-end]:-translate-y-1/2 data-[side=inline-start]:top-1/2! data-[side=inline-start]:-end-1 data-[side=inline-start]:-translate-y-1/2 data-[side=left]:top-1/2! data-[side=left]:-right-1 data-[side=left]:-translate-y-1/2 data-[side=right]:top-1/2! data-[side=right]:-left-1 data-[side=right]:-translate-y-1/2 data-[side=top]:-bottom-2.5"})]})})})}const Ws=t=>{const e=M(5),{className:s}=t;let a;e[0]!==s?(a=_("h-full w-full text-foreground",s),e[0]=s,e[1]=a):a=e[1];let o;e[2]===Symbol.for("react.memo_cache_sentinel")?(o=n("path",{d:"M 259.500 10.552 C 220.080 15.859, 182.424 32.566, 152.500 58.025 C 110.179 94.031, 85.380 137.183, 77.518 188.500 C 75.410 202.255, 74.569 225.677, 75.796 236.466 C 76.757 244.917, 76.683 245.692, 74.518 249.966 C 63.118 272.466, 53.141 303.876, 51.382 322.799 L 50.718 329.943 71.960 320.471 C 83.643 315.262, 93.326 311, 93.478 311 C 93.630 311, 96.547 316.063, 99.959 322.250 C 103.371 328.438, 107.249 334.850, 108.577 336.500 L 110.990 339.500 110.981 336 C 110.977 334.075, 111.499 324.991, 112.143 315.813 L 113.312 299.127 121.406 293.336 C 132.495 285.403, 149.593 271.554, 161 261.268 C 171.556 251.748, 189.116 235, 188.540 235 C 188.337 235, 183.069 238.648, 176.835 243.106 C 142.318 267.789, 68.537 314, 63.646 314 C 61.843 314, 72.791 281.179, 80.905 262.259 C 92.233 235.845, 107.473 212.389, 132.106 183.453 L 138.451 176 148.268 176 C 176.192 176, 197.512 187.154, 212.868 209.797 C 216.470 215.108, 217.035 216.595, 216.477 219.297 C 211.386 243.968, 202.359 274.496, 193.797 296 C 183.898 320.861, 167.147 352.101, 152.395 373.215 L 147.004 380.930 152.891 385.830 C 161.400 392.911, 165.563 396, 166.594 395.998 C 167.092 395.998, 168.772 391.641, 170.327 386.317 C 176.279 365.934, 188.422 338.749, 200.942 317.778 C 223.060 280.731, 256.432 244.369, 294.500 215.836 C 309.956 204.252, 313.937 201.603, 314.719 202.385 C 315.116 202.783, 315.449 213.096, 315.460 225.304 C 315.474 241.855, 315.021 250.405, 313.680 258.924 C 307.009 301.272, 291.175 336.677, 263.112 372 C 255.259 381.883, 227.182 410.673, 218.516 417.727 L 213.532 421.783 223.439 424.880 C 281.705 443.093, 349.165 436.018, 398.616 406.508 C 446.728 377.797, 483.322 331.466, 497.366 281.481 C 503.381 260.075, 504.480 250.741, 504.491 221 C 504.501 191.997, 503.598 184.047, 497.987 163.732 C 484.768 115.871, 452.505 72.708, 407.718 42.964 C 381.051 25.254, 352.818 14.828, 319.695 10.460 C 305.932 8.645, 273.298 8.695, 259.500 10.552",fillRule:"evenodd"}),e[2]=o):o=e[2];let r;return e[3]!==a?(r=n("svg",{"aria-hidden":"true",className:a,fill:"currentColor",viewBox:"0 0 543 446",children:o}),e[3]=a,e[4]=r):r=e[4],r},Yt="lunora.studio.rulesBannerDismissed",Us=()=>{try{return globalThis.localStorage.getItem(Yt)==="1"}catch{return!1}},js=()=>{try{globalThis.localStorage.setItem(Yt,"1")}catch{}},Gs=()=>{const t=M(18),e=se(),[s,a]=mt(Ks);let o;t[0]===Symbol.for("react.memo_cache_sentinel")?(o=()=>{a(!0),js()},t[0]=o):o=t[0];const r=o;if(s)return null;let i;t[1]===Symbol.for("react.memo_cache_sentinel")?(i=n("span",{"aria-hidden":"true",className:"text-warning",children:"⚠"}),t[1]=i):i=t[1];let l;t[2]!==e?(l=e("Lunora AI rules aren't installed."),t[2]=e,t[3]=l):l=t[3];let d;t[4]===Symbol.for("react.memo_cache_sentinel")?(d=n("code",{className:"rounded bg-muted px-1 py-0.5 font-mono text-[11px]",children:"lunora rules install"}),t[4]=d):d=t[4];let u;t[5]!==e?(u=e("lets your coding agent use Lunora correctly."),t[5]=e,t[6]=u):u=t[6];let c;t[7]!==l||t[8]!==u?(c=w("span",{children:[l," ",d," ",u]}),t[7]=l,t[8]=u,t[9]=c):c=t[9];let m;t[10]!==e?(m=e("Dismiss"),t[10]=e,t[11]=m):m=t[11];let h;t[12]===Symbol.for("react.memo_cache_sentinel")?(h=n("svg",{"aria-hidden":"true",className:"size-3.5",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeWidth:1.8,viewBox:"0 0 24 24",children:n("path",{d:"M18 6 6 18M6 6l12 12"})}),t[12]=h):h=t[12];let f;t[13]!==m?(f=n("button",{"aria-label":m,className:"ms-auto flex size-5 items-center justify-center rounded text-muted-foreground outline-none transition-colors hover:bg-accent hover:text-foreground focus-visible:bg-accent","data-testid":"dash-app-rules-banner-dismiss",onClick:r,type:"button",children:h}),t[13]=m,t[14]=f):f=t[14];let g;return t[15]!==c||t[16]!==f?(g=w("div",{className:"flex shrink-0 items-center gap-2 border-b border-warning/30 bg-warning/10 px-6 py-2 text-[12px] text-foreground","data-testid":"dash-app-rules-banner",role:"note",children:[i,c,f]}),t[15]=c,t[16]=f,t[17]=g):g=t[17],g};function Ks(){return Us()}function Jt(t){const e=M(4);let s;e[0]!==t?({...s}=t,e[0]=t,e[1]=s):s=e[1];let a;return e[2]!==s?(a=n(ft.Root,{"data-slot":"popover",...s}),e[2]=s,e[3]=a):a=e[3],a}function Xt(t){const e=M(4);let s;e[0]!==t?({...s}=t,e[0]=t,e[1]=s):s=e[1];let a;return e[2]!==s?(a=n(ft.Trigger,{"data-slot":"popover-trigger",...s}),e[2]=s,e[3]=a):a=e[3],a}function es({align:t="end",alignOffset:e=0,className:s,keepMounted:a=!1,side:o="bottom",sideOffset:r=6,...i}){return n(ft.Portal,{keepMounted:a,children:n(ft.Positioner,{align:t,alignOffset:e,className:"isolate z-50 outline-none",side:o,sideOffset:r,children:n(ft.Popup,{className:_("z-50 w-72 origin-(--transform-origin) rounded-lg border border-border bg-popover p-3 text-popover-foreground shadow-md outline-none data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95",s),"data-slot":"popover-content",...i})})})}const Ct=768;function Qs(){const t=M(2),[e,s]=mt(void 0);let a,o;return t[0]===Symbol.for("react.memo_cache_sentinel")?(a=()=>{const r=globalThis.matchMedia(`(max-width: ${Ct-1}px)`),i=()=>{s(globalThis.innerWidth<Ct)};return r.addEventListener("change",i),s(globalThis.innerWidth<Ct),()=>{r.removeEventListener("change",i)}},o=[],t[0]=a,t[1]=o):(a=t[0],o=t[1]),ut(a,o),!!e}function Ys(t){const e=M(4);let s;e[0]!==t?({...s}=t,e[0]=t,e[1]=s):s=e[1];let a;return e[2]!==s?(a=n(oe.Root,{"data-slot":"sheet",...s}),e[2]=s,e[3]=a):a=e[3],a}function Js(t){const e=M(4);let s;e[0]!==t?({...s}=t,e[0]=t,e[1]=s):s=e[1];let a;return e[2]!==s?(a=n(oe.Portal,{"data-slot":"sheet-portal",...s}),e[2]=s,e[3]=a):a=e[3],a}function Xs(t){const e=M(8);let s,a;e[0]!==t?({className:s,...a}=t,e[0]=t,e[1]=s,e[2]=a):(s=e[1],a=e[2]);let o;e[3]!==s?(o=_("fixed inset-0 z-50 bg-black/10 text-xs/relaxed transition-opacity duration-150 data-ending-style:opacity-0 data-starting-style:opacity-0 supports-backdrop-filter:",s),e[3]=s,e[4]=o):o=e[4];let r;return e[5]!==a||e[6]!==o?(r=n(oe.Backdrop,{"data-slot":"sheet-overlay",className:o,...a}),e[5]=a,e[6]=o,e[7]=r):r=e[7],r}function ea({className:t,children:e,side:s="right",showCloseButton:a=!0,...o}){return w(Js,{children:[n(Xs,{}),w(oe.Popup,{"data-slot":"sheet-content","data-side":s,className:_("fixed z-50 flex flex-col bg-popover bg-clip-padding text-xs/relaxed text-popover-foreground shadow-lg transition duration-200 ease-in-out data-ending-style:opacity-0 data-starting-style:opacity-0 data-[side=bottom]:inset-x-0 data-[side=bottom]:bottom-0 data-[side=bottom]:h-auto data-[side=bottom]:border-t data-[side=bottom]:data-ending-style:translate-y-[2.5rem] data-[side=bottom]:data-starting-style:translate-y-[2.5rem] data-[side=left]:inset-y-0 data-[side=left]:left-0 data-[side=left]:h-full data-[side=left]:w-3/4 data-[side=left]:border-e data-[side=left]:data-ending-style:translate-x-[-2.5rem] rtl:data-[side=left]:data-ending-style:-translate-x-[-2.5rem] data-[side=left]:data-starting-style:translate-x-[-2.5rem] rtl:data-[side=left]:data-starting-style:-translate-x-[-2.5rem] data-[side=right]:inset-y-0 data-[side=right]:right-0 data-[side=right]:h-full data-[side=right]:w-3/4 data-[side=right]:border-s data-[side=right]:data-ending-style:translate-x-[2.5rem] rtl:data-[side=right]:data-ending-style:-translate-x-[2.5rem] data-[side=right]:data-starting-style:translate-x-[2.5rem] rtl:data-[side=right]:data-starting-style:-translate-x-[2.5rem] data-[side=top]:inset-x-0 data-[side=top]:top-0 data-[side=top]:h-auto data-[side=top]:border-b data-[side=top]:data-ending-style:translate-y-[-2.5rem] data-[side=top]:data-starting-style:translate-y-[-2.5rem] data-[side=left]:sm:max-w-sm data-[side=right]:sm:max-w-sm",t),...o,children:[e,a&&w(oe.Close,{"data-slot":"sheet-close",render:n(Ut,{variant:"ghost",className:"absolute top-3 end-3",size:"icon-sm"}),children:[n(qt,{icon:ys,strokeWidth:2}),n("span",{className:"sr-only",children:"Close"})]})]})]})}function ta(t){const e=M(8);let s,a;e[0]!==t?({className:s,...a}=t,e[0]=t,e[1]=s,e[2]=a):(s=e[1],a=e[2]);let o;e[3]!==s?(o=_("flex flex-col gap-0.5 p-4",s),e[3]=s,e[4]=o):o=e[4];let r;return e[5]!==a||e[6]!==o?(r=n("div",{"data-slot":"sheet-header",className:o,...a}),e[5]=a,e[6]=o,e[7]=r):r=e[7],r}function sa(t){const e=M(8);let s,a;e[0]!==t?({className:s,...a}=t,e[0]=t,e[1]=s,e[2]=a):(s=e[1],a=e[2]);let o;e[3]!==s?(o=_("text-sm font-medium text-foreground",s),e[3]=s,e[4]=o):o=e[4];let r;return e[5]!==a||e[6]!==o?(r=n(oe.Title,{"data-slot":"sheet-title",className:o,...a}),e[5]=a,e[6]=o,e[7]=r):r=e[7],r}function aa(t){const e=M(8);let s,a;e[0]!==t?({className:s,...a}=t,e[0]=t,e[1]=s,e[2]=a):(s=e[1],a=e[2]);let o;e[3]!==s?(o=_("text-xs/relaxed text-muted-foreground",s),e[3]=s,e[4]=o):o=e[4];let r;return e[5]!==a||e[6]!==o?(r=n(oe.Description,{"data-slot":"sheet-description",className:o,...a}),e[5]=a,e[6]=o,e[7]=r):r=e[7],r}const oa="sidebar_state",na=3600*24*7,ra="16rem",ia="18rem",la="3rem",da="b",ts=ct.createContext(null);function yt(){const t=ct.useContext(ts);if(!t)throw new Ot("INTERNAL","useSidebar must be used within a SidebarProvider.");return t}function ca({defaultOpen:t=!0,open:e,onOpenChange:s,className:a,style:o,children:r,...i}){const l=Qs(),[d,u]=ct.useState(!1),[c,m]=ct.useState(t),h=e??c,f=p=>{const x=typeof p=="function"?p(h):p;s?s(x):m(x),document.cookie=`${oa}=${x}; path=/; max-age=${na}`},g=()=>l?u(p=>!p):f(p=>!p),v=ct.useEffectEvent(()=>{g()});ct.useEffect(()=>{const p=x=>{x.key===da&&(x.metaKey||x.ctrlKey)&&(x.preventDefault(),v())};return globalThis.addEventListener("keydown",p),()=>globalThis.removeEventListener("keydown",p)},[]);const b={state:h?"expanded":"collapsed",open:h,setOpen:f,isMobile:l,openMobile:d,setOpenMobile:u,toggleSidebar:g};return n(ts.Provider,{value:b,children:n("div",{"data-slot":"sidebar-wrapper",style:{"--sidebar-width":ra,"--sidebar-width-icon":la,...o},className:_("group/sidebar-wrapper flex min-h-svh w-full has-data-[variant=inset]:bg-sidebar",a),...i,children:r})})}function ua({side:t="left",variant:e="sidebar",collapsible:s="offcanvas",className:a,children:o,dir:r,...i}){const{isMobile:l,state:d,openMobile:u,setOpenMobile:c}=yt();return s==="none"?n("div",{"data-slot":"sidebar",className:_("flex h-full w-(--sidebar-width) flex-col bg-sidebar text-sidebar-foreground",a),...i,children:o}):l?n(Ys,{open:u,onOpenChange:c,...i,children:w(ea,{dir:r,"data-sidebar":"sidebar","data-slot":"sidebar","data-mobile":"true",className:"w-(--sidebar-width) bg-sidebar p-0 text-sidebar-foreground [&>button]:hidden",style:{"--sidebar-width":ia},side:t,children:[w(ta,{className:"sr-only",children:[n(sa,{children:"Sidebar"}),n(aa,{children:"Displays the mobile sidebar."})]}),n("div",{className:"flex h-full w-full flex-col",children:o})]})}):w("div",{className:"group peer hidden text-sidebar-foreground md:block","data-state":d,"data-collapsible":d==="collapsed"?s:"","data-variant":e,"data-side":t,"data-slot":"sidebar",children:[n("div",{"data-slot":"sidebar-gap",className:_("relative w-(--sidebar-width) bg-transparent transition-[width] duration-200 ease-linear","group-data-[collapsible=offcanvas]:w-0","group-data-[side=right]:rotate-180",e==="floating"||e==="inset"?"group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]":"group-data-[collapsible=icon]:w-(--sidebar-width-icon)")}),n("div",{"data-slot":"sidebar-container","data-side":t,className:_("fixed inset-y-0 z-10 hidden h-svh w-(--sidebar-width) transition-[left,right,width] duration-200 ease-linear data-[side=left]:left-0 data-[side=left]:group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)] data-[side=right]:right-0 data-[side=right]:group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)] md:flex",e==="floating"||e==="inset"?"p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4))+2px)]":"group-data-[collapsible=icon]:w-(--sidebar-width-icon) group-data-[side=left]:border-e group-data-[side=right]:border-s",a),...i,children:n("div",{"data-sidebar":"sidebar","data-slot":"sidebar-inner",className:"flex size-full flex-col bg-sidebar group-data-[variant=floating]:rounded-none group-data-[variant=floating]:shadow-sm group-data-[variant=floating]:ring-1 group-data-[variant=floating]:ring-sidebar-border",children:o})})]})}function fa(t){const e=M(15);let s,a,o;e[0]!==t?({className:s,onClick:a,...o}=t,e[0]=t,e[1]=s,e[2]=a,e[3]=o):(s=e[1],a=e[2],o=e[3]);const{toggleSidebar:r}=yt();let i;e[4]!==s?(i=_(s),e[4]=s,e[5]=i):i=e[5];let l;e[6]!==a||e[7]!==r?(l=m=>{a?.(m),r()},e[6]=a,e[7]=r,e[8]=l):l=e[8];let d,u;e[9]===Symbol.for("react.memo_cache_sentinel")?(d=n(qt,{icon:ws,strokeWidth:2,className:"rtl:rotate-180"}),u=n("span",{className:"sr-only",children:"Toggle Sidebar"}),e[9]=d,e[10]=u):(d=e[9],u=e[10]);let c;return e[11]!==o||e[12]!==i||e[13]!==l?(c=w(Ut,{"data-sidebar":"trigger","data-slot":"sidebar-trigger",variant:"ghost",size:"icon-sm",className:i,onClick:l,...o,children:[d,u]}),e[11]=o,e[12]=i,e[13]=l,e[14]=c):c=e[14],c}function ma(t){const e=M(8);let s,a;e[0]!==t?({className:s,...a}=t,e[0]=t,e[1]=s,e[2]=a):(s=e[1],a=e[2]);let o;e[3]!==s?(o=_("relative flex w-full flex-1 flex-col bg-background md:peer-data-[variant=inset]:m-2 md:peer-data-[variant=inset]:ms-0 md:peer-data-[variant=inset]:rounded-none md:peer-data-[variant=inset]:shadow-sm md:peer-data-[variant=inset]:peer-data-[state=collapsed]:ms-2",s),e[3]=s,e[4]=o):o=e[4];let r;return e[5]!==a||e[6]!==o?(r=n("main",{"data-slot":"sidebar-inset",className:o,...a}),e[5]=a,e[6]=o,e[7]=r):r=e[7],r}function ha(t){const e=M(8);let s,a;e[0]!==t?({className:s,...a}=t,e[0]=t,e[1]=s,e[2]=a):(s=e[1],a=e[2]);let o;e[3]!==s?(o=_("flex flex-col gap-2 p-2",s),e[3]=s,e[4]=o):o=e[4];let r;return e[5]!==a||e[6]!==o?(r=n("div",{"data-slot":"sidebar-header","data-sidebar":"header",className:o,...a}),e[5]=a,e[6]=o,e[7]=r):r=e[7],r}function pa(t){const e=M(8);let s,a;e[0]!==t?({className:s,...a}=t,e[0]=t,e[1]=s,e[2]=a):(s=e[1],a=e[2]);let o;e[3]!==s?(o=_("flex flex-col gap-2 p-2",s),e[3]=s,e[4]=o):o=e[4];let r;return e[5]!==a||e[6]!==o?(r=n("div",{"data-slot":"sidebar-footer","data-sidebar":"footer",className:o,...a}),e[5]=a,e[6]=o,e[7]=r):r=e[7],r}function ga(t){const e=M(8);let s,a;e[0]!==t?({className:s,...a}=t,e[0]=t,e[1]=s,e[2]=a):(s=e[1],a=e[2]);let o;e[3]!==s?(o=_("flex min-h-0 flex-1 flex-col gap-0 overflow-x-hidden overflow-y-auto [scrollbar-color:color-mix(in_oklch,var(--muted-foreground)_25%,transparent)_transparent] [scrollbar-width:thin] [&::-webkit-scrollbar-thumb]:rounded-full [&::-webkit-scrollbar-thumb]:bg-muted-foreground/25 [&::-webkit-scrollbar-track]:bg-transparent [&::-webkit-scrollbar]:w-1.5 hover:[scrollbar-color:color-mix(in_oklch,var(--muted-foreground)_50%,transparent)_transparent] hover:[&::-webkit-scrollbar-thumb]:bg-muted-foreground/50",s),e[3]=s,e[4]=o):o=e[4];let r;return e[5]!==a||e[6]!==o?(r=n("div",{"data-slot":"sidebar-content","data-sidebar":"content",className:o,...a}),e[5]=a,e[6]=o,e[7]=r):r=e[7],r}function ba(t){const e=M(8);let s,a;e[0]!==t?({className:s,...a}=t,e[0]=t,e[1]=s,e[2]=a):(s=e[1],a=e[2]);let o;e[3]!==s?(o=_("relative flex w-full min-w-0 flex-col p-2",s),e[3]=s,e[4]=o):o=e[4];let r;return e[5]!==a||e[6]!==o?(r=n("div",{"data-slot":"sidebar-group","data-sidebar":"group",className:o,...a}),e[5]=a,e[6]=o,e[7]=r):r=e[7],r}function va(t){const e=M(10);let s,a,o,r;if(e[0]!==t){const{className:d,render:u,...c}=t;s=u,r=Wt,a="div",o=Ft({className:_("flex h-8 shrink-0 items-center rounded-none px-2 text-xs text-sidebar-foreground/70 ring-sidebar-ring outline-hidden transition-[margin,opacity] duration-200 ease-linear group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0 focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0",d)},c),e[0]=t,e[1]=s,e[2]=a,e[3]=o,e[4]=r}else s=e[1],a=e[2],o=e[3],r=e[4];let i;e[5]===Symbol.for("react.memo_cache_sentinel")?(i={slot:"sidebar-group-label",sidebar:"group-label"},e[5]=i):i=e[5];let l;return e[6]!==s||e[7]!==a||e[8]!==o?(l={defaultTagName:a,props:o,render:s,state:i},e[6]=s,e[7]=a,e[8]=o,e[9]=l):l=e[9],r(l)}function xa(t){const e=M(8);let s,a;e[0]!==t?({className:s,...a}=t,e[0]=t,e[1]=s,e[2]=a):(s=e[1],a=e[2]);let o;e[3]!==s?(o=_("w-full text-xs",s),e[3]=s,e[4]=o):o=e[4];let r;return e[5]!==a||e[6]!==o?(r=n("div",{"data-slot":"sidebar-group-content","data-sidebar":"group-content",className:o,...a}),e[5]=a,e[6]=o,e[7]=r):r=e[7],r}function Et(t){const e=M(8);let s,a;e[0]!==t?({className:s,...a}=t,e[0]=t,e[1]=s,e[2]=a):(s=e[1],a=e[2]);let o;e[3]!==s?(o=_("flex w-full min-w-0 flex-col gap-0",s),e[3]=s,e[4]=o):o=e[4];let r;return e[5]!==a||e[6]!==o?(r=n("ul",{"data-slot":"sidebar-menu","data-sidebar":"menu",className:o,...a}),e[5]=a,e[6]=o,e[7]=r):r=e[7],r}function $t(t){const e=M(8);let s,a;e[0]!==t?({className:s,...a}=t,e[0]=t,e[1]=s,e[2]=a):(s=e[1],a=e[2]);let o;e[3]!==s?(o=_("group/menu-item relative",s),e[3]=s,e[4]=o):o=e[4];let r;return e[5]!==a||e[6]!==o?(r=n("li",{"data-slot":"sidebar-menu-item","data-sidebar":"menu-item",className:o,...a}),e[5]=a,e[6]=o,e[7]=r):r=e[7],r}const ya=ks("peer/menu-button group/menu-button flex w-full items-center gap-2 overflow-hidden rounded-none p-2 text-start text-xs ring-sidebar-ring outline-hidden transition-[width,height,padding] group-has-data-[sidebar=menu-action]/menu-item:pe-8 group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-open:hover:bg-sidebar-accent data-open:hover:text-sidebar-accent-foreground data-active:bg-sidebar-accent data-active:font-medium data-active:text-sidebar-accent-foreground [&_svg]:size-4 [&_svg]:shrink-0 [&>span:last-child]:truncate",{variants:{variant:{default:"hover:bg-sidebar-accent hover:text-sidebar-accent-foreground",outline:"bg-background shadow-[0_0_0_1px_var(--sidebar-border)] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_var(--sidebar-accent)]"},size:{default:"h-8 text-xs",sm:"h-7 text-xs",lg:"h-12 text-xs group-data-[collapsible=icon]:p-0!"}},defaultVariants:{variant:"default",size:"default"}});function ss({render:t,isActive:e=!1,variant:s="default",size:a="default",tooltip:o,className:r,...i}){const{isMobile:l,state:d}=yt(),u=Wt({defaultTagName:"button",props:Ft({className:_(ya({variant:s,size:a}),r)},i),render:o?n(qs,{render:t}):t,state:{slot:"sidebar-menu-button",sidebar:"menu-button",size:a,active:e}});return o?(typeof o=="string"&&(o={children:o}),w(Zs,{children:[u,n(Fs,{side:"right",align:"center",hidden:d!=="collapsed"||l,...o})]})):u}const wa=t=>t.replace("__lunora_admin__:",""),ka=()=>ps(xt.subscribe,xt.getSnapshot,xt.getSnapshot),Ma=t=>t==="error"?"destructive":t==="pending"?"secondary":"default",Na=t=>{const e=M(56),{entry:s,focused:a}=t,o=se();let r;e[0]!==a?(r=O=>{O!==null&&a&&O.scrollIntoView({block:"nearest"})},e[0]=a,e[1]=r):r=e[1];const i=r;let l;e[2]!==s.functionPath||e[3]!==s.shardKey||e[4]!==s.summary?(l=()=>{Ss(`${s.functionPath} ${s.summary}${s.shardKey===""?"":` (shard ${s.shardKey})`}`)},e[2]=s.functionPath,e[3]=s.shardKey,e[4]=s.summary,e[5]=l):l=e[5];const d=l,u=a&&"bg-accent ring-1 ring-inset ring-primary/40";let c;e[6]!==u?(c=_("border-b border-border/60 last:border-b-0",u),e[6]=u,e[7]=c):c=e[7];let m;e[8]!==s.status?(m=Ma(s.status),e[8]=s.status,e[9]=m):m=e[9];const h=s.status==="pending"?"…":s.status;let f;e[10]!==m||e[11]!==h?(f=n(ht,{className:"mt-px shrink-0",variant:m,children:h}),e[10]=m,e[11]=h,e[12]=f):f=e[12];let g;e[13]!==s.functionPath?(g=wa(s.functionPath),e[13]=s.functionPath,e[14]=g):g=e[14];let v;e[15]!==g?(v=n("span",{className:"shrink-0 font-mono text-[11px] text-foreground",children:g}),e[15]=g,e[16]=v):v=e[16];let y;e[17]!==s.kind||e[18]!==o?(y=s.kind==="subscription"&&n(ht,{className:"shrink-0",variant:"outline",children:o("live")}),e[17]=s.kind,e[18]=o,e[19]=y):y=e[19];let b;e[20]!==s.summary?(b=s.summary!==""&&n("span",{className:"min-w-0 truncate text-muted-foreground",children:s.summary}),e[20]=s.summary,e[21]=b):b=e[21];let p;e[22]!==s.shardKey?(p=s.shardKey!==""&&n("span",{className:"font-mono",children:s.shardKey}),e[22]=s.shardKey,e[23]=p):p=e[23];let x;e[24]!==s.resultCount||e[25]!==o?(x=s.resultCount!==void 0&&n("span",{children:o("{count} rows",{count:s.resultCount})}),e[24]=s.resultCount,e[25]=o,e[26]=x):x=e[26];let k;e[27]!==s.pushes||e[28]!==o?(k=s.pushes!==void 0&&s.pushes>0&&n("span",{children:o("{count} pushes",{count:s.pushes})}),e[27]=s.pushes,e[28]=o,e[29]=k):k=e[29];let P;e[30]!==s.durationMs?(P=s.durationMs!==void 0&&w("span",{children:[s.durationMs,"ms"]}),e[30]=s.durationMs,e[31]=P):P=e[31];let C;e[32]!==o?(C=o("Copy"),e[32]=o,e[33]=C):C=e[33];let S;e[34]!==d||e[35]!==C?(S=n("button",{"aria-label":C,className:"rounded px-1 outline-none hover:bg-accent focus-visible:bg-accent","data-testid":"oc-copy",onClick:d,type:"button",children:"⧉"}),e[34]=d,e[35]=C,e[36]=S):S=e[36];let N;e[37]!==p||e[38]!==x||e[39]!==k||e[40]!==P||e[41]!==S?(N=w("span",{className:"ms-auto flex shrink-0 items-center gap-2 text-[11px] text-muted-foreground",children:[p,x,k,P,S]}),e[37]=p,e[38]=x,e[39]=k,e[40]=P,e[41]=S,e[42]=N):N=e[42];let T;e[43]!==y||e[44]!==b||e[45]!==N||e[46]!==f||e[47]!==v?(T=w("div",{className:"flex items-start gap-2 px-3 py-1.5 text-xs",children:[f,v,y,b,N]}),e[43]=y,e[44]=b,e[45]=N,e[46]=f,e[47]=v,e[48]=T):T=e[48];let A;e[49]!==s.error?(A=s.error!==void 0&&n("p",{className:"px-3 pb-1.5 font-mono text-[11px] text-destructive","data-testid":"oc-error",children:s.error}),e[49]=s.error,e[50]=A):A=e[50];let I;return e[51]!==i||e[52]!==T||e[53]!==A||e[54]!==c?(I=w("li",{className:c,"data-testid":"oc-row",ref:i,children:[T,A]}),e[51]=i,e[52]=T,e[53]=A,e[54]=c,e[55]=I):I=e[55],I},Sa=t=>{const e=M(62),{focusSeq:s,onClose:a,onShownChange:o,shown:r}=t,i=se(),l=ka(),[d,u]=mt("");let c;if(e[0]!==l||e[1]!==s||e[2]!==d||e[3]!==a||e[4]!==o||e[5]!==r||e[6]!==i){const m=d.trim().toLowerCase(),h=l.filter(E=>(r==="errors"?E.status==="error":!0)&&(m===""||`${E.functionPath} ${E.summary} ${E.shardKey}`.toLowerCase().includes(m))).toReversed();let f;e[8]!==l?(f=l.filter(Ca),e[8]=l,e[9]=f):f=e[9];const g=f.length;let v;e[10]!==i?(v=i("Operation console"),e[10]=i,e[11]=v):v=e[11];let y;e[12]!==i?(y=i("Operation console"),e[12]=i,e[13]=y):y=e[13];let b;e[14]!==y?(b=n("span",{className:"text-xs font-medium",children:y}),e[14]=y,e[15]=b):b=e[15];let p;e[16]!==l.length||e[17]!==i?(p=i("{count} calls",{count:l.length}),e[16]=l.length,e[17]=i,e[18]=p):p=e[18];let x;e[19]!==p?(x=n(ht,{variant:"secondary",children:p}),e[19]=p,e[20]=x):x=e[20];let k;e[21]!==g||e[22]!==i?(k=g>0&&n(ht,{variant:"destructive",children:i("{count} failed",{count:g})}),e[21]=g,e[22]=i,e[23]=k):k=e[23];const P=r==="errors",C=r==="errors"&&"bg-accent";let S;e[24]!==C?(S=_("rounded px-2 py-0.5 text-xs outline-none hover:bg-accent focus-visible:bg-accent",C),e[24]=C,e[25]=S):S=e[25];let N;e[26]!==o||e[27]!==r?(N=()=>{o(r==="errors"?"all":"errors")},e[26]=o,e[27]=r,e[28]=N):N=e[28];let T;e[29]!==i?(T=i("Errors"),e[29]=i,e[30]=T):T=e[30];let A;e[31]!==S||e[32]!==N||e[33]!==T||e[34]!==P?(A=n("button",{"aria-pressed":P,className:S,"data-testid":"oc-filter-errors",onClick:N,type:"button",children:T}),e[31]=S,e[32]=N,e[33]=T,e[34]=P,e[35]=A):A=e[35];let I;e[36]!==i?(I=i("Filter"),e[36]=i,e[37]=I):I=e[37];let O;e[38]===Symbol.for("react.memo_cache_sentinel")?(O=E=>{u(E.target.value)},e[38]=O):O=e[38];let B;e[39]!==i?(B=i("Filter"),e[39]=i,e[40]=B):B=e[40];let V;e[41]!==d||e[42]!==I||e[43]!==B?(V=n(Zt,{"aria-label":I,className:"h-7 w-40 text-xs","data-testid":"oc-search",onChange:O,placeholder:B,value:d}),e[41]=d,e[42]=I,e[43]=B,e[44]=V):V=e[44];let z;e[45]!==i?(z=i("Clear"),e[45]=i,e[46]=z):z=e[46];let $;e[47]!==z?($=n("button",{className:"ms-auto rounded px-2 py-0.5 text-xs text-muted-foreground outline-none hover:bg-accent focus-visible:bg-accent","data-testid":"oc-clear",onClick:Pa,type:"button",children:z}),e[47]=z,e[48]=$):$=e[48];let H;e[49]!==i?(H=i("Hide"),e[49]=i,e[50]=H):H=e[50];let D;e[51]!==a||e[52]!==H?(D=n("button",{"aria-label":H,className:"rounded px-2 py-0.5 text-xs text-muted-foreground outline-none hover:bg-accent focus-visible:bg-accent","data-testid":"oc-close",onClick:a,type:"button",children:"✕"}),e[51]=a,e[52]=H,e[53]=D):D=e[53];let Z;e[54]!==A||e[55]!==V||e[56]!==$||e[57]!==D||e[58]!==b||e[59]!==x||e[60]!==k?(Z=w("div",{className:"flex shrink-0 items-center gap-2 border-b border-border px-3 py-1.5",children:[b,x,k,A,V,$,D]}),e[54]=A,e[55]=V,e[56]=$,e[57]=D,e[58]=b,e[59]=x,e[60]=k,e[61]=Z):Z=e[61],c=w("section",{"aria-label":v,className:"flex max-h-80 flex-col border-t border-border bg-card","data-testid":"lunora-operation-console",children:[Z,h.length===0?n("p",{className:"p-3 text-xs text-muted-foreground","data-testid":"oc-empty",children:i("Every admin call this studio makes is recorded here.")}):n("ul",{className:"min-h-0 flex-1 overflow-y-auto","data-testid":"oc-rows",children:h.map(E=>n(Na,{entry:E,focused:E.seq===s},E.seq))})]}),e[0]=l,e[1]=s,e[2]=d,e[3]=a,e[4]=o,e[5]=r,e[6]=i,e[7]=c}else c=e[7];return c};function Ca(t){return t.status==="error"}function Pa(){xt.clear()}const _a=()=>{const t=M(328),e=se();let s;t[0]!==e?(s=e("Health score"),t[0]=e,t[1]=s):s=t[1];let a;t[2]!==e?(a=e("Agents"),t[2]=e,t[3]=a):a=t[3];let o;t[4]!==e?(o=e("Evals"),t[4]=e,t[5]=o):o=t[5];let r;t[6]!==e?(r=e("AI usage"),t[6]=e,t[7]=r):r=t[7];let i;t[8]!==e?(i=e("Analytics"),t[8]=e,t[9]=i):i=t[9];let l;t[10]!==e?(l=e("API"),t[10]=e,t[11]=l):l=t[11];let d;t[12]!==e?(d=e("Architecture"),t[12]=e,t[13]=d):d=t[13];let u;t[14]!==e?(u=e("Audit"),t[14]=e,t[15]=u):u=t[15];let c;t[16]!==e?(c=e("Auth audit"),t[16]=e,t[17]=c):c=t[17];let m;t[18]!==e?(m=e("Configuration"),t[18]=e,t[19]=m):m=t[19];let h;t[20]!==e?(h=e("Sessions"),t[20]=e,t[21]=h):h=t[21];let f;t[22]!==e?(f=e("Containers"),t[22]=e,t[23]=f):f=t[23];let g;t[24]!==e?(g=e("Dashboards"),t[24]=e,t[25]=g):g=t[25];let v;t[26]!==e?(v=e("Data"),t[26]=e,t[27]=v):v=t[27];let y;t[28]!==e?(y=e("Deployment health"),t[28]=e,t[29]=y):y=t[29];let b;t[30]!==e?(b=e("Log drains"),t[30]=e,t[31]=b):b=t[31];let p;t[32]!==e?(p=e("Export / Import"),t[32]=e,t[33]=p):p=t[33];let x;t[34]!==e?(x=e("Fan-out"),t[34]=e,t[35]=x):x=t[35];let k;t[36]!==e?(k=e("Files"),t[36]=e,t[37]=k):k=t[37];let P;t[38]!==e?(P=e("Flags"),t[38]=e,t[39]=P):P=t[39];let C;t[40]!==e?(C=e("Functions"),t[40]=e,t[41]=C):C=t[41];let S;t[42]!==e?(S=e("Health"),t[42]=e,t[43]=S):S=t[43];let N;t[44]!==e?(N=e("Home"),t[44]=e,t[45]=N):N=t[45];let T;t[46]!==e?(T=e("Performance"),t[46]=e,t[47]=T):T=t[47];let A;t[48]!==e?(A=e("Issues"),t[48]=e,t[49]=A):A=t[49];let I;t[50]!==e?(I=e("KV"),t[50]=e,t[51]=I):I=t[51];let O;t[52]!==e?(O=e("Logs"),t[52]=e,t[53]=O):O=t[53];let B;t[54]!==e?(B=e("Metrics"),t[54]=e,t[55]=B):B=t[55];let V;t[56]!==e?(V=e("Migrations"),t[56]=e,t[57]=V):V=t[57];let z;t[58]!==e?(z=e("Notifications"),t[58]=e,t[59]=z):z=t[59];let $;t[60]!==e?($=e("Organizations"),t[60]=e,t[61]=$):$=t[61];let H;t[62]!==e?(H=e("Time Travel"),t[62]=e,t[63]=H):H=t[63];let D;t[64]!==e?(D=e("Mail"),t[64]=e,t[65]=D):D=t[65];let Z;t[66]!==e?(Z=e("Payments"),t[66]=e,t[67]=Z):Z=t[67];let E;t[68]!==e?(E=e("Permissions"),t[68]=e,t[69]=E):E=t[69];let q;t[70]!==e?(q=e("Queues"),t[70]=e,t[71]=q):q=t[71];let ee;t[72]!==e?(ee=e("Reactors"),t[72]=e,t[73]=ee):ee=t[73];let F;t[74]!==e?(F=e("Realtime"),t[74]=e,t[75]=F):F=t[75];let Y;t[76]!==e?(Y=e("RLS Policies"),t[76]=e,t[77]=Y):Y=t[77];let te;t[78]!==e?(te=e("Scheduled"),t[78]=e,t[79]=te):te=t[79];let W;t[80]!==e?(W=e("Schema"),t[80]=e,t[81]=W):W=t[81];let U;t[82]!==e?(U=e("Security"),t[82]=e,t[83]=U):U=t[83];let j;t[84]!==e?(j=e("Settings"),t[84]=e,t[85]=j):j=t[85];let G;t[86]!==e?(G=e("SQL editor"),t[86]=e,t[87]=G):G=t[87];let K;t[88]!==e?(K=e("Traces"),t[88]=e,t[89]=K):K=t[89];let J;t[90]!==e?(J=e("Access Rules"),t[90]=e,t[91]=J):J=t[91];let Q;t[92]!==e?(Q=e("Users"),t[92]=e,t[93]=Q):Q=t[93];let X;t[94]!==e?(X=e("Vectors"),t[94]=e,t[95]=X):X=t[95];let ne;t[96]!==e?(ne=e("Workflows"),t[96]=e,t[97]=ne):ne=t[97];let pt;t[98]!==s||t[99]!==a||t[100]!==h||t[101]!==f||t[102]!==g||t[103]!==v||t[104]!==y||t[105]!==b||t[106]!==p||t[107]!==x||t[108]!==k||t[109]!==P||t[110]!==o||t[111]!==C||t[112]!==S||t[113]!==N||t[114]!==T||t[115]!==A||t[116]!==I||t[117]!==O||t[118]!==B||t[119]!==V||t[120]!==z||t[121]!==r||t[122]!==$||t[123]!==H||t[124]!==D||t[125]!==Z||t[126]!==E||t[127]!==q||t[128]!==ee||t[129]!==F||t[130]!==Y||t[131]!==te||t[132]!==i||t[133]!==W||t[134]!==U||t[135]!==j||t[136]!==G||t[137]!==K||t[138]!==J||t[139]!==Q||t[140]!==X||t[141]!==ne||t[142]!==l||t[143]!==d||t[144]!==u||t[145]!==c||t[146]!==m?(pt={advisorHealth:s,agents:a,evals:o,aiUsage:r,analytics:i,api:l,architecture:d,audit:u,authAudit:c,authConfig:m,authSessions:h,containers:f,dashboards:g,data:v,deploymentHealth:y,drains:b,export:p,fanout:x,files:k,flags:P,functions:C,health:S,home:N,insights:T,issues:A,kv:I,logs:O,metrics:B,migrations:V,notifications:z,organizations:$,pitr:H,mail:D,payments:Z,permissions:E,queues:q,reactors:ee,realtime:F,rls:Y,schedule:te,schema:W,security:U,settings:j,sql:G,traces:K,storageRules:J,users:Q,vectors:X,workflows:ne},t[98]=s,t[99]=a,t[100]=h,t[101]=f,t[102]=g,t[103]=v,t[104]=y,t[105]=b,t[106]=p,t[107]=x,t[108]=k,t[109]=P,t[110]=o,t[111]=C,t[112]=S,t[113]=N,t[114]=T,t[115]=A,t[116]=I,t[117]=O,t[118]=B,t[119]=V,t[120]=z,t[121]=r,t[122]=$,t[123]=H,t[124]=D,t[125]=Z,t[126]=E,t[127]=q,t[128]=ee,t[129]=F,t[130]=Y,t[131]=te,t[132]=i,t[133]=W,t[134]=U,t[135]=j,t[136]=G,t[137]=K,t[138]=J,t[139]=Q,t[140]=X,t[141]=ne,t[142]=l,t[143]=d,t[144]=u,t[145]=c,t[146]=m,t[147]=pt):pt=t[147];const wt=pt;let re;t[148]!==e?(re=e("Advisors"),t[148]=e,t[149]=re):re=t[149];let ie;t[150]!==e?(ie=e("Auth"),t[150]=e,t[151]=ie):ie=t[151];let le;t[152]!==e?(le=e("Database"),t[152]=e,t[153]=le):le=t[153];let de;t[154]!==e?(de=e("Functions"),t[154]=e,t[155]=de):de=t[155];let ce;t[156]!==e?(ce=e("Observability"),t[156]=e,t[157]=ce):ce=t[157];let ue;t[158]!==e?(ue=e("Operations"),t[158]=e,t[159]=ue):ue=t[159];let fe;t[160]!==e?(fe=e("Overview"),t[160]=e,t[161]=fe):fe=t[161];let me;t[162]!==e?(me=e("Settings"),t[162]=e,t[163]=me):me=t[163];let he;t[164]!==e?(he=e("Storage"),t[164]=e,t[165]=he):he=t[165];let gt;t[166]!==re||t[167]!==ie||t[168]!==le||t[169]!==de||t[170]!==ce||t[171]!==ue||t[172]!==fe||t[173]!==me||t[174]!==he?(gt={advisors:re,auth:ie,database:le,functions:de,observability:ce,operations:ue,overview:fe,settings:me,storage:he},t[166]=re,t[167]=ie,t[168]=le,t[169]=de,t[170]=ce,t[171]=ue,t[172]=fe,t[173]=me,t[174]=he,t[175]=gt):gt=t[175];const kt=gt;let pe;t[176]!==e?(pe=e("Score your app's advisor findings: a grade, the coverage split, and every procedure ranked worst-first."),t[176]=e,t[177]=pe):pe=t[177];let ge;t[178]!==e?(ge=e("Inspect agent threads, message timelines, tool calls, and token usage."),t[178]=e,t[179]=ge):ge=t[179];let be;t[180]!==e?(be=e("Scores recorded by recordEvaluation — the latest verdict per eval, its trend, and the graded runs behind it."),t[180]=e,t[181]=be):be=t[181];let ve;t[182]!==e?(ve=e("Tokens and spend from ctx.ai.model calls — totals, per function and per model, and the recent calls behind them."),t[182]=e,t[183]=ve):ve=t[183];let xe;t[184]!==e?(xe=e("Usage and latency from Analytics Engine — request volume, p50/p95, and hot shards."),t[184]=e,t[185]=xe):xe=t[185];let ye;t[186]!==e?(ye=e("Interactive OpenAPI reference and copy-paste snippets for your functions."),t[186]=e,t[187]=ye):ye=t[187];let we;t[188]!==e?(we=e("A durable log of admin state-changing operations."),t[188]=e,t[189]=we):we=t[189];let ke;t[190]!==e?(ke=e("Authentication and security events — sign-ins, MFA, and session changes."),t[190]=e,t[191]=ke):ke=t[191];let Me;t[192]!==e?(Me=e("Enabled plugins and session config (read-only)."),t[192]=e,t[193]=Me):Me=t[193];let Ne;t[194]!==e?(Ne=e("Your modules, and the calls, reads, writes and hand-offs between them, from codegen."),t[194]=e,t[195]=Ne):Ne=t[195];let Se;t[196]!==e?(Se=e("Browse and revoke active sessions across all users."),t[196]=e,t[197]=Se):Se=t[197];let Ce;t[198]!==e?(Ce=e("Live Cloudflare Containers — current lifecycle state per instance from the log stream."),t[198]=e,t[199]=Ce):Ce=t[199];let Pe;t[200]!==e?(Pe=e("Chart widgets backed by saved read-only SQL queries."),t[200]=e,t[201]=Pe):Pe=t[201];let _e;t[202]!==e?(_e=e("Browse and edit rows across your shard and global tables."),t[202]=e,t[203]=_e):_e=t[203];let Te;t[204]!==e?(Te=e("Live liveness, readiness, and per-binding health from the deployment's /_lunora/health endpoint."),t[204]=e,t[205]=Te):Te=t[205];let Ae;t[206]!==e?(Ae=e("Forward logs to Logpush, Tail Workers, or a webhook collector."),t[206]=e,t[207]=Ae):Ae=t[207];let Le;t[208]!==e?(Le=e("Export a shard to NDJSON, or import rows from it."),t[208]=e,t[209]=Le):Le=t[209];let Ie;t[210]!==e?(Ie=e("Realtime fan-out cost and per-topic subscriber counts for this shard."),t[210]=e,t[211]=Ie):Ie=t[211];let Re;t[212]!==e?(Re=e("Browse objects in your R2 storage buckets."),t[212]=e,t[213]=Re):Re=t[213];let Ee;t[214]!==e?(Ee=e("Inspect feature flags and their live evaluation under a targeting context."),t[214]=e,t[215]=Ee):Ee=t[215];let $e;t[216]!==e?($e=e("Run registered queries, mutations, and actions."),t[216]=e,t[217]=$e):$e=t[217];let He;t[218]!==e?(He=e("At-a-glance connection, error, and shard signals."),t[218]=e,t[219]=He):He=t[219];let Be;t[220]!==e?(Be=e("Connection, health, and advisor summary for your deployment."),t[220]=e,t[221]=Be):Be=t[221];let Ve;t[222]!==e?(Ve=e("Surface slow functions, error spikes, and cache problems."),t[222]=e,t[223]=Ve):Ve=t[223];let ze;t[224]!==e?(ze=e("Grouped error triage — Worker throws and container crashes folded by fingerprint."),t[224]=e,t[225]=ze):ze=t[225];let De;t[226]!==e?(De=e("A live stream of recent function logs."),t[226]=e,t[227]=De):De=t[227];let Oe;t[228]!==e?(Oe=e("Per-shard health and aggregate metrics."),t[228]=e,t[229]=Oe):Oe=t[229];let Ze;t[230]!==e?(Ze=e("Review migration status and run them."),t[230]=e,t[231]=Ze):Ze=t[231];let qe;t[232]!==e?(qe=e("Registered push devices — endpoint, kind, last-send status, and delivery errors."),t[232]=e,t[233]=qe):qe=t[233];let Fe;t[234]!==e?(Fe=e("Browse and manage organizations, members, and invitations."),t[234]=e,t[235]=Fe):Fe=t[235];let We;t[236]!==e?(We=e("Restore a shard to a point in the last 30 days."),t[236]=e,t[237]=We):We=t[237];let Ue;t[238]!==e?(Ue=e("Email your app sent, captured in dev."),t[238]=e,t[239]=Ue):Ue=t[239];let je;t[240]!==e?(je=e("Synced customers, subscriptions, and webhook events."),t[240]=e,t[241]=je):je=t[241];let Ge;t[242]!==e?(Ge=e("Inspect access policies per table, and probe a function as any identity."),t[242]=e,t[243]=Ge):Ge=t[243];let Ke;t[244]!==e?(Ke=e("Inspect declared Cloudflare Queues — their producer bindings, consumer mode, and dead-letter queue."),t[244]=e,t[245]=Ke):Ke=t[245];let Qe;t[246]!==e?(Qe=e("Server-side onQueryChange reactors: what has run, what was suppressed, and what is failing."),t[246]=e,t[247]=Qe):Qe=t[247];let Ye;t[248]!==e?(Ye=e("Active WebSocket subscriptions on this shard."),t[248]=e,t[249]=Ye):Ye=t[249];let Je;t[250]!==e?(Je=e("Inspect row-level-security policies and roles, per table."),t[250]=e,t[251]=Je):Je=t[251];let Xe;t[252]!==e?(Xe=e("Inspect and cancel scheduled jobs."),t[252]=e,t[253]=Xe):Xe=t[253];let et;t[254]!==e?(et=e("Inspect each table and its columns."),t[254]=e,t[255]=et):et=t[255];let tt;t[256]!==e?(tt=e("Review admin gates, credentials, and log redaction."),t[256]=e,t[257]=tt):tt=t[257];let st;t[258]!==e?(st=e("Read-only deployment config — vars, secrets, and bindings."),t[258]=e,t[259]=st):st=t[259];let at;t[260]!==e?(at=e("Run read-only SQL against a shard."),t[260]=e,t[261]=at):at=t[261];let ot;t[262]!==e?(ot=e("Browse and edit key-value pairs in your Workers KV namespaces."),t[262]=e,t[263]=ot):ot=t[263];let nt;t[264]!==e?(nt=e("Inspect storage access rules — per bucket, operation, and key prefix."),t[264]=e,t[265]=nt):nt=t[265];let rt;t[266]!==e?(rt=e("Recent ctx.trace waterfalls for this shard — the drill-down from a log line."),t[266]=e,t[267]=rt):rt=t[267];let it;t[268]!==e?(it=e("Manage auth users — roles, bans, sessions, and identity."),t[268]=e,t[269]=it):it=t[269];let lt;t[270]!==e?(lt=e("Browse Vectorize indexes and run similarity searches."),t[270]=e,t[271]=lt):lt=t[271];let dt;t[272]!==e?(dt=e("Inspect declared Cloudflare Workflows and their bindings."),t[272]=e,t[273]=dt):dt=t[273];let bt;t[274]!==tt||t[275]!==st||t[276]!==at||t[277]!==ot||t[278]!==nt||t[279]!==rt||t[280]!==it||t[281]!==lt||t[282]!==dt||t[283]!==pe||t[284]!==ge||t[285]!==be||t[286]!==ve||t[287]!==xe||t[288]!==ye||t[289]!==we||t[290]!==ke||t[291]!==Me||t[292]!==Ne||t[293]!==Se||t[294]!==Ce||t[295]!==Pe||t[296]!==_e||t[297]!==Te||t[298]!==Ae||t[299]!==Le||t[300]!==Ie||t[301]!==Re||t[302]!==Ee||t[303]!==$e||t[304]!==He||t[305]!==Be||t[306]!==Ve||t[307]!==ze||t[308]!==De||t[309]!==Oe||t[310]!==Ze||t[311]!==qe||t[312]!==Fe||t[313]!==We||t[314]!==Ue||t[315]!==je||t[316]!==Ge||t[317]!==Ke||t[318]!==Qe||t[319]!==Ye||t[320]!==Je||t[321]!==Xe||t[322]!==et?(bt={advisorHealth:pe,agents:ge,evals:be,aiUsage:ve,analytics:xe,api:ye,audit:we,authAudit:ke,authConfig:Me,architecture:Ne,authSessions:Se,containers:Ce,dashboards:Pe,data:_e,deploymentHealth:Te,drains:Ae,export:Le,fanout:Ie,files:Re,flags:Ee,functions:$e,health:He,home:Be,insights:Ve,issues:ze,logs:De,metrics:Oe,migrations:Ze,notifications:qe,organizations:Fe,pitr:We,mail:Ue,payments:je,permissions:Ge,queues:Ke,reactors:Qe,realtime:Ye,rls:Je,schedule:Xe,schema:et,security:tt,settings:st,sql:at,kv:ot,storageRules:nt,traces:rt,users:it,vectors:lt,workflows:dt},t[274]=tt,t[275]=st,t[276]=at,t[277]=ot,t[278]=nt,t[279]=rt,t[280]=it,t[281]=lt,t[282]=dt,t[283]=pe,t[284]=ge,t[285]=be,t[286]=ve,t[287]=xe,t[288]=ye,t[289]=we,t[290]=ke,t[291]=Me,t[292]=Ne,t[293]=Se,t[294]=Ce,t[295]=Pe,t[296]=_e,t[297]=Te,t[298]=Ae,t[299]=Le,t[300]=Ie,t[301]=Re,t[302]=Ee,t[303]=$e,t[304]=He,t[305]=Be,t[306]=Ve,t[307]=ze,t[308]=De,t[309]=Oe,t[310]=Ze,t[311]=qe,t[312]=Fe,t[313]=We,t[314]=Ue,t[315]=je,t[316]=Ge,t[317]=Ke,t[318]=Qe,t[319]=Ye,t[320]=Je,t[321]=Xe,t[322]=et,t[323]=bt):bt=t[323];const Mt=bt;let vt;return t[324]!==kt||t[325]!==Mt||t[326]!==wt?(vt={groupLabel:kt,tabDescription:Mt,tabLabel:wt},t[324]=kt,t[325]=Mt,t[326]=wt,t[327]=vt):vt=t[327],vt},Ta=()=>{const t=M(1);let e;return t[0]===Symbol.for("react.memo_cache_sentinel")?(e=w("svg",{"aria-hidden":"true",className:"size-3.5",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.8,viewBox:"0 0 24 24",children:[n("rect",{height:"14",rx:"2",width:"20",x:"2",y:"3"}),n("path",{d:"M8 21h8M12 17v4"})]}),t[0]=e):e=t[0],e},Aa=()=>{const t=M(1);let e;return t[0]===Symbol.for("react.memo_cache_sentinel")?(e=w("svg",{"aria-hidden":"true",className:"size-3.5",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.8,viewBox:"0 0 24 24",children:[n("circle",{cx:"12",cy:"12",r:"4"}),n("path",{d:"M12 2v2m0 16v2M4.9 4.9l1.4 1.4m11.4 11.4 1.4 1.4M2 12h2m16 0h2M4.9 19.1l1.4-1.4M17.7 6.3l1.4-1.4"})]}),t[0]=e):e=t[0],e},La=()=>{const t=M(1);let e;return t[0]===Symbol.for("react.memo_cache_sentinel")?(e=n("svg",{"aria-hidden":"true",className:"size-3.5",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.8,viewBox:"0 0 24 24",children:n("path",{d:"M21 12.8A9 9 0 1 1 11.2 3a7 7 0 0 0 9.8 9.8Z"})}),t[0]=e):e=t[0],e},Ia=[{Icon:Ta,value:"system"},{Icon:Aa,value:"light"},{Icon:La,value:"dark"}],Ra=()=>{const t=M(19),{theme:e,setTheme:s}=Os(),a=se();let o;t[0]!==a?(o=a("Dark theme"),t[0]=a,t[1]=o):o=t[1];let r;t[2]!==a?(r=a("Light theme"),t[2]=a,t[3]=r):r=t[3];let i;t[4]!==a?(i=a("System theme"),t[4]=a,t[5]=i):i=t[5];let l;t[6]!==o||t[7]!==r||t[8]!==i?(l={dark:o,light:r,system:i},t[6]=o,t[7]=r,t[8]=i,t[9]=l):l=t[9];const d=l;let u;t[10]!==a?(u=a("Theme"),t[10]=a,t[11]=u):u=t[11];let c;t[12]!==d||t[13]!==s||t[14]!==e?(c=Ia.map(h=>{const{Icon:f,value:g}=h,v=e===g;return w("button",{"aria-checked":v,"aria-label":d[g],className:_("relative flex size-7 cursor-pointer items-center justify-center rounded-md outline-none transition-colors focus-visible:bg-accent",v?"text-foreground":"text-muted-foreground hover:text-foreground"),"data-testid":`dash-app-theme-${g}`,onClick:()=>{s(g)},role:"radio",title:d[g],type:"button",children:[v&&n(Ls.span,{className:"absolute inset-0 rounded-md border border-muted-foreground/40 bg-background/40",layoutId:"studio-theme-active",transition:{bounce:.1,duration:.45,type:"spring"}}),n("span",{className:"relative",children:n(f,{})})]},g)}),t[12]=d,t[13]=s,t[14]=e,t[15]=c):c=t[15];let m;return t[16]!==u||t[17]!==c?(m=n("div",{"aria-label":u,className:"inline-flex items-center gap-0.5 overflow-hidden rounded-md border border-border bg-muted/60 p-0.5","data-testid":"dash-app-theme",role:"radiogroup",children:c}),t[16]=u,t[17]=c,t[18]=m):m=t[18],m},Ea=t=>{const e=M(23),{domain:s,onOpenCommandPalette:a,page:o}=t,r=se();let i;e[0]===Symbol.for("react.memo_cache_sentinel")?(i=n(fa,{className:"-ms-1"}),e[0]=i):i=e[0];let l;e[1]!==r?(l=r("Breadcrumb"),e[1]=r,e[2]=l):l=e[2];let d;e[3]!==s?(d=n("span",{className:"text-muted-foreground",children:s}),e[3]=s,e[4]=d):d=e[4];let u;e[5]===Symbol.for("react.memo_cache_sentinel")?(u=n("svg",{"aria-hidden":"true",className:"size-3.5 text-muted-foreground/60",fill:"none",stroke:"currentColor",strokeWidth:1.7,viewBox:"0 0 24 24",children:n("path",{d:"m9 6 6 6-6 6",strokeLinecap:"round",strokeLinejoin:"round"})}),e[5]=u):u=e[5];let c;e[6]!==o?(c=n("span",{className:"font-medium text-foreground",children:o}),e[6]=o,e[7]=c):c=e[7];let m;e[8]!==l||e[9]!==d||e[10]!==c?(m=w("nav",{"aria-label":l,className:"flex items-center gap-1.5 text-[13px]",children:[d,u,c]}),e[8]=l,e[9]=d,e[10]=c,e[11]=m):m=e[11];let h;e[12]===Symbol.for("react.memo_cache_sentinel")?(h=w("svg",{"aria-hidden":"true",className:"size-3.5",fill:"none",stroke:"currentColor",strokeWidth:1.8,viewBox:"0 0 24 24",children:[n("circle",{cx:"11",cy:"11",r:"7"}),n("path",{d:"m21 21-4.3-4.3",strokeLinecap:"round"})]}),e[12]=h):h=e[12];let f;e[13]!==r?(f=r("Search…"),e[13]=r,e[14]=f):f=e[14];let g;e[15]===Symbol.for("react.memo_cache_sentinel")?(g=n("kbd",{className:"ms-auto rounded border border-border bg-background px-1 font-sans text-[10px] text-muted-foreground",children:"⌘K"}),e[15]=g):g=e[15];let v;e[16]!==a||e[17]!==f?(v=w("button",{className:"mx-auto hidden h-8 w-72 items-center gap-2 rounded-lg border border-border bg-muted/40 px-3 text-xs text-muted-foreground transition-colors hover:bg-muted md:flex","data-testid":"dash-app-search",onClick:a,type:"button",children:[h,f,g]}),e[16]=a,e[17]=f,e[18]=v):v=e[18];let y;e[19]===Symbol.for("react.memo_cache_sentinel")?(y=n("div",{className:"ms-auto flex items-center gap-1.5 md:ms-0",children:n(Ra,{})}),e[19]=y):y=e[19];let b;return e[20]!==v||e[21]!==m?(b=w("header",{className:"flex h-11 shrink-0 items-center gap-2 border-b border-border px-4","data-testid":"dash-app-header",children:[i,m,v,y]}),e[20]=v,e[21]=m,e[22]=b):b=e[22],b},$a={agents:{capability:"agents"},analytics:{capability:"analytics",feature:"analytics"},authAudit:{feature:"auth"},authConfig:{feature:"auth"},authSessions:{feature:"auth"},containers:{capability:"containers",feature:"containers"},fanout:{capability:"crossShardFanout"},files:{capability:"objectStorage",feature:"storage"},flags:{feature:"flags"},kv:{capability:"keyValueStore",feature:"kv"},mail:{capability:"mail",feature:"mail"},notifications:{feature:"notifications"},organizations:{feature:"auth"},payments:{feature:"payments"},pitr:{capability:"pointInTimeRecovery"},queues:{capability:"queues",feature:"queues"},reactors:{capability:"serverReactors"},schedule:{capability:"scheduler",feature:"scheduler"},storageRules:{feature:"storage"},users:{feature:"auth"},vectors:{capability:"vectorStore",feature:"vectors"},workflows:{capability:"workflows",feature:"workflows"}},Ha={agents:"Durable agents",analytics:"Analytics",containers:"Containers",crossShardFanout:"Cross-shard fan-out",keyValueStore:"Key-value storage",mail:"Mail delivery",objectStorage:"Object storage",pointInTimeRecovery:"Point-in-time recovery",queues:"Queues",scheduler:"Scheduling",serverReactors:"Server reactors",vectorStore:"Vector search",workflows:"Workflows"},Ba={kind:"hidden"},Ht={kind:"ok"},Va={kind:"pending"},as=(t,e,s)=>{const a=$a[t];return a?.feature!==void 0&&!e[a.feature]?Ba:a?.capability===void 0?Ht:e.settled?e.platform?.unsupported.includes(a.capability)===!0?{kind:"unavailable",reason:s("{capability} is not supported on {platform}.",{capability:s(Ha[a.capability]),platform:e.platform.name})}:Ht:Va},za=(t,e,s)=>{const a={},o=[];for(const r of t){const i=[];for(const l of r.tabs){const d=as(l,e,s);d.kind!=="hidden"&&i.push(l),d.kind==="unavailable"&&(a[l]=d.reason)}i.length>0&&o.push({...r,tabs:i})}return{unavailable:a,visibleGroups:o}},Da=t=>{const e=M(3),{reason:s,title:a}=t;let o;return e[0]!==s||e[1]!==a?(o=n(Is,{description:s,testId:"dash-unsupported",title:a}),e[0]=s,e[1]=a,e[2]=o):o=e[2],o},Oa=t=>{const e=M(4),{console:s}=Rs();let a,o;e[0]!==s||e[1]!==t?(a=()=>{if(t===void 0)return;const r=i=>{if(!i.ctrlKey||i.metaKey||i.altKey||i.shiftKey||i.repeat||i.key.toLowerCase()!==s)return;const{target:l}=i;l instanceof HTMLElement&&(l.isContentEditable||["INPUT","SELECT","TEXTAREA"].includes(l.tagName))||(i.preventDefault(),t())};return globalThis.addEventListener("keydown",r),()=>{globalThis.removeEventListener("keydown",r)}},o=[s,t],e[0]=s,e[1]=t,e[2]=a,e[3]=o):(a=e[2],o=e[3]),ut(a,o)},R=(t,e)=>L(()=>t().then(s=>({default:s[e]}))),Za=R(()=>import("../packem_chunks/InsightsPanel.mjs"),"InsightsPanel"),qa=L(()=>import("../packem_chunks/rls-panel.mjs")),Fa=L(()=>import("../packem_chunks/AdvisorHealthPanel.mjs")),Wa=L(()=>import("../packem_chunks/SecurityAdvisorPanel.mjs")),Ua=L(()=>import("../packem_chunks/agents-panel.mjs")),ja=R(()=>import("../packem_chunks/analytics-panel.mjs"),"AnalyticsPanel"),Ga=L(()=>import("../packem_chunks/ApiTab.mjs")),Ka=L(()=>import("../packem_chunks/architecture-panel.mjs")),Qa=L(()=>import("../packem_chunks/auth-audit-panel.mjs")),Ya=L(()=>import("../packem_chunks/auth-config-panel.mjs")),Ja=L(()=>import("../packem_chunks/auth-sessions-panel.mjs")),Xa=L(()=>import("../packem_chunks/organizations-panel.mjs")),eo=R(()=>import("../packem_chunks/users-panel.mjs"),"UsersPanel"),to=L(()=>import("../packem_chunks/containers-panel.mjs")),so=R(()=>import("../packem_chunks/DeploymentHealthPanel.mjs"),"DeploymentHealthPanel"),ao=R(()=>import("../packem_chunks/TableEditor.mjs"),"TableEditor"),oo=R(()=>import("../packem_chunks/ExportImportPanel.mjs"),"ExportImportPanel"),no=L(()=>import("../packem_chunks/migrations-route.mjs")),ro={data:_s,migrations:Ps},io=R(()=>import("../packem_chunks/PitrPanel.mjs"),"PitrPanel"),lo=L(()=>import("../packem_chunks/flags-panel.mjs")),co=L(()=>import("../packem_chunks/reactors-panel.mjs")),uo=R(()=>import("../packem_chunks/FunctionRunner.mjs"),"FunctionRunner"),fo=R(()=>import("../packem_chunks/FunctionStatsPanel.mjs"),"FunctionStatsPanel"),mo=L(()=>import("../packem_chunks/issues-panel.mjs")),ho=R(()=>import("../packem_chunks/AuditPanel.mjs"),"AuditPanel"),po=L(()=>import("../packem_chunks/log-drains-panel.mjs")),go=L(()=>import("../packem_chunks/LogsPanel.mjs").then(t=>({default:t.LogsPanel}))),bo=R(()=>import("../packem_chunks/MailPanel.mjs"),"MailPanel"),vo=R(()=>import("../packem_chunks/schedule-panel.mjs"),"SchedulePanel"),xo=L(()=>import("../packem_chunks/subscriptions-panel.mjs")),yo=L(()=>import("../packem_chunks/sync-client-panel.mjs")),wo=R(()=>import("../packem_chunks/kv-browser.mjs"),"KvBrowser"),ko=L(()=>import("../packem_chunks/NotificationsPanel.mjs")),Mo=R(()=>import("../packem_chunks/payments-panel.mjs"),"PaymentsPanel"),No=R(()=>import("../packem_chunks/permissions-panel.mjs"),"PermissionsPanel"),So=L(()=>import("../packem_chunks/queues-panel.mjs")),Co=L(()=>import("../packem_chunks/dashboards-panel.mjs")),Po=L(()=>import("../packem_chunks/fanout-panel.mjs")),_o=R(()=>import("../packem_chunks/HealthPanel.mjs"),"HealthPanel"),To=R(()=>import("../packem_chunks/MetricsPanel.mjs"),"MetricsPanel"),Ao=R(()=>import("../packem_chunks/SchemaViewer.mjs"),"SchemaViewer"),Lo=R(()=>import("../packem_chunks/SettingsPanel.mjs"),"SettingsPanel"),Io=R(()=>import("../packem_chunks/SqlEditorPanel.mjs"),"SqlEditorPanel"),Ro=R(()=>import("../packem_chunks/FileBrowser.mjs"),"FileBrowser"),Eo=L(()=>import("../packem_chunks/storage-rules-panel.mjs")),$o=L(()=>import("../packem_chunks/traces-panel.mjs")),Ho=L(()=>import("../packem_chunks/evals-panel.mjs")),Bo=L(()=>import("../packem_chunks/ai-usage-panel.mjs")),Vo=R(()=>import("../packem_chunks/vector-browser.mjs"),"VectorBrowser"),zo=L(()=>import("../packem_chunks/workflows-panel.mjs")),os=zt(null),Do={analytics:n("path",{d:"M5 20V10m6.5 10V4M18 20v-7M3 20h18"}),api:n("path",{d:"m9 8-4 4 4 4m6-8 4 4-4 4M13 5l-2 14"}),architecture:n("path",{d:"M4 4h6v5H4V4Zm10 0h6v5h-6V4ZM9 15h6v5H9v-5ZM7 9v3h10V9M12 12v3"}),audit:n("path",{d:"M7 4h7l4 4v11a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1Zm6 0v5h5M9 13h6M9 16h6M9 10h2"}),authAudit:n("path",{d:"M12 3 5 6v5c0 4.5 3 7.8 7 9 4-1.2 7-4.5 7-9V6l-7-3Zm-3 8h6m-6 3h6"}),authConfig:n("path",{d:"M12 15a3 3 0 1 0 0-6 3 3 0 0 0 0 6Zm7.4-3a7.4 7.4 0 0 0-.1-1.2l2-1.6-2-3.4-2.4 1a7.3 7.3 0 0 0-2-1.2l-.4-2.6h-3.6l-.4 2.6a7.3 7.3 0 0 0-2 1.2l-2.4-1-2 3.4 2 1.6a7.4 7.4 0 0 0 0 2.4l-2 1.6 2 3.4 2.4-1a7.3 7.3 0 0 0 2 1.2l.4 2.6h3.6l.4-2.6a7.3 7.3 0 0 0 2-1.2l2.4 1 2-3.4-2-1.6a7.4 7.4 0 0 0 .1-1.2Z"}),agents:n("path",{d:"M12 8V5m0 0a2 2 0 1 0 0-4 2 2 0 0 0 0 4ZM6 8h12a2 2 0 0 1 2 2v6a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2v-6a2 2 0 0 1 2-2Zm3 5h.01M15 13h.01M9 21h6"}),authSessions:n("path",{d:"M12 21a9 9 0 1 0 0-18 9 9 0 0 0 0 18Zm0-13.5V12l4 2"}),containers:n("path",{d:"M3 7.5 12 3l9 4.5v9L12 21l-9-4.5v-9Zm0 0 9 4.5m0 0 9-4.5m-9 4.5V21"}),dashboards:n("path",{d:"M4 5h7v6H4V5Zm9 0h7v4h-7V5ZM4 14h7v5H4v-5Zm9-1h7v6h-7v-6Z"}),deploymentHealth:n("path",{d:"M12 3 5 6v5c0 4.5 3 7.8 7 9 4-1.2 7-4.5 7-9V6l-7-3Zm-3 8 2 3 4-5"}),drains:n("path",{d:"M5 5h14M7 5v6a5 5 0 0 0 10 0V5M10 16h4v3h-4zM12 19v2"}),data:n("path",{d:"M5 6c0-1.4 3.1-2.5 7-2.5s7 1.1 7 2.5-3.1 2.5-7 2.5S5 7.4 5 6Zm0 0v12c0 1.4 3.1 2.5 7 2.5s7-1.1 7-2.5V6M5 12c0 1.4 3.1 2.5 7 2.5s7-1.1 7-2.5"}),export:n("path",{d:"M12 3v11m0 0 4-4m-4 4-4-4M4 17v2a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-2"}),fanout:n("path",{d:"M12 5a2 2 0 1 0 0-4 2 2 0 0 0 0 4Zm-7 16a2 2 0 1 0 0-4 2 2 0 0 0 0 4Zm14 0a2 2 0 1 0 0-4 2 2 0 0 0 0 4ZM12 7v3.5M12 10.5 6 17m6-6.5 6 6.5"}),files:n("path",{d:"M4 7a2 2 0 0 1 2-2h3l2 2.5h7a2 2 0 0 1 2 2V18a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V7Z"}),flags:n("path",{d:"M6 21V4m0 0h11l-2 3 2 3H6"}),functions:n("path",{d:"m9 8-4 4 4 4m6-8 4 4-4 4"}),evals:n("path",{d:"M4 19V5m0 14h16M8 15l3-4 3 3 4-6M8 15v.01"}),aiUsage:n("path",{d:"M12 3v3m0 12v3M5.6 5.6l2.1 2.1m8.6 8.6 2.1 2.1M3 12h3m12 0h3M5.6 18.4l2.1-2.1m8.6-8.6 2.1-2.1M12 9a3 3 0 1 0 0 6 3 3 0 0 0 0-6Z"}),health:n("path",{d:"M3 12h4l2 6 4-14 2 8h6"}),home:n("path",{d:"M3 11.5 12 4l9 7.5M5 10v9a1 1 0 0 0 1 1h4v-6h4v6h4a1 1 0 0 0 1-1v-9"}),insights:n("path",{d:"M12 3a6 6 0 0 0-3.6 10.8c.5.4.8.9.9 1.5l.2 1.2h5l.2-1.2c.1-.6.4-1.1.9-1.5A6 6 0 0 0 12 3ZM9.5 20.5h5M10 18h4"}),issues:n("path",{d:"M10.3 4.3 2.5 18a2 2 0 0 0 1.7 3h15.6a2 2 0 0 0 1.7-3L13.7 4.3a2 2 0 0 0-3.4 0ZM12 9v4m0 3v.01"}),kv:n("path",{d:"M5 5h14v4H5V5Zm0 5h14v4H5v-4Zm0 5h14v4H5v-4Z"}),logs:n("path",{d:"M5 6h14M5 10h14M5 14h9M5 18h11"}),mail:n("path",{d:"M4 5h16v14H4V5Zm0 1.5 8 6 8-6"}),payments:n("path",{d:"M3 7h18v10H3V7Zm0 3h18M7 14h4"}),metrics:n("path",{d:"M5 20V10m6.5 10V4M18 20v-7M3 20h18"}),migrations:n("path",{d:"M4 12a8 8 0 0 1 13.7-5.6L20 8M20 4v4h-4M20 12a8 8 0 0 1-13.7 5.6L4 16m0 4v-4h4"}),notifications:n("path",{d:"M15 17h5l-1.4-1.4A2 2 0 0 1 18 14.2V11a6 6 0 0 0-4-5.7V5a2 2 0 1 0-4 0v.3A6 6 0 0 0 6 11v3.2a2 2 0 0 1-.6 1.4L4 17h5m6 0v1a3 3 0 1 1-6 0v-1m6 0H9"}),organizations:n("path",{d:"M3 21V8l6-4 6 4v13M9 21v-5h2v5M15 11h6v10M18 14v.01M18 17v.01M6 9v.01M6 12v.01M6 15v.01"}),permissions:n("path",{d:"M12 3 5 6v5c0 4.5 3 7.8 7 9 4-1.2 7-4.5 7-9V6l-7-3Zm-3 8 2.2 2.2L15 9.5M8.5 16h7"}),pitr:n("path",{d:"M12 21a9 9 0 1 0-9-9M12 7.5V12l3 2M3 12l-2-2m2 2 2-2"}),queues:n("path",{d:"M4 6h16M4 10h16M4 14h10M4 18h10m4-2 3 2-3 2v-4Z"}),reactors:n("path",{d:"M4 4v6h6M20 20v-6h-6M20 9a8 8 0 0 0-14.7-3M4 15a8 8 0 0 0 14.7 3"}),realtime:n("path",{d:"M5 12a7 7 0 0 1 14 0M8 12a4 4 0 0 1 8 0M12 12v8m0-8a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z"}),rls:n("path",{d:"M12 3 5 6v5c0 4.5 3 7.8 7 9 4-1.2 7-4.5 7-9V6l-7-3ZM8.5 10h7M8.5 13h7"}),schedule:n("path",{d:"M12 21a9 9 0 1 0 0-18 9 9 0 0 0 0 18Zm0-13.5V12l4 2"}),schema:n("path",{d:"M4 5h16v14H4V5Zm0 5h16M10 10v9M4 14.5h16"}),sql:n("path",{d:"M4 5h16v14H4V5Zm3 4 3 3-3 3m6 0h4"}),storageRules:n("path",{d:"M7 10V7a5 5 0 0 1 10 0v3m-11 0h12a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1v-8a1 1 0 0 1 1-1Zm6 4v2"}),advisorHealth:n("path",{d:"M3 12h4l2-5 3 10 2-5h5"}),security:n("path",{d:"M12 3 5 6v5c0 4.5 3 7.8 7 9 4-1.2 7-4.5 7-9V6l-7-3Zm-2.5 8.5 2 2 4-4"}),traces:n("path",{d:"M3 6h9M6 12h12M10 18h7"}),settings:n("path",{d:"M12 15a3 3 0 1 0 0-6 3 3 0 0 0 0 6Zm7.4-3a7.4 7.4 0 0 0-.1-1.2l2-1.6-2-3.4-2.4 1a7.3 7.3 0 0 0-2-1.2l-.4-2.6H10.5l-.4 2.6a7.3 7.3 0 0 0-2 1.2l-2.4-1-2 3.4 2 1.6a7.4 7.4 0 0 0 0 2.4l-2 1.6 2 3.4 2.4-1a7.3 7.3 0 0 0 2 1.2l.4 2.6h3.6l.4-2.6a7.3 7.3 0 0 0 2-1.2l2.4 1 2-3.4-2-1.6a7.4 7.4 0 0 0 .1-1.2Z"}),users:n("path",{d:"M16 20v-2a4 4 0 0 0-4-4H7a4 4 0 0 0-4 4v2M9.5 10a3.5 3.5 0 1 0 0-7 3.5 3.5 0 0 0 0 7Zm11.5 10v-2a4 4 0 0 0-3-3.85M16 3.13A4 4 0 0 1 16 11"}),vectors:n("path",{d:"M4 7l8-4 8 4-8 4-8-4Zm0 5 8 4 8-4M4 17l8 4 8-4"}),workflows:n("path",{d:"M5 5h5v5H5V5Zm9 9h5v5h-5v-5ZM7.5 10v2a2 2 0 0 0 2 2H14m2.5-4V8a2 2 0 0 0-2-2H10"})},Bt=[{key:"overview",tabs:["home","dashboards"]},{key:"database",tabs:["data","sql","schema","migrations","vectors","pitr","export"]},{key:"functions",tabs:["functions","api","architecture","workflows","agents","queues"]},{key:"auth",tabs:["users","organizations","authSessions","authAudit","authConfig"]},{key:"storage",tabs:["files","storageRules","kv"]},{key:"observability",tabs:["issues","logs","traces","evals","aiUsage","audit","realtime","reactors","fanout","containers","metrics","analytics","health","deploymentHealth"]},{key:"advisors",tabs:["advisorHealth","security","rls","permissions","insights"]},{key:"operations",tabs:["schedule","mail","drains","notifications","payments","flags"]},{key:"settings",tabs:["settings"]}],_t=t=>{const e=M(2),{tab:s}=t,a=Do[s];let o;return e[0]!==a?(o=n("svg",{"aria-hidden":"true",className:"size-4 shrink-0",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.6,viewBox:"0 0 24 24",children:a}),e[0]=a,e[1]=o):o=e[1],o},Oo=t=>t,ns=Oo(["home","data","sql","functions","api","architecture","workflows","agents","queues","containers","schema","migrations","vectors","export","pitr","users","organizations","authSessions","authAudit","authConfig","files","storageRules","kv","dashboards","metrics","analytics","health","deploymentHealth","advisorHealth","security","rls","permissions","insights","issues","logs","traces","evals","aiUsage","reactors","realtime","fanout","mail","notifications","payments","audit","schedule","drains","flags","settings"]),Zo=new Set(["api","data","migrations","sql"]),qo=t=>{const e=t.split("/").findLast(Boolean)??"";return ns.includes(e)?e:"home"},Fo=t=>{const e=M(19),{chrome:s,connected:a}=t,o=se();let r;e[0]!==o?(r=o("admin token"),e[0]=o,e[1]=r):r=e[1];let i;e[2]!==r?(i=n("label",{className:"text-xs font-medium text-foreground",htmlFor:"dash-app-token",children:r}),e[2]=r,e[3]=i):i=e[3];let l;e[4]!==s.onTokenChange||e[5]!==s.token?(l=n(Zt,{className:"h-8","data-testid":"dash-app-token",id:"dash-app-token",onChange:s.onTokenChange,placeholder:"LUNORA_ADMIN_TOKEN",type:"password",value:s.token}),e[4]=s.onTokenChange,e[5]=s.token,e[6]=l):l=e[6];let d;e[7]!==a||e[8]!==o?(d=a&&w("p",{className:"flex items-start gap-1.5 text-[11px] text-muted-foreground","data-testid":"dash-app-token-warning",role:"note",children:[n("span",{"aria-hidden":"true",className:"text-warning",children:"⚠"}),o("Token rides the WebSocket URL — it can surface in browser DevTools and server logs. Use a dev-only token.")]}),e[7]=a,e[8]=o,e[9]=d):d=e[9];let u;e[10]!==s.clearToken||e[11]!==a||e[12]!==o?(u=a&&n("button",{className:"self-start rounded-md border border-border px-2.5 py-1 text-xs font-medium outline-none transition-colors hover:bg-accent focus-visible:bg-accent","data-testid":"dash-app-clear-token",onClick:s.clearToken,type:"button",children:o("Clear")}),e[10]=s.clearToken,e[11]=a,e[12]=o,e[13]=u):u=e[13];let c;return e[14]!==i||e[15]!==l||e[16]!==d||e[17]!==u?(c=w("div",{className:"flex flex-col gap-2",children:[i,l,d,u]}),e[14]=i,e[15]=l,e[16]=d,e[17]=u,e[18]=c):c=e[18],c},rs="opacity-50",Wo=t=>{const e=M(27),{current:s,group:a,groupLabel:o,selectTab:r,tabDescription:i,tabLabel:l,unavailable:d}=t,u=a.tabs.includes(s)?"page":void 0,c=o[a.key],m=a.tabs[0];let h;e[0]!==m?(h=n(_t,{tab:m}),e[0]=m,e[1]=h):h=e[1];let f;e[2]!==u||e[3]!==c||e[4]!==h?(f=n(Xt,{"aria-current":u,"aria-label":c,className:"mx-auto flex size-8 items-center justify-center rounded-md text-muted-foreground outline-none transition-colors hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:bg-sidebar-accent data-[popup-open]:bg-sidebar-accent data-[popup-open]:text-sidebar-accent-foreground data-[popup-open]:shadow-xs aria-[current=page]:bg-sidebar-accent aria-[current=page]:text-sidebar-accent-foreground aria-[current=page]:shadow-xs",delay:120,openOnHover:!0,children:h}),e[2]=u,e[3]=c,e[4]=h,e[5]=f):f=e[5];const g=o[a.key];let v;e[6]!==g?(v=n("div",{className:"px-2 py-1.5 text-[11px] font-medium tracking-wider text-muted-foreground uppercase",children:g}),e[6]=g,e[7]=v):v=e[7];let y;if(e[8]!==s||e[9]!==a.tabs||e[10]!==r||e[11]!==i||e[12]!==l||e[13]!==d){let x;e[15]!==s||e[16]!==r||e[17]!==i||e[18]!==l||e[19]!==d?(x=k=>w("button",{"aria-current":s===k?"page":void 0,className:_("flex w-full items-center gap-2 rounded-md px-2 py-1.5 text-start text-[13px] text-foreground outline-none transition-colors hover:bg-accent focus-visible:bg-accent aria-[current=page]:bg-accent aria-[current=page]:font-medium [&_svg]:opacity-70 aria-[current=page]:[&_svg]:opacity-100",d[k]!==void 0&&rs),"data-tab":k,"data-testid":`dash-tab-${k}`,"data-unsupported":d[k]===void 0?void 0:"true",onClick:r,title:i[k],type:"button",children:[n(_t,{tab:k}),n("span",{children:l[k]})]},k),e[15]=s,e[16]=r,e[17]=i,e[18]=l,e[19]=d,e[20]=x):x=e[20],y=a.tabs.map(x),e[8]=s,e[9]=a.tabs,e[10]=r,e[11]=i,e[12]=l,e[13]=d,e[14]=y}else y=e[14];let b;e[21]!==v||e[22]!==y?(b=w(es,{align:"start",className:"w-56 p-1",side:"right",sideOffset:8,children:[v,y]}),e[21]=v,e[22]=y,e[23]=b):b=e[23];let p;return e[24]!==f||e[25]!==b?(p=w(Jt,{children:[f,b]}),e[24]=f,e[25]=b,e[26]=p):p=e[26],p},Uo=t=>{const e=M(45),{chrome:s,collapsed:a,connected:o}=t,r=se();if(s===null){let x;e[0]!==r?(x=r("Admin"),e[0]=r,e[1]=x):x=e[1];let k;e[2]===Symbol.for("react.memo_cache_sentinel")?(k=n("span",{className:"flex size-8 items-center justify-center rounded-full bg-sidebar-accent text-[11px] font-medium",children:"C"}),e[2]=k):k=e[2];let P;e[3]!==r?(P=r("Admin"),e[3]=r,e[4]=P):P=e[4];let C;e[5]!==P?(C=n("span",{className:"truncate text-[13px] font-medium",children:P}),e[5]=P,e[6]=C):C=e[6];let S;e[7]!==r?(S=r("Studio"),e[7]=r,e[8]=S):S=e[8];let N;e[9]!==S?(N=n("span",{className:"truncate text-[11px] text-muted-foreground",children:S}),e[9]=S,e[10]=N):N=e[10];let T;e[11]!==C||e[12]!==N?(T=w("span",{className:"grid flex-1 text-start leading-tight",children:[C,N]}),e[11]=C,e[12]=N,e[13]=T):T=e[13];let A;return e[14]!==x||e[15]!==T?(A=w(ss,{className:"data-active:bg-transparent",size:"lg",tooltip:x,children:[k,T]}),e[14]=x,e[15]=T,e[16]=A):A=e[16],A}const i=a?"mx-auto size-8 justify-center":"w-full p-2";let l;e[17]!==i?(l=_("flex items-center gap-2 rounded-md text-start outline-none transition-colors hover:bg-sidebar-accent focus-visible:bg-sidebar-accent",i),e[17]=i,e[18]=l):l=e[18];let d;e[19]!==o||e[20]!==r?(d=r(o?"Connected":"Not connected"),e[19]=o,e[20]=r,e[21]=d):d=e[21];const u=o?"bg-success":"bg-muted-foreground/50";let c;e[22]!==u?(c=_("absolute -end-0.5 -bottom-0.5 size-2.5 rounded-full border-2 border-sidebar",u),e[22]=u,e[23]=c):c=e[23];let m;e[24]!==c?(m=w("span",{className:"relative flex size-8 shrink-0 items-center justify-center rounded-full bg-sidebar-accent text-[11px] font-medium",children:["C",n("span",{"aria-hidden":"true",className:c})]}),e[24]=c,e[25]=m):m=e[25];let h;e[26]!==a||e[27]!==o||e[28]!==r?(h=!a&&w(Dt,{children:[w("span",{className:"grid flex-1 text-start leading-tight",children:[n("span",{className:"truncate text-[13px] font-medium",children:r("Admin")}),n("span",{className:"truncate text-[11px] text-muted-foreground",children:r(o?"Connected":"Not connected")})]}),n("svg",{"aria-hidden":"true",className:"size-4 text-muted-foreground",fill:"none",stroke:"currentColor",strokeWidth:1.7,viewBox:"0 0 24 24",children:n("path",{d:"m8 9 4-4 4 4M8 15l4 4 4-4",strokeLinecap:"round",strokeLinejoin:"round"})})]}),e[26]=a,e[27]=o,e[28]=r,e[29]=h):h=e[29];let f;e[30]!==l||e[31]!==d||e[32]!==m||e[33]!==h?(f=w(Xt,{className:l,"data-testid":"dash-app-connect",title:d,children:[m,h]}),e[30]=l,e[31]=d,e[32]=m,e[33]=h,e[34]=f):f=e[34];const g=a?"end":"start",v=a?"right":"top";let y;e[35]!==s||e[36]!==o?(y=n(Fo,{chrome:s,connected:o}),e[35]=s,e[36]=o,e[37]=y):y=e[37];let b;e[38]!==v||e[39]!==y||e[40]!==g?(b=n(es,{align:g,keepMounted:!0,side:v,children:y}),e[38]=v,e[39]=y,e[40]=g,e[41]=b):b=e[41];let p;return e[42]!==b||e[43]!==f?(p=w(Jt,{children:[f,b]}),e[42]=b,e[43]=f,e[44]=p):p=e[44],p},jo=t=>{const e=M(29),{chrome:s,connected:a,current:o,groupLabel:r,groups:i,selectTab:l,tabDescription:d,tabLabel:u,unavailable:c}=t,m=se(),{state:h}=yt(),f=h==="collapsed",g=f&&"justify-center px-0";let v;e[0]!==g?(v=_("flex items-center gap-2.5 px-1.5 py-1",g),e[0]=g,e[1]=v):v=e[1];let y;e[2]===Symbol.for("react.memo_cache_sentinel")?(y=n(Ws,{className:"size-9 shrink-0 text-foreground"}),e[2]=y):y=e[2];let b;e[3]!==f||e[4]!==a||e[5]!==m?(b=!f&&w(Dt,{children:[w("span",{className:"grid flex-1 leading-tight",children:[n("span",{className:"truncate text-sm font-semibold text-foreground",children:"lunora"}),n("span",{className:"truncate text-[11px] text-muted-foreground",children:m("Studio")})]}),n(ht,{className:"px-1.5 text-[10px] tracking-wider uppercase",variant:"secondary",children:m(a?"Live":"Local")})]}),e[3]=f,e[4]=a,e[5]=m,e[6]=b):b=e[6];let p;e[7]!==v||e[8]!==b?(p=n(ha,{children:w("div",{className:v,children:[y,b]})}),e[7]=v,e[8]=b,e[9]=p):p=e[9];let x;e[10]!==f||e[11]!==o||e[12]!==r||e[13]!==i||e[14]!==l||e[15]!==d||e[16]!==u||e[17]!==c?(x=f?i.map(S=>n(Wo,{current:o,group:S,groupLabel:r,selectTab:l,tabDescription:d,tabLabel:u,unavailable:c},S.key)):i.map(S=>w(ba,{children:[n(va,{className:"text-[11px] font-medium tracking-wider uppercase",children:r[S.key]}),n(xa,{children:n(Et,{children:S.tabs.map(N=>n($t,{children:w(ss,{className:_("data-active:text-foreground dark:data-active:text-royal-amethyst data-active:shadow-[inset_2px_0_0_0_var(--royal-amethyst)]",c[N]!==void 0&&rs),"data-tab":N,"data-testid":`dash-tab-${N}`,"data-unsupported":c[N]===void 0?void 0:"true",isActive:o===N,onClick:l,title:d[N],tooltip:d[N],children:[n(_t,{tab:N}),n("span",{children:u[N]})]})},N))})})]},S.key)),e[10]=f,e[11]=o,e[12]=r,e[13]=i,e[14]=l,e[15]=d,e[16]=u,e[17]=c,e[18]=x):x=e[18];let k;e[19]!==x?(k=n(ga,{children:x}),e[19]=x,e[20]=k):k=e[20];let P;e[21]!==s||e[22]!==f||e[23]!==a?(P=n(pa,{children:n(Et,{children:n($t,{children:n(Uo,{chrome:s,collapsed:f,connected:a})})})}),e[21]=s,e[22]=f,e[23]=a,e[24]=P):P=e[24];let C;return e[25]!==p||e[26]!==k||e[27]!==P?(C=w(ua,{collapsible:"icon",variant:"inset",children:[p,k,P]}),e[25]=p,e[26]=k,e[27]=P,e[28]=C):C=e[28],C},Lt=()=>{const t=M(1);let e;return t[0]===Symbol.for("react.memo_cache_sentinel")?(e=w("div",{className:"flex flex-col gap-4","data-testid":"dash-pending",children:[w("div",{className:"flex items-center gap-2",children:[n(Nt,{className:"h-8 w-40"}),n(Nt,{className:"h-8 w-24"})]}),n(Nt,{className:"h-72 w-full"})]}),t[0]=e):e=t[0],e},Go=t=>{const e=M(5),{title:s,verdict:a}=t;if(a.kind==="pending"){let r;return e[0]===Symbol.for("react.memo_cache_sentinel")?(r=n(Lt,{}),e[0]=r):r=e[0],r}if(a.kind==="unavailable"){let r;return e[1]!==s||e[2]!==a.reason?(r=n(Da,{reason:a.reason,title:s}),e[1]=s,e[2]=a.reason,e[3]=r):r=e[3],r}let o;return e[4]===Symbol.for("react.memo_cache_sentinel")?(o=n(hs,{}),e[4]=o):o=e[4],o},Ko=()=>{const t=M(46),e=se(),s=Vt();let a;t[0]===Symbol.for("react.memo_cache_sentinel")?(a={select:tn},t[0]=a):a=t[0];const o=ms(a),r=qo(o),i=Zo.has(r),l=xs(),d=l?.toggle;Oa(d);const u=Ns(),{groupLabel:c,tabDescription:m,tabLabel:h}=_a(),{unavailable:f,visibleGroups:g}=za(Bt,u,e),v={...m,...f},y=as(r,u,e),b=y.kind==="hidden";let p,x;t[1]!==b||t[2]!==s?(p=()=>{b&&Pt(s({replace:!0,to:"/home"}))},x=[b,s],t[1]=b,t[2]=s,t[3]=p,t[4]=x):(p=t[3],x=t[4]),ut(p,x);let k;t[5]!==s?(k=Q=>{Pt(s({to:`/${Q.currentTarget.dataset.tab??""}`}))},t[5]=s,t[6]=k):k=t[6];const P=k;let C,S;t[7]!==r||t[8]!==h?(C=()=>{typeof document<"u"&&(document.title=`${h[r]} · lunora`)},S=[r,h],t[7]=r,t[8]=h,t[9]=C,t[10]=S):(C=t[9],S=t[10]),ut(C,S);const N=g.find(Q=>Q.tabs.includes(r))??Bt[0],T=g.flatMap(Q=>Q.tabs.filter(X=>f[X]===void 0).map(X=>({group:c[Q.key],label:h[X],to:`/${X}`}))),A=d===void 0?T:[...T,{group:e("Operations"),label:e("Toggle operation console"),run:d}],I=Tt(os),O=I!==null&&I.token!=="";let B;t[11]!==A?(B=n(Ts,{items:A}),t[11]=A,t[12]=B):B=t[12];const V=c[N.key],z=h[r];let $;t[13]!==V||t[14]!==z?($=n(Ea,{domain:V,onOpenCommandPalette:As,page:z}),t[13]=V,t[14]=z,t[15]=$):$=t[15];let H;t[16]!==I?.rulesInstalled?(H=I?.rulesInstalled===!1&&n(Gs,{}),t[16]=I?.rulesInstalled,t[17]=H):H=t[17];const D=`dash-tab-${r}`,Z=i?"flex min-w-0 flex-1 flex-col overflow-hidden":"min-w-0 flex-1 overflow-auto p-6",E=h[r];let q;t[18]!==e||t[19]!==E?(q=e("{title} failed",{title:E}),t[18]=e,t[19]=E,t[20]=q):q=t[20];const ee=h[r];let F;t[21]!==e?(F=e("Try again"),t[21]=e,t[22]=F):F=t[22];let Y;t[23]===Symbol.for("react.memo_cache_sentinel")?(Y=n(Lt,{}),t[23]=Y):Y=t[23];const te=h[r];let W;t[24]!==te||t[25]!==y?(W=n(gs,{fallback:Y,children:n(Go,{title:te,verdict:y})}),t[24]=te,t[25]=y,t[26]=W):W=t[26];let U;t[27]!==r||t[28]!==q||t[29]!==ee||t[30]!==F||t[31]!==W?(U=n(bs,{fallbackTitle:q,label:ee,retryLabel:F,children:W},r),t[27]=r,t[28]=q,t[29]=ee,t[30]=F,t[31]=W,t[32]=U):U=t[32];let j;t[33]!==Z||t[34]!==U?(j=n("div",{className:Z,children:U}),t[33]=Z,t[34]=U,t[35]=j):j=t[35];let G;t[36]!==l?(G=l?.open===!0&&n(Sa,{focusSeq:l.focusSeq,onClose:l.close,onShownChange:l.setShown,shown:l.shown}),t[36]=l,t[37]=G):G=t[37];let K;t[38]!==D||t[39]!==j||t[40]!==G?(K=w("div",{"aria-labelledby":D,className:"flex min-w-0 flex-1 flex-col overflow-hidden","data-testid":"dash-panel",id:"dash-panel",role:"tabpanel",children:[j,G]}),t[38]=D,t[39]=j,t[40]=G,t[41]=K):K=t[41];let J;return t[42]!==H||t[43]!==K||t[44]!==$?(J=w(ma,{className:"overflow-hidden md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow-sm",children:[$,H,K]}),t[42]=H,t[43]=K,t[44]=$,t[45]=J):J=t[45],w(ca,{className:"min-h-0 flex-1","data-platform":u.platform?.id,"data-testid":"lunora-studio",children:[B,n(jo,{chrome:I,connected:O,current:r,groupLabel:c,groups:g,selectTab:P,tabDescription:v,tabLabel:h,unavailable:f}),J]})},Qo=()=>{const t=M(1);let e;return t[0]===Symbol.for("react.memo_cache_sentinel")?(e=n(vs,{children:n(Ko,{})}),t[0]=e):e=t[0],e},Yo=t=>{const e=M(5),{initialShardKey:s,schemaEditable:a}=t;let o;e[0]===Symbol.for("react.memo_cache_sentinel")?(o={strict:!1},e[0]=o):o=e[0];const r=us(o),{table:i}=r,l=typeof i=="string"?i:void 0;let d;return e[1]!==s||e[2]!==l||e[3]!==a?(d=n(Ao,{initialShardKey:s,initialTable:l,schemaEditable:a}),e[1]=s,e[2]=l,e[3]=a,e[4]=d):d=e[4],d},Jo=()=>{const t=M(3),e=Vt();let s,a;return t[0]!==e?(s=()=>{Pt(e({replace:!0,to:"/home"}))},a=[e],t[0]=e,t[1]=s,t[2]=a):(s=t[1],a=t[2]),ut(s,a),null},Xo=({analyticsSqlQuery:t,basePath:e,dataEditable:s=!1,functions:a,initialShardKey:o,openApiSpec:r,openRpcSpec:i,runAsIdentity:l=!1,schemaEditable:d=!1,scheduledCancel:u,scheduledCron:c,scheduledLoad:m})=>{const h=is({component:Qo}),f={agents:n(Ua,{initialShardKey:o}),analytics:n(ja,{runQuery:t}),api:n(Ga,{functions:a,initialShardKey:o,openApiSpec:r,openRpcSpec:i}),architecture:n(Ka,{}),audit:n(ho,{initialShardKey:o}),authAudit:n(Qa,{}),authConfig:n(Ya,{}),authSessions:n(Ja,{}),containers:n(to,{}),dashboards:n(Co,{initialShardKey:o}),data:n(ao,{canGenerateRows:s&&d,editable:s,initialShardKey:o}),deploymentHealth:n(so,{}),drains:n(po,{}),export:n(oo,{initialShardKey:o}),fanout:n(Po,{initialShardKey:o}),files:n(Ro,{}),kv:n(wo,{}),flags:n(lo,{initialShardKey:o}),reactors:n(co,{initialShardKey:o}),functions:w("div",{className:"flex flex-col gap-8",children:[n(fo,{functions:a,initialShardKey:o}),n(uo,{functions:a,runAsIdentity:l})]}),health:n(_o,{initialShardKey:o}),home:n(Ms,{initialShardKey:o}),insights:n(Za,{initialShardKey:o}),issues:n(mo,{initialShardKey:o}),logs:n(go,{initialShardKey:o}),traces:n($o,{initialShardKey:o}),evals:n(Ho,{initialShardKey:o}),aiUsage:n(Bo,{initialShardKey:o}),metrics:n(To,{initialShardKey:o}),migrations:n(no,{initialShardKey:o}),notifications:n(ko,{}),organizations:n(Xa,{}),permissions:n(No,{functions:a,runAsIdentity:l,schemaEditable:d}),pitr:n(io,{initialShardKey:o}),mail:n(bo,{}),payments:n(Mo,{}),queues:n(So,{}),realtime:w("div",{className:"flex flex-col gap-8",children:[n(xo,{initialShardKey:o}),n(yo,{})]}),rls:n(qa,{}),schedule:n(vo,{loadCronJobs:c,scheduledCancel:u,scheduledLoad:m}),schema:n(Yo,{initialShardKey:o,schemaEditable:d}),advisorHealth:n(Fa,{}),security:n(Wa,{}),settings:n(Lo,{initialShardKey:o}),sql:n(Io,{initialShardKey:o}),storageRules:n(Eo,{}),users:n(eo,{}),vectors:n(Vo,{}),workflows:n(zo,{})},g=It({component:()=>f.home,getParentRoute:()=>h,path:"/"}),v=ns.map(p=>It({component:()=>f[p],getParentRoute:()=>h,path:`/${p}`,validateSearch:ro[p]})),y=h.addChildren([g,...v]),b="window"in globalThis?ls():ds({initialEntries:["/home"]});return cs({...e===void 0||e==="/"?{}:{basepath:e},defaultNotFoundComponent:Jo,defaultPendingComponent:Lt,defaultPendingMinMs:0,defaultPendingMs:0,history:b,routeTree:y})},en=t=>{const e=M(18),{analyticsSqlQuery:s,basePath:a,chrome:o,dataEditable:r,functions:i,initialShardKey:l,openApiSpec:d,openRpcSpec:u,runAsIdentity:c,schemaEditable:m,scheduledCancel:h,scheduledCron:f,scheduledLoad:g}=t;let v;e[0]!==s||e[1]!==a||e[2]!==r||e[3]!==i||e[4]!==l||e[5]!==d||e[6]!==u||e[7]!==c||e[8]!==h||e[9]!==f||e[10]!==g||e[11]!==m?(v=Xo({analyticsSqlQuery:s,basePath:a,dataEditable:r,functions:i,initialShardKey:l,openApiSpec:d,openRpcSpec:u,runAsIdentity:c,schemaEditable:m,scheduledCancel:h,scheduledCron:f,scheduledLoad:g}),e[0]=s,e[1]=a,e[2]=r,e[3]=i,e[4]=l,e[5]=d,e[6]=u,e[7]=c,e[8]=h,e[9]=f,e[10]=g,e[11]=m,e[12]=v):v=e[12];const y=v,b=o??null;let p;e[13]!==y?(p=n(fs,{router:y}),e[13]=y,e[14]=p):p=e[14];let x;return e[15]!==b||e[16]!==p?(x=n(os,{value:b,children:p}),e[15]=b,e[16]=p,e[17]=x):x=e[17],x},En=t=>{const e=M(10);let s,a,o;e[0]!==t?({i18n:s,locale:a,...o}=t,e[0]=t,e[1]=s,e[2]=a,e[3]=o):(s=e[1],a=e[2],o=e[3]);let r;e[4]!==o?(r=n(Ds,{children:n(en,{...o})}),e[4]=o,e[5]=r):r=e[5];const i=r;if(s===void 0&&a===void 0)return i;let l;return e[6]!==s||e[7]!==a||e[8]!==i?(l=n(Cs,{i18n:s,locale:a,children:i}),e[6]=s,e[7]=a,e[8]=i,e[9]=l):l=e[9],l};function tn(t){return t.location.pathname}export{Ws as B,En as S,zs as T,Rn as a,Ys as b,ea as c,ta as d,sa as e,Os as u};
@@ -0,0 +1,2 @@
1
+ 'use client';
2
+ import{c as d}from"react/compiler-runtime";import{c as i}from"./utils-bhneXptQ.mjs";import{jsx as r}from"react/jsx-runtime";function f(o){const e=d(8);let t,l;e[0]!==o?({className:t,...l}=o,e[0]=o,e[1]=t,e[2]=l):(t=e[1],l=e[2]);let a;e[3]!==t?(a=i("w-full caption-bottom text-xs",t),e[3]=t,e[4]=a):a=e[4];let s;return e[5]!==l||e[6]!==a?(s=r("div",{"data-slot":"table-container",className:"relative w-full overflow-x-auto overflow-y-clip",children:r("table",{"data-slot":"table",className:a,...l})}),e[5]=l,e[6]=a,e[7]=s):s=e[7],s}function p(o){const e=d(8);let t,l;e[0]!==o?({className:t,...l}=o,e[0]=o,e[1]=t,e[2]=l):(t=e[1],l=e[2]);let a;e[3]!==t?(a=i("bg-muted/50 [&_tr]:border-b",t),e[3]=t,e[4]=a):a=e[4];let s;return e[5]!==l||e[6]!==a?(s=r("thead",{"data-slot":"table-header",className:a,...l}),e[5]=l,e[6]=a,e[7]=s):s=e[7],s}function m(o){const e=d(8);let t,l;e[0]!==o?({className:t,...l}=o,e[0]=o,e[1]=t,e[2]=l):(t=e[1],l=e[2]);let a;e[3]!==t?(a=i("[&_tr:last-child]:border-0",t),e[3]=t,e[4]=a):a=e[4];let s;return e[5]!==l||e[6]!==a?(s=r("tbody",{"data-slot":"table-body",className:a,...l}),e[5]=l,e[6]=a,e[7]=s):s=e[7],s}function u(o){const e=d(8);let t,l;e[0]!==o?({className:t,...l}=o,e[0]=o,e[1]=t,e[2]=l):(t=e[1],l=e[2]);let a;e[3]!==t?(a=i("border-b transition-colors hover:bg-muted/50 has-aria-expanded:bg-muted/50 data-[state=selected]:bg-muted",t),e[3]=t,e[4]=a):a=e[4];let s;return e[5]!==l||e[6]!==a?(s=r("tr",{"data-slot":"table-row",className:a,...l}),e[5]=l,e[6]=a,e[7]=s):s=e[7],s}function h(o){const e=d(8);let t,l;e[0]!==o?({className:t,...l}=o,e[0]=o,e[1]=t,e[2]=l):(t=e[1],l=e[2]);let a;e[3]!==t?(a=i("h-9 border-e border-border px-3 text-start align-middle font-mono text-[11px] font-medium tracking-wide whitespace-nowrap text-muted-foreground uppercase last:border-e-0 [&:has([role=checkbox])]:pe-0",t),e[3]=t,e[4]=a):a=e[4];let s;return e[5]!==l||e[6]!==a?(s=r("th",{"data-slot":"table-head",className:a,...l}),e[5]=l,e[6]=a,e[7]=s):s=e[7],s}function x(o){const e=d(8);let t,l;e[0]!==o?({className:t,...l}=o,e[0]=o,e[1]=t,e[2]=l):(t=e[1],l=e[2]);let a;e[3]!==t?(a=i("border-e border-border px-3 py-1.5 align-middle whitespace-nowrap last:border-e-0 [&:has([role=checkbox])]:pe-0",t),e[3]=t,e[4]=a):a=e[4];let s;return e[5]!==l||e[6]!==a?(s=r("td",{"data-slot":"table-cell",className:a,...l}),e[5]=l,e[6]=a,e[7]=s):s=e[7],s}export{f as T,p as a,u as b,h as c,m as d,x as e};
@@ -0,0 +1 @@
1
+ import{c as $}from"react/compiler-runtime";import{useT as O}from"./DEFAULT_LOCALE-A1Yg5ORA.mjs";import{k as H,f as L,b as Q}from"./internal-Df43vQI0.mjs";import{jsx as p,jsxs as S}from"react/jsx-runtime";import{useState as E,useRef as U,useMemo as Y}from"react";import{u as G}from"./use-mirrored-ref-CVDf2z1M.mjs";import{u as J}from"./use-admin-query-tlBof8Yg.mjs";import{ADMIN_FUNCTIONS as K}from"./ADMIN_FUNCTIONS-B8yyk5BX.mjs";import{useVirtualizer as Z}from"@tanstack/react-virtual";import{c as X}from"./utils-bhneXptQ.mjs";import{f as ee}from"./virtual-rect-D_j7aLxX.mjs";const te=2166136261,re=16777619,I=(s,e=te)=>{let t=e;for(let r=0;r<s.length;r+=1)t^=s.charCodeAt(r),t=Math.imul(t,re);return(t>>>0).toString(16).padStart(8,"0")},se=/([a-z\d])([A-Z])/gu,ne=/[\s_-]+/u,oe=new Set(["access_token","api_key","apikey","card_number","client_secret","credit_card","cvv","passwd","password","private_key","pwd","refresh_token","secret","ssn","token"]),le=s=>{const e=s.replaceAll(se,"$1 $2").split(ne).map(r=>r.toLowerCase()).filter(r=>r.length>0),t=new Set(e);for(let r=0;r<e.length-1;r+=1){const n=e[r],u=e[r+1];n===void 0||u===void 0||(t.add(`${n}${u}`),t.add(`${n}_${u}`))}return[...t]},V="•••",W=(s,e)=>{try{return e==="redact"?null:e==="hash"?s==null?s:I(typeof s=="bigint"?s.toString():typeof s=="string"?s:JSON.stringify(s)):V}catch{return V}},j=(s,e)=>{const t=new Map;for(const r of s)r.table===e&&t.set(r.column,r.strategy);return t},ae=s=>{for(const e of le(s))if(oe.has(e))return!0;return!1},z=(s,e)=>{const t=e.filter(n=>!s.has(n)&&ae(n));if(t.length===0)return s;const r=new Map(s);for(const n of t)r.set(n,"redact");return r},Ce=(s,e,t)=>{if(!t.enabled)return s;const r=t.columns.get(e);return r===void 0?s:W(s,r)},ce=(s,e)=>{if(!e.enabled||e.columns.size===0)return s;const t={...s};for(const[r,n]of e.columns)r in t&&(t[r]=W(t[r],n));return t},Fe=(s,e)=>!e.enabled||e.columns.size===0?s:s.map(t=>ce(t,e)),B=s=>s==null?"∅":s===""?"(empty)":H(s),ie=s=>{const e=$(32),{column:t,onFacetFilter:r,state:n}=s,u=O();let x;e[0]!==t||e[1]!==r||e[2]!==n.result?.values?(x=c=>{const m=Number(c.currentTarget.dataset.index),k=n.result?.values[m];k!==void 0&&r(t,k.value)},e[0]=t,e[1]=r,e[2]=n.result?.values,e[3]=x):x=e[3];const g=x,o=`db-facet-${t}`;let d;e[4]!==t?(d=p("span",{className:"font-medium text-foreground",children:t}),e[4]=t,e[5]=d):d=e[5];let a;e[6]!==n.loading||e[7]!==n.result||e[8]!==u?(a=n.loading&&n.result===null&&p("span",{className:"text-muted-foreground",children:u("Loading…")}),e[6]=n.loading,e[7]=n.result,e[8]=u,e[9]=a):a=e[9];let l;e[10]!==n.error?(l=n.error!==null&&p("span",{className:"text-destructive",role:"alert",children:n.error}),e[10]=n.error,e[11]=l):l=e[11];let i;e[12]!==n.result?.values?(i=n.result?.values??[],e[12]=n.result?.values,e[13]=i):i=e[13];let f;if(e[14]!==t||e[15]!==g||e[16]!==i){let c;e[18]!==t||e[19]!==g?(c=(m,k)=>S("button",{className:"flex items-center justify-between gap-2 rounded px-1 py-0.5 text-left text-muted-foreground transition-colors hover:bg-accent hover:text-accent-foreground","data-index":k,"data-testid":`db-facet-value-${t}`,onClick:g,type:"button",children:[p("span",{className:"truncate",children:B(m.value)}),p("span",{className:"shrink-0 tabular-nums text-foreground/70",children:m.count})]},B(m.value)),e[18]=t,e[19]=g,e[20]=c):c=e[20],f=i.map(c),e[14]=t,e[15]=g,e[16]=i,e[17]=f}else f=e[17];let b;e[21]!==t||e[22]!==n.result||e[23]!==u?(b=n.result?.truncated===!0&&p("span",{className:"text-muted-foreground","data-testid":`db-facet-truncated-${t}`,children:u("Showing the {n} most common values.",{n:n.result.values.length})}),e[21]=t,e[22]=n.result,e[23]=u,e[24]=b):b=e[24];let h;return e[25]!==o||e[26]!==d||e[27]!==a||e[28]!==l||e[29]!==f||e[30]!==b?(h=S("section",{className:"flex flex-col gap-1","data-testid":o,children:[d,a,l,f,b]}),e[25]=o,e[26]=d,e[27]=a,e[28]=l,e[29]=f,e[30]=b,e[31]=h):h=e[31],h},_e=s=>{const e=$(44),{columns:t,facets:r,mask:n,onFacetFilter:u,onToggleFacet:x}=s,g=O();let o;e[0]!==x?(o=y=>{const{column:v}=y.currentTarget.dataset;v!==void 0&&x(v)},e[0]=x,e[1]=o):o=e[1];const d=o;let a;e[2]!==n?(a=y=>n.enabled&&n.columns.has(y),e[2]=n,e[3]=a):a=e[3];const l=a;let i,f,b,h,c,m,k,w;if(e[4]!==t||e[5]!==r||e[6]!==l||e[7]!==g||e[8]!==d){w=Symbol.for("react.early_return_sentinel");e:{let y;e[17]!==l?(y=N=>!l(N),e[17]=l,e[18]=y):y=e[18];const v=t.filter(y);let M;if(e[19]!==r||e[20]!==l?(M=Object.entries(r).filter(N=>{const[q]=N;return!l(q)}),e[19]=r,e[20]=l,e[21]=M):M=e[21],i=M,v.length===0){w=null;break e}m="flex w-56 shrink-0 flex-col gap-3 overflow-auto border-l border-border p-3 text-xs",k="db-facets",h="flex flex-col gap-1.5";let T;e[22]!==g?(T=g("Facets"),e[22]=g,e[23]=T):T=e[23],e[24]!==T?(c=p("span",{className:"font-mono text-[11px] tracking-wide uppercase text-muted-foreground",children:T}),e[24]=T,e[25]=c):c=e[25],f="flex flex-wrap gap-1";let A;e[26]!==r||e[27]!==d?(A=N=>p("button",{"aria-pressed":N in r,className:"rounded border border-border px-1.5 py-0.5 text-muted-foreground transition-colors hover:bg-accent aria-pressed:bg-accent aria-pressed:text-accent-foreground","data-column":N,"data-testid":`db-facet-toggle-${N}`,onClick:d,type:"button",children:N},N),e[26]=r,e[27]=d,e[28]=A):A=e[28],b=v.map(A)}e[4]=t,e[5]=r,e[6]=l,e[7]=g,e[8]=d,e[9]=i,e[10]=f,e[11]=b,e[12]=h,e[13]=c,e[14]=m,e[15]=k,e[16]=w}else i=e[9],f=e[10],b=e[11],h=e[12],c=e[13],m=e[14],k=e[15],w=e[16];if(w!==Symbol.for("react.early_return_sentinel"))return w;let C;e[29]!==f||e[30]!==b?(C=p("div",{className:f,children:b}),e[29]=f,e[30]=b,e[31]=C):C=e[31];let F;e[32]!==C||e[33]!==h||e[34]!==c?(F=S("div",{className:h,children:[c,C]}),e[32]=C,e[33]=h,e[34]=c,e[35]=F):F=e[35];let _;e[36]!==u||e[37]!==i?(_=i.map(y=>{const[v,M]=y;return p(ie,{column:v,onFacetFilter:u,state:M},v)}),e[36]=u,e[37]=i,e[38]=_):_=e[38];let R;return e[39]!==F||e[40]!==_||e[41]!==m||e[42]!==k?(R=S("aside",{className:m,"data-testid":k,children:[F,_]}),e[39]=F,e[40]=_,e[41]=m,e[42]=k,e[43]=R):R=e[43],R},Me=()=>{const[s,e]=E({}),t=G(s),r=U({}),n=async(o,d)=>{const a=(r.current[o]??0)+1;r.current[o]=a,e(l=>o in l?{...l,[o]:{error:null,loading:!0,result:l[o]?.result??null}}:l);try{const l=await d(o);if(r.current[o]!==a)return;e(i=>o in i?{...i,[o]:{error:null,loading:!1,result:l}}:i)}catch(l){if(r.current[o]!==a)return;e(i=>o in i?{...i,[o]:{error:Q(l),loading:!1,result:null}}:i)}};return{clearFacets:()=>{e({})},facets:s,facetsRef:t,refetchFacets:o=>{for(const d of Object.keys(t.current))L(n(d,o))},toggleFacet:(o,d)=>{if(o in t.current){e(a=>Object.fromEntries(Object.entries(a).filter(([l])=>l!==o)));return}e(a=>({...a,[o]:{error:null,loading:!0,result:null}})),d!==null&&L(n(o,d))}}},ue=[],de=()=>{const s=$(1);let e;s[0]===Symbol.for("react.memo_cache_sentinel")?(e={},s[0]=e):e=s[0];const{data:t}=J(K.maskPolicies,e);return Array.isArray(t?.columns)?t.columns:ue},Te=s=>{const e=$(16),{columns:t,selectedTable:r}=s,n=de(),[u,x]=E(!0);let g;e[0]===Symbol.for("react.memo_cache_sentinel")?(g=()=>{x(fe)},e[0]=g):g=e[0];const o=g;let d;if(e[1]!==t||e[2]!==n||e[3]!==r){const h=j(n,r??"");d=z(h,t),e[1]=t,e[2]=n,e[3]=r,e[4]=d}else d=e[4];const a=d;let l;e[5]!==u||e[6]!==n?(l=(h,c)=>({columns:z(j(n,h),c),enabled:u}),e[5]=u,e[6]=n,e[7]=l):l=e[7];const i=l;let f;e[8]!==a||e[9]!==u?(f={columns:a,enabled:u},e[8]=a,e[9]=u,e[10]=f):f=e[10];let b;return e[11]!==a||e[12]!==u||e[13]!==i||e[14]!==f?(b={maskColumns:a,maskOn:u,maskView:f,maskViewFor:i,onToggleMask:o},e[11]=a,e[12]=u,e[13]=i,e[14]=f,e[15]=b):b=e[15],b};function fe(s){return!s}const P=34,D=600,me=s=>{const e=$(21),{item:t,onSelect:r,prefix:n,selected:u,start:x}=s;let g;e[0]!==t.name||e[1]!==r?(g=()=>{r(t.name)},e[0]=t.name,e[1]=r,e[2]=g):g=e[2];const o=g,d=`translateY(${String(x)}px)`;let a;e[3]!==d?(a={insetInline:0,position:"absolute",top:0,transform:d},e[3]=d,e[4]=a):a=e[4];const l=a,i=u?"bg-accent font-medium text-accent-foreground":"text-foreground";let f;e[5]!==i?(f=X("flex w-full items-center justify-between gap-2 rounded-md px-2 py-1.5 text-start text-sm outline-none transition-colors hover:bg-accent hover:text-accent-foreground focus-visible:bg-accent",i),e[5]=i,e[6]=f):f=e[6];const b=`${n}-table-${t.name}`;let h;e[7]!==t.name?(h=p("span",{className:"truncate",children:t.name}),e[7]=t.name,e[8]=h):h=e[8];let c;e[9]!==t.rowCount?(c=p("span",{className:"shrink-0 rounded bg-muted px-1.5 text-xs tabular-nums text-muted-foreground",children:t.rowCount}),e[9]=t.rowCount,e[10]=c):c=e[10];let m;e[11]!==o||e[12]!==u||e[13]!==f||e[14]!==b||e[15]!==h||e[16]!==c?(m=S("button",{"aria-pressed":u,className:f,"data-testid":b,onClick:o,type:"button",children:[h,c]}),e[11]=o,e[12]=u,e[13]=f,e[14]=b,e[15]=h,e[16]=c,e[17]=m):m=e[17];let k;return e[18]!==l||e[19]!==m?(k=p("li",{style:l,children:m}),e[18]=l,e[19]=m,e[20]=k):k=e[20],k},$e=({header:s,onReload:e,onSelect:t,prefix:r,reloadLabel:n,selected:u,tables:x})=>{const g=O(),[o,d]=E(""),a=U(null),l=c=>{d(c.target.value)},i=Y(()=>{const c=o.trim().toLowerCase();return c===""?x:x.filter(m=>m.name.toLowerCase().includes(c))},[o,x]),b=Z({count:i.length,estimateSize:()=>P,getScrollElement:()=>a.current,initialRect:{height:D,width:240},observeElementRect:(c,m)=>ee(c,m,D),overscan:12}).getVirtualItems(),h={height:i.length*P};return S("aside",{className:"flex h-full w-60 shrink-0 flex-col border-e border-border bg-sidebar","data-testid":`${r}-table-list`,children:[s,S("div",{className:"flex h-9 shrink-0 items-center justify-between gap-2 border-b border-border px-3",children:[p("span",{className:"font-mono text-[11px] tracking-wide uppercase text-muted-foreground",children:g("Tables")}),e!==void 0&&p("button",{"aria-label":n??g("Refresh"),className:"flex size-6 items-center justify-center rounded-md text-muted-foreground outline-none transition-colors hover:bg-accent hover:text-foreground focus-visible:bg-accent","data-testid":`${r}-load-tables`,onClick:e,title:n??g("Refresh"),type:"button",children:p("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:p("path",{d:"M4 12a8 8 0 0 1 13.7-5.6L20 8M20 4v4h-4M20 12a8 8 0 0 1-13.7 5.6L4 16m0 4v-4h4"})})})]}),p("div",{className:"shrink-0 border-b border-border p-2",children:p("input",{className:"h-7 w-full rounded-md border border-border bg-background px-2 text-xs outline-none placeholder:text-muted-foreground focus-visible:border-ring","data-testid":`${r}-table-search`,onChange:l,placeholder:g("search table…"),type:"search",value:o})}),S("ul",{className:"relative flex-1 overflow-y-auto p-1.5","data-testid":`${r}-table-list-rows`,ref:a,children:[p("li",{"aria-hidden":"true",style:h}),b.map(c=>{const m=i[c.index];return m===void 0?null:p(me,{item:m,onSelect:t,prefix:r,selected:u===m.name,start:c.start},m.name)})]})]})};export{_e as D,$e as T,Te as a,ce as b,Fe as c,Ce as m,Me as u};
@@ -0,0 +1 @@
1
+ import{c as n}from"react/compiler-runtime";import{c as s}from"./utils-bhneXptQ.mjs";import{jsx as o}from"react/jsx-runtime";function b(d){const e=n(8);let i,r;e[0]!==d?({className:i,...r}=d,e[0]=d,e[1]=i,e[2]=r):(i=e[1],r=e[2]);let t;e[3]!==i?(t=s("flex field-sizing-content min-h-16 w-full rounded-md border border-input bg-transparent px-2.5 py-2 text-xs transition-colors outline-none placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-1 focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:bg-input/50 disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-1 aria-invalid:ring-destructive/20 md:text-xs dark:bg-input/30 dark:disabled:bg-input/80 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40",i),e[3]=i,e[4]=t):t=e[4];let a;return e[5]!==r||e[6]!==t?(a=o("textarea",{"data-slot":"textarea",className:t,...r}),e[5]=r,e[6]=t,e[7]=a):a=e[7],a}export{b as T};
@@ -0,0 +1 @@
1
+ import{a as n,s as a}from"./browser-storage-BH1MxLZs.mjs";const t="lunora:traces:pending-filter",i=e=>{a(t,e,"session")},c=()=>{const e=n("session");if(e!==void 0)try{const s=e.getItem(t);if(s===null)return;const r=JSON.parse(s);return typeof r.traceId!="string"?void 0:{traceId:r.traceId,...typeof r.shardKey=="string"?{shardKey:r.shardKey}:{}}}catch{return}},d=()=>{try{n("session")?.removeItem(t)}catch{}};export{d as c,c as p,i as w};
@@ -0,0 +1 @@
1
+ import{c as $}from"react/compiler-runtime";import{useLunora as w}from"@lunora/react";import{useQueryClient as k,useQuery as L,keepPreviousData as P}from"@tanstack/react-query";import{useState as Q,useEffect as T}from"react";import{c as b,d as v,f as I,b as _}from"./internal-Df43vQI0.mjs";const S=300,a=e=>typeof e=="string"?e===""?void 0:e:typeof e=="number"||typeof e=="boolean"?String(e):void 0,c=e=>e.filter(t=>t!==void 0).join(" "),q=e=>{const t=Array.isArray(e.filters)?e.filters.length:0,r=typeof e.search=="string"&&e.search!=="";return t===0&&!r?"no predicate":c([t===0?void 0:`${String(t)} filters`,r?"search":void 0])},C={clearTable:e=>c([a(e.table),"whole table"]),deleteRows:e=>c([a(e.table),q(e)]),facetColumn:e=>c([a(e.table),a(e.column)]),importShard:e=>{if(!Array.isArray(e.rows))return"";const t=[...new Set(e.rows.filter(r=>typeof r=="object"&&r!==null).map(r=>r.table).filter(r=>typeof r=="string"))].toSorted((r,i)=>r.localeCompare(i));return c([`${String(e.rows.length)} rows`,t.length===0?void 0:`into ${t.join(", ")}`])},lintSql:()=>"sql",patchRows:e=>c([a(e.table),typeof e.doc=="object"&&e.doc!==null?`set ${Object.keys(e.doc).join(", ")}`:void 0,q(e)]),pitrRestore:e=>c([a(e.time)===void 0?void 0:`to ${String(e.time)}`,typeof e.bookmark=="string"&&e.bookmark!==""?"from bookmark":void 0,e.restart===!0?"restart now":void 0]),readTablePage:e=>c([a(e.table),Array.isArray(e.filters)&&e.filters.length>0?`${String(e.filters.length)} filters`:void 0,typeof e.search=="string"&&e.search!==""?"search":void 0,typeof e.limit=="number"?`limit ${String(e.limit)}`:void 0]),runMigration:e=>c([a(e.id),a(e.direction),e.dryRun===!0?"dry-run":void 0]),runSql:e=>typeof e.sql=="string"?`${String(e.sql.length)} chars`:"",schemaVersion:e=>typeof e.hash=="string"?e.hash.slice(0,8):"",writeRow:e=>c([a(e.table),"1 row"])},A="__lunora_admin__:",M=(e,t)=>{const r=e.startsWith(A)?e.slice(A.length):e,i=C[r];if(i!==void 0)return i(t);const s=Object.keys(t);return s.length===0?"":s.join(", ")},K=e=>{if(Array.isArray(e))return e.length;if(!(typeof e!="object"||e===null)){for(const t of Object.values(e))if(Array.isArray(t))return t.length}};class x{entries=[];listeners=new Set;nextSeq=1;getSnapshot=()=>this.entries;subscribe=t=>(this.listeners.add(t),()=>{this.listeners.delete(t)});start(t,r,i){return this.append(t,r,i,"call","pending")}startSubscription(t,r,i){return this.append(t,r,i,"subscription","live")}recordPush(t){if(this.listeners.size===0){const r=this.entries.find(i=>i.seq===t);r!==void 0&&(r.pushes=(r.pushes??0)+1);return}this.patch(t,r=>({...r,pushes:(r.pushes??0)+1}))}failSubscription(t,r){this.patch(t,i=>({...i,error:r,status:"error"}))}endSubscription(t){this.patch(t,r=>r.status==="error"?r:{...r,durationMs:Date.now()-r.startedAt,status:"closed"})}lastErrorSeq(){return this.entries.findLast(t=>t.status==="error")?.seq}settle(t,r){this.patch(t,i=>({...i,durationMs:Date.now()-i.startedAt,...r.error===void 0?{resultCount:K(r.result),status:"ok"}:{error:r.error,status:"error"}}))}clear(){this.entries=[],this.emit()}append(t,r,i,s,n){const l=this.nextSeq;this.nextSeq+=1;const d={functionPath:t,kind:s,seq:l,shardKey:i,startedAt:Date.now(),status:n,summary:M(t,r),...s==="subscription"?{pushes:0}:{}},o=[...this.entries,d];return this.entries=o.length>S?o.slice(o.length-S):o,this.emit(),l}patch(t,r){const i=this.entries.findIndex(s=>s.seq===t);i!==-1&&(this.entries=this.entries.with(i,r(this.entries[i])),this.emit())}emit(){for(const t of this.listeners)t()}}const f=new x,j=(e,t,r)=>["lunora-admin",e,t,r.trim()],E=(e,t)=>[...e,t];function F(e,t,r={}){const i=w(),{enabled:s=!0,keepPreviousData:n=!1,staleTime:l=0}=r,d=E(e,i.clientIdentifier()),u=L({enabled:s,queryFn:t,placeholderData:n?P:void 0,queryKey:d,staleTime:l});return{data:u.data,error:u.error?_(u.error):u.error,errorSource:u.error??void 0,isLoading:u.isLoading,liveError:void 0,refetch:()=>{I(u.refetch())}}}function U(e,t,r={}){const i=w(),s=k(),{enabled:n=!0,keepPreviousData:l=!1,live:d=!1,shardKey:o="",staleTime:u}=r,p=j(e,t,o),R=F(p,()=>i.query(b(e),t,v(o)),{enabled:n,keepPreviousData:l,staleTime:u??(d?Number.POSITIVE_INFINITY:0)}),[g,y]=Q(void 0),D=JSON.stringify(p);return T(()=>{if(!n||!d)return;y(void 0);const m=f.startSubscription(e,t,o),O=i.subscribe(b(e),t,h=>{f.recordPush(m),y(void 0),s.setQueryData(E(p,i.clientIdentifier()),h)},{...v(o),onError:h=>{f.failSubscription(m,h.message),y(h.message)}});return()=>{f.endSubscription(m),O()}},[i,D,n,d]),{...R,liveError:n&&d?g:void 0}}const W=()=>{const e=$(2),t=k();let r;return e[0]!==t?(r=(i,s,n)=>{const l=s===void 0?["lunora-admin",i]:j(i,s,n??"");I(t.invalidateQueries({queryKey:l}))},e[0]=t,e[1]=r):r=e[1],r};export{W as a,F as b,f as o,U as u};
@@ -0,0 +1 @@
1
+ import{c as b}from"react/compiler-runtime";import{useState as k,useEffectEvent as E,useEffect as F}from"react";import{b as x}from"./internal-Df43vQI0.mjs";const $=function(e,l,r){const t=b(15);let s;t[0]===Symbol.for("react.memo_cache_sentinel")?(s={kind:"loading"},t[0]=s):s=t[0];const[h,v]=k(s);let f;t[1]!==l?(f=async()=>l(),t[1]=l,t[2]=f):f=t[2];const g=E(f);let m;t[3]!==r?(m=o=>r(o),t[3]=r,t[4]=m):m=t[4];const n=E(m);let u;t[5]!==n||t[6]!==g||t[7]!==e?(u=()=>{if(e!==void 0)return;let o=!1;return g().then(c=>(o||v(n(c)),c)).catch(c=>{o||v({kind:"error",message:x(c)})}),()=>{o=!0}},t[5]=n,t[6]=g,t[7]=e,t[8]=u):u=t[8];let d;t[9]!==e?(d=[e],t[9]=e,t[10]=d):d=t[10],F(u,d);let a;return t[11]!==r||t[12]!==h||t[13]!==e?(a=e===void 0?h:r(e),t[11]=r,t[12]=h,t[13]=e,t[14]=a):a=t[14],a};export{$ as u};
@@ -0,0 +1 @@
1
+ import{c as m}from"react/compiler-runtime";import{useState as a}from"react";import{f as i,b as y}from"./internal-Df43vQI0.mjs";const g=()=>{const r=m(4),[s,n]=a(!1),[o,c]=a(null);let e;r[0]===Symbol.for("react.memo_cache_sentinel")?(e=u=>{i((async()=>{n(!0),c(null);try{await u()}catch(f){c(y(f))}n(!1)})())},r[0]=e):e=r[0];const l=e;let t;return r[1]!==s||r[2]!==o?(t={busy:s,error:o,run:l},r[1]=s,r[2]=o,r[3]=t):t=r[3],t};export{g as u};
@@ -0,0 +1 @@
1
+ import{c as f}from"react/compiler-runtime";import{useLunora as c}from"@lunora/react";import{b as u}from"./use-admin-query-tlBof8Yg.mjs";const m={capabilities:{accounts:!0,admin:!0,inviteOnly:!1,organization:!1,passkey:!1,twoFactor:!1},emailAndPassword:!1,organization:{enabled:!1,roles:!1,teams:!1},plugins:[],rateLimit:{enabled:!1},session:{},socialProviders:[],userFields:[]},b=()=>{const e=f(6),o=c();let s;e[0]===Symbol.for("react.memo_cache_sentinel")?(s=["lunora-auth-config"],e[0]=s):s=e[0];let t;e[1]!==o?(t=()=>o.getAuthConfig(),e[1]=o,e[2]=t):t=e[2];const{data:l,isLoading:r}=u(s,t),i=l??m,n=!r;let a;return e[3]!==i||e[4]!==n?(a={config:i,ready:n},e[3]=i,e[4]=n,e[5]=a):a=e[5],a};export{b as u};
@@ -0,0 +1 @@
1
+ import{c as o}from"react/compiler-runtime";import{useRef as s,useEffect as c}from"react";function m(r){const e=o(2),f=s(r);let t;return e[0]!==r?(t=()=>{f.current=r},e[0]=r,e[1]=t):t=e[1],c(t),f}export{m as u};
@@ -0,0 +1 @@
1
+ import{c as n}from"react/compiler-runtime";import{useNavigate as a}from"@tanstack/react-router";import{f as m}from"./internal-Df43vQI0.mjs";import{w as s}from"./trace-handoff-BV3EWqy_.mjs";const u=r=>{const t=n(3),o=a();let e;return t[0]!==o||t[1]!==r?(e=i=>{s({shardKey:r,traceId:i}),m(o({to:"/traces"}))},t[0]=o,t[1]=r,t[2]=e):e=t[2],e};export{u};
@@ -0,0 +1 @@
1
+ import{useState as n,useRef as S,useEffect as a}from"react";const f=(e,s=400)=>{const t=(e??"").trim(),[o,u]=n(t),[y,c]=n(t),d=S(e);d.current!==e&&(d.current=e,u(t),c(t));const m=o.trim();return a(()=>{const r=setTimeout(()=>{c(m)},s);return()=>{clearTimeout(r)}},[m,s]),{queryShardKey:y,setShardKey:r=>{u(r)},shardKey:o}};export{f as u};
@@ -0,0 +1 @@
1
+ import{useLunora as h}from"@lunora/react";import{useState as c}from"react";import{u as T}from"./use-admin-query-tlBof8Yg.mjs";import{ADMIN_FUNCTIONS as s}from"./ADMIN_FUNCTIONS-B8yyk5BX.mjs";import{d,c as l}from"./internal-Df43vQI0.mjs";const S={},_=l(s.aiGenerateSql),b=l(s.aiTableFilter),C=l(s.aiChartConfig),Q=n=>{const o=h(),[v,u]=c({}),[m,g]=c({}),p=T(s.aiAvailable,S,{shardKey:n}),[y,q]=c(!1),A=y||p.data?.available===!1,i=e=>{u(r=>({...r,[e]:!0})),g(r=>({...r,[e]:void 0}))},a=(e,r)=>{u(t=>({...t,[e]:!1})),r!==void 0&&g(t=>({...t,[e]:r})),r==="no-ai-binding"&&q(!0)},f=async e=>{i("sql");try{const{result:r}=await o.query(_,e,d(n));return a("sql",r.degraded?r.reason:void 0),r.degraded?void 0:r.sql}catch{a("sql","ai-error");return}};return{generate:async(e,r)=>f({failedError:r?.error,failedSql:r?.sql,prompt:e}),inferChart:async e=>{i("chart");try{const{result:r}=await o.query(C,e,d(n));return a("chart",r.degraded?r.reason:void 0),r.degraded?void 0:r.chart}catch{a("chart","ai-error");return}},pending:e=>v[e]===!0,reason:e=>m[e],rewrite:async(e,r)=>f({editSql:r,prompt:e}),suggestFilter:async(e,r)=>{i("filter");try{const{result:t}=await o.query(b,{prompt:e,table:r},d(n));return a("filter",t.degraded?t.reason:void 0),t.degraded?void 0:t.clauses}catch{a("filter","ai-error");return}},unavailable:A}};export{Q as u};
@@ -0,0 +1 @@
1
+ import{c as p}from"react/compiler-runtime";import{useState as f,useEffect as D}from"react";const T=function(t,n,o){const e=p(4),s=n===void 0?300:n,[r,i]=f(t),[u,m]=f(o);o!==void 0&&o!==u&&(m(o),i(t));let c,d;return e[0]!==s||e[1]!==t?(c=()=>{const b=setTimeout(()=>{i(t)},s);return()=>{clearTimeout(b)}},d=[t,s],e[0]=s,e[1]=t,e[2]=c,e[3]=d):(c=e[2],d=e[3]),D(c,d),r};export{T as default};
@@ -0,0 +1 @@
1
+ import{clsx as o}from"clsx";import{twMerge as t}from"tailwind-merge";function m(...r){return t(o(r))}export{m as c};
@@ -0,0 +1 @@
1
+ import{observeElementRect as i}from"@tanstack/react-virtual";const s=(t,o,h)=>i(t,e=>{o(e.height>0?e:{height:h,width:e.width})});export{s as f};
@@ -0,0 +1 @@
1
+ const m=e=>{let t="";for(let o=0;o<e.length;o+=32768)t+=String.fromCharCode(...e.subarray(o,o+32768));return btoa(t)},l=e=>{const t=atob(e),y=new Uint8Array(t.length);for(let o=0;o<t.length;o+=1)y[o]=t.codePointAt(o)??0;return y},i="$lunora.wire$";const w="__proto__",g={BigInt64Array,BigUint64Array,Float32Array,Float64Array,Int8Array,Int16Array,Int32Array,Uint8Array,Uint8ClampedArray,Uint16Array,Uint32Array},p={Error,EvalError,RangeError,ReferenceError,SyntaxError,TypeError,URIError},A=e=>{if(e===null||typeof e!="object")return!1;const t=Object.getPrototypeOf(e);return t===null||t===Object.prototype},u=(e,t=0)=>{if(t>64)throw new RangeError("wire-codec: value nesting exceeds the 64-level limit");if(e===void 0)return[i,"undefined"];if(e===null)return null;const y=typeof e;if(y==="bigint"){const r=e.toString();if(r.length>1024)throw new RangeError("wire-codec: over-long bigint (max 1024 digits)");return[i,"bigint",r]}if(y==="number"){const r=e;return Number.isNaN(r)?[i,"nan"]:r===1/0?[i,"inf"]:r===-1/0?[i,"-inf"]:r}if(y!=="object")return e;if(e instanceof Date)return[i,"date",u(e.getTime(),t+1)];if(e instanceof Error){const r=e,n=u(Object.fromEntries(Object.keys(r).map(s=>[s,r[s]])),t+1),c=[i,"error",String(r.name),String(r.message),n];return r.cause!==void 0&&c.push(u(r.cause,t+1)),c}if(e instanceof URL)return[i,"url",e.href];if(e instanceof Map)return[i,"map",[...e.entries()].map(([r,n])=>[u(r,t+1),u(n,t+1)])];if(e instanceof Set)return[i,"set",[...e].map(r=>u(r,t+1))];if(e instanceof ArrayBuffer)return[i,"bytes",m(new Uint8Array(e)),"ArrayBuffer"];if(ArrayBuffer.isView(e)){const r=e,n=r.constructor.name,c=new Uint8Array(r.buffer,r.byteOffset,r.byteLength);return n==="Uint8Array"?[i,"bytes",m(c)]:[i,"bytes",m(c),n]}if(Array.isArray(e)){const r=e.map(n=>u(n,t+1));return r.length>0&&r[0]===i?[i,"arr",r]:r}if(!A(e)){const r=e.constructor?.name??"value";throw new TypeError(`wire-codec: cannot encode a ${r} over the Lunora wire — only plain objects, arrays, and the supported built-ins (Date, Error, URL, Map, Set, ArrayBuffer/typed arrays, bigint) round-trip`)}const o=e,a={};for(const r of Object.keys(o)){const n=o[r];if(n===void 0)continue;const c=u(n,t+1);r===w?Object.defineProperty(a,r,{configurable:!0,enumerable:!0,value:c,writable:!0}):a[r]=c}return a},f=(e,t=0)=>{if(t>64)throw new RangeError("wire-codec: value nesting exceeds the 64-level limit");if(e===null||typeof e!="object")return e;if(Array.isArray(e)){if(e[0]===i)switch(e[1]){case"-inf":return-1/0;case"arr":return e[2].map(r=>f(r,t+1));case"bigint":{const r=e[2];if(typeof r!="string"||r.length>1024||!/^-?\d+$/.test(r))throw new RangeError("wire-codec: invalid or over-long bigint (max 1024 digits)");return BigInt(r)}case"date":{const r=f(e[2],t+1);if(typeof r!="number")throw new TypeError("wire-codec: malformed date — epoch must be a number");return new Date(r)}case"map":{const r=e[2];return new Map(r.map(n=>{if(!Array.isArray(n)||n.length!==2)throw new TypeError("wire-codec: malformed map entry — expected a [key, value] pair");return[f(n[0],t+1),f(n[1],t+1)]}))}case"set":return new Set(e[2].map(r=>f(r,t+1)));case"url":{const r=e[2];if(typeof r!="string")throw new TypeError("wire-codec: malformed url — href must be a string");return new URL(r)}case"error":{const r=e[2],n=e[3];if(typeof r!="string"||typeof n!="string")throw new TypeError("wire-codec: malformed error — name and message must be strings");const c=(Object.hasOwn(p,r)?p[r]:void 0)??Error,s=new c(n);s.name!==r&&Object.defineProperty(s,"name",{configurable:!0,value:r,writable:!0});const b=f(e[4],t+1);if(b===null||typeof b!="object"||Array.isArray(b))throw new TypeError("wire-codec: malformed error — props must be an object");for(const d of Object.keys(b))d===w?Object.defineProperty(s,d,{configurable:!0,enumerable:!0,value:b[d],writable:!0}):s[d]=b[d];return e.length>5&&Object.defineProperty(s,"cause",{configurable:!0,value:f(e[5],t+1),writable:!0}),s}case"bytes":{const r=e[2];if(typeof r!="string")throw new TypeError("wire-codec: malformed bytes — payload must be a base64 string");const n=l(r);if(m(n)!==r)throw new TypeError("wire-codec: malformed bytes — payload must be canonical padded base64");const c=e[3]??"Uint8Array";if(c==="ArrayBuffer")return n.buffer.byteLength===n.byteLength?n.buffer:n.slice().buffer;const s=Object.hasOwn(g,c)?g[c]:void 0;return s?new s(n.slice().buffer):n}case"inf":return 1/0;case"nan":return Number.NaN;case"undefined":return;default:return e.map(r=>f(r,t+1))}return e.map(a=>f(a,t+1))}const y=e,o={};for(const a of Object.keys(y)){const r=f(y[a],t+1);a===w?Object.defineProperty(o,a,{configurable:!0,enumerable:!0,value:r,writable:!0}):o[a]=r}return o},E=e=>{try{const t=f(JSON.parse(e));return A(t)?t:void 0}catch{return}};export{E as a,f as d,u as e,A as i};
@@ -0,0 +1 @@
1
+ import{a as f}from"./chunk-2IKDEUCX.js";import{a as u,d as x,f as h,g as N}from"./chunk-I26MS5PJ.js";var b=x(h(),1);var t=x(N(),1);var v=u(g=>{let e=(0,b.c)(16),{chart:c,footer:n,label:i,testId:m,value:p}=g,r;e[0]!==i?(r=(0,t.jsx)("span",{className:"font-mono text-[11px] tracking-wide text-muted-foreground uppercase",children:i}),e[0]=i,e[1]=r):r=e[1];let a;e[2]!==m||e[3]!==p?(a=(0,t.jsx)("span",{className:"truncate text-2xl font-semibold tabular-nums text-foreground","data-testid":m,children:p}),e[2]=m,e[3]=p,e[4]=a):a=e[4];let s;e[5]!==c||e[6]!==a?(s=(0,t.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[a,c]}),e[5]=c,e[6]=a,e[7]=s):s=e[7];let l;e[8]!==r||e[9]!==s?(l=(0,t.jsxs)("div",{className:"flex flex-col gap-2.5 p-4",children:[r,s]}),e[8]=r,e[9]=s,e[10]=l):l=e[10];let o;e[11]!==n?(o=n!=null&&(0,t.jsx)("div",{className:"border-t border-border bg-muted/50 px-4 py-2.5 text-[11px] text-muted-foreground",children:n}),e[11]=n,e[12]=o):o=e[12];let d;return e[13]!==l||e[14]!==o?(d=(0,t.jsxs)(f,{className:"justify-between gap-0 py-0",children:[l,o]}),e[13]=l,e[14]=o,e[15]=d):d=e[15],d},"j");export{v as a};
@@ -0,0 +1 @@
1
+ import{b as u}from"./chunk-Q6ED4KUL.js";import"./chunk-BOMPSVRC.js";import{a as y}from"./chunk-N2NNEOPR.js";import"./chunk-NCPW7WHO.js";import"./chunk-MCHHNGVN.js";import"./chunk-55UGUCQ6.js";import{a as N}from"./chunk-4ZEL6BYL.js";import{c as v}from"./chunk-2XM43DQY.js";import"./chunk-KL26TJN3.js";import"./chunk-QAQDMS6R.js";import"./chunk-OACO7GME.js";import{a as g}from"./chunk-RWVIV3U7.js";import{a as w,b,c as S,d as c,e as s,f as o}from"./chunk-HCTJKP5J.js";import{a as f,e as x}from"./chunk-2IKDEUCX.js";import{d as p}from"./chunk-HJHSQPHW.js";import{a as n,d as R,g as T}from"./chunk-I26MS5PJ.js";var e=R(T(),1);var $={active:"default",failing:"destructive",idle:"secondary"},j=n(a=>a===void 0?"\u2014":`${new Date(a).toISOString().slice(0,19).replace("T"," ")} UTC`,"I"),U=n(a=>{let t=a.runs+a.suppressed;return t===0?void 0:Math.round(a.suppressed/t*100)},"$"),F=n(({initialShardKey:a=""})=>{let t=p(),{data:l,error:E,errorSource:A,liveError:I}=v(N.listReactors,{},{live:!0,shardKey:a}),C=l!==void 0,i=Array.isArray(l?.reactors)?l.reactors:[],d;C&&i.length===0?d=(0,e.jsx)(g,{description:t("No reactor is declared in this deployment. Export an onQueryChange(select, handler) from lunora/ to run server-side logic when a query's result changes."),testId:"reactors-empty",title:t("No reactors declared")}):d=(0,e.jsx)(f,{className:"overflow-hidden py-0",children:(0,e.jsx)(x,{className:"px-0",children:(0,e.jsxs)(w,{"data-testid":"reactors-table",children:[(0,e.jsx)(b,{children:(0,e.jsxs)(c,{children:[(0,e.jsx)(s,{children:t("Reactor")}),(0,e.jsx)(s,{children:t("State")}),(0,e.jsx)(s,{children:t("Ran")}),(0,e.jsx)(s,{children:t("Suppressed")}),(0,e.jsx)(s,{children:t("Errors")}),(0,e.jsx)(s,{children:t("Watches")}),(0,e.jsx)(s,{children:t("Last dispatch")})]})}),(0,e.jsx)(S,{children:i.map(r=>{let m=U(r);return(0,e.jsxs)(c,{"data-testid":`reactors-row-${r.path}`,children:[(0,e.jsx)(o,{className:"font-mono text-xs",children:r.path}),(0,e.jsx)(o,{children:(0,e.jsx)(u,{"data-testid":`reactors-state-${r.path}`,variant:$[r.state],children:r.state})}),(0,e.jsx)(o,{className:"font-mono text-xs",children:r.runs}),(0,e.jsxs)(o,{className:"font-mono text-xs text-muted-foreground",children:[r.suppressed,m===void 0?"":` (${String(m)}%)`]}),(0,e.jsx)(o,{className:"font-mono text-xs",children:r.errors===0?(0,e.jsx)("span",{className:"text-muted-foreground",children:"0"}):(0,e.jsx)("span",{className:"text-destructive",children:r.errors})}),(0,e.jsx)(o,{className:"font-mono text-xs text-muted-foreground",children:r.tables===void 0||r.tables.length===0?"\u2014":r.tables.join(", ")}),(0,e.jsx)(o,{className:"font-mono text-xs text-muted-foreground",children:j(r.lastRanAt)})]},r.path)})})]})})});let h=i.filter(r=>r.state==="failing");return(0,e.jsxs)("div",{className:"flex flex-col gap-6","data-testid":"lunora-reactors-panel",children:[E!==null&&(0,e.jsx)(y,{error:A,testId:"reactors-error"}),(0,e.jsx)("p",{className:"text-sm text-muted-foreground",children:t("A reactor runs after a write flush, but only when the result of the query it watches actually changed \u2014 a trigger fires on a row write, a reactor fires on a result changing. Suppressed dispatches are the ones where the read re-ran and nothing had moved.")}),h.length>0&&(0,e.jsx)("div",{className:"flex flex-col gap-2","data-testid":"reactors-failing",children:h.map(r=>(0,e.jsxs)("p",{className:"text-xs text-destructive",role:"alert",children:[(0,e.jsx)("span",{className:"font-mono",children:r.path}),": ",r.lastError??t("last dispatch failed")]},r.path))}),I!==void 0&&(0,e.jsx)("p",{className:"text-xs text-amber-600 dark:text-amber-500","data-testid":"reactors-live-error",role:"alert",children:t("Live updates unavailable; showing the last reading.")}),d]})},"U");export{F as default};
@@ -0,0 +1 @@
1
+ import{a as i}from"./chunk-I26MS5PJ.js";var u=i(r=>{let a=0,e=0,o=0,c=0,t=0,n=0,l=0;for(let{metrics:s}of r){if(s===null){t+=1;continue}c+=1,a+=s.requests,e+=s.errors,o+=s.databaseSize??0,s.cache&&(n+=s.cache.hits,l+=s.cache.hits+s.cache.misses)}return{failed:t,hitRate:l===0?null:n/l,reachable:c,totalDatabaseSize:o,totalErrors:e,totalRequests:a}},"i"),h=i((r,a)=>{let e=new Set,o=[];for(let c of["",r.trim(),...a])e.has(c)||(e.add(c),o.push(c));return o},"u"),f=i(r=>{let a=r,e=[],o=0;for(let t of a.functions??[])t.calls>0&&(e.push({avg:t.totalDurationMs/t.calls,calls:t.calls}),o+=t.calls);e.sort((t,n)=>t.avg-n.avg);let c=i(t=>{let n=Math.ceil(t/100*o),l=0;for(let s of e)if(l+=s.calls,l>=n)return s.avg;return e.at(-1)?.avg??0},"c");return{p90:c(90),p95:c(95)}},"h"),g=i(r=>r.map(a=>({...a,avgDurationMs:a.execCount>0?a.totalDurationMs/a.execCount:0})),"f");export{u as a,h as b,f as c,g as d};
@@ -0,0 +1 @@
1
+ import{a as o,d as n,f as m,g as u,i as c}from"./chunk-I26MS5PJ.js";var l=n(m(),1);var i=n(u(),1);function f({className:d,size:a="default",...t}){return(0,i.jsx)("div",{"data-slot":"card","data-size":a,className:c("group/card flex flex-col gap-4 overflow-hidden rounded-xl border border-border bg-card py-4 text-xs/relaxed text-card-foreground shadow-xs has-data-[slot=card-footer]:pb-0 has-[>img:first-child]:pt-0 data-[size=sm]:gap-2 data-[size=sm]:py-3 data-[size=sm]:has-data-[slot=card-footer]:pb-0 *:[img:first-child]:rounded-md *:[img:last-child]:rounded-md",d),...t})}o(f,"p");function x(d){let a=(0,l.c)(8),t,e;a[0]!==d?({className:t,...e}=d,a[0]=d,a[1]=t,a[2]=e):(t=a[1],e=a[2]);let r;a[3]!==t?(r=c("group/card-header @container/card-header grid auto-rows-min items-start gap-1 rounded-md px-4 group-data-[size=sm]/card:px-3 has-data-[slot=card-action]:grid-cols-[1fr_auto] has-data-[slot=card-description]:grid-rows-[auto_auto] [.border-b]:pb-4 group-data-[size=sm]/card:[.border-b]:pb-3",t),a[3]=t,a[4]=r):r=a[4];let s;return a[5]!==e||a[6]!==r?(s=(0,i.jsx)("div",{"data-slot":"card-header",className:r,...e}),a[5]=e,a[6]=r,a[7]=s):s=a[7],s}o(x,"f");function g(d){let a=(0,l.c)(8),t,e;a[0]!==d?({className:t,...e}=d,a[0]=d,a[1]=t,a[2]=e):(t=a[1],e=a[2]);let r;a[3]!==t?(r=c("font-heading text-sm font-medium group-data-[size=sm]/card:text-sm",t),a[3]=t,a[4]=r):r=a[4];let s;return a[5]!==e||a[6]!==r?(s=(0,i.jsx)("div",{"data-slot":"card-title",className:r,...e}),a[5]=e,a[6]=r,a[7]=s):s=a[7],s}o(g,"u");function h(d){let a=(0,l.c)(8),t,e;a[0]!==d?({className:t,...e}=d,a[0]=d,a[1]=t,a[2]=e):(t=a[1],e=a[2]);let r;a[3]!==t?(r=c("text-xs/relaxed text-muted-foreground",t),a[3]=t,a[4]=r):r=a[4];let s;return a[5]!==e||a[6]!==r?(s=(0,i.jsx)("div",{"data-slot":"card-description",className:r,...e}),a[5]=e,a[6]=r,a[7]=s):s=a[7],s}o(h,"x");function b(d){let a=(0,l.c)(8),t,e;a[0]!==d?({className:t,...e}=d,a[0]=d,a[1]=t,a[2]=e):(t=a[1],e=a[2]);let r;a[3]!==t?(r=c("px-4 group-data-[size=sm]/card:px-3",t),a[3]=t,a[4]=r):r=a[4];let s;return a[5]!==e||a[6]!==r?(s=(0,i.jsx)("div",{"data-slot":"card-content",className:r,...e}),a[5]=e,a[6]=r,a[7]=s):s=a[7],s}o(b,"g");export{f as a,x as b,g as c,h as d,b as e};