@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,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-CdaxLGkE.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,48 +0,0 @@
1
- const ADMIN_FUNCTION_PREFIX = "__lunora_admin__:";
2
- const ADMIN_FUNCTIONS = {
3
- clearCapturedMail: "__lunora_admin__:clearCapturedMail",
4
- clearTable: "__lunora_admin__:clearTable",
5
- createWorkflowInstance: "__lunora_admin__:createWorkflowInstance",
6
- deleteRows: "__lunora_admin__:deleteRows",
7
- describeTable: "__lunora_admin__:describeTable",
8
- describeTables: "__lunora_admin__:describeTables",
9
- exportShard: "__lunora_admin__:exportShard",
10
- facetColumn: "__lunora_admin__:facetColumn",
11
- getAdvisories: "__lunora_admin__:getAdvisories",
12
- getAuditLog: "__lunora_admin__:getAuditLog",
13
- getAuthMetrics: "__lunora_admin__:getAuthMetrics",
14
- getCapturedMail: "__lunora_admin__:getCapturedMail",
15
- getFanoutMetrics: "__lunora_admin__:getFanoutMetrics",
16
- getFunctionStats: "__lunora_admin__:getFunctionStats",
17
- listFlags: "__lunora_admin__:listFlags",
18
- listQueues: "__lunora_admin__:listQueues",
19
- listSubscriptions: "__lunora_admin__:listSubscriptions",
20
- listTableIndexes: "__lunora_admin__:listTableIndexes",
21
- listWorkflows: "__lunora_admin__:listWorkflows",
22
- getLogs: "__lunora_admin__:getLogs",
23
- getMetrics: "__lunora_admin__:getMetrics",
24
- getPitrBookmark: "__lunora_admin__:getPitrBookmark",
25
- getRequestLog: "__lunora_admin__:getRequestLog",
26
- getSecurityAudit: "__lunora_admin__:getSecurityAudit",
27
- getSettings: "__lunora_admin__:getSettings",
28
- // eslint-disable-next-line no-secrets/no-secrets -- reserved admin RPC path constant, not a credential
29
- getWorkflowInstanceStatus: "__lunora_admin__:getWorkflowInstanceStatus",
30
- importShard: "__lunora_admin__:importShard",
31
- listTables: "__lunora_admin__:listTables",
32
- maskPolicies: "__lunora_admin__:maskPolicies",
33
- migrationStatus: "__lunora_admin__:migrationStatus",
34
- pitrRestore: "__lunora_admin__:pitrRestore",
35
- readTablePage: "__lunora_admin__:readTablePage",
36
- rlsPolicies: "__lunora_admin__:rlsPolicies",
37
- runAs: "__lunora_admin__:runAs",
38
- runMigration: "__lunora_admin__:runMigration",
39
- runSql: "__lunora_admin__:runSql",
40
- sendTestMail: "__lunora_admin__:sendTestMail",
41
- storageOrphans: "__lunora_admin__:storageOrphans",
42
- storageReferences: "__lunora_admin__:storageReferences",
43
- storageRules: "__lunora_admin__:storageRules",
44
- studioFeatures: "__lunora_admin__:studioFeatures",
45
- writeRow: "__lunora_admin__:writeRow"
46
- };
47
-
48
- export { ADMIN_FUNCTIONS, ADMIN_FUNCTION_PREFIX };