@lunora/studio 1.0.0-alpha.30 → 1.0.0-alpha.301

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 (465) 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/privacy-requests-panel.mjs +1 -0
  49. package/dist/packem_chunks/queues-panel.mjs +1 -0
  50. package/dist/packem_chunks/reactors-panel.mjs +1 -0
  51. package/dist/packem_chunks/rls-panel.mjs +1 -0
  52. package/dist/packem_chunks/schedule-panel.mjs +1 -0
  53. package/dist/packem_chunks/sparkline.mjs +1 -0
  54. package/dist/packem_chunks/storage-rules-panel.mjs +1 -0
  55. package/dist/packem_chunks/subscriptions-panel.mjs +1 -0
  56. package/dist/packem_chunks/sync-client-panel.mjs +1 -0
  57. package/dist/packem_chunks/traces-panel.mjs +1 -0
  58. package/dist/packem_chunks/users-panel.mjs +1 -0
  59. package/dist/packem_chunks/vector-browser.mjs +1 -0
  60. package/dist/packem_chunks/workflows-panel.mjs +1 -0
  61. package/dist/packem_shared/ADMIN_FUNCTIONS-B8yyk5BX.mjs +1 -0
  62. package/dist/packem_shared/ApiDocsPanel-fhDlZGE4.mjs +2 -0
  63. package/dist/packem_shared/ApiReferencePanel-nAf8tNRr.mjs +1 -0
  64. package/dist/packem_shared/CommandPalette-D9ZY-qQd.mjs +1 -0
  65. package/dist/packem_shared/ConfirmButton-DU4p72Er.mjs +1 -0
  66. package/dist/packem_shared/ConnectionBadge-B8Hj5DaE.mjs +1 -0
  67. package/dist/packem_shared/DEFAULT_AUTO_REFRESH_MS-DuULO4XM.mjs +1 -0
  68. package/dist/packem_shared/DEFAULT_INSIGHT_THRESHOLDS-D5YMT0gM.mjs +1 -0
  69. package/dist/packem_shared/DEFAULT_LOCALE-A1Yg5ORA.mjs +1 -0
  70. package/dist/packem_shared/DataBrowser-E68QfaST.mjs +4 -0
  71. package/dist/packem_shared/DataFilters-CYZFt2EK.mjs +1 -0
  72. package/dist/packem_shared/ErrorBoundary-BWNF98VF.mjs +1 -0
  73. package/dist/packem_shared/GlobalDataBrowser-DhObcZDY.mjs +1 -0
  74. package/dist/packem_shared/HomePanel-CUuYsApa.mjs +1 -0
  75. package/dist/packem_shared/MigrationsPanel-CkVIwAbK.mjs +1 -0
  76. package/dist/packem_shared/OpenRpcReferencePanel-BxEr49D9.mjs +1 -0
  77. package/dist/packem_shared/STUDIO_ROOT_CLASS-C6MccdVk.mjs +1 -0
  78. package/dist/packem_shared/ScheduledJobs-BZNcYWBP.mjs +1 -0
  79. package/dist/packem_shared/ShardInput-C6mjgAh4.mjs +1 -0
  80. package/dist/packem_shared/Studio-CZjQXFHC.mjs +1 -0
  81. package/dist/packem_shared/StudioApp-C9ENwcOH.mjs +1 -0
  82. package/dist/packem_shared/StudioI18nProvider-fVsCSs5L.mjs +1 -0
  83. package/dist/packem_shared/advisor-view-DzI2RQhY.mjs +1 -0
  84. package/dist/packem_shared/aggregateMetrics-DKFJc-o5.mjs +1 -0
  85. package/dist/packem_shared/alert-PB5W11MM.mjs +1 -0
  86. package/dist/packem_shared/app.d-D7vL0y8y.d.mts +349 -0
  87. package/dist/packem_shared/app.d-D7vL0y8y.d.ts +349 -0
  88. package/dist/packem_shared/auth-pager-DiDnXsfe.mjs +1 -0
  89. package/dist/packem_shared/badge-r_5B4LHP.mjs +1 -0
  90. package/dist/packem_shared/bar-chart-BCsEIQoQ.mjs +6 -0
  91. package/dist/packem_shared/browser-storage-BH1MxLZs.mjs +1 -0
  92. package/dist/packem_shared/button-q0UYSmrn.mjs +1 -0
  93. package/dist/packem_shared/card-By2O8ULa.mjs +1 -0
  94. package/dist/packem_shared/cf-links-CBJ5SywP.mjs +1 -0
  95. package/dist/packem_shared/checkbox-CnS9cyCz.mjs +1 -0
  96. package/dist/packem_shared/control-button-BOZ5K-FC.mjs +1 -0
  97. package/dist/packem_shared/data-grid-DIiNmDR9.mjs +1 -0
  98. package/dist/packem_shared/data-view-params-DhYmAkcj.mjs +1 -0
  99. package/dist/packem_shared/diagram-export-panel-D5CVNJkp.mjs +2 -0
  100. package/dist/packem_shared/dropdown-menu-jLZenfWH.mjs +2 -0
  101. package/dist/packem_shared/empty-state-D7jEML_T.mjs +1 -0
  102. package/dist/packem_shared/error-alert-DueSEkt-.mjs +1 -0
  103. package/dist/packem_shared/grid-features-OVIMIQan.mjs +6 -0
  104. package/dist/packem_shared/grid-pagination-DgzyzfBh.mjs +1 -0
  105. package/dist/packem_shared/home-panel-BcE8S2Nn.mjs +3 -0
  106. package/dist/packem_shared/input-CXhxesPC.mjs +1 -0
  107. package/dist/packem_shared/internal-Df43vQI0.mjs +2 -0
  108. package/dist/packem_shared/label-DKFzyHq6.mjs +1 -0
  109. package/dist/packem_shared/live-status-BuJdUZFU.mjs +1 -0
  110. package/dist/packem_shared/log-fields-BolUoZ9g.mjs +1 -0
  111. package/dist/packem_shared/log-line-CICyJ_kc.mjs +1 -0
  112. package/dist/packem_shared/metrics-format-1sNGG47R.mjs +1 -0
  113. package/dist/packem_shared/modal-shell-CDztwLnv.mjs +1 -0
  114. package/dist/packem_shared/operation-console-provider-DoloEvon.mjs +1 -0
  115. package/dist/packem_shared/recording-client-CyFiAE2l.mjs +1 -0
  116. package/dist/packem_shared/reference-view-CIHyURU6.mjs +13 -0
  117. package/dist/packem_shared/schema-diagram-C5oilX7l.mjs +2 -0
  118. package/dist/packem_shared/scroll-area-CXCQH7VT.mjs +2 -0
  119. package/dist/packem_shared/select-DPyS18Vy.mjs +2 -0
  120. package/dist/packem_shared/shard-history-CaO3C4KQ.mjs +1 -0
  121. package/dist/packem_shared/shortcuts-B9gDaXmw.mjs +1 -0
  122. package/dist/packem_shared/skeleton-DX1gfixl.mjs +1 -0
  123. package/dist/packem_shared/sparkline-B_sPPO_8.mjs +1 -0
  124. package/dist/packem_shared/sql-result-table-DyK762_A.mjs +1 -0
  125. package/dist/packem_shared/stat-card-BAv73QtB.mjs +1 -0
  126. package/dist/packem_shared/storage-tier-C2mKwYRj.mjs +1 -0
  127. package/dist/packem_shared/studio-fK2DTLde.mjs +2 -0
  128. package/dist/packem_shared/table-D0SBiDu-.mjs +2 -0
  129. package/dist/packem_shared/table-list-sidebar-DkPO_Qtz.mjs +1 -0
  130. package/dist/packem_shared/textarea--40GKAyz.mjs +1 -0
  131. package/dist/packem_shared/trace-handoff-BV3EWqy_.mjs +1 -0
  132. package/dist/packem_shared/use-admin-query-tlBof8Yg.mjs +1 -0
  133. package/dist/packem_shared/use-admin-spec-Bir7V68L.mjs +1 -0
  134. package/dist/packem_shared/use-async-submit-CZqCMTJ_.mjs +1 -0
  135. package/dist/packem_shared/use-auth-config-Z_n4ABCI.mjs +1 -0
  136. package/dist/packem_shared/use-mirrored-ref-CVDf2z1M.mjs +1 -0
  137. package/dist/packem_shared/use-open-trace-DMVhpnyG.mjs +1 -0
  138. package/dist/packem_shared/use-shard-key-BsP3o5wT.mjs +1 -0
  139. package/dist/packem_shared/use-sql-assistant-CZydTzd5.mjs +1 -0
  140. package/dist/packem_shared/useDebounced-DVeQ5-oW.mjs +1 -0
  141. package/dist/packem_shared/utils-bhneXptQ.mjs +1 -0
  142. package/dist/packem_shared/virtual-rect-D_j7aLxX.mjs +1 -0
  143. package/dist/standalone/chunk-24T422OY.js +1 -0
  144. package/dist/standalone/chunk-253UHWDX.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-2LJRI76T.js +1 -0
  148. package/dist/standalone/chunk-2SGUZAFC.js +1 -0
  149. package/dist/standalone/chunk-2TP3H244.js +1 -0
  150. package/dist/standalone/chunk-2VA5S3IA.js +1 -0
  151. package/dist/standalone/chunk-37WYCOQ2.js +1 -0
  152. package/dist/standalone/chunk-3M7IXVST.js +1 -0
  153. package/dist/standalone/chunk-3YXASVTP.js +1 -0
  154. package/dist/standalone/chunk-45M2SFAD.js +1 -0
  155. package/dist/standalone/chunk-4FAWIWSZ.js +1 -0
  156. package/dist/standalone/chunk-4WD4XGC3.js +1 -0
  157. package/dist/standalone/chunk-4ZEL6BYL.js +1 -0
  158. package/dist/standalone/chunk-55UGUCQ6.js +1 -0
  159. package/dist/standalone/chunk-5B2RTXBS.js +1 -0
  160. package/dist/standalone/chunk-5QR2SQIS.js +1 -0
  161. package/dist/standalone/chunk-5WGHX3BJ.js +1 -0
  162. package/dist/standalone/chunk-6HLARDYO.js +1 -0
  163. package/dist/standalone/chunk-6JBF34XO.js +1 -0
  164. package/dist/standalone/chunk-6PDZ5QSX.js +3 -0
  165. package/dist/standalone/chunk-6QTAHSDD.js +1 -0
  166. package/dist/standalone/chunk-6X76NBY7.js +2 -0
  167. package/dist/standalone/chunk-76CINMOE.js +1 -0
  168. package/dist/standalone/chunk-76GDLOCA.js +1 -0
  169. package/dist/standalone/chunk-7G4Z6Q7X.js +1 -0
  170. package/dist/standalone/chunk-7IIQBGQK.js +1 -0
  171. package/dist/standalone/chunk-7NWLYOGL.js +1 -0
  172. package/dist/standalone/chunk-7PBPAGC2.js +3 -0
  173. package/dist/standalone/chunk-7RKB5KS7.js +1 -0
  174. package/dist/standalone/chunk-7Y3SY37W.js +1 -0
  175. package/dist/standalone/chunk-APWVPIZV.js +1 -0
  176. package/dist/standalone/chunk-AUAECCXB.js +1 -0
  177. package/dist/standalone/{chunk-BJGBHGK3.js → chunk-AUGKHAMQ.js} +1 -1
  178. package/dist/standalone/chunk-AZHAXSRA.js +1 -0
  179. package/dist/standalone/chunk-B6WI7CHG.js +1 -0
  180. package/dist/standalone/chunk-BOMPSVRC.js +1 -0
  181. package/dist/standalone/chunk-BXUP4USX.js +1 -0
  182. package/dist/standalone/chunk-CCDX5RYT.js +1 -0
  183. package/dist/standalone/chunk-CG2BXM3M.js +1 -0
  184. package/dist/standalone/chunk-CGQMJYCW.js +1 -0
  185. package/dist/standalone/chunk-CVXNHIQW.js +1 -0
  186. package/dist/standalone/chunk-CZBYO7MB.js +1 -0
  187. package/dist/standalone/chunk-D2MWAZIR.js +1 -0
  188. package/dist/standalone/chunk-D4KVIMPR.js +4 -0
  189. package/dist/standalone/chunk-DRFPILA5.js +1 -0
  190. package/dist/standalone/chunk-E3LQQON3.js +1 -0
  191. package/dist/standalone/chunk-E4PXACVL.js +3 -0
  192. package/dist/standalone/chunk-ECY2JC5F.js +1 -0
  193. package/dist/standalone/chunk-F4CHPK5T.js +1 -0
  194. package/dist/standalone/chunk-F7CMFUN5.js +1 -0
  195. package/dist/standalone/chunk-FPI7AMQJ.js +1 -0
  196. package/dist/standalone/chunk-FSHFJSTY.js +1 -0
  197. package/dist/standalone/chunk-FUYEZFBP.js +1 -0
  198. package/dist/standalone/chunk-G6EOMCDE.js +9 -0
  199. package/dist/standalone/chunk-G74GIEU4.js +1 -0
  200. package/dist/standalone/chunk-GHQ2VDI2.js +1 -0
  201. package/dist/standalone/chunk-HCTJKP5J.js +1 -0
  202. package/dist/standalone/chunk-HJHSQPHW.js +19 -0
  203. package/dist/standalone/chunk-HLFK7BP6.js +1 -0
  204. package/dist/standalone/chunk-HV77I2E5.js +1 -0
  205. package/dist/standalone/chunk-HX5A6HC7.js +1 -0
  206. package/dist/standalone/chunk-I26MS5PJ.js +1 -0
  207. package/dist/standalone/chunk-IWZ7GVQO.js +1 -0
  208. package/dist/standalone/chunk-J6GRPDN3.js +1 -0
  209. package/dist/standalone/chunk-JQXA2OYK.js +1 -0
  210. package/dist/standalone/chunk-JVZG34HR.js +1 -0
  211. package/dist/standalone/chunk-JZGTSH2C.js +4 -0
  212. package/dist/standalone/chunk-K76MCCBF.js +1 -0
  213. package/dist/standalone/chunk-KNVOVRC7.js +1 -0
  214. package/dist/standalone/chunk-KQSQVNVI.js +1 -0
  215. package/dist/standalone/chunk-L7XFE7ZQ.js +15 -0
  216. package/dist/standalone/chunk-MGVUIQTE.js +5 -0
  217. package/dist/standalone/chunk-MK7SA3YV.js +8 -0
  218. package/dist/standalone/chunk-MVWZMWPD.js +1 -0
  219. package/dist/standalone/chunk-N62W6SXC.js +1 -0
  220. package/dist/standalone/chunk-N7ZLG6XW.js +1 -0
  221. package/dist/standalone/chunk-NCPW7WHO.js +1 -0
  222. package/dist/standalone/chunk-NDTQTKDX.js +6 -0
  223. package/dist/standalone/chunk-NGVP66OH.js +1 -0
  224. package/dist/standalone/chunk-NNYTSWRW.js +1 -0
  225. package/dist/standalone/chunk-NQZALRU3.js +1 -0
  226. package/dist/standalone/chunk-NRP22GKC.js +1 -0
  227. package/dist/standalone/chunk-NXQW5E6W.js +1 -0
  228. package/dist/standalone/chunk-OPM7ESDV.js +1 -0
  229. package/dist/standalone/chunk-OQ6I6OXT.js +2 -0
  230. package/dist/standalone/chunk-OSGXNEFA.js +1 -0
  231. package/dist/standalone/chunk-OYCUPD3Q.js +1 -0
  232. package/dist/standalone/chunk-PD2VK52L.js +1 -0
  233. package/dist/standalone/chunk-PIMTWCRD.js +1 -0
  234. package/dist/standalone/chunk-PSPU5HSH.js +1 -0
  235. package/dist/standalone/chunk-Q6ED4KUL.js +1 -0
  236. package/dist/standalone/chunk-Q6IT6ZD7.js +1 -0
  237. package/dist/standalone/chunk-QAQDMS6R.js +1 -0
  238. package/dist/standalone/chunk-QJLHH3ET.js +1 -0
  239. package/dist/standalone/chunk-R6U22RSY.js +1 -0
  240. package/dist/standalone/chunk-RGMVGZV4.js +1 -0
  241. package/dist/standalone/chunk-RJWFF2KE.js +1 -0
  242. package/dist/standalone/chunk-RWVIV3U7.js +1 -0
  243. package/dist/standalone/chunk-RZ6QAA2I.js +1 -0
  244. package/dist/standalone/chunk-S4Z7K55A.js +1 -0
  245. package/dist/standalone/chunk-SA2OGF3F.js +1 -0
  246. package/dist/standalone/chunk-SJQERRSZ.js +1 -0
  247. package/dist/standalone/chunk-SV764LKQ.js +1 -0
  248. package/dist/standalone/chunk-TVUR3FJ4.js +1 -0
  249. package/dist/standalone/chunk-U5ESUXRC.js +1 -0
  250. package/dist/standalone/chunk-UC7MNI2F.js +1 -0
  251. package/dist/standalone/chunk-UD4LDX2S.js +1 -0
  252. package/dist/standalone/chunk-UX6CSZ3D.js +1 -0
  253. package/dist/standalone/chunk-UYEZR3BI.js +1 -0
  254. package/dist/standalone/chunk-V3A4MT5T.js +1 -0
  255. package/dist/standalone/chunk-VCFEO3RI.js +1 -0
  256. package/dist/standalone/chunk-VESGIGMQ.js +1 -0
  257. package/dist/standalone/chunk-VNLBEXJH.js +1 -0
  258. package/dist/standalone/chunk-VOL6MWI6.js +1 -0
  259. package/dist/standalone/chunk-WIASRPIC.js +59 -0
  260. package/dist/standalone/chunk-WJRYEML4.js +1 -0
  261. package/dist/standalone/chunk-WZ44V6FP.js +1 -0
  262. package/dist/standalone/chunk-XGCIDUJF.js +1 -0
  263. package/dist/standalone/chunk-XHRKNCCI.js +1 -0
  264. package/dist/standalone/chunk-XIAH5TMC.js +1 -0
  265. package/dist/standalone/chunk-XILJ2PEQ.js +1 -0
  266. package/dist/standalone/chunk-XNN6PY57.js +14 -0
  267. package/dist/standalone/chunk-Y3AYVFTK.js +1 -0
  268. package/dist/standalone/chunk-YEB2U5KT.js +1 -0
  269. package/dist/standalone/chunk-YLPATGWK.js +15 -0
  270. package/dist/standalone/chunk-YQL6PSXT.js +1 -0
  271. package/dist/standalone/chunk-YRYRCORI.js +1 -0
  272. package/dist/standalone/chunk-YVR4SEPU.js +1 -0
  273. package/dist/standalone/chunk-YZPYGQZ5.js +1 -0
  274. package/dist/standalone/chunk-Z22BDS6N.js +1 -0
  275. package/dist/standalone/chunk-ZKJS6EBE.js +1 -0
  276. package/dist/standalone/studio.js +9 -214
  277. package/dist/styles.css +2 -2
  278. package/package.json +26 -21
  279. package/dist/index.js +0 -41
  280. package/dist/mount.js +0 -26
  281. package/dist/packem_chunks/ApiTab.js +0 -251
  282. package/dist/packem_chunks/AuditPanel.js +0 -200
  283. package/dist/packem_chunks/ExportImportPanel.js +0 -197
  284. package/dist/packem_chunks/FileBrowser.js +0 -2932
  285. package/dist/packem_chunks/FunctionRunner.js +0 -343
  286. package/dist/packem_chunks/FunctionStatsPanel.js +0 -375
  287. package/dist/packem_chunks/HealthPanel.js +0 -648
  288. package/dist/packem_chunks/InsightsPanel.js +0 -461
  289. package/dist/packem_chunks/LogsPanel.js +0 -827
  290. package/dist/packem_chunks/MailPanel.js +0 -440
  291. package/dist/packem_chunks/MetricsPanel.js +0 -1344
  292. package/dist/packem_chunks/MigrationsPanel.js +0 -239
  293. package/dist/packem_chunks/PitrPanel.js +0 -252
  294. package/dist/packem_chunks/SchemaViewer.js +0 -2512
  295. package/dist/packem_chunks/SecurityAdvisorPanel.js +0 -92
  296. package/dist/packem_chunks/SettingsPanel.js +0 -390
  297. package/dist/packem_chunks/SqlEditorPanel.js +0 -2322
  298. package/dist/packem_chunks/TableEditor.js +0 -313
  299. package/dist/packem_chunks/analytics-panel.js +0 -261
  300. package/dist/packem_chunks/auth-config-panel.js +0 -179
  301. package/dist/packem_chunks/auth-sessions-panel.js +0 -175
  302. package/dist/packem_chunks/dashboards-panel.js +0 -779
  303. package/dist/packem_chunks/fanout-panel.js +0 -481
  304. package/dist/packem_chunks/flags-panel.js +0 -176
  305. package/dist/packem_chunks/kv-browser.js +0 -1896
  306. package/dist/packem_chunks/log-drains-panel.js +0 -273
  307. package/dist/packem_chunks/organizations-panel.js +0 -670
  308. package/dist/packem_chunks/payments-panel.js +0 -185
  309. package/dist/packem_chunks/permissions-panel.js +0 -804
  310. package/dist/packem_chunks/queues-panel.js +0 -147
  311. package/dist/packem_chunks/rls-panel.js +0 -313
  312. package/dist/packem_chunks/schedule-panel.js +0 -831
  313. package/dist/packem_chunks/sparkline.js +0 -79
  314. package/dist/packem_chunks/storage-rules-panel.js +0 -138
  315. package/dist/packem_chunks/subscriptions-panel.js +0 -236
  316. package/dist/packem_chunks/users-panel.js +0 -1265
  317. package/dist/packem_chunks/vector-browser.js +0 -281
  318. package/dist/packem_chunks/workflows-panel.js +0 -562
  319. package/dist/packem_shared/ADMIN_FUNCTIONS-CdaxLGkE.js +0 -48
  320. package/dist/packem_shared/ApiDocsPanel-B6u_wnz-.js +0 -842
  321. package/dist/packem_shared/ApiReferencePanel-Drz4UO0a.js +0 -230
  322. package/dist/packem_shared/CommandPalette-B5BertvU.js +0 -373
  323. package/dist/packem_shared/ConfirmButton-C2eVi2Qv.js +0 -59
  324. package/dist/packem_shared/ConnectionBadge-B2DDM2Tn.js +0 -111
  325. package/dist/packem_shared/DEFAULT_AUTO_REFRESH_MS-Vxwaxx51.js +0 -50
  326. package/dist/packem_shared/DEFAULT_INSIGHT_THRESHOLDS-DjF0h-gA.js +0 -89
  327. package/dist/packem_shared/DEFAULT_LOCALE-CiX4W7Kr.js +0 -27
  328. package/dist/packem_shared/DataBrowser-ANTHLWWh.js +0 -4493
  329. package/dist/packem_shared/DataFilters-FNquMaiu.js +0 -249
  330. package/dist/packem_shared/ErrorBoundary-BzAApI7J.js +0 -66
  331. package/dist/packem_shared/GlobalDataBrowser-CjgTG_wa.js +0 -289
  332. package/dist/packem_shared/HomePanel-c2FodE9t.js +0 -14
  333. package/dist/packem_shared/OpenRpcReferencePanel-CspFdbUT.js +0 -192
  334. package/dist/packem_shared/STUDIO_ROOT_CLASS-D12gX2dV.js +0 -3
  335. package/dist/packem_shared/ScheduledJobs-BEJXtsBn.js +0 -262
  336. package/dist/packem_shared/ShardInput-gx_DZXXn.js +0 -107
  337. package/dist/packem_shared/Studio-CVTtA_sB.js +0 -16
  338. package/dist/packem_shared/StudioApp-BSYV2fz6.js +0 -657
  339. package/dist/packem_shared/StudioI18nProvider-B-tDCZIi.js +0 -48
  340. package/dist/packem_shared/advisor-view-DzqyvUU3.js +0 -159
  341. package/dist/packem_shared/aggregateMetrics-D4nUHEKU.js +0 -108
  342. package/dist/packem_shared/app.d-B6MyY_al.d.ts +0 -300
  343. package/dist/packem_shared/badge-B2PKA1-5.js +0 -49
  344. package/dist/packem_shared/bar-chart-Bb__F5-u.js +0 -3245
  345. package/dist/packem_shared/browser-storage-d03UsV7v.js +0 -249
  346. package/dist/packem_shared/button-BhsN2uZH.js +0 -49
  347. package/dist/packem_shared/card-DURq3ElK.js +0 -175
  348. package/dist/packem_shared/cf-links-BZfRdxSE.js +0 -8
  349. package/dist/packem_shared/checkbox-UNkzAxl-.js +0 -63
  350. package/dist/packem_shared/data-grid-Dsg6nRjo.js +0 -183
  351. package/dist/packem_shared/data-view-params-Cd6yRVbv.js +0 -96
  352. package/dist/packem_shared/dropdown-menu-WY4B_eJO.js +0 -280
  353. package/dist/packem_shared/empty-state-DY_oe0k6.js +0 -98
  354. package/dist/packem_shared/grid-features-D7nNzBYm.js +0 -745
  355. package/dist/packem_shared/home-panel-aOR_drVv.js +0 -1637
  356. package/dist/packem_shared/input-XH4r1Pt1.js +0 -53
  357. package/dist/packem_shared/internal-FcNZ3beb.js +0 -68
  358. package/dist/packem_shared/label-D8ykjn5J.js +0 -46
  359. package/dist/packem_shared/live-status-FZ0psC1z.js +0 -44
  360. package/dist/packem_shared/modal-shell-hyaJvIJ6.js +0 -100
  361. package/dist/packem_shared/reference-view-Doy1XlQq.js +0 -2140
  362. package/dist/packem_shared/select-UkNYCT3s.js +0 -273
  363. package/dist/packem_shared/shard-history-DyebH1R5.js +0 -38
  364. package/dist/packem_shared/skeleton-CGhL0p20.js +0 -45
  365. package/dist/packem_shared/sparkline-KgMPHS4u.js +0 -93
  366. package/dist/packem_shared/storage-tier-CL98eOvn.js +0 -85
  367. package/dist/packem_shared/studio-dMTJ-kRR.js +0 -3987
  368. package/dist/packem_shared/table-DsCa9Qp9.js +0 -246
  369. package/dist/packem_shared/table-list-sidebar-VMo0ftxD.js +0 -832
  370. package/dist/packem_shared/textarea-D3gaCU_-.js +0 -46
  371. package/dist/packem_shared/use-admin-query-BViPA3US.js +0 -105
  372. package/dist/packem_shared/use-auth-capabilities-BHkoBnbZ.js +0 -32
  373. package/dist/packem_shared/useDebounced-Dxncpg6z.js +0 -32
  374. package/dist/packem_shared/utils-B05Dmz_H.js +0 -8
  375. package/dist/packem_shared/virtual-rect-CVMUskSm.js +0 -10
  376. package/dist/standalone/chunk-2DS7JLWL.js +0 -13
  377. package/dist/standalone/chunk-2K47A3P6.js +0 -1
  378. package/dist/standalone/chunk-2NGUNNGW.js +0 -1
  379. package/dist/standalone/chunk-2PDQ4KZ6.js +0 -1
  380. package/dist/standalone/chunk-3BP4BTLR.js +0 -4
  381. package/dist/standalone/chunk-3OA7PECS.js +0 -6
  382. package/dist/standalone/chunk-4QHKBC77.js +0 -1
  383. package/dist/standalone/chunk-57LYXHXH.js +0 -1
  384. package/dist/standalone/chunk-5NSZVXCS.js +0 -1
  385. package/dist/standalone/chunk-5OIBXYZM.js +0 -1
  386. package/dist/standalone/chunk-63XKJQTQ.js +0 -1
  387. package/dist/standalone/chunk-6RC6L33K.js +0 -4
  388. package/dist/standalone/chunk-6VTGE3WJ.js +0 -1
  389. package/dist/standalone/chunk-7PBZKXYA.js +0 -1
  390. package/dist/standalone/chunk-7POIIWC5.js +0 -3
  391. package/dist/standalone/chunk-7RYIQKZA.js +0 -1
  392. package/dist/standalone/chunk-7TJJXVSE.js +0 -1
  393. package/dist/standalone/chunk-AB6QGMBF.js +0 -1
  394. package/dist/standalone/chunk-AHILM3ZP.js +0 -1
  395. package/dist/standalone/chunk-AQGOX5DK.js +0 -1
  396. package/dist/standalone/chunk-ASLGNHAX.js +0 -1
  397. package/dist/standalone/chunk-BHTPZS7L.js +0 -4
  398. package/dist/standalone/chunk-D7HKX4DI.js +0 -1
  399. package/dist/standalone/chunk-DGWTR4G7.js +0 -1
  400. package/dist/standalone/chunk-DSX53PBM.js +0 -1
  401. package/dist/standalone/chunk-DV2MNASX.js +0 -1
  402. package/dist/standalone/chunk-DWDILV2E.js +0 -1
  403. package/dist/standalone/chunk-E7AVZZKO.js +0 -1
  404. package/dist/standalone/chunk-EGJX34WM.js +0 -1
  405. package/dist/standalone/chunk-FCR3HKFV.js +0 -1
  406. package/dist/standalone/chunk-FKO3HO6I.js +0 -4
  407. package/dist/standalone/chunk-FQKNJSRA.js +0 -76
  408. package/dist/standalone/chunk-G2TFEWEQ.js +0 -4
  409. package/dist/standalone/chunk-GABMIICA.js +0 -1
  410. package/dist/standalone/chunk-GTM65MVX.js +0 -1
  411. package/dist/standalone/chunk-GZXPPJVK.js +0 -1
  412. package/dist/standalone/chunk-HFBRE65A.js +0 -1
  413. package/dist/standalone/chunk-HFMQNUBC.js +0 -1
  414. package/dist/standalone/chunk-HG7Q5B3H.js +0 -1
  415. package/dist/standalone/chunk-HTQL7AXU.js +0 -1
  416. package/dist/standalone/chunk-HV7G6DFP.js +0 -5
  417. package/dist/standalone/chunk-ITLLHEVG.js +0 -1
  418. package/dist/standalone/chunk-J6J54MBP.js +0 -1
  419. package/dist/standalone/chunk-JSEXCW5Q.js +0 -1
  420. package/dist/standalone/chunk-KEGAWN6Y.js +0 -1
  421. package/dist/standalone/chunk-KG3QTFWE.js +0 -1
  422. package/dist/standalone/chunk-KGS7KM4A.js +0 -2
  423. package/dist/standalone/chunk-KODWGUAB.js +0 -1
  424. package/dist/standalone/chunk-KZ6INM5M.js +0 -1
  425. package/dist/standalone/chunk-MGFEVTRI.js +0 -1
  426. package/dist/standalone/chunk-N2QDG3MW.js +0 -1
  427. package/dist/standalone/chunk-N4JI6VQD.js +0 -1
  428. package/dist/standalone/chunk-NNISYDNI.js +0 -1
  429. package/dist/standalone/chunk-O4PXDNR3.js +0 -1
  430. package/dist/standalone/chunk-O77VNUFD.js +0 -1
  431. package/dist/standalone/chunk-OD2POGPJ.js +0 -1
  432. package/dist/standalone/chunk-OXCK3ZUG.js +0 -1
  433. package/dist/standalone/chunk-P7DSVO4U.js +0 -1
  434. package/dist/standalone/chunk-PKAM3N5C.js +0 -1
  435. package/dist/standalone/chunk-QGXGBHQO.js +0 -1
  436. package/dist/standalone/chunk-QHA3TAEJ.js +0 -1
  437. package/dist/standalone/chunk-QQWC62X7.js +0 -1
  438. package/dist/standalone/chunk-RMYA7NAH.js +0 -1
  439. package/dist/standalone/chunk-RRCPZMC2.js +0 -22
  440. package/dist/standalone/chunk-S53RUBW5.js +0 -1
  441. package/dist/standalone/chunk-SB4GT6PK.js +0 -1
  442. package/dist/standalone/chunk-SEU5V7I6.js +0 -1
  443. package/dist/standalone/chunk-SHIOUDOT.js +0 -1
  444. package/dist/standalone/chunk-SIDRSX7Y.js +0 -1
  445. package/dist/standalone/chunk-SVR644RF.js +0 -1
  446. package/dist/standalone/chunk-TAD43CG5.js +0 -1
  447. package/dist/standalone/chunk-TBMYIZIO.js +0 -1
  448. package/dist/standalone/chunk-TICVNLPM.js +0 -1
  449. package/dist/standalone/chunk-TQ36RWOP.js +0 -1
  450. package/dist/standalone/chunk-UGMRUEBU.js +0 -1
  451. package/dist/standalone/chunk-UII66UVF.js +0 -1
  452. package/dist/standalone/chunk-VJPQUBN6.js +0 -8
  453. package/dist/standalone/chunk-VLXV72QE.js +0 -1
  454. package/dist/standalone/chunk-VMJKJWG6.js +0 -1
  455. package/dist/standalone/chunk-VPDPN5RR.js +0 -2
  456. package/dist/standalone/chunk-VSEGZA3J.js +0 -1
  457. package/dist/standalone/chunk-VXBZQIGY.js +0 -4
  458. package/dist/standalone/chunk-W7PCVQTE.js +0 -1
  459. package/dist/standalone/chunk-XLILSHPE.js +0 -1
  460. package/dist/standalone/chunk-XURNGQSS.js +0 -1
  461. package/dist/standalone/chunk-YJGANMU7.js +0 -18
  462. package/dist/standalone/chunk-YQQJ4N6U.js +0 -1
  463. package/dist/standalone/chunk-ZH7UES4T.js +0 -2
  464. package/dist/standalone/chunk-ZPUO7FNI.js +0 -1
  465. package/dist/standalone/chunk-ZQCVDXDL.js +0 -1
@@ -1,827 +0,0 @@
1
- import { c } from 'react/compiler-runtime';
2
- import { useVirtualizer } from '@tanstack/react-virtual';
3
- import { useState, useEffect, useMemo, useRef } from 'react';
4
- import { L as LiveError } from '../packem_shared/live-status-FZ0psC1z.js';
5
- import { ShardInput } from '../packem_shared/ShardInput-gx_DZXXn.js';
6
- import { B as Badge } from '../packem_shared/badge-B2PKA1-5.js';
7
- import { E as EmptyState } from '../packem_shared/empty-state-DY_oe0k6.js';
8
- import { I as Input } from '../packem_shared/input-XH4r1Pt1.js';
9
- import { u as useAdminQuery } from '../packem_shared/use-admin-query-BViPA3US.js';
10
- import useDebounced from '../packem_shared/useDebounced-Dxncpg6z.js';
11
- import { useT } from '../packem_shared/DEFAULT_LOCALE-CiX4W7Kr.js';
12
- import { ADMIN_FUNCTIONS } from '../packem_shared/ADMIN_FUNCTIONS-CdaxLGkE.js';
13
- import { a as CLOUDFLARE_OBSERVABILITY_URL } from '../packem_shared/cf-links-BZfRdxSE.js';
14
- import { r as recordShard } from '../packem_shared/shard-history-DyebH1R5.js';
15
- import { c as cn } from '../packem_shared/utils-B05Dmz_H.js';
16
- import { f as flooredRectObserver } from '../packem_shared/virtual-rect-CVMUskSm.js';
17
- import { jsxDEV } from 'react/jsx-dev-runtime';
18
-
19
- const SCROLL_HEIGHT = 400;
20
- const ROW_HEIGHT = 36;
21
- const SCROLL_STYLE = {
22
- height: SCROLL_HEIGHT,
23
- overflow: "auto"
24
- };
25
- const ROW_BASE_STYLE = {
26
- left: 0,
27
- position: "absolute",
28
- top: 0,
29
- width: "100%"
30
- };
31
- const LEVEL_VARIANT = {
32
- debug: "secondary",
33
- error: "destructive",
34
- info: "outline",
35
- warn: "secondary"
36
- };
37
- const OUTCOME_VARIANT = {
38
- error: "destructive",
39
- ok: "secondary"
40
- };
41
- const LogRow = (t0) => {
42
- const $ = c(21);
43
- const {
44
- entry,
45
- index,
46
- measureRef,
47
- start
48
- } = t0;
49
- const t1 = `translateY(${String(start)}px)`;
50
- let t2;
51
- if ($[0] !== t1) {
52
- t2 = {
53
- ...ROW_BASE_STYLE,
54
- transform: t1
55
- };
56
- $[0] = t1;
57
- $[1] = t2;
58
- } else {
59
- t2 = $[1];
60
- }
61
- const style = t2;
62
- let t3;
63
- if ($[2] !== entry.timestamp) {
64
- t3 = new Date(entry.timestamp).toLocaleString();
65
- $[2] = entry.timestamp;
66
- $[3] = t3;
67
- } else {
68
- t3 = $[3];
69
- }
70
- let t4;
71
- if ($[4] !== t3) {
72
- t4 = /* @__PURE__ */ jsxDEV("span", {
73
- className: "w-44 shrink-0 tabular-nums text-muted-foreground",
74
- role: "gridcell",
75
- children: t3
76
- }, void 0, false);
77
- $[4] = t3;
78
- $[5] = t4;
79
- } else {
80
- t4 = $[5];
81
- }
82
- const t5 = LEVEL_VARIANT[entry.level];
83
- let t6;
84
- if ($[6] !== entry.level || $[7] !== t5) {
85
- t6 = /* @__PURE__ */ jsxDEV("span", {
86
- className: "w-20 shrink-0",
87
- role: "gridcell",
88
- children: /* @__PURE__ */ jsxDEV(Badge, {
89
- variant: t5,
90
- children: entry.level
91
- }, void 0, false)
92
- }, void 0, false);
93
- $[6] = entry.level;
94
- $[7] = t5;
95
- $[8] = t6;
96
- } else {
97
- t6 = $[8];
98
- }
99
- const t7 = entry.functionPath ?? "—";
100
- let t8;
101
- if ($[9] !== t7) {
102
- t8 = /* @__PURE__ */ jsxDEV("span", {
103
- className: "w-48 shrink-0 truncate text-muted-foreground",
104
- role: "gridcell",
105
- children: t7
106
- }, void 0, false);
107
- $[9] = t7;
108
- $[10] = t8;
109
- } else {
110
- t8 = $[10];
111
- }
112
- let t9;
113
- if ($[11] !== entry.message) {
114
- t9 = /* @__PURE__ */ jsxDEV("span", {
115
- className: "flex-1 truncate",
116
- role: "gridcell",
117
- children: entry.message
118
- }, void 0, false);
119
- $[11] = entry.message;
120
- $[12] = t9;
121
- } else {
122
- t9 = $[12];
123
- }
124
- let t10;
125
- if ($[13] !== index || $[14] !== measureRef || $[15] !== style || $[16] !== t4 || $[17] !== t6 || $[18] !== t8 || $[19] !== t9) {
126
- t10 = /* @__PURE__ */ jsxDEV("div", {
127
- className: "flex items-center border-b border-border px-3 py-1.5 font-mono text-xs hover:bg-muted/50",
128
- "data-index": index,
129
- "data-testid": "lg-row",
130
- ref: measureRef,
131
- role: "row",
132
- style,
133
- children: [t4, t6, t8, t9]
134
- }, void 0, true);
135
- $[13] = index;
136
- $[14] = measureRef;
137
- $[15] = style;
138
- $[16] = t4;
139
- $[17] = t6;
140
- $[18] = t8;
141
- $[19] = t9;
142
- $[20] = t10;
143
- } else {
144
- t10 = $[20];
145
- }
146
- return t10;
147
- };
148
- const tablesLabel = (tables) => tables.length === 0 ? "—" : tables.join(", ");
149
- const RequestRow = (t0) => {
150
- const $ = c(37);
151
- const {
152
- entry,
153
- index,
154
- measureRef,
155
- start
156
- } = t0;
157
- const t1 = `translateY(${String(start)}px)`;
158
- let t2;
159
- if ($[0] !== t1) {
160
- t2 = {
161
- ...ROW_BASE_STYLE,
162
- transform: t1
163
- };
164
- $[0] = t1;
165
- $[1] = t2;
166
- } else {
167
- t2 = $[1];
168
- }
169
- const style = t2;
170
- let t3;
171
- if ($[2] !== entry.ts) {
172
- t3 = new Date(entry.ts).toLocaleString();
173
- $[2] = entry.ts;
174
- $[3] = t3;
175
- } else {
176
- t3 = $[3];
177
- }
178
- let t4;
179
- if ($[4] !== t3) {
180
- t4 = /* @__PURE__ */ jsxDEV("span", {
181
- className: "w-40 shrink-0 tabular-nums text-muted-foreground",
182
- role: "gridcell",
183
- children: t3
184
- }, void 0, false);
185
- $[4] = t3;
186
- $[5] = t4;
187
- } else {
188
- t4 = $[5];
189
- }
190
- const t5 = OUTCOME_VARIANT[entry.outcome];
191
- let t6;
192
- if ($[6] !== entry.outcome || $[7] !== t5) {
193
- t6 = /* @__PURE__ */ jsxDEV("span", {
194
- className: "w-16 shrink-0",
195
- role: "gridcell",
196
- children: /* @__PURE__ */ jsxDEV(Badge, {
197
- variant: t5,
198
- children: entry.outcome
199
- }, void 0, false)
200
- }, void 0, false);
201
- $[6] = entry.outcome;
202
- $[7] = t5;
203
- $[8] = t6;
204
- } else {
205
- t6 = $[8];
206
- }
207
- let t7;
208
- if ($[9] !== entry.functionPath) {
209
- t7 = /* @__PURE__ */ jsxDEV("span", {
210
- className: "w-44 shrink-0 truncate",
211
- role: "gridcell",
212
- title: entry.functionPath,
213
- children: entry.functionPath
214
- }, void 0, false);
215
- $[9] = entry.functionPath;
216
- $[10] = t7;
217
- } else {
218
- t7 = $[10];
219
- }
220
- const t8 = entry.shardKey ?? "—";
221
- let t9;
222
- if ($[11] !== t8) {
223
- t9 = /* @__PURE__ */ jsxDEV("span", {
224
- className: "w-24 shrink-0 truncate text-muted-foreground",
225
- role: "gridcell",
226
- children: t8
227
- }, void 0, false);
228
- $[11] = t8;
229
- $[12] = t9;
230
- } else {
231
- t9 = $[12];
232
- }
233
- const t10 = entry.userId ?? "—";
234
- let t11;
235
- if ($[13] !== t10) {
236
- t11 = /* @__PURE__ */ jsxDEV("span", {
237
- className: "w-24 shrink-0 truncate text-muted-foreground",
238
- role: "gridcell",
239
- children: t10
240
- }, void 0, false);
241
- $[13] = t10;
242
- $[14] = t11;
243
- } else {
244
- t11 = $[14];
245
- }
246
- let t12;
247
- if ($[15] !== entry.durationMs) {
248
- t12 = Math.round(entry.durationMs);
249
- $[15] = entry.durationMs;
250
- $[16] = t12;
251
- } else {
252
- t12 = $[16];
253
- }
254
- const t13 = `${String(t12)}ms`;
255
- let t14;
256
- if ($[17] !== t13) {
257
- t14 = /* @__PURE__ */ jsxDEV("span", {
258
- className: "w-16 shrink-0 tabular-nums text-muted-foreground",
259
- role: "gridcell",
260
- children: t13
261
- }, void 0, false);
262
- $[17] = t13;
263
- $[18] = t14;
264
- } else {
265
- t14 = $[18];
266
- }
267
- let t15;
268
- if ($[19] !== entry.errorMessage || $[20] !== entry.outcome || $[21] !== entry.tablesRead || $[22] !== entry.tablesWritten) {
269
- t15 = entry.outcome === "error" && entry.errorMessage !== void 0 ? entry.errorMessage : `r:${tablesLabel(entry.tablesRead)} · w:${tablesLabel(entry.tablesWritten)}`;
270
- $[19] = entry.errorMessage;
271
- $[20] = entry.outcome;
272
- $[21] = entry.tablesRead;
273
- $[22] = entry.tablesWritten;
274
- $[23] = t15;
275
- } else {
276
- t15 = $[23];
277
- }
278
- let t16;
279
- if ($[24] !== t15) {
280
- t16 = /* @__PURE__ */ jsxDEV("span", {
281
- className: "flex-1 truncate text-muted-foreground",
282
- role: "gridcell",
283
- children: t15
284
- }, void 0, false);
285
- $[24] = t15;
286
- $[25] = t16;
287
- } else {
288
- t16 = $[25];
289
- }
290
- let t17;
291
- if ($[26] !== index || $[27] !== measureRef || $[28] !== style || $[29] !== t11 || $[30] !== t14 || $[31] !== t16 || $[32] !== t4 || $[33] !== t6 || $[34] !== t7 || $[35] !== t9) {
292
- t17 = /* @__PURE__ */ jsxDEV("div", {
293
- className: "flex items-center border-b border-border px-3 py-1.5 font-mono text-xs hover:bg-muted/50",
294
- "data-index": index,
295
- "data-testid": "lg-req-row",
296
- ref: measureRef,
297
- role: "row",
298
- style,
299
- children: [t4, t6, t7, t9, t11, t14, t16]
300
- }, void 0, true);
301
- $[26] = index;
302
- $[27] = measureRef;
303
- $[28] = style;
304
- $[29] = t11;
305
- $[30] = t14;
306
- $[31] = t16;
307
- $[32] = t4;
308
- $[33] = t6;
309
- $[34] = t7;
310
- $[35] = t9;
311
- $[36] = t17;
312
- } else {
313
- t17 = $[36];
314
- }
315
- return t17;
316
- };
317
- const entriesOf = (result) => {
318
- const {
319
- entries
320
- } = result ?? {};
321
- return Array.isArray(entries) ? entries : [];
322
- };
323
- const buildRequestQuery = (filters) => {
324
- const query = {};
325
- if (filters.functionPathPrefix.trim() !== "") {
326
- query.functionPathPrefix = filters.functionPathPrefix.trim();
327
- }
328
- if (filters.userId.trim() !== "") {
329
- query.userId = filters.userId.trim();
330
- }
331
- if (filters.tableTouched.trim() !== "") {
332
- query.tableTouched = filters.tableTouched.trim();
333
- }
334
- if (filters.outcome === "ok" || filters.outcome === "error") {
335
- query.outcome = filters.outcome;
336
- }
337
- return query;
338
- };
339
- const LOG_LEVELS = ["debug", "info", "warn", "error"];
340
- const TIME_RANGE_MS = {
341
- "5m": 5 * 60 * 1e3,
342
- "15m": 15 * 60 * 1e3,
343
- "1h": 60 * 60 * 1e3
344
- };
345
- const filterLogs = (entries, criteria) => {
346
- const needle = criteria.search.trim().toLowerCase();
347
- const pathNeedle = criteria.path.trim().toLowerCase();
348
- const floor = criteria.range === "all" ? Number.NEGATIVE_INFINITY : criteria.now - TIME_RANGE_MS[criteria.range];
349
- return entries.filter((entry) => {
350
- if (criteria.levels.size > 0 && !criteria.levels.has(entry.level)) {
351
- return false;
352
- }
353
- if (entry.timestamp < floor) {
354
- return false;
355
- }
356
- if (pathNeedle !== "" && !(entry.functionPath ?? "").toLowerCase().includes(pathNeedle)) {
357
- return false;
358
- }
359
- return needle === "" || entry.message.toLowerCase().includes(needle);
360
- });
361
- };
362
- const NO_PATH_KEY = "—";
363
- const summarizeLogs = (entries) => {
364
- const levelCounts = /* @__PURE__ */ new Map();
365
- const pathCounts = /* @__PURE__ */ new Map();
366
- for (const entry of entries) {
367
- levelCounts.set(entry.level, (levelCounts.get(entry.level) ?? 0) + 1);
368
- const pathKey = entry.functionPath ?? NO_PATH_KEY;
369
- pathCounts.set(pathKey, (pathCounts.get(pathKey) ?? 0) + 1);
370
- }
371
- const byLevel = LOG_LEVELS.filter((level) => levelCounts.has(level)).map((level) => {
372
- return {
373
- count: levelCounts.get(level) ?? 0,
374
- key: level
375
- };
376
- });
377
- const byPath = [...pathCounts.entries()].map(([key, count]) => {
378
- return {
379
- count,
380
- key
381
- };
382
- }).toSorted((a, b) => b.count === a.count ? a.key.localeCompare(b.key) : b.count - a.count);
383
- return {
384
- byLevel,
385
- byPath,
386
- total: entries.length
387
- };
388
- };
389
- const LevelToggle = (t0) => {
390
- const $ = c(11);
391
- const {
392
- level,
393
- onToggle,
394
- selected
395
- } = t0;
396
- let t1;
397
- if ($[0] !== level || $[1] !== onToggle) {
398
- t1 = () => {
399
- onToggle(level);
400
- };
401
- $[0] = level;
402
- $[1] = onToggle;
403
- $[2] = t1;
404
- } else {
405
- t1 = $[2];
406
- }
407
- const onClick = t1;
408
- const t2 = selected ? "border-border bg-muted font-medium" : "border-input text-muted-foreground";
409
- let t3;
410
- if ($[3] !== t2) {
411
- t3 = cn("rounded-md border px-2 py-1 text-xs", t2);
412
- $[3] = t2;
413
- $[4] = t3;
414
- } else {
415
- t3 = $[4];
416
- }
417
- const t4 = `logs-level-${level}`;
418
- let t5;
419
- if ($[5] !== level || $[6] !== onClick || $[7] !== selected || $[8] !== t3 || $[9] !== t4) {
420
- t5 = /* @__PURE__ */ jsxDEV("button", {
421
- "aria-pressed": selected,
422
- className: t3,
423
- "data-testid": t4,
424
- onClick,
425
- type: "button",
426
- children: level
427
- }, void 0, false);
428
- $[5] = level;
429
- $[6] = onClick;
430
- $[7] = selected;
431
- $[8] = t3;
432
- $[9] = t4;
433
- $[10] = t5;
434
- } else {
435
- t5 = $[10];
436
- }
437
- return t5;
438
- };
439
- const SummaryBucketRow = (t0) => {
440
- const $ = c(7);
441
- const {
442
- bucket
443
- } = t0;
444
- let t1;
445
- if ($[0] !== bucket.key) {
446
- t1 = /* @__PURE__ */ jsxDEV("span", {
447
- className: "truncate text-muted-foreground",
448
- role: "gridcell",
449
- children: bucket.key
450
- }, void 0, false);
451
- $[0] = bucket.key;
452
- $[1] = t1;
453
- } else {
454
- t1 = $[1];
455
- }
456
- let t2;
457
- if ($[2] !== bucket.count) {
458
- t2 = /* @__PURE__ */ jsxDEV("span", {
459
- className: "shrink-0 tabular-nums",
460
- role: "gridcell",
461
- children: bucket.count
462
- }, void 0, false);
463
- $[2] = bucket.count;
464
- $[3] = t2;
465
- } else {
466
- t2 = $[3];
467
- }
468
- let t3;
469
- if ($[4] !== t1 || $[5] !== t2) {
470
- t3 = /* @__PURE__ */ jsxDEV("div", {
471
- className: "flex items-center justify-between gap-4 px-3 py-1 font-mono text-xs",
472
- "data-testid": "logs-summary-row",
473
- role: "row",
474
- children: [t1, t2]
475
- }, void 0, true);
476
- $[4] = t1;
477
- $[5] = t2;
478
- $[6] = t3;
479
- } else {
480
- t3 = $[6];
481
- }
482
- return t3;
483
- };
484
- const LogsPanel = ({
485
- initialShardKey
486
- }) => {
487
- const t = useT();
488
- const [view, setView] = useState("requests");
489
- const [shardKey, setShardKey] = useState(initialShardKey ?? "");
490
- const [search, setSearch] = useState("");
491
- const [levelFilter, setLevelFilter] = useState(() => /* @__PURE__ */ new Set());
492
- const [pathFilter, setPathFilter] = useState("");
493
- const [timeRange, setTimeRange] = useState("all");
494
- const [showSummary, setShowSummary] = useState(false);
495
- const [pathPrefix, setPathPrefix] = useState("");
496
- const [userIdFilter, setUserIdFilter] = useState("");
497
- const [tableFilter, setTableFilter] = useState("");
498
- const [outcomeFilter, setOutcomeFilter] = useState("all");
499
- const debouncedShard = useDebounced(shardKey.trim(), 400);
500
- const requestQuery = buildRequestQuery({
501
- functionPathPrefix: pathPrefix,
502
- outcome: outcomeFilter,
503
- tableTouched: tableFilter,
504
- userId: userIdFilter
505
- });
506
- const requestsQuery = useAdminQuery(ADMIN_FUNCTIONS.getRequestLog, requestQuery, {
507
- enabled: view === "requests",
508
- live: true,
509
- shardKey: debouncedShard
510
- });
511
- const errorsQuery = useAdminQuery(ADMIN_FUNCTIONS.getLogs, {}, {
512
- enabled: view === "errors",
513
- live: true,
514
- shardKey: debouncedShard
515
- });
516
- const activeQuery = view === "requests" ? requestsQuery : errorsQuery;
517
- const {
518
- error,
519
- isLoading: activeLoading,
520
- liveError
521
- } = activeQuery;
522
- const entries = entriesOf(errorsQuery.data);
523
- const requests = entriesOf(requestsQuery.data);
524
- useEffect(() => {
525
- if (activeQuery.data !== void 0) {
526
- recordShard(debouncedShard);
527
- }
528
- }, [activeQuery.data, debouncedShard]);
529
- const filtered = filterLogs(entries, {
530
- levels: levelFilter,
531
- now: Date.now(),
532
- path: pathFilter,
533
- range: timeRange,
534
- search
535
- });
536
- const summary = summarizeLogs(filtered);
537
- const activeCount = view === "requests" ? requests.length : filtered.length;
538
- const summaryVisible = view === "errors" && showSummary;
539
- const readout = useMemo(() => {
540
- if (error !== null) {
541
- return "error";
542
- }
543
- if (activeCount === 0) {
544
- if (activeLoading) {
545
- return summaryVisible ? "summary" : "list";
546
- }
547
- return "empty";
548
- }
549
- return summaryVisible ? "summary" : "list";
550
- }, [activeCount, activeLoading, error, summaryVisible]);
551
- const scrollRef = useRef(null);
552
- const virtualizer = useVirtualizer({
553
- count: activeCount,
554
- estimateSize: () => ROW_HEIGHT,
555
- getScrollElement: () => scrollRef.current,
556
- initialRect: {
557
- height: SCROLL_HEIGHT,
558
- width: 800
559
- },
560
- observeElementRect: (instance, callback) => flooredRectObserver(instance, callback, SCROLL_HEIGHT),
561
- overscan: 8
562
- });
563
- const virtualRows = virtualizer.getVirtualItems();
564
- const totalSize = virtualizer.getTotalSize();
565
- const gridStyle = {
566
- height: totalSize,
567
- position: "relative",
568
- width: "100%"
569
- };
570
- const onSearchChange = (event) => {
571
- setSearch(event.target.value);
572
- };
573
- const toggleLevel = (level) => {
574
- setLevelFilter((previous) => {
575
- const next = new Set(previous);
576
- if (next.has(level)) {
577
- next.delete(level);
578
- } else {
579
- next.add(level);
580
- }
581
- return next;
582
- });
583
- };
584
- const onLogPathChange = (event_0) => {
585
- setPathFilter(event_0.target.value);
586
- };
587
- const onTimeRangeChange = (event_1) => {
588
- setTimeRange(event_1.target.value);
589
- };
590
- const toggleSummary = () => {
591
- setShowSummary((previous_0) => !previous_0);
592
- };
593
- const onPathChange = (event_2) => {
594
- setPathPrefix(event_2.target.value);
595
- };
596
- const onUserChange = (event_3) => {
597
- setUserIdFilter(event_3.target.value);
598
- };
599
- const onTableChange = (event_4) => {
600
- setTableFilter(event_4.target.value);
601
- };
602
- const onOutcomeChange = (event_5) => {
603
- setOutcomeFilter(event_5.target.value);
604
- };
605
- const showRequests = () => {
606
- setView("requests");
607
- setShowSummary(false);
608
- };
609
- const showErrors = () => {
610
- setView("errors");
611
- setShowSummary(false);
612
- };
613
- return /* @__PURE__ */ jsxDEV("div", {
614
- className: "flex flex-col gap-4",
615
- "data-testid": "lunora-logs",
616
- children: [/* @__PURE__ */ jsxDEV("div", {
617
- className: "flex flex-wrap items-center gap-2",
618
- children: [/* @__PURE__ */ jsxDEV("div", {
619
- className: "inline-flex overflow-hidden rounded-lg border border-border",
620
- role: "tablist",
621
- children: [/* @__PURE__ */ jsxDEV("button", {
622
- "aria-selected": view === "requests",
623
- className: cn("px-3 py-1 text-sm", view === "requests" ? "bg-muted font-medium" : "text-muted-foreground"),
624
- "data-testid": "lg-view-requests",
625
- onClick: showRequests,
626
- role: "tab",
627
- type: "button",
628
- children: t("Requests")
629
- }, void 0, false), /* @__PURE__ */ jsxDEV("button", {
630
- "aria-selected": view === "errors",
631
- className: cn("px-3 py-1 text-sm", view === "errors" ? "bg-muted font-medium" : "text-muted-foreground"),
632
- "data-testid": "lg-view-errors",
633
- onClick: showErrors,
634
- role: "tab",
635
- type: "button",
636
- children: t("Errors")
637
- }, void 0, false)]
638
- }, void 0, true), /* @__PURE__ */ jsxDEV(ShardInput, {
639
- onChange: setShardKey,
640
- testId: "lg-shard-input",
641
- value: shardKey
642
- }, void 0, false), /* @__PURE__ */ jsxDEV(LiveError, {
643
- message: liveError,
644
- prefix: "lg"
645
- }, void 0, false), /* @__PURE__ */ jsxDEV("a", {
646
- className: "text-sm text-primary underline-offset-4 hover:underline",
647
- "data-testid": "lg-cf-link",
648
- href: CLOUDFLARE_OBSERVABILITY_URL,
649
- rel: "noreferrer",
650
- target: "_blank",
651
- children: t("Open in Cloudflare")
652
- }, void 0, false)]
653
- }, void 0, true), view === "errors" && /* @__PURE__ */ jsxDEV("div", {
654
- className: "flex flex-wrap items-center gap-2",
655
- children: [/* @__PURE__ */ jsxDEV(Input, {
656
- "aria-label": t("Search messages"),
657
- className: "h-8 w-48",
658
- "data-testid": "lg-search",
659
- onChange: onSearchChange,
660
- placeholder: t("search message"),
661
- value: search
662
- }, void 0, false), /* @__PURE__ */ jsxDEV(Input, {
663
- "aria-label": t("Function path"),
664
- className: "h-8 w-40",
665
- "data-testid": "logs-path-filter",
666
- onChange: onLogPathChange,
667
- placeholder: t("filter path"),
668
- value: pathFilter
669
- }, void 0, false), /* @__PURE__ */ jsxDEV("div", {
670
- "aria-label": t("Level filter"),
671
- className: "inline-flex items-center gap-1",
672
- "data-testid": "logs-level-filter",
673
- role: "group",
674
- children: LOG_LEVELS.map((level_0) => /* @__PURE__ */ jsxDEV(LevelToggle, {
675
- level: level_0,
676
- onToggle: toggleLevel,
677
- selected: levelFilter.has(level_0)
678
- }, level_0, false))
679
- }, void 0, false), /* @__PURE__ */ jsxDEV("select", {
680
- "aria-label": t("Time range"),
681
- className: "h-8 rounded-md border border-input bg-transparent px-2 text-sm shadow-xs focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-none",
682
- "data-testid": "logs-time-range",
683
- onChange: onTimeRangeChange,
684
- value: timeRange,
685
- children: [/* @__PURE__ */ jsxDEV("option", {
686
- value: "all",
687
- children: t("All time")
688
- }, void 0, false), /* @__PURE__ */ jsxDEV("option", {
689
- value: "5m",
690
- children: t("Last 5m")
691
- }, void 0, false), /* @__PURE__ */ jsxDEV("option", {
692
- value: "15m",
693
- children: t("Last 15m")
694
- }, void 0, false), /* @__PURE__ */ jsxDEV("option", {
695
- value: "1h",
696
- children: t("Last hour")
697
- }, void 0, false)]
698
- }, void 0, true), /* @__PURE__ */ jsxDEV("button", {
699
- "aria-pressed": showSummary,
700
- className: cn("h-8 rounded-md border px-3 text-sm", showSummary ? "border-border bg-muted font-medium" : "border-input text-muted-foreground"),
701
- "data-testid": "logs-summary-toggle",
702
- onClick: toggleSummary,
703
- type: "button",
704
- children: showSummary ? t("List") : t("Summary")
705
- }, void 0, false)]
706
- }, void 0, true), view === "requests" && /* @__PURE__ */ jsxDEV("div", {
707
- className: "flex flex-wrap items-center gap-2",
708
- children: [/* @__PURE__ */ jsxDEV(Input, {
709
- "aria-label": t("Function path"),
710
- className: "h-8 w-44",
711
- "data-testid": "lg-req-path",
712
- onChange: onPathChange,
713
- placeholder: t("file:function"),
714
- value: pathPrefix
715
- }, void 0, false), /* @__PURE__ */ jsxDEV(Input, {
716
- "aria-label": t("User id"),
717
- className: "h-8 w-32",
718
- "data-testid": "lg-req-user",
719
- onChange: onUserChange,
720
- placeholder: t("userId"),
721
- value: userIdFilter
722
- }, void 0, false), /* @__PURE__ */ jsxDEV(Input, {
723
- "aria-label": t("Table touched"),
724
- className: "h-8 w-32",
725
- "data-testid": "lg-req-table",
726
- onChange: onTableChange,
727
- placeholder: t("table"),
728
- value: tableFilter
729
- }, void 0, false), /* @__PURE__ */ jsxDEV("select", {
730
- "aria-label": t("Outcome filter"),
731
- className: "h-8 rounded-md border border-input bg-transparent px-2 text-sm shadow-xs focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-none",
732
- "data-testid": "lg-req-outcome",
733
- onChange: onOutcomeChange,
734
- value: outcomeFilter,
735
- children: [/* @__PURE__ */ jsxDEV("option", {
736
- value: "all",
737
- children: t("all")
738
- }, void 0, false), /* @__PURE__ */ jsxDEV("option", {
739
- value: "ok",
740
- children: t("ok")
741
- }, void 0, false), /* @__PURE__ */ jsxDEV("option", {
742
- value: "error",
743
- children: t("error")
744
- }, void 0, false)]
745
- }, void 0, true)]
746
- }, void 0, true), readout === "error" && /* @__PURE__ */ jsxDEV("p", {
747
- className: "text-sm text-destructive",
748
- "data-testid": "lg-error",
749
- role: "alert",
750
- children: error
751
- }, void 0, false), readout === "empty" && /* @__PURE__ */ jsxDEV(EmptyState, {
752
- description: t("Function and request logs for this shard show up here as your app handles traffic."),
753
- icon: /* @__PURE__ */ jsxDEV("svg", {
754
- "aria-hidden": "true",
755
- fill: "none",
756
- stroke: "currentColor",
757
- strokeLinecap: "round",
758
- strokeLinejoin: "round",
759
- strokeWidth: 1.6,
760
- viewBox: "0 0 24 24",
761
- children: /* @__PURE__ */ jsxDEV("path", {
762
- d: "M4 5h16M4 12h16M4 19h10"
763
- }, void 0, false)
764
- }, void 0, false),
765
- testId: "lg-empty",
766
- title: t("No logs.")
767
- }, void 0, false), readout === "summary" && /* @__PURE__ */ jsxDEV("div", {
768
- className: "flex flex-col gap-4 rounded-xl border border-border bg-card p-4 shadow-xs",
769
- "data-testid": "logs-summary",
770
- children: [/* @__PURE__ */ jsxDEV("p", {
771
- className: "text-xs text-muted-foreground",
772
- "data-testid": "logs-summary-total",
773
- children: t("{count} entries", {
774
- count: summary.total
775
- })
776
- }, void 0, false), /* @__PURE__ */ jsxDEV("div", {
777
- children: [/* @__PURE__ */ jsxDEV("h4", {
778
- className: "mb-1 font-mono text-[11px] tracking-wide text-muted-foreground uppercase",
779
- children: t("By level")
780
- }, void 0, false), /* @__PURE__ */ jsxDEV("div", {
781
- className: "overflow-hidden rounded-lg border border-border",
782
- "data-testid": "logs-summary-levels",
783
- role: "grid",
784
- children: summary.byLevel.map((bucket) => /* @__PURE__ */ jsxDEV(SummaryBucketRow, {
785
- bucket
786
- }, bucket.key, false))
787
- }, void 0, false)]
788
- }, void 0, true), /* @__PURE__ */ jsxDEV("div", {
789
- children: [/* @__PURE__ */ jsxDEV("h4", {
790
- className: "mb-1 font-mono text-[11px] tracking-wide text-muted-foreground uppercase",
791
- children: t("By function")
792
- }, void 0, false), /* @__PURE__ */ jsxDEV("div", {
793
- className: "overflow-hidden rounded-lg border border-border",
794
- "data-testid": "logs-summary-paths",
795
- role: "grid",
796
- children: summary.byPath.map((bucket_0) => /* @__PURE__ */ jsxDEV(SummaryBucketRow, {
797
- bucket: bucket_0
798
- }, bucket_0.key, false))
799
- }, void 0, false)]
800
- }, void 0, true)]
801
- }, void 0, true), readout === "list" && /* @__PURE__ */ jsxDEV("div", {
802
- className: "rounded-xl border border-border shadow-xs",
803
- "data-testid": "lg-scroll",
804
- ref: scrollRef,
805
- style: SCROLL_STYLE,
806
- children: /* @__PURE__ */ jsxDEV("div", {
807
- "aria-label": t("Recent logs"),
808
- "data-testid": "lg-table",
809
- role: "grid",
810
- style: gridStyle,
811
- children: virtualRows.map((virtualRow) => view === "requests" ? /* @__PURE__ */ jsxDEV(RequestRow, {
812
- entry: requests[virtualRow.index],
813
- index: virtualRow.index,
814
- measureRef: virtualizer.measureElement,
815
- start: virtualRow.start
816
- }, virtualRow.key, false) : /* @__PURE__ */ jsxDEV(LogRow, {
817
- entry: filtered[virtualRow.index],
818
- index: virtualRow.index,
819
- measureRef: virtualizer.measureElement,
820
- start: virtualRow.start
821
- }, virtualRow.key, false))
822
- }, void 0, false)
823
- }, void 0, false)]
824
- }, void 0, true);
825
- };
826
-
827
- export { LogsPanel, filterLogs, summarizeLogs };