@lunora/studio 1.0.0-alpha.34 → 1.0.0-alpha.341

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 (472) hide show
  1. package/LICENSE.md +6 -0
  2. package/README.md +1 -1
  3. package/dist/index.d.mts +1597 -0
  4. package/dist/index.d.ts +991 -807
  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 +6 -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-Py7C4ibM.mjs +2 -0
  63. package/dist/packem_shared/ApiReferencePanel-DlYVADAy.mjs +1 -0
  64. package/dist/packem_shared/CommandPalette-CM1hqAOD.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-DvhNw0BI.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-DxlLv5x1.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-TFTQpSVj.mjs +1 -0
  74. package/dist/packem_shared/HomePanel-BVz2sDQ4.mjs +1 -0
  75. package/dist/packem_shared/MigrationsPanel-fUyhbt0w.mjs +1 -0
  76. package/dist/packem_shared/OpenRpcReferencePanel-nYyfjjse.mjs +1 -0
  77. package/dist/packem_shared/STUDIO_ROOT_CLASS-C6MccdVk.mjs +1 -0
  78. package/dist/packem_shared/ScheduledJobs-zSeU_6cN.mjs +1 -0
  79. package/dist/packem_shared/ShardInput-C6mjgAh4.mjs +1 -0
  80. package/dist/packem_shared/Studio-CNqMkRmB.mjs +1 -0
  81. package/dist/packem_shared/StudioApp-CUxEVr__.mjs +1 -0
  82. package/dist/packem_shared/StudioI18nProvider-fVsCSs5L.mjs +1 -0
  83. package/dist/packem_shared/advisor-view-CXiPdw4B.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-D45VvUTx.d.mts +351 -0
  87. package/dist/packem_shared/app.d-D45VvUTx.d.ts +351 -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-BHTuvSI7.mjs +1 -0
  98. package/dist/packem_shared/data-view-params-DhYmAkcj.mjs +1 -0
  99. package/dist/packem_shared/diagram-export-panel-BMLzao0Y.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-D-ftqyo-.mjs +1 -0
  103. package/dist/packem_shared/grid-features-CIdZ8Dqo.mjs +6 -0
  104. package/dist/packem_shared/grid-pagination-DgzyzfBh.mjs +1 -0
  105. package/dist/packem_shared/home-panel-CF-MfsnH.mjs +3 -0
  106. package/dist/packem_shared/input-CXhxesPC.mjs +1 -0
  107. package/dist/packem_shared/internal-BXEjuLPN.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-BWDt_F56.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-CFBkH4uZ.mjs +1 -0
  116. package/dist/packem_shared/reference-view-BrsL8UGn.mjs +13 -0
  117. package/dist/packem_shared/schema-diagram-ghsOCED7.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-COsfUSGc.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-BcHsk7mT.mjs +2 -0
  128. package/dist/packem_shared/table-D0SBiDu-.mjs +2 -0
  129. package/dist/packem_shared/table-list-sidebar-DwqtHSHU.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-I1uILsUP.mjs +1 -0
  133. package/dist/packem_shared/use-admin-spec-BdNLZbTO.mjs +1 -0
  134. package/dist/packem_shared/use-async-submit-2eBBD0-m.mjs +1 -0
  135. package/dist/packem_shared/use-auth-config-DQ8tNyBh.mjs +1 -0
  136. package/dist/packem_shared/use-mirrored-ref-CVDf2z1M.mjs +1 -0
  137. package/dist/packem_shared/use-open-trace-B_0LbTD7.mjs +1 -0
  138. package/dist/packem_shared/use-shard-key-BsP3o5wT.mjs +1 -0
  139. package/dist/packem_shared/use-sql-assistant-DetnUyFf.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-253UHWDX.js +1 -0
  144. package/dist/standalone/chunk-2I4NHEKA.js +1 -0
  145. package/dist/standalone/chunk-2IKDEUCX.js +1 -0
  146. package/dist/standalone/chunk-2SNK7KHX.js +1 -0
  147. package/dist/standalone/chunk-37WYCOQ2.js +1 -0
  148. package/dist/standalone/chunk-3FYMEXVB.js +1 -0
  149. package/dist/standalone/chunk-3N5PRV3V.js +1 -0
  150. package/dist/standalone/chunk-3YXASVTP.js +1 -0
  151. package/dist/standalone/chunk-43GV7LQK.js +1 -0
  152. package/dist/standalone/chunk-4CGBMYO3.js +6 -0
  153. package/dist/standalone/chunk-4NOMAGEO.js +1 -0
  154. package/dist/standalone/chunk-4ZEL6BYL.js +1 -0
  155. package/dist/standalone/chunk-55UGUCQ6.js +1 -0
  156. package/dist/standalone/chunk-5B2RTXBS.js +1 -0
  157. package/dist/standalone/chunk-5QR2SQIS.js +1 -0
  158. package/dist/standalone/chunk-5SLTDY4C.js +1 -0
  159. package/dist/standalone/chunk-5Y5UTG4N.js +1 -0
  160. package/dist/standalone/chunk-6XKL22OG.js +3 -0
  161. package/dist/standalone/chunk-6ZSIPBTC.js +6 -0
  162. package/dist/standalone/chunk-74IYYDDI.js +19 -0
  163. package/dist/standalone/chunk-7G4Z6Q7X.js +1 -0
  164. package/dist/standalone/chunk-7GVT36VI.js +1 -0
  165. package/dist/standalone/chunk-7Q256NLI.js +1 -0
  166. package/dist/standalone/chunk-7RKB5KS7.js +1 -0
  167. package/dist/standalone/chunk-7Y3SY37W.js +1 -0
  168. package/dist/standalone/chunk-APEQELK3.js +1 -0
  169. package/dist/standalone/chunk-AUAECCXB.js +1 -0
  170. package/dist/standalone/{chunk-BJGBHGK3.js → chunk-AUGKHAMQ.js} +1 -1
  171. package/dist/standalone/chunk-BFQMOALO.js +1 -0
  172. package/dist/standalone/chunk-BOMPSVRC.js +1 -0
  173. package/dist/standalone/chunk-BTG6YDYM.js +1 -0
  174. package/dist/standalone/chunk-BTQ72TPT.js +1 -0
  175. package/dist/standalone/chunk-CCDX5RYT.js +1 -0
  176. package/dist/standalone/chunk-CGQMJYCW.js +1 -0
  177. package/dist/standalone/chunk-CVXNHIQW.js +1 -0
  178. package/dist/standalone/chunk-DBHZXRL6.js +1 -0
  179. package/dist/standalone/chunk-DBZ4TBP5.js +1 -0
  180. package/dist/standalone/chunk-DEFCA7GG.js +5 -0
  181. package/dist/standalone/chunk-DHGPCQ2F.js +1 -0
  182. package/dist/standalone/chunk-E4PXACVL.js +3 -0
  183. package/dist/standalone/chunk-E5DXYVPB.js +1 -0
  184. package/dist/standalone/chunk-ECY2JC5F.js +1 -0
  185. package/dist/standalone/chunk-EE227HDE.js +1 -0
  186. package/dist/standalone/chunk-ENIA26XP.js +1 -0
  187. package/dist/standalone/chunk-EWMBX5N2.js +1 -0
  188. package/dist/standalone/chunk-FCXFQF2W.js +1 -0
  189. package/dist/standalone/chunk-FPI7AMQJ.js +1 -0
  190. package/dist/standalone/chunk-FUL4ROKH.js +1 -0
  191. package/dist/standalone/chunk-FUYEZFBP.js +1 -0
  192. package/dist/standalone/chunk-G2F22AMT.js +1 -0
  193. package/dist/standalone/chunk-GC4XRCRZ.js +1 -0
  194. package/dist/standalone/chunk-GHQ2VDI2.js +1 -0
  195. package/dist/standalone/chunk-GOFZ4Y74.js +1 -0
  196. package/dist/standalone/chunk-GUDC24NJ.js +1 -0
  197. package/dist/standalone/chunk-GWVYDOBH.js +1 -0
  198. package/dist/standalone/chunk-GYBCO7NN.js +1 -0
  199. package/dist/standalone/chunk-HCFJBY65.js +1 -0
  200. package/dist/standalone/chunk-HCTJKP5J.js +1 -0
  201. package/dist/standalone/chunk-HGHIVU76.js +1 -0
  202. package/dist/standalone/chunk-HH52IEFY.js +4 -0
  203. package/dist/standalone/chunk-HIJGQX6F.js +4 -0
  204. package/dist/standalone/chunk-HPYJUVCC.js +1 -0
  205. package/dist/standalone/chunk-I26MS5PJ.js +1 -0
  206. package/dist/standalone/chunk-ICRKYAYO.js +1 -0
  207. package/dist/standalone/chunk-IRSSZXC3.js +1 -0
  208. package/dist/standalone/chunk-ITT6MM23.js +1 -0
  209. package/dist/standalone/chunk-IWZ7GVQO.js +1 -0
  210. package/dist/standalone/chunk-JR4ROUBB.js +1 -0
  211. package/dist/standalone/chunk-K2EHRNYW.js +1 -0
  212. package/dist/standalone/chunk-K3UAOIR7.js +1 -0
  213. package/dist/standalone/chunk-KCFO2BVI.js +15 -0
  214. package/dist/standalone/chunk-KF7Y5S5O.js +1 -0
  215. package/dist/standalone/chunk-LHG2JVIM.js +2 -0
  216. package/dist/standalone/chunk-LXCVA5SP.js +1 -0
  217. package/dist/standalone/chunk-M3QKMHAP.js +15 -0
  218. package/dist/standalone/chunk-MVWZMWPD.js +1 -0
  219. package/dist/standalone/chunk-NCBLHBRW.js +1 -0
  220. package/dist/standalone/chunk-NCCORPSU.js +7 -0
  221. package/dist/standalone/chunk-NCPW7WHO.js +1 -0
  222. package/dist/standalone/chunk-NGVP66OH.js +1 -0
  223. package/dist/standalone/chunk-NQZALRU3.js +1 -0
  224. package/dist/standalone/chunk-NRP22GKC.js +1 -0
  225. package/dist/standalone/chunk-NXQW5E6W.js +1 -0
  226. package/dist/standalone/chunk-O2FW4VRL.js +1 -0
  227. package/dist/standalone/chunk-OI5HX3ZO.js +1 -0
  228. package/dist/standalone/chunk-OLIKYC3C.js +59 -0
  229. package/dist/standalone/chunk-OPM7ESDV.js +1 -0
  230. package/dist/standalone/chunk-OQ6I6OXT.js +2 -0
  231. package/dist/standalone/chunk-OYCUPD3Q.js +1 -0
  232. package/dist/standalone/chunk-PSMQQV6S.js +1 -0
  233. package/dist/standalone/chunk-Q6ED4KUL.js +1 -0
  234. package/dist/standalone/chunk-Q6IT6ZD7.js +1 -0
  235. package/dist/standalone/{chunk-ZHVTQ37P.js → chunk-QAQDMS6R.js} +1 -1
  236. package/dist/standalone/chunk-QJLHH3ET.js +1 -0
  237. package/dist/standalone/chunk-R3ADWOYR.js +1 -0
  238. package/dist/standalone/chunk-R6U22RSY.js +1 -0
  239. package/dist/standalone/chunk-RB3WPSY5.js +14 -0
  240. package/dist/standalone/chunk-RGMVGZV4.js +1 -0
  241. package/dist/standalone/chunk-RWVIV3U7.js +1 -0
  242. package/dist/standalone/chunk-S4Z7K55A.js +1 -0
  243. package/dist/standalone/chunk-SA2OGF3F.js +1 -0
  244. package/dist/standalone/chunk-SC6P4M3S.js +1 -0
  245. package/dist/standalone/chunk-SJQERRSZ.js +1 -0
  246. package/dist/standalone/chunk-SU6QNITV.js +1 -0
  247. package/dist/standalone/chunk-T6IV7OKH.js +1 -0
  248. package/dist/standalone/chunk-UC7MNI2F.js +1 -0
  249. package/dist/standalone/chunk-UIIKW4II.js +1 -0
  250. package/dist/standalone/chunk-UJQNKTYE.js +1 -0
  251. package/dist/standalone/chunk-UVL7N5IL.js +1 -0
  252. package/dist/standalone/chunk-UYEZR3BI.js +1 -0
  253. package/dist/standalone/chunk-VCFEO3RI.js +1 -0
  254. package/dist/standalone/chunk-VDC6JP4A.js +1 -0
  255. package/dist/standalone/chunk-VENSZ6LF.js +1 -0
  256. package/dist/standalone/chunk-VESGIGMQ.js +1 -0
  257. package/dist/standalone/chunk-VJ7RCBJ7.js +1 -0
  258. package/dist/standalone/chunk-VNMKNORK.js +1 -0
  259. package/dist/standalone/chunk-VQRCJJXS.js +1 -0
  260. package/dist/standalone/chunk-VVCXVAA7.js +8 -0
  261. package/dist/standalone/chunk-VXJJSPX3.js +1 -0
  262. package/dist/standalone/chunk-WJRYEML4.js +1 -0
  263. package/dist/standalone/chunk-WUI2PUY6.js +1 -0
  264. package/dist/standalone/chunk-WVWCUB4S.js +1 -0
  265. package/dist/standalone/chunk-WVYIBXUH.js +1 -0
  266. package/dist/standalone/chunk-X4MAMXRE.js +1 -0
  267. package/dist/standalone/chunk-XBQ66PGW.js +1 -0
  268. package/dist/standalone/chunk-XGCIDUJF.js +1 -0
  269. package/dist/standalone/chunk-XKISL2CG.js +1 -0
  270. package/dist/standalone/chunk-Y3AYVFTK.js +1 -0
  271. package/dist/standalone/chunk-YZ72ZAGX.js +1 -0
  272. package/dist/standalone/chunk-ZJQIGWLG.js +1 -0
  273. package/dist/standalone/chunk-ZKJS6EBE.js +1 -0
  274. package/dist/standalone/chunk-ZKV2XC5B.js +1 -0
  275. package/dist/standalone/chunk-ZPNTFCVI.js +1 -0
  276. package/dist/standalone/studio.js +9 -214
  277. package/dist/styles.css +2 -2
  278. package/package.json +26 -22
  279. package/dist/index.js +0 -41
  280. package/dist/mount.js +0 -27
  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 -198
  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 -377
  287. package/dist/packem_chunks/HealthPanel.js +0 -648
  288. package/dist/packem_chunks/InsightsPanel.js +0 -462
  289. package/dist/packem_chunks/LogsPanel.js +0 -827
  290. package/dist/packem_chunks/MailPanel.js +0 -441
  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 -2513
  295. package/dist/packem_chunks/SecurityAdvisorPanel.js +0 -95
  296. package/dist/packem_chunks/SettingsPanel.js +0 -391
  297. package/dist/packem_chunks/SqlEditorPanel.js +0 -2323
  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/containers-panel.js +0 -247
  303. package/dist/packem_chunks/dashboards-panel.js +0 -780
  304. package/dist/packem_chunks/fanout-panel.js +0 -482
  305. package/dist/packem_chunks/flags-panel.js +0 -176
  306. package/dist/packem_chunks/kv-browser.js +0 -1896
  307. package/dist/packem_chunks/log-drains-panel.js +0 -273
  308. package/dist/packem_chunks/organizations-panel.js +0 -670
  309. package/dist/packem_chunks/payments-panel.js +0 -186
  310. package/dist/packem_chunks/permissions-panel.js +0 -805
  311. package/dist/packem_chunks/queues-panel.js +0 -148
  312. package/dist/packem_chunks/rls-panel.js +0 -315
  313. package/dist/packem_chunks/schedule-panel.js +0 -831
  314. package/dist/packem_chunks/sparkline.js +0 -79
  315. package/dist/packem_chunks/storage-rules-panel.js +0 -140
  316. package/dist/packem_chunks/subscriptions-panel.js +0 -238
  317. package/dist/packem_chunks/users-panel.js +0 -1265
  318. package/dist/packem_chunks/vector-browser.js +0 -281
  319. package/dist/packem_chunks/workflows-panel.js +0 -562
  320. package/dist/packem_shared/ADMIN_FUNCTIONS-CdaxLGkE.js +0 -48
  321. package/dist/packem_shared/ApiDocsPanel-Cu6mD4u7.js +0 -842
  322. package/dist/packem_shared/ApiReferencePanel-Co_wpRF2.js +0 -230
  323. package/dist/packem_shared/CommandPalette-BUPpbpMc.js +0 -373
  324. package/dist/packem_shared/ConfirmButton-C2eVi2Qv.js +0 -59
  325. package/dist/packem_shared/ConnectionBadge-B2DDM2Tn.js +0 -111
  326. package/dist/packem_shared/DEFAULT_AUTO_REFRESH_MS-Vxwaxx51.js +0 -50
  327. package/dist/packem_shared/DEFAULT_INSIGHT_THRESHOLDS-DjF0h-gA.js +0 -89
  328. package/dist/packem_shared/DEFAULT_LOCALE-CiX4W7Kr.js +0 -27
  329. package/dist/packem_shared/DataBrowser-DSNK1tPg.js +0 -4493
  330. package/dist/packem_shared/DataFilters-FNquMaiu.js +0 -249
  331. package/dist/packem_shared/ErrorBoundary-BzAApI7J.js +0 -66
  332. package/dist/packem_shared/GlobalDataBrowser-ErfvIs1S.js +0 -289
  333. package/dist/packem_shared/HomePanel-DQk3P8xX.js +0 -14
  334. package/dist/packem_shared/OpenRpcReferencePanel-DLWzrIx9.js +0 -192
  335. package/dist/packem_shared/STUDIO_ROOT_CLASS-D12gX2dV.js +0 -3
  336. package/dist/packem_shared/ScheduledJobs-ClaNpZsg.js +0 -262
  337. package/dist/packem_shared/ShardInput-gx_DZXXn.js +0 -107
  338. package/dist/packem_shared/Studio-Biu37c3O.js +0 -16
  339. package/dist/packem_shared/StudioApp-D6a2ZmXS.js +0 -657
  340. package/dist/packem_shared/StudioI18nProvider-B-tDCZIi.js +0 -48
  341. package/dist/packem_shared/advisor-view-D3-U4kRR.js +0 -159
  342. package/dist/packem_shared/aggregateMetrics-D4nUHEKU.js +0 -108
  343. package/dist/packem_shared/alert-CdAET2K_.js +0 -68
  344. package/dist/packem_shared/app.d-CNLRTrWw.d.ts +0 -300
  345. package/dist/packem_shared/badge-B2PKA1-5.js +0 -49
  346. package/dist/packem_shared/bar-chart-DSwcWIRy.js +0 -3246
  347. package/dist/packem_shared/browser-storage-tLOxkIHd.js +0 -185
  348. package/dist/packem_shared/button-BhsN2uZH.js +0 -49
  349. package/dist/packem_shared/card-DURq3ElK.js +0 -175
  350. package/dist/packem_shared/cf-links-BZfRdxSE.js +0 -8
  351. package/dist/packem_shared/checkbox-UNkzAxl-.js +0 -63
  352. package/dist/packem_shared/data-grid-Jz8FqQ2C.js +0 -183
  353. package/dist/packem_shared/data-view-params-Cd6yRVbv.js +0 -96
  354. package/dist/packem_shared/dropdown-menu-WY4B_eJO.js +0 -280
  355. package/dist/packem_shared/empty-state-DY_oe0k6.js +0 -98
  356. package/dist/packem_shared/error-alert-BBT6D22d.js +0 -114
  357. package/dist/packem_shared/grid-features-CUr8Z1_O.js +0 -745
  358. package/dist/packem_shared/home-panel-Bo-Mgrkn.js +0 -1639
  359. package/dist/packem_shared/input-XH4r1Pt1.js +0 -53
  360. package/dist/packem_shared/internal-DTsYVn-g.js +0 -97
  361. package/dist/packem_shared/label-D8ykjn5J.js +0 -46
  362. package/dist/packem_shared/live-status-FZ0psC1z.js +0 -44
  363. package/dist/packem_shared/modal-shell-hyaJvIJ6.js +0 -100
  364. package/dist/packem_shared/reference-view-CSKyUyPl.js +0 -2141
  365. package/dist/packem_shared/select-UkNYCT3s.js +0 -273
  366. package/dist/packem_shared/shard-history-DyebH1R5.js +0 -38
  367. package/dist/packem_shared/skeleton-CGhL0p20.js +0 -45
  368. package/dist/packem_shared/sparkline-BnA1kC9X.js +0 -93
  369. package/dist/packem_shared/storage-tier-CL98eOvn.js +0 -85
  370. package/dist/packem_shared/studio-C4sgu0F7.js +0 -4015
  371. package/dist/packem_shared/table-DsCa9Qp9.js +0 -246
  372. package/dist/packem_shared/table-list-sidebar-B5psdSV1.js +0 -832
  373. package/dist/packem_shared/textarea-D3gaCU_-.js +0 -46
  374. package/dist/packem_shared/use-admin-query-BHPKmPuj.js +0 -106
  375. package/dist/packem_shared/use-auth-capabilities-C-VH0oJJ.js +0 -32
  376. package/dist/packem_shared/useDebounced-Dxncpg6z.js +0 -32
  377. package/dist/packem_shared/utils-B05Dmz_H.js +0 -8
  378. package/dist/packem_shared/virtual-rect-CVMUskSm.js +0 -10
  379. package/dist/standalone/chunk-25VHPD2I.js +0 -1
  380. package/dist/standalone/chunk-2GGMGPEP.js +0 -1
  381. package/dist/standalone/chunk-2K47A3P6.js +0 -1
  382. package/dist/standalone/chunk-2NGUNNGW.js +0 -1
  383. package/dist/standalone/chunk-3CJW6NWG.js +0 -4
  384. package/dist/standalone/chunk-3OA7PECS.js +0 -6
  385. package/dist/standalone/chunk-4H2OJBXO.js +0 -1
  386. package/dist/standalone/chunk-4MLAVZP4.js +0 -1
  387. package/dist/standalone/chunk-4QHKBC77.js +0 -1
  388. package/dist/standalone/chunk-55YA7ZZI.js +0 -76
  389. package/dist/standalone/chunk-5OH3VPZF.js +0 -1
  390. package/dist/standalone/chunk-5OIBXYZM.js +0 -1
  391. package/dist/standalone/chunk-5PQMXK24.js +0 -1
  392. package/dist/standalone/chunk-6GFEVKJP.js +0 -1
  393. package/dist/standalone/chunk-764T6X6X.js +0 -1
  394. package/dist/standalone/chunk-7M3F6U4L.js +0 -1
  395. package/dist/standalone/chunk-7TJJXVSE.js +0 -1
  396. package/dist/standalone/chunk-7VF3IAAW.js +0 -2
  397. package/dist/standalone/chunk-AHILM3ZP.js +0 -1
  398. package/dist/standalone/chunk-AJIUI7DD.js +0 -1
  399. package/dist/standalone/chunk-AQGOX5DK.js +0 -1
  400. package/dist/standalone/chunk-BACPICH6.js +0 -1
  401. package/dist/standalone/chunk-BET2625I.js +0 -1
  402. package/dist/standalone/chunk-BQUQS7QN.js +0 -1
  403. package/dist/standalone/chunk-CKSHCYGC.js +0 -2
  404. package/dist/standalone/chunk-DCECRP45.js +0 -1
  405. package/dist/standalone/chunk-DFP2DADO.js +0 -1
  406. package/dist/standalone/chunk-DORBUITF.js +0 -1
  407. package/dist/standalone/chunk-DVKPRFIJ.js +0 -1
  408. package/dist/standalone/chunk-DWDILV2E.js +0 -1
  409. package/dist/standalone/chunk-E6WUCLSI.js +0 -1
  410. package/dist/standalone/chunk-E7WLF6IU.js +0 -1
  411. package/dist/standalone/chunk-EVPLBWUT.js +0 -8
  412. package/dist/standalone/chunk-FCSPAJW4.js +0 -1
  413. package/dist/standalone/chunk-FKO3HO6I.js +0 -4
  414. package/dist/standalone/chunk-G2ICR3DL.js +0 -1
  415. package/dist/standalone/chunk-GJ6PGSES.js +0 -13
  416. package/dist/standalone/chunk-GMSGZDDH.js +0 -13
  417. package/dist/standalone/chunk-GTM65MVX.js +0 -1
  418. package/dist/standalone/chunk-GVRM4U6W.js +0 -2
  419. package/dist/standalone/chunk-GZDWDDXN.js +0 -1
  420. package/dist/standalone/chunk-HV7G6DFP.js +0 -5
  421. package/dist/standalone/chunk-ISJAJWYI.js +0 -1
  422. package/dist/standalone/chunk-J6J54MBP.js +0 -1
  423. package/dist/standalone/chunk-JIDZFLTB.js +0 -4
  424. package/dist/standalone/chunk-JSEXCW5Q.js +0 -1
  425. package/dist/standalone/chunk-K3GNLVYK.js +0 -1
  426. package/dist/standalone/chunk-K4ZDRTQM.js +0 -1
  427. package/dist/standalone/chunk-KEGAWN6Y.js +0 -1
  428. package/dist/standalone/chunk-KTK3V4DC.js +0 -1
  429. package/dist/standalone/chunk-KZ6INM5M.js +0 -1
  430. package/dist/standalone/chunk-LI43EKM6.js +0 -1
  431. package/dist/standalone/chunk-MFPTVCJ6.js +0 -1
  432. package/dist/standalone/chunk-MPYFGAOW.js +0 -1
  433. package/dist/standalone/chunk-O3NAGRTR.js +0 -1
  434. package/dist/standalone/chunk-O77VNUFD.js +0 -1
  435. package/dist/standalone/chunk-PA3LN4XJ.js +0 -1
  436. package/dist/standalone/chunk-PN5NCZDX.js +0 -1
  437. package/dist/standalone/chunk-PVZI3CXP.js +0 -19
  438. package/dist/standalone/chunk-PZ7HD5T2.js +0 -1
  439. package/dist/standalone/chunk-QAFAJBAW.js +0 -1
  440. package/dist/standalone/chunk-QBAT52GB.js +0 -1
  441. package/dist/standalone/chunk-QHIIRFG7.js +0 -1
  442. package/dist/standalone/chunk-RRCPZMC2.js +0 -22
  443. package/dist/standalone/chunk-RSEEHNFI.js +0 -1
  444. package/dist/standalone/chunk-SEU5V7I6.js +0 -1
  445. package/dist/standalone/chunk-SGDQIWAR.js +0 -4
  446. package/dist/standalone/chunk-SVR644RF.js +0 -1
  447. package/dist/standalone/chunk-SYEIXTEU.js +0 -1
  448. package/dist/standalone/chunk-T5HRXUSY.js +0 -1
  449. package/dist/standalone/chunk-TAD43CG5.js +0 -1
  450. package/dist/standalone/chunk-TBMYIZIO.js +0 -1
  451. package/dist/standalone/chunk-TDL7NEWA.js +0 -1
  452. package/dist/standalone/chunk-TM7CMA7X.js +0 -1
  453. package/dist/standalone/chunk-TQ36RWOP.js +0 -1
  454. package/dist/standalone/chunk-TY7L2V4E.js +0 -1
  455. package/dist/standalone/chunk-U4OAQPBT.js +0 -1
  456. package/dist/standalone/chunk-UDSVXA42.js +0 -1
  457. package/dist/standalone/chunk-UII66UVF.js +0 -1
  458. package/dist/standalone/chunk-UK64ZSUW.js +0 -1
  459. package/dist/standalone/chunk-VEZO7G5Q.js +0 -3
  460. package/dist/standalone/chunk-VLXV72QE.js +0 -1
  461. package/dist/standalone/chunk-VSHUSN6T.js +0 -1
  462. package/dist/standalone/chunk-VYMCCC6O.js +0 -1
  463. package/dist/standalone/chunk-WXPWVBIY.js +0 -1
  464. package/dist/standalone/chunk-X72PYOEW.js +0 -1
  465. package/dist/standalone/chunk-X7MMBSNW.js +0 -1
  466. package/dist/standalone/chunk-XIGIWZLO.js +0 -4
  467. package/dist/standalone/chunk-XNJNSCLM.js +0 -1
  468. package/dist/standalone/chunk-XUGSA2NG.js +0 -1
  469. package/dist/standalone/chunk-Y2ZPNDL7.js +0 -4
  470. package/dist/standalone/chunk-YM6BBZDN.js +0 -1
  471. package/dist/standalone/chunk-ZPP2KOR4.js +0 -1
  472. package/dist/standalone/chunk-ZPUO7FNI.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 { E as ErrorAlert } from '../packem_shared/error-alert-BBT6D22d.js';
5
- import { L as LiveError } from '../packem_shared/live-status-FZ0psC1z.js';
6
- import { ShardInput } from '../packem_shared/ShardInput-gx_DZXXn.js';
7
- import { B as Badge } from '../packem_shared/badge-B2PKA1-5.js';
8
- import { E as EmptyState } from '../packem_shared/empty-state-DY_oe0k6.js';
9
- import { I as Input } from '../packem_shared/input-XH4r1Pt1.js';
10
- import { u as useAdminQuery } from '../packem_shared/use-admin-query-BHPKmPuj.js';
11
- import useDebounced from '../packem_shared/useDebounced-Dxncpg6z.js';
12
- import { useT } from '../packem_shared/DEFAULT_LOCALE-CiX4W7Kr.js';
13
- import { ADMIN_FUNCTIONS } from '../packem_shared/ADMIN_FUNCTIONS-CdaxLGkE.js';
14
- import { a as CLOUDFLARE_OBSERVABILITY_URL } from '../packem_shared/cf-links-BZfRdxSE.js';
15
- import { r as recordShard } from '../packem_shared/shard-history-DyebH1R5.js';
16
- import { c as cn } from '../packem_shared/utils-B05Dmz_H.js';
17
- import { f as flooredRectObserver } from '../packem_shared/virtual-rect-CVMUskSm.js';
18
- import { jsxDEV } from 'react/jsx-dev-runtime';
19
-
20
- const SCROLL_HEIGHT = 400;
21
- const ROW_HEIGHT = 36;
22
- const SCROLL_STYLE = {
23
- height: SCROLL_HEIGHT,
24
- overflow: "auto"
25
- };
26
- const ROW_BASE_STYLE = {
27
- left: 0,
28
- position: "absolute",
29
- top: 0,
30
- width: "100%"
31
- };
32
- const LEVEL_VARIANT = {
33
- debug: "secondary",
34
- error: "destructive",
35
- info: "outline",
36
- warn: "secondary"
37
- };
38
- const OUTCOME_VARIANT = {
39
- error: "destructive",
40
- ok: "secondary"
41
- };
42
- const LogRow = (t0) => {
43
- const $ = c(21);
44
- const {
45
- entry,
46
- index,
47
- measureRef,
48
- start
49
- } = t0;
50
- const t1 = `translateY(${String(start)}px)`;
51
- let t2;
52
- if ($[0] !== t1) {
53
- t2 = {
54
- ...ROW_BASE_STYLE,
55
- transform: t1
56
- };
57
- $[0] = t1;
58
- $[1] = t2;
59
- } else {
60
- t2 = $[1];
61
- }
62
- const style = t2;
63
- let t3;
64
- if ($[2] !== entry.timestamp) {
65
- t3 = new Date(entry.timestamp).toLocaleString();
66
- $[2] = entry.timestamp;
67
- $[3] = t3;
68
- } else {
69
- t3 = $[3];
70
- }
71
- let t4;
72
- if ($[4] !== t3) {
73
- t4 = /* @__PURE__ */ jsxDEV("span", {
74
- className: "w-44 shrink-0 tabular-nums text-muted-foreground",
75
- role: "gridcell",
76
- children: t3
77
- }, void 0, false);
78
- $[4] = t3;
79
- $[5] = t4;
80
- } else {
81
- t4 = $[5];
82
- }
83
- const t5 = LEVEL_VARIANT[entry.level];
84
- let t6;
85
- if ($[6] !== entry.level || $[7] !== t5) {
86
- t6 = /* @__PURE__ */ jsxDEV("span", {
87
- className: "w-20 shrink-0",
88
- role: "gridcell",
89
- children: /* @__PURE__ */ jsxDEV(Badge, {
90
- variant: t5,
91
- children: entry.level
92
- }, void 0, false)
93
- }, void 0, false);
94
- $[6] = entry.level;
95
- $[7] = t5;
96
- $[8] = t6;
97
- } else {
98
- t6 = $[8];
99
- }
100
- const t7 = entry.functionPath ?? "—";
101
- let t8;
102
- if ($[9] !== t7) {
103
- t8 = /* @__PURE__ */ jsxDEV("span", {
104
- className: "w-48 shrink-0 truncate text-muted-foreground",
105
- role: "gridcell",
106
- children: t7
107
- }, void 0, false);
108
- $[9] = t7;
109
- $[10] = t8;
110
- } else {
111
- t8 = $[10];
112
- }
113
- let t9;
114
- if ($[11] !== entry.message) {
115
- t9 = /* @__PURE__ */ jsxDEV("span", {
116
- className: "flex-1 truncate",
117
- role: "gridcell",
118
- children: entry.message
119
- }, void 0, false);
120
- $[11] = entry.message;
121
- $[12] = t9;
122
- } else {
123
- t9 = $[12];
124
- }
125
- let t10;
126
- if ($[13] !== index || $[14] !== measureRef || $[15] !== style || $[16] !== t4 || $[17] !== t6 || $[18] !== t8 || $[19] !== t9) {
127
- t10 = /* @__PURE__ */ jsxDEV("div", {
128
- className: "flex items-center border-b border-border px-3 py-1.5 font-mono text-xs hover:bg-muted/50",
129
- "data-index": index,
130
- "data-testid": "lg-row",
131
- ref: measureRef,
132
- role: "row",
133
- style,
134
- children: [t4, t6, t8, t9]
135
- }, void 0, true);
136
- $[13] = index;
137
- $[14] = measureRef;
138
- $[15] = style;
139
- $[16] = t4;
140
- $[17] = t6;
141
- $[18] = t8;
142
- $[19] = t9;
143
- $[20] = t10;
144
- } else {
145
- t10 = $[20];
146
- }
147
- return t10;
148
- };
149
- const tablesLabel = (tables) => tables.length === 0 ? "—" : tables.join(", ");
150
- const RequestRow = (t0) => {
151
- const $ = c(37);
152
- const {
153
- entry,
154
- index,
155
- measureRef,
156
- start
157
- } = t0;
158
- const t1 = `translateY(${String(start)}px)`;
159
- let t2;
160
- if ($[0] !== t1) {
161
- t2 = {
162
- ...ROW_BASE_STYLE,
163
- transform: t1
164
- };
165
- $[0] = t1;
166
- $[1] = t2;
167
- } else {
168
- t2 = $[1];
169
- }
170
- const style = t2;
171
- let t3;
172
- if ($[2] !== entry.ts) {
173
- t3 = new Date(entry.ts).toLocaleString();
174
- $[2] = entry.ts;
175
- $[3] = t3;
176
- } else {
177
- t3 = $[3];
178
- }
179
- let t4;
180
- if ($[4] !== t3) {
181
- t4 = /* @__PURE__ */ jsxDEV("span", {
182
- className: "w-40 shrink-0 tabular-nums text-muted-foreground",
183
- role: "gridcell",
184
- children: t3
185
- }, void 0, false);
186
- $[4] = t3;
187
- $[5] = t4;
188
- } else {
189
- t4 = $[5];
190
- }
191
- const t5 = OUTCOME_VARIANT[entry.outcome];
192
- let t6;
193
- if ($[6] !== entry.outcome || $[7] !== t5) {
194
- t6 = /* @__PURE__ */ jsxDEV("span", {
195
- className: "w-16 shrink-0",
196
- role: "gridcell",
197
- children: /* @__PURE__ */ jsxDEV(Badge, {
198
- variant: t5,
199
- children: entry.outcome
200
- }, void 0, false)
201
- }, void 0, false);
202
- $[6] = entry.outcome;
203
- $[7] = t5;
204
- $[8] = t6;
205
- } else {
206
- t6 = $[8];
207
- }
208
- let t7;
209
- if ($[9] !== entry.functionPath) {
210
- t7 = /* @__PURE__ */ jsxDEV("span", {
211
- className: "w-44 shrink-0 truncate",
212
- role: "gridcell",
213
- title: entry.functionPath,
214
- children: entry.functionPath
215
- }, void 0, false);
216
- $[9] = entry.functionPath;
217
- $[10] = t7;
218
- } else {
219
- t7 = $[10];
220
- }
221
- const t8 = entry.shardKey ?? "—";
222
- let t9;
223
- if ($[11] !== t8) {
224
- t9 = /* @__PURE__ */ jsxDEV("span", {
225
- className: "w-24 shrink-0 truncate text-muted-foreground",
226
- role: "gridcell",
227
- children: t8
228
- }, void 0, false);
229
- $[11] = t8;
230
- $[12] = t9;
231
- } else {
232
- t9 = $[12];
233
- }
234
- const t10 = entry.userId ?? "—";
235
- let t11;
236
- if ($[13] !== t10) {
237
- t11 = /* @__PURE__ */ jsxDEV("span", {
238
- className: "w-24 shrink-0 truncate text-muted-foreground",
239
- role: "gridcell",
240
- children: t10
241
- }, void 0, false);
242
- $[13] = t10;
243
- $[14] = t11;
244
- } else {
245
- t11 = $[14];
246
- }
247
- let t12;
248
- if ($[15] !== entry.durationMs) {
249
- t12 = Math.round(entry.durationMs);
250
- $[15] = entry.durationMs;
251
- $[16] = t12;
252
- } else {
253
- t12 = $[16];
254
- }
255
- const t13 = `${String(t12)}ms`;
256
- let t14;
257
- if ($[17] !== t13) {
258
- t14 = /* @__PURE__ */ jsxDEV("span", {
259
- className: "w-16 shrink-0 tabular-nums text-muted-foreground",
260
- role: "gridcell",
261
- children: t13
262
- }, void 0, false);
263
- $[17] = t13;
264
- $[18] = t14;
265
- } else {
266
- t14 = $[18];
267
- }
268
- let t15;
269
- if ($[19] !== entry.errorMessage || $[20] !== entry.outcome || $[21] !== entry.tablesRead || $[22] !== entry.tablesWritten) {
270
- t15 = entry.outcome === "error" && entry.errorMessage !== void 0 ? entry.errorMessage : `r:${tablesLabel(entry.tablesRead)} · w:${tablesLabel(entry.tablesWritten)}`;
271
- $[19] = entry.errorMessage;
272
- $[20] = entry.outcome;
273
- $[21] = entry.tablesRead;
274
- $[22] = entry.tablesWritten;
275
- $[23] = t15;
276
- } else {
277
- t15 = $[23];
278
- }
279
- let t16;
280
- if ($[24] !== t15) {
281
- t16 = /* @__PURE__ */ jsxDEV("span", {
282
- className: "flex-1 truncate text-muted-foreground",
283
- role: "gridcell",
284
- children: t15
285
- }, void 0, false);
286
- $[24] = t15;
287
- $[25] = t16;
288
- } else {
289
- t16 = $[25];
290
- }
291
- let t17;
292
- if ($[26] !== index || $[27] !== measureRef || $[28] !== style || $[29] !== t11 || $[30] !== t14 || $[31] !== t16 || $[32] !== t4 || $[33] !== t6 || $[34] !== t7 || $[35] !== t9) {
293
- t17 = /* @__PURE__ */ jsxDEV("div", {
294
- className: "flex items-center border-b border-border px-3 py-1.5 font-mono text-xs hover:bg-muted/50",
295
- "data-index": index,
296
- "data-testid": "lg-req-row",
297
- ref: measureRef,
298
- role: "row",
299
- style,
300
- children: [t4, t6, t7, t9, t11, t14, t16]
301
- }, void 0, true);
302
- $[26] = index;
303
- $[27] = measureRef;
304
- $[28] = style;
305
- $[29] = t11;
306
- $[30] = t14;
307
- $[31] = t16;
308
- $[32] = t4;
309
- $[33] = t6;
310
- $[34] = t7;
311
- $[35] = t9;
312
- $[36] = t17;
313
- } else {
314
- t17 = $[36];
315
- }
316
- return t17;
317
- };
318
- const entriesOf = (result) => {
319
- const {
320
- entries
321
- } = result ?? {};
322
- return Array.isArray(entries) ? entries : [];
323
- };
324
- const buildRequestQuery = (filters) => {
325
- const query = {};
326
- if (filters.functionPathPrefix.trim() !== "") {
327
- query.functionPathPrefix = filters.functionPathPrefix.trim();
328
- }
329
- if (filters.userId.trim() !== "") {
330
- query.userId = filters.userId.trim();
331
- }
332
- if (filters.tableTouched.trim() !== "") {
333
- query.tableTouched = filters.tableTouched.trim();
334
- }
335
- if (filters.outcome === "ok" || filters.outcome === "error") {
336
- query.outcome = filters.outcome;
337
- }
338
- return query;
339
- };
340
- const LOG_LEVELS = ["debug", "info", "warn", "error"];
341
- const TIME_RANGE_MS = {
342
- "5m": 5 * 60 * 1e3,
343
- "15m": 15 * 60 * 1e3,
344
- "1h": 60 * 60 * 1e3
345
- };
346
- const filterLogs = (entries, criteria) => {
347
- const needle = criteria.search.trim().toLowerCase();
348
- const pathNeedle = criteria.path.trim().toLowerCase();
349
- const floor = criteria.range === "all" ? Number.NEGATIVE_INFINITY : criteria.now - TIME_RANGE_MS[criteria.range];
350
- return entries.filter((entry) => {
351
- if (criteria.levels.size > 0 && !criteria.levels.has(entry.level)) {
352
- return false;
353
- }
354
- if (entry.timestamp < floor) {
355
- return false;
356
- }
357
- if (pathNeedle !== "" && !(entry.functionPath ?? "").toLowerCase().includes(pathNeedle)) {
358
- return false;
359
- }
360
- return needle === "" || entry.message.toLowerCase().includes(needle);
361
- });
362
- };
363
- const NO_PATH_KEY = "—";
364
- const summarizeLogs = (entries) => {
365
- const levelCounts = /* @__PURE__ */ new Map();
366
- const pathCounts = /* @__PURE__ */ new Map();
367
- for (const entry of entries) {
368
- levelCounts.set(entry.level, (levelCounts.get(entry.level) ?? 0) + 1);
369
- const pathKey = entry.functionPath ?? NO_PATH_KEY;
370
- pathCounts.set(pathKey, (pathCounts.get(pathKey) ?? 0) + 1);
371
- }
372
- const byLevel = LOG_LEVELS.filter((level) => levelCounts.has(level)).map((level) => {
373
- return {
374
- count: levelCounts.get(level) ?? 0,
375
- key: level
376
- };
377
- });
378
- const byPath = [...pathCounts.entries()].map(([key, count]) => {
379
- return {
380
- count,
381
- key
382
- };
383
- }).toSorted((a, b) => b.count === a.count ? a.key.localeCompare(b.key) : b.count - a.count);
384
- return {
385
- byLevel,
386
- byPath,
387
- total: entries.length
388
- };
389
- };
390
- const LevelToggle = (t0) => {
391
- const $ = c(11);
392
- const {
393
- level,
394
- onToggle,
395
- selected
396
- } = t0;
397
- let t1;
398
- if ($[0] !== level || $[1] !== onToggle) {
399
- t1 = () => {
400
- onToggle(level);
401
- };
402
- $[0] = level;
403
- $[1] = onToggle;
404
- $[2] = t1;
405
- } else {
406
- t1 = $[2];
407
- }
408
- const onClick = t1;
409
- const t2 = selected ? "border-border bg-muted font-medium" : "border-input text-muted-foreground";
410
- let t3;
411
- if ($[3] !== t2) {
412
- t3 = cn("rounded-md border px-2 py-1 text-xs", t2);
413
- $[3] = t2;
414
- $[4] = t3;
415
- } else {
416
- t3 = $[4];
417
- }
418
- const t4 = `logs-level-${level}`;
419
- let t5;
420
- if ($[5] !== level || $[6] !== onClick || $[7] !== selected || $[8] !== t3 || $[9] !== t4) {
421
- t5 = /* @__PURE__ */ jsxDEV("button", {
422
- "aria-pressed": selected,
423
- className: t3,
424
- "data-testid": t4,
425
- onClick,
426
- type: "button",
427
- children: level
428
- }, void 0, false);
429
- $[5] = level;
430
- $[6] = onClick;
431
- $[7] = selected;
432
- $[8] = t3;
433
- $[9] = t4;
434
- $[10] = t5;
435
- } else {
436
- t5 = $[10];
437
- }
438
- return t5;
439
- };
440
- const SummaryBucketRow = (t0) => {
441
- const $ = c(7);
442
- const {
443
- bucket
444
- } = t0;
445
- let t1;
446
- if ($[0] !== bucket.key) {
447
- t1 = /* @__PURE__ */ jsxDEV("span", {
448
- className: "truncate text-muted-foreground",
449
- role: "gridcell",
450
- children: bucket.key
451
- }, void 0, false);
452
- $[0] = bucket.key;
453
- $[1] = t1;
454
- } else {
455
- t1 = $[1];
456
- }
457
- let t2;
458
- if ($[2] !== bucket.count) {
459
- t2 = /* @__PURE__ */ jsxDEV("span", {
460
- className: "shrink-0 tabular-nums",
461
- role: "gridcell",
462
- children: bucket.count
463
- }, void 0, false);
464
- $[2] = bucket.count;
465
- $[3] = t2;
466
- } else {
467
- t2 = $[3];
468
- }
469
- let t3;
470
- if ($[4] !== t1 || $[5] !== t2) {
471
- t3 = /* @__PURE__ */ jsxDEV("div", {
472
- className: "flex items-center justify-between gap-4 px-3 py-1 font-mono text-xs",
473
- "data-testid": "logs-summary-row",
474
- role: "row",
475
- children: [t1, t2]
476
- }, void 0, true);
477
- $[4] = t1;
478
- $[5] = t2;
479
- $[6] = t3;
480
- } else {
481
- t3 = $[6];
482
- }
483
- return t3;
484
- };
485
- const LogsPanel = ({
486
- initialShardKey
487
- }) => {
488
- const t = useT();
489
- const [view, setView] = useState("requests");
490
- const [shardKey, setShardKey] = useState(initialShardKey ?? "");
491
- const [search, setSearch] = useState("");
492
- const [levelFilter, setLevelFilter] = useState(() => /* @__PURE__ */ new Set());
493
- const [pathFilter, setPathFilter] = useState("");
494
- const [timeRange, setTimeRange] = useState("all");
495
- const [showSummary, setShowSummary] = useState(false);
496
- const [pathPrefix, setPathPrefix] = useState("");
497
- const [userIdFilter, setUserIdFilter] = useState("");
498
- const [tableFilter, setTableFilter] = useState("");
499
- const [outcomeFilter, setOutcomeFilter] = useState("all");
500
- const debouncedShard = useDebounced(shardKey.trim(), 400);
501
- const requestQuery = buildRequestQuery({
502
- functionPathPrefix: pathPrefix,
503
- outcome: outcomeFilter,
504
- tableTouched: tableFilter,
505
- userId: userIdFilter
506
- });
507
- const requestsQuery = useAdminQuery(ADMIN_FUNCTIONS.getRequestLog, requestQuery, {
508
- enabled: view === "requests",
509
- live: true,
510
- shardKey: debouncedShard
511
- });
512
- const errorsQuery = useAdminQuery(ADMIN_FUNCTIONS.getLogs, {}, {
513
- enabled: view === "errors",
514
- live: true,
515
- shardKey: debouncedShard
516
- });
517
- const activeQuery = view === "requests" ? requestsQuery : errorsQuery;
518
- const {
519
- error,
520
- errorSource,
521
- isLoading: activeLoading,
522
- liveError
523
- } = activeQuery;
524
- const entries = entriesOf(errorsQuery.data);
525
- const requests = entriesOf(requestsQuery.data);
526
- useEffect(() => {
527
- if (activeQuery.data !== void 0) {
528
- recordShard(debouncedShard);
529
- }
530
- }, [activeQuery.data, debouncedShard]);
531
- const filtered = filterLogs(entries, {
532
- levels: levelFilter,
533
- now: Date.now(),
534
- path: pathFilter,
535
- range: timeRange,
536
- search
537
- });
538
- const summary = summarizeLogs(filtered);
539
- const activeCount = view === "requests" ? requests.length : filtered.length;
540
- const summaryVisible = view === "errors" && showSummary;
541
- const readout = useMemo(() => {
542
- if (error !== null) {
543
- return "error";
544
- }
545
- if (activeCount === 0) {
546
- if (activeLoading) {
547
- return summaryVisible ? "summary" : "list";
548
- }
549
- return "empty";
550
- }
551
- return summaryVisible ? "summary" : "list";
552
- }, [activeCount, activeLoading, error, summaryVisible]);
553
- const scrollRef = useRef(null);
554
- const virtualizer = useVirtualizer({
555
- count: activeCount,
556
- estimateSize: () => ROW_HEIGHT,
557
- getScrollElement: () => scrollRef.current,
558
- initialRect: {
559
- height: SCROLL_HEIGHT,
560
- width: 800
561
- },
562
- observeElementRect: (instance, callback) => flooredRectObserver(instance, callback, SCROLL_HEIGHT),
563
- overscan: 8
564
- });
565
- const virtualRows = virtualizer.getVirtualItems();
566
- const totalSize = virtualizer.getTotalSize();
567
- const gridStyle = {
568
- height: totalSize,
569
- position: "relative",
570
- width: "100%"
571
- };
572
- const onSearchChange = (event) => {
573
- setSearch(event.target.value);
574
- };
575
- const toggleLevel = (level) => {
576
- setLevelFilter((previous) => {
577
- const next = new Set(previous);
578
- if (next.has(level)) {
579
- next.delete(level);
580
- } else {
581
- next.add(level);
582
- }
583
- return next;
584
- });
585
- };
586
- const onLogPathChange = (event_0) => {
587
- setPathFilter(event_0.target.value);
588
- };
589
- const onTimeRangeChange = (event_1) => {
590
- setTimeRange(event_1.target.value);
591
- };
592
- const toggleSummary = () => {
593
- setShowSummary((previous_0) => !previous_0);
594
- };
595
- const onPathChange = (event_2) => {
596
- setPathPrefix(event_2.target.value);
597
- };
598
- const onUserChange = (event_3) => {
599
- setUserIdFilter(event_3.target.value);
600
- };
601
- const onTableChange = (event_4) => {
602
- setTableFilter(event_4.target.value);
603
- };
604
- const onOutcomeChange = (event_5) => {
605
- setOutcomeFilter(event_5.target.value);
606
- };
607
- const showRequests = () => {
608
- setView("requests");
609
- setShowSummary(false);
610
- };
611
- const showErrors = () => {
612
- setView("errors");
613
- setShowSummary(false);
614
- };
615
- return /* @__PURE__ */ jsxDEV("div", {
616
- className: "flex flex-col gap-4",
617
- "data-testid": "lunora-logs",
618
- children: [/* @__PURE__ */ jsxDEV("div", {
619
- className: "flex flex-wrap items-center gap-2",
620
- children: [/* @__PURE__ */ jsxDEV("div", {
621
- className: "inline-flex overflow-hidden rounded-lg border border-border",
622
- role: "tablist",
623
- children: [/* @__PURE__ */ jsxDEV("button", {
624
- "aria-selected": view === "requests",
625
- className: cn("px-3 py-1 text-sm", view === "requests" ? "bg-muted font-medium" : "text-muted-foreground"),
626
- "data-testid": "lg-view-requests",
627
- onClick: showRequests,
628
- role: "tab",
629
- type: "button",
630
- children: t("Requests")
631
- }, void 0, false), /* @__PURE__ */ jsxDEV("button", {
632
- "aria-selected": view === "errors",
633
- className: cn("px-3 py-1 text-sm", view === "errors" ? "bg-muted font-medium" : "text-muted-foreground"),
634
- "data-testid": "lg-view-errors",
635
- onClick: showErrors,
636
- role: "tab",
637
- type: "button",
638
- children: t("Errors")
639
- }, void 0, false)]
640
- }, void 0, true), /* @__PURE__ */ jsxDEV(ShardInput, {
641
- onChange: setShardKey,
642
- testId: "lg-shard-input",
643
- value: shardKey
644
- }, void 0, false), /* @__PURE__ */ jsxDEV(LiveError, {
645
- message: liveError,
646
- prefix: "lg"
647
- }, void 0, false), /* @__PURE__ */ jsxDEV("a", {
648
- className: "text-sm text-primary underline-offset-4 hover:underline",
649
- "data-testid": "lg-cf-link",
650
- href: CLOUDFLARE_OBSERVABILITY_URL,
651
- rel: "noreferrer",
652
- target: "_blank",
653
- children: t("Open in Cloudflare")
654
- }, void 0, false)]
655
- }, void 0, true), view === "errors" && /* @__PURE__ */ jsxDEV("div", {
656
- className: "flex flex-wrap items-center gap-2",
657
- children: [/* @__PURE__ */ jsxDEV(Input, {
658
- "aria-label": t("Search messages"),
659
- className: "h-8 w-48",
660
- "data-testid": "lg-search",
661
- onChange: onSearchChange,
662
- placeholder: t("search message"),
663
- value: search
664
- }, void 0, false), /* @__PURE__ */ jsxDEV(Input, {
665
- "aria-label": t("Function path"),
666
- className: "h-8 w-40",
667
- "data-testid": "logs-path-filter",
668
- onChange: onLogPathChange,
669
- placeholder: t("filter path"),
670
- value: pathFilter
671
- }, void 0, false), /* @__PURE__ */ jsxDEV("div", {
672
- "aria-label": t("Level filter"),
673
- className: "inline-flex items-center gap-1",
674
- "data-testid": "logs-level-filter",
675
- role: "group",
676
- children: LOG_LEVELS.map((level_0) => /* @__PURE__ */ jsxDEV(LevelToggle, {
677
- level: level_0,
678
- onToggle: toggleLevel,
679
- selected: levelFilter.has(level_0)
680
- }, level_0, false))
681
- }, void 0, false), /* @__PURE__ */ jsxDEV("select", {
682
- "aria-label": t("Time range"),
683
- 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",
684
- "data-testid": "logs-time-range",
685
- onChange: onTimeRangeChange,
686
- value: timeRange,
687
- children: [/* @__PURE__ */ jsxDEV("option", {
688
- value: "all",
689
- children: t("All time")
690
- }, void 0, false), /* @__PURE__ */ jsxDEV("option", {
691
- value: "5m",
692
- children: t("Last 5m")
693
- }, void 0, false), /* @__PURE__ */ jsxDEV("option", {
694
- value: "15m",
695
- children: t("Last 15m")
696
- }, void 0, false), /* @__PURE__ */ jsxDEV("option", {
697
- value: "1h",
698
- children: t("Last hour")
699
- }, void 0, false)]
700
- }, void 0, true), /* @__PURE__ */ jsxDEV("button", {
701
- "aria-pressed": showSummary,
702
- className: cn("h-8 rounded-md border px-3 text-sm", showSummary ? "border-border bg-muted font-medium" : "border-input text-muted-foreground"),
703
- "data-testid": "logs-summary-toggle",
704
- onClick: toggleSummary,
705
- type: "button",
706
- children: showSummary ? t("List") : t("Summary")
707
- }, void 0, false)]
708
- }, void 0, true), view === "requests" && /* @__PURE__ */ jsxDEV("div", {
709
- className: "flex flex-wrap items-center gap-2",
710
- children: [/* @__PURE__ */ jsxDEV(Input, {
711
- "aria-label": t("Function path"),
712
- className: "h-8 w-44",
713
- "data-testid": "lg-req-path",
714
- onChange: onPathChange,
715
- placeholder: t("file:function"),
716
- value: pathPrefix
717
- }, void 0, false), /* @__PURE__ */ jsxDEV(Input, {
718
- "aria-label": t("User id"),
719
- className: "h-8 w-32",
720
- "data-testid": "lg-req-user",
721
- onChange: onUserChange,
722
- placeholder: t("userId"),
723
- value: userIdFilter
724
- }, void 0, false), /* @__PURE__ */ jsxDEV(Input, {
725
- "aria-label": t("Table touched"),
726
- className: "h-8 w-32",
727
- "data-testid": "lg-req-table",
728
- onChange: onTableChange,
729
- placeholder: t("table"),
730
- value: tableFilter
731
- }, void 0, false), /* @__PURE__ */ jsxDEV("select", {
732
- "aria-label": t("Outcome filter"),
733
- 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",
734
- "data-testid": "lg-req-outcome",
735
- onChange: onOutcomeChange,
736
- value: outcomeFilter,
737
- children: [/* @__PURE__ */ jsxDEV("option", {
738
- value: "all",
739
- children: t("all")
740
- }, void 0, false), /* @__PURE__ */ jsxDEV("option", {
741
- value: "ok",
742
- children: t("ok")
743
- }, void 0, false), /* @__PURE__ */ jsxDEV("option", {
744
- value: "error",
745
- children: t("error")
746
- }, void 0, false)]
747
- }, void 0, true)]
748
- }, void 0, true), readout === "error" && /* @__PURE__ */ jsxDEV(ErrorAlert, {
749
- error: errorSource,
750
- testId: "lg-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 };