@lunora/studio 1.0.0-alpha.36 → 1.0.0-alpha.361

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 (475) hide show
  1. package/LICENSE.md +6 -0
  2. package/README.md +4 -4
  3. package/dist/index.d.mts +1621 -0
  4. package/dist/index.d.ts +1013 -809
  5. package/dist/index.mjs +1 -0
  6. package/dist/mount.d.mts +23 -0
  7. package/dist/mount.d.ts +13 -11
  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 +8 -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/storage-rules-panel.mjs +1 -0
  54. package/dist/packem_chunks/subscriptions-panel.mjs +1 -0
  55. package/dist/packem_chunks/sync-client-panel.mjs +1 -0
  56. package/dist/packem_chunks/theme-indicator.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-4aGsMs95.mjs +1 -0
  62. package/dist/packem_shared/ApiDocsPanel-DD2Uns6b.mjs +2 -0
  63. package/dist/packem_shared/ApiReferencePanel-CQxU1Ocx.mjs +1 -0
  64. package/dist/packem_shared/CommandPalette-BZCHLpst.mjs +1 -0
  65. package/dist/packem_shared/ConfirmButton-CIXYF6Mg.mjs +1 -0
  66. package/dist/packem_shared/ConnectionBadge-BfcoN-VE.mjs +1 -0
  67. package/dist/packem_shared/DEFAULT_AUTO_REFRESH_MS-Py5Yx7rP.mjs +1 -0
  68. package/dist/packem_shared/DEFAULT_INSIGHT_THRESHOLDS-D5YMT0gM.mjs +1 -0
  69. package/dist/packem_shared/DEFAULT_LOCALE-BQ3jRT74.mjs +1 -0
  70. package/dist/packem_shared/DataBrowser-CVRWnNWu.mjs +4 -0
  71. package/dist/packem_shared/DataFilters--ocFTVT2.mjs +1 -0
  72. package/dist/packem_shared/ErrorBoundary-BWNF98VF.mjs +1 -0
  73. package/dist/packem_shared/GlobalDataBrowser-DC47T6Zl.mjs +1 -0
  74. package/dist/packem_shared/HomePanel-D12HxHQo.mjs +1 -0
  75. package/dist/packem_shared/MigrationsPanel-DMkxSXNl.mjs +1 -0
  76. package/dist/packem_shared/OpenRpcReferencePanel-BFDG91tn.mjs +1 -0
  77. package/dist/packem_shared/STUDIO_ROOT_CLASS-C6MccdVk.mjs +1 -0
  78. package/dist/packem_shared/ScheduledJobs-QCTRdugp.mjs +1 -0
  79. package/dist/packem_shared/ShardInput-CoySruKZ.mjs +1 -0
  80. package/dist/packem_shared/Studio-MA8kKZLu.mjs +1 -0
  81. package/dist/packem_shared/StudioApp-isdWpF9P.mjs +1 -0
  82. package/dist/packem_shared/StudioI18nProvider-CGXCPnQn.mjs +1 -0
  83. package/dist/packem_shared/advisor-view-tBumWci_.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-D425h1XO.d.mts +352 -0
  87. package/dist/packem_shared/app.d-D425h1XO.d.ts +352 -0
  88. package/dist/packem_shared/auth-pager-DW77WeZw.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-B5m1OosL.mjs +1 -0
  98. package/dist/packem_shared/data-view-params-C-_G-biH.mjs +1 -0
  99. package/dist/packem_shared/diagram-export-panel-Vdt-DZnO.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-C0R39DO1.mjs +1 -0
  103. package/dist/packem_shared/grid-features-Drvfswwy.mjs +6 -0
  104. package/dist/packem_shared/grid-pagination-DY2erU65.mjs +1 -0
  105. package/dist/packem_shared/home-panel-CDVTuTF8.mjs +3 -0
  106. package/dist/packem_shared/input-CXhxesPC.mjs +1 -0
  107. package/dist/packem_shared/internal-hIuTpSbx.mjs +2 -0
  108. package/dist/packem_shared/label-DKFzyHq6.mjs +1 -0
  109. package/dist/packem_shared/live-status-D1GasNsH.mjs +1 -0
  110. package/dist/packem_shared/log-fields-BolUoZ9g.mjs +1 -0
  111. package/dist/packem_shared/log-line-BH0iWiBv.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-DAipTA_n.mjs +1 -0
  116. package/dist/packem_shared/reference-view-DENugPcj.mjs +13 -0
  117. package/dist/packem_shared/schema-diagram-CtVPhOGj.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-DCwooMGW.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-UhUrPz5J.mjs +2 -0
  128. package/dist/packem_shared/table-D0SBiDu-.mjs +2 -0
  129. package/dist/packem_shared/table-list-sidebar-CNadcIgG.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-CaOm4JS3.mjs +1 -0
  133. package/dist/packem_shared/use-admin-spec-CK7mk3Ui.mjs +1 -0
  134. package/dist/packem_shared/use-async-submit-D0r7-m2J.mjs +1 -0
  135. package/dist/packem_shared/use-auth-config-CG7VvAvQ.mjs +1 -0
  136. package/dist/packem_shared/use-mirrored-ref-CVDf2z1M.mjs +1 -0
  137. package/dist/packem_shared/use-open-trace-BJKMJjeS.mjs +1 -0
  138. package/dist/packem_shared/use-shard-key-BsP3o5wT.mjs +1 -0
  139. package/dist/packem_shared/use-sql-assistant-rZPs3LC3.mjs +1 -0
  140. package/dist/packem_shared/use-studio-client-DCA50tF2.mjs +1 -0
  141. package/dist/packem_shared/useDebounced-DVeQ5-oW.mjs +1 -0
  142. package/dist/packem_shared/utils-bhneXptQ.mjs +1 -0
  143. package/dist/packem_shared/virtual-rect-D_j7aLxX.mjs +1 -0
  144. package/dist/standalone/chunk-2AH4ABE5.js +1 -0
  145. package/dist/standalone/chunk-2G57ENH5.js +1 -0
  146. package/dist/standalone/chunk-3FS22LNI.js +4 -0
  147. package/dist/standalone/chunk-3GXPALXG.js +1 -0
  148. package/dist/standalone/chunk-3GYLOE4V.js +1 -0
  149. package/dist/standalone/chunk-3PAYDWHN.js +8 -0
  150. package/dist/standalone/chunk-473JK2PQ.js +1 -0
  151. package/dist/standalone/chunk-4C4THJUD.js +1 -0
  152. package/dist/standalone/chunk-4DAKKAK7.js +1 -0
  153. package/dist/standalone/chunk-4M57OYFX.js +1 -0
  154. package/dist/standalone/chunk-4SQBAPY6.js +1 -0
  155. package/dist/standalone/chunk-5DNGK3NT.js +1 -0
  156. package/dist/standalone/chunk-5GIQ6C5N.js +1 -0
  157. package/dist/standalone/chunk-5R2YO7HF.js +4 -0
  158. package/dist/standalone/chunk-5WJG7FMH.js +1 -0
  159. package/dist/standalone/chunk-63KDHS3H.js +1 -0
  160. package/dist/standalone/chunk-6B6ARRMI.js +1 -0
  161. package/dist/standalone/chunk-6LMO2D54.js +1 -0
  162. package/dist/standalone/chunk-6M7FLLMT.js +1 -0
  163. package/dist/standalone/chunk-6QEXGYWH.js +1 -0
  164. package/dist/standalone/chunk-6UTZXEW3.js +1 -0
  165. package/dist/standalone/chunk-6VAY6L4J.js +1 -0
  166. package/dist/standalone/chunk-7PADVGQX.js +1 -0
  167. package/dist/standalone/chunk-7RGYCU6F.js +1 -0
  168. package/dist/standalone/chunk-7UM5ROG6.js +1 -0
  169. package/dist/standalone/chunk-7ZIYHKLX.js +5 -0
  170. package/dist/standalone/chunk-A566HCBX.js +1 -0
  171. package/dist/standalone/chunk-A5JISKHE.js +1 -0
  172. package/dist/standalone/chunk-ADNRFCMZ.js +1 -0
  173. package/dist/standalone/chunk-AP4PC2M4.js +1 -0
  174. package/dist/standalone/chunk-BFE2DRP6.js +33 -0
  175. package/dist/standalone/chunk-BPEB4KFE.js +1 -0
  176. package/dist/standalone/chunk-BVX45MU5.js +7 -0
  177. package/dist/standalone/chunk-BYOGQ2IV.js +3 -0
  178. package/dist/standalone/chunk-C6GN7ZXJ.js +1 -0
  179. package/dist/standalone/chunk-CL2VZNDI.js +1 -0
  180. package/dist/standalone/chunk-CNA3TVUK.js +1 -0
  181. package/dist/standalone/chunk-CZ6HBDIL.js +1 -0
  182. package/dist/standalone/chunk-D6S7MXW4.js +1 -0
  183. package/dist/standalone/chunk-DBVJ5VLI.js +1 -0
  184. package/dist/standalone/chunk-DX55P3KZ.js +1 -0
  185. package/dist/standalone/chunk-E26OT26O.js +1 -0
  186. package/dist/standalone/chunk-FCAXVYAX.js +1 -0
  187. package/dist/standalone/chunk-FXPAJDES.js +1 -0
  188. package/dist/standalone/chunk-H7HZ42JY.js +1 -0
  189. package/dist/standalone/chunk-HHRYM6UW.js +1 -0
  190. package/dist/standalone/chunk-HPRF5LMA.js +1 -0
  191. package/dist/standalone/chunk-IB22LETR.js +1 -0
  192. package/dist/standalone/chunk-IBJVVHV5.js +1 -0
  193. package/dist/standalone/chunk-IENQRRQT.js +1 -0
  194. package/dist/standalone/chunk-IH2CJZF2.js +1 -0
  195. package/dist/standalone/chunk-IQ4TTHQT.js +1 -0
  196. package/dist/standalone/chunk-ITH5LRWM.js +1 -0
  197. package/dist/standalone/chunk-J6VFG6M5.js +1 -0
  198. package/dist/standalone/chunk-JSDKOE4U.js +1 -0
  199. package/dist/standalone/chunk-JTGGWF7R.js +1 -0
  200. package/dist/standalone/chunk-JZD7ZN3F.js +1 -0
  201. package/dist/standalone/chunk-K3CWB3AM.js +1 -0
  202. package/dist/standalone/chunk-KNFB3FGW.js +1 -0
  203. package/dist/standalone/chunk-KNXWDE4N.js +1 -0
  204. package/dist/standalone/chunk-KRPXOSBL.js +1 -0
  205. package/dist/standalone/chunk-KRY7BYHT.js +1 -0
  206. package/dist/standalone/chunk-KYAG2YMF.js +1 -0
  207. package/dist/standalone/chunk-KZCEJFZF.js +1 -0
  208. package/dist/standalone/chunk-KZILJQX3.js +8 -0
  209. package/dist/standalone/chunk-LEYUH5TS.js +1 -0
  210. package/dist/standalone/chunk-LFM672WN.js +1 -0
  211. package/dist/standalone/chunk-LIGOLZND.js +1 -0
  212. package/dist/standalone/chunk-LPU6YTSU.js +1 -0
  213. package/dist/standalone/chunk-LUHXNZI4.js +2 -0
  214. package/dist/standalone/chunk-MWJC3S62.js +1 -0
  215. package/dist/standalone/chunk-NGVP66OH.js +1 -0
  216. package/dist/standalone/chunk-NP2AQOLE.js +1 -0
  217. package/dist/standalone/chunk-NVKLYDOH.js +1 -0
  218. package/dist/standalone/chunk-O2NMPIV2.js +59 -0
  219. package/dist/standalone/chunk-O2X2XYCM.js +1 -0
  220. package/dist/standalone/chunk-O3MDWYXF.js +1 -0
  221. package/dist/standalone/chunk-ONG4JEZD.js +1 -0
  222. package/dist/standalone/chunk-ONWGX5Y4.js +6 -0
  223. package/dist/standalone/chunk-OS26JXYA.js +1 -0
  224. package/dist/standalone/chunk-OXFKZ4BM.js +1 -0
  225. package/dist/standalone/chunk-PGTEGUAB.js +1 -0
  226. package/dist/standalone/chunk-PQH2LSJX.js +1 -0
  227. package/dist/standalone/chunk-PTBUWRBY.js +1 -0
  228. package/dist/standalone/chunk-Q6HA3L2H.js +1 -0
  229. package/dist/standalone/chunk-QGV5ARD2.js +1 -0
  230. package/dist/standalone/chunk-QWRK4ESB.js +1 -0
  231. package/dist/standalone/chunk-R36QXQZX.js +1 -0
  232. package/dist/standalone/chunk-RL2ITK2N.js +1 -0
  233. package/dist/standalone/chunk-RTJO3AR4.js +1 -0
  234. package/dist/standalone/chunk-SFY646MC.js +1 -0
  235. package/dist/standalone/chunk-SLIDAWNX.js +1 -0
  236. package/dist/standalone/chunk-SU5DTRGK.js +3 -0
  237. package/dist/standalone/{chunk-BJGBHGK3.js → chunk-SYGCASPT.js} +1 -1
  238. package/dist/standalone/chunk-T5UMHPAB.js +1 -0
  239. package/dist/standalone/chunk-T6HV2FQP.js +2 -0
  240. package/dist/standalone/chunk-T7ZKNNGX.js +1 -0
  241. package/dist/standalone/chunk-TCYPNSTV.js +1 -0
  242. package/dist/standalone/chunk-TDVDZ7XQ.js +1 -0
  243. package/dist/standalone/chunk-TQM6XHBA.js +1 -0
  244. package/dist/standalone/chunk-TRMWBRRU.js +1 -0
  245. package/dist/standalone/chunk-TW7KJSMR.js +15 -0
  246. package/dist/standalone/chunk-TYD3V4NB.js +1 -0
  247. package/dist/standalone/chunk-TZKLK52W.js +1 -0
  248. package/dist/standalone/chunk-U4RXQSQ7.js +1 -0
  249. package/dist/standalone/chunk-UNZ2UBVL.js +1 -0
  250. package/dist/standalone/chunk-UYEZR3BI.js +1 -0
  251. package/dist/standalone/chunk-VEWQWS3J.js +1 -0
  252. package/dist/standalone/chunk-VJRNOSRY.js +1 -0
  253. package/dist/standalone/chunk-W2BCSK5S.js +1 -0
  254. package/dist/standalone/chunk-W7MRISE3.js +1 -0
  255. package/dist/standalone/chunk-WM72PRE3.js +1 -0
  256. package/dist/standalone/chunk-WS36BO4R.js +1 -0
  257. package/dist/standalone/chunk-X4WHMCOZ.js +1 -0
  258. package/dist/standalone/chunk-X74GEPSG.js +1 -0
  259. package/dist/standalone/chunk-XIRKBJPD.js +14 -0
  260. package/dist/standalone/chunk-XKPD4SFN.js +1 -0
  261. package/dist/standalone/chunk-XMSNLMWU.js +1 -0
  262. package/dist/standalone/chunk-XOPFDWXX.js +1 -0
  263. package/dist/standalone/chunk-XQLOVFPP.js +1 -0
  264. package/dist/standalone/chunk-XSHYZPGF.js +1 -0
  265. package/dist/standalone/chunk-XST3UEHU.js +1 -0
  266. package/dist/standalone/chunk-XYR5NST4.js +1 -0
  267. package/dist/standalone/chunk-Y74LIFSL.js +1 -0
  268. package/dist/standalone/chunk-YHTHRYP5.js +1 -0
  269. package/dist/standalone/chunk-YMEKCV27.js +1 -0
  270. package/dist/standalone/chunk-Z5EV64KS.js +1 -0
  271. package/dist/standalone/chunk-ZBON5T5A.js +1 -0
  272. package/dist/standalone/chunk-ZGSL4DPP.js +1 -0
  273. package/dist/standalone/chunk-ZOQTXWPK.js +1 -0
  274. package/dist/standalone/chunk-ZTOREMGH.js +1 -0
  275. package/dist/standalone/chunk-ZZ5GICTF.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 -353
  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 -1052
  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-BHHJi3Gb.js +0 -52
  321. package/dist/packem_shared/ApiDocsPanel-D4CJf2ad.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-BeVNxSVm.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-D9MQk8I7.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-C48P1K5W.js +0 -16
  339. package/dist/packem_shared/StudioApp-Cqh-SYm2.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-CoGxi-oj.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/scroll-area-DLhcy-ml.js +0 -93
  366. package/dist/packem_shared/select-UkNYCT3s.js +0 -273
  367. package/dist/packem_shared/shard-history-DyebH1R5.js +0 -38
  368. package/dist/packem_shared/skeleton-CGhL0p20.js +0 -45
  369. package/dist/packem_shared/sparkline-BnA1kC9X.js +0 -93
  370. package/dist/packem_shared/storage-tier-CL98eOvn.js +0 -85
  371. package/dist/packem_shared/studio-CPHA_-3I.js +0 -4015
  372. package/dist/packem_shared/table-DsCa9Qp9.js +0 -246
  373. package/dist/packem_shared/table-list-sidebar-B5psdSV1.js +0 -832
  374. package/dist/packem_shared/textarea-D3gaCU_-.js +0 -46
  375. package/dist/packem_shared/use-admin-query-BHPKmPuj.js +0 -106
  376. package/dist/packem_shared/use-auth-capabilities-C-VH0oJJ.js +0 -32
  377. package/dist/packem_shared/useDebounced-Dxncpg6z.js +0 -32
  378. package/dist/packem_shared/utils-B05Dmz_H.js +0 -8
  379. package/dist/packem_shared/virtual-rect-CVMUskSm.js +0 -10
  380. package/dist/standalone/chunk-22W5VKZ6.js +0 -1
  381. package/dist/standalone/chunk-2GGMGPEP.js +0 -1
  382. package/dist/standalone/chunk-2K47A3P6.js +0 -1
  383. package/dist/standalone/chunk-2NGUNNGW.js +0 -1
  384. package/dist/standalone/chunk-2THHW7BC.js +0 -1
  385. package/dist/standalone/chunk-3CJW6NWG.js +0 -4
  386. package/dist/standalone/chunk-3OA7PECS.js +0 -6
  387. package/dist/standalone/chunk-46K3NKPA.js +0 -1
  388. package/dist/standalone/chunk-4QHKBC77.js +0 -1
  389. package/dist/standalone/chunk-5OH3VPZF.js +0 -1
  390. package/dist/standalone/chunk-5OIBXYZM.js +0 -1
  391. package/dist/standalone/chunk-6GFEVKJP.js +0 -1
  392. package/dist/standalone/chunk-6WRZP62V.js +0 -1
  393. package/dist/standalone/chunk-764T6X6X.js +0 -1
  394. package/dist/standalone/chunk-7SLSB2TS.js +0 -4
  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-ATYUMPDM.js +0 -1
  400. package/dist/standalone/chunk-BACPICH6.js +0 -1
  401. package/dist/standalone/chunk-BI35RXKQ.js +0 -1
  402. package/dist/standalone/chunk-BOXSWNXZ.js +0 -1
  403. package/dist/standalone/chunk-BQUQS7QN.js +0 -1
  404. package/dist/standalone/chunk-CKSHCYGC.js +0 -2
  405. package/dist/standalone/chunk-DC72CQY4.js +0 -76
  406. package/dist/standalone/chunk-DORBUITF.js +0 -1
  407. package/dist/standalone/chunk-DVC6YWVP.js +0 -1
  408. package/dist/standalone/chunk-DVKPRFIJ.js +0 -1
  409. package/dist/standalone/chunk-DWDILV2E.js +0 -1
  410. package/dist/standalone/chunk-DWTBY343.js +0 -1
  411. package/dist/standalone/chunk-EUIHTPKI.js +0 -1
  412. package/dist/standalone/chunk-FCSPAJW4.js +0 -1
  413. package/dist/standalone/chunk-GMSGZDDH.js +0 -13
  414. package/dist/standalone/chunk-GTM65MVX.js +0 -1
  415. package/dist/standalone/chunk-HV7G6DFP.js +0 -5
  416. package/dist/standalone/chunk-ILCTSAOB.js +0 -1
  417. package/dist/standalone/chunk-IOFMK4D7.js +0 -1
  418. package/dist/standalone/chunk-J6J54MBP.js +0 -1
  419. package/dist/standalone/chunk-JE2YOAB7.js +0 -4
  420. package/dist/standalone/chunk-JSEXCW5Q.js +0 -1
  421. package/dist/standalone/chunk-K3GNLVYK.js +0 -1
  422. package/dist/standalone/chunk-KEGAWN6Y.js +0 -1
  423. package/dist/standalone/chunk-KJJ3WM6H.js +0 -4
  424. package/dist/standalone/chunk-KZ6INM5M.js +0 -1
  425. package/dist/standalone/chunk-LAK5VSPI.js +0 -1
  426. package/dist/standalone/chunk-LD2R263D.js +0 -1
  427. package/dist/standalone/chunk-LI43EKM6.js +0 -1
  428. package/dist/standalone/chunk-M55U7NHO.js +0 -1
  429. package/dist/standalone/chunk-MPTM7ZU3.js +0 -3
  430. package/dist/standalone/chunk-MPYFGAOW.js +0 -1
  431. package/dist/standalone/chunk-NKJDGOM3.js +0 -1
  432. package/dist/standalone/chunk-O3NAGRTR.js +0 -1
  433. package/dist/standalone/chunk-OCHNCAXJ.js +0 -1
  434. package/dist/standalone/chunk-OIZ4CHPN.js +0 -8
  435. package/dist/standalone/chunk-OY3GVYS7.js +0 -4
  436. package/dist/standalone/chunk-PACH5AHG.js +0 -1
  437. package/dist/standalone/chunk-PN5NCZDX.js +0 -1
  438. package/dist/standalone/chunk-PVZI3CXP.js +0 -19
  439. package/dist/standalone/chunk-PZ7HD5T2.js +0 -1
  440. package/dist/standalone/chunk-Q52CHOSY.js +0 -1
  441. package/dist/standalone/chunk-QAFAJBAW.js +0 -1
  442. package/dist/standalone/chunk-QBAT52GB.js +0 -1
  443. package/dist/standalone/chunk-QLM6FYZW.js +0 -2
  444. package/dist/standalone/chunk-RRAFQ5G2.js +0 -1
  445. package/dist/standalone/chunk-RRCPZMC2.js +0 -22
  446. package/dist/standalone/chunk-RSEEHNFI.js +0 -1
  447. package/dist/standalone/chunk-SEU5V7I6.js +0 -1
  448. package/dist/standalone/chunk-SG3ALJJU.js +0 -1
  449. package/dist/standalone/chunk-SLKF2L74.js +0 -1
  450. package/dist/standalone/chunk-TAD43CG5.js +0 -1
  451. package/dist/standalone/chunk-TBMYIZIO.js +0 -1
  452. package/dist/standalone/chunk-TDL7NEWA.js +0 -1
  453. package/dist/standalone/chunk-TO4JQX7W.js +0 -1
  454. package/dist/standalone/chunk-TOJ3TC35.js +0 -1
  455. package/dist/standalone/chunk-TQ36RWOP.js +0 -1
  456. package/dist/standalone/chunk-U4OAQPBT.js +0 -1
  457. package/dist/standalone/chunk-UK64ZSUW.js +0 -1
  458. package/dist/standalone/chunk-VLXV72QE.js +0 -1
  459. package/dist/standalone/chunk-VTGBPW24.js +0 -1
  460. package/dist/standalone/chunk-WI7GWFEG.js +0 -1
  461. package/dist/standalone/chunk-WXPWVBIY.js +0 -1
  462. package/dist/standalone/chunk-X5P2WRYI.js +0 -1
  463. package/dist/standalone/chunk-X7MMBSNW.js +0 -1
  464. package/dist/standalone/chunk-XLQ4BHBD.js +0 -1
  465. package/dist/standalone/chunk-XNJNSCLM.js +0 -1
  466. package/dist/standalone/chunk-XUGSA2NG.js +0 -1
  467. package/dist/standalone/chunk-Y2ZPNDL7.js +0 -4
  468. package/dist/standalone/chunk-YAECF5LW.js +0 -1
  469. package/dist/standalone/chunk-YEVCU7TB.js +0 -13
  470. package/dist/standalone/chunk-ZHVTQ37P.js +0 -1
  471. package/dist/standalone/chunk-ZIGWVHCS.js +0 -1
  472. package/dist/standalone/chunk-ZPP2KOR4.js +0 -1
  473. package/dist/standalone/chunk-ZPUO7FNI.js +0 -1
  474. package/dist/standalone/chunk-ZU4DZ6NK.js +0 -1
  475. package/dist/standalone/chunk-ZYRGPDZB.js +0 -1
@@ -1,562 +0,0 @@
1
- import { useLunora } from '@lunora/react';
2
- import { useState, useEffect, useMemo } from 'react';
3
- import { B as Button } from '../packem_shared/button-BhsN2uZH.js';
4
- import { C as Card, a as CardContent } from '../packem_shared/card-DURq3ElK.js';
5
- import { E as EmptyState } from '../packem_shared/empty-state-DY_oe0k6.js';
6
- import { I as Input } from '../packem_shared/input-XH4r1Pt1.js';
7
- import { T as Table, a as TableHeader, b as TableRow, c as TableHead, d as TableBody, e as TableCell } from '../packem_shared/table-DsCa9Qp9.js';
8
- import { T as Textarea } from '../packem_shared/textarea-D3gaCU_-.js';
9
- import { u as useAdminQuery } from '../packem_shared/use-admin-query-BHPKmPuj.js';
10
- import { useT } from '../packem_shared/DEFAULT_LOCALE-CiX4W7Kr.js';
11
- import { ADMIN_FUNCTIONS } from '../packem_shared/ADMIN_FUNCTIONS-BHHJi3Gb.js';
12
- import { f as fireAndForget, e as errorMessage, c as callOptions, a as adminRef } from '../packem_shared/internal-DTsYVn-g.js';
13
- import { jsxDEV } from 'react/jsx-dev-runtime';
14
-
15
- const STATUS_FILTERS = ["queued", "running", "paused", "waiting", "complete", "errored", "terminated"];
16
- const ACTIONS = ["pause", "resume", "terminate"];
17
- const NOT_CONFIGURED_CODE = "WORKFLOWS_NOT_CONFIGURED";
18
- const isNotConfigured = (error) => typeof error === "object" && error !== null && error.code === NOT_CONFIGURED_CODE;
19
- const formatStepPayload = (step) => {
20
- const value = step.error ?? step.output;
21
- if (value === void 0) {
22
- return "—";
23
- }
24
- try {
25
- return JSON.stringify(value);
26
- } catch {
27
- return "(unserializable)";
28
- }
29
- };
30
- const WorkflowInstanceHistory = ({
31
- loadDetail,
32
- loadInstances,
33
- readOnly,
34
- runAction,
35
- workflowName
36
- }) => {
37
- const client = useLunora();
38
- const t = useT();
39
- const [instances, setInstances] = useState(null);
40
- const [detail, setDetail] = useState(null);
41
- const [statusFilter, setStatusFilter] = useState("");
42
- const [error, setError] = useState(null);
43
- const [notConfigured, setNotConfigured] = useState(false);
44
- const [busyId, setBusyId] = useState(null);
45
- const detailImpl = loadDetail ?? ((arguments_) => client.getWorkflowInstance(arguments_));
46
- const clientOwned = loadInstances === void 0;
47
- const clientAction = clientOwned ? (arguments_) => client.setWorkflowInstanceStatus(arguments_) : void 0;
48
- const actionImpl = readOnly ? void 0 : runAction ?? clientAction;
49
- const load = async () => {
50
- setError(null);
51
- setNotConfigured(false);
52
- const status = statusFilter === "" ? void 0 : statusFilter;
53
- try {
54
- if (loadInstances === void 0) {
55
- const page = await client.listWorkflowInstances({
56
- name: workflowName,
57
- status
58
- });
59
- if (page.configured === false) {
60
- setInstances(null);
61
- setNotConfigured(true);
62
- return;
63
- }
64
- setInstances(page.instances);
65
- return;
66
- }
67
- setInstances(await loadInstances({
68
- name: workflowName,
69
- status
70
- }));
71
- } catch (error_) {
72
- setInstances(null);
73
- if (isNotConfigured(error_)) {
74
- setNotConfigured(true);
75
- } else {
76
- setError(errorMessage(error_));
77
- }
78
- }
79
- };
80
- useEffect(() => {
81
- setDetail(null);
82
- fireAndForget(load());
83
- }, [workflowName, statusFilter]);
84
- const openDetail = async (id) => {
85
- setError(null);
86
- try {
87
- setDetail(await detailImpl({
88
- id,
89
- name: workflowName
90
- }));
91
- } catch (error_) {
92
- setError(errorMessage(error_));
93
- }
94
- };
95
- const act = async (id, action) => {
96
- if (actionImpl === void 0) {
97
- return;
98
- }
99
- setBusyId(id);
100
- setError(null);
101
- try {
102
- await actionImpl({
103
- action,
104
- id,
105
- name: workflowName
106
- });
107
- await load();
108
- } catch (error_) {
109
- setError(errorMessage(error_));
110
- } finally {
111
- setBusyId(null);
112
- }
113
- };
114
- return /* @__PURE__ */ jsxDEV("div", {
115
- className: "flex flex-col gap-3",
116
- "data-testid": "lunora-workflow-instances",
117
- children: [/* @__PURE__ */ jsxDEV("div", {
118
- className: "flex items-center justify-between gap-2",
119
- children: [/* @__PURE__ */ jsxDEV("h3", {
120
- className: "text-sm font-medium",
121
- children: t("Instance history")
122
- }, void 0, false), /* @__PURE__ */ jsxDEV("select", {
123
- "aria-label": t("Filter by status"),
124
- className: "h-8 rounded-md border border-input bg-transparent px-2.5 py-1 text-xs outline-none focus-visible:border-ring focus-visible:ring-1 focus-visible:ring-ring/50",
125
- "data-testid": "workflow-instances-filter",
126
- onChange: (event) => {
127
- setStatusFilter(event.target.value);
128
- },
129
- value: statusFilter,
130
- children: [/* @__PURE__ */ jsxDEV("option", {
131
- value: "",
132
- children: t("All statuses")
133
- }, void 0, false), STATUS_FILTERS.map((status) => /* @__PURE__ */ jsxDEV("option", {
134
- value: status,
135
- children: status
136
- }, status, false))]
137
- }, void 0, true)]
138
- }, void 0, true), error !== null && /* @__PURE__ */ jsxDEV("p", {
139
- className: "text-sm text-destructive",
140
- "data-testid": "workflow-instances-error",
141
- role: "alert",
142
- children: error
143
- }, void 0, false), notConfigured && /* @__PURE__ */ jsxDEV(EmptyState, {
144
- description: t("Set CLOUDFLARE_ACCOUNT_ID and CLOUDFLARE_API_TOKEN in your .dev.vars to enable workflow instance history."),
145
- testId: "workflow-instances-unconfigured",
146
- title: t("Workflow inspection not configured")
147
- }, void 0, false), !notConfigured && instances !== null && instances.length === 0 && /* @__PURE__ */ jsxDEV(EmptyState, {
148
- description: t("No instances match this filter for the selected workflow."),
149
- testId: "workflow-instances-empty",
150
- title: t("No instances")
151
- }, void 0, false), instances !== null && instances.length > 0 && /* @__PURE__ */ jsxDEV(Card, {
152
- className: "overflow-hidden py-0",
153
- children: /* @__PURE__ */ jsxDEV(CardContent, {
154
- className: "px-0",
155
- children: /* @__PURE__ */ jsxDEV(Table, {
156
- "data-testid": "workflow-instances-table",
157
- children: [/* @__PURE__ */ jsxDEV(TableHeader, {
158
- children: /* @__PURE__ */ jsxDEV(TableRow, {
159
- children: [/* @__PURE__ */ jsxDEV(TableHead, {
160
- children: t("Instance id")
161
- }, void 0, false), /* @__PURE__ */ jsxDEV(TableHead, {
162
- children: t("Status")
163
- }, void 0, false), /* @__PURE__ */ jsxDEV(TableHead, {
164
- children: t("Created")
165
- }, void 0, false), /* @__PURE__ */ jsxDEV(TableHead, {
166
- children: t("Ended")
167
- }, void 0, false), /* @__PURE__ */ jsxDEV(TableHead, {
168
- "aria-label": t("Actions")
169
- }, void 0, false)]
170
- }, void 0, true)
171
- }, void 0, false), /* @__PURE__ */ jsxDEV(TableBody, {
172
- children: instances.map((instance) => /* @__PURE__ */ jsxDEV(TableRow, {
173
- "data-testid": `workflow-instance-${instance.id}`,
174
- children: [/* @__PURE__ */ jsxDEV(TableCell, {
175
- className: "font-mono text-xs",
176
- children: instance.id
177
- }, void 0, false), /* @__PURE__ */ jsxDEV(TableCell, {
178
- className: "font-mono text-xs",
179
- children: instance.status
180
- }, void 0, false), /* @__PURE__ */ jsxDEV(TableCell, {
181
- className: "text-muted-foreground tabular-nums",
182
- children: instance.createdOn ?? "—"
183
- }, void 0, false), /* @__PURE__ */ jsxDEV(TableCell, {
184
- className: "text-muted-foreground tabular-nums",
185
- children: instance.endedOn ?? "—"
186
- }, void 0, false), /* @__PURE__ */ jsxDEV(TableCell, {
187
- className: "text-right",
188
- children: /* @__PURE__ */ jsxDEV("div", {
189
- className: "flex justify-end gap-1.5",
190
- children: [/* @__PURE__ */ jsxDEV(Button, {
191
- "data-testid": `workflow-instance-steps-${instance.id}`,
192
- onClick: () => {
193
- fireAndForget(openDetail(instance.id));
194
- },
195
- size: "sm",
196
- type: "button",
197
- variant: "outline",
198
- children: t("Steps")
199
- }, void 0, false), actionImpl !== void 0 && ACTIONS.map((action) => /* @__PURE__ */ jsxDEV(Button, {
200
- "data-testid": `workflow-instance-${action}-${instance.id}`,
201
- disabled: busyId === instance.id,
202
- onClick: () => {
203
- fireAndForget(act(instance.id, action));
204
- },
205
- size: "sm",
206
- type: "button",
207
- variant: "ghost",
208
- children: t(action)
209
- }, action, false))]
210
- }, void 0, true)
211
- }, void 0, false)]
212
- }, instance.id, true))
213
- }, void 0, false)]
214
- }, void 0, true)
215
- }, void 0, false)
216
- }, void 0, false), detail !== null && /* @__PURE__ */ jsxDEV(Card, {
217
- className: "overflow-hidden py-0",
218
- "data-testid": "workflow-instance-detail",
219
- children: /* @__PURE__ */ jsxDEV(CardContent, {
220
- className: "flex flex-col gap-2 px-4 py-3",
221
- children: [/* @__PURE__ */ jsxDEV("div", {
222
- className: "flex items-center justify-between",
223
- children: [/* @__PURE__ */ jsxDEV("span", {
224
- className: "font-mono text-xs",
225
- children: [t("Steps"), " · ", detail.id]
226
- }, void 0, true), /* @__PURE__ */ jsxDEV(Button, {
227
- "data-testid": "workflow-instance-detail-close",
228
- onClick: () => {
229
- setDetail(null);
230
- },
231
- size: "xs",
232
- type: "button",
233
- variant: "ghost",
234
- children: t("Close")
235
- }, void 0, false)]
236
- }, void 0, true), detail.steps.length === 0 ? /* @__PURE__ */ jsxDEV("p", {
237
- className: "text-xs text-muted-foreground",
238
- children: t("This instance has no recorded steps yet.")
239
- }, void 0, false) : /* @__PURE__ */ jsxDEV(Table, {
240
- "data-testid": "workflow-instance-steps",
241
- children: [/* @__PURE__ */ jsxDEV(TableHeader, {
242
- children: /* @__PURE__ */ jsxDEV(TableRow, {
243
- children: [/* @__PURE__ */ jsxDEV(TableHead, {
244
- children: t("Step")
245
- }, void 0, false), /* @__PURE__ */ jsxDEV(TableHead, {
246
- children: t("Type")
247
- }, void 0, false), /* @__PURE__ */ jsxDEV(TableHead, {
248
- children: t("Attempts")
249
- }, void 0, false), /* @__PURE__ */ jsxDEV(TableHead, {
250
- children: t("Started")
251
- }, void 0, false), /* @__PURE__ */ jsxDEV(TableHead, {
252
- children: t("Output")
253
- }, void 0, false)]
254
- }, void 0, true)
255
- }, void 0, false), /* @__PURE__ */ jsxDEV(TableBody, {
256
- children: detail.steps.map((step, index) => /* @__PURE__ */ jsxDEV(TableRow, {
257
- "data-testid": `workflow-step-${String(index)}`,
258
- children: [/* @__PURE__ */ jsxDEV(TableCell, {
259
- className: "font-mono text-xs",
260
- children: step.name
261
- }, void 0, false), /* @__PURE__ */ jsxDEV(TableCell, {
262
- className: "text-xs text-muted-foreground",
263
- children: step.type ?? "—"
264
- }, void 0, false), /* @__PURE__ */ jsxDEV(TableCell, {
265
- className: "tabular-nums",
266
- children: step.attempts ?? "—"
267
- }, void 0, false), /* @__PURE__ */ jsxDEV(TableCell, {
268
- className: "text-muted-foreground tabular-nums",
269
- children: step.start ?? "—"
270
- }, void 0, false), /* @__PURE__ */ jsxDEV(TableCell, {
271
- className: "font-mono text-xs text-muted-foreground",
272
- children: formatStepPayload(step)
273
- }, void 0, false)]
274
- }, `${step.name}:${String(index)}`, true))
275
- }, void 0, false)]
276
- }, void 0, true)]
277
- }, void 0, true)
278
- }, void 0, false)]
279
- }, void 0, true);
280
- };
281
-
282
- const CREATE_WORKFLOW_INSTANCE = adminRef(ADMIN_FUNCTIONS.createWorkflowInstance);
283
- const GET_WORKFLOW_INSTANCE_STATUS = adminRef(ADMIN_FUNCTIONS.getWorkflowInstanceStatus);
284
- const formatPayload = (instance) => {
285
- if (instance.error) {
286
- return `${instance.error.name}: ${instance.error.message}`;
287
- }
288
- if (instance.output === void 0) {
289
- return "—";
290
- }
291
- try {
292
- return JSON.stringify(instance.output);
293
- } catch {
294
- return "(unserializable)";
295
- }
296
- };
297
- const WorkflowsPanel = () => {
298
- const client = useLunora();
299
- const t = useT();
300
- const {
301
- data,
302
- error
303
- } = useAdminQuery(ADMIN_FUNCTIONS.listWorkflows, {});
304
- const [selectedExport, setSelectedExport] = useState("");
305
- const [instanceIdInput, setInstanceIdInput] = useState("");
306
- const [paramsText, setParamsText] = useState("");
307
- const [starting, setStarting] = useState(false);
308
- const [startError, setStartError] = useState(null);
309
- const [instances, setInstances] = useState([]);
310
- const [refreshingId, setRefreshingId] = useState(null);
311
- const loaded = data !== void 0;
312
- const workflows = useMemo(() => Array.isArray(data?.workflows) ? [...data.workflows].toSorted((a, b) => a.exportName.localeCompare(b.exportName)) : [], [data]);
313
- const selectedExportName = useMemo(() => {
314
- if (workflows.some((workflow) => workflow.exportName === selectedExport)) {
315
- return selectedExport;
316
- }
317
- return workflows[0]?.exportName ?? "";
318
- }, [workflows, selectedExport]);
319
- const selectedWorkflow = useMemo(() => workflows.find((workflow_0) => workflow_0.exportName === selectedExportName), [workflows, selectedExportName]);
320
- const upsertInstance = (next) => {
321
- setInstances((previous) => {
322
- const rest = previous.filter((entry) => !(entry.exportName === next.exportName && entry.id === next.id));
323
- return [next, ...rest];
324
- });
325
- };
326
- const start = async () => {
327
- const exportName = selectedExportName;
328
- if (exportName === "") {
329
- return;
330
- }
331
- let parameters;
332
- const trimmed = paramsText.trim();
333
- if (trimmed !== "") {
334
- try {
335
- parameters = JSON.parse(trimmed);
336
- } catch {
337
- setStartError(t("Params must be valid JSON"));
338
- return;
339
- }
340
- }
341
- setStarting(true);
342
- setStartError(null);
343
- try {
344
- const id = instanceIdInput.trim();
345
- const result = await client.query(CREATE_WORKFLOW_INSTANCE, {
346
- exportName,
347
- id: id === "" ? void 0 : id,
348
- params: parameters
349
- }, callOptions(""));
350
- upsertInstance({
351
- exportName,
352
- id: result.id,
353
- status: result.status
354
- });
355
- setInstanceIdInput("");
356
- } catch (error_) {
357
- setStartError(errorMessage(error_));
358
- } finally {
359
- setStarting(false);
360
- }
361
- };
362
- const startInstance = () => {
363
- fireAndForget(start());
364
- };
365
- const refreshInstance = async (exportName_0, id_0) => {
366
- setRefreshingId(id_0);
367
- try {
368
- const result_0 = await client.query(GET_WORKFLOW_INSTANCE_STATUS, {
369
- exportName: exportName_0,
370
- id: id_0
371
- }, callOptions(""));
372
- upsertInstance({
373
- error: result_0.error,
374
- exportName: exportName_0,
375
- id: result_0.id,
376
- output: result_0.output,
377
- status: result_0.status
378
- });
379
- } catch (error__0) {
380
- setStartError(errorMessage(error__0));
381
- } finally {
382
- setRefreshingId(null);
383
- }
384
- };
385
- const onSelectedExportChange = (event) => {
386
- setSelectedExport(event.target.value);
387
- };
388
- const onInstanceIdChange = (event_0) => {
389
- setInstanceIdInput(event_0.target.value);
390
- };
391
- const onParamsChange = (event_1) => {
392
- setParamsText(event_1.target.value);
393
- };
394
- const onRefreshClick = (event_2) => {
395
- const {
396
- export: exportName_1,
397
- id: id_1
398
- } = event_2.currentTarget.dataset;
399
- if (exportName_1 !== void 0 && id_1 !== void 0) {
400
- fireAndForget(refreshInstance(exportName_1, id_1));
401
- }
402
- };
403
- return /* @__PURE__ */ jsxDEV("div", {
404
- className: "flex flex-col gap-6",
405
- "data-testid": "lunora-workflows-panel",
406
- children: [error !== null && /* @__PURE__ */ jsxDEV("p", {
407
- className: "text-sm text-destructive",
408
- "data-testid": "workflows-error",
409
- role: "alert",
410
- children: error
411
- }, void 0, false), /* @__PURE__ */ jsxDEV("p", {
412
- className: "text-sm text-muted-foreground",
413
- children: t("Workflows are declared in code with defineWorkflow and run as durable Cloudflare Workflows. Start an instance and observe its status below.")
414
- }, void 0, false), loaded && workflows.length === 0 ? /* @__PURE__ */ jsxDEV(EmptyState, {
415
- description: t("No defineWorkflow is declared in lunora/workflows.ts in this deployment. Add one to run a durable, multi-step workflow."),
416
- testId: "workflows-empty",
417
- title: t("No workflows defined")
418
- }, void 0, false) : /* @__PURE__ */ jsxDEV(Card, {
419
- className: "overflow-hidden py-0",
420
- children: /* @__PURE__ */ jsxDEV(CardContent, {
421
- className: "px-0",
422
- children: /* @__PURE__ */ jsxDEV(Table, {
423
- "data-testid": "workflows-table",
424
- children: [/* @__PURE__ */ jsxDEV(TableHeader, {
425
- children: /* @__PURE__ */ jsxDEV(TableRow, {
426
- children: [/* @__PURE__ */ jsxDEV(TableHead, {
427
- children: t("Export")
428
- }, void 0, false), /* @__PURE__ */ jsxDEV(TableHead, {
429
- children: t("Name")
430
- }, void 0, false), /* @__PURE__ */ jsxDEV(TableHead, {
431
- children: t("Class")
432
- }, void 0, false), /* @__PURE__ */ jsxDEV(TableHead, {
433
- children: t("Binding")
434
- }, void 0, false)]
435
- }, void 0, true)
436
- }, void 0, false), /* @__PURE__ */ jsxDEV(TableBody, {
437
- children: workflows.map((workflow_1) => /* @__PURE__ */ jsxDEV(TableRow, {
438
- "data-testid": `workflows-row-${workflow_1.exportName}`,
439
- children: [/* @__PURE__ */ jsxDEV(TableCell, {
440
- className: "font-mono text-xs",
441
- children: workflow_1.exportName
442
- }, void 0, false), /* @__PURE__ */ jsxDEV(TableCell, {
443
- className: "font-mono text-xs text-muted-foreground",
444
- children: workflow_1.name
445
- }, void 0, false), /* @__PURE__ */ jsxDEV(TableCell, {
446
- className: "font-mono text-xs text-muted-foreground",
447
- children: workflow_1.className
448
- }, void 0, false), /* @__PURE__ */ jsxDEV(TableCell, {
449
- className: "font-mono text-xs text-muted-foreground",
450
- children: workflow_1.binding
451
- }, void 0, false)]
452
- }, workflow_1.exportName, true))
453
- }, void 0, false)]
454
- }, void 0, true)
455
- }, void 0, false)
456
- }, void 0, false), workflows.length > 0 && /* @__PURE__ */ jsxDEV("div", {
457
- className: "flex flex-col gap-3",
458
- "data-testid": "workflows-start",
459
- children: [/* @__PURE__ */ jsxDEV("h3", {
460
- className: "text-sm font-medium",
461
- children: t("Start instance")
462
- }, void 0, false), startError !== null && /* @__PURE__ */ jsxDEV("p", {
463
- className: "text-sm text-destructive",
464
- "data-testid": "workflows-start-error",
465
- role: "alert",
466
- children: startError
467
- }, void 0, false), /* @__PURE__ */ jsxDEV("div", {
468
- className: "flex flex-wrap items-center gap-2",
469
- children: [/* @__PURE__ */ jsxDEV("select", {
470
- "aria-label": t("Workflow"),
471
- className: "h-8 rounded-md border border-input bg-transparent px-2.5 py-1 text-xs outline-none focus-visible:border-ring focus-visible:ring-1 focus-visible:ring-ring/50",
472
- "data-testid": "workflows-start-select",
473
- onChange: onSelectedExportChange,
474
- value: selectedExportName,
475
- children: workflows.map((workflow_2) => /* @__PURE__ */ jsxDEV("option", {
476
- value: workflow_2.exportName,
477
- children: workflow_2.exportName
478
- }, workflow_2.exportName, false))
479
- }, void 0, false), /* @__PURE__ */ jsxDEV(Input, {
480
- "aria-label": t("Instance id (optional)"),
481
- className: "max-w-48",
482
- "data-testid": "workflows-start-id",
483
- onChange: onInstanceIdChange,
484
- placeholder: t("Instance id (optional)"),
485
- value: instanceIdInput
486
- }, void 0, false), /* @__PURE__ */ jsxDEV(Button, {
487
- "data-testid": "workflows-start-button",
488
- disabled: starting || selectedExportName === "",
489
- onClick: startInstance,
490
- children: starting ? t("Starting…") : t("Start instance")
491
- }, void 0, false)]
492
- }, void 0, true), /* @__PURE__ */ jsxDEV(Textarea, {
493
- "aria-label": t("Params (JSON)"),
494
- className: "font-mono",
495
- "data-testid": "workflows-start-params",
496
- onChange: onParamsChange,
497
- placeholder: t("Params (JSON, optional)"),
498
- value: paramsText
499
- }, void 0, false)]
500
- }, void 0, true), instances.length > 0 && /* @__PURE__ */ jsxDEV("div", {
501
- className: "flex flex-col gap-3",
502
- "data-testid": "workflows-instances",
503
- children: [/* @__PURE__ */ jsxDEV("h3", {
504
- className: "text-sm font-medium",
505
- children: t("Instances")
506
- }, void 0, false), /* @__PURE__ */ jsxDEV(Card, {
507
- className: "overflow-hidden py-0",
508
- children: /* @__PURE__ */ jsxDEV(CardContent, {
509
- className: "px-0",
510
- children: /* @__PURE__ */ jsxDEV(Table, {
511
- "data-testid": "workflows-instances-table",
512
- children: [/* @__PURE__ */ jsxDEV(TableHeader, {
513
- children: /* @__PURE__ */ jsxDEV(TableRow, {
514
- children: [/* @__PURE__ */ jsxDEV(TableHead, {
515
- children: t("Workflow")
516
- }, void 0, false), /* @__PURE__ */ jsxDEV(TableHead, {
517
- children: t("Instance id")
518
- }, void 0, false), /* @__PURE__ */ jsxDEV(TableHead, {
519
- children: t("Status")
520
- }, void 0, false), /* @__PURE__ */ jsxDEV(TableHead, {
521
- children: t("Output")
522
- }, void 0, false), /* @__PURE__ */ jsxDEV(TableHead, {}, void 0, false)]
523
- }, void 0, true)
524
- }, void 0, false), /* @__PURE__ */ jsxDEV(TableBody, {
525
- children: instances.map((instance) => /* @__PURE__ */ jsxDEV(TableRow, {
526
- "data-testid": `workflows-instance-${instance.id}`,
527
- children: [/* @__PURE__ */ jsxDEV(TableCell, {
528
- className: "font-mono text-xs",
529
- children: instance.exportName
530
- }, void 0, false), /* @__PURE__ */ jsxDEV(TableCell, {
531
- className: "font-mono text-xs text-muted-foreground",
532
- children: instance.id
533
- }, void 0, false), /* @__PURE__ */ jsxDEV(TableCell, {
534
- className: "font-mono text-xs",
535
- children: instance.status
536
- }, void 0, false), /* @__PURE__ */ jsxDEV(TableCell, {
537
- className: "font-mono text-xs text-muted-foreground",
538
- children: formatPayload(instance)
539
- }, void 0, false), /* @__PURE__ */ jsxDEV(TableCell, {
540
- children: /* @__PURE__ */ jsxDEV(Button, {
541
- "data-export": instance.exportName,
542
- "data-id": instance.id,
543
- "data-testid": `workflows-instance-refresh-${instance.id}`,
544
- disabled: refreshingId === instance.id,
545
- onClick: onRefreshClick,
546
- size: "xs",
547
- variant: "outline",
548
- children: refreshingId === instance.id ? t("Refreshing…") : t("Refresh")
549
- }, void 0, false)
550
- }, void 0, false)]
551
- }, `${instance.exportName}:${instance.id}`, true))
552
- }, void 0, false)]
553
- }, void 0, true)
554
- }, void 0, false)
555
- }, void 0, false)]
556
- }, void 0, true), selectedWorkflow !== void 0 && /* @__PURE__ */ jsxDEV(WorkflowInstanceHistory, {
557
- workflowName: selectedWorkflow.name
558
- }, void 0, false)]
559
- }, void 0, true);
560
- };
561
-
562
- export { WorkflowsPanel as default };
@@ -1,52 +0,0 @@
1
- const ADMIN_FUNCTION_PREFIX = "__lunora_admin__:";
2
- const ADMIN_FUNCTIONS = {
3
- clearCapturedMail: "__lunora_admin__:clearCapturedMail",
4
- clearQueueMessages: "__lunora_admin__:clearQueueMessages",
5
- clearTable: "__lunora_admin__:clearTable",
6
- createWorkflowInstance: "__lunora_admin__:createWorkflowInstance",
7
- deleteRows: "__lunora_admin__:deleteRows",
8
- describeTable: "__lunora_admin__:describeTable",
9
- describeTables: "__lunora_admin__:describeTables",
10
- exportShard: "__lunora_admin__:exportShard",
11
- facetColumn: "__lunora_admin__:facetColumn",
12
- getAdvisories: "__lunora_admin__:getAdvisories",
13
- getAuditLog: "__lunora_admin__:getAuditLog",
14
- getAuthMetrics: "__lunora_admin__:getAuthMetrics",
15
- getCapturedMail: "__lunora_admin__:getCapturedMail",
16
- getFanoutMetrics: "__lunora_admin__:getFanoutMetrics",
17
- getFunctionStats: "__lunora_admin__:getFunctionStats",
18
- listFlags: "__lunora_admin__:listFlags",
19
- listQueues: "__lunora_admin__:listQueues",
20
- listSubscriptions: "__lunora_admin__:listSubscriptions",
21
- listTableIndexes: "__lunora_admin__:listTableIndexes",
22
- listWorkflows: "__lunora_admin__:listWorkflows",
23
- getLogs: "__lunora_admin__:getLogs",
24
- getMetrics: "__lunora_admin__:getMetrics",
25
- getPitrBookmark: "__lunora_admin__:getPitrBookmark",
26
- getQueueMessages: "__lunora_admin__:getQueueMessages",
27
- getRequestLog: "__lunora_admin__:getRequestLog",
28
- getSecurityAudit: "__lunora_admin__:getSecurityAudit",
29
- getSettings: "__lunora_admin__:getSettings",
30
- // eslint-disable-next-line no-secrets/no-secrets -- reserved admin RPC path constant, not a credential
31
- getWorkflowInstanceStatus: "__lunora_admin__:getWorkflowInstanceStatus",
32
- importShard: "__lunora_admin__:importShard",
33
- listTables: "__lunora_admin__:listTables",
34
- maskPolicies: "__lunora_admin__:maskPolicies",
35
- migrationStatus: "__lunora_admin__:migrationStatus",
36
- pitrRestore: "__lunora_admin__:pitrRestore",
37
- readTablePage: "__lunora_admin__:readTablePage",
38
- replayQueueMessage: "__lunora_admin__:replayQueueMessage",
39
- rlsPolicies: "__lunora_admin__:rlsPolicies",
40
- runAs: "__lunora_admin__:runAs",
41
- runMigration: "__lunora_admin__:runMigration",
42
- runSql: "__lunora_admin__:runSql",
43
- sendQueueMessage: "__lunora_admin__:sendQueueMessage",
44
- sendTestMail: "__lunora_admin__:sendTestMail",
45
- storageOrphans: "__lunora_admin__:storageOrphans",
46
- storageReferences: "__lunora_admin__:storageReferences",
47
- storageRules: "__lunora_admin__:storageRules",
48
- studioFeatures: "__lunora_admin__:studioFeatures",
49
- writeRow: "__lunora_admin__:writeRow"
50
- };
51
-
52
- export { ADMIN_FUNCTIONS, ADMIN_FUNCTION_PREFIX };